Оригинальные технические решения прошлого зачастую вызывают сегодня умиление и восторг, а если не имеют прямого современного аналога, то вполне могут продолжать свое существование — так рождается дикий микс из компонентов, разница в возрасте которых составляет десятки лет.
В прошлый раз я с подобным чувством сооружал чиптюновый модуль на AY-3-8912. Результатом остался чрезвычайно доволен, но отмечу, что законченным изделием он не является. Как и герой данного материала, блок газоразрядных индикаторов ИН-12.
Часики на ИНках на Хабре фигурировали не раз (например 1, 2, 3), поэтому поста в стиле «Yet another Nixie clock» не будет. Сосредоточусь на том, чтобы кратко и емко изложить идею блока индикации и особенности реализации.
Принцип действия
Индикаторы ИН представляют собой стеклянную колбу с ножками, заполненную инертным газом. В ней находится пакет электродов (катодов), выполненных в форме символов (в большинстве ИН это цифры). При приложении к выбранному катоду и общему аноду (сетка перед пакетом) напряжения в пару сотен вольт зажигается тлеющий разряд, визуальное проявление — красно-оранжевое свечение вблизи катода, повторяющее его форму.
Управление
Чтобы управлять индикаторами серии ИН, нужно коммутировать высокое напряжение (ток — единицы миллиампер). Жизнь сильно облегчает существование в любимой 155-й серии дешифраторов ИД1 — они непосредственно и предназначены для работы с индикаторами ИН. Можно использовать и обычные дешифраторы, но тогда на их выходы придется ставить транзисторные ключи. Вполне вариант, но имеет смысл только при недоступности К155ИД1.
То есть, на каждый индикатор ставим по микросхеме. В моем случае получается 4 штуки. Это будет статическая индикация. Для упрощения схемотехники нередко применяется индикация динамическая — когда в каждый момент времени выводится одна цифра, но смена происходит быстро, и за счет инерции человеческого зрения, незаметно. Но такой подход идет вразрез с моей идеей универсального модуля, с минимальными затратами подключаемого к «голове» (микроконтроллер, компьютер, «малинка» какая-нибудь).
Итерация первая, 16 ножек.
Решаем проблему в лоб. 4 индикатора ИН-12. На каждый из них приходится по одному дешифратору. Аноды через ограничивающие резисторы (50 КОм 0.5 Вт) подключены к источнику высокого напряжения. В моем случае — маленький бесхозный анодно-накальный трансформатор с диодным мостом.
Разведена плата, с применением фоторезиста изготовлена, компоненты установлены, можно пользоваться. 16 входов подключаются к GPIO Raspberry PI, пишется простенькая программка, отображающая время.
Только вот не слишком ли жирно, отдавать такое количество ножек на отображение четырех цифр? Я уж не говорю о том, что кому-то захочется показать секунды, и GPIO «малинки» просто не хватит. И вообще, причем тут Raspberry, если для минимальных часов нам понадобятся восьминогая ATtiny и DS1307?
Итерация вторая, 2 ножки.
Так что, разводим еще одну маленькую платку, которая будет «вторым этажом». На ней располагаются еще две микросхемы — восьмиразрядные сдвиговые регистры 155ИР8. Они у нас будут преобразователем последовательного интерфейса в параллельный.
Сдвиговый регистр работает следующим образом: по фронту импульса на тактовом входе (CLK) происходит запись в регистр бита на информационном входе (A) с одновременным сдвигом уже имеющихся битов. Восемь выходов регистра отражают его содержимое — они отправляются на входы двух дешифраторов. Два регистра объединяются в один 16-разрядный путем соединения последнего выхода одного со входом другого. Так что, от устройства, управляющего модулем индикации, требуется выдавать 16 бит (по 4 бита на разряд индикации), не забывая каждый зафиксировать тактовым импульсом.
И что?
И все. Есть базовая часть модуля индикации, которую можно использовать, если вам не жалко 16 пинов. Есть дополнительная плата, которая сокращает необходимое число управляющих пинов до двух. Питание — 5 вольт и что-то в районе 180-220 (по 2 мА на индикатор). Можно использовать трансформатор, можно — импульсный преобразователь. Можно — от сетевого напряжения через диод, как это рекомендуется в древних мануалах. Последнего варианта я убоялся, т.к. не люблю, когда у меня по плате свободно гуляет никак не развязанная «сеть».
Ближе к готовому устройству
Все наработки публикуются на Github. В настоящий момент там можно лицезреть готовые разводки плат (Sprint Layout 6), схемы (Eagle) и программу (Python) для Raspberry Pi. Последняя находится в процессе пиления. На момент публикации реализован вывод времени, эффект рандомной прокрутки цифр (надо периодически зажигать все катоды ИНки во избежание т.н. «отравления»), начата работа над будильником. Ведь я не просто так делал модуль на AY-3-8912, он здесь тоже поучаствует. Питоний код в рамках данного материала я описывать не буду, это для третьей части, посвященной сборке в один мегадевайс Raspberry Pi, Nixie-индикатора и чиптюнового модуля.
Гитхаб (основной проект)
Гитхаб (чиптюн)
Индикатор ИН-12
Дешифратор ИД1
Сдвиговый регистр ИР8
Комментарии (20)
Gordon01
04.04.2015 15:44+7Ничего интересного, известные и проверенные десятилетиями решения, сто тыщ раз обсосанные в теме «часы на газоразрядных индикаторах».
Нельзя отключить индикатор вообще, потому что нет ключей на аноды, соответственно нельзя управлять и яркостью, делать эффекты перелива итд итп.
Зачем рисовать схему в eagle, а разводить печатку в SL?
И да, зачем ради двух даташитовых схем целая статья?eta4ever Автор
04.04.2015 19:57+3Если мы говорим об одной и той же статье, то там обсосано все, кроме статической индикации и минимизации управляющих входов. Как раз-таки типовое решение, повторенное миллион раз.
Разводить печатку в SL затем, что разводка в SL вменяемая, а в Eagle — какой-то хтонический ужас. Ну, т.е., радиус его кривизны совсем не совпадает с аналогичным параметром моих рук.
Статья хотя бы затем, что я предлагаю готовое решение, (схема, печатка, код, все это на вменяемом гитхабе, а не галимых обменниках, которые давно пора четвертовать и сжечь) сбезгеморройной повторяемостью и подключаемостью к чему угодно.
Так что, извините, претензия принимается только в части отсутствия управления анодами. Это было сделано для упрощения.Gordon01
05.04.2015 16:19+1Нет, я про эту тему: radiokot.ru/forum/viewtopic.php?f=3&t=3210 В ней не то что про часы, про газорязрядные индикаторы сказано, по-моему, ВСЕ, причем по несколько раз.
> Разводить печатку в SL затем, что разводка в SL вменяемая, а в Eagle — какой-то хтонический ужас. Ну, т.е., радиус его кривизны совсем не совпадает с аналогичным параметром моих рук.
То есть вы просто ниасилили и ругаете ПО?
> Статья хотя бы затем, что я предлагаю готовое решение.
Статья про типовое подключение самых популярных микросхем, которыми дрыгают газоразрядные индикаторы.
> Так что, извините, претензия принимается только в части отсутствия управления анодами. Это было сделано для упрощения.
Нужно больше hello-worlda. Ждем статьи про сборку усилителя на TDA2050 со схемой из даташита или еще лучше набора «мастер-кит».eta4ever Автор
05.04.2015 16:241. Редуцируем до того, что хабр вообще не нужен, ибо все где-то когда-то было.
2. Я считаю, что разводка в Eagle сделана намного хуже, чем в Sprint Layout.
По оставшимся двум пунктам — ок. Поплачьте о том, что хабр не торт, ибо не хардкор.
shtirlitsus
04.04.2015 22:21Нельзя отключить индикатор вообще
можно. например, подать на входы ИД1 код 1010 (10 d десятичной) — погаснут все сегменты
нельзя управлять и яркостью, делать эффекты перелива
можно. ШИМ в помощь. я так делал ужеeta4ever Автор
04.04.2015 22:23Разве погаснут? По-моему, будет неопределенное состояние — слабое свечение всех катодов.
shtirlitsus
04.04.2015 22:31+1Проверено. Гаснут. (по вашей же ссылке, кстати. ) Но ньюанс — в этом режиме генератор высокого напряжения работает на ХХ. Если не стабилизированный — может задрать напряжение, и при включении сегмента спалить дешифратор.
eta4ever Автор
04.04.2015 22:47Так. Буду проверять. Значит, неопределенное состояние возникает при неопределенности на входе. У меня трансформатор без конденсатора (просто диодный мост), задраться ничего особо не должно.
eta4ever Автор
05.04.2015 12:33Проверил. Мои ИД1 не гаснут, а выдают эту самую неопределенность при 10-15 на входе.
shtirlitsus
05.04.2015 15:13может завышенное высокое?
eta4ever Автор
05.04.2015 15:21Предположение интересное. Посмотрю, если найдется достаточно спичек и желудей, чтобы импульсный преобразователь склепать. Или ЛАТР для эксперимента задействую, так еще проще будет.
woddy
05.04.2015 07:05+3Есть три аппаратных ревизии 155ид1. Зависит от завода и года выпуска. Их поведение отличается.
BubaVV
04.04.2015 23:35А можно обзорчик по БП для анодов?
eta4ever Автор
04.04.2015 23:46Если это мне, то у меня тороидальный трансформатор, который на 6.3В 1А и 170В 50 мА. На высоковольтную обмотку прилеплен какой-то диодный мост. По ссылкам на проекты часов в начале материала есть схемы и описания импульсных преобразователей.
Или нужны еще варианты?
gbg
Странно, что отсутствует гальваническая развязка.
Когда я делал аналогичный модуль на тех же четырех ИН-12, я воспользовался одним дешифратором и восемью оптопарами — четыре высоковольтные (какие-то TLPxxx) — для динамического включения индикаторов, и четыре (PC817) — для развязки дешифратора от контроллера. Итого — восемь пинов для управления всей конструкцией.
eta4ever Автор
Развязка с сетью выполнена через трансформатор, я об этом писал. Если речь про отвязку от контроллера — не вижу большого смысла. С точки зрения некоторой паранойи можно вход оптронно развязать, добавится два низковольтных корпуса.
gbg
Развязка с логикой отсутствует. Не думаю, что контроллеру понравится отхватить порядка 200 вольт на один из пинов, если дешифратор выйдет из строя.
Да и таскать трансформатор как-то не здорово. Нужное напряжение можно получить нехитрой импульсной схемкой.
eta4ever Автор
Тут нужно выбить сначала дешифратор, а потом регистр. Но идею я понял.
Трансформатор использовался по принципу «что было под рукой». Он маленький, тор сантиметров 5 в диаметре.
Динамическую индикацию не стал делать, т.к. хотел максимально упростить подключение блока к любой «голове», что результировало в 2 управляющих пина.
Rumlin
можно стабилитроны между сигналом и землей поставить — прогорят и закоротят на землю.
eta4ever Автор
О. У меня, кажется, супрессоры какие-то валялись.