
Реле управления освещением, датчик день-ночь – одним словом фотореле для управления освещением или формирования сигнала для системы умный дом о понижении или повышении освещенности относительно заданного уровня. Реле выполнено по классической схеме, конденсаторный блок питания, от сети переменного тока 220 вольт. Реле на 24 вольта – чтобы уменьшить ток потребления устройством. Все новшество заключается в применении PIC-контроллера. Это дало минимальное количество внешних компонентов, что ускоряет и упрощает сборку, а также дополнительные функции в работе.
Классическое реле на операционных усилителях в основном обеспечивают одну функцию это гистерезис включения ( и то не всегда). Контролер позволяет добавить еще пару функций которые необходимы в работе сумеречного реле.
Функция задержки включения и выключения освещения.
Если уровень освещенности понизился до уровня включения, в контроллере активируется таймер, например, на 2 минуты. После истечения времени если уровень освещенности соответствует уровню включения, то освещения включается, иначе ждем пока уровень освещенности не будет стабильно низким. Таймер позволяет например, избавиться от эффекта “автомобильных фар” – когда рекламщикам приходиться устанавливать датчик освещенности так, чтобы свет от автомобильного транспорта не выключал рекламу.
Функция экономии электроэнергии.
В наше время, это очень необходимый компонент. Пример на освещении рекламных щитов. Когда вечером включилась реклама, то реально она эффективна до полуночи. Потом резко эффективность падает – смотреть практически некому. Далее её необходимо включить под утро. Такое управление возможно более дорогими таймерами реального времени с датчиком освещенности. Но некоторую функцию мы можем и организовать и в нашем варианте. При включении освещения запускается таймер на 5 часов. По окончанию работы этого таймера освещение выключается. И запускается таймер ожидания на 5 часов. Естественно если это летний период, то реклама будет гореть только вечером, а зимой когда “утро еще темное” будет включаться еще и под утро. Эффективность такой работы приблизительно в 50% экономии потребляемой электроэнергии.
Ниже будут предоставлены прошивки программ для всех вариантов сумеречного реле, чтобы удовлетворить все вкусы.
Печатная плата.
приобрести в магазине Ворон.
Плата предназначена для монтажа в корпус
Полная схема. (На практике используется только частично)
Выход реле выполнено в виде “сухого” контакта, это сделано, что было можно применять данное устройство, для систем домашней автоматики (“Умного дома”).
Монтажная схема платы.
Обратите внимание!! на самой печатной плате ошибка в маркировке резистора R2 и C1 они перепутаны местами (на картинке маркировка исправлена).
Схема используемая для сборки проекта.
Схема элементарно проста, на один вход контроллера AN1 приходит напряжение с потенциометра, которым задается порог освещенности. На второй AN0 напряжение с делителя выполненного их фоторезистора и резистора R9. Программа контроллера сравнивает значение на этих входах и в зависимости от заложенной в ней логике управляет реле.
Перечень элементов необходимых для монтажа сумеречного реле.
Наименование | Типоразмер | Тип (замена) | Количество | Примечание |
Печатная плата | CH-SR_08 | 1 | ||
Печатная плата с микроконтроллером | 1 | версия 2.0 | ||
Фоторезистор | hole 2.54mm | GL3516 (любой аналогичный) | 1 | FR1 |
PIC-контроллер | SOT23-6 | PIC10F222 | 1 | PIC1 |
Потенциометр | smd | 3305SMD-20K | 1 | R5 |
Транзистор | SOT23 | BC847C (любой npn) | 1 | V1 |
Стабилитрон | DO41 | BZV85-C5V1 | 1 | Z2 |
Стабилитрон | DO41 | BZV85-C24V | 1 | Z1 |
Варистор | hole 5-7mm | FNR-05K391 (471) | 1 | RV2 |
Соединитель | hole 7.62mm | WJ-25C-4P (любой с шагом 76,2) | 1 | CON1 |
Конденсатор | hole 15mm | MKP X2 0.33uF 280V (0.47-0.22) | 1 | C3 |
Выпрямительный мост | HD10 (HD6-HD8) | 1 | BR1 | |
Электролитический конденсатор | 100,0x35v (100-330) | 2 | C2,C6 | |
Конденсатор керамический | 0805 | 0,1х50v (0,1-0,47) | 3 | C7,C8,C5 |
Конденсатор керамический | 0805 | 4.7x25v (1,0-10,0) | 1 | C4 |
Резистор | 0805 | 1к (680-1,6л) | 1 | R2 |
Резистор | 0805 | 10к (7,5-16к) | 2 | R1,R6,R10 |
Резистор | 0805 | 20к (18-24к) | 1 | R9 |
Резистор | 1206 | 100 (75-120) | 1 | R3 |
Резистор | 1206 | 2к (1,8-2,4к) | 1 | R11 |
Резистор | 1206 | 510к (680-1М) | 2 | R7,R8 |
Резистор | 0.5w | 51 (47-68Ом) | 1 | R4 |
Реле | JQC-3F | 1 | P1 | |
Выпрямительный диод | QuadroMELF | LS4148 | 1 | D1 |
Джампер | hole 2.54mm | JM-G | 1 | J1 |
Программа.
Рассмотрим составление программы для пик контроллера для самого простого типа сумеречного реле, только функция гистерезиса. Что такое гистерезис? Эта функция которая которая позволяет устранить хаотичное переключение исполнительного устройства в момент когда уровень измеряемого параметра близок или равен уровню задания. Поэтому к уровню задания вводиться дополнительный параметр который позволяет уровень включения и уровень выключения раздвинуть по шкале параметра. При этом включение освещения будет происходить при более низкой освещенности, а выключение при более высокой.
Построение программы на языке Си для компилятора Microchip MPLAB XC8 C Compiler V1.12.
Первое это укажем заголовок по которому компилятор поймет какой контролер мы используем в проекте.
1 |
#include // для настройки под выбранный контроллер |
Второе – настроим регистры конфигурации для нашего проекта.
1 2 3 4 5 6 7 8 9 |
//--------------------------------------------------------------------------- // конфигурирование контроллера __CONFIG( IOSCFS_8MHZ & // Тактовый генератор на 8 MHz MCPU_OFF & // Pull-up резистор отключен WDTE_ON & // Сторожевой таймер включен CP_ON & // Защита кода включена MCLRE_ON); // Вывод GP3/MCLR настроен на функцию MCLR //--------------------------------------------------------------------------- |
Далее опишем переменные которые будем использовать в проекте.
1 2 3 |
// Описание переменных char ustavka,uroven; // таймер формирующий длительность светового индикатора int timerBeep; // переменная формирующая период мигания светового индикатора |
// определения
1 2 3 |
#define RELE GP2 // выход управления реле #define GISTER 20 //5 20 #define _XTAL_FREQ 8000000 // для __delay |
Далее сам программа, на первом этапе конфигурируем порты ввода вывода
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
// сама программа void main(void) { // Настройка контроллера CLRWDT(); //сброс сторожевого таймера +++++++++++++++++++++- // загрузку калибровочной константы си берет на себя // обнуление порта (правда Си тоже это делает) GPIO=0; // настройка регистра OPTION OPTION=0b11001111; // |||||+++--- PS: настройка предделителя // ||||+------ PSA: пределитель подключен к сторожевому таймеру // |||+------- T0SE: счет по фронту импульса на входе T0CKI // ||+-------- T0CS: вход таймера подключен к внутренему генератору // |+--------- GPPU: подтягивающие резисторы на GP0, GP1, GP3 отключены // +---------- GPWU: побуждение по входам GP0, GP1, GP3 отключено // настройка портов ввода вывода TRISGPIO=0b11111011; // |||||||+--- GP0: вход // ||||||+---- GP1: вход // |||||+----- GP2: выход // ||||+------ GP3: вход // ++++------- не используются // настройка АЦП ADCON0=0b11000001; // |||||||+--- ADON: АЦП включен // ||||||+---- GO/DONE: статус и запуск конвертирования // ||||++----- CHS: АЦП подключен к входу GP0/AN0 // ||++------- не используются // |+--------- ANS0: вывод GP0/AN0 настроен как аналоговый // +---------- ANS1: вывод GP1/AN1 настроен как аналоговый CLRWDT(); //сброс сторожевого таймера +++++++++++++++++++++- //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- // задежка необходимая для заряда входной емкости фильтра // после подачи питания timerBeep++; // while(timerBeep) // { GO=1; // включить конвертирование while(GO); // ожидание окончания конвертирования timerBeep++; // } //--------------------------------------------------------------------------- |
И главный цикл, в котором крутится сама программа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
//--------------------------------------------------------------------------- // главный цикл работы while(1) { CLRWDT(); //сброс сторожевого таймера +++++++++++++++++++++- //-------------------------------------------------------------------- // измерение ADCON0=0b11000111; // выбрать вход 1 и включить конвертирование АЦП while(GO); // ожидание окончания конвертирования ustavka=ADRES; // задатчик уровня освещенности ADCON0=0b11000011; // выбрать вход 0 и включить конвертирование АЦП while(GO); // ожидание окончания конвертирования uroven=ADRES; // текущий уровень освещенности //-------------------------------------------------------------------- // сравнение и управление реле if (uroven<ustavka-gister) сравниваем="" полученное="" значение="" из="" АЦП="" {="" if="" (rele="=1)" rele="0;" наступил="" день="" }="" else="" (uroven="">ustavka+GISTER) // сравниваем полученное значение из АЦП { if (RELE==0) // { RELE=1; // наступила ночь } } } //--------------------------------------------------------------------------- } |
Фотографии проекта.
Файлы для загрузки
Версия 1.0 только функция гистерезиса, монтировать джампер переключения режима работы не надо.

Сумеречное реле - soom_rele_v1.0 0.38 KB 666 downloads
Версия 1,0 только функция гистерезиса, монтировать...Версия 2.0 добавлена функция таймера, задержка на включение и выключение 3,5 минуты. Джампер используется для выбора режима работы, если установлен – режим работы с таймером, если снят без таймера аналогичен версии 1.0. При снятом джампере использовать для настройки порога освещенности (если есть необходимость).

Сумеречное реле - soom_rele_v2.0 0.49 KB 696 downloads
Версия 2,0 добавлена функция таймера, задержка на...Проект (MPLAB IDE v8.89, Microchip MPLAB XC8 C Compiler V1.12)

Сумеречное реле - проект (2013) 17.80 KB 83 downloads
2013 г MPLAB IDE v8.89 Microchip MPLAB XC8 C Compiler V1.12 ...Это может быть интересно
PIC18 – System Arbitration
Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый из уровней …Acquaintance with audio-bluetooth modules F-6888 (BK3254).
Для проектов появилось необходимость познакомиться с недорогими модулями китайского производства, которые можно приобрести у нас в Украине и у китацев, на алиэкспрессе. Так как меня интересует не просто, как в …WiFi ESP8266 – AT команды связанные с функцией TCP/IP (v.1.6.1)
AT команды связанные с функцией TCP/IP В этом разделе описаны команды которые позволяют устанавливать соединения между серверами и клиентами в сети. Приведено описание команд и примеры их выполнения. Функции TCP/IP …MCC PIC24 – модуль OUTPUT COMPARE – режиме ШИМ
Во многих системах управления, для формирования управляющих сигналов требуется модуль ШИМ, он позволяет не только формировать импульсы заданной длительности, но и с применением обычного RC фильтра строить простые ЦАП. MCC …ESP8266 применение в проектах
(Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT команд. Все …Модуль CAN в микроконтроллерах PIC18
Введение CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований CAN 2.0B …MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC)
Введение MTouch ® Модуль Емкостной Библиотеки для MPLAB ® X Code Configurator (MCC) позволяет быстро и легко генерировать решение кода на Cи для емкостной сенсорной кнопки, датчика приближения и слайдера. В записи нет …Проект с использованием MCC часть 01
Для изучения MCC я выбрал простой контроллер PIC16F1509. Выбор его был обусловлен богатой новой периферией которую можно изучить. Для начала была собрана схема на макетной плате Внешний вид собранной схемы …AD9833 – Programmable Waveform Generator
Простой генератор звуковых частот на AD9833. Для тестирования БПФ в светомузыке мне нужен был генератор звуковых частот. Я использовал советский Г3-112, но он себя давно изжил. Все думал купить чёто такое …REFERENCE CLOCK OUTPUT MODULE
REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от конфигурации выводов …