Привет, мир.
Тема подобных часов, конечно, уже избита, заезжена и местами даже опошлена. Но ведь "если ты никому не расскажешь, чем ты занимаешься, то никто и не узнает".
Ниже по тексту будет некоторое количество технических деталей. Буде кому-то скучно это всё читать, то можно просто картинки посмотреть. Ничего нового для сколько-нибудь сведущих в электронике людей здесь не будет, скорее наоборот – всё будет очень банально и скучно.
В общем, один мой друг периодически подкидывает мне всяких "олд-скульных" индикаторов (ИН-12, ИН-14, ИВ-... и т.п.). Что с ними делать? Часы, термометры и прочие метеостанции разных калибров, само собой.
Функционально схему любых подобных часов можно разделить на несколько блоков: преобразователь питания самих индикаторов, блок/модуль отсчитывания времени с календарём (по желанию), сам индикатор (-ы) и какой-то микроконтроллер, который этим всем будет управлять. Так же "по вкусу" можно добавить, например, какой-то способ связи устройства со внешним миром, как сделал я для эксперимента и расширения функционала. И "пищалку" для будильника, конечно.
Микроконтроллер. Будет STM32F030F4P. Почему он? Потому что мне нравится ARM, именно эти модели есть у меня в некотором количестве и они дешёвые.
Чуть подробнее его про подключение его к остальным блокам и блоков к нему. Для начала: кнопки, чтобы управлять и настраивать часы не только программатором, но и как все "нормальные" часы.
Здесь всё просто и стандартно. Простейшая схема антидребезга. Можно и программно его подавлять, но аппаратная реализация, на мой взгляд, надёжнее и проще.
Дальше можно подключить и "пищалку".
Тоже всё просто и обычно, по образу и подобию всех "модулей пищалок" для Arduino, например. Вывод BUZZ микроконтроллера, конечно, сконфигурирован как вывод канала ШИМ одного из таймеров МК.
Дальше подключим часы с календарём. Мне нравится микросхема DS3231, у которой помимо всего прочего есть и внутренний термосенсор с коррекцией хода времени от оного. Заодно можно и температуру показать "из коробки". Часы "общаются" с МК через интерфейс I²C. К самой микросхеме часов подключим ещё стандартную "мат.платовскую" батарейку CR2032, чтобы часы не сбивались без основного питания.
Я не стал подключать удобные и интересные выводы микросхемы к МК. Не хотелось усложнять, да и свободных выводов уже не осталось. Поэтому только батарейка, питание и интерфейсная часть.
Дальше будет повышающий преобразователь питания самого (-их) индикатора (-ов). Все VFD-индикаторы требуют для своей работы два напряжения. Это накал, от 1.5 до 5.5В в зависимости от типа индикатора и рабочее напряжение сегментов. 25-70В, которое зависит от режима работы (постоянный или импульсный) и самой модели индикатора.
Схема преобразователя тоже самая простая и очевидная.
В роли ШИМ-контроллера – обычный таймер NE555. А перемычка XS1 здесь для отключения питания преобразователя от питания на всякий случай. Для отладки остального и на тот случай, если я где-то налажаю или напутаю.
Всё устройство питается от любого USB, которого вполне хватает для питания и повышающего преобразователя и всего остального в целом. Общий ток потребления примерно 150мА в пиках.
И раз уж заговорили про питание, важность которого нельзя недооценивать:
И от этой картинки можно не менее плавно перейти к следующей – "общение" часов с компьютером, например. Для этого использована популярная китайская микросхема CH340.
В итоге имеем виртуальный COM-порт при подключении устройства к компьютеру со всеми вытекающими. Можно сделать bootloader для обновления прошивки устройства с компьютера и/или, например, настройки часов AT-командами, как dial-up-модемы когда-то давно. Последнее я и (почти) реализовал. Почему почти? "Проклятая лень! Какой я был бы славный человек, если бы она мне не мешала". © Л. Н. Толстой.
Ну и самое интересное – это коммутация всех выводов индикатора (-ов). В моём случае у ИВ-18 имеется 18 выводов, которыми нужно управлять.
Чтобы не плодить много ключей на транзисторах я нашёл на просторах интернета отличную микросхему MAX6921AWI, которая решила сразу все эти вопросы.
Дальше всё это было разведено в печатную плату, заказано на одном из китайских заводов/сайтов...
...спаяно, проверено по частям и полностью на предмет КЗ, непропаев и прочего...
...написана прошивка и, в общем-то, готово.
Да, всё это было сделано ещё (или уже) в прошлом году. А та самая лень побеждена частично только сейчас, чтобы всё это написать.
Частично потому, что хотелось сделать видеоверсию всего этого. Но это пока слишком высокий (выше 80-го) уровень.