Радиоприёмник с управлением посредством микроконтроллера ATmega8 построен на базе модуля с тюнером RDA5807M. Возможно также применение отдельной микросхемы тюнера RDA5807FP совместно с часовым кварцем без изменения управляющей программы микроконтроллера. В состав схемы радиоприёмника входит модуль МР3-плеера DFPLayer mini. Управляющая программа обеспечивает работу радиоприёмника в радиовещательном FM диапазоне 87…108 МГц и управление МР3-плеером.
Принципиальные электрические схемы двух вариантов радиоприёмника для приведены ниже.
Фото 1.
1. Основные функции приёмника:
— Сканирование и запоминание настроек на станции в энергонезависимой памяти микроконтроллера.
— Переход между MP3-плеером и FM-радио по длительному нажатию кнопки CH-.
— Возможность редактирования записанных в память частот, в том числе: изменение, добавление и удаление частот каналов приёма.
— Плавная регулировка громкости кнопками V+ и V- с отключением звука при «0».
— Запись последней частоты настройки и громкости в энергонезависимую память при каждой настройке на станцию. При включении начинает работу на сохранённой частоте с предыдущим уровнем громкости.
— Установка контрастности дисплея через меню установок.
— Включение и выключение усиления басов через меню установок.
— Индикация уровня сигнала на дисплее четырьмя столбиками.
— Индикация уровня громкости цифрами от 0 до 16.
— Подсветка дисплея в течение 16 сек при включении и после нажатия на любую кнопку.
2. Меню выбора режима работы
Фото 2.
После включения приёмника, по умолчанию, устанавливается рабочий режим перебора сохранённых в памяти радиоканалов (см. Фото 1). Переход в другие режимы работы производится из этого рабочего режима через основное меню (см. Фото 2). Чтобы перейти в это меню для сканирования или редактирования частот радиостанций, нужно нажать и удерживать не менее 3 сек. в нажатом состоянии кнопку CH+.
3. Сканирование.
Фото 3.
Для записи частот радиоканалов, работающих в данной местности, необходимо перевести радиоприёмник в режим сканирования частот, для чего нужно сначала по длительному нажатию кнопки CH+ войти в меню выбора режима работы, затем снова нажать кнопку CH+. В результате радиотюнер начнёт сканирование и при обнаружении радиостанции на дисплее появляется изображение, показанное на фото 3. Здесь в верхней строке отображается уровень принимаемого сигнала и установленная пользователем громкость. На второй строке отображается порядковый номер радиоканала, на который в дальнейшем будет ссылаться программа. На третьей строке выводится широким шрифтом частота найденного канала. В трёх нижних строках выводится подсказка, облегчающая управление. Далее, если данная частота является действительно радиостанцией, а не помехой или гармоникой, пользователь нажимает на кнопку V+ для записи частоты в память. После этого сканирование продолжается до обнаружения следующего радиоканала или до конца диапазона. Если это помеха, то найденную частоту можно пропустить без записи в память, нажав кнопку V-. По окончании сканирования приёмник перейдёт в рабочий режим. Процесс сканирования можно в любой момент прервать, если нажать на кнопку CH-. В этом случае приёмник также переходит в рабочий режим, в котором можно настраиваться на сохранённые каналы нажимая кнопки CH+ или CH-. При этом происходит перебор каналов в том порядке, в котором они были записаны в память при сканировании.
4. Редактирование списка частот, занесённых в память.
Фото 4.
Для редактирования частот радиоканалов, занесённых в память при сканировании, необходимо перевести радиоприёмник в режим редактирования частот, для чего нужно сначала по длительному нажатию кнопки CH+ войти в меню выбора режима работы, затем нажать кнопку V+. В результате на экране дисплея появится меню выбора режима редактирования (см. Фото 4), из которого можно перейти к нужному действию или выйти из режима редактирования в рабочий режим, если нажать на кнопку СН-.
4.1. Изменение частоты настройки радиоканала.
Фото 5.
Если пользователь желает изменить порядок следования радиоканалов при настройке на радиостанции, он может сделать это путём изменения значений частот каналов, которые были записаны при сканировании. Т. е. пользователю должны быть известны частоты каналов радиовещания. Для изменения частоты выбранного в данный момент канала, нужно войти в меню редактирования и нажать на кнопку V+. При этом на экране дисплея появится информация, показанная на Фото 5. Далее, нажимая на кнопку СН+, нужно выбрать редактируемый разряд числа, который при этом принимает инверсный вид. Затем, нажимая на кнопку V+ или V-, нужно установить значение данного разряда и перейти к другому разряду, вновь нажимая на кнопку СН+. После установки всех разрядов числа, данную частоту можно записать в память, нажав на кнопку СН-. Если установленная частота находится вне диапазона 87…108 МГц, то при попытке её записать, будет выведено сообщение об ошибке ввода, а частота записана не будет.
4.2. Добавление новой частоты радиоканала.
Фото 6.
Если при сканировании какая-либо радиостанция была пропущена, её частоту можно добавить в память. Для добавления новой частоты радиоканала, нужно войти в меню редактирования и нажать на кнопку СН+. При этом на экране дисплея появится информация, показанная на Фото 6. На второй строке дисплея выводится принимаемая в данный момент частота. На нижних трёх строках выводится подсказка, облегчающая управление. Пользователь может записать любую частоту в пределах диапазона 87…108 МГц. Для этого нажимая на кнопку СН+, выбрать редактируемый разряд числа, который при этом принимает инверсный вид. Затем, нажимая на кнопку V+ или V-, можно установить значение данного разряда и перейти к другому, вновь нажимая на кнопку СН+. После установки всех разрядов числа данную частоту можно записать в память, нажав на кнопку СН-, после чего данная частота записывается в конец списка и радиоприёмник переходит в рабочий режим. Если установленная частота находится вне диапазона 87…108 МГц, то при попытке её записать будет выведено сообщение об ошибке ввода и частота записана не будет
4.3. Удаление частоты радиоканала.
Фото 7.
Если при сканировании ошибочно была сохранена в памяти частота помехи, или на каком-либо канале плохие условия приёма, то такую частоту (как и любую другую) можно удалить из памяти частот радиоканалов. Для этого нужно настроиться на данный канал и затем войти в меню редактирования и нажать на кнопку V-. При этом на экране дисплея появится информация, показанная на Фото 7. Если теперь снова нажать на кнопку V-, то частота выбранного канала будет удалена из памяти. Чтобы выйти из этого режима без удаления частоты, нужно нажать кнопку СН-.
5. Меню настроек
Фото 8.
Меню настроек позволяет выбрать режим автопоиска, установить или отключить усиление басов, а также настроить контрастность дисплея. Чтобы войти в это меню, нужно сначала по длительному нажатию кнопки CH+ войти в основное меню выбора режима работы, затем нажать на кнопку V-.
5.1. Режим автопоиска.
Кроме режима перебора сохранённых настроек станций, в который радиоприёмник попадает при включении, в программе предусмотрен режим автопоиска. Для перехода в режим автопоиска из режима перебора и обратно нужно сначала войти в меню настроек. При этом на экране дисплея появится информация, показанная на Фото 8. Затем, нажимая на кнопку V+, можно установить или отключить режим автопоиска. Включенный режим автопоиска отображается в верхней строке дисплея буквой «А». Теперь нужно нажать кнопку СН-, при этом радиоприёмник перейдёт в выбранный режим настроек.
Если найденная в режиме автопоиска частота радиостанции уже записана в памяти, то в нижней строке отображается её порядковый номер, иначе выводится сообщение о том, что эта частота неизвестна. В таком случае, при желании, пользователь может, не выходя из режима автопоиска, перейти в режим редактирования через основное меню и сохранить частоту в памяти.
5.2. Установка усиления басов.
Для включения и отключения усиления басов нужно войти меню настроек, как описано выше. Далее, нажимая на кнопку V- можно включить или отключить усиление басов. Результат будет слышен сразу же после переключения, кроме того в верхней строке дисплея буквой «В» отображается включенное усиление баса. Для выхода из меню настроек нужно нажать на кнопку СН-, при этом установленный режим воспроизведения записывается в энергонезависимую память микроконтроллера и будет применяться при каждом последующем включении радиоприёмника.
5.3. Регулировка контрастности дисплея.
Фото 9.
Параметры дисплеев имеют некоторый разброс значений, поэтому устанавливаемая в программе по умолчанию контрастность не всегда оптимальна для конкретного дисплея. Из-за этого возникает необходимость в настройке контрастности данного дисплея. Для настройки контрастности дисплея необходимо войти в соответствующее меню, для чего нужно сначала войти в меню настроек, как описано в предыдущем пункте, затем нажать кнопку СН+. На экране дисплея появится информация, показанная на Фото 9. Теперь, нажимая на кнопки V+ или V-, можно изменить контрастность дисплея, при этом результат изменения сразу виден на дисплее. В нижней строке выводится значение контрастности, записываемое в дисплей. После получения желаемого результата, нужно нажать кнопку СН-. В результате новое значение контрастности будет записано в энергонезависимую память микроконтроллера и при последующих включениях радиоприёмника оно будет использоваться для настройки дисплея.
6. Управление МР3-плеером.
Фото 10.
Переход между MP3-плеером и FM-радио производится по длительному нажатию кнопки CH-. При этом тюнер отключается, а на MP3-плеер подаются команды включения и воспроизведения. На экране дисплея появляется информация, показанная на фото слева. Назначение кнопок управления плеером следующее.
— Короткое нажатие на кнопку V+ вызывает воспроизведение следующего трека.
— Длинное нажатие на кнопку V+ (более 2 сек.) приводит к увеличению громкости.
— Короткое нажатие на кнопку V- вызывает воспроизведение предыдущего трека.
— Длинное нажатие на кнопку V- (более 2 сек.) приводит к уменьшению громкости.
— Короткое нажатие на кнопку СН+ служит для переключения тембра. При каждом нажатии вызывается новый тембр. Всего имеется 6 различных тембров с индивидуальными именами. После вызова шестого тембра вновь вызывается первый, и так по кругу.
— Длинное нажатие на кнопку СН+ (более 2 сек.) вызывает воспроизведение первого трека на данном носителе.
— Короткое нажатие на кнопку СН- устанавливает воспроизведение на паузу. При повторном нажатии на эту кнопку пауза отключается и воспроизведение продолжается с того места трека, на котором остановилось.
— Длинное нажатие на кнопку СН- (более 2 сек.) приводит к отключению плеера и переходу в режим радиоприёмника.
При включении плеер автоматически определяет какой носитель (CD-карта или USB) подключен в данный момент и начинает воспроизводить треки в порядке их физического расположения на носителе информации. Если подключены оба носителя, то воспроизведение начинается с CD-карты.
7. Регулировка громкости.
Кнопки V+ и V- в рабочем режиме служат для регулировки громкости. На дисплей при этом выводится условное значение громкости цифрами от 0 до 16. При каждом кратковременном нажатии на кнопку значение громкости изменяется на одну единицу. При удержании кнопки в нажатом состоянии производится плавное увеличение или уменьшение громкости звучания. При нулевом значении громкости звук полностью отключается. Значение громкости запоминается при каждой новой настройке на станцию. При включении радиоприёмника уровень громкости устанавливается таким, каким он был при последней настройке на станцию. Если при нулевом значении громкости произвести настройку на другую частоту, то включается минимальная громкость.
Установленное в режиме радиоприёма значение уровня громкости в пределах от 0 до 16, при переходе в МР3-плеер приводится в соответствие со шкалой регулировки громкости, принятой для плеера, т. е. от 0 до 30. Аналогичная операция производится и при переходе от плеера к радиоприёму.
8. Подсветка дисплея.
В программе радиоприёмника предусмотрено управление подсветкой дисплея. Подсветка включается при включении радиоприёмника и при нажатии на любую кнопку и гаснет, через 16 сек. после нажатия на кнопки управления.
Вывод 7 подсветки индикатора соединяется с выводом порта РD микроконтроллера без промежуточного транзисторного ключа, т. к. ток подсветки составляет всего 5,2 мА. Для индикатора Nokia5110 на плате синего цвета вывод подсветки нужно соединить с выводом порта PD7, для индикаторов на плате красного цвета этот вывод нужно соединить с выводом порта PD6. На схеме условно показано это соединение через джампер J1.
Article2
9. Доработка МР3-плеера.
Фото 11.
В состав МР3-плеера «DFPLayer mini» входит усилитель низкой частоты 8002, который питается от источника +5 В, как и вся остальная схема. К усилителю можно подключать динамик сопротивлением от 3 до 8 ом. Усилитель даёт вполне приемлемое для портативных радиоприёмников звучание. Для упрощения схемы можно использовать этот усилитель и для радиоприёмника. Для этого нужно подключить выходной сигнал радиоприёмника к выводу 4 микросхемы 8002. Чтобы модуль МР3-плеера оставался съёмным и не был «привязан» к плате было решено слегка доработать модуль. Нужно было освободить один из выводов модуля для подключения к нему сигнала извне. Проще всего это оказалось сделать с выводом 9 модуля. Чтобы отключить его от схемы плейера, нужно выпаять резистор, расположенный рядом с этим выводом. После этого нужно тонким проводом соединить вывод 4 усилителя с освободившейся площадкой, связанной с выводом 9 модуля (см. Фото 11).
Сигнал от радиоприёмника, после такой переделки модуля, нужно подавать на вывод 9 через разделительный конденсатор С9 и резистор R7, подбором которого можно по возможности выровнять громкость звучания радио и плеера. Конденсаторы С7, С8 и С9 желательно применять не электролитические, а керамические.
10. Наладка
Перед первым включением собранного радиоприёмника нужно проверить правильность и качество монтажа. Правильно собранный приёмник должен заработать сразу. При необходимости, возможно придётся уточнить номинал резистора R7 с целью выравнивания максимальной громкости в режиме радио и в режиме плеера. В области малых значений громкости полного соответствия добиться не удаётся по причине того, что шкала регулировки громкости у тюнера логарифмическая, а у плеера, по-видимому нет.
С целью упрощения схемы радиоприёмника, микроконтроллер можно запрограммировать на работу от внутреннего тактового генератора на частоте 8 МГц (прошивка с индексом «RC»). Точное значение рабочей частоты микроконтроллера отличается от экземпляра к экземпляру. При подготовке программы параметры интерфейса UART были подобраны таким образом, чтобы обеспечить работоспособность плеера при отклонении тактовой частоты в пределах 5% в ту или иную сторону. Работоспособность программы была проверена на нескольких экземплярах микроконтроллера, и всё же существует вероятность столкнуться при наладке с отсутствием связи МК с плеером по интерфейсу UART, или с частыми сбоями при управлении. Это выражается в том, что МК либо зависает, либо не все команды плеера выполняются. В таком случае можно подобрать константу делителя частоты интерфейса UART в пределах от 0x2A до 0x37 (шестнадцатеричные значения) и записать это значение в первую ячейку EEPROM (по адресу 00) при помощи программатора. Для этой цели можно использовать, например, программатор ChipBlasterAVR V2.02.
При работе МК с внутренним RC-генератором на частоте 8 МГц необходимо запрограммировать следующие фьюзы: CKSEL0, CKSEL1 и CKSEL3.
Если у радиолюбителя нет желания возиться с подбором константы, а связи с плеером нет, то можно подключить к МК кварцевый резонатор на частоту 8 МГц согласно типовой схемы (см. Рис. 1.). Для такого варианта в конце статьи проводится прошивка с индексом «ZQ». При работе с кварцевым резонатором нужно запрограммировать только один фьюз CKOPT.
Рис. 1. Подключение кварцевого резонатора к микроконтроллеру.
11. Распределение портов микропроцессора:
PB1 — CLK Линия тактирования LCD
PB2 — DIN Входные данные LCD
PB3 — D/C Выбор режима передачи данных (1) или команды (0) LCD
PB4 — СЕ Выбор чипа (0) LCD
PB5 — RES Линия сброса (0) LCD
PC0 — Кнопка V+ увеличения громкости
PC1 — Кнопка V- уменьшения громкости
PC2 — Кнопка CH+ выбора следующей станции
PC3 — Кнопка CH- выбора предыдущей станции
PC4 — (SDA) — Двунаправленная шина данных I2C
PC5 — (SCL) — Двунаправленная шина тактирования I2C
PD0 — RXD Линия приёма данных по UART
PD1 — TXD Линия передачи данных по UART
PD4 — Сигнал готовности МР3-плеера
PD6 — Выходной инверсный сигнал подсветки дисплея
PD7 — Выходной прямой сигнал подсветки дисплея