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

Gpio и разные режимы [вредные советы]

bshep

New member
Вообще-то, у вас на схеме логика И-НЕ.
Что-то похоже не то и не другое. Таблица истинности получается такая:
Gpio0 Gpio2 Выход
1 1 1
1 0 0
0 1 0
0 0 0


Зачем такое включение при управлении реле от esp8266?
Пытался избежать ложных срабатываний при загрузке, когда модуль дергает обоими выводами как ему хочется. По итогу, похоже, сделал не совсем то :)

Но главное чего понять не могу - почему даже при подключении напрямую, без мосфетов, и наличии опторазвязки в релейном модуле, - без лампочки реле работает, а с лампочкой - перегружает ESP-шку?
 

pvvx

Активный участник сообщества
Но главное чего понять не могу - почему даже при подключении напрямую, без мосфетов, и наличии опторазвязки в релейном модуле, - без лампочки реле работает, а с лампочкой - перегружает ESP-шку?
Сказано же - от наводок дуги в контактах реле. Холодная лампа имеет сопротивление в 10+-1 раз меньше чем горячая. В итоге посчитайте "пусковой" ток при 310В и возникающую энергию ЭМИ...
А у вас прямо к этому источнику протянуты антенны к модулю в виде проводов.
На дуговых передатчиках в начале того века передавали сообщения через океан :)
(100Вт лампа в данном случае излучает импульсную мощу в 1кВт :p)
А так-же, возможно, что потенциал по проводам gnd и другим у вас имеет большие различия и при коммутации в сеть лампы (через емкости), возникают разности относительно заземления и энто различие потенциала через воздушную емкость (и прочие) наводит на проводки бросок напряжения. Смотрите развязки БП и т.д. Да убирайте все "сопли" из макета.
При наличии такого дугового передатчика рядом с модулем - ставьте последовательно на все входы/выходы непосредственно у самого модуля резисторы и сокращайте длину проводов.
И, вроде, по схеме у вас емкость по питанию модуля - электролит с громадным ESR. заткните его керамикой.
 
Последнее редактирование:

brig

New member
Таблица истинности получается такая:
Верно. Таблица истинности - для схемы = "2И". Первый каскад (два транзистора) реализует "2И-НЕ", а второй каскад - "НЕ".

Рекомендую посмотреть способы подключения вашего релейного модуля у людей, которые этим уже занимались:
здесь
и
здесь.
 
  • Like
Реакции: Lstt
INTERRUPT по GPIO. Ошибка или глюк?
Пример из NodeMCU API Instruction из описания
gpio.trig() начинающийся

-- use pin 0 as the input pulse width counter...
НЕ работает ни на 2015, ни на 2014 прошивке.
Не принимает он function в таком виде, и его отсутствие...
Может кто знает как правильно написать?
 

bshep

New member
Сказано же - от наводок дуги в контактах реле.
Действительно. Сделал адаптер с ESP-01 на одну линейку пинов со всеми подтяжками и микро-выключателем для выбора режима работы/прошивки. Повесил реле только на GPIO2 через два мосфета с минимумом проводов. Результат: ни одной перезагрузки модуля в серии из нескольких десятков срабатываний.
После повесил еще светодиод на GPIO0 для индикации. Результат: модуль перезагружается раз в 5-7 срабатываний реле.
Сейчас заменил реле на твердотельное - глюков не наблюдается вовсе.

Если кому интересно:

Результат (с электромагнитным реле):

Адаптер (pcb в формате DipTrace прилагается):
ПереходникESP8266.PNG
 

Вложения

smerlin

Member
Действительно. Сделал адаптер с ESP-01 на одну линейку пинов со всеми подтяжками и микро-выключателем для выбора режима работы/прошивки. Повесил реле только на GPIO2 через два мосфета с минимумом проводов. Результат: ни одной перезагрузки модуля в серии из нескольких десятков срабатываний.
После повесил еще светодиод на GPIO0 для индикации. Результат: модуль перезагружается раз в 5-7 срабатываний реле.
Сейчас заменил реле на твердотельное - глюков не наблюдается вовсе.

Если кому интересно:
Очень интересно! А можно принципиальную схему со всеми номиналами? (подтяжки на адаптере, мосфеты и т.п.)
Планирую тоже самое но на модуле ESP-07 и в связке с твердотельным реле. В электротехнике новичок, потому ваша схема интересна для изучения и взятия за основу.
 

bshep

New member
Да пожалуйста :)
Не претендую на спеца-схемотехника, но вот такое вроде работает (схема в формате DipTrace - в архиве)

ESP8266_SSR.PNG
 

Вложения

bshep

New member
Ну и если кому интересно, то работает как-то так (под картинкой - ссылка на видео в ютубе):
upload_2015-3-1_23-24-14.png
 
Последнее редактирование:

bshep

New member

deathservice

New member
понятно теперь откуда стабильность. Ваш подход более верный. вот бы компилятор был еще и под basic (типо bascom под avr)
 

smerlin

Member
вот вариант схемы переходника для модуля ESP-07 на макетку, покритикуйте, может и накосячил - радиоэлектронщик из меня еще тот....
Переходник ESP-07.jpg
эы. на ESP-12 распиновка и размер модуля те же, так что должно и туда подойти
Поправил замечания, но RESET выводить на гребенку не стал (есть уже GPIO16, думаю можно и туда подать LOW если надо удаленно рестарт сделать).
Теперь пусть гуру ставят резолюцию и я выложу DipTrace формат) Вдруг кому-то понадобится.
 
Последнее редактирование:

JustACat

Moderator
Команда форума
smerlin, ну, во-первых, чего вы там справа внизу смывать (Flush) собрались?
Далее по существу: на мой неискушенный взгляд: вроде бы хорошо, кое-где может даже избыточно.
Правда, мне кажется, плохо, что у вас Reset не выведен на гребенку.
Да и к GPIO16 не подключен...
1) вы так не сможете снаружи ESP сбросить ничем (только кнопкой, а это не всегда удобно).
2) и deep sleep использовать не сможете тоже.
В общем, Reset на гребенку я бы таки вывел, причем рядом с GPIO16, чтобы можно было их легко соединить перемычкой.
Еще я бы добавил между землей и переключалкой "Flush" резистор тоже, чтобы GPIO0 на землю не напрямую сажать, а через резистор к земле подтягивать, килоом на 5-10. Или можно просто резистор R7 перенести с позиции VCC-Run на позицию J3-GPIO0.
Ну и чисто по печатке уже потом - дорожки питания делайте потолще, модуль к питанию требователен. И кондеры по питанию как можно ближе ко входам в модуль.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Забыто, что GPIO0 при старте и программировании дублирует частоту "кварца" http://esp8266.ru/forum/threads/raz...go-webservera-na-esp8266.56/page-11#post-1739 - необходимо вставить последовательно резистор на длинные выводы, непосредственно у самого модуля (примерный номинал в 300 Ом).
GPIO15 не притянется 12 кОм к земле. Надо резистор с меньшим номиналом (менее 10 кОм).
Да и вообще все выводы i/o с модуля желательно подключить через резисторы типа 33 Ом непосредственно у самого модуля, тогда он меньше боится внешних помех и не создает их сам себе, излучая внешними проводами при выводе на них... Espressif не устранил это непосредственно в чипе - наверно их "специалисты" не умеют и не знают как это делается (походу никогда не связывались и не знают как это делается для военки). Как итог - низкая чувствительность модуля - он сам себе гонит помехи на приемник от внешних выводов. Включение аппаратного PWM по тому и не используют - почти полностью глохнет приемник от излучения на проводках PWM i/o...
 
Последнее редактирование:

JustACat

Moderator
Команда форума
smerlin, ну, теперь осталось только развести, вытравить, запаять, всячески протестировать и доложить тут о результатах :) Думаю, все будут благодарны!
 
Сверху Снизу