Дистанционный регулятор освещенности на микроконтроллере PIC12F629 / PIC12F675. Схема диммера

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

Устройство, собранное на микроконтроллере PIC12F629 / PIC12F675, включает нагрузку путем короткого замыкания собственного источника питания! Вы можете управлять диммером с помощью телевизионного пульта дистанционного управления — все, что вам нужно, это 4 свободные кнопки.

Если вы не можете для этого выделить 4 кнопки, вы можете обучить устройство только 2 кнопкам, но в этом случае вы, либо теряете функцию затемнения — вы можете только включать и выключать свет, либо теряете кнопку OFF, поэтому вам нужно будет затемнять — вниз до уровня 0, чтобы выключить свет. Диммер распознает два протокола: NEC и RC5 (наиболее популярный).

Дистанционный регулятор освещенности на микроконтроллере PIC12F629 / PIC12F675 фото 1

Бестрансформаторный источник питания

Питание устройства осуществляется от сетевого напряжения с помощью бестрансформаторного источника питания на основе гасящего конденсатора.

Дистанционный регулятор освещенности на микроконтроллере

Режим ожидания (свет выключен)

Устройство питается от сетевого напряжения, через резистивную нагрузку (лампочку). Схема потребляет очень мало энергии. Основным потребителем является ИК-приемник TSOP, но вы также можете использовать маломощные TSOP, такие как TSOP38238, если хотите снизить потребление тока до менее чем 1 мА.

В этом состоянии микроконтроллер (PIC12F629/PIC12F675) ожидает ИК-сигнала от TSOP или нажатия от настенного выключателя. Имейте в виду, что настенный выключатель больше не должен быть классическим выключателем включения/выключения — он должен быть заменен кнопочным выключателем, который замыкает контакты только тогда, когда вы продолжаете нажимать на него.

Включенное состояние (свет включен или приглушен)

Если нажать на настенный выключатель или отправить соответствующий ИК-сигнал с пульта дистанционного управления, лампочка загорится. Включение электрической лампочки осуществляется путем включения симистора, когда напряжение сети пересекает нулевую точку. Это обнаруживается с помощью детектора пересечения нуля, сформированного с помощью R3 и C6.

Если мы включим симистор сразу после обнаружения» нуля», он включит свет на полную мощность. Если мы задержим срабатывание симистора на некоторое время, то сможем эффективно выполнить диммирование (затемнение), так как напряжение, появляющееся на выходе, меньше напряжения питания.

Если мы посмотрим на принципиальную (часть источника питания) мы можем увидеть, что когда симистор включается, то он замыкает наш бестрансформаторный источник питания. В этот момент вся цепь питается от конденсатора С3. Он должен быть достаточно большим, чтобы поддерживать достаточную мощность для TSOP (~5 мА), микроконтроллера (< 1 мА) и MOC3023 (~ 5 мА, но только в течение нескольких микросекунд). Поэтому здесь желательно поставить конденсатор С3 большой емкости: 220 мкФ / 330 мкФ / 470 мкФ.

Если мы будем держать свет включенным на полную яркость, он в конечном итоге полностью разрядит C3 и перезапустит микроконтроллер PIC. Вот программа микроконтроллера не включает свет на полную яркость — мы на самом деле немного задерживаем срабатывание симистора, чтобы «украсть» достаточно энергии, чтобы держать наш конденсатор C3 заряженным. Так что 100 % на самом деле больше похоже на 99 %.

Нагрев резистора R1

Одной из проблем этого устройства является возможный нагрев резистора R1. Это естественно для предотвращения пускового тока, который может разрушить конденсатор C1. Когда устройство загорается на полную яркость, форма волны выглядит примерно так (обратите внимание на задержку с перехватом энергии, чтобы мы могли держать C3 заряженным).

Во время максимальной яркости конденсатор C1 в бестрансформаторном источнике питания сохраняет небольшое количество энергии. Поэтому, когда симистор замыкает накоротко C1 через R1 и стабилитрон ZD1, вся эта энергия рассеивается на резисторе R1. К счастью, этой энергии не так много, поэтому R1 даже не греется. Проблемы начинают возникать, когда энергия, накопленная в C1, является значительной, например, когда устройство затемняет лампочку:

Как видно из диаграммы, количество энергии в C1 — это то, что требует нашего внимания. Когда срабатывает симистор, все, что рассеивается на нашем бедном R1 должно хорошо отводиться. Большие значения сопротивления R1 будут рассеивать больше тепла, но при этом C1 будет работать в комфортных условиях, а более низкие значения сопротивления R1 означают меньше тепла, но C1 начнет гудеть как сумасшедший.

Решение проблемы — использовать C1 с меньшей емкостью (чтобы он не мог удерживать слишком много энергии, но ее было бы достаточно для питания нашего устройства) и использовать правильное значение сопротивления R1. Я определил, что использование резистора R1 с сопротивлением 220…680 Ом и конденсатора C1 емкостью 0,22 мкФ является оптимальным решением.

Подключение устройства:

Дистанционный регулятор освещенности на микроконтроллере PIC12F629 / PIC12F675 схема подключения

Руководство пользователя

После правильного подключения диммера и включения питания вам необходимо запрограммировать кнопки пульта дистанционного управления.

Вот как выполняется программирование диммера:

Нажмите и удерживайте настенную кнопку в течение 11 секунд, для того чтобы диммер мог войти в режим программирования. По истечении этих 11 секунд светодиод LED начнет быстро мигать, и свет погаснет до третьего уровня. Теперь у вас есть 11 секунд, чтобы завершить последовательность программирования:

  1. нажмите первую кнопку на пульте дистанционного управления, которая будет использоваться за увеличение уровня освещенности или включение свет, когда он выключен (ON / UP)
  2. нажмите вторую кнопку на пульте дистанционного управления, которая будет использоваться для уменьшения уровня освещения (DOWN)
  3. нажмите третью кнопку, которая будет использоваться для включения / выключения режима сна (SLEEP)
  4. наконец, нажмите четвертую кнопку, которая будет использоваться для полного выключения света (OFF)

Во время программирования лампочка и светодиод будут мигать, подтверждая прием ИК-кода. Если на вашем пульте дистанционного управления нет всех 4 кнопок, которые вы можете использовать, вы можете повторить предыдущие кнопки, но это отключит некоторые функции.

Например, если на вашем пульте дистанционного управления есть только две кнопки (A и B), и если во время программирования вы нажмете: AAAB, то это означает, что кнопка A будет использоваться для функции ВКЛ / ВВЕРХ (шаг 1), а кнопка B будет использоваться для полного выключения света (шаг 4).

Если вы выберете комбинацию ABBB, это означает, что кнопка A будет снова использоваться для функции ON/UP (шаг 1), а кнопка B будет использоваться для уменьшения уровня освещенности (шаг 2). При этом кнопка B также полностью выключит свет за 10 нажатий — до нулевого уровня.

Примечание по программированию: если во время программирования вы заметили, что светодиод мигает, даже если вы не нажимаете никаких кнопок на пульте дистанционного управления, вероятно, это связано с тем, что вы использовали модуль приемника TSOP11xx. В этом случае вы, вероятно, не сможете правильно запрограммировать свой диммер, поэтому замените его тем, что рекомендовано на схемах.

Таймер

Таймер сна может быть активирован чуть более длительным нажатием настенной кнопки (если быть точным более 1,8 сек) или нажатием соответствующей кнопки на пульте дистанционного управления. Отмена таймера сна выполняется так же, как и активация. Когда таймер сна активен, можно увеличивать / уменьшать уровень освещенности.

Диммер автоматически установит уровень освещенности на шесть (6) при переходе в спящий режим, но только если предыдущий уровень был больше 6.

Внимание! Это устройство подключается к сети и не имеет гальванической развязки с ней, поэтому требует большого внимания. Если вы не уверены в том, что делаете, лучше доверьте установку опытному электрику. Несмотря на то, что это устройство работает от 5 В постоянного тока, при подключении к сети оно все равно может ударить вас током, если вы дотронетесь до любой его части!

Скачать файл проекта (32,6 KiB, скачано: 50)

Источник

Добавить комментарий

Ваш электронный адрес не будет опубликован.


*