Например TDA7294

РадиоКот > Схемы > Цифровые устройства > Бытовая техника

Часы Sunny_Clock.

Автор - Alexey_Sh.
Участник Конкурса "Поздравь Кота по-человечески 2009"
Опубликовано 10.09.2009.

Дорогой РадиоКот! Присоединяюсь к поздравлениям. Долгие, как говорится, лета. В качестве подарка рискну предложить самый наверное оригинальный: часы. У РадиоКота их штук десять наверное. И точно такие же, на газоразрядных индикаторах уже есть. Ну что на это можно сказать? Такие же, да вот не такие! Ниже приведено их описание.

Несколько лет назад попались на глаза часы на газоразрядных индикаторах и чем-то заворожили. Стал собирать фотографии, схемы, описания. И сайт "Радиокот" был обнаружен именно благодаря этому "нездоровому" интересу. Копировать кого-то и повторять "как есть" не хотелось: как показывал опыт, делать свои ошибки гораздо приятнее и менее затратно, чем разбираться в чужих.
Много чего насобирал и стал размышлять, что же именно нужно. Запросы были весьма и весьма скромны: хотелось, чтобы показывало практически всё на больших красивых индикаторах, говорило человеческим голосом и било боем каждые 15 минут в дневное время и не било боем в ночное. Чтобы будило приятной музыкой по выбору пользователя, само себя корректировало по каналам GPS, DCF-77 и сигналам точного времени радиостанции "Маяк", управлялось от пульта по протоколу RC5, от компьютера по Bluetooth, а от пользователя - с помощью такого простого, распространённого и доступного всем способа как прямое мыслеуказание. Хотя бы... Но суровые будни с дефицитом времени и средств привели к варианту системы "простой". Что значит простой? В понимании автора это значит: 6 знакомест, время/дата, будильник, микроконтроллер + часы реального времени, одна печатная плата, динамическая индикация, доступная и недорогая элементная база. Да, динамическая индикация хуже статической, но проще аппаратно и ценою подешевле. Кроме того, в сети оказалось довольно много коммерческих проектов с динамической индикацией. То, что они продолжают существовать, говорит о достаточной надёжности такого подхода.
Что в результате получилось, можно увидеть на фото.

Изготовлено 4 экземпляра. Все запустились и работают. Правда, по очереди - блок питания один, и батареек на всех не хватает.
Основные характеристики часов SUNny_Clock:

Номинальное напряжение питания, В

12

Ток потребления, не более, мА

200

Ток потребления типичный, мА

150

Индикаторов типа ИН 14

6

Размер ПП, мм

150x60

Минимальная высота устройства без учета высоты ламп, мм

36

Минимальная высота устройства с учетом высоты ламп типа ИН 14, мм

85

Формат индикации времени

Часы\Минуты\Секунды

Формат индикации даты

Число\Месяц\Год

Момент и продолжительность индикации даты

Последние 2 с каждой минуты

Количество кнопок управления

2

Будильников

2

Дискретность установки времени срабатывания будильника, мин

5

Программных градаций подстройки яркости индикаторов

5

Описание схемы и конструкции часов SUNny_Clock.

Схема выполнена в OrCAD Capture 9.2 и построена на ATMega8 16AI в корпусе для поверхностного монтажа. Нумерация выводов микроконтроллера соответствует корпусу TQFP 32. Замена на микроконтроллер в DIP корпусе в рамках данного проекта не предусмотрена. Часы реального времени DS1307. Точность хода определяется параметрами часового кварца ZQ1. Какой поставите, так ходить и будут. В часах установлены газоразрядные индикаторы ИН 14, которые можно заменить на ИН 8 2 с учётом отличий по распиновке. Нумерация выводов индикаторов осуществляется по часовой стрелке со стороны выводов. У ИН 14 вывод 1 указан стрелкой.

ИН-14

ИН-8-2

Ахтунг! С индикаторами ИН 8 2 работа часов не проверялась.
Нумерация выводов транзисторов MPSA42 дана для корпусаTO 92. Впрочем, эти транзисторы в других корпусах имеют другие обозначения. У Philips они такие:

Канал связи упрощённой версии RS232 использовался в процессе написания программы микроконтроллера и его работа в окончательном варианте не предусмотрена. Звуковой излучатель BA1 имеет встроенный генератор и напряжение питания 5В. При соответствующем подключении подойдёт любой другой на напряжение 12В. Повышающий преобразователь напряжения выполнен на микросхеме MC34063A. (MC33063A). По распространённости и стоимости она несколько уступает таймеру 555, на котором можно построить такой преобразователь, однако дешевле и доступнее MAX1771. Неполярные конденсаторы керамика, полярные - электролиты Low ESR (например, EXR фирмы Hitano, FC Philips, CV AX Sanyo и т.п.). Если Low ESR недоступны, поставьте параллельно электролиту керамику или плёнку. Дроссель в повышающем преобразователе использован типа B82477 (EPCOS) 220 uH на ток 1.16A. Минимальное расчётное значение дросселя составляет 180 uH, минимальный расчётный ток дросселя составляет 800 mA. Не рекомендуется использование дросселя с меньшими значениями (зато с бОльшими рекомендуется :).
Дешифраторами работают два корпуса К155ИД1. В коммутаторе анодного напряжения использована оптопара TLP627. Предвосхищая вопрос, можно ли использовать вместо них распространённую схему на транзисторах MPSA42/MPSA92: теоретически можно, но для данной прошивки нужен дополнительный инвертор и не факт, что временнЫе характеристики ключей совпадут, а прошивка будет управлять динамической индикацией корректно. В общем, четкого ответа автор дать не может, так как им это решение экспериментально не проверено. Величины R23 и R24 предлагается подобрать самостоятельно, так как в авторском варианте они отсутствуют, а без них токи через запятые превышают допустимые уровни.
Пару слов о странностях с распределением сигналов по портам. При разработке схемы подразумевалось привлечение внешнего программиста. Он бы с ними и боролся. А у автора плата зато красиво развелась. Если бы автор изначально собирался программировать сам, то он ни в жизнь бы так сигналы не расставил. Ну а уж раз так расставил, то пришлось выкручиваться. Теперь о конструкции. Все элементы часов смонтированы на одной печатной плате заводского изготовления. Плата разработана под настольный вариант. На нижнюю сторону платы установлены стойки М3 высотой 25 или 30 мм для крепления к основанию корпуса. Печатная плата разработана в малораспространённой среди посетителей сайта среде OrCAD Layout 9.2 и содержит некоторое количество ошибок и "лишних" элементов (не прижились), поэтому не приводится. Желающим повторить часы придётся разрабатывать плату самостоятельно. До корпуса руки автора проекта по состоянию на сегодняшний буднишний день пока не дошли. Ниже приведены фото смонтированной платы часов.

Особо следует отметить монтаж индикаторов на печатную плату. Если вы вставите выводы индикатора в соответствующие им отверстия и по старой памяти затолкав стеклянные баллоны до упора (как обычно поступают с корпусами DIP) пропаяете выводы, то перевернув плату сможете наблюдать весело стоящие "в раскорячку" ИН 14 (или ИН 8 2). Дело в том, что индикаторы несколько кривоваты. Причём их кривоватость является индивидуальной для каждого конкретного экземпляра. Поэтому при монтаже индикаторы заталкиваем не до конца, прихватываем пайкой 3 вывода каждого из них единообразным способом и начинаем выравнивать по положению относительно печатной платы и относительно друг друга. Выбираем индикатор и смотрим, куда его нужно наклонить. Затем прогреваем вывод одного из трёх припаянных выводов прибора. После того как припой расплавился, измененяем положение индикатора в нужную нам сторону, отводим жало паяльника и, зафиксировав положение, ждём остывания припоя. Переходим к следующему выводу. И так до тех пор, пока не получим приемлемый результат. Иногда требуется "довернуть" индикатор в ту или иную сторону. Но не стоит переусердствовать в грубом физическом насилии над хрупким прибором в стеклянном корпусе.

Описание работы часов SUNny_Clock.
Программа микроконтроллера написана на BASIC-е. Это наверное не модно и вообще неправильно. Но автор честно и с упорством старался исправить ситуацию. Собирал книги по Си и Ассемблеру, клал их (в различных комбинациях: лицевой обложкой как вверх, так и вниз, иногда - в раскрытом виде) под подушку на время сна и под кота Ваську во время бодрствования. Катал их на общественном транспорте. Насколько известно автору, этот в высокой степени прогрессивный и теперь уже достаточно широко распространённый среди студентов ВУЗов метод имеет повышенную усвояемость. Однако, вопреки уверениям этих самых студентов (проклятые двоечники!) и высокой оценке качества книг котом Васькой, на автора вышеуказанный метод не подействовал. Так что выбирать особо не пришлось, а пришлось довольствоваться BASICом, остаточные сведения о котором сохранились с тех времён, когда аппарат сэра Клайва Синклера был способен выполнять роль домашнего компьютера.
Была произведена попытка разработки простого интуитивно понятного интерфейса пользователя. Что из этого получилось, судите сами. Управление производится всего 2 мя кнопками "MODE" (режим) и "SET" (установка).
Правила интерфейса пользователя:
1. Переход от режима к режиму происходит по кольцу кнопкой "MODE".
2. Установка значения производится кнопкой "SET".
3. Корректируемое значение либо мигает, либо имеет бОльшую яркость.
4. Установка значения секунд заключается в их обнулении.
5. Установка значения минут, часов, дня, месяца, года заключается в прибавлении 1 к текущему значению по кольцу до максимального значения, после чего значение обнуляется.
6. Установка минут срабатывания будильника производится от нуля с дискретностью 5 минут (00-05-10-15:55).
7. Если часы находятся не в основном режиме и нажатия кнопок прекращаются, то по истечении нескольких минут часы возвращаются в основной режим.
8. Отмена звукового сигнала будильника производится кнопкой "SET". При этом в следующий раз при достижении времени срабатывания сигнал будильника будет активирован.
9. Запятые в десятках и единицах секунд говорят об активности будильников 1 и 2 соответственно.
Режимы работы часов приведены ниже в таблице 2. Красным условно обозначены ярко горящие разряды, оранжевым - тускло подсвеченные разряды, чёрным - погашенные разряды. Для времени: Ч часы, М минуты, С - секунды. Для даты: Д - день месяца (число), М - месяц, Г - год. Для установки будильника: 1 - будильник 1, 2 - будильник 2, Х - нет значения (черный, погашен).

