Завораживающее неоновое свечение отчасти похожее на свечение электровакуумных ламп, похожий внешний вид. Все это дает ощущение прошлого на этапе освоения, познания и начала применения электричества, насколько можно представить по книгам, фильмам, иллюстрациям. Вот так завернул. Но обо всем по-порядку.
Назад в прошлое?
Ре́тро (также стиль ретро; ретро-стиль от лат. Retro «назад», «обращённый к прошлому», «ретроспективный») — достаточно абстрактный художественно-исторический термин, применяемый для описания различных категорий старинных вещей, имеющих некую культурную и/или материальную ценность, и, как правило, нечасто встречающихся в современной повседневной жизни с её нарочитой практичностью и стремлением к избавлению от «лишних» деталей. (Википедия).
Вот как то так. Но прогресс не стоял и не стоит на месте. Все миниатюризируется, унифицируется с одновременным увеличением функциональности. И тут на помощь приходят микроконтроллеры и прочие программируемые интегральные микросхемы (ИМС). Можно конечно использовать и более простые устройства для достижения большей аутентичности изготавливаемого изделия, но… эта совершенно другая тема для разговора.
Это все к тому, что не обязательно возвращаться к возможностям прошлого, а использовать доступное настоящее. Есть, конечно, и другие способы реализации, здесь же рассматривается конкретное решение поставленной задачи на микроконтроллере (МК) производства фирмы Atmel ATmega8.
Внешнее соответствие «призракам» прошлого полностью зависит от фантазии, взглядам, вкусам человека, изготавливающего сей девайс в ретро-стиле. Бесспорно, кому-то нравятся другие направления в оформлении, тогда вам и карты в руки.
А суть в чем?
Предлагаемые часы имеют следующий функционал:
- Индикация времени в формате ЧЧ:ММ:СС
- Возможность показа разделительных точек (для большей наглядности)
- Возможность показа даты в формате ДД:ММ:ГГ в начале каждого часа (~10 сек)
- Принудительный показ даты
- Возможность воспроизведения ежечасного сигнала
- Установка до 10-ти будильников на разное время в формате ЧЧ:ММ
- Повтор сигнала (если не был выключен) будильника через 5 минут с момента срабатывания
- Изменение эффекта переключения цифр (плавное переключение)
- Сохранение настроек и продолжение отсчета времени при отключении питания
- Через каждые 10 дней работы в 00:00:00 включается 2-хминутный режим антиотравление катодов
Небольшая справка: Газоразрядный индикатор — ионный прибор для отображения информации, использующий тлеющий разряд. По сравнению с единичным индикатором — неоновой лампой — обладает более широкими возможностями. Наиболее известными среди газоразрядных являются знаковые индикаторы типа «Nixie tube», каждый из которых состоит из десяти (или иного количества) тонких металлических электродов (катодов), каждый из которых соответствует одной цифре или знаку, при этом они включаются индивидуально. Электроды сложены так, что различные цифры появляются на разных глубинах, в отличие от плоского отображения, в котором все цифры находятся на одной плоскости по отношению к зрителю. Трубка наполнена инертным газом неоном (или другими смесями газов) с небольшим количеством ртути. Когда между анодом и катодом прикладывается электрический потенциал от 120 до 180 вольт постоянного тока, вблизи катода возникает свечение. (Википедия)
Исходя из этого описания следует, что нужно заставить индикаторы «зажигать» свои катоды в требуемой последовательности под управлением МК. Структурная схема будет состоять из следующих частей (см. рисунок):
Небольшое описание и назначение блоков.
Источник питания (ИП) — тут все просто. ИП предназначен для питания всех элементов схемы.Он должен включать как высоковольтный источник постоянного напряжения для питания устройства индикации (УИ), так и источник низкого напряжения для питания устройства управления и других элементов.
Устройство управления (УУ) — включает в себя сам МК и некоторые другие элементы, непосредственно участвующие в управлении ГРИ.
Устройство индикации (УИ) — можно разделить на сам индикатор и его высоковольтный драйвер анодного напряжения.
Часы реального времени (ЧРВ) — специализированная ИМС, которая ведет отсчет времени, также включает в себя календарь с указанием номера дня недели.
Кто есть кто
Теперь рассмотрим более подробно структуру данного устройства.
В данной конструкции применены газоразрядные индикаторы ИН-12 и индексом «А» или «Б» (отличие ИН-12Б в том что присутствует ещё один катод в виде запятой, в схеме он не используется)
Технические характеристики:
Для питания схемы можно использовать несколько вариантов ИП. Это, например, и классический трансформаторный, или импульсный блок питания, или блок питания с двойным преобразованием. При такой конструкции часов (с ГРИ) наиболее часто применяется последний вариант. Для получения высокого постоянного напряжения, долго не думая, возьмем достаточно распространенную схему с использованием специализированной ИМС DC-DC преобразователя МС34063.
Принцип работы повышающего (step-up) преобразователя на данной ИМС подробно описан в интернете [1]. Основное отличие: для получения высокого напряжения используется внешний ключ.
Схема довольная простая и не содержит дефицитных деталей. Диод можно использовать любой быстродействующий с напряжением от 300 В и током от 0,5 А. Высоковольтный силовой ключ можно заменить на схожий по параметрам транзистор, так же возможно использовать менее мощный, но дополнительно потребуется установить его на теплоотвод. Дроссель можно использовать готовый на ток не мене 0,5 А или намотать самому на ферритовом сердечнике.
Для питания самих часов используется любой сетевой блок питания (AC-DC адаптер) с постоянным выходным напряжением 12 В и током не менее 500 мА (значение взято с запасом, чтобы исключить нагрев адаптера). Часы работают и от 9 В (проверено, но лишь на предмет включения).
В качестве драйверов для управления анодами ГРИ используется обычная схема верхнего ключа из состоящая из 2-х транзисторов.
В данном варианте применены отечественные высоковольтные транзисторы. Возможно использование импортных высоковольтных транзисторов типа MPSA42 и MPSA92, BF422 и BF423 и других. Но расположение выводов у них отличается от приведенных в схеме, и прямая замена без изменения трассировки печатной платы не предоставляется возможным. Резистор R7 ограничивает ток базы транзистора Q1, чтобы предотвратить выход из строя порта микроконтроллера. При необходимости его значение можно уменьшить. R10 ограничивает ток анода, его значение можно откорректировать если будет наблюдаться недостаточная или избыточная яркость свечения символов соответственно уменьшив или увеличив сопротивление.
Коммутация катодов осуществляется с помощью высоковольтного двоично-десятичного дешифратора типа К155ИД1. На схеме изображен импортный аналог SN74141N. Расположение выводов у них совпадает, поэтому замена производиться без каких либо изменений.
Часы реального времени представляют собой рапространенную спецаилизированную ИМС DS1307, так же содержащую календарь и достаточно хорошо описанную и разобранную «по косточкам» в глобальной сети [2]. При применении обычного часового кварца с частотой 32,768 кГц обеспечивается нормальная точность хода (точнее просто не было необходимости).
«Мозгом», управляющим выводом информации и обработкой вводимых и выводимых данных, является 8-ми разрядный микроконтроллер ATmega8.
Все в кучу
Полная схема устройства изображена на рисунке:
К вышеописанному можно добавить, что в схеме присутствует источник питания на 5 В на интегральном стабилизаторе типа LM7805, зуммер (пьезоизлучатель со встроенным генератором) с напряжением питания 5 В, предусмотрена возможность установки 6-ти кнопок, из них для обеспечения функционала используется лишь 4. Так же предусмотрена установка разъема для внутрисхемного программирования МК (ISP Connector). Для улучшения наглядности и читаемости показаний времени/даты используются дополнительные неоновые индикаторы типа ИНС-1 (возможно использование других типов с подбором резистора R38 для установки требуемой яркости свечения) в качестве разделительных точек.
Режем, рубим и… паяем
Устройство состоит из 2-х печатных плат размером 180х45 мм изготовленных из одностороннего фольгированного стеклотекстолита толщиной 1,5 мм по лазерно-утюжной технологии. Все используемые детали выводные, для монтажа в отверстия. При установки плат друг над другом, общая высота нижней платы с установленными деталями не превышает 10 мм (ограничена примененными резьбовыми стойками), все выступающие элементы устанавливаются горизонтально. Соединение плат осуществляется разъемами типа PBS и PLS. Помимо этого есть возможность углового соединения плат между собой с использование угловых разъемов того же типа. Для фиксации можно применить металлические уголки, прикручиваемые к крепежным отверстиям. Кнопки — тактовые, угловые, разъем питания — для установки на корпус.
Важно, после монтажа нежно проверить наличие между собой контакта всех участков «земляного» полигона, соединенных с выводами элементов, и, при необходимости, пропаять проблемные места. Обратите внимание, что с не припаянными кнопками (крепежные элементы используются как перемычки) и перемычкой над МК, некоторые участки иметь контакта не будут!.
Платы в собранном виде
Фото 1. Вид со стороны пайки
Фото 2. Вид со стороны деталей
Фото 3. «Бутерброд»
Фото 4. Общий вид
Индикаторы впаяны непосредственно в плату, что затрудняет последующий демонтаж, если возникнет такая необходимость. Этого можно избежать путем применения каких либо разъемов или частей от них, а так же панелей ПЛ31А-П (пластмасса) или ПЛ31А-К (керамика) для цоколя РШ-31А.
Вдох-выдох, подключай
Платы собраны, вымыты от остатков флюса, проверена правильность монтажа, отсутствие замыканий, можно включать. Если под микроконтроллер установлена панелька, то первое включение можно (и желательно, если в чем то не уверены) производить без него, и без платы индикации.
Внимание!!! Схема содержит источник высокого напряжения. Для предотвращения случая поражения электрическим током необходимо соблюдать требования техники безопасности.
После включения нужно убедиться в правильной работе источника питания. Для этого замеряем напряжение на конденсаторе C14, и подстроечным резистором RV1 устанавливаем значение равное 170 В. Также нужно проконтролировать наличие питания с напряжением 5 В.
Далее обесточиваем схему и вставляем (запаиваем) МК. Контроллер можно запрограммировать отдельно имеющимся программатором, или прошить прямо на плате (для этого предусмотрено место под разъем для внутрисхемного программирования).
Фьюзы для прошивки: cksel=F, sut=3, boden=0, bodlevel=0 (для mega8L bodlevel=1). Остальные по умолчанию. Также необходимо запрограммировать энергонезависимую память (EEPROM)
Скриншот фьюзов для CodeVisionAVR:
После включения часы будут стоять, чтобы они пошли необходимо выставить время.
Тыкая кнопочки
Управление часами осуществляется 4-мя кнопками. При каждом нажатии издается звуковой сигнал
Кнопки (слева направо)
Действие
Действие в режиме показа времени
1 (MODE)
Выбор режима
—
2 (NEXT)
Следующий параметр
—
3 (SET)
Установка значения
Показать дату
4 (SAVE)
Сохранение значений
Выключение будильника
Для настройки используется 4-е режима (без режима «по умолчанию»), переключение которых осуществляется циклически (0 -> 1 -> 2 -> 3 -> 4 -> 0, «0» используется для привязки к программе ).
Режим
Назначение
0
Показ времени (режим «по умолчанию»)
1
Настройка времени
2
Настройка даты
3
Настройка будильников
4
Дополнительные настройки
Если примерно в течении 10-и секунд не была нажата ни одна кнопка, часы переходят в режим «по умолчанию». При выборе кнопкой «NEXT» нужного параметра для его установки, соответствующее значение будет мигать, и при его изменении кнопкой «SET» загорятся разделительные точки. Это означает , что текущее значение хотя бы одного параметра изменено и, если необходимо, его нужно сохранить нажав кнопку «SAVE», разделительные точки при этом погаснут. В случае выставления недопустимых значений времени или даты и при попытке их сохранения кнопкой «SAVE», запись не будет произведена, о чем будут свидетельствовать горящие точки.
Настройка времени: выставляется требуемое значение, при установки секунд (как десятков, так и единиц) происходит их сброс в «0». Далее в нужный момент введенные значения сохраняются.
Настройка даты: тут просто выставляется требуемое значение и сохраняется.
Настройка будильника: выставляются часы и минуты, при изменении значения в позиции для десятков секунд происходит последовательный перебор будильников (всего может быть настроено до 10-ти будильников), в позиции единиц секунд будильник активируется при установки «1», и, соответственно, деактивируется установкой «0» (при прошивке все будильники установлены в 00:00 и выключены).
Дополнительные настройки: здесь каждый параметр отвечает за небольшое изменение функциональности. В таблице приведены значения дополнительных настроек.
Параметр (по порядку)
Значения
Функциональность
1
0 / 1
Выбор зуммера или динамика соответственно
2
0 / 1 (выкл/вкл)
Включение эффекта плавной смены цифр
3
0 / 1 (выкл/вкл)
Показ даты в начале каждого часа (~ 10 сек)
4
0 / 1 / 2
Разделительные точки (потушены / зажжены / мигают)
5
0 / 1 (выкл/вкл)
Звуковой сигнал каждый час
6
0 / 1
Номер мелодии для будильника («0» для зуммера)
(при прошивке все значения установлены в «0»). Мелодия для будильника сделана одна «В траве сидел кузнечик», так сказать, на пробу (за то что понравится не ручаюсь 🙂 ). При использовании зуммера не рекомендуется ставить мелодию, потому что будет каша из звуков «режущих» ухо.
Прошивка написана на языки Си в среде CodeVisionAVR 2.05. Исходный код (с подробными, я так думаю, комментариями) прилагается. Проект печатной платы и схема выполнены в Altium Designer 10. Для не владеющих этим инструментом все переведено в PDF.
Если будет время, возможно, что-нибудь будет добавляться в прошивку, но для повседневного использования такого функционала по-моему достаточно. Или каждый может поменять и добавить то, что ему нужно.
Небольшое видео работы часов:
… и ещё пара картинок
Использованные материалы:
1. Повышающий DC-DC преобразователь
2. DS1307
3. Огромнейшая тема по часам на ГРИ
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
U1
Часы реального времени (RTC)DS13071
U2
Кодер, декодерSN741411
SN74141N или К155ИД1U3
МК AVR 8-битATmega8A1
ATmega8A-PUU4
Линейный регуляторL7805AB1
U5
DC/DC импульсный конвертерMC34063A1
Q1, Q3, Q6, Q8, Q10, Q12, Q15
Биполярный транзисторКТ940А7
MPSA42, MPSA92, BF422 BF423Q2, Q4, Q7, Q9, Q11, Q13, Q16
Биполярный транзисторКТ3157А7
Q5
Биполярный транзистор2N55511
Q14
MOSFET-транзисторIRF7401
D1-D6
Выпрямительный диод1N41486
D7
Выпрямительный диод1N49371
C1
Конденсатор0.047 мкФ1
C2, C3, C5, C6, C8, C10
Конденсатор0.1 мкФ6
С4
Электролитический конденсатор100 мкФ 25В1
C9
Электролитический конденсатор10 мкФ 25В1
C11
Электролитический конденсатор470 мкФ 25В1
C12
Конденсатор100 пФ1
C13
Конденсатор470 пФ1
C14
Электролитический конденсатор4.7 мкФ 250В1
C15, C16
Конденсатор22 пФ2
R2
Резистор100 Ом1
R3, R19, R28
Резистор10 кОм3
R4
Резистор3 кОм1
R5, R6, R10, R14, R20, R24, R29, R33
Резистор4.7 кОм8
R7, R11, R15, R21, R25, R30, R35
Резистор33 кОм7
R8, R12, R16, R22, R26, R31, R36
Резистор100 кОм7
R9, R13, R17, R23, R27, R32, R37
Резистор470 кОм7
R34
Резистор330 Ом1
R38
Резистор150 кОм1
R43
Резистор560 кОм1
R44-R47
Резистор04
R48
Резистор3.3 кОм1
RV1
Подстроечный резистор2 кОм1
Y1
Кварц32768 Гц1
Y2
Кварц7.3728 МГц1
LS1
Пьезоизлучатель5 вольт1
V1-V6
Индикатор газоразрядныйИН-126
ИН12-А или ИН-12БDS1-DS4
Неоновая лампаИНС-14
L2
Дроссель330 мкГн1
Не менее 0.5АS1-S6
Кнопказамыкающая1
P1
Разъём2 контакта1
разъём питанияP2
РазъёмPLS-71
соединение платP3
РазъёмPLS-101
соединение платP4
РазъёмPBS-71
соединение платP5
РазъёмPBS-101
соединение платДобавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- CLOCK-v1_1.PDF (1312 Кб)
- CLOCK-v1_1.zip (358 Кб)
- Source_code CVAVR.ZIP (170 Кб)