АВТООДОМЕТР
Автор:
Нохрин С. (RA9WOF)
В
последнее время радиолюбителями-разработчиками всё чаще и чаще стали
применяться микроконтроллеры (МК) фирмы Microchip. Благодаря использованию МК разработчикам различных электронных
узлов и устройств удаётся реализовывать достаточно сложные и
многофункциональные устройства всего лишь с применением 3-4 микросхем (включая
МК). “Гибкость” таких устройств поражает – чтобы изменить некоторые функции,
или “подстроить” устройство под другие условия работы, зачастую достаточно
только подкорректировать программу МК без изменения схемы!!!
Занялся
изучением микроконтроллеров и Ваш покорный слуга. Как первый работоспособный
результат своих изысканий хочу предложить Вам разработанный мною Автоодометр.
Данное устройство представляет из себя
счётчик пройденного автомобилем расстояния (одометр) и основывается на
МК PIC16F84A.
Практически все функции в этом приборе, от подсчёта импульсов с датчика до
динамической индикации, обеспечиваются микроконтроллером. Схема устройства
представлена на Рис.1.
Рис.1
Думаю, что подробно
описывать представленную схему не стоит, так как она достаточно проста, но всё
же…
Устройство
обеспечивает следующие функции:
1.
Счёт пройденного расстояния
до 99999.9 км (6 разрядов индикатора)
2.
Счёт суточного пробега до
999.9 км (4 разряда индикатора + индикация символа “t”
в старшем (первом) разряде индикатора в режиме “Суточный”)
3.
Кнопка сброса показаний
счётчика суточного пробега “RESET”
4.
Кнопка переключения режимов
индикации Суточный/Общий “DSP” (с фиксацией)
5.
Сохранение в
энергонезависимую память данных обоих счётчиков в момент выключения питания
устройства.
6.
Автоматический режим
перезапуска программы МК в случае её “зависания”.
Работает
прибор следующим образом. При включении зажигания, на МК подаётся напряжение
питания с замка зажигания через диод VD1 и интегральный
стабилизатор DA1. Одновременно в обход диода через резистор R5 напряжение подаётся на вывод 13 (RB7)
МК, который выполняет функцию контроля за напряжением питания. Когда МК
включается, на выводе 12 (RB6) появляется лог.
1, которая открывает транзисторы VT1 и VT2. С этого момента питание схемы продолжается через цепочку
VT1-DA1. С оптического датчика (ИК-пара от
компьютерной “мышки”) импульсы поступают на формирователь (кстати можно
обойтись и без него – я пробовал) на транзисторе VT4
и далее на вывод 17 МК. МК считает импульсы и преобразует результат в
двоично-десятичный код на выводах 1,2,3,18 для подключения дешифратора КР514ИД2
(для индикаторов с общим анодом). Одновременно со всей этой работой происходит
опрос кнопок управления “RESET”, “DSP”
и вывода 13 МК. При нажатии на одну из кнопок МК переходит в соответствующий
режим: если нажата “RESET” - сбрасывается счётчик суточного пробега, если нажата “DSP” счётчик переходит в режим индикации суточного пробега.
Независимо от индицируемого режима работают оба счётчика.
Контроль
напряжения питания происходит следующим образом. При выключении зажигания на
выводе 13 МК пропадает напряжение (устройство продолжает питаться через
транзистор VT1 от аккумулятора а/м), и программа выполняет запись
содержимого счётчиков в EEPROM МК. По окончании записи на базу
транзистора VT2 подаётся лог. 0 и оба транзистора закрываются,
обесточивая всю схему.
Рис. 2
Узел
питания можно собрать и по схеме, приведённой на Рис. 2. Здесь всё происходит
точно так же как и в первом варианте, только схема упрощена за счёт
использования электромагнитного реле вместо транзистора VT1. Программа для МК используется та же.
Для себя
я предпочёл второй вариант как более простой и, соответственно более надёжный.
Обращаю Ваше внимание, что на момент публикации
устройство проверялось на работоспособность только в лабораторных условиях на
макетной плате.
Я не
стану здесь описывать работу программы, поскольку “ писатель” из меня
никудышный, да и это описание займёт слишком много времени и места. С
прилагаемым HEX файлом я
выкладываю и ASM файл с комментариями. Если у кого возникнут вопросы –
пишите, постараюсь на них ответить.
Микроконтроллер
для устройства следует выбирать со следующим обозначением на корпусе:
PIC16C84А-10E/P (автомобильное исполнение
(температурный диапазон и т.д.)
И на последок хочу уточнить, что данный вариант программы разрабатывался для а/м Москвич-412ИЭ и соответственно предварительный счётчик (реализованный программно) рассчитан на особенности механизма спидометра именно этого а/м.
Но
устройство можно адаптировать практически к любому транспортному средству
(включая велосипеды, мотоциклы и т.д. Короче ко всему, что имеет колёса). В прилагаемом варианте программы с датчика
подсчитывается 26 импульсов, после чего счётчик сотен метров (младший разряд
индикатора) увеличивается на 1 и цикл повторяется.
Здесь можно забрать файлы для программирования МК
ЛИТЕРАТУРА:
1.
Описания МК семейства PIC – micro (Datasheet)
2.
Журнал «Радио», №10, 2002 г.
стр. 26, статья «Экономичный многофункциональный частотомер»
Автор: А. Шарыпов, г. Владимир (оттуда я позаимствовал узел
питания для варианта 1).
Г. Уфа, 2004г.