Идея управления многозоновым пейджером возникла у меня давно и вот по какой причине. Дело в том, что в моём автомобиле установлена связка из нескольких устройств: охранный комплекс (сигналка GUARD), устройство запуска двигателя (автозапуск Абсолют ARS-201b) и система оповещения (пейджер REEF RP-100). Плюсом такой связки было то, что покупалось и устанавливалось всё это постепенно, поэтому по карману било не сильно. И хотя такой «комбайн» в процессе эксплуатации показал себя только с положительной стороны, на этом его плюсы и заканчивались. Основной недостаток по сравнению с готовыми решениями, когда охранный комплекс сочетает в себе двустороннюю связь и систему автозапуска, заключался в неполноценной двусторонней связи. А именно, модуль автозапуска не мог заставить пейджер отослать сообщение об успешном, либо неуспешном запуске двигателя. Более того, охранный комплекс GUARD при получении от брелка команды на активацию допканала (допканалом подаётся сигнал на автозапуск, побуждающий устройство к работе), не уведомлял пейджером об успешном выполнении команды на активацию допканала. Таким образом, создавались ситуации, при которых я не мог знать:
Эти моменты досаждали, особенно если автомобиль был вне зоны прямой видимости и контролировать удачность дистанционного запуска двигателя визуально было невозможно.
Смущало ещё и то, что автозапуском не осуществлялся контроль давления масла в масляной магистрали.
Данные факты навеяли на мысль о создании микроконтроллерного устройства, задачами которого были бы:
При этом, в качестве системы уведомления, была идея использования многозонового автомобильного пейджера, манипулируя стандартными командами (снятие/постановка/предупреждение) и в некоторых случаях сиреной.
Результатом моих трудов стало компактное микроконтроллерное устройство, которое успешно справляется с поставленными задачами, схема которого приведена на рисунке 1.
Основной элемент схемы - доступный и недорогой микроконтроллер PIC12F629 фирмы Microchip. Как и любому другому микроконтроллеру, для его работы необходима определённая последовательность команд (алгоритм), откомпилированная в машинный код и зашитая в программную память. Алгоритм был написан на Ассемблере и, хотя его отладка заняла довольно продолжительное время, он всё же далёк от совершенства, поэтому со временем алгоритм я скорее всего немного усовершенствую. Тем не менее, алгоритм в представленном виде полностью функционален и вполне пригоден для использования. Исходник (asm) и прошивка (hex) прилагаются в архиве.
Схема подключения устройства приведена на рисунке 2.Печатная плата изготавливается по Лазерно-Утюжной Технологии (ЛУТ). Разводка печатной платы приведена на рисунке 3.
Фото готового устройства приведено на рисунке 4.
Устройство работает следующим образом. При получении сигналкой команды брелка на запуск двигателя, устройство выдаёт на передатчик пейджера команду «снят» и три коротких импульса на сирену. Далее устройство начинает отслеживать работу автозапуска. Если автозапуск не приступил к процедуре запуска двигателя (автозапуск выключен), то устройство выдаёт на передатчик пейджера команду «предупреждение» и два коротких импульса на сирену. Если автозапуск успешно запустил двигатель, то устройство выдаёт на передатчик пейджера команду «взят» и один короткий импульс на сирену. Если по истечении трёх попыток двигатель не завёлся, то устройство выдаёт на передатчик пейджера команду «тревога низшего приоритета» и пять коротких импульсов на сирену. После успешно отработанного цикла прогрева и остановки двигателя, устройство выдаёт на передатчик пейджера команду «предупреждение» и два коротких импульса на сирену. При активации функции «поддержка зажигания» сигналы сиреной не подаются, а на передатчик пейджера отсылается всего одна команда «снят». Если автозапуск начал процедуру запуска не от команды брелка, а от внутренних событий (сработал термостат по снижению температуры, истёк интервальный таймер, либо истёк суточный таймер), то сигналы сиреной не подаются, а подаются только сигналы на пейджер. Во всех случаях в течение всего времени работы двигателя под управлением автозапуска производится контроль за давлением масла и в случае падения давления выдаётся на автозапуск сигнал к аварийному останову двигателя, а на передатчик пейджера команда «тревога низшего приоритета» и пять коротких импульсов на сирену.
Возможные комбинации сигналов и причины их возникновения сведены в следующую таблицу:
Сигнал пейджера | Количество импульсов сирены | Причина |
снят | три | Получена команда с брелока на дистанционный запуск двигателя |
предупреждение | два |
|
взят | один | После получения команды с брелока произведён успешный запуск двигателя |
тревога низшего приоритета | пять |
|
снят | отсутствуют | Включена поддержка зажигания |
взят | отсутствуют | Двигатель завёлся по внутренним событиям (термостат, таймер) |
предупреждение | отсутствуют | После успешного запуска двигателя по внутренним событиям двигатель заглох или двигатель остановлен по истечении времени работы |
тревога низшего приоритета | отсутствуют | После успешного запуска двигателя по внутренним событиям включилась лампа аварийного снижения давления масла |
Несколько моментов о подключении.
Правильно собранное устройство в настройке не нуждается и сразу работоспособно.
Обновление от 22.10.2012: В ходе продолжительной эксплуатации было обнаружено, что изредка устройство зависает и не реагирует ни на что. Приходилось его сбрасывать путём отключения минусовой клеммы аккумулятора в подкапотном пространстве. Другого способа его рестартовать не было, т.к. само устройство было довольно глубоко спрятано в недрах салона. После третьего рестарта за зиму мне это надоело и я немного подкорректировал прошивку введя в алгоритм работы микроконтроллера специальный таймер WDT - Watch Dog Timer (сторожевой пёс). Теперь, в случае зависания микроконтроллера, он автоматически выполняет перезагрузку. В обновлённом архиве присутствует новый исходник и прошивка микроконтроллера с пометкой wdt. Также, в схему устройства добавил один подтягивающий резистор R4. Разводку печатной платы не правил.
Обновление от 30.10.2012: Внесены изменения в схему. Добавлен защитный диод VD6 и убран из схемы "com" вывод микросхемы IC2 (девятая ножка). Изменения связаны с тем, что конкретно мой автопейджер подключен к автономному питанию, а при включении стартера происходит сильная просадка напряжения в бортовой сети автомобиля, что из-за появляющейся разности потенциалов автономной батареи пейджера и аккумулятора автомобиля ведёт к открыванию внутренних защитных диодов микросхемы IC2 и сработке автопейджера с выдачей тревожного сигнала. Разводку печатной платы не правил. Изменения на плате производятся путём перерезания дорожки идущей от девятой ножки IC2 и подпайке защитного диода к реле №2 согласно схеме.
[НАЗАД][мои проекты]