Часы на ИВЛ2-7/5
Привет, Реактор! Не так давно наткнулся на просторах Интернетов на вот такие хардкорные часы.
Кому интересно, вот ссылка на автора:http://www.johngineer.com/blog/?p=1595 (#Я не умею в ссылки на реакторе...)
На руке они выглядят вот так:
Но со своими особенностями.
Во-первых, наручные часы я не сильно люблю, особенно большие.
Во-вторых, я не так торчу по кибер-панку, чтобы носить такое.
В-третьих, работать такая штуковина от батарейки будет не долго (часа 3-4 в самом лучшем случае).
Потому было решено сделать что-то попроще, то, что можно поставить на столе рядом с компом чтобы радовало глаз.
Итак, процес пошел.
Первым делом, нужно было найти центральный индикатор - ИВЛ2-7/5. Благо Кардачи рядом (я студент КПИ), а там "..этого гуталина, ну просто завались..".
Главное было найти целый, не разгерметизированный (смотрим на черные отметки по углам индикатора, если они белеют - разгерметизация). Вышел 1 такой индикатор 7 грн.Сразу столкнулся с проблемой всех, кто так или иначе работал с ГРИ - относительно высокое напряжение для зажигания лампы. Для именно этого "пациента" по даташиту нужно 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, и хоть он и помощнее и возможностей там больше, ИМХО Орел лучше для рыцарей Ордена Лазерного Принтера.
Итак, рисуем принципиальную.
Дальше разводим плату (единственная, кого может развести обитатель реактора... "I know that feel bro.jpg" ).Выводим все это дело на печать. "Да прибудет с тобой Сила и хлорное железо, Рыцарь-джедай".
После травления, лужения и сверления получается вот такое счастье:
Запаиваем все компоненты.Вид сзади:
Сзади можно увидеть "блок питания":
На этот блок я вывел батарейку-таблетку для DS1307, питание от micro-USB, boost-converter на основе NCP1403. Сделано это было для экономии места на основной плате+умельшения количства помех от комутирующегося дроселя. В итоге этот блок подает в схему +3.3, +5, +15 В.Теперь время кодить.
Atmel Studio вперде!!! Естественно, пишем на С, можно и на асме, но ну нах. Слишком больно.
В итоге, у меня hex файл вылеш на 8 кБ (вот почему можно и Atmega88).
В качестве программатора я использовал Arduino Leonardo, непросредственно "зашивал" при помощи AVRDUDESS - довольно удобная софтина, по сути - AVRdude, только не в командной строке, а оконное, поприятнее.
Шьем код. Включаем! IT'S ALIVE!!!!!Я реализовал несколько режимов круговой индикации секундной стрелки: bar - заполнение "столбиком", dot - когда секундная стрекла соответствует светящемуся светодиоду, и full - по-сути обратный режиму dot. Мне больше всего нравится режим bar. В настройках менюшки можно также отключить круговую индикацию, настроить выведение температуры - никогда, только температура, 1 раз в минуту на 5 секунд выводится температура, все остальное время - часы.
Подробнее
f O' f >> • \ V’\ \ s. 'IV J снчднппгиго 012 и a **7 ? ?iJ8 * • '• гг: №iF^7 r< Ш Y\ vtv ‘I-1** \v: \ — V #r.~' i*%
2 2 Схема - C:\Users\User\Documents\eagle\Watches_core\board.sch - EAGLE 7.5.0 Professional Файл Редактировать Рисовать Вид Инструменты Библиотека Опции Окно Помощь О О •■ък Листы б1 X 'Л» м - г -А V 0 1 ■1»® Ш ч* л 4» кг_ Шг %r Г*' J т о ~ ■ а ее ф ' оо # ! 10.1 inch (7.19.1) U1 ATMEGA168-20AU SV1 vex: г xei eAxevxivra:. vex: xi 'axi/xivto;. Avex: хг сахухря iei> -\'J ■АХД^.РЛ 11) ач:- X4 ;а'х.Ч'У.:^'а-:1'я i2> xs -axw-Vxivt nj i '-v:i vreve:_«.vie:» i; ■•m хб ■счзет/хрл 14} гхгя i;oe:iAj »-ii t4:wies?,-'t%.e:i3i ог on cdcyxivt 16) • xi '^*oe:2A-w.;si :■ оз + oi {тхдхгл i2) * хряска :■ ■02 гряеухря ia> os £«е:</хряк> Cxi'я 1<ц%*:гз/ря i- оз • •■v:pnA0tTA.i:“Q«e:i) об схряаде:%.че1> -,34 i xi vr 2/x~A.i4 iis:2) ■>$? :хгяг1;ое:е1А--|/ -os • xi 'я 2yt'.exwAi x> AX6 СХРЯгУАРЛ) 02 AX7 <i'J J 2 <WJ 3 C/D t 1 2 XT—-1 4, 4i y; j 6 1*2 CAT РЛ £ $ s з w Ir, ir Ir, Ir, if 8 8:88 САГ О.Л I 16*2 R64 Sir s: •_*: <j I с- о у У У 0000 ” "ouF ШЕШ&- :ю \vr. „ж. из 14 13 12 II iei vex: -о: че:_< ото sn; U4 14 13 12 II vex: s-ч 4i2 че:.е «че:.ч т
3 1 Печатная плата - C:\Users\User\Documents\eagle\Watches_core\board.brd - EAGLE 7.5.0 Professional Файл Редактировать SflwS * Рисовать Вид Инструменты Библиотека Опции Окно Помощь н Ф ф ф <§1 © "^8, Ш РОВ с-иоте IDF ТО 3D
1 1 1 i * Г я ■ ------ I I 1' M .
№ M/iViyrJiJHbl
% AVRDUDESS 2.4 (avrdude version 6.1) Programmer (-c) MCU (d) Select a programmer... Select an MCU... Port (-P) Baud rate (-b) Bit clock (-B) Rash Rash: EEPROM: -Presets Detect ГЛ таил о Write Read C Verify EEPROM Go Format Auto (writing only) Save Delete □ Fuses & lock bits L Read Write о Write О Read Q Verify Format Auto (writing only) Options □ Force (-F) □ Erase flash and EEPROM (-e) □ Disable verify (-V) Do not write (-n) Disable flash erase (-D) Verbosity H E LB Set fuses Fuse settings I Read 1 f Write 0 Set lock Bit selector Program! Stop Options ] [~?~] Additional settings Ready
нош нот О SH\FT £НО CTRL :,4^W ШМ 1 Ш5 в Ш * ^ятв " n Б "11 d rBil*. шШ Щ H l” 1
geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,часы,часы на ГРИ,ГРИ, Nixie, Nixie clock, Газоразрядные индикаторы,ИВЛ2-7/5,песочница
не обязательно уметь варить борщ, что бы сказать что он не вкусный.
Но мои +0.1
з.ы. вопрос к автору: ты, смотрю, с паяльником на ты - свич перепаять не сумеешь случаем? Какая-то херь с напряжением. Кондеры перепаял - не помогло.
Главное что я понял: внешний вид - гавно. Понял, буду осваивать двухстороннюю печать. По возможности, постараюсь как-то упаковать эти часики.
http://www.instructables.com/id/Arduino-Leonardo-as-Isp/?ALLSTEPS