Этот светодиодный DIMMER представляет собой схему PWM (широтно-импульсная модуляция) на основе Arduino Uno, разработанную для получения переменного напряжения по сравнению с постоянным напряжением. Метод ШИМ объясняется ниже. Прежде чем мы приступим к созданию схемы светодиодного диммера на 1 Вт, сначала рассмотрим простую схему, показанную на рисунке ниже.
Теперь, если переключатель на рисунке постоянно замкнут в течение определенного периода времени, лампочка будет постоянно гореть в течение этого времени. Если переключатель замкнут на 8 мс и разомкнут на 2 мс в течение цикла 10 мс, то лампочка будет гореть только в течение 8 мс. Теперь среднее значение терминала за период в 10 мс = время включения / (время включения + время выключения), это называется рабочим циклом и составляет 80% (8 / (8 + 2)), поэтому среднее выходное напряжение составит 80% от напряжения аккумулятора.
Во втором случае переключатель замыкается на 5 мс и размыкается на 5 мс в течение 10 мс, поэтому среднее напряжение на выходе на выходе будет 50% от напряжения батареи. Скажем, если напряжение аккумулятора составляет 5 В, а рабочий цикл составляет 50%, то среднее напряжение на клеммах будет 2,5 В.
В третьем случае рабочий цикл составляет 20%, а среднее напряжение на клеммах составляет 20% от напряжения батареи.
Теперь, как эта техника используется в светодиодном диммере? Это объясняется в следующем разделе этого руководства.
Как показано на рисунке, Arduino UNO имеет 6 каналов ШИМ, поэтому мы можем получить ШИМ (переменное напряжение) на любом из этих шести контактов. В этой главе мы собираемся использовать PIN3 как выход ШИМ.
Необходимые компоненты
Аппаратное обеспечение: ARDUINO UNO, блок питания (5 В), конденсатор 100 мкФ, светодиод, кнопки (две штуки), резистор 10 кОм (две штуки).
Программное обеспечение: arduino IDE
Принципиальная схема и объяснение
Схема подключается на макетной плате согласно принципиальной схеме. Однако при подключении светодиодных клемм необходимо соблюдать осторожность. Хотя в этом случае кнопки показывают эффект подпрыгивания, это не вызывает серьезных ошибок, поэтому на этот раз нам не о чем беспокоиться.
ШИМ от UNO довольно прост. Хотя настроить контроллер ATMEGA для сигнала ШИМ непросто, мы должны определить множество регистров и настроек для точного сигнала, однако в ARDUINO нам не нужно иметь дело со всеми этими вещами.
По умолчанию все файлы заголовков и регистры предопределены ARDUINO IDE, нам просто нужно их вызвать, и на этом у нас будет выход PWM на соответствующем выводе.
Теперь, чтобы получить выход ШИМ на соответствующем выводе, нам нужно поработать над двумя вещами:
|
Сначала нам нужно выбрать выходной контакт ШИМ из шести контактов, после этого нам нужно установить этот контакт как выходной.
Затем нам нужно включить функцию PWM в UNO, вызвав функцию analogWrite (pin, value). Здесь «пин» представляет номер пина, на котором нам нужен вывод ШИМ, мы помещаем его как «3». Итак, на PIN3 мы получаем вывод ШИМ. Значение представляет собой рабочий цикл включения, от 0 (всегда выключен) до 255 (всегда включен). Мы собираемся увеличивать и уменьшать это число нажатием кнопки.
Использование контактов PWM в Arduino Uno объясняется в приведенном ниже коде C.