Первое включение, программирование контроллера и настройка.
Внимание! Схема содержит опасное для жизни напряжение! Будьте осторожны!
Проверьте правильность монтажа схемы. Затем проверьте цепи питания на предмет наличия короткого замыкания в оных. Если не нашли, попробуйте подать на вход питание от источника 12В. Если не пошёл дым, проверьте напряжение цепи питания D5V0. Как видно из названия, оно должно быть равным 5В. С помощью подстроечного резистора RP1 установите на выходе повышающего преобразователя напряжение величиной 190В (для указанных номиналов). Подождите минут 10: элементы схемы не должны заметно нагреваться. Особенно это касается дросселя высоковольтного преобразователя. Его перегрев говорит о неправильно выбранном номинале или о конструктиве со слишком малым рабочим током. Такой дроссель надо заменить на более подходящий.
Подключите программатор. Автор воспользовался AVR910 USB от премногоуважаемого Prottoss`а (Рыжкова Андрея), за что ему большое человеческое спасибо. Установите фьюзы согласно прилагаемому скриншоту программы AVRprog.

С этого момента понадобится элемент питания ВТ1 типа CR2032. На худой конец просто закоротите контакты панельки элемента питания, но тогда время и дату будете устанавливать каждый раз при прекращении подачи питания.
Запрограммируйте последовательно Flash и EEPROM микроконтроллера с помощью прилагаемых прошивок *.hex и *.epp соответственно. И именно в указанной последовательности. На индикаторах будет отображаться "21-15-00". Секунды при этом "пойдут". Если же вы всё ещё не подключили BT1, то вместо времени и даты увидите на индикаторах что-то вроде "05-05-05" и будете долго искать неисправность и ругать нехорошими словами автора. А автор не любит, когда его ругают нехорошими словами.
Установите требуемые значения времени, даты, будильников в соответствии с таблицей описания режимов работ. Когда дойдёте до настройки яркости, программно включите минимальную яркость индикаторов. Подстройте повышающий преобразователь таким образом, чтобы каждый из индикаторов светился с минимальной яркостью, но полностью. То есть, не должно быть так, что часть цифры индикатора светится, а часть нет. Затем программно выставьте максимальную яркость и проверьте свечение цифр индикаторов. Индикаторы не должны светиться чрезмерно, и не должно быть "объёмного" свечения. Коррекция яркости опять же производится с помощью RP1. После этого снова проверьте свечение при минимальной яркости и так далее до тех пор, пока не будут получены приемлемые результаты. Если же приемлемые результаты не будут получены, попробуйте подобрать номиналы анодных резисторов и повторить вышеуказанные действия. Всё! Настройка часов завершена.

Благодарности.
- РадиоКоту за то, что он есть.
- Авторам часов на газоразрядных индикаторах - за опубликованный материал и за то, что подвигли.
- Второй половине - за то, что есть, что подвигла и за помощь в написании ПО. Без её участия проект и сейчас, быть может, оставался на уровне обхода кривости схемы электрической принципиальной.
- Хвостатым членам семьи как преданным и внимательным помощникам, источникам хлопот и хорошего настроения.

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

Файлы:
Прошивка МК.

Вопросы, как обычно, складываем тут.


ID: 272

Как вам эта статья?

 Нравится
 Так себе
 Не нравится

Заработало ли это устройство у вас?

 Заработало сразу
 Заработало после плясок с бубном
 Не заработало совсем

76 1
21 1
Подробно