Часы на ИВЛ2-7/5

Привет, Пикабу! Не так давно наткнулся на просторах Интернетов на вот такие хардкорные часы.

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

Кому интересно, вот ссылка на автора:http://www.johngineer.com/blog/?p=1595


На руке они выглядят вот так:

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

В общем загорелся я желанием сделать нечто подобное.


Но со своими особенностями.


Во-первых, наручные часы я не сильно люблю, особенно большие.


Во-вторых, я не так торчу по кибер-панку, чтобы носить такое.


В-третьих, работать такая штуковина от батарейки будет не долго (часа 3-4 в самом лучшем случае).


Потому было решено сделать что-то попроще, то, что можно поставить на столе рядом с компом чтобы радовало глаз.


Итак, процес пошел.


Первым делом, нужно было найти центральный индикатор - ИВЛ2-7/5. Благо Кардачи рядом (я студент КПИ), а там "..этого гуталина, ну просто завались..".

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

Главное было найти целый, не разгерметизированный (смотрим на черные отметки по углам индикатора, если они белеют - разгерметизация). Вышел 1 такой индикатор 30 руб.


Сразу столкнулся с проблемой всех, кто так или иначе работал с ГРИ - относительно высокое напряжение для зажигания лампы. Для именно этого "пациента" по даташиту нужно 24 В, но немного изучив матчасть, я понял, что вполне хватит и 14-15 В.


В оригинальном проекте автор использовал хитромудрую микросхему MAX6920, чтобы управлять индикатором. Нигде в Киеве я такого на нашел, а при заказе за нее хотят порядка $7. Пффффф.. Идем в обход) Я использовал микросхемы MC14504(кстати, тоже трудно было найти) - микросхема типа LEVEL SHIFTER - преобразователь логического уровня.


Центральный микроконтроллер (МК) решил взять Atmega168 (можно было и Atmega88, но не был до конца уверен в размере hex файла). В принципе, для таких нужд можно было бы и STM взять (32 бита, частота повыше да и в некоторых Real-time-clock на борту), но я с ними практически никогда не работал, да и говорят, что ЛУТ с ними усложняется из-за шага ножек.


В качестве микросхемы часов реального времени использовал DS1307 с соответствующим обвесом.


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


Таким образом, количество выходных сигналов стало куда больше чем ног у МК. Не хватает ног - используй выходные регистры сдвига! Я брал 4 SN74HC595.


Вроде с железом более-менее определились. Теперь в ход CAD-системы. Я использую Eagle CAD. Раньше работал с OrCAD, и хоть он и помощнее и возможностей там больше, ИМХО Орел лучше для рыцарей Ордена Лазерного Принтера.


Итак, рисуем принципиальную.

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

Дальше разводим плату

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

Выводим все это дело на печать. "Да прибудет с тобой Сила и хлорное железо, Рыцарь-джедай".


После травления, лужения и сверления получается вот такое счастье:

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

Запаиваем все компоненты.

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

Вид сзади:

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

Сзади можно увидеть "блок питания":

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

На этот блок я вывел батарейку-таблетку для DS1307, питание от micro-USB, boost-converter на основе NCP1403. Сделано это было для экономии места на основной плате+умельшения количства помех от комутирующегося дроселя. В итоге этот блок подает в схему +3.3, +5, +15 В.


Теперь время кодить.


Atmel Studio вперде!!! Естественно, пишем на С, можно и на асме, но ну нах. Слишком больно.


В итоге, у меня hex файл вылеш на 8 кБ (вот почему можно и Atmega88).


В качестве программатора я использовал Arduino Leonardo, непосредственно "зашивал" при помощи AVRDUDESS - довольно удобная софтина, по сути - AVRdude, только не в командной строке, а оконное, по приятнее.

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

Шьем код. Включаем! IT'S ALIVE!!!!!

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

Я реализовал несколько режимов круговой индикации секундной стрелки: bar - заполнение "столбиком", dot - когда секундная стрекла соответствует светящемуся светодиоду, и full - по-сути обратный режиму dot. Мне больше всего нравится режим bar. В настройках менюшки можно также отключить круговую индикацию, настроить выведение температуры - никогда, только температура, 1 раз в минуту на 5 секунд выводится температура, все остальное время - часы.

Часы на ИВЛ2-7/5 Часы, Своими руками, Ламповые часы, Длиннопост

На этом у меня все, разрешите откланяться.