РадиоКот :: USB FM-Tuner для компьютера
Например TDA7294

РадиоКот >Конкурсы >пкпч2014 >

Теги статьи: Добавить тег

USB FM-Tuner для компьютера

Автор: cahek80
Опубликовано 18.09.2014
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2014"

Доброго времени суток всем.

Присоединяюсь к поздравлениям и в качестве плюшек вот решил поделиться своей разработкой, надеюсь кому-то она будет полезна.

Немного предистории. Люблю я слушать музыку во время работы. Слушать одни и те же песни на плеере со временем надоедает, поэтому давно хотел сделать на работу FM-тюнер, причем в идеале с управлением от компьютера. История длилась долго, но все же закончилась более-менее успешно. Данное изделие имеет свои минусы (иногда существенные), но о них я напишу в конце статьи. Могу сказать сразу, что первым из минусов тюнера есть необходимость подключения выхода звука в линейный вход компьютера/ноутбука. Для RDA5807 конечно можно подключать сразу наушники, но ведь идея была сделать тюнер полностью подключаемый к компьютеру.

Итак, начнем.

Для ФМ-тюнера были использованы модули TEA5767, RDA5807M в связке с контроллером STM32F103C8T6. Причем сначала был использован модуль TEA5767, затем захотелось RDS, для чего был приобретен модуль на м.с. RDA5807M. После использования RDA5807M выяснилось, что эта микросхема звучит намного лучше и желание использовать TEA5767 напрочь отпало.

Схема, плата, приложение для используемых модулей TEA5767 и RDA5807M одинаковые. Плата отличается только при использовании модуля RDA5807M необходимостью перерезать дорожку к модулю или убрать её при печати из Sprint Layout, на схеме эта дорожка помечена как "TEA5767 only". Кстати, дорожку можно не резать, можно просто этот вывод не подпаивать. Делать две разных "одинаковых" печатки просто не вижу смысла. Прошивки для каждого из модулей разные и они находятся в архиве.

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

Схема "железной" части получилась простой.

Дроссель L1 наматывается на оправке 3 мм около 10 витков, но, как показала практика, не является обязательным, у меня несколько модулей отлично работают и без него.

 

Из-за наличия в запасе выводных деталей (кварц, конденсаторы) печатная плата получилась комбинированной. Желающие могут переделать плату полностью под SMD.

На плате, не помеченные smd детали являются перемычками.

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

У меня в итоге получилось как-то так. Сильно только тапком не бейте. Поскольку я использовал струйный принтер некоторые дорожки под контроллер получились очень близко и пришось процарапать их иголкой. Также в некоторых местах пришлось дорожки подрисовать маркером (эта печатная плата недоэкспонировалась и я перестраховался). На плате есть площадки для подключения шлейфа программатора (я использовал SWD программатор на основе платы stm32vldiscovery)

Запаяная плата (здесь использована другая печатка). При прогреве феном конденсаторы на кварце "поплыли", выравнивать их как-то не поднялась рука..

Вид с другой стороны

В дальнейшем провода были закреплены термоклеем.

 

Итак, плата вытравлена, детали запаяны, готовое изделие подключено к компьютеру (в свободный разъем USB и и разъем Line In компьютера), устройство опозналось, но тихо и скромно молчит, что же делать дальше?

Правильно, в архиве к статье идёт приложение, которое и командует всей этой кухней - USBFmTuner.exe. При его запуске открывается главное окно программы

В левом верхнем углу окна должна появиться иконка USB разъема с зеленой точкой, как на скриншоте, это означает, что модуль был опознан и приложение готово к работе. Также в трее (возле часов) должна появиться иконка приложеня в виде радиоприемника (не перечеркнутого).

"Включаем" радио. На скриншоте ниже можно видеть уже настроеное приложение, открытый список радиостанций и некоторые из них уже добавлены список. К сожалению каждому пользователю придется самому заполнить этот список. Еще одним минусом есть то что при использовании модуля TEA поиск работает криво, в RDA станции находятся нормально.

 

Итак, что-то я отвлекся, включили радио, настроили на частоту известной станции, если у нас появился звук - радуемся и читаем дальше, если звук не появился - читаем дальше.

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

  • Тюнер может конфликтовать с микрофоном в скайпе (все зависит от звуковой карты компьютера)
  • Не регулируется громкость (например, для Windows XP)
  • Не слышно звука (например, для Windows XP)
  • прочее...

Если появились проблемы со звуком (его просто нет), некоторые из них можно решить. Для Windows XP к сожалению я не могу дать каких-либо рекомендаций, поскольку у меня нет компьютера с этой операционной системой. В Windows 7 в трее кликаем правой кнопкой мыши на иконке регулятора громкости, в появившемся меню выбираем пункт "Записывающие устройства"

В открывшемся окне выбираем выделенный пункт

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

Минусом включенной функции прослушивания звука будет то, что нет возможности программной регулировки звука. Для модуля RDA5807 это можно обойти выключив в настройках программы галочки "Включить цифровую обработку звука", тогда громкость будет управляться самим чипом.

Более детально с возникшими проблемами можно будет разобраться на форуме, поскольку предусмотреть все варианты в статье невозможно.

 

А теперь немного истории:

Контроллер STM32F103C8T6 в разработке был использован из-за наличия USB. Сначала были попытки использования PIC18F14K50, но в связи с трудностью прошивки контроллера (у меня не было соответствующего программатора) выбор пал на линейку STM. Кто-то может сказать, что можно было использовать м.с. фирмы Atmel, но у меня под них тоже нет программатора и разница в цене микросхем была около доллара. Также STM32F042 стоили дороже и про них я узнал уже после того, как была написана прошивка и разработана печатная плата.

Как я писал выше, тюнер имеет свои минусы. Первым из минусов тюнера есть необходимость подключения выхода звука в линейный вход компьютера/ноутбука. Для RDA5807 конечно можно подключать сразу наушники, но ведь идея была сделать тюнер полностью подключаемый к компьютеру. Все объясняется тем, что про м.с. RDA5807FP с цифровым выходом я узнал уже после того, как сделал тюнер. В следующей версии вполне возможно будет полностью цифровая передача звука в компьютер. Также тюнер может конфликтовать с скайпом, это больше проблема звуковой карты, чем самого тюнера. Для корректной работы микрофона и тюнера приходится вручную включать/отключать устройство в настройках Windows. Да, еще один момент, текущая версия приложения может зависать при настройке ползунков эквалайзера, данная проблема пока решается.


Файлы:
Архив


Все вопросы в Форум.




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

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

42 23 5
0 3 0