Comments 26
Хороший проект. У меня такой же стиль (на макетках). Решал эту проблему своим путем https://habr.com/p/530588/ "Удобное DIY управление светом без изменения существующей проводки". В идее передачи сигнала по питающим проводам есть фундаментальная проблема - питание может кратковременно пропадать/проседать и просто так. Бывало вернешься с викенда в квартиру, а свет горит. Спустя 9 лет уже отказался от этой схемы вопреки протестам домочадцев (схема работала и не требовала инженера в доме для своего обслуживания) в пользу унификации решений на зигби с использованием конденсатора в люстре. Теперь без меня ничего само не починится :( Вам удачи!
Прочитал вашу статью, ранее мне не попадалась. Интересное решение. По поводу кратковременных пропаданий электричества тоже были опасения, но за все время эксплуатации (более года) ложных срабатываний не случалось. Тут еще дело в длительности - если электричество пропадет на время более 1 секунды, то конденсаторы в блоке питания разрядятся и система стартует в исходном выключенном состоянии. Так что более вероятно нештатное выключение, чем включение
Решение классное! Но, кмк, малость не безопасное. Не выключать же автомат каждый раз, как захочешь поменять лампочку в люстре? Хотя у Вас же светодиодная люстра...
Зачем так усложнять? Реле ZigBee без нуля сделает все то же самое
А если была бы возможность предусмотреть изначально управление люстрой через умный дом, то с какой проводкой это удобнее делать?
проще всего было бы дополнительно к цепи с выключателями предусмотреть отдельную линию для постоянного питания люстры
Раскладывать проводку шлейфом с выводом в щиток каждой группы освещения отдельно. В щитке ставить уже реле на din-рейку. К выключателям тянуть витую пару. Одного кабеля хватит чтоб развести 7 выключателей в комнате. Это если провода закладывать, можно беспроводные выключатели, но придётся периодически батарейки менять. Это если на этапе ремонта. Если на данный момент денег нет - ложить проводку с выводом нуля в подрозетник выключателя, это позволит в дальнейшем что-то сделать без лишних проблем. По собственным граблям шёл к умному дому, получилось довольно бюджетно и функционально.
Вариантов проложить километры проводов с ремонтом и кучей денег - очень много. А вот с существующей двухпроводной и красивым техрешением... - вот прочел сейчас и порадовался! Решение по вашему ТЗ правильное, беру в копилку. Ну и моя мысля, вместо расчета длительности переключения добавить емкость, для уборки логических нолей при переходе синусоиды через ноль и ловить ноль при разряде ёмкости при переключении...
с этого все и начиналось ) У меня не получилось отладить чисто аналоговый вариант системы с емкостью для определения перехода через ноль. Дело в том, что момент переключения может совпасть с моментом перехода через ноль - детектор не сработает. При слишком маленьком значении емкости были ложные срабатывания от наводок. Во время экспериментов на стенде в варианте с емкостью система работала, но процент срабатывания был процентов 80...90. В продакшн такое нельзя, когда механический выключатель не срабатывает с первого раза - раздражает страшно. После этого и появилась идея смотреть значение сигнала на входе с помощью АЦП
Пояски контактных площадок макетки - профанируют идею гальванической развязки. Хотя, в условиях средней влажности и заведомо без выпадения конденсата, - сгодится. Тем более, что оптронами отделены друг от друга части схемы, а не часть, доступная для прикосновения "операторам" системы.
Используя резистор достаточного сопротивления (условно - от 470 кОм) - можно ловить переход через ноль и без развязки. См. app. note AVR182 фирмы Atmel и tech. brief TB3138 фирмы Microchip.
Обычно этот вопрос решают zigbee-выключателем с реле, поддерживающим режим отвязки клавиш от реле. В таком случае реле оставляется замкнутым всегда, а нажатие на кнопку обрабатывается сервером умного дома. Если вдруг случилось аварийная ситуация и сервер умного дома умер без возможности бвстрого воскрешения, то выключатель можно сбросить, после чего он перейдёт в своё исходное состояние, когда клавиша прямо управляет реле.
WirenBoard в своих релейных модулях просто предусмотрела аварийный режим, когда потеря связи с головным устройством может переводить реле на прямое управление от выключателя. Но производители zigbee-выключателей до внедрения подобного фолбэка почему-то не дошли.
Но ваше решение интересное и имеет свои преимущества.
Потоковый ADC через DMA на ESP-32 отлично работает. Я использовал это для измерения True RMS напряжения и тока. По 10К SPS вполне хватало.
Детектор прерывания питания реализован на отдельном микроконтроллере
Скажите, а почему не применили простейший T-триггер на дискретной логике (например, К561ТМ2) ?
Подскажите, а не проще было отказаться совсем от ADC, и использовать логический вход, и прерывания на его изменения? Отслеживая просто длительность нуля/единицы.
Тогда без проблем можно завести напрямую на ESP32
с этого начинал, не получилось. У входа есть гистерезис, и длительность нуля при нормальном переходе получается примерно 1.5 мс, что может быть сравнимо с временем переключения выключателя. Если фильтровать такие импульсы, детектор не всегда срабатывает. Использование АЦП позволяет сократить это время до сотни микросекунд (считаем время только когда АЦП в максимальном значении) и надежно отделять сигнал от выключателя от перехода через ноль
Идея интересная, сам подобными вопросами дома мучаюсь. Ну как мучаюсь - ничего не делаю :) Основной вопрос у меня по самой люстре. Вы, как я понимаю, заменили управление ей, получается, она всегда включена и состояние выключено, это 0 на выходе ШИМ? То есть, блок питания люстры всегда включён. Что с потреблением при этом?
потребление не измерял, но думаю небольшое. Вся старая электроника люстры (приемник команд от радиопульта) осталась, так как хотел обойтись минимальным вмешательством в схемотехнику. В отсутствии ШИМ энергию потребляет только цепь управления, запитана она в люстре насколько помню от конденсаторного БП, то есть ток там - несколько миллиампер. Плюс дополнительно все время запитан блок питания ESP32, думаю суммарно в выключенном состоянии сейчас люстра потребляет не более пары ватт мощности.
Реверс-нижиниринг драйвера люстры тоже был отдельной задачей, но оказалось что там все довольно просто устроено
Умное освещение и старая проводка