Как бы я использовал Arduino для определения состояния переключателя диммера?

У меня есть диммерный переключатель переменного тока, который вы обычно кладете в монтажную коробку и используете для приглушения света в вашем доме. Если бы я хотел подключить этот переключатель к Arduino (и ТОЛЬКО к Arduino, а НЕ к сетевому напряжению), как бы я проверил состояние переключателя?

Насколько я понимаю, диммерный переключатель обрезает форму волны переменного тока по переднему или заднему фронту, используя обнаружение пересечения нуля. Так мог бы я использовать ЦАП для генерации сигнала с частотой 60 Гц и обмануть переключатель, чтобы он подрезал его при 5 В вместо сети? Есть простой способ сделать это? Как это делают светодиодные светильники?

Спасибо.

Сомневаюсь, что симисторный диммер будет работать без сетевого напряжения. Если вам просто нужна ручка, не могли бы вы просто использовать потенциометр?
Я пытаюсь поместить esp8266 в сборную коробку в качестве дешевого контроллера домашней автоматизации. Если бы я мог использовать существующий переключатель и вообще не использовать сеть, это было бы идеально.
Для этого должны быть готовые решения X-10, которые были доступны в течение десятилетий. Легко управлять напрямую и удаленно с помощью микроконтроллера, компьютера или чего-то еще.
Что, если я подключил линию переменного тока к ACS712 -> Резистор -> Нейтраль? Я предполагаю, что мне понадобится только небольшое количество тока, чтобы запустить симистор в диммере. Я мог бы просто рассеять его как тепло.
Некоторые диммеры имеют только переменные резисторы с двумя выводами и могут иметь нечетную конусность (сопротивление в зависимости от угла). Не имея полных спецификаций, это не обязательно будет подходящим устройством ввода. Никогда не подключайтесь к сети (используйте низковольтные источники питания с ограничением по току) в целях безопасности.

Ответы (2)

Большинство двухпроводных диммеров представляют собой очень простые схемы, подобные этой:

введите описание изображения здесь

И поскольку вы, похоже, готовы использовать ACS712 (который недостаточно чувствителен для индикации без значительной нагрузки), я бы предложил следующее:

введите описание изображения здесь

Здесь нагрузка (свет) заменена резистором (который рассеивает меньше, чем симистор, питающий любые источники света), который пропускает ток, достаточный для поддержания симистора во включенном состоянии (около 10 мА) при срабатывании, поэтому сигнал на ардуино низкий. всякий раз, когда горел бы свет.
Из этого вы можете рассчитать относительное положение ручки управления на основе ширины импульса, поступающего от текущего детектора (опто).

Потенциально вы можете просто использовать один 4N35 и диод (для замены другого), поскольку диммер должен давать примерно одинаковый сигнал как в положительном, так и в отрицательном полупериодах.

Это именно то, что я искал. Это очень похоже на это решение , которое было моей точкой отсчета, но я просто не был уверен в правильности оптрона и в том, как безопасно нагрузить его резистором. Я, вероятно, буду использовать симисторы и несколько резисторов для изменения нагрузки. Я использую это для определения тепловыделения, но есть ли у вас какие-либо рекомендации по максимальной мощности нагрузки? Некоторым симисторам для срабатывания требуется 50 мА, а это нагрузка 11 Вт при 220 В.
LTV814 выглядит абсолютно идеально для этой работы. Спасибо за публикацию ссылки. Даже если ток удержания выше 10 мА, длина управляющего импульса на симистор должна означать, что вы получаете как минимум импульс от оптопары. Если вы создадите точку перехода через ноль хотя бы для одной фазы в вашем доме, вы сможете определить положение элемента управления, даже если симистор находится ниже тока удержания, а устройство потенциально на других фазах. Если ваш источник переменного тока является двухфазным, как в США, то, конечно, для всех точек работает один опорный нулевой уровень.
Отличный момент - я даже не рассматривал многофазный переменный ток. Это нормально, хотя - это определенно решает мои самые большие проблемы. Я уверен, что есть схемы детекторов пересечения нуля для многофазных систем переменного тока, которые я могу найти. Это заставляет меня идти на данный момент. Еще раз спасибо!
Если вы установите ток нагрузки ниже тока удержания симистора, то вы можете использовать более совершенную оптопару, такую ​​как 6N137. Он имеет более высокую скорость и может дать более приемлемый импульс для вашего MCU.

Вы можете удалить схему и подключить провод непосредственно к потенциометру в диммере, но обычно потенциометр в сетевом диммере имеет слишком большое значение для работы напрямую с входом АЦП Arduino — обычно вам нужно что-то около 10K, а потенциометр диммера обычно намного выше. ценить.

Можно использовать операционный усилитель rail-to-rail, такой как MCP6002, для буферизации напряжения потенциометра, но я думаю, что было бы проще просто купить потенциометр и ручку.