elchupanibrei (elchupanibrei) wrote,
elchupanibrei
elchupanibrei

Categories:

Ka-Radio - Web radio из проводов и палок за $10

Сегодня я расскажу наверное про самый дешевый способ собрать internet radio.


Спасибо за это французскому инженеру на пенсии karaWin и его проекту Ka-Radio. Нам понадобится NodeMCU или Wemos D1 Mini или Wemos LOLIN D1 в количестве одной штуки. Лучше брать с ESP12-S на борту, но и старая ревизия ESP12-F тоже пойдет. У меня была вот такая:


Wemos D1 Mini

Аппаратный кодек VS1053b. Советую брать на красной плате, цепь питания выполнена качественнее чем на синей. Обязательно проверьте кварц, должен быть на 12.288MHz, иначе звук будет немножко растянут. Обязательно заменить стабилизатор 2.5в на 1.8в . Китайцы перепутали VS1053b с VS1003 и влепили не тот. На форуме VLSI Solution пишут, что от такой напруги чип быстро деградирует.


аппаратный кодек VS1053b

Берем провода и соединяем так:


подключение ESP8266 и VS1053b по схеме Ka-Radio

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


управление Ka-Radio без смартфона

Качаем Ka-Radio и Espressif Flash Download Tools. Скомпилированный проект находится в папке ESP8266-Firmware/bin/. Заходим в диспетчер устройств windows и посмотрим какой порт винда назначила вашему USB-COM адаптеру. Мне выдала COM4. Меняем скорость с 9600 на 115200. После этого идём в Flash Download Tools и выбираем свой порт, указываем путь и адреса для *.bin файлов. Пустое поле в DETECTED INFO - это норма. Информация в нем появится во время загрузки кода в ESP8266 - вот такой китайский логика. По умолчанию скорость работы внутренней флешки 40MHz. Можно попробовать увеличить до 80MHz - Ka-Radio будет шустрее. Делать осторожно - некоторые китайские serial flash не работают на таких скоростях. Прошиваем ESP8266 согласно картинке:


настройка Espressif Flash Download Tools для Ka-Radio

Все. Передергиваем питание, подключаемся к открытой точке доступа "WifiKaRadio". Открываем браузер с адресом 192.168.4.1. На странице Settings вводим имя роутера и пароль. Ставим галку напротив "Use DHCP". Если подключение к роутеру прошло успешно "WifiKaRadio" исчезнет. Идем в админку роутера и смотрим IP нашего web radio. Интерфейс очень задумчив - успел заварить и выпить чаю.


интерфейс Ka-Radio


Ka-Radio proof of concept

С подключением VS1053b к усилителю есть нюанс. Напрямую нельзя, можно спалить выходной каскад. Кодек использует виртуальную землю GBUF для выхода на наушники. Надо поставить разделительные конденсаторы С1, С68 на 10мкФ х 10в и подпаяться к GND вместо GBUF. Элементы R8, C5, R7, C4, R6, C3 уже есть на красной плате, а R1, R79, C2, C69, R2 и R80 можно не устанавливать.


схема подключения VS1053b к усилителю

Отличным вариантом оконечного усилителя для дешманского радио является D-class стерео усилитель PAM8403. Две красных можно взять за 99 центов. Выходная мощность 3W x 3W на 4Ом с искажениями THD 10% и КПД 90%. Напряжение питания 2.5в - 5.5в


самая лучшая плата PAM8403


Чтобы усилитель не фонил в эфир, на частоте 1MHz и выше, надо допаять 1000мкФ х 10в. Желательно добавить ферритовые бусины и 220пФ на все четыре провода к динамикам.


выходной фильтр PAM8403 для подавления ВЧ помех

Еще одна неприятная особенность Ka-Radio - цифровые помехи и шумы в паузах. При проигрывании станций их не слышно - они маскируются полезным сигналом. Лечится соединением виртуальной земли GBUF кодека VS1053b с VREF PAM8403 через конденсатор  C3 в 47мФ х 10в.

конденсатор C3 для подавление цифровых помех и шумов в паузах

Второй способ победить помехи - использовать усилитель с дифференциальным входом. Один из дифов подключается к земле и все синфазные помехи вычитаются входным каскадом. Типичный представитель на  Aliexpress - HT6872. Выходная мощность 2.8W на 4Ом с искажениями THD 10% и КПД 90%. Напряжение питания 3.6в - 6.5в. У усилителя есть встроенный фильтр EMI -  не нужны ферритовые бусины и конденсаторы на выходе. По звуку он мне понравился больше чем PAM8403 - высоких богаче и они почище. Так же как и PAM8403 легко работает от плохого блока питания или дохлых батарей.


подключение HT6872

Еще один усилитель AB-class с дифференциальным входом и вольтодобавкой — HT8698. Выходная мощность 4.75W x 4.75W на 4Ом с искажениями THD 10%. Напряжение питания 2.5в — 5.5в. Звук сказка. Есть басы, высокие не каша. Монстры Bose и Harman-Kardon нервно курят. Но есть одно но — очень требователен к питанию. От старой самсунговской зарядки Ka-Radio с ним не завелся. На средней громкости в пиках 1.5А, на максимальной около 2А.


подключение HT8698

Третий способ - развязать земли. Например использовать усилитель с отдельным блоком питания.

В общем я собрал на коленке за полчаса и оно неплохо играет. Получилось в 4-5 раз дешевле чем Orange Pi Zero с LMS.


web radio из проводов и палок

Отличная балалайка для гаража или дачи с доступом к интернету.

UDP: Получил новую "красную" плату VS1053b - качество жесть. Пока не пропаял все детали и чип, радио спотыкалось, шумело или не играло совсем.

Если AutoPlay работает через раз после включения - радио не хватает ампер. Замените блок питания.

Если в Settings убрать галочку с DHCP, web морда становится чуть-чуть быстрее.

Если список радиостанций не обновился или пропал, нажмите Refresh locale list.

UDP: Для эстетов есть двухсторонняя плата от dsaltas.

UDP: О Ka-Radio32 на ESP32 читаем тут.
Tags: #diy, #esp8266, #ka-radio, diy, esp8266
Subscribe

  • MatrixClock v2.0.0 уже на Github

    Выкатил финалочку. Писалось в свободное от работы, семьи время. На все про все ушло 1.5 года. Осталось нарисовать корпус для печати на 3D принтере.…

  • Собрал Ka-Radio32 на ESP32

    Два года слушал младшую модель Ka-Radio на ESP8266, но не хватало экрана, нормального управления и 320kbps. На github нашел интересную плату.…

  • Печатный корпус для клона Hakko T12

    Пересел с Hakko T900 на T12. Долго сопротивлялся, но наконец-то жаба сдалась. Контроллеры на STM32 не дешевеют и потихоньку исчезают. Им на смену…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 24 comments

  • MatrixClock v2.0.0 уже на Github

    Выкатил финалочку. Писалось в свободное от работы, семьи время. На все про все ушло 1.5 года. Осталось нарисовать корпус для печати на 3D принтере.…

  • Собрал Ka-Radio32 на ESP32

    Два года слушал младшую модель Ka-Radio на ESP8266, но не хватало экрана, нормального управления и 320kbps. На github нашел интересную плату.…

  • Печатный корпус для клона Hakko T12

    Пересел с Hakko T900 на T12. Долго сопротивлялся, но наконец-то жаба сдалась. Контроллеры на STM32 не дешевеют и потихоньку исчезают. Им на смену…