Комментарии 26
Некоторые замечания разработчикам:
на кнопках явно не хватает ёмкостей (аппаратная фильтрация дребезга)
подключение реле явно бестолковое. При коммутации нагрузки например на индуктивность будут очень большие выбросы. С вероятностью 99% контроллер зависнет (в лучшем случае).
А что и как нужно изменить в подключении реле? (вроде бы проблем пока не наблюдалось, хотя я экспериментировал только в тестовом режиме).
Это и есть дурная практика, пытаться решить всё программно. Ёмкость сильно удорожает или усложняет решение?
аппаратные решение на конденсаторах для такой задачи не очень. дребезг кнопок имеет свойство с течением времени возрастать из-за старения контактов. нужен большой запас по постоянной времени RC цепи. кроме того открыт вопрос энергопотребления на заряд-разряд кондюка. если рядом розетка - все путем, но так бывает не всегда. а еще бывают матричные клавиатуры которые надо опрашивать в динамике. в целом емкость по входу обычно не мешает, но и делать из нее культа не надо.
Но вы не можете 10мс тусить внутри прерывания, так что циклы придется либо вынести в отдельную FreeRTOS-таску, либо вставить это в главный "поток" (либо вообще использовать аппаратный или программный таймер), и поприседать, если параллельно с этими 10мс что-то ещё должно выполняться. Для нескольких кнопок этот код хорошо бы ещё без дублирования переиспользовать. В общем, моя мысль в том, что аппаратно сложно неправильно сделать дребезгодав, а программно его ещё надо сделать с умом и встроить с учётом остального кода.
это и не надо. обработку всех кнопок сразу нужно делать раз в тик системного таймера для каждой кнопки увеличивая свою переменную-счетчик если на входе 1 и уменьшая если 0. нажатие и отпускание фиксируется при достижении счетчиком верхней и нижней границ соответственно. Для FreeRTOS обработку кнопок, светодиодов и т.п. очень удобно выносить в сопрограммы. Они там живут и никому не мешают
для alex-open-plc емкости опционально, дребезг 20 мс можно давить програмно, подключение реле называется классическое, по современному там должны быть полевики , контроллер не зависнет , питание реле и ESP от разных источников.
Проходили всё это. При индуктивной нагрузке более 300 Вт (всего то...), обыкновенный электродвигатель, получите сюрпризов в полный рост. В данном решении нет полной гальванической развязки. Думайте сами, как изолировать. Обмотка реле только усиливает эффекты, не обеспечивая изоляцию.
Думайте сами, как изолировать.
скажите, а у вас есть примеры - где вы придумали, как изолировать? Или "у нас есть такие приборы - но мы о них не расскажем" (с)?
Каким образом "развязка" оптроном поможет? Реле само по себе гальванически развязано. А наносекндные помехи без проблем пройдут через оптрон.
Исследуйте работу реле, в частности при коммутации реактивной (индукционной нагрузке) посмотрите, как наносекундные импульсы со свистом пролетают через обмотку, еще и усиливаясь.
Читайте (внимательно) даташит для CPC. (штука удобная, можно коммутировать катушки ~220V)
очень таки интересно, КАК сигнал пройдет через оптопару в обратном направлении?!
прекрасная плата. все что нужно..., цена наверное единственный минус)
конечно управление реле без опторазвязки это не очень универсальное решение, но в подавляющем большинстве случаев будет работать. Дребезг контактов решается и хардварно и софтово. Подтяжкой и /или микросхемой анти дребезга типа мах1816, я в своих решениях вполне довольствовался и софтовым... Вопрос что все это слишком сильно раздувает размер. А здесь он укладывается в 80х80 коробку что интересно.
Опять же не очень мне понятно игнорирование POE , потому как если Ethernet, то можно было б и питание оттуда притащить...
Опять же не очень мне понятно игнорирование POE , потому как если Ethernet, то можно было б и питание оттуда притащить...
Не очень понятно зачем ПОЕ рядом с реле. КМК, если есть реле - значит где-то рядом есть проводок с питанием, 220 или 24 - по вкусу. У меня есть ряд проектов, где МК мониторят питание и щелкают релюшками, я их как-то собрал на ПОЕ бордах, потом плакал как в корпус упихивать.
естественно на Poe релюшки лучше не вешать без развязки, еще вопрос что за Poe источник. У меня платы с poe работают с микроволновыми датчиками, никаких проблем.
Плата с релюшкой может хотеть отдельного резервированного питания, например. Места он не так много занимает. POE, естественно, изолированный. Питается это всё от свитча с POE такого же размера как обычный.
Вообще универсальные платы обычно громоздкие, я развожу кастомные со всеми хотелками, выходит всегда компактнее. У универсальных плат в поделках хуже всего внешняя коммутация и дообвес. И корпус в лучшем случае на 3д принтере.
А мне эта плата кажется странной. есп32 слабовата для умного дома в качестве основного контроллера, а набор портов и выходов наоборот через чур серьёзен. В на рейку это не поставить, потому что выходы везде.
Жаль что при указании параметров выходов, которые подключены к реле, редко указывают помимо токов реле, напряжение и косинус фи. Приходится всё равно лезть в даташит на реле.
Это просто мысли про описание технических характеристик...
OLIMEX ESP32-EVB: красный квадрат (плата принята)