Автомат освещения

Автомат освещения

Данный прибор на основе датчика освещённости и ИК-датчика позволяет автоматизировать процесс коммутации освещения, что ведёт к экономии электроэнергии.  

Рис. 1 Схема автомата освещения

На рисунке 1 изображена схема автомата освещения. Ядром схемы является микроконтроллер PIC16F628A. Схема подключения нагрузки в виде лампы изображена на рисунке 2. На рисунке 3 изображена структура прибора. Алгоритм управления прибором с помощью кнопки изображен на рисунке 4. Код программы написан на языке ассемблер, смотреть листинг AL16F628ATEMP.ASM. Прибор управляется одной кнопкой. Нажатием на кнопку добиваются последовательной смены режимов работы прибора. Для визуального отображения информации служит дисплей со встроенным контроллером.

Рис. 2 Схема подключения нагрузки в виде лампы

Полный цикл внутрисхемного программирования и отладки микроконтроллера PIC16F628A был осуществлён при помощи MPLAB IDE v8.15 (интегрированная среде разработки), компилятор MPASM v5.22 (входит в MPLAB IDE v8.15)  и  MPLAB ICD 2 (внутрисхемный отладчик – «Дебагер»). Для тех, кто не располагает средствами приведёнными выше, а имеет свою программу для работы с HEX файлами и иной программатор, можно в соответствующем проекте найти файл 16F628ATEMP.HEX. Техническую спецификацию микроконтроллера можно найти на сайте [1] и [2].

Рис. 3 Структура прибора

Микроконтроллер DD1 имеет функциональные выводы RA0, AN1, VREF, RA3, RB0 – RB7, CCP1, которые служат для ввода и вывода информации. Микроконтроллер DD1 не имеет функции принудительного сброса, вывод для сброса подключен через резистор R6 к положительному потенциалу питания. Для генерации тактовой частоты используется встроенный RC-генератор на кристалле.

Рис. 4 Алгоритм управления прибором с помощью кнопки

С помощью интегрированных компараторов (в данном случае используется один) и ИОН в микроконтроллер реализована возможность пошагового измерения напряжения по условной 17 бальной шкале. К входу компаратора AN1 подключается  фоторезистор R1 и резистор R2. Второй вход компаратора подключен к ИОН – VREF. При пошаговой настройке ИОН от 1.25 В до 3.594 В происходит сравнение напряжение между R1, R2 и VREF. Принимает значение 00 – (V → 0 В, 1.25 В], принимает значения от 01 до 15 – (1.25 В, 3.594 В], принимает значение 16 – (3.594 В, V → 5 В ). Где V – потенциал между R1 и R2 (т.е. на AN1).

Фото 1

Стоит отметить, что датчик освещённости (фоторезистор) подключается к прибору через розетку XS1 и вилку XP1. (Фото 1) Датчик освещённости следует располагать около окна (источник естественного света). Будет лучше, если чувствительная к свету часть датчика освещенности будет направлена на подоконник или стену, для измерения не прямых лучей от солнца или источника света, а отраженных.

При настройки прибора в тёмное время суток измеряется пороговое значение напряжения при котором свет включается, на дисплее отображается информация о настройке «D[02]», D – Dark. При настройки прибора в светлое время суток измеряется пороговое значение напряжения при котором свет выключается, на дисплее отображается информация о настройке «L[12]», L – Light. Значения в тёмное время суток должно быть меньше чем в светлое время суток. Из описанного примера настройки датчика освещённости следует, что логическая «1» будет когда измеряемое условное значение освещённости примет значение от 00 до 02, а логический «0» – от 12 до 16. При промежуточных значениях от 03 до 11 прибор не изменяет логику датчика освещённости, это нужно для того чтобы осветительный прибор, который при включении добавил освещённость в комнате не повлиял на логику и наоборот, т.е. при выключении осветительного прибора.

ИК-датчик состоит из ИК-излучателя (ИК-диод) и ИК-приёмника они подключаются к прибору через розетку XS2 и вилку XP2 и служит для бесконтактного детектирования перемещения тела. (Фото 2)

К выводу RA0 через токоограничивающий резистор R4 подключен ИК-приёмник DA1 [3]. В пассивном состоянии цепи ввода информации резистор R3 имитирует низкий логический уровень.

Фото 2

К выводу CCP1 (аппаратная реализация ШИМ, частота 38.15 кГц, скважность 2), который генерирует несущею частоту ИК-излучателя подключен затвор полевого транзистора VT1 [4]. К стоку полевого транзистора VT1 через токоограничивающий резистор R5 подключен ИК-диод  с длиной волны 940 нм.

Так как ИК-датчик работает на отражение, то устанавливает логическую «1» когда ИК-приёмник DA1 детектирует отраженный от тела луч ИК-диода VD1, в противном случае устанавливается логический «0».

Для расширения возможностей прибора при детектировании ИК-датчиком существует возможность удерживать определённое время установленный ИК-датчиком логический уровень (удерживать логическую «1»). Для этого служит функция P[x], P-Pause.

  1.  P[D]* – логический уровень заданный ИК-датчиком после детектирования удерживается 1 секунду. Следовательно, возможная последовательность детектирования 1 секунда и больше.
  2. P[E]** – логический уровень заданный ИК-датчиком после детектирования удерживается 1 минуту. Следовательно, возможная последовательность детектирования 1 минута и больше.

Для того, чтобы формируемая ИК-датчиком смена логики задавала поочерёдно два устойчивых состояния реализована функция триггера T[x], T-Trigger. Например, если установить ИК-датчик в дверном проходе, будет фиксироваться прохождение человека между комнатами. Таким образом, при входе в комнату устанавливается логическая «1» (осветительный прибор включается), при выходе устанавливается логический «0»  (осветительный прибор выключается). Бессмысленно включать триггер, когда в помещении перемещаются несколько человек.

  1. T[D]* – триггер выключен.
  2. T[E]** – триггер включен.

Для сравнения логических состояний от датчика освещенности и ИК-датчика служит функция F[xxx], F-Function. Функция может принимать четыре значения.

  1. F[OFF]- функция отключена. Логические данные от датчика освещенности и ИК-датчика не влияют на ключ. Коммутировать нагрузку можно только вручную, инвертируя логику на выводе RB2 кратковременным нажатием на кнопку SB1.  
  2. F[OR]- функция «ИЛИ», результат логической операции формируется на выводе RB2***.
  3. F[XOR]- функция «Исключающие ИЛИ», результат логической операции формируется на выводе RB2***.
  4. F[AND]- функция «И», результат логической операции формируется на выводе RB2***.

Формированием логики на выводе RB2 добиваются открытия или закрытия твердотельного реле U1[5], который включает и выключает подключенный к клеммнику X1 осветительный прибор. Твердотельное реле U1 может коммутировать нагрузку при переменном напряжении 48-530 В и максимальном токе 3 А (рабочая температура твердотельного реле U1 не должна превышать +60 °С). Логический уровень на выводе RB2 отображается на дисплее, K[x], K-Key.

  1. K[D]*- логический «0», ключ выключен (осветительный прибор выключен).      
  2. K[E]**- логическая «1», ключ включен (осветительный прибор включен).      

*x[D], D-Disable.

**x[E], E-Enable.

***Стоит обратить внимание на то, что инвертировать логику на выводе RB2 можно принудительно кратковременно нажимая на кнопку SB1. После нажатия кнопки SB1 изменённая логика на RB2 удерживается до тех пор пока не сравняется с логикой функции, затем прибор задаёт логический уровень сформированный функцией, т.е. переходит в обычный режим работы (который был до кратковременного нажатия кнопки).

К выводу RA3 через токоограничивающий резистор R11 подключена тактовая кнопка SB1. В отжатом положении тактовой кнопки SB1 резистор R12 имитирует низкий логический уровень. Микроконтроллер DD1 распознаёт три состояния тактовой кнопки SB1:

  1. не нажата;
  2. нажата кратковременно (менее 1 с);
  3. нажата и удерживается (более 1 с).

Изображение на дисплее помогает различать состояния тактовой кнопки SB1. Так при 1 состоянии микроконтроллер выполняет инструкции не связанные с нажатием кнопки, при 2 состоянии происходит выполнение настройки, которые выделены квадратными скобками пока микроконтроллер не распознает 3 состояние, а в 3 состоянии дисплей изображает следующие настраиваемое состояние квадратными скобками.

Для отображения информации используется жидкокристаллический дисплей HG1. Техническую спецификацию дисплея можно найти на сайте [6].  Он имеет контроллер, в котором реализована функция знакогенерации. Отображает две строки по шестнадцать символов в каждой. Управление дисплеем осуществляется через выводы микроконтроллера RB0, RB1, RB4 – RB7. Загрузка данных происходит полубайтами, через выводы RB4 – RB7. «Защёлка» – RB1.  Выбор регистра сигнала формируем на выводе RB0. Резисторами R7 и R8 устанавливаем контрастность дисплея HG1. Подсветка дисплея подключена к питанию через токоограничивающий резистор R9. Дисплей HG1 прикручивается к плате 3 x 15 мм латунными стойками и 3 x 6 мм винтами.

Прибор запитывается от переменного или постоянного источника напряжения, подключаемого к разъему X2. Номинальное напряжение источника питания 9 – 15 В.  Номинальный ток источника питания 1 А. Для стабилизации питания используется обычная схема из диодного моста VD2, линейного стабилизатора DA2, фильтрующих конденсаторов C1 – C6.

Прибор может эксплуатироваться в диапазоне температур от –20 °С до +60 °С.

Микроконтроллер запрограммирован таким образом, что имеет семь рабочих состояний.

  1. При включении прибора происходит чтение энергонезависимой памяти данных EEPROM, где происходит выгрузка данных настроек (по умолчанию D(00), L(16), P(D), T(D), F(OFF), K[D]). Прибор переходит в основное рабочее состояние, т.е. 2.
  2. Прибор выводит на дисплее выделяемую квадратными скобками область над которой он работает. В данном случае это ключ. Помимо этого прибор выполняет настроенные функции, которые приводят к коммутации ключа. Вовремя работы на дисплее отображается состояние ключа (K[D]-выключен, K[E]-включен) ****. После кратковременного нажатия тактовой кнопки прибор принудительно инвертирует логику ключа и удерживает её до тех пор, пока установленный логический уровень не сравняется с логическим уровнем в результате выполнения логической функции. Если тактовая кнопка нажата и удерживается более 1 с, то прибор переходит в состояние где происходит настройка датчика освещённости в тёмное время суток, т.е. 3. (Фото 3)
  3. Фото 3

  4. Прибор выводит на дисплее выделяемую квадратными скобками область над которой он работает. В данном случае это настройка датчика освещенности в тёмное время суток. После кратковременного нажатия тактовой кнопки прибор измеряет уровень освещённости и выводит его на дисплей. Если тактовая кнопка нажата и удерживается более 1 с, то прибор переходит в состояние где происходит настройка датчика освещённости в светлое время суток, т.е. 4. (Фото 4)
  5. Фото 4

  6. Прибор выводит на дисплее выделяемую квадратными скобками область над которой он работает. В данном случае это настройка датчика освещенности в светлое время суток. После кратковременного нажатия тактовой кнопки прибор измеряет уровень освещённости и выводит его на дисплей. Если тактовая кнопка нажата и удерживается более 1 с, то прибор переходит в состояние где происходит настройка паузы логики ИК-датчика, т.е. 5. (Фото 5)
  7. Фото 5

  8. Прибор выводит на дисплее выделяемую квадратными скобками область над которой он работает. В данном случае это настройка паузы логики ИК-датчика. После кратковременного нажатия тактовой кнопки прибор включает или выключает паузу логики ИК-датчика. Если тактовая кнопка нажата и удерживается более 1 с, то прибор переходит в состояние где происходит настройка триггера ИК-датчика, т.е. 6. (Фото 6)
  9. Фото 6

  10. Прибор выводит на дисплее выделяемую квадратными скобками область над которой он работает. В данном случае это настройка триггера ИК-датчика. После кратковременного нажатия тактовой кнопки прибор включает или выключает триггер ИК-датчика. Если тактовая кнопка нажата и удерживается более 1 с, то прибор переходит в состояние где происходит настройка логической функции, т.е. 7. (Фото 7)
  11. Фото 7

  12. Прибор выводит на дисплее выделяемую квадратными скобками область над которой он работает. В данном случае это настройка логической функции. После кратковременного нажатия тактовой кнопки прибор последовательно выбирает логическую функцию. Если тактовая кнопка нажата и удерживается более 1 с, то прибор сохраняет настройки в энергонезависимой EEPROM памяти и переходит в основное рабочее состояние, т.е. 2. (Фото 8)
  13. Фото 8

****При включении прибора состояние ключа индицируется как не активное (K[D]) даже если ключ включен до тех пор, пока не произойдёт смена логики в результате логической операции или кратковременного нажатия кнопки (конечно, это можно рассмотреть как недоработку, но так работает прибор). 

Файлы для изготовления печатной платы смотреть в папке [Board]. Печатная плата и расположение деталей изображены на рисунке 5.

Рис.5 Печатная плата и расположение деталей

В данном устройстве можно заменить следующие детали. Микроконтроллер  DD1 из серии PIC16F628A-I/P-xxx с рабочей тактовой частотой 20 МГц в корпусе DIP18. Дисплей HG1 подойдет любой из серии WH1602x. Фоторезистор R1 аналогичный указанному на схеме, при подборке резистора R2 его сопротивление должно быть не больше 10 кОм. ИК-приёмник DA1 детектирующий несущую частоту ИК-луча 38 кГц TSOP31238.

Стабилизатор напряжения DA2 отечественный КР142ЕН5А (5 В, 1.5 А). Полевой MOSFET транзистор VT1 (N-канал) в корпусе I-Pak (TO-251AA), подойдёт аналог номинала указанного на схеме. Твёрдотельное реле U1 можно найти аналогичное в крайнем случае заменить на CX240D5 с другими характеристиками. ИК-диод  VD1 с длиной волны 940 – 960 нм. Диодный мост VD2 можно применить любой из серии 2Wxx. Угловые вилки XP1 и XP2 с шагом контактов 2.54 мм. Разъём питания X2 аналогичный указанному на схеме с центральным контактом d=2.1 мм. Неполярные конденсаторы С1-С3 и C6 номиналом 0.01 – 0.47 µF x 50 V. Электролитические конденсаторы С4 и С5 ёмкостной номинал тот же, а напряжение не ниже указанного на схеме.

Скачать исходник asm, прошивку и печатную плату в формате Sprint-Layout

Автор: Ковалев Антон Юрьевич


Категория: Домашняя электроника

Написать коментарий

*
= 5 + 8

Добавить изображение

Последние статьи