Часы с автономным питанием для автомобиля

Часы собраны на двух микроконтроллерах (PIC12F675 и PIC16F628A) и цифровом светодиодном индикаторе. Питание от автономных источников обеспечивает длительную работу часов без необходимости их подключения к бортовой сети автомобиля.
Опубликовано немало радиолюбительских конструкций цифровых электронных часов (далее часов) с разнообразными функциями и возможностями, в том числе и на страницах журнала «Радио». Кажется заманчивым установить такие часы и в автомобиле, однако сложные условия эксплуатации значительно ограничивают их выбор. Например, малопригодными оказываются часы с применением жидкокристаллических индикаторов из-за ограниченного интервала температур и малого угла обзора. В статье предлагается конструкция простых часов с использованием динамической индикации на основе двух микроконтроллеров. Основное преимущество этих часов - сохранение функции счета и индикации без подключения к автомобильной аккумуляторной батарее. В часах всего две управляющие кнопки: включения индикации времени и коррекции хода. Предусмотрена защита от сбоя хода при случайном нажатии на кнопку коррекции. Безусловно, наличие таких часов не на много, но все же увеличат стоимость автомобиля при его продаже. Осуществляя выкуп автомобилей с пробегом, специалисты компании «Автоэкперт» обращают внимание, в том числе, и на техническое состояние авто, и на оснащение его дополнительным оборудованием. Благодаря десятилетнему опыту работы «Автоэкперта» на российском рынке и профессионализму его сотрудников сделка будет выгодной и честной.
Схема часов на семисегментном цифровом индикаторе HG1 с общим анодом (ОА) и двух микроконтроллерах (МК) DD1, DD2. О том, как применить индикатор с общим катодом (ОК), будет сказано ниже. Функции счета и индикации разделены между микроконтроллерами. С одним МК получить указанные выше преимущества автору не удалось. МК DD1 тактируется от встроенного генератора с частотой 32768 Гц, стабилизированной внешним кварцевым резонатором ZQ1, и питается от литиевого гальванического элемента G1 напряжением около 3 В. Работая на низкой тактовой частоте, МК потребляет небольшую мощность, что необходимо для длительной эксплуатации часов без замены питающего элемента. К МК DD2 предъявляются другие требования. Он должен обладать быстродействием, достаточным для управления светодиодным индикатором в динамическом режиме. Высокой стабильности тактовой частоты здесь не требуется, поэтому для тактирования Использован встроенный в МК генератор с частотой 4 МГц без подключения внешних элементов.
Питание +5 В на МК DD2 и светодиодный индикатор поступает от источника питания +9 В (на схеме не показан) через стабилизатор DA1 при нажатии на кнопку SB1, т. е. только когда требуется узнать текущее время. Это позволяет экономно расходовать энергию источника напряжения +9 В, а кратковременное включение индикации исключает «навязчивость» свечения индикатора в ночное время.
Транзисторы VT1 и VT2, во-первых, преобразуют логические уровни сигналов между микроконтроллерами из-за разности питающих напряжений, во-вторых, исключают подачу напряжения с выхода МК DD1 на узлы обесточенного М К DD2 через защитные диоды по входам. Кнопкой SB2 устанавливают точное время.
При подаче напряжения питания +3 В линия порта GP0 МК DD1 программно конфигурируется как выход, а линии GP1 и GP2 - как входы; к входам программно подключаются подтягивающие внутренние резисторы. Для счета времени использован встроенный таймер Т1. Программно он настраивается так, что с него каждую секунду поступает сигнал прерывания программы. Программа-обработчик прерывания формирует в ОЗУ значение текущего времени - часы и минуты. Обработчик прерывания при каждом включении проверяет и уровень сигнала на линии порта GP1. Уровень лог. О на нем означает, что МК DD2 включен и запрашивает передачу от МК DD1 значения текущего времени для последующей индикации. Получив этот запрос, на линии порта GP0 формируется последовательный код (две посылки по 9 бит) со значением текущего времени. Представление часов и минут в этих посылках двоично-десятичное. Девятый бит используется для различения посылок часов и минут. Выдача текущего времени в микроконтроллер DD2 после поступления от него запроса также снижает мощность, потребляемую от источника G1.
Перед каждой передачей в микроконтроллер DD2 кода времени программа микроконтроллера DD1 анализирует состояние кнопки SB2. Она используется для ручной установки точного времени по сигналам, передаваемым по радио, или по показаниям других часов. При нажатии на кнопку время корректируется до ближайшего полного часа. Значение минут всегда обнуляется; если оно меньше 30, значение часа остается без изменения. Если же число минут было больше или равно 30, к значению часа добавляется единица. Если кнопку продолжать держать нажатой, через каждую секунду к значению часа будет добавляться единица. Такая функция удобна для установки времени в часах, по каким-то причинам отключенным от питания или при переходе на летнее или зимнее время. Данный алгоритм обработки состояния кнопки SB2 уменьшает вероятность сбоя хода часов из-за случайного нажатия: корректировка возможна только при наличии сигнала запроса времени, т. е. при включении кнопкой SB1 индикации.
Программой микроконтроллера DD2, запускаемой, как уже сказано выше, кнопкой SB1, линии портов RAO - RA7, RBO, RB3 - RB7 настраиваются на выход, a RB1 - на вход. Этой же программой настраивается универсальный синхронно-асинхронный приемопередатчик USART (устанавливается скорость обмена, соответствующая скорости выдачи времени микроконтроллером DD1, признак асинхронного обмена и обмена с дополнительным девятым разрядом). После настройки USART запускается на прием, и на светодиодный индикатор HG1 в динамическом режиме выводится информация о времени, принятая из микроконтроллера DD1. С линий портов RB4 - RB7 DD1 поочередно (и циклически) поступают сигналы лог. 0, от которых открываются транзисторы VT3 - VT6, подключая поочередно к линии +5 В аноды четырех разрядов индикатора. С линий портов RAO - RA7 через токоограничительные резисторы R8 - R15 сигналы лог. 0 в семисегментном коде поступают на катоды элементов а - g индикатора. В сигналах содержится информация о значении времени для каждого разряда. Смена этой информации происходит также поочередно и в соответствии с подключением каждого анода к линии +5 В. Сигналом с линии порта RB3 включается двоеточие, разделяющее часы и минуты.
В качестве источника напряжения +9 В автор применил батарею «Крона». Возможно применение батареи из трех гальванических элементов типоразмера АА, соединенных последовательно, при этом стабилизатор DA1 следует исключить. Вместо микроконтроллера PIC12F675 можно применить PIC12F629 с той же программой. Индикатор GNQ-5642BS заменим другим светодиодным подобного типа с учетом возможного различия в цоколевке. Подойдут одно- и двухразрядные, если объединить их выводы соответствующим образом, а также индикаторы с ОК. Для индикаторов с ОК вносят следующие изменения:
- транзисторы VT3 - VT6 заменяют транзисторами структуры n-p-n, например, серии КТ315, их эмиттеры подключают к общему проводу, а не к линии питания +5 В;
- правый по схеме вывод резистора R12 отсоединяют от вывода элемента е индикатора и соединяют с линией +5 В;
- вывод элемента е напрямую соединяют с линией порта RA4 МК DD2.
В программу микроконтроллера DD2 вносят изменения, обеспечивающие инверсную подачу сигналов на базы транзисторов VT3 - VT6 и на резисторы R8 - R15. Исходный текст программы для микроконтроллера PIC12F675 и загрузочный код для него приведены в файлах A_Uhr_12F.asm и A_Uhr_12F.hex. Исходные тексты программы микроконтроллера PIC16F628A и загрузочные коды - в файлах ln_Din_OA_16F.asm, ln_Din_OA_16F.hex (с индикаторами с ОА), ln_Din_OK_16F.asm, ln_Din_OK_16F.hex (для индикаторов с ОК). В этих же файлах задана необходимая конфигурация каждого микроконтроллера.
Печатная плата не разрабатывалась. Транзисторы и резисторы для поверхностного монтажа смонтированы с обратной стороны платы. Оксидные конденсаторы С1, С5 - танталовые для поверхностного монтажа. Кнопки - любые тактовые. Кнопку корректировки времени следует применить с толкателем такой высоты, чтобы он минимально выступал над панелью часов. Это послужит дополнительной защитой от случайного нажатия. Чтобы не портить заводской интерьер салона, часы можно разместить в пластмассовом коробе для мелочей, расположенном между передними сиденьями автомобиля.
Точность хода часов, как известно, зависит от частоты кварцевого резонатора и ее стабильности во времени, емкости и стабильности конденсаторов СЗ, С4, питающего напряжения, температуры и других факторов. У изготовленного экземпляра после эксплуатации на автомобиле около года показания часов ушли на две минуты.