В разных источниках иногда приходилось видеть часы, которые вместо звонка будильника включали радиоприемник. Рассматривая модуль FM тюнера RDA5807m, пришла идея сделать что-то подобное.
Как обычно, без микроконтроллера не обойтись, схема устройства:
В качестве микроконтроллера будем использовать ATmega8a. Это очень популярный и общедоступный микроконтроллер. Использовать его можно как в DIP корпусе, так и в TQFP (здесь только расположение выводов различается для этой схемы). Для продолжительной корректной работы этого микроконтроллера на выводе reset должен быть положительный уровень напряжения, для этой цели используется резистор R4, который подтягивает напряжение питания, создавая надежный потенциал, что предотвращает самопроизвольное перезапускание микроконтроллера. Кнопка S1 предназначена для ручной перезагрузки микроконтроллера. В качестве тактового генератора используется внутренний RC генератор на частоту 8 МГц. В качестве индикатора в схеме используется ЖК дисплей на базе микроконтроллера PCD8544 или более известен этот экран по названию Nokia 5110 или Nokia 3110. Для подключения такого дисплея к микроконтроллеру не нужны дополнительные компоненты, все соединяется в соответствии со схемой. Вся схема устройства питается от напряжения 3,3 вольта, которые получаем посредством стабилизатора AMS1117-3,3 – VR1. Данный стабилизатор напряжения можно заменить на любой другой с выходным напряжением 3,3 вольта, также необходимо учитывать максимальное входное напряжение стабилизатора, чтобы напряжение, которое вы подаете на его вход, не превышало допустимое, что может вывести из строя компонент. Однако для получения звука достаточной громкости необходимо использовать усилитель звука, который питается от более высокого напряжения. В схеме применен усилитель на базе микросхемы TDA7056B, однако этот усилитель можно заменить на абсолютно любой другой, подходящий для вас, например TDA2030, TDA2003 или другие. TDA7056B имеет регулировку громкости потенциометром R9. Схема усилителя построена в соответствии с даташитом, хотя ее можно и доработать для более качественного звука. TDA7056B является моно усилителем, поэтому от модуля RDA5807m берем только один канал звука, либо параллелим их вместе. Звуковой выход тюнера RDA5807m адаптирован для работы наушников с сопротивлением 32 Ом без усилителя звука, но в данной конструкции по определению использование наушников бессмысленно – включение радио в заданный промежуток времени должно разбудить хозяина. Для усилителя на TDA7056B оптимально использовать динамик с сопротивлением 8 Ом. Модуль радио RDA5807m получает настройки от микроконтроллера посредством цифрового интерфейса I2C. Для работы I2C необходимы резисторы R5 и R6, которые формируют положительный перепад напряжения на линиях передачи данных. Из особенностей I2C в RDA5807m необходимо отметить, что в модуля нет возможности обратиться к конкретному регистру, чтобы настроить параметры в одном регистре, необходимо перезаписать и все остальные. После старта I2C и передачи адреса микросхемы с битом чтения или записи указатель регистра автоматически становится на начало регистров чтения или на начало регистров записи и после обращения к одному (первому) регистру указатель автоматически переходит на другой (второй, третий и так далее) регистр. Диаграмму формирования сигналов по линиям I2C для модуля RDA5807m можно посмотреть в даташите, который прилагается в конце статьи. Там же находится и карта регистров радио. Мое мнение, такая организация управления достаточно неудобная, хотя и имеет место быть. Часы в данной схеме используются в виде отдельной микросхемы DS1307. Это одна из самых популярных часовых микросхем среди радиолюбителей. Применить можно микросхему как в корпусе DIP, таки в SO. При разработке схемы DS1307 использовалась в составе модуля Tiny RTC.
Точность хода таких часов напрямую зависит от качества кварцевого резонатора на частоту 32,768 кГц. Многие утверждают, что наиболее точные экземпляры таких кварцевых резонаторов можно выпаять из старых материнских плат. Также DS1307 имеет резервное питание от батарейки типа CR2032, либо чего-нибудь аналогичного с напряжением 3 вольта. Одним из вариантов замены батарейки резервного питания является ионистор. Потребление от источника резервного питания часовой микросхемы достаточно мало и при применении ионистора емкостью порядка 0,47 – 1 фарад позволит сохранять хронологию времени несколько недель. Однако стоимость ионисторов на сегодняшний день достаточно высока по сравнению с копеечными батарейками. Управление настройками схемы осуществляется кнопками S2 – S5.
Теперь собираем схему. Я применил макетные платы:
Интерфейс устройства достаточно прост. На дисплее мы видим текущее время и частоту станции, на которую настроено радио.
Чтобы задать текущее время, частоту радиостанции и время включения и выключения радио, нужно перейти в меню настроек, нажав на кнопку S5.
Кнопками S3 и S4 увеличивается или уменьшается значение, на которое установлен указатель, кнопкой S5 указатель перемещается на следующие значения. В меню настроек установлена защита от переполнения переменных, поэтому выставить 25 часов или 65 минут будет невозможно. При переполнении вверх значение становится равно нулю, а при переполнении вниз, то есть меньше нуля значение становится максимальным – для часов – это 23 часа, для минут - 59 минут, частоты радиостанций лежат в пределах от 87 до 108 МГц, аналогично защита от переполнения работает и для этой переменной. Чтобы сохранить настройки, установленные в меню, необходимо дойти до последней переменной и еще раз нажать S5, тогда мы все сохраним и автоматически перейдем в главное меню. Также в меню настроек радио автоматически включается и можно слышать волну, настраивая частоту радиостанции, при переходе в главное меню радио отключается. Чтобы включить или выключить радио в главном меню независимо от установленного расписания, необходимо нажать кнопку S2. Кроме того в главном меню кнопками S2 и S3 можно регулировать громкость звука.
Для программирования микроконтроллера необходимо знать конфигурацию фьюз битов, скриншот из AVR Studio:
К статье прилагается файл прошивки для микроконтроллера ATmega8a, исходный код в программе AVR Studio 4 и небольшое видео работы радио-часов.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
IC1 | Часы реального времени (RTC) | DS1307 | 1 | Поиск в магазине Отрон | ||
IC2 | МК AVR 8-бит | ATmega8A | 1 | Поиск в магазине Отрон | ||
IC3 | Радио модуль | RDA5807m | 1 | Поиск в магазине Отрон | ||
IC4 | Аудио усилителья | TDA7056B | 1 | Поиск в магазине Отрон | ||
VR1 | Линейный регулятор | AMS1117-3.3 | 1 | Поиск в магазине Отрон | ||
VD1 | Выпрямительный диод | 1N4148 | 1 | Поиск в магазине Отрон | ||
HG1 | LCD-дисплей | PCD8544 | 1 | Nokia 5110 | Поиск в магазине Отрон | |
C1, C3, C4, C7, C8, C11 | Конденсатор | 100 нФ | 6 | C8 - пленочный | Поиск в магазине Отрон | |
C2, C10 | Электролитический конденсатор | 220 мкФ | 2 | Поиск в магазине Отрон | ||
C5, C6 | Электролитический конденсатор | 10 мкФ | 2 | Поиск в магазине Отрон | ||
C9 | Конденсатор | 1 мкФ | 1 | Поиск в магазине Отрон | ||
Z1 | Часовой кварц | 32768 Гц | 1 | Поиск в магазине Отрон | ||
S1-S5 | Тактовая кнопка | TC-A109 | 5 | Поиск в магазине Отрон | ||
R1 | Резистор | 470 кОм | 1 | Поиск в магазине Отрон | ||
R2 | Резистор | 1.5 МОм | 1 | Поиск в магазине Отрон | ||
R3 | Резистор | 200 Ом | 1 | Поиск в магазине Отрон | ||
R4-R6 | Резистор | 10 кОм | 3 | Поиск в магазине Отрон | ||
R7 | Резистор | 4.7 кОм | 1 | Поиск в магазине Отрон | ||
R8 | Резистор | 100 кОм | 1 | Поиск в магазине Отрон | ||
R9 | Переменный резистор | 1 МОм | 1 | Поиск в магазине Отрон | ||
Ls1 | Динамик | 3 Вт | 1 | Сопротивление 8 - 32 Ом | Поиск в магазине Отрон | |
Элемент питания | 3 В | 1 | CR2032 | Поиск в магазине Отрон | ||
Скачать список элементов (PDF)
Комментарии (30) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
[Автор]
[Автор]
Приложение 1: Формат интерфейс I2C Композитный. Потому и в даташите не отражено, а в мануале торчит в конце и обозвано приложением. А что касается P на конце, то она отличается от М только наличием дополнительных копыт (портов GPIO, например, на вывод GPIO3 можно непосредственно приткнуть индикатор стерео/моно) и возможностью работы по трехпроводному последовательному интерфейсу.
[Автор]
[Автор]
[Автор]
Приемущество в ЖК - можно прочитать текст, сразу несколько надписей.
Но в готовой конструкции приоритет нужно отдать ЖК 2х16. Он елегантней будет смотрется в готовой конструкции.
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]