Модуль фм приемника своими руками

Добавил пользователь Skiper
Обновлено: 18.09.2024

Узнаем, как вы можете слушать местные радиостанции с помощью RDA5807M, Arduino UNO, OLED-экрана и динамика.

В этом проекте мы будем использовать FM-приемник RDA5807M для прослушивания некоторых местных радиостанций с помощью Arduino. Кроме того, мы также отобразим текущую радиостанцию на OLED-экране.

FM-приемник RDA5807M

RDA5807M - это простой стереофонический радиочип, который поддерживает FM-диапазоны во всем мире от 50 МГц до 115 МГц. Он имеет полностью интегрированный синтезатор, селективность промежуточной частоты (IF), RDS / RBDS и декодер MPX.

RDA5807M

RDA5807M

Этот чип имеет мощный цифровой аудиопроцессор с низким ПЧ, а это значит, что вы можете напрямую слушать звук через наушники. Однако если вы хотите подключить его к динамикам большего размера, вам может потребоваться схема усилителя звука. Я буду использовать простой портативный динамик со встроенным усилителем звука для этого проекта.

Распиновка RDA5807M

Распиновка RDA5807M

Распиновка RDA5807M

Оборудование

    (или любая другая плата)
  • RDA5807M
  • I2C OLED Дисплей
  • Радио- или ТВ-антенна
  • Резисторы 10 кОм

Программное обеспечение

Схема соединения

Подключите радиоприемник RDA5807M к Arduino UNO, как показано ниже.


Вы можете использовать одножильный провод или телевизионную/радиоантенну для данного ресивера в качестве антенны. Rout (правый аудиовыход) и Lout (левый аудиовыход) модуля RDA5807M можно подключить через гнездовой разъем аудиоразъема 3,5 мм. Для этого вы можете сделать дополнительный кабель, как я сделал на картинке ниже.


Используя макет, подключите OLED, как показано ниже, и соедините три кнопки последовательно, используя резисторы по 10 кОм. Кнопки подключены к аналоговому выводу A0 Arduino. Дисплей OLED и модуль FM-приемника используют те же SDA и SCL, что и Arduino.


Когда все оборудование подключено примерно так должно выглядеть ваше устройство:



Исходный код

После проверки всех соединений загрузите исходный код, скопировав и вставив приведенный ниже код в Arduino IDE.

Теперь настройтесь на популярные радиостанции в вашем районе, нажав правую кнопку. Вы сможете увидеть текущий диапазон FM на экране OLED. По умолчанию приемник будет использовать автонастройку.


Если качество звука низкое, вы также можете попробовать отрегулировать антенну, чтобы получить лучший сигнал.


Собрал FM радио приемник. Сначала собирал с управлением через кнопки с контролем заряда аккумулятора, потом перепаял для совместно работы с модулем mp3 и остановился на окончательном варианте для себя — чистое радио с энкодерным управлением. Все эти прошивки и схемы можно найти на форуме Радиомодуль с RDA5807M продлевает жизнь старых радиоприёмников
Перечень программ радиоприёмников.docx — тема развивается и далее …










Необходимо установить фьюзы на работу микроконтроллера от внутреннего генератора на 8 МГц. Шестнадцатеричное значение для фьюзов должно быть такое: Low Fuse= E4, High Fuse= DF.

Компиляция прошивки с вашими настройками.
1. Создаём отдельную папку, куда копируем все ассемблерные файлы программы. Название папки не должно содержать кириллицы. Итак в папке лежат файлы:

2. Запускаем AVR Studio 4.16, открываем новый проект, в окошко с названием проекта вводим WH1602_ATMega8_enc, ставим птичку напротив чекбокса "Create initial file" . Указываем путь к нашей папке и жмём кнопку "Next". Попадаем в следующее окно, где выбираем платформу AVR Simulator и контроллер ATMega8, после чего нажимаем кнопку "Finish" и попадаем в открытый проект.
3. Подаём команду "Build" и … ву- а- ля! — компиляция готова!

Возможно не все еще знают, что друзья китайцы продают достаточно интересные устройства по достаточно дешевой цене. Например Mp3-FM радиоприемник который можно встроить в старые магнитолы, музыкальные центры или магнитофоны, а также можно использовать в собственной разработке музыкального устройства. Существует большое количество разных моделей и ценой.

Например

  • Потребляемый ток до 1500 мА,
  • Подключаемая нагрузка к USB порту до 1000 мА,
  • Подерживает формат mp3,
  • Максимальный объем Flash карты до 16 Gb,
  • выходная нагрузка расчитана на сопротивление от 4 до 32 Ом,
  • Уровень сигнала на вход Aux до 650 мВ,
  • Диапазон FM приемника 87.5 ~ 108 МГц,


Подключить такое устройство очень просто, все контакты на печатной плате подписаны. Питается оно от 5 В. Если это напряжение не устраивает то можно впаять в штатное место стабилизатор L78M05A и смело запитывать его от 5 до 18 В. ВАЖНО предварительно убрать перемычку с цифрой 0.

Фото, в круге перемычка.

Стоимость данного устройства меньше 150р. Есть модели с Bluetooth, они соответственно дороже. В том случае если Вы будете собирать свое музыкальное устройство с нуля Вам потребуется оконечный усилитель, его тоже можно купить уже собранный примерно за 60р.

Например:

PAM8403 двух канальный усилитель с мощностью 2,5 Вт на канал. Есть модели с потенциометром оснащенным выключателем. Напряжение питания 5В .


Если хочется собрать радиоприёмник своими руками, чтобы он при этом имел не только FM диапазон но и принимал длинные, средние и короткие волны и при этом был достаточно простым, чувствительным и качественным тогда предлагаю собрать AM, SW, FM радиоприёмник на недорогой универсальной микросхеме Si4825-A10, данный многодиапазонный радиоприёмник я настроил на 6 диапазонов: FM (87,5 – 108 МГц), AM (504 – 1665 кГц), SW5 (5,6 – 6,4 МГц), SW8 (7,1 – 7,6 МГц), SW9 (9,2 – 10 МГц), SW11 (11,6 – 12,2 МГц).

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

Необходимые детали:

Приёмник на Si4825-A10 своими руками, инструкция по изготовлению:

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

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

За основу приёмника на микросхеме Si4825-A10 взята типовая схема с даташита, и дополнена усилителем НЧ на микросхеме 8002B. Для своего радиоприёмника сделал 6 фиксированных диапазонов, которые были подобраны с помощью резистивных делителей, переключение диапазонов осуществляется многопозиционным переключателем. Схему и документацию на микросхему я собрал в архив, его можете скачать по этой ссылке.

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

Для приёма средних волн будет использоваться ферритовая антенна, по даташиту она длиной 5 см и индуктивностью от 180 до 450 микрогенри, у меня получилась почти 400 микрогенри, что вполне входит в необходимые параметры.

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

Для своего радиоприёмника был изготовлен корпус в котором разместились сама плата приёмника, динамик, переключатель диапазонов, резистор настройки на станции, регулятор громкости, выключатель питания, светодиод как индикатор работы, магнитная антенна и один элемент питания 18650 на 3,7В.

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

На задней стенке радиоприёмника размещено гнездо для внешней антенны, у меня это провод длиной 1,5 м и клемма для подключения заземления.

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

Корпус приёмника был вырезан на ЧПУ станке, а ручки распечатаны на 3D принтере, но корпус может быть сделан из чего угодно, это не принципиально, у каждого своя фантазия.

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

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

AM, SW, FM радиоприёмник на SI4825A10 своими руками

AM, SW, FM радиоприёмник на SI4825A10 своими руками

Демонстрация работы широкодиапазонного радиоприёмника на микросхеме Si4825-A10:

Рулим китайским FM-радиомодулем на TEA5767. Датагорская библиотека на C

Приобрел я на пробу радио-модуль на базе микросхемы TEA5767 .
Модуль представляет собой практически законченный приемник. Сам по себе модуль ничего ловить не будет, если только совершенно случайно настройки модуля по умолчанию будут соответствовать какой-нибудь местной станции, но это вряд ли.

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

Содержание / Contents

↑ Типы и распиновка модулей на TEA5767

↑ 1. Наиболее удобный модуль с полной обвязкой:


А теперь по-русски:

↑ 2. Обрезанный модуль tt-502x — TEA5767 без кварца:



Часто нерадивые китайцы высылают этот вариант, вместо описанного выше. Вы сразу поймёте, что вас надули, распаковав бандерольку: на платах нет кварцевого резонатора. Радует то, что эти модули вполне рабочие, хоть и потребуют дополнительных телодвижений. Смотрите расширившуюся схему подключения, прикидывайте дополнительные элементы: часовой кварц, резисторы, конденсаторы. Этот модуль также имеет полукруглые контактные площадки с торцов платы: 4+6 = 10 шт., шаг 2 мм.
Я с таким модулем не работал, но чипы одинаковые, так что моя библиотека должна подойти.

↑ Схема демо-платы для TEA5767

Наверное, это первое моё устройство и программа, которые создавались ради изучения. Поэтому схема очень простая, предназначенная только для того, чтобы запустить модуль FM-приёмника. Учебный проект!


Основные компоненты схемы:
• управляющий микроконтроллер ATmega16
• индикатор знакосинтезирующий 1602 на базе HD44780
• управление на энкодере с кнопкой

↑ Фото моей демо-платы в сборе



↑ Управление TEA5767 по I2C шине. Описание регистров на русском

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

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.

↑ Функции датагорской библиотеки для TEA5767

Теперь пора рассказать про функции библиотеки, их всего пять.
1) tea5767_write (); — функция записи параметров структуры TEA5767WriteRegister в модуль.
2) tea5767_read (); — функция чтения параметров из модуля в структуру TEA5767ReadRegister.
3) tea5767_calc_write_PLL (uint16_t Value); — функция вычисления значения PLL при частоте кварца 32768 Гц, входной параметр — частота в МГц * 100, пример: tea5767_calc_write_PLL (10300) — вычисление значения PLL для частоты 103,00 МГц.
4) tea5767_init (); — начальная инициализация модуля. Можно и не инициализировать, но так как-то user-frendly, подаёшь питание, а там что-то уже играет. Я записываю следующие стартовые параметры:

5) (uint16_t)tea5767_calc_read_PLL (); — вычисляет значение частоты из регистров PLL для чтения.

В библиотеке значения регистров для записи и чтения хранятся в двух структурах, которые определены в заголовочном файле библиотеки.

Структура данных для записи — TEA5767WriteRegister

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.

Структура данных для чтения — TEA5767ReadRegister

После того, как необходимые параметры установлены, нужно вызвать функцию tea5767_write (), которая запишет всю структуру в модуль.
Также легко можно считать уровень сигнала из модуля: вызываем функцию tea5767_read (), SignalLevel = TEA5767ReadRegister.LEV
Таким же образом доступны почти все параметры.

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

Функции для вычисления PLL используют опорную частоту 32768Гц, такой кварц стоит на модуле. Других я не встречал, поэтому в библиотеке я не предусматривал возможности использования другого кварца.

К небольшому сожалению, я не смог реализовать автопоиск станций — не вкурил, как. Поэтому функция автопоиска в библиотеке пока отсутствует. Сожаление небольшое потому, что я живу в зоне неуверенного приема, и даже промышленные образцы приемников не могут поймать все станции, которые у нас вещают. Приходится настраивать вручную.

↑ Видео

↑ Файлы

Библиотеки soft-i2c и TEA5767
🎁libs.7z 3.14 Kb ⇣ 129

↑ Итого

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

Вот и всё, что я хотел рассказать про мою TEA5767-библиотеку. Думаю, перечисленных функций вполне достаточно для управления FM-модулем. Приглашаю желающих повторить наш учебный проект.

Читайте также: