Слегка интеллектуальный сигнализатор розлива воды на PIC12F675
Автор: VasiliyR В Интернете есть много подобных схем на различной элементной базе, искав что то подобное наткнулся на статью Крушневича С.П. «Радио» ’11 (https://sergeyk.kiev.ua/microcontrollers/water_sensor/). Почерпнул много интересного и полезного, но собиря свое устройство решил все же немного поменять исходную конструкцию. Изменения были в части реализации схемы подключения кнопки к порту GP3 и реализации контроля за зарядом батареи, что для данного устройства думаю что необходимо. Так же нет необходимости подключать звукоизлучатель со встроенным генератором - подойдет и пьезоизлучатель и динамическая головка. Принципиальная схема выглядит следующим образом: На передней панели устройства есть только светодиод и кнопка. Для реализации контроля за зарядом батареи к входу GP4 подключенному к каналу №3 АЦП подключен ИОН MCP1525 (можно в принципе заменить и стабилитроном). При снижении напряжения питания ниже 2,9 В (настраивается программно) устройство один раз в несколько секунд выдает прерывистый звуковой сигнал. Принцип измерения напряжения питания есть в аппнотах микрочипа, приводить его здесь нет смысла. Алгоритм работы следующий: При подаче питания на устройство контроллер настраивает периферию и переходит в режим ожидания. По переполнению WDT происходит выход из режима Sleep и проверяется сигнал от датчика и напряжение батареи. Если все параметры в норме то контроллер опять переходит в режим Sleep. При замыкании контактов датчика светодиод начинает мигать с периодичностью 1 раз в секунду и производится опрос датчика в течении 10 секунд (делается 10 выборок), если на всех 10 выборках есть сигнал о заливе датчика то зажигается светодиод HL1 и выдается непрерывный звуковой сигнал. Если хоть одна выборка покажет отсутствие сигнала от датчика то контроллер опять переходит в режим Sleep и цикл продолжается (т.е. как бы ложное срабатывание). Квитирование сигнала о заливе производится нажатием кнопки S1 на передней панели устройства. При этом контроллер начинает непрерывно контролировать сигнал с датчика (при этом светодиод HL1 мигает несколько раз в секунду). Если в течении 10 секунд датчик не будет выдавать сигнал о заливе (т.е. контакты высохли) то контроллер переходит в основной цикл (режим ожидания). Ну вот как то так вкратце. К порту GP2 подключена оптопара для последующего подключения устройства к чему нибудь. Например к устройству отключающему воду в квартире. Простор для фантазии тут неограничен. Устройство было собрано на макетной плате и питается от трех батареек AAA. Светодиод обычный красный, яркий. Пьезоизлучатель позаимствован из будильника. Программа для контроллера написана на MikroC. Проект с исходниками и прошивкой находится здесь.
Файлы: Все вопросы в Форум.
|
|
|||||||||||||||
|
||||