
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Пытаясь сделать свою семью более экологичной, я менял галогенные лампы на светодиодные. Существует множество альтернативных вариантов замены лампочки любого типа. При этом я столкнулся со следующей проблемой: у меня был осветительный прибор, в котором использовалось 7 галогенных ламп на 12 В, каждая по 10 Вт. Этот свет контролировался диммером, который работал нормально. Когда я заменил лампочки на 12-вольтовые светодиодные лампы, каждая по 1 Вт, диммер работал плохо: свет мигал, а затемнение было несколько неустойчивым. Это проблема многих классических диммеров: у них минимальная мощность, необходимая для работы.
Итак, основываясь на моей домашней системе, я решил заменить этот ручной диммер на новый, который имел бы дополнительное преимущество в виде возможности удаленного управления. Я уже построил диммер с использованием N-канального MOSFET (IRF540), который идеально подходит для такого рода вещей: им можно управлять с помощью сигнала ШИМ, и он практически неразрушимый, с максимальными номиналами 100 вольт и 33 ампер. достаточно для этой цели (быстрая проверка: 7 x 1 ватт = 7 ватт, деленное на 12 вольт, дает максимальный ток около 0,58 ампер). Я хочу использовать этот диммер для другого прибора, у которого есть 12 лампочек, каждая по 2 Вт, что дает максимум 2 А, так что этого также достаточно. Единственное, на что следует обратить внимание, это частота сигнала ШИМ, но обычные значения для Arduino или ESP8266 (500 Гц или 1 кГц) не являются проблемой.
Шаг 1: Шаг 1: Компоненты

- Драйвер светодиода (преобразователь 230 вольт переменного тока в 12 вольт постоянного тока) Для моей цели я хочу использовать максимум 24 Вт, поэтому я начал с драйвера светодиода на 12 вольт и 2 ампер. Я нашел один на сайте китайского дистрибьютора. Этот драйвер был рассчитан на 12 вольт, 28 ватт, так что этого было достаточно, чтобы управлять прибором самостоятельно. В зависимости от вашей ситуации вы можете использовать более легкую или более тяжелую версию.
- IRF540 n-канальный МОП-транзистор
- Adafruit Huzzah ESP8266 Breakout Поскольку я хотел использовать Wi-Fi и мне очень нравились продукты Adafruit, я выбрал эту плату: она дает мне ESP8266 с удобной распиновкой для программирования, встроенным регулятором мощности и элегантным форм-фактором. Это немного излишне для этого проекта, но значительно упрощает тестирование и отладку.
- DC-DC преобразователь на основе LM2596 Чтобы получить питание для платы ESP от 12 вольт, мне понадобился регулятор; эти небольшие преобразователи очень эффективны и очень дешевы.
-
Поворотный энкодер с функцией кнопки, со встроенной светодиодной подсветкой:
www.sparkfun.com/products/10596
Подойдет любой поворотный энкодер, но мне понравилась хорошая дополнительная функция встроенного светодиода.
-
Ручка из прозрачного пластика
www.sparkfun.com/products/10597
- Резистор 4к7
- Резистор 1к
Шаг 2: Шаг 2: Схема

Это схема, которую я использовал: я использовал контакты 4 и 5 в качестве входов для поворотного энкодера и контакт 0 для кнопки. Контакт 0 также подключен к бортовому красному светодиоду, поэтому я мог проверить работу кнопки на кодировке, наблюдая за этим светодиодом.
Контакт 16 используется для выхода ШИМ, и я подключил его напрямую к зеленому светодиоду на кодировщике Sparkfun. ESP8266 составляет 3,3 вольта, и даже при 100% я измерил выходное напряжение 2,9 вольт, поэтому я подключил его напрямую, без последовательного резистора. Тот же самый выход поступает на затвор n-канального MOSFET через резистор 1 кОм. Этот затвор подтягивается до 12 В с помощью резистора 4,7 кОм.
Я использовал преобразователь постоянного тока в постоянный, чтобы преобразовать 12 вольт в 5,5 вольт, он подключен к входу V + коммутационного блока Adafruit. Я мог бы использовать 3,3 вольта и подключить его напрямую, но это немного безопаснее.
Светодиодная лампа 12 В в цепи - мое приспособление.
Шаг 3: Шаг 3: Код

Я выложил код на GitHub:
Эскиз диммера ESP8266 LED PWM
Он основан на другой поучительной идее:
www.instructables.com/id/Arduino-PWM-LED-D…
Но это было чисто локальное управление, поэтому я добавил собственное решение для домашней автоматизации на основе MQTT. По сути, он делает то же самое, но основные отличия заключаются в следующем:
- по умолчанию количество шагов ШИМ для Arduino равно 255, для ESP8266 - 1023 (как я узнал позже, все время пытаясь выяснить, почему мой светодиодный светильник не поднялся до 100% яркости …)
- Я не использовал схему Totempole с двумя транзисторами, так как ШИМ в любом случае был постоянным током и отлично работал с IRF 540.
- Подтягивающие резисторы на 10 кОм для энкодера я не использовал, доверял встроенным подтяжкам ESP8266.
- ESP8266 использует логику 3,3 В вместо 5 В для Arduino, что оказалось без проблем для IRF540.
Программа имеет следующие особенности:
- при повороте энкодера индикатор будет тускнеть вверх (CW) или вниз (CCW) от 0 до 100% за 1023 шага с некоторым ускорением на нижних уровнях.
- нажатие кнопки включит свет, когда он выключен, с использованием последнего сохраненного уровня яркости или выключит его, когда он включен.
- нажатие кнопки на более длительное время при включенном свете сохранит текущую яркость в качестве уровня по умолчанию.
- нажатие кнопки на более длительное время при выключенном свете включит свет до 100% яркости без изменения уровня по умолчанию.
- Он будет подключаться к настройкам WiFi, определенным строками «SECRET_SSID» и «SECRET_PASS», которые сохранены в моем скетче в отдельном файле под названием «secrets.h».
- Он подключится к серверу MQTT в сети Wi-Fi, используя строки «MQTTSERVER» и «MQTTPORT» в том же файле.
- Вы можете использовать входящую тему MQTT «domus / esp / in» для выполнения команд: «ON» или «OFF», чтобы включить или выключить свет, или значение от 0 до 1023, чтобы изменить яркость.
- Он сообщит о состоянии тем MQTT «domus / esp / uit» (статус ON или OFF) и «domus / esp / uit / яркость» (значение яркости).
Рекомендуемые:
Низкочастотный ШИМ: 4 ступени

Низкочастотный ШИМ: Привет всем! В этом проекте я покажу вам, как я сделал сверхнизкочастотный ШИМ-автомат с минимальным количеством компонентов. Эта схема вращается вокруг схемы триггера Шмитта. В зависимости от требований я классифицировал 3 типа схем
Выходное напряжение преобразователя DCDC, управляемое ШИМ: 3 ступени

Выходное напряжение преобразователя постоянного тока постоянного тока, контролируемое ШИМ: мне нужен преобразователь постоянного тока постоянного тока с цифровым управлением и переменным выходным напряжением для схемы зарядки … Итак, я сделал его. Разрешение выходного напряжения экспоненциально хуже, чем выше выходное напряжение. Может быть, что-то связано с отношением светодиода
ШИМ с ESP32 - Диммирование светодиода с ШИМ на ESP 32 с Arduino IDE: 6 шагов

ШИМ с ESP32 | Диммирование светодиода с помощью ШИМ на ESP 32 с помощью Arduino IDE: в этой инструкции мы увидим, как сгенерировать сигналы ШИМ с ESP32 с помощью Arduino IDE & ШИМ в основном используется для генерации аналогового выхода из любого микроконтроллера, и этот аналоговый выход может быть любым в диапазоне от 0 В до 3,3 В (в случае esp32) & из
Светодиодный мигалка и ШИМ-осциллятор с использованием таймера 555: 3 шага

Светодиодный мигатель и ШИМ-осциллятор с использованием таймера 555: Все были новичками в электронике, и для новичков иногда может быть сложно построить некоторые функциональные схемы. Вот почему я решил разместить такой проект. Эта схема является упрощенной версией простой схемы, которая
Четырехцветный светодиодный светильник для выращивания растений с ШИМ-затемнением: 12 шагов (с изображениями)

Четырехцветный светодиодный светильник для выращивания растений с ШИМ-регулировкой яркости: это расширение для моего предыдущего светильника для выращивания растений, установленного в бывшее в употреблении шасси ПК. Он имеет четырехканальное ШИМ-регулирование яркости для дальних красных, красных, синих и белых светодиодов. Возможность контролировать смесь цветов означает, что вы можете контролировать рост корней, листьев