Предыдущая Следующая

Реакция на открытие дверей фиксируется датчиками Холла 0X1 и 0X2. Как только датчик попадает в магнитное поле, выходной транзистор датчика замыкается на "землю". На выходах микроконтроллера во время конфигурирования портов резисторы подтягиваются программой к "плюсу" питания. В результате выходной транзистор датчика Холла нагружен резистором порта микроконтроллера. Микроконтроллер отслеживает уровень напряжения на входе порта. Когда датчик Холла не активирован, выходной транзистор размыкает цепь и на входе порта микроконтроллера появляется единичный уровень.

86

Глава 4

Рис. 4.4. Принципиальная схема устройства управления освещением

Микроконтроллер управляет включением ламп через порт РВО. При единичном уровне на РВ1 или РВ2 включается светодиод LED1 и опто-пара OKI (выполняет роль гальванической развязки и по сигналу мик-

Автоматическое освещение шкафа

87

роконтроллера включает семистор Т1). Семистор Т1 подает питание 220 В на лампу освещения. Для того чтобы при включении лампы не возникало помех в сети, установлен фильтрующий конденсатор СЗ. Если ламп несколько, то они подключаются параллельно контактам LSP1 и LSP2. При этом суммарная мощность не должна превышать 40 Вт.

Программа

Блок-схема алгоритма работы устройства показана на рис. 4.5.

Рис. 4.5. Алгоритм работы устройства управления освещением

В начале программы конфигурируются порты. В случае с однодверным шкафом датчик Холла 2 задается, как постоянно активный. Как только программа опознала количество дверей, опрашиваются датчики Холла. Для однодверного варианта активный датчик Холла — 0X1. На выходах РВ1--РВ4 подтягиваются резисторы нагрузки.

88

Глава 4

В режиме ожидания оба датчика Холла активны. По нулевому уровню на входах РВ1 и РВ2 программа определяет, что обе двери закрыты. Если один из датчиков перестает быть активным (на выходе датчика — единичный уровень), то программа переходит к этапу включения нагрузки, активизируется прерывание от таймера отсчета 30 минут, и по окончанию отсчета лампы отключаются.

Пока таймер работает независимо от микроконтроллера, программа реализует временную задержку 1 с. Если дверь закрыли, то лампа будет отключена, если же забыли закрыть, то таймер отключит лампу, отсчитав 30 минут. Для включения ламп достаточно закрыть и открыть дверь шкафа.

Отсчет таймера продолжается, даже если лампа выключена. Это необходимо для напоминания о пожарной безопасности. В том случае если дверь опять была открыта, лампа включится, однако таймер защиты уже отсчитает допустимое время эксплуатации и принудительно отключит лампу.

Для отсчета времени используется встроенный в микроконтроллер таймер. Поскольку его ресурс ограничен, то в программе используется коэффициент i, определяющий накопление полных циклов работы таймера. Как только коэффициент принимает необходимое значение, программа переходит к этапу отключения лампы.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz