Ретро-часы на газоразрядных индикаторах
Николай Большаков (RA3TOX)
Разбирая в очередной раз свой радиолюбительский хлам наткнулся на десяток газоразрядных цифровых индикаторов ИН-12. Выкинуть жалко, а приспособить... разве что в какую-нибудь ретро-игрушку. Первое, что приходит в голову собрать цифровые часы - хит 70-х годов прошлого века. Тут же, среди хлама, нашлись и необходимые дешифраторы - 155ИД1. Современная элетроника позволяет достаточно просто изготовить данное устройство и, при необходимости, добавить новые функции.
Порывшись в Интернете нашел статью "Numitron Clock & Thermometer" опубликованную Паулем Куртом (Paul Court) в журнале "Elektor" в октябре 2013 года. Проект в первоисточнике [1] выполнен на платформе Arduino и позволял отображать не только время, но также дату и температуру. В качестве источника времени и даты используется популярная микросхема DS1307 или готовый модуль на её основе, датчик температуры - DS1820. В проекте использованы низковольтные 7-сегментные газоразрядники ИВ-9 с соответствующими дешифраторами, поэтому мне пришлось их заменить.
В архивах журнала "Elektor" нашелся исходник и необходимые библиотеки для Arduino, поэтому прошить математическую часть проекта было не проблематично. Основную часть времени заняла распайка дешифраторов на панельки ИН'ок. Плату разводить не захотелось, поэтому весь монтаж выполнил на макетке.
Прошивка микроконтроллера прошла без проблем. Часы заработали. Но... Лично мне алгоритм их работы не понравился. Часы работали по циклу - отображали время, потом дату, потом температуру. И так все по кругу. Мне эта постоянная смена показаний не понравилось. Поэтому я переделал исходник как мне хотелось [2]. Оставил только отображение времени и функцию корректировки часов. Кстати сказать, мне в этом проекте понравилась функция установки времени и даты для DS1307. Я впервые встретил такое "автономное" управление этой микросхемой. Раньше мне приходилось этот модуль вынимать и программировать через компьютер в среде разработки Arduino. А здесь это реализовано просто двумя кнопками. Исключив из исходника часть кода, увидел, что в памяти процессора осбоводилось достаточно много места. Попробовал перекомпилировать программу под процессор ATmega8. Успешно! Пойдем дальше... Зачем внешний кварц? Точность хода часов зависит только от микросхемы DS1307. Значит можно использовать внутреннюю синхронизацию процессора и обойтись без кварца. Перекомпилировал - все работает!
Окончательная схема для моей версии приобрела вот такой вид:
Так как для питания индикаторов необходимо высокое напряжение (150-170 вольт), я изготовил повышающий преобразователь на специализированной микросхеме MC34063. Для питания микроконтроллера и других микросхем необходимо напряжение +5В которое я получил от стабилизатора на полюбившейся мне микросхеме ASM1117-5V. Общий потребляемый ток вместе с высоковольтным преобразователем составляет ≈ 250 мА. Для питания часов используем любой внешний адптер напряжением 8-12 В и максимальным током не менее 500 мА. Я использовал компактный импульсный преобразователь для светодиодов 9 В (4W) с Aliexpress.
В принципе можно отказаться от высоковольтного преобразователя и запитать индикаторы непосредственно от сети переменного тока через диод и ограничительный резистор. Но при этом неободимо плату хорошо изолировать от корпуса прибора! У меня так работал мой первый частомер, собранный в 80-х годах прошлого века. Ниже схема включения.
Моя конструкция в законченном виде.
.
Внутренний монтаж на макетке выглядит так:
.Несколько слов о функциях управления часами.
Корректировка (выставление) времени осуществляется двумя кнопками "ADJUST" и "SET". Кнопкой S2 SET переходим в режим корректировки, кнопкой S1 ADJUST выставляем необходимое значение. Нажатие кнопки SET переключает последовательно корректируемый параметр: минуты > часы > день > месяц > год. По завершении этого цикла новые значения записываются в RTC, а часы возвращаются в основной цикл.
Светодиод D1 мигает примерно раз в секунду и устанавливается между индикаторами часов и минут.При желании, можно оставить функцию термометра. Но я бы выполнил эту функцию через ручное управление (переключение). Исходники для Arduino вы найдете в первоисточнике [1], так что, при желании, можно поэксперементировать.
Удачи и творческих успехов!
Материалы:
1. "Numitron Clock & Thermometer" - Elector 10/2013
2. HEX-файл для прошивки (ATmega8, Int.osc)
3. FUSE для прошивки ATmega8 c внутренней синхронизацией
Сентябрь 2019 г.
Публикация материала на других сайтах и в журналах разрешена
со ссылкой на сайт "Радиофанат"(http://rfanat.ru).