Время

scahr
В закладки

Привет, люди. В этот раз отойду от музыки и попробую рассказать про относительно профессиональную деятельность.

Тема подобных часов, конечно, уже избита, заезжена и местами даже опошлена. Но ведь "если ты никому не расскажешь, чем ты занимаешься, то никто и не узнает".

Ниже по тексту будет некоторое количество технических деталей. Буде кому-то скучно это всё читать, то можно просто картинки посмотреть. Ничего нового для сколько-нибудь сведущих в электронике людей здесь не будет, скорее наоборот – всё будет очень банально и скучно.

В общем, один мой друг (Лёха, в очередной раз большая благодарность тебе) периодически подкидывает мне всяких "олд-скульных" индикаторов (ИН-12, ИН-14, ИВ-... и т.п.). Что с ними делать? Часы, термометры и прочие метеостанции разных калибров, само собой.

Функционально схему любых подобных часов можно разделить на несколько блоков: преобразователь питания самих индикаторов, блок/модуль отсчитывания времени с календарём (по желанию), сам индикатор (-ы) и какой-то микроконтроллер, который этим всем будет управлять. Так же "по вкусу" можно добавить, например, какой-то способ связи устройства со внешним миром, как сделал я для эксперимента и расширения функционала. И "пищалку" для будильника, конечно.

Микроконтроллер. Будет STM32F030F4P. Почему он? Потому что мне нравится ARM (8-битные ATMEGA'и уже не так интересны), именно эти модели есть у меня в некотором количестве и они дешёвые.

Чуть подробнее его про подключение его к остальным блокам и блоков к нему. Для начала: кнопки, чтобы управлять и настраивать часы не только программатором, но и как все "нормальные" часы.

Здесь всё просто и стандартно. Простейшая схема антидребезга. Можно и программно его подавлять, но аппаратная реализация, на мой взгляд, надёжнее и проще.

Дальше можно подключить и "пищалку".

Тоже всё просто и обычно, по образу и подобию всех "модулей пищалок" для 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-го) уровень.

Всем спасибо .)

{ "author_name": "Сергей Петров", "author_type": "self", "tags": [], "comments": 12, "likes": 79, "favorites": 45, "is_advertisement": false, "subsite_label": "craft", "id": 92314, "is_wide": false, "is_ugc": true, "date": "Sat, 11 Jan 2020 01:13:30 +0300", "is_special": false }
Объявление на DTF
0
12 комментариев
Популярные
По порядку
Написать комментарий...
5

Бля да ты крутой. Вообще здорово, что сам такие приятные вещицы в состоянии сделать

Ответить
2

Спасибо .))

Ответить
2

Давай теперь с оранжевыми индикаторами.

Ответить
3

В процессе и такие

Ответить
1

Ооо, привет Алекс гайвер.

Ответить
0

Нет, не он .)

Ответить
0

В чём проблема использовать часы контроллера? И какой тайный смысл связи "часов" с компьютером через китайский преобразователь?

Ответить
2

Никакой проблемы, просто захотелось так.

Тайного смысла тоже нет, опять-таки, просто захотелось.

Ответить
0

Ля, уже тоже давно думал написать статью про приёмники, но руки всё не доходили/

Ответить
0

Ничего не понятно, но очень интересно
Жду больше текстов на данные темы

Ответить
0

Красавец) 

Ответить
0

Лампота!

Ответить

Комментарии

{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }