Музыкальные часы с термометрами на PIC16F873A

Часы выполнены на сравнительно больших (25,4х14мм) светодиодных индикаторах приятного зеленого цвета. Корпусом послужили старые настенные часы, точнее — их внутренняя круглая часть.

clock_600x513.jpg

Хорошо различимы в любое время суток с любого уголка комнаты. В связи с назначением часов работать круглогодично, схема разработана с запасом прочности: в анодных цепях индикаторов стоят транзисторы, трансформатор 4,5 ВА, стабилизатор напряжения импульсный с высоким КПД.

Схема музыкальных часов с термометрами на PIC16F873A

Индикаторы FYS-10012 требуют напряжения 3,8 вольт, поэтому в их катодных цепях нет дополнительных резисторов. Для установки или коррекции используются кнопки часов и минут. Каждое нажатие добавляет единичку, удержание кнопки приводит к ускоренному (в разумных пределах) счету. Для отсчета временных интервалов я использовал двухбайтный счетчик TMR1 с начальной установкой. Расчет, при наихудших обстоятельствах, получается 4 минуты за год. Реально: за месяц эксплуатации девиации нет. При отключении от сети индикаторы гаснут, но питание на микроконтроллере остается от резервных аккумуляторов. У меня используются 1,2В 170мА/час 4 штуки. При включении сети они подзаряжаются. Печатная плата получилась 122х104мм, односторонняя.

plata_600x512.gif

Индикатор термометров имеет много выводов (статика), поэтому на печатке несколько перемычек. Резисторы и одна перемычка, которые попадают под индикаторы часов, нужно установить заранее. Но если вдруг забыли — можно припаять со стороны проводников.

Главной особенностью этих часов является ежечасное исполнение музыкальных фрагментов с 7 часов утра и до 21 часа вечера. Каждый час играет своя мелодия, т.е. их 15. Микроконтроллерщики знают, что на PIC среднего семейства, ввиду малого объёма памяти,  создать качественную музыку невозможно. Поэтому в своих конструкциях для отметки каждого часа или будильника радиолюбители используют Buzzer или простейшие тональные сигналы. В PIC 628 я «засунул» кукушку, ежечасное «ку-ку-канье» быстро приелось. Ежечасное проигрывание одной и той же мелодии тоже быстро надоело. А 15 фрагментов мелодий приемлемого качества в 628-ой не вмещается, максимум – 5. Поэтому и был выбран 4-х кило-словный PIC. Оценить качество некоторых фрагментов можно в прилагаемом видео. Принцип создания звука основан на использовании широтно-импульсной модуляции (модуль ССР) и изменяющейся дискретностью в зависимости от частоты нот. Программа написана на ассемблере, использована почти вся память программ микроконтроллера. Выход RC2 через регулятор громкости и трехзвенный фильтр подключен к УНЧ.

Второй индикатор красного цвета показывает температуру с двух датчиков (улица – комната, или… что хотите) в диапазоне от – 55,0 до + 125,0 градусов Цельсия с условной точностью 0,1. Точность условная, потому что завод-изготовитель гарантирует точность DS18B20 в распространенном диапазоне температур: 0,5⁰С. Т.е. индикатор показывает то, что микроконтроллер считывает с датчика. Ну а если датчик немного привирает, то и индикатор. Если температура положительная, то перед числовым значением зажигается знак 1-го или 2-го термодатчика. При отрицательной температуре – знак «минус». Показания сменяются примерно через 15 секунд. При любой неисправности в цепи датчика на индикаторе будет светиться надпись «OFF» (а исправный будет показывать температуру). У меня термодатчики подключаются через разъёмы USB-B, но можно использовать и любые другие. Также можно вообще обойтись без разъёмов: впаять провода в плату.

Сетевой трансформатор и стабилизатор напряжения установлены на задней стенке часов. Плата стабилизатора на рисунке.

pl stab_200x246.gif

До установки микроконтроллера в панельку нужно выставить подбором резистора R2 напряжение на выходе стабилизатора 5,4В. Можно использовать и другой стабилизированный блок питания, в том числе и сетевой адаптер на 5 вольт. Но в этом случае индикатор часов будет светиться не на полную яркость.

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК PIC 8-бит PIC16F873 1
DC/DC импульсный конвертер TL2575-ADJ 1
DA1 УНЧ TDA7052B 1
VT1-VT8 Биполярный транзистор КТ3102 8
VDS1 Диодный мост DB157 1
VD1-VD3 Диод Шоттки 1N5819 3
Q1, Q2 Датчик температуры DS18B20 2
HL1, HL2 Светодиод 3AYG4HD 2 Любой зеленый
С1, С2 Электролитический конденсатор 100 мкФ 2 35 В иили более
C3 Электролитический конденсатор 330 мкФ 1 16 В или более
C4, C7-C9 Конденсатор 0.1 мкФ 4
C5, C6 Конденсатор 20 пФ 2
C10 Конденсатор 0.15 мкФ 1
R1 Резистор 2 кОм 1 0.25 Вт
R2 Резистор 6.2 кОм 1 0.25 Вт
R3, R4 Резистор 4.7 кОм 2 0.25 Вт
R5, R14 Резистор 100 Ом 2 0.25 Вт
R6-R8 Резистор 10 кОм 3 0.25 Вт
R9-R12, R22, R23, R25-R28 Резистор 1 кОм 10 0.25 Вт
R13, R15-R21 Резистор 300 Ом 8 0.25 Вт
R24 Переменный резистор 20 кОм 1
Cr Кварцевый резонатор 4 МГц 1
Tr1 Трансформатор Понижающий 220 В — 9 В 1 4.5 ВА
L1 Катушка индуктивности 330 мкГн 1
Bat1 Аккумуляторная батарея 1.2 В 170 мА*час 4
S1, S2 Кнопка без фиксации 2
7-ми сегментный индикатор FYD-5622FS 2 Общий анод
7-ми сегментный индикатор FYS-10012 4 Общий катод
Динамическая головка KPSP5075 1