Главная » Микроконтроллеры
Призовой фонд
на ноябрь 2019 г.
1. Регулируемый паяльник 60 Вт
Сайт Паяльник
2. 500 руб
Сайт Паяльник
3. 200 руб.
От пользователей

Похожие статьи:


Электронные часы-будильник на газоразрядных индикаторах и МК

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

Назад в прошлое?

Ре́тро (также стиль ретро; ретро-стиль от лат. Retro «назад», «обращённый к прошлому», «ретроспективный») — достаточно абстрактный художественно-исторический термин, применяемый для описания различных категорий старинных вещей, имеющих некую культурную и/или материальную ценность, и, как правило, нечасто встречающихся в современной повседневной жизни с её нарочитой практичностью и стремлением к избавлению от «лишних» деталей. (Википедия).

Вот как то так. Но прогресс не стоял и не стоит на месте. Все миниатюризируется, унифицируется с одновременным увеличением функциональности. И тут на помощь приходят микроконтроллеры и прочие программируемые интегральные микросхемы (ИМС). Можно конечно использовать и более простые устройства для достижения большей аутентичности изготавливаемого изделия, но... эта совершенно другая тема для разговора.

Это все к тому, что не обязательно возвращаться к возможностям прошлого, а использовать доступное настоящее. Есть, конечно, и другие способы реализации, здесь же рассматривается конкретное решение поставленной задачи на микроконтроллере (МК) производства фирмы Atmel ATmega8.

Внешнее соответствие "призракам" прошлого полностью зависит от фантазии, взглядам, вкусам человека, изготавливающего сей девайс в ретро-стиле. Бесспорно, кому-то нравятся другие направления в оформлении, тогда вам и карты в руки.

А суть в чем?

Предлагаемые часы имеют следующий функционал:

  • Индикация времени в формате ЧЧ:ММ:СС
  • Возможность показа разделительных точек (для большей наглядности)
  • Возможность показа даты в формате ДД:ММ:ГГ в начале каждого часа (~10 сек)
  • Принудительный показ даты
  • Возможность воспроизведения ежечасного сигнала
  • Установка до 10-ти будильников на разное время в формате ЧЧ:ММ
  • Повтор сигнала (если не был выключен) будильника через 5 минут с момента срабатывания
  • Изменение эффекта переключения цифр (плавное переключение)
  • Сохранение настроек и продолжение отсчета времени при отключении питания
  • Через каждые 10 дней работы в 00:00:00 включается двухминутный режим антиотравление катодов 

Небольшая справка: Газоразрядный индикатор — ионный прибор для отображения информации, использующий тлеющий разряд. По сравнению с единичным индикатором — неоновой лампой — обладает более широкими возможностями. Наиболее известными среди газоразрядных являются знаковые индикаторы типа «Nixie tube», каждый из которых состоит из десяти (или иного количества) тонких металлических электродов (катодов), каждый из которых соответствует одной цифре или знаку, при этом они включаются индивидуально. Электроды сложены так, что различные цифры появляются на разных глубинах, в отличие от плоского отображения, в котором все цифры находятся на одной плоскости по отношению к зрителю. Трубка наполнена инертным газом неоном (или другими смесями газов) с небольшим количеством ртути. Когда между анодом и катодом прикладывается электрический потенциал от 120 до 180 вольт постоянного тока, вблизи катода возникает свечение. (Википедия)

Исходя из этого описания следует, что нужно заставить индикаторы "зажигать" свои катоды в требуемой последовательности под управлением МК. Структурная схема будет состоять из следующих частей (см. рисунок):

Структурная схема

Небольшое описание и назначение блоков.

Источник питания (ИП) - тут все просто. ИП предназначен для питания всех элементов схемы.Он должен включать как высоковольтный источник постоянного напряжения для питания устройства индикации (УИ), так и источник низкого напряжения для питания устройства управления и других элементов.

Устройство управления (УУ) - включает в себя сам МК и некоторые другие элементы, непосредственно участвующие в управлении ГРИ.

Устройство индикации (УИ) - можно разделить на сам индикатор и его высоковольтный драйвер анодного напряжения.

Часы реального времени (ЧРВ) - специализированная ИМС, которая ведет отсчет времени, также включает в себя календарь с указанием номера дня недели.

Кто есть кто

Теперь рассмотрим более подробно структуру данного устройства.

В данной конструкции применены газоразрядные индикаторы ИН-12 и индексом "А" или "Б" (отличие ИН-12Б в том что присутствует еще один катод в виде запятой, в схеме он не используется)

ИН-12

Технические характеристики:

Параметры ИН-12

Для питания схемы можно использовать несколько вариантов ИП. Это, например, и классический трансформаторный, или импульсный блок питания, или блок питания с двойным преобразованием. При такой конструкции часов (с ГРИ) наиболее часто применяется последний вариант. Для получения высокого постоянного напряжения, долго не думая, возьмем достаточно распространенную схему с использованием специализированной ИМС DC-DC преобразователя МС34063.

Высоковольтный преобразователь

Принцип работы повышающего (step-up) преобразователя на данной ИМС подробно описан в интернете [1]. Основное отличие: для получения высокого напряжения используется внешний ключ.

Схема довольная простая и не содержит дефицитных деталей. Диод можно использовать любой быстродействующий с напряжением от 300 В и током от 0,5 А. Высоковольтный силовой ключ можно заменить на схожий по параметрам транзистор, так же возможно использовать менее мощный, но дополнительно потребуется установить его на теплоотвод. Дроссель можно использовать готовый на ток не мене 0,5 А или намотать самому на ферритовом сердечнике.

Для питания самих часов используется любой сетевой блок питания (AC-DC адаптер) с постоянным выходным напряжением 12 В и током не менее 500 мА (значение взято с запасом, чтобы исключить нагрев адаптера). Часы работают и от 9 В (проверено, но только на предмет включения).

В качестве драйверов для управления анодами ГРИ используется обычная схема верхнего ключа из состоящая из двух транзисторов.

Драйвер анода

В данном варианте применены отечественные высоковольтные транзисторы. Возможно использование импортных высоковольтных транзисторов типа 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 для установки требуемой яркости свечения) в качестве разделительных точек.

Режем, рубим и... паяем 

Устройство состоит из двух печатных плат размером 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:

Скриншот фьюзов для 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. Огромнейшая тема по часам на ГРИ

Update

Обновленная прошивка от 7.05.2019.

  1. Добавлены два эффекта отображения - плавный переход из одной цифры в другую, смена цифры перебором (настраивается в пункте вкл/выкл эффекта плавной смены).
  2. Добавлен аналоговый датчик температуры типа LM35 (можно использовать похожего типа с характеристикой 10 мВ/°С). Выход датчика подключается на 26-ю ногу МК. На печатной плате изначально заложено место по разъем. Показания температуры выводится при нажатии на кнопку 2(NEXT) в режиме показа времени.
  3. Добавлен ночной режим - пониженная яркость с 22:00 до 6:00. (Для тех, кому не хватало яркости в обычном режиме, анодные резисторы индикаторов можно уменьшить до 1-2,2 кОм).
  4. Из-за некоторых изменений и оптимизаций в прошивке, корректная работа будильника (если им вообще кто-то пользуется) пока не проверена. По задумке должно работать так: при настройке будильника, в позиции единиц секунд - 0 - выкл; 1,2,3,4,5,6,7 - по дням; 8 - будни; 9 - все дни.

Архив (Clock_firmware_7.05.2019.zip) с прошивкой (исходников не будет) прикреплен ниже. 

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
U1 Часы реального времени (RTC)
DS1307
1 Поиск в Utsource В блокнот
U2 Кодер, декодер
SN74141
1 SN74141N или К155ИД1Поиск в Utsource В блокнот
U3 МК AVR 8-бит
ATmega8A
1 ATmega8A-PUПоиск в Utsource В блокнот
U4 Линейный регулятор
L7805AB
1 Поиск в Utsource В блокнот
U5 DC/DC импульсный конвертер
MC34063A
1 Поиск в Utsource В блокнот
Q1, Q3, Q6, Q8, Q10, Q12, Q15 Биполярный транзистор
КТ940А
7 MPSA42, MPSA92, BF422 BF423Поиск в Utsource В блокнот
Q2, Q4, Q7, Q9, Q11, Q13, Q16 Биполярный транзистор
КТ3157А
7 Поиск в Utsource В блокнот
Q5 Биполярный транзистор
2N5551
1 Поиск в Utsource В блокнот
Q14 MOSFET-транзистор
IRF740
1 Поиск в Utsource В блокнот
D1-D6 Выпрямительный диод
1N4148
6 Поиск в Utsource В блокнот
D7 Выпрямительный диод
1N4937
1 Поиск в Utsource В блокнот
C1 Конденсатор0.047 мкФ1 Поиск в Utsource В блокнот
C2, C3, C5, C6, C8, C10 Конденсатор0.1 мкФ6 Поиск в Utsource В блокнот
С4 Электролитический конденсатор100 мкФ 25В1 Поиск в Utsource В блокнот
C9 Электролитический конденсатор10 мкФ 25В1 Поиск в Utsource В блокнот
C11 Электролитический конденсатор470 мкФ 25В1 Поиск в Utsource В блокнот
C12 Конденсатор100 пФ1 Поиск в Utsource В блокнот
C13 Конденсатор470 пФ1 Поиск в Utsource В блокнот
C14 Электролитический конденсатор4.7 мкФ 250В1 Поиск в Utsource В блокнот
C15, C16 Конденсатор22 пФ2 Поиск в Utsource В блокнот
R2 Резистор
100 Ом
1 Поиск в Utsource В блокнот
R3, R19, R28 Резистор
10 кОм
3 Поиск в Utsource В блокнот
R4 Резистор
3 кОм
1 Поиск в Utsource В блокнот
R5, R6, R10, R14, R20, R24, R29, R33 Резистор
4.7 кОм
8 Поиск в Utsource В блокнот
R7, R11, R15, R21, R25, R30, R35 Резистор
33 кОм
7 Поиск в Utsource В блокнот
R8, R12, R16, R22, R26, R31, R36 Резистор
100 кОм
7 Поиск в Utsource В блокнот
R9, R13, R17, R23, R27, R32, R37 Резистор
470 кОм
7 Поиск в Utsource В блокнот
R34 Резистор
330 Ом
1 Поиск в Utsource В блокнот
R38 Резистор
150 кОм
1 Поиск в Utsource В блокнот
R43 Резистор
560 кОм
1 Поиск в Utsource В блокнот
R44-R47 Резистор04 Поиск в Utsource В блокнот
R48 Резистор
3.3 кОм
1 Поиск в Utsource В блокнот
RV1 Подстроечный резистор2 кОм1 Поиск в Utsource В блокнот
Y1 Кварц32768 Гц1 Поиск в Utsource В блокнот
Y2 Кварц7.3728 МГц1 Поиск в Utsource В блокнот
LS1 Пьезоизлучатель5 вольт1 Поиск в Utsource В блокнот
V1-V6 Индикатор газоразрядныйИН-126 ИН12-А или ИН-12БПоиск в Utsource В блокнот
DS1-DS4 Неоновая лампаИНС-14 Поиск в Utsource В блокнот
L2 Дроссель330 мкГн1 Не менее 0.5АПоиск в Utsource В блокнот
S1-S6 Кнопказамыкающая1 Поиск в Utsource В блокнот
P1 Разъём2 контакта1 разъём питанияПоиск в Utsource В блокнот
P2 РазъёмPLS-71 соединение платПоиск в Utsource В блокнот
P3 РазъёмPLS-101 соединение платПоиск в Utsource В блокнот
P4 РазъёмPBS-71 соединение платПоиск в Utsource В блокнот
P5 РазъёмPBS-101 соединение платПоиск в Utsource В блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: Изменена: 07.05.2019 0 9
Я собрал 7 Участие в конкурсе 7
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.9 Проголосовало: 7 чел.

Комментарии (375) | Я собрал (0) | Подписаться

0
Bunchie #
Спасибо автору за проект! Собрал часы, все запустилось с первого раза. Но у меня проблема, возможно подскажите решение. Почитав комментарии, увидел что эта проблема уже встречалась и я уже попробовал некоторые способы ее решения - не помогло, а в некоторых случаях стало даже хуже.
Суть в том, что у меня часы серьезно отстают на 2-3 мин за сутки.
Что было сделано: 1) Замена кварца - ничего не поменялось. 2) Заземление корпуса кварца - вроде стало лучше, но потом опять стали отставать. 3) Перепайка кварца непосредственно на ножки панельки с DS1307 и параллельная обвязка конденсаторами обе ножки кварца 10 пф, а потом и 15 пф - стало совсем плохо за ночь часы "убежали" на 10 мин отставания, убрав конденсаторы результат по прежнему стал хуже чем был, 5 мин отставания за несколько часов. Я так понимаю это из за уменьшения емкости линии.
Почитая форумы, увидел совет добавления переменного конденсатора с дальнейшей его подстройкой. Насколько я понимаю у меня не соответствуют емкости нагрузки генератора и емкости кварца.
Параллельное добавление конденсаторов только усугубило ситуацию.
Собственно вопрос, имея все что я написал, что посоветуете?
Ответить
0

[Автор]
crazzian #
Попробуйте найти кварц со старой материнской платы. У меня именно оттуда, таких проблем с точностью нет, поэтому по способам решения проблемы не подскажу. Как вариант, ищите такой, чтобы в описании было точно указано 12.5pF. Так же на точность (как раз на спешку) влияют наводки с других цепей, по питанию. Попробуйте увеличить емкость шунтирующего конденсатора C5.
Ответить
0
Алексей #
Собрал часы, но индикаторы почему-то не горят. На конденсаторе C14 ровно 170 вольт. В чём может быть причина?
Ответить
0
Алексей #
Видимо проблема была в прошивке. Прошивал из Clock_firmware_7_05_2019.zip. Сейчас взял прошивку из папки exe в Source_code CVAVR.ZIP и всё вроде работает.
Ответить
0
Роман #
Спасибо автору за проект. Запустили б часы с первого раза, уважаемый автор, могли бы Вы подкорректировать прошивку, скажем чтобы функция антиотравление включала бы каждые 10 минут. В программировании не силен. Буду Вам признателен за помощь.
Ответить
0
Vladimir Kholodkov #
Здравствуйте, наборы для сборки высылаете? Интересуют печатные платы и прошитый контроллер
Ответить
0
solider01 #
У кого-нибудь есть готовая разведенная плата под mpsa92 и mpsa42 транзисторы?
Ответить
0
vervan2017 #
Граждане, огромная просьба покажите скрин с фьюзами для averdude, зашивать буду через USBASP.
Ответить
0
vervan2017 #
Подскажите пожалуйста, собрал на макетке. Контроллер прошился. Секунды перебираются в неправильном порядке : 0 1 8 6 4 2 9 3 5 7
Лампа ин 14, распиновку проверял, К155ИД менял, часовую схему тоже. С чем может быть связано?
Отредактирован 21.11.2019 00:25
Ответить
0

[Автор]
crazzian #
Соединяйте согласно схеме. Порядок вывода цифр определен программно в прошивке и не соответствует прямому порядку по даташиту.
Ответить
0
vervan2017 #
Спасибо большое за ответ! Хотел у Вас уточнить по схеме распиновку. Посмотрите пожалуйста приложенный файл, правильно ли я соединяю?
Прикрепленный файл: Распиновка лампы Ин14.png
Ответить
0

[Автор]
crazzian #
Не совсем. Слева (на схеме) идут обозначения с подчеркиванием, ищите соответствие между ними, далее соответствия на разъеме, потом соответствия справа (без подчеркиваний).
Ответить
«234
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
LC-измеритель LC100-A Паяльник с регулировкой температуры
вверх