quasiyoke

Nixie-часы

English version

If your Russian reading skills aren't so good still, you're able to use English version

Электронные часы с газоразрядными индикаторами и автоконтролем яркости цифр на ARM-микроконтроллере

По всему миру любители собирают электронные часы, в которых для вывода информации (отображения цифр) используются «многоэлектродные индикаторы тлеющего разряда» или т.н. «газоразрядные индикаторы». По-английски эти радиолампы зовут «nixie tubes», а часы на такой элементной базе: «nixie clock». В популярности этого увлечения легко убедиться, поискав «nixie clock» картинки. Интересная особенность большинства таких часов—использование, можно сказать, морально устаревших индикаторов (разумеется, из эстетических соображений) совместно с современными цифровыми микросхемами. По‑моему прекрасная мода, в гонке за которой я с удовольствием участвую.

У меня есть шесть газоразрядных индикаторов ИН-12А. Их достаточно подробные характеристики можно найти в справочнике «Электровакуумные, электронные и газоразрядные приборы» под редакцией А.С. Ларионова, с. 514.

Важное свойство большинства радиоламп вообще—необходимость в источнике высокого напряжения. К примеру, мои ИН-12А гарантированно зажигаются при напряжении 170 В. Разумеется, это совсем не тысячи вольт анодного напряжения какого-нибудь кинескопа, но уверяю вас, что этого несколько раз хватит для пробоя типичного цифрового компонента.

Если вы соберётесь делать такие часы, первую половину проблем вам создаст цифровая часть (например, программирование микроконтроллера), а вторую—капризная схема источника высокого напряжения. Такой источник отвечает за повышение напряжения, на пример, с 12 В до требуемых 170 В. Будьте готовы для него:

  1. искать где-то катушку с не только заданной индуктивностью (сотни микрогенри), но и током насыщения (около 1 А),
  2. покупать дорогие полевые транзисторы, которые будут норовить сгореть,
  3. внимательно следить при макетировании не только за тем, чтобы не было лишних контактов, но и за наличием всех необходимых соединений—здесь это часто служит причиной порчи деталей,
  4. налаживать схему, постоянно остерегаясь удара высоким напряжением.

Приведённый здесь фрагмент схемы Sunny Clock на микросхеме MC34063AD, которая дала толчок моим изысканиям, принимает 12 В в узле P12V и генерирует высокое анодное напряжение в узле HV. Поначалу я думал в точности повторить этот модуль в своей конструкции, однако оказалось, что полевой транзистор Q1 ощутимо нагревается в процессе работы без каких-либо разумных для того оснований. Судя по всему, многих повторивших эту схему устраивает такое поведение, поскольку нагрев не очень существенный, однако некоторый перфекционизм во мне сопротивлялся таким компромиссам.

Благодаря одному материалу я узнал, что у MC34063AD есть возможность только «подтягивать» затвор транзистора Q1 к +12 В и нет возможности задать ему нулевой потенциал. Поскольку для полевых транзисторов характерна некоторая ёмкость затвора, для того, чтобы полевик закрылся, требуется резистор R12—это через него разряжается затвор. Сие решение, конечно, ущербно, поскольку во время переходного процесса по разрядке затвора транзистор находится в линейном режиме, и на нём выделяется тепло. Из той же статьи я почерпнул грамотное решение этой проблемы с использованием дополнительного PNP-транзистора (Q2 на моей схеме ниже), которое хорошо показало себя на практике.

Для управления устрашающими сотнями вольт с помощью хиленького микроконтроллера можно использовать десяток достаточно высоковольтных транзисторов, либо специализированную микросхему К155ИД1, как это сделал я. Она также содержит дешифратор, что сэкономит порты микроконтроллера.

На фото вы можете видеть процесс испытания дешифратора. На макетную плату поданы два напряжения: +180 В—для питания индикатора и +5 В—для микросхемы. Для задания нужного двоичного кода достаточно «занулить» требуемые ножки дешифратора: TTL-логика означает, что все неприсоединённые ножки будут «подключены» к высокому уровню сами по себе.

Ниже приведена слегка модифицированная схема Sunny Clock, которая мной не испытывалась.

У этой конструкции есть существенные недостатки.

  1. Из схемы этого явно не видно, но я изначально предполагал распределить три анодных оптопары по цифрам следующим образом: 12:31:23—такое распределение означает, что для того, чтобы погасить оба разряда минут, к примеру, придётся подать высокое напряжение на все катоды соответствующих ламп. Оказывается, как замечают на уже упоминавшемся выше сайте, гасить индикаторы таким образом не рекомендуется:

    Do not blank, by turning all cathodes off. Especially, when using cathode drivers like a 74141 (or its Russian equivalent). If you attempt this with these devices, they will see over ~100V, and will conduct thru more than one cathode at a time. This will look similar to ghosting. These devices are leaky, so at least one cathode should be ON at all times.

    Чтобы иметь возможность погасить на мгновение нужную пару ламп, составляющих число, следует распределить оптопары по индикаторам следующим образом: 11:22:33—значит чтобы погасить, к примеру, минуты, вы можете просто снять анодное напряжение оптопарой номер 2. Это пригодится, например, для режима настройки часов, чтобы мигать настраиваемым числом: часами, минутами или секундами.

  2. Схема использует морально устаревший микроконтроллер ATMega8. В рамках моей постоянной программы по изучению ARM, я бы хотел использовать в своих часах STM32L152RBT6.

  3. Микроконтроллер вполне может взять на себя функции микросхемы MC34063AD. Все микроконтроллеры обладают широкими возможностями по генерации ШИМ-сигналов и АЦП, подходящим для создания отрицательной обратной связи, следящей за уровнем высокого напряжения. Тем самым мы не только избавляемся от лишнего корпуса, но и получаем возможность без труда интеллектуально менять анодное напряжение на индикаторах—к примеру, в зависимости от условий освещения.

В скором будущем эта статья, надеюсь, будет дополнена фотографиями прототипа.