Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

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


Реклама ⓘ

Часы на ВЛИ индикаторе ИВ-18

Небольшое вступление

Привет всем уважаемые читатели! Меня как и многих тут посещала мысля сделать что-нибудь эдакое. Руки чесались, голова пухла и таки придумал. Данные часы разрабатывались не неделю или две. Все начиналось с прототипов отдельных узлов, потом, поняв как работать с этим индикатором - начались всякие веселые бегущие строки со словами из трех букв на нем, ну и все в таком духе. Что-ж присказка закончилась, сказка начинается!

Краткое описание схемотехники

Схема часов на ВЛИ индикаторе ИВ-18

Особо-интересных узлов тут нету, все по стандарту. В основу лег микроконтроллер ATmega168. Схема питается от 5 вольт. Преобразователь на MC34063 повышает напряжение до 32 вольт для работы сегментов и сеток. По поводу драйвера: чувствую волну годовых запасов тухлых помидоров по поводу коммутации: запирать нужно отрицательным напряжением, а открывать небольшим положительным! Накал надо питать от переменного тока, а то разряды будут неравномерно светиться! Ну что я могу вам сказать: засветка конечно есть, но очень малозаметная, даже в темноте! По поводу неравномерности свечения разрядов: такого не наблюдал, все ровно. Я делал тупо из того, что было под рукой. Питание с повышайки поступает на массив Дарлингтона (UDN2981) и затем уже на сегменты/сетки. Само отображение работает по принципу динамической индикации, т.е. все синхронизировано так, что-бы в нужный момент времени засвечивались нужные сегменты под нужной сеткой. Об этом пойдет речь чуть дальше. Остальные все элементы включены по даташиту и думаю, что особого разъяснения ничего не требует.

Немного о программном коде

Программа написана в среде Atmel Studio 7.0. При написании самой программы я не использовал ничего готового. Все библиотеки написаны в ручную. Немного пробежимся по принципам работы программы.

IRDA (Инфракрасное управление)

Инфракрасное управление работает по протоколу NEC/NEC 2.0. Другие протоколы не поддерживаются! Почему? Да потому-что пультов с NEC у меня полным-полно, да и разбираться с другими протоколами было дико лень. Значит, как оно работает. В системе есть таймер (таймер 2 в этом случае). Наш таймер настроен на переполнение каждые 100 мкс. Так-же в системе есть для этого внешнее прерывание (INT0 в этом случае), настроенное на работу по нисходящему фронту. И так, рассмотрим, что такое NEC

Мы видим опорный импульс (9мс) и паузу (4.5мс). Лог 1. Длится 2.25мс, лог. 0 длится 1.12мс. Но! У нас прерывание настроено по нисходящему фронту! Хорошо, Наш опорный импульс в таком случае будет 13.5мс, а остальные данные - как и были. Важно понимать, что в данных (0 и 1) всегда есть импульс 560мкс. т.е. если не взирать на то, что прерывание настроено на нисходящий фронт и принимать импульсы по смене логического состояния, то лог 1. - это первый импульс 560 мкс, второй 1690мкс, и тож самое с лог. 0. Ладно, надеюсь, поняли =))) Значит пришло внешнее прерывание с ИК-приемника, запустился таймер, начался отсчет. Смотрим, сколько мы там насчитали и уже проводим нужные операции. К примеру пришел стартовый импульс 13.5мс, значит выставляем флаг начала приема и можем приступать к приему данных. Так-же в том самом таймере 2 присутствует сброс при достижении какого-либо значения, если ничего не пришло после стартового импульса или когда все данные приняли. Посылка NEC выглядит вот так:

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

Описание часов, настройка и обучение ИК-пульту

Как только включили часы - нужно настроить время. Можно это сделать двумя способами:

  1. Кнопками
  2. ИК-пульт

Но при включении пульт у нас не настроен. Давайте для начала настроим время и дату. Нажимаем и удерживаем кнопку "MENU", до тех пор, пока не начнет мигать первое значение. Кнопками UP, DOWN можно настроить время/дату, перемещаться по меню - коротким нажатием на MENU. Сохранение настроек - короткое нажатие на ОК. Кстати при настройке кнопки UP, DOWN можно нажимать одиночным нажатием или нажать и удерживать.

Настройка ИК-Пульта

Для входа в настройки ИК-пульта в обычном режиме нажимаем и удерживаем OK, пока не увидим подобный экран 

Полоска должна бежать от цифры к надписи. Нажимаем кнопку на пульте и если все прошло хорошо, то увидим такую надпись:

 

Это означает, что код кнопки уже сохранен в EEPROM

Если кнопка с таким кодом уже будет в системе, то вы увидите:

Кнопками UP, DOWN можно перемещаться по номерам настраиваемых кнопок, кнопкой MENU можно сбросить текущую настройку (если не настроить ничего после сброса, то останется предыдущая запись). Теперь поговорим о номерах настраиваемых кнопок:

  1. POWER OFF (пока что не используется)
  2. MENU (вход в меню)
  3. PLUS (прибавление значения)
  4. MINUS (убавление значения)
  5. CLEAR (сброс настраиваемого значения в начальное положение)
  6. PLAY (она же OK, для сохранения настроек)
  7. FWND (перемотка вперед, перемещение вперед по меню или отображаемой информации)
  8. RWND (перемотка назад, перемещение назад по меню или отображаемой информации)
  9. RETURN (выход из настроек)

Выйти из настроек можно при помощи нажатии и удержании кнопки ОК

Теперь, когда мы настроили пульт - можно поговорить еще о настройках

Поддерживается нажатие и удержание кнопки (повторные сообщения в NEC). Кнопками FWND, RWND перемещаемся по меню, кнопками PLUS и MINUS настраиваем значения. Вроде все просто, ничего не забыл. А да, в основном экране можно переключать режим отображения (Часы, дата, температура) кнопками UP, DOWN на часах или кнопками FWND, RWND на ИК-пульте

Фотографии

Часы на ВЛИ индикаторе ИВ-18

Послесловие

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

Прикрепил к статье исходный код и файл печатной платы в Sprint-Layout.

P.S. Основную плату заказывал на заводе JLCPCB

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

Теги:

Опубликована: 0 0
Я собрал 0 3
x

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

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

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

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

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
+2
Владимир #
Накал надо питать от переменного тока, а то разряды будут неравномерно светиться! Ну что я могу вам сказать: засветка конечно есть, но очень малозаметная, даже в темноте! По поводу неравномерности свечения разрядов: такого не наблюдал, все ровно.
Питание накала ИВЛ переменным током действительно актуально и так оно и происходит! На яркость свечения ИВЛ во времени влияет старение, как эмиссии накала, так и люминофора анодов! И при питании постоянным током разница свечения первой и последней цифры становится заметной на глаз. Особенно этому подвержены ИВ-18. Если использование часов предполагает игрушку и не надолго, то можно и не заморачиваться и так пойдёт. Но для длительной эксплуатации необходимо принять меры для жёсткой стабилизации параметров питания как постоянного, так и переменного тока (накала). Я проработал мастером по ремонту электронных часов, как настольных, так и наручных, семнадцать лет и мне приходилось сталкиваться с этой проблемой. Маленькое отступление. Клиенты так привыкают к своим настольным часам, что идут на расходы по замене ИВЛ. Разбираясь в этой проблеме, я для своих часов и часов друзей добавлял стабилизатор для накала по переменному току. Добавлял витки трансформатору там, где была возможность, а в нескольких часах даже мотал транс 5V на 7V для работы стабилизатора, который включал в себя диодный мост, транзистор и стабилитрон. Вся стабилизация заключалась в ограничении синусоиды до ТУ. Пробовал ферромагнитную, но это так для себя. Не получилось (овчинка выделки не стоила). На все эти подвиги меня подвинули жалобы, в основном, товарищей на то, что ночью часы начинали светить ярче, чем вызывали у них беспокойство. А вся причина была вызвана повышением сетевого напряжения, особенно там, где трансформаторная подстанция рядом с домом. Такая уж особенность нашей городской электросети. Все усовершенствованные мной часы работают до сих пор, как у меня, так и у друзей. Конечно, естественного старения никто не отменял, но это не сильно заметно. Некоторые аж с 1985 года. Автору успехов в изучении схемотехники!
Ответить
0
BARS_ #
Вот на счет переменки на накале. Мои часы уже более полу года работают с постоянкой на накале. Стоят на работе, работают минимум 8 часов в день и пока никакой разницы а яркости сегментов нет. Как и просадки яркости. Так что плата с переменкой на накале все еще ждет своего часа и сколько еще будет ждать - неизвестно.
Ответить
0
Владимир #
А что касается ваших часов, то никуда торопиться и не нужно. Подождите ещё всего полгода, и тогда плату придётся менять уже вместе с индикатором — поверьте на слово моему многолетнему опыту (смайлик).
Ответить
0
BARS_ #
Так вот и жду. Индикаторов в запасе достаточно, да и стоят они копейки. Выпаять же текущий - задача слишком сложная по отношению к получаемой выгоде
Ответить
0

[Автор]
Redfern89 #
Владимир, спасибо огромное! Очень хорошо все разложили по полочкам! Буду стараться и придерживаться Вашим советам в этом направлении
Ответить
0
Сергей Кузьмин #
Я свои на 145 ИК 1901 и ИВЛ 1-7-5 собрал еще в далеком 1993году. Питал по стандартной схеме постоянка -27В, так эти часы до сих пор идут секунда в секунду и равномерность свечения индикаторов идеальная. Так же собрана доработка гашение незначащего "0" Все в идеале!
Ответить
0
E #
Мощненько, за исходник отдельное спасибо, прокомментирован очень хорошо, интересно было посмотреть.
Ответить
0
andro #
Проект достойный, только вот считаю, что нужна тёмная передняя панель, а то сильно засвечено, и не очень хорошо читается.
Ответить
0

[Автор]
Redfern89 #
Из-за тёмной передней панели теряется суть. Лампа должна быть видна. Засветка только на фото видна. В реальности совсем не так
Ответить
0
BARS_ #
Прекрасно все читается и без темной панели. Просто фото не очень сделано. В реальности цифры легко читаемы даже при ярком освещении.
Ответить
0
BARS_ #
Проект достойный. Единственно, не совсем понятен смысл ИК управления. А вот датчик освещенности как раз таки не помешал бы. Кстати, связку регистров с драйверами можно одной микрухой заменить. Управление останется SPI, только ШИМ для управления яркостью будет проще загонять.
Ответить
0

[Автор]
Redfern89 #
Смысл в ИК - изучение. Делал из того, что было
Ответить
0

[Автор]
Redfern89 #
На счёт датчика думаю пока что
Ответить
0
BARS_ #
Датчик позволит продлить срок службы лампы, т.к. она далеко не всегда будет работать в полную яркость
Ответить
0

[Автор]
Redfern89 #
Не, он точно будет в системе, просто меняя ШИМ для яркости - будет меняться и "напряжение" накала, что не очень.
Ответить
0
BARS_ #
Накал менять не будет
Ответить
0
BARS_ #
ШИМ дается с МК на сегменты. Накал же питается от одного и того же напряжения всегда.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Бокс для хранения компонентов USB-реле (2 канала)
вверх