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 ...Это может быть интересно
Audio-bluetooth modules BK8000L (noname)Views: 842 Еще один вариант, так сказать недоразумения Audio-bluetooth modules BK8000L (noname). Его отличительной маркировкой служат два отверстия в плате и надпись R2. Отличают его от модулей на чипе BK8000L, …
OLED RET012864E/REX012864JViews: 1593 RET012864E/REX012864J ОЛЕД индикатор производитель Raystar-Optronics приобретался в http://www.microchip.ua/ к сожалению никакой информации на сайте поставщика нет. Поэтому решил работу с этой версией индикатора на драйвере SSD1305 предоставить на своем сайте. Так как …
Самый простой индикатор уровня звукового сигналаViews: 6657 Демонстрационный проект создания индикаторов уровня с использованием WS2812B. Изучив этот проект вы сможете самостоятельно изготавливать и конструировать свои индикаторы уровня звукового сигнала. Дополнительно читайте статью Бегущие огни на …
MPLAB® Code Configurator and EncoderViews: 1627 Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора …
Просто о структурах и объединениях в СиViews: 2336 Какие задачи нам позволяют решать структуры и объединения? Для разработчика встроенных систем эффективность и компактность кода всегда на первом месте. Если программировании на Ассемблере ты сам определяешь как …
Проект с использованием MCC часть 16Views: 1289 Продолжим изучение EUSART. На этом этапе отработает передачи данных с ПК и получения эха. Для этого в основной цикл программы добавим код if(EUSART_DataReady) // проверим флаг готовности данных …
LATINO – открытый проект ch-светомузыкиViews: 1723 Проект построенный на некоторых принципах ch-светомузыка. Проект ознакомительный предназначен, для самостоятельного построения простого и эффективного светосинтезатора. Вывод осуществляется на ВОУ собранной на драйверах HL1606. Для этого была …
ch-светомузыка и AK4113Views: 1504 Пришло время вернуться к светомузыке. На сегодня использование аналогового входа стало непрактичным, на сегодня необходимо использовать S/PDIF и Toslink. С этим надо было как то разобрать, что это …
PIC18 – System ArbitrationViews: 735 Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый …
Проект с использованием MCC часть 15Views: 1721 EUSART – Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter, UART) — узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. … читать на вики. Внесем изменения в нашу схему, …





