Оригинальные технические решения прошлого зачастую вызывают сегодня умиление и восторг, а если не имеют прямого современного аналога, то вполне могут продолжать свое существование — так рождается дикий микс из компонентов, разница в возрасте которых составляет десятки лет.
В прошлый раз я с подобным чувством сооружал чиптюновый модуль на AY-3-8912. Результатом остался чрезвычайно доволен, но отмечу, что законченным изделием он не является. Как и герой данного материала, блок газоразрядных индикаторов ИН-12.
Часики на ИНках на Хабре фигурировали не раз (например 1, 2), поэтому поста в стиле «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
Автор: eta4ever