• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Wemos D1 шумы на цифровых входах

YaSerg

New member
100 шт 0.1 мкФ? Это 10 мкФ.
В БП обычно стоит от 1000 мкФ.
Отличное разъяснение на пальцах! Большое спасибо!!!

Возвращаясь к вопросу о выборе емкости конденсаторов. АК рекомендовал выше использовать керамические конденсаторы 0.01 мкф ... 0.1 мкф, насколько я понимаю чем выше значение емкости, тем больше линия питания будет "обезопасена" от просадок. Верно?
 

pvvx

Активный участник сообщества
Источник помех у вас – контакты реле.

К примеру, если вы коммутируете им лампу накаливания, в 40 Вт, то её холодное сопротивление равно 70..80 Ом, что вызывает ток в 4.5 А при включении и попадания в фазу сети ~220 В.

Если оно коммутирует устройство с китайским DC-DC (или светодиодную лампу), то там пусковой ток ограничен сопротивлениями проводов до выпрямителя и ESR электролитического конденсатора, что обычно составляет пусковой ток от 10 до 30 A. :)

Данная коммутация вызывает ЭМИ от контактов и проводов к реле. ESP сильно бояться ЭМИ и программа слетает…

В здравом уме никто не использует для коммутации бытовых нагрузок простые реле.

Пример: Если включить лампочку накаливания 25..40 Вт через детектор движения со встроенным тиристором включающимся при переходе сетевого напряжения через нуль, или типа, то она работает несколько лет при коммутации десятки раз в день. Если её включать механическим выключателем – 2..3 месяца.

Соответственно "электрику" для замены ламп надо платить в 10 раз меньше :)
Но это противоречит профсоюзам и государственным отделам занятости населения и вообще природе - перенаселение должно само себя ликвидировать. По этому ставьте реле.
И из-за всех тех, рекомендованных =AK= конденсаторов, вы получите увеличение импульсов на входных контактах модуля, к которым хоть что-то припаяно, от броска коммутации реле, разбегающегося по проводам... Тем самым программа в ESP наверняка ребутнется…
 
Последнее редактирование:

YaSerg

New member
Источник помех у вас – контакты реле.

К примеру, если вы коммутируете им лампу накаливания, в 40 Вт, то её холодное сопротивление равно 70..80 Ом, что вызывает ток в 4.5 А при включении и попадания в фазу сети ~220 В.

Если оно коммутирует устройство с китайским DC-DC (или светодиодную лампу), то там пусковой ток ограничен сопротивлениями проводов до выпрямителя и ESR электролитического конденсатора, что обычно составляет пусковой ток от 10 до 30 A. :)

Данная коммутация вызывает ЭМИ от контактов и проводов к реле. ESP сильно бояться ЭМИ и программа слетает…

В здравом уме никто не использует для коммутации бытовых нагрузок простые реле.

Пример: Если включить лампочку накаливания 25..40 Вт через детектор движения со встроенным тиристором включающимся при переходе сетевого напряжения через нуль, или типа, то она работает несколько лет при коммутации десятки раз в день. Если её включать механическим выключателем – 2..3 месяца.

Соответственно "электрику" для замены ламп надо платить в 10 раз меньше :)
Но это противоречит профсоюзам и государственным отделам занятости населения и вообще природе - перенаселение должно само себя ликвидировать. По этому ставьте реле.
Если я вас правильно понял, то вы считаете, что конденсаторы мне никак не помогут и стоит покупать что-то на замену реле.
Подскажите пожалуйста что такое ЭМИ.
 

pvvx

Активный участник сообщества
Т.к. у ESP ESD защита i/o дурная, ставите на все выводы модуля ESD супервизоры типа таких https://www.bourns.com/pdfs/MLC.pdf или диодных (и прочих - ныне выбор широк) и используете реле.
ЭМИ - ЭлектроМагнитный Импульс. Простейший пример его получения - коммутация нагрузки в сети ~220 В механическим реле. Механическое реле всегда срабатывает с дуговым разрядом на контактах, что и есть генератор широкополосного ЭМИ.

Чтобы вы там не коммутировали контактами, на них всегда есть слой окисла, который надо пробить. По этому простые реле не применяются в слаботочных схемах и схемах с малыми напряжениями коммутации (к примеру для аналоговых сигналов с токами и напряжениями менее дцать мВ и мкА). Там, если и используют реле – то они другие и не дешевые... Это относиться к ползающим по земле. В космосе металл не окисляется :)

Миниатюрное решение: варисторы Littelfuse для поверхностного монтажа
Статей по защите от импульсов в сети мульоны...
Любое современное "кремневое реле c переключением через нуль" уберегает от возникновения импульсов в сети...
 
Последнее редактирование:

nikolz

Well-known member
Если я вас правильно понял, то вы считаете, что конденсаторы мне никак не помогут и стоит покупать что-то на замену реле.
Подскажите пожалуйста что такое ЭМИ.
На самом деле все гораздо проще.
Есть два решения Вашей проблемы.
1) Заводите сетевое напряжение через емкость и большой резистор на один из пинов ESP и с этого пина читаете напрямую либо через прерывание переход сетевого напряжения через ноль. Для развязки можете добавить оптрон ежели надо.
Свое реле включаете и выключаете в момент перехода напряжения через ноль.
Если реле очень инертное то добавляете доп задержку и включаете его не на этом полупериоде сети а на следующем точно в ноль.
В результате никаких ЭМИ не возникает
2) Заменяете реле на симистор или иначе - электронное реле. Но и в этом варианте лучше применить еще и 1)
---------------------
Это для ликбеза:
Управление мощной нагрузкой переменного тока
 

Сергей_Ф

Moderator
Команда форума
Свое реле включаете и выключаете в момент перехода напряжения через ноль.
А как вы эту задержку вычислить собираетесь? Она "плавает" в широких пределах от внешних причин и конкретного экземпляра. Автогенератор на реле не даёт более 100ГЦ, а это половина периода - попасть в ноль при таком варианте не реально, имхо.
 

nikolz

Well-known member
А как вы эту задержку вычислить собираетесь? Она "плавает" в широких пределах от внешних причин и конкретного экземпляра. Автогенератор на реле не даёт более 100ГЦ, а это половина периода - попасть в ноль при таком варианте не реально, имхо.
Правильно я Вас понял, что Вы так думаете? т е ничего конкретно не измеряли?
Ничего она( задержка) не плавает.
Какой автогенератор да еще на реле? Вы еще бензогенератор поставьте.
Задержку делает ESP.
Я это уже делал на ESP для управления реактивной нагрузкой. Все работает нормально.
Предлагаю Вам сначала посчитать допустимую задержку и ошибку при этом.
А так беспредметный разговор. Делать расчеты и доказывать Вам нет желания.
Если будут сложности, обращайтесь.
 

YaSerg

New member
Друзья товарищи.

Напишу что мне удалось понять с моими скудными познаниями в этой области, если что поправьте меня пожалуйста.

1. Большинство сошлось во мнении, что схема с диодами в начале и конце питающих МК и реле не сделает лучше, а только хуже. Верно?

2. Реле заменить на симистор или иначе - электронное реле. (можете дать ссылку на али). Или использовать варистор, но нужно понять как, какой и куда его подключать.
 
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
Правильно я Вас понял, что Вы так думаете? т е ничего конкретно не измеряли?
что замерять? Время срабатывания механического реле? Оно даже в паспорте указывается. Меньше единиц миллисекунд не бывает. Автогенератор на реле - как раз и показывает с какой периодичностью это реле может работать. Максимальную частоту. Никогда не делали? Одна пара НЗ контактов в разрыв обмотки - вот вам и автогенератор. Меряйте частоту на второй паре НР контактов. Быстрее реле не сработает ни как. Ещё раз задам вопрос - как вы задержку,которую должна сделать esp, собираетесь высчитать? И на сколько точно, по вашему мнению или измерениям, эту задержку выдержит реле при замыкании?
Код:
Время срабатывания от момента подачи входного сигнала до полного срабатывания:

,

где  – время трогания от подачи входного сигнала до начала движения якоря;   – время движения якоря.

Время отпускания от момента снятия сигнала до полного возврата в нормальное состояние аналогично складывается из времени трогания и времени движения.

.

Время движения в обоих случаях, как правило, много меньше времени трогания.

В зависимости от времени срабатывания (или отпускания) реле делят на нормальные при  мс, быстродействующие – время срабатывания несколько миллисекунд, реле времени – время срабатывания от десятых долей секунды до минут.

При необходимости время срабатывания и отпускания можно менять схемно или конструктивно.
 

pvvx

Активный участник сообщества
Меньше единиц миллисекунд не бывает.
Ну на Lua у нас nikolz пишет. Там как раз задержки более пару периодов сети... Не огорчайтесь.
Тиристор или нечто с авто отлавливанием перехода через ноль стоит дешевле механического реле.
Антиквариат всегда дороже... Но куда его продать, как не Ардуинщикам?
Та и индуктивную нагрузку - большие трансы или моторы, тоже не включают реле... Только в колхозе, где не знают что такое "корректор коэффициента мощности" и прочие современные прибамбахи, которые положено ставить на устройства от десятков Вт по ГОСТ...
 
Последнее редактирование:

YaSerg

New member
Уважаемые форумчане, давайте вернемся к моей проблеме.

Решений здесь написано много. Из того что мне удалось понять, с моими скудными познаниями и можно сделать моими руками:
Судя по всему из большого совета господина АК в посте 34, установить диоды на концах питающих линий, никто не поддержал, а кто-то даже сказал что получу еще большие помехи.
Из простых предложенных решений мне необходимо на питающие линии установить варистор и реле луше заменить на электронное реле.

Вопрос теперь в следующем какой и как выбрать варистор выбрать и правильно ли я понял. Стоит вспомнить, что суть проблемы это ложное срабатывание датчиков PIR при включении, а чаще выключении реле. Контроллеры не перезагружаются, работают весьма стабильно.
Всем заранее большое спасибо!!!
 

Сергей_Ф

Moderator
Команда форума
суть проблемы это ложное срабатывание датчиков PIR при включении, а чаще выключении реле.
на самом деле, это совсем не очевидно. То ли срабатывают ложно датчики, то ли ложно наводится помеха на вход esp. От этого и методы борьбы будут разные.
100% стоит поставить твердотельное реле и коммутировать нагрузку в момент "нуля" сетевой фазы. Электронные твердотельные реле так делают сами.
Также стоит слегка "нагрузить" линию приема от датчика. Перейти от реакции на напряжение к реакции на ток. В простейшем случае поставить подтяжку на пине esp. Или так
Попробуйте возле есп входа поставить резистор с конденсатором.
Но если "глючит" сам датчик, то это не поможет.
Кстати, бороться с собственными помехами можно и программно. Например не реагировать на вход 0.1 секунду после срабатывания и отпускания реле.
 
Последнее редактирование:

YaSerg

New member
на самом деле, это совсем не очевидно. То ли срабатывают ложно датчики, то ли ложно наводится помеха на вход esp. От этого и методы борьбы будут разные.
100% стоит поставить твердотельное реле и коммутировать нагрузку в момент "нуля" сетевой фазы. Электронные твердотельные реле так делают сами.
Также стоит слегка "нагрузить" линию приема от датчика. Перейти от реакции на напряжение к реакции на ток. В простейшем случае поставить подтяжку на пине esp. Или так

Но если "глючит" сам датчик, то это не поможет.
Кстати, бороться с собственными помехами можно и программно. Например не реагировать на вход 0.1 секунду после срабатывания и отпускания реле.
1. Понял, что действительно, как бы дорого это не было придется перевести весь проект на электронные твердотельные реле. Это они, ссылка?

2. Глючит именно датчик от помех по питанию, проводил эксперимент с отключенным от esp датчиком и именно в момент срабатывания реле он выдает сигнал. Пробовал отфильтровать ложный сигнал, как Вы пишете программно, но датчик работает следующим образом. При глюке или обнаружении движения он выдает положительный сигнал минимум на 2,5 сек., потом задержка 2,5 сек. Т.е. программный фильтр получается минимум на 5 секунд, дл моего проекта это несколько большая задержка.

3. Хочу реализовать приложенную схему, но читать схемы, честно, не умею. Поэтому, если Вас не затруднит, проинспектируйте мои дилетантские схемы, включающую все проводки. Последний, серый провод, подключенный через резистор идет к порту МК.
Можно вместо резистора на 470 ом поставить два на 220 последовательно? Все что есть в наличии )))
 

Вложения

Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
Глючит именно датчик от помех по питанию,
Тогда обе схемы ни к чему не приведут. Вторая, так вообще может датчик не работать.
Твердотельные реле должны избавить, во всяком случае, от собственных помех. Помехи от внешних устройств (чайники, холодильник и т.п.) останутся и их надо как то устранять на датчике. Либо менять датчик на более помехоустойчивый.
 

pvvx

Активный участник сообщества
@YaSerg - Возьмите нормальный БП и соедините PIR датчик, твердотельное реле, сам ESP и БП как можно более короткими проводами, паяльником, а не по Arduino-вски (через разъемчики).
Если всё равно будет сбоить и ложно срабатывать - это значит, что вас что-то с программой или настройками самого PIR датчика.

Пример реле:
 
Последнее редактирование:

nikolz

Well-known member
1. Понял, что действительно, как бы дорого это не было придется перевести весь проект на электронные твердотельные реле. Это они, ссылка?

2. Глючит именно датчик от помех по питанию, проводил эксперимент с отключенным от esp датчиком и именно в момент срабатывания реле он выдает сигнал. Пробовал отфильтровать ложный сигнал, как Вы пишете программно, но датчик работает следующим образом. При глюке или обнаружении движения он выдает положительный сигнал минимум на 2,5 сек., потом задержка 2,5 сек. Т.е. программный фильтр получается минимум на 5 секунд, дл моего проекта это несколько большая задержка.

3. Хочу реализовать приложенную схему, но читать схемы, честно, не умею. Поэтому, если Вас не затруднит, проинспектируйте мои дилетантские схемы, включающую все проводки. Последний, серый провод, подключенный через резистор идет к порту МК.
Можно вместо резистора на 470 ом поставить два на 220 последовательно? Все что есть в наличии )))
Помеху можно отфильтровать программно, если Вы знаете ее параметры.
Вы пишите, что сигнал датчика - это 2.5 секунды положительный уровень.
Если помеха - это импульсы в обе стороны от уровня сигнала, то можно Фильтровать медианным фильтром.
Такой фильтр при импульсных помехах более эффективен чем усреднение сигнала.
Фильтр делается следующим образом:
Собираете отсчеты сигнала в массив, сортируете их и читаете из массива значение в середине массива.
------------------------------
Если покажите картинку сигнала и помех то можно сказать какой фильтр надо использовать.
 

nikolz

Well-known member
что замерять? Время срабатывания механического реле? Оно даже в паспорте указывается. Меньше единиц миллисекунд не бывает. Автогенератор на реле - как раз и показывает с какой периодичностью это реле может работать. Максимальную частоту. Никогда не делали? Одна пара НЗ контактов в разрыв обмотки - вот вам и автогенератор. Меряйте частоту на второй паре НР контактов. Быстрее реле не сработает ни как. Ещё раз задам вопрос - как вы задержку,которую должна сделать esp, собираетесь высчитать? И на сколько точно, по вашему мнению или измерениям, эту задержку выдержит реле при замыкании?
Код:
Время срабатывания от момента подачи входного сигнала до полного срабатывания:
В зависимости от времени срабатывания (или отпускания) реле делят на нормальные при  мс, быстродействующие – время срабатывания несколько миллисекунд, реле времени – время срабатывания от десятых долей секунды до минут.
При необходимости время срабатывания и отпускания можно менять схемно или конструктивно.
Вы это про что?
Я полагал, что автор темы желает управлять включением нагрузки (лампы) а не создавать автогенератор на реле .
А делать автогенератор на реле это ... называется.
Поэтому объясняю еще раз.
Синхронизируете работу устройства как я ужу написал и учитываете инерцию реле при его включении. кроме того, сначала измеряете сигнал с датчика а потом управляете реле.
Т е измерение и работа реле разносятся во времени и реле включается при минимальных токах в нагрузке.
Если не будите собирать автогенератор на реле а сделаете схему на ESP то все будет работать нормально.
Для сведения так как Вам считать лень, сообщаю что даже если ошибетесь и промажете мимо нуля на 0.1 мс напряжение на нагрузке составит 10 вольт,
при ошибке 0.5 мс, напряжение на нагрузке при этом возрастет лишь до 50 вольт.
---------------------------
Погрешность частоты сети составляет не более 0.1 мс.
ESP позволяет управлять задержкой с погрешностью не более 0.01 мс.
=========================
таким образом, вполне реально (я это делал) обеспечить включение реле когда напряжение на нагрузке в пределах до 10...50 вольт.

--------------------------------
 
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
@nikolz, вот уже что то понятно. На мой взгляд высчитывать задержку для срабатывания реле в следующем полупериоде с попаданием в "нуль" - извращение почище автогенератора на реле. Интересно, чем вызвано столь неоднозначное решение? Лучше остановиться на варианте с твердотельным реле, имхо. Автору тему уж точно не стоит лезть в такие дебри.
 

nikolz

Well-known member
@nikolz, вот уже что то понятно. На мой взгляд высчитывать задержку для срабатывания реле в следующем полупериоде с попаданием в "нуль" - извращение почище автогенератора на реле. Интересно, чем вызвано столь неоднозначное решение? Лучше остановиться на варианте с твердотельным реле, имхо. Автору тему уж точно не стоит лезть в такие дебри.
Обоснуйте свое понятие об извращении.
С моей точки зрения, Ваше "извращение" основано на отсутствии у Вас необходимых знаний.
Твердотельное реле с указанным мною решением будет работать много дольше это раз.
Ваша лампочка будет меньше перегорать это два.
Если нагрузка реактивная то твердотельное реле вообще ничего не решает - это три.
Ну и цена вопроса - это четыре.
-------------------------
я делал подобную схему для управления любой нагрузкой ( поясняю любой - это активной и реактивной) на основе симисторов.
Ну а что касается автора темы, то ему виднее.
-------------------------
Что же касается "извращения" то по-моему это когда вместо применения знаний предлагают купить более дорогие детали
 

pvvx

Активный участник сообщества
Обоснуйте свое понятие об извращении.
С моей точки зрения, Ваше "извращение" основано на отсутствии у Вас необходимых знаний.
Твердотельное реле с указанным мною решением будет работать много дольше это раз.
Ваша лампочка будет меньше перегорать это два.
Если нагрузка реактивная то твердотельное реле вообще ничего не решает - это три.
Ну и цена вопроса - это четыре.
-------------------------
я делал подобную схему для управления любой нагрузкой ( поясняю любой - это активной и реактивной) на основе симисторов.
Ну а что касается автора темы, то ему виднее.
-------------------------
Что же касается "извращения" то по-моему это когда вместо применения знаний предлагают купить более дорогие детали
О великий извращенец-гуру-nikolz - Вы опять ошиблись на десятичные порядки :)

Берем идеальные условия и минимальные отклонения:

Время срабатывания электромеханического реле зависит от подведенной мощности (так написано в их документации* :) ). А мощность зависит от сопротивления и напряжения на обмотке. При разнице в 60С (+20..+80С) медь меняет сопротивление на 23%.

На типовые реле, которые ставят китайцы для Arduino-поклонников, характеристики времени срабатывания в PDF (средние) 10 ms с логарифмической зависимостью от ~ до 4 ms от Coil Power (W). Где 20% сказывается в разнице более 2 ms. В сети 50Гц четверть волны 0..310 В – это 5 ms. При этом если вы не попали на 2 ms – это 180 В.

*По этому параметру я не буду распинаться, но … :) :)
таким образом, вполне реально (я это делал) обеспечить включение реле когда напряжение на нагрузке в пределах до 10...50 вольт.
 
Последнее редактирование:
Сверху Снизу