Views: 1640
Реле управления освещением, датчик день-ночь – одним словом фотореле для управления освещением или формирования сигнала для системы умный дом о понижении или повышении освещенности относительно заданного уровня. Реле выполнено по классической схеме, конденсаторный блок питания, от сети переменного тока 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.
Первое это укажем заголовок по которому компилятор поймет какой контролер мы используем в проекте.
#include // для настройки под выбранный контроллер
Второе – настроим регистры конфигурации для нашего проекта.
//--------------------------------------------------------------------------- // конфигурирование контроллера __CONFIG( IOSCFS_8MHZ & // Тактовый генератор на 8 MHz MCPU_OFF & // Pull-up резистор отключен WDTE_ON & // Сторожевой таймер включен CP_ON & // Защита кода включена MCLRE_ON); // Вывод GP3/MCLR настроен на функцию MCLR //---------------------------------------------------------------------------
Далее опишем переменные которые будем использовать в проекте.
// Описание переменных char ustavka,uroven; // таймер формирующий длительность светового индикатора int timerBeep; // переменная формирующая период мигания светового индикатора
// определения
#define RELE GP2 // выход управления реле #define GISTER 20 //5 20 #define _XTAL_FREQ 8000000 // для __delay
Далее сам программа, на первом этапе конфигурируем порты ввода вывода
// сама программа
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++; //
}
//---------------------------------------------------------------------------
И главный цикл, в котором крутится сама программа.
//---------------------------------------------------------------------------
// главный цикл работы
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 только функция гистерезиса, монтировать джампер переключения режима работы не надо.
[wpdm_file id=22 template=”link-template-calltoaction3.php”]
Версия 2.0 добавлена функция таймера, задержка на включение и выключение 3,5 минуты. Джампер используется для выбора режима работы, если установлен – режим работы с таймером, если снят без таймера аналогичен версии 1.0. При снятом джампере использовать для настройки порога освещенности (если есть необходимость).
[wpdm_file id=23 template=”link-template-calltoaction3.php”]
Проект (MPLAB IDE v8.89, Microchip MPLAB XC8 C Compiler V1.12)
Сумеречное реле - проект (2013) 17.80 KB 84 downloads
2013 г MPLAB IDE v8.89 Microchip MPLAB XC8 C Compiler V1.12 ...Это может быть интересно
DIXELL XWEB500D-EVO + RUT900 или как пробить NAT-серверViews: 1154 Когда необходимо под какой нибудь контроллер имеющий вэб сервер в инет, то нужен статический IP, что оказалось проблемой при работе с операторами сотовых сетей, конкретно с оператором сети …
USB K-L-line адаптерViews: 4747 USB K-L-line адаптер предназначен для связи персонального компьютера с диагностической шиной автомобиля – интерфейс ISO-9141. Этот проект предназначен для сборки недорого устройства с использованием специально для этой цели …
Регулятор влажностиViews: 1360 Регулятор ILLISSI-CH-1000 предназначен для контроля и регулировки относительной влажности в диапазоне от 0 до 100%. Регулятор позволяет работать как в режиме осушения, так и увлажнения. Для измерения возможно …
Проект с использованием MCC часть 14Views: 1045 С выводом данных на дисплей мы справились (но могу сразу сказать библиотеку графики к этой статьи пришлось доработать, поэтому в этом проекте она обновлена). У нас на текущем …
Проект с использованием MCC часть 07Views: 1202 Модуль PWM – широтно импульсная модуляция (ШИМ). ПИК контроллеры часто на борту имеют модули ШИМ. На их основе строятся многие узлы управления электро приводами. В нашем варианте мы …
Контроллер управления светодиодным освещением с дистанционным управлениемViews: 2061 Все активнее светодиоды входят в нашу жизнь. Всё эффективнее становится светодиодное освещение. Всё ниже опускаются цены. Всё больше появляется возможностей получения сочных цветов, простоты в управлении. Всё чаще …
Ultrasonic Level Meters – ULM –53LViews: 779 Измерение расстояния при помощи ультра звукового датчика ULM–53L–10. Диапазон измерения от 0,5 м до 10 м, полностью пластмассовый излучатель PVDF, механическое соединение фланцем из полиэтилена HDPE (исполнение “N”) Характеристики …
Altium Designer first projectViews: 520 Эта статья подразумевает, что у вас установлен и настроен Altium Designer как описано в статье Altium Designer my setup system and project structure. Обратите внимание! Библиотека постоянно обновляется, …
Проект с использованием MCC часть 12-2Views: 1182 Настало время для изучения шины I2C. Изучать будем на примере работы с индикатором RET012864E. Что изменили со старой схемы: В прошлой теме я затупил и не добавил подтягивающие резисторы …
Система AT команд версии V2.0 для ESP8266 и ESP32Views: 13657 Появление нового модуля на базе ESP32 заставило систематизировать систему AT команд, а так же систему обновления и для модулей на базе ESP8266. Начиная с версии v2.0 в ESP8266 …





