Тогда что-то связанное с хитрой замозачисткой контактов.Исключено. Самые обычные пускатели первой величины РПЛ131
С якорем через тягу 6 и контактную пружину 1, расположенную на направляющей 10, связан контактный мостик 8 с двумя контакт-деталями 2.
При некотором положении якоря последние соприкасаются с неподвижными контакт-деталями 2`2``.
При дальнейшем движении якоря, вплоть до его конечного положения, происходит увеличение контактного напряжения из-за сжатия контактной пружины 1. Одновременно контактный мостик 8 перемещается вверх на небольшое расстояние, т.к. направляющая 10 не перпендикулярна мостику.
В результате проскальзывания контакт-деталей происходит самозачистка их поверхностей во время работы реле. При конечном положении якоря его вибрация устраняется действием короткозамкнутых витков 7.
Нет ли разгадки в странном исполнении схемы?
Что может означать слитное изображение размыкающих контактов и обмотки?
Интересно было бы увидеть весь фрагмент схемы, где это реле участвует в таинственных действиях.P.S. Почему контакты залезли на обмотку? ХЕЗ. Так нельзя рисовать. Видимо, руки были неровные.
4С это
Ни у кого чтоль родственников нет, 23 августа тоже подойдёт.
Ну хоть какойто работник нужен, я уже заёбся и искать и делать, все ноют что работы нет, но при этом ни одна ****** не хочет работать. Может какой инвалид сосед есть на примете, там ничего сложного, просто нудно.
Ты тут решил электромонтажника найти?
В курьер напиши.
Мне тоже надо, я первым был
Но мне сейчас подойдёт кто угодно, инвалиды, школьники, декретчики, ну то есть провод порезать способностей не надо.
Но мне сейчас подойдёт кто угодно, инвалиды, школьники, декретчики, ну то есть провод порезать способностей не надо.
/* Includes ------------------------------------------------------------------*/
#include "stm32l1xx.h"
//#include "com.h"
#include "stm32l1xx_i2c.h"
#define Timed(x) Timeout = 0xFFFF; while (x) \
{ if (Timeout -- == 0) goto errReturn ;}
int I2C_Write(const uint8_t* buf, uint32_t nbyte, uint8_t SlaveAddress) {
__IO uint32_t Timeout = 0;
if (nbyte) {
Timed(I2C_GetFlagStatus(I2C2, I2C_FLAG_BUSY));
// Intiate Start Sequence
I2C_GenerateSTART(I2C2, ENABLE);
Timed(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT));
// Send Address EV5
I2C_Send7bitAddress(I2C2, SlaveAddress, I2C_Direction_Transmitter);
Timed(
!I2C_CheckEvent(I2C2,
I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
// EV6 Write first byte EV8_1
I2C_SendData(I2C2, *buf++);
while (--nbyte) {
// wait on BTF
Timed(!I2C_GetFlagStatus(I2C2, I2C_FLAG_BTF));
I2C_SendData(I2C2, *buf++);
}
Timed(!I2C_GetFlagStatus(I2C2, I2C_FLAG_BTF));
I2C_GenerateSTOP(I2C2, ENABLE);
Timed (I2C_GetFlagStatus( I2C2, I2C_FLAG_STOPF));
}
return 0;
errReturn:
return 1;
}
int I2C_Read(uint8_t *buf, uint32_t nbyte, uint8_t SlaveAddress) {
__IO uint32_t Timeout = 0;
if (!nbyte)
return 0;
// Wait for idle I2C interface
Timed(I2C_GetFlagStatus(I2C2, I2C_FLAG_BUSY));
// Enable Acknowledgment , clear POS flag
I2C_AcknowledgeConfig(I2C2, ENABLE);
I2C_NACKPositionConfig(I2C2, I2C_NACKPosition_Current);
// Intiate Start Sequence (wait for EV5)
I2C_GenerateSTART(I2C2, ENABLE);
Timed(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT));
// Send Address
I2C_Send7bitAddress(I2C2, SlaveAddress, I2C_Direction_Receiver);
// EV6
Timed(!I2C_GetFlagStatus(I2C2, I2C_FLAG_ADDR));
if (nbyte == 1) { /* read 1 byte */
// Clear Ack bit
I2C_AcknowledgeConfig(I2C2, DISABLE);
// EV6_1 -- must be atomic -- Clear ADDR , generate STOP
__disable_irq();
(void) I2C2->SR2;
I2C_GenerateSTOP(I2C2, ENABLE);
__enable_irq();
// Receive data EV7
Timed(!I2C_GetFlagStatus(I2C2, I2C_FLAG_RXNE));
*buf++ = I2C_ReceiveData(I2C2);
} else if (nbyte == 2) {
// Set POS flag
I2C_NACKPositionConfig(I2C2, I2C_NACKPosition_Next);
// EV6_1 -- must be atomic and in this order
__disable_irq();
(void) I2C2->SR2; // Clear ADDR flag
I2C_AcknowledgeConfig(I2C2, DISABLE); // Clear Ack bit
__enable_irq();
// EV7_3 -- Wait for BTF , program stop , read data twice
Timed(!I2C_GetFlagStatus(I2C2, I2C_FLAG_BTF));
__disable_irq();
I2C_GenerateSTOP(I2C2, ENABLE);
*buf++ = I2C2->DR;
__enable_irq();
*buf++ = I2C2->DR;
} else {
(void) I2C2->SR2; // Clear ADDR flag
while (nbyte-- != 3) {
// EV7 -- cannot guarantee 1 transfer completion time ,
// wait for BTF instead of RXNE
Timed(!I2C_GetFlagStatus(I2C2, I2C_FLAG_BTF));
*buf++ = I2C_ReceiveData(I2C2);
}
Timed(!I2C_GetFlagStatus(I2C2, I2C_FLAG_BTF));
// EV7_2 -- Figure 1 has an error , doesn 't read N-2 !
I2C_AcknowledgeConfig(I2C2, DISABLE); // clear ack bit
__disable_irq();
*buf++ = I2C_ReceiveData(I2C2); // receive byte N-2
I2C_GenerateSTOP(I2C2, ENABLE); // program stop
__enable_irq();
*buf++ = I2C_ReceiveData(I2C2); // receive byte N-1
// wait for byte N
Timed(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_BYTE_RECEIVED));
*buf++ = I2C_ReceiveData(I2C2);
nbyte = 0;
}
// Wait for stop
Timed(I2C_GetFlagStatus(I2C2, I2C_FLAG_STOPF));
return 0;
errReturn:
return 1;
}
uint8_t i2cbuf[2];
Status res;
i2cbuf[0] = 0xF4;
i2cbuf[1] = 0x2E;
res = I2C_Write(I2Cx, i2cbuf, 2, 0xEE);
if (!res) return Error;
Delay(5);
i2cbuf[0] = 0xF6;
res = I2C_Write(I2Cx, i2cbuf, 1, 0xEE);
if (!res) return Error;
res = I2C_Read(I2Cx, i2cbuf, 1, 0xEF);
if (!res) return Error;
buf[0] = i2cbuf[0];
ЗЫ. Есть у кого работник в районе Алексеевка-Клочковская, в месяц тысяча - 2, там как договоримся, надо резать провода и зачищать. Работы там на четыре - пять дней. Если пойдёт еще подкину. Стриперы и прочее дам свои.
Я так понимаю, тыщенка -две в месяц - это же не в национальной валюте?
Ну, как бы да.. Мы же все специалисты?! Вот, по 200 баксов за рабочий день - ну, не жирно, конечно, но и работа не требует особой квалификации... Это же, все-таки, нужны навыки, а не просто "бери больше- кидай дальше. Пока летит - отдыхай" (с)За пять дней
Ну, как бы да.. Мы же все специалисты?! Вот, по 200 баксов за рабочий день - ну, не жирно, конечно, но и работа не требует особой квалификации...
Опять таки, автор не указал про условия труда, страховку, кстати, стоматолога покрывает? Или как обычно, только передние зубы?
В рублях РФЯ так понимаю, тыщенка -две в месяц - это же не в национальной валюте?