Интернет радио на ESP32. При использовании встроенного ЦАП для работы радио необходима только сама ESP32 , дополнительных внешних микросхем не требуется ! В Free режиме доступно управление только через GET запрос. Поддерживаются MP3 и частично AAC потоки. Возможно управление через ИК пульт. Доступен вывод названия трека на главной странице, на локальные дисплеи, в MQTT и в Telegram.
На данный момент могут быть проблемы с воспроизведением через встроенный ЦАП.
22.10.2020 — добавлена, но не испытана поддержка работы с памятью PSRAM , что увеличивает буфер до 420кб — это увеличивает стабильность работы радио при не стабильной работе сервера или интернета.
Подключение усилителя/ активных аудио колонок к DAC(ЦАП) чипа: GPIO 25 и 26 (левый и правый канал) ИЛИ к внешнему I2S ЦАП.
Стабильность работы опции зависит от качества интернета и стабильности работы сервера интернет радио.
Ограничения опции интернет радио
1. Загрузка прошивки с опцией радио с включенным кодеком AAC на модулях с 4 мегабайт памяти может не вместится и в этом случае загрузка прошивки возможна только через OTA с использованием патча [IP]/patchpartions для увеличения секции. Подробнее в общей документации по ESP32.
2. Использование интернет радио может сказаться на качестве чтения некоторых датчиков( DHT и DS18B20), а так же на работе других активных функций.
3. При использовании ethernet модуля использование функции интернет радио используя встроенный DAC невозможно так как выводы DAC там заняты. На внешнем ЦАП этого ограничения нет.
Тема интернет-радио у меня началось с проекта Wi-Fi-радио от AlexGyver. После сборки по гайду (на базе ESP32 и VS1053) не удалось побороть цифровые шумы, да и вообще, идея собирать и настраивать усилитель и колонки не совсем мне нравилась, хотелось в качестве колонок использовать готовое решение — компьютерные колонки с встроенным усилителем и подключением по mini-jack. Покопав бездонный форум 4Pda по теме, нашел вариант реализации с ЦАП UDA1334A. После сборки решение более чем удовлетворило по качеству, осталось оформить проигрыватель в корпус (смоделированный для 3D печати), так и родился данный проект.
Использование ЦАП дает ограничения по декодированию потоков (нет поддержки AAC), но для меня это не было принципиальным ограничением. Большая часть прослушиваемых мной станций вещает в mp3. Но, кому принципиален AAC, данное решение не подойдет.
Схема и компоненты
По схеме достаточно все просто, основные компоненты:
- ESP 32 38P
- UDA1334A DAC
- Цифровой энкодер
- Дисплей 2.42″ OLED 4 pin или 0.96″ OLED 4 pin
- Резистор на 1К
Для информации: дисплеи бывают не только с белым цветом, но и с синим, желтым и зеленым.
📻Советское WiFi интернет радио! Своими руками
Описание подключения по пинам и ссылки на конкретные варианты с али можно посмотреть на странице проекта в github.
Совет по пайке — закладывайте длину проводов с учетом дальнейшего расположения компонентов в корпусе.
Интернет радио своими руками esp32
• диапазон воспроизводимых частот | 20…17000 Гц |
• сопротивление нагрузки усилителя | 4 Ом |
• выходная мощность | 3 Вт |
• напряжение питания | 3.5…5 В |
• потребляемый ток | 270 мА |
• кол-во сохраняемых станций | 51 шт |
• размеры платы | 55х50 мм |
Изначально целью проекта являлось создание простого радиоприёмника, воспроизводящего потоковое аудио непосредственно из локальной сети или интернет-радиостанции без применения персонального компьютера. Приемник должен подключаться непосредственно к сети Wi-Fi и иметь возможность самостоятельного подключения к серверам в локальной сети или к интернет-серверам при наличии маршрутизатора. Конечно же, вполне возможно прослушивать интернет-радиостанции с помощью планшетов-смартфонов, однако сконструировать и собрать своими руками куда интереснее. И так поехали.
Конструкция
При анализе существующих и планируемых к прослушиванию радиостанций оказалось, что наиболее распространенными протоколами потокового вещания являются shoutcast и icecast.
После долгого штудирования интернета выбор был сделан в пользу ESP32 от Espressiff т.к. у него на борту есть все что понадобится для реализации интернет радиоприёмника, двухъядерный 32-битный микропроцессор Xtensa LX6 160-240МГц, RAM: 520Кб, FLASH 4-16Мб не говоря уже о различной периферии начиная от датчика Холла до ЦАПа. Потребление при полной нагрузке не превышает 200-230мА. Так что, то что нужно.
Для декодирования аудио потока решено было использовать LibMAD (MPEG audio decoder library) и встроенный ЦАП ESP32.
Неспешно изучалась документация вносились корректировки в схему в скоре развел плату которая получилась достаточно компактной.
В качестве интерфейса решил использовать «народный» графический OLED дисплей SSD1306 подключив его по I2C шине. Для простоты управления использовал три тактильные кнопки «воспроизведение-стоп» и выбор станций «следующая» и «предыдущая».
Моя версия приемника предназначалась для озвучания кухни в качестве заменителя компактного УКВ радиоприёмника. В погоне за размерами устройства, я решил использовать усилитель низкой частоты D класса PAM8403. Соответственно качество звучания в разумных пределах отошло на задний план.
Далее я составил свой список радиостанций от классических до танцевальных. Больше я не вспоминал о существовании местных УКВ радиостанций с их рекламой через каждые десять минут. Так же в приемнике реализовал отображение русских mp3 тэгов, что не в каждом «заводском» встретишь.
В текущей версии прошивки из сети интернет успешно воспроизводятся MP3 потоки до 320 кбит/с, приемник может хранить в себе 51 поток интернет радиостанций (в будущем планируется расширить до 250). Для добавления-редактирования списка станций, а так же для осуществления настроек используется веб интерфейс в который можно попасть набрав в адресной строке браузера IP адрес радиоприёмника который отображается на дисплее. Более подробно ознакомиться с интерфейсом радиоприемника вы можете на демо страничке.
Обзор и описание
Список станций
Список из 780 вещающих в mp3 формате радиостанций.
Прошивка и первое включение
Для того чтобы перевести модуль в режим загрузки прошивки необходимо:
1. Подключить USB-UART конвертер с логическими уровнями 3.3v к гнезду P1 Uart (см.схему)
2. Установить перемычку H4 Prog (см.схему)
3. Подать питание на приемник
Далее, потребуется утилита Flash download tools прошивка будет осуществляется при помощи ее. Важное замечание, Flash download tools необходимо разворачивать в корень диска и путь к файлам прошивки не должен содержать кириллических символов. Перед первой прошивкой необходимо воспользоваться опцией ERASE в настройках Flash download tools (см.картинку в архиве с прошивкой).
Конфигурацию SpiFlash модуля устанавливаем согласно картинки в архиве с прошивкой. CrystalFreq- 40M, Spi Speed- 80MHz, Spi Mode- DIO, Flash Size- 32Mbit (зависит от применяемого модуля). Указать адреса секций согласно файлам (см.картинку в архиве с прошивкой): 0x1000- загрузчик, 0x8000- разметка разделов, 0x10000- прошивка, 0x290000- разметка spiff, 0xe000- калибровочные данные. Выбрать COM порт uart конвертера, установить скорость Baud 921600 и нажать кнопку Start. Если все сделано верно то должен пойти процесс прошивки.
Без активации на дисплее всегда отображается надпись DEMO, а так же отключено управление радиоприемником через веб интерфейс в остальном функционал не ограничен. Ключ активации можно приобрести в магазине.
Инструкция по сборке набора. Приобрести наборы для сборки Вы всегда можете в нашем интернет магазине.
Что нового в прошивке:
Версия 387
-устранены ошибки ntp клиента;
-устранены мелкие ошибки;
-новое ядро;
Версия 386
-устранены ошибки, повышена стабильность;
Версия 384
-добавлен сервис Captive portal. Теперь при подключении к приемнику в режиме AP страница конфигурации загружается автоматически;
-добавлена функция поиска WiFi сетей;
-добавлена функция принудительного выбора стандарта WiFi сети, 802.11B, 802.11BG и 802.11BGN;
Версия 383
-исправлены ошибки;
-добавлена возможность назначения размера буфера от 0.5 до 110 Кб;
Версия 382
-устранен баг в прошивке (пропадало соединение);
-добавлена функция отключения приема метаданных (были сбои в приеме метаданных на некоторых потоках);
-добавлен выбор схем подключения кнопок и выходов, старая-новая схема;
-косметические улучшения в web интерфейсе;
Версия 381
-полностью изменен web интерфейс приемника, демо здесь;
-добавлена функция мгновенного переключения между станциями;
-добавлена функция динамического отображения уровня wi-fi сигнала и напряжения питания в web интерфейсе;
Версия 380
-увеличен буфер воспроизведения с 32кБ до 100кБ;
-на дисплей добавлен индикатор заполнения буфера воспроизведения;
-отказался от использования libMAD тк с ней не удалось достичь стабильности;
-на дисплей добавлено отображение битрейта потока;
-на дисплей добавлено имя станции с сервера;
-добавлена возможность выбора NTP сервера;
-добавлена возможность сохранения и восстановления плей листа и конфигурации;
-переработан интерфейс Web страницы (раздел: Сейчас воспроизводится) добавлен: битрейт, заполнение буфера, имя станции. Теперь обновление о статусе воспроизводимой станции мгновенное;
-переработан интерфейс Web страницы (раздел: Обновление) добавлено отбновление web интерфейса;
-имя приемника в сети сейчас ESPradio;
- Обсуждение на Амперке
- Обсуждение на Ардуино
- Обсуждение на Cqham.ru
- Обсуждение на esp8266.ru
WiFI интернет радио своими руками
Переделываем советский громкоговоритель в интернет-радио!
- За основу взят проект karadio32
- Динамик заменил на современный
- Питание от розетки
ВИДЕО
Каталоги ссылок на Алиэкспресс на этом сайте:
- Всё для пайки: паяльники, приспособления
- Платы Ардуино, модули и датчики
- Модули и датчики для умного дома
- Дешёвые инструменты
- Аккумуляторы, платы защиты, зарядники
- Мультиметры
- Блоки питания, преобразователи
Стараюсь оставлять ссылки только на проверенные крупные магазины, из которых заказываю сам. Также по первые ссылки ведут по возможности на минимальное количество магазинов, чтобы минимально платить за доставку. Если какие-то ссылки не работают, можно поискать аналогичную железку в каталоге Ардуино модулей . Также проект можно попробовать собрать из компонентов моего набора GyverKIT .
- ESP32 (38 pin) ссылка
- Усилитель pam8403 ссылкассылка
- vs1053 ссылкассылка
- OLED дисплей 0.96″ 4 пина Aliexpress, Aliexpress, искать
- Энкодер Aliexpress, Aliexpress, Aliexpress, искать
- Динамик 2″ссылка
- Изолированный преобразователь (0505-2W) ссылка
- Мини-БП 3W ссылкассылка
- Мини-БП 5W ссылкассылка
Необходимые компоненты
- Модуль ESP32 Devkit (купить на Aliexpress).
- Плата усиления MAX98357A I2S (купить на Aliexpress).
- 8-омный громкоговоритель (динамик).
- USB кабель.
- Адаптер 5V 1A.
- Активное Интернет-соединение
Как известно, ESP32 представляет собой дешевый модуль с низким энергопотреблением, но внушительным функционалом, включающим в себя поддержку технологий Wi-Fi и Bluetooth. Но, в отличие от других подобных модулей, ESP32 обладает еще и интерфейсом I2S. А во многих популярных сейчас микроконтроллерах такого интерфейса, к примеру, нет.
Почему поддержка интерфейса I2S так важна в современной электронике? Интерфейс I2S (Integrated Inter-IC Sound Bus) представляет собой последовательную шину для соединения цифровых аудиоустройств (плееров компакт-дисков, цифровых аудиопроцессоров и т. п.). Он разработан фирмой Philips Semiconductor. Данный интерфейс обычно используется компонентами АЦП и ЦАП. Более подробно про принципы работы протокола I2S вы можете прочитать в этой статье.
Поскольку в нашем интернет радио нам необходимо воспроизведение звука с помощью громкоговорителя (динамика), то нам нужен аналоговый выход, то есть необходим ЦАП (цифро-аналоговый преобразователь). И здесь мы видим самую интересную часть нашего проекта – это модуль MAX98357A, который представляет собой цифровой усилитель класса D, который использует интерфейс I2S для обмена данными с современными микроконтроллерами.
Достоинства модуля MAX98357A I2S:
- КПД 92%.
- Выходная мощность 3,2 Вт на 4-омном динамике при 5V.
- Уменьшение мощности шумов.
- Защита от короткого замыкания и перегрева.
- Поддержка левого, правого или Left/2 + Right/2 выхода.
- Работа от напряжения в диапазоне от 2.5V до 5.5V.
Внешний вид модуля MAX98357A I2S, использованного в нашем проекте, показан на следующем рисунке.
Схема проекта
Схема интернет радио на ESP32 и модуле MAX98357A I2S представлена на следующем рисунке.
Как видите, схема соединений достаточно проста. Поскольку контакт Gain модуля MAX98357A подключен к земле (GND), то коэффициент усиления модуля составляет 12dB.
Интернет радио из радиоточки
Когда что-нибудь делаю за компом или паяю, включаю фоном интернет радио рекорд. Полно каналов, на любой вкус и настроение. Захотелось сделать отдельное устройство под эти задачи т.к. готовые варианты несколько убогие и дорогие.
В инете нашёл проект KaRadio (позже придётся с него уйти) на основе ESP32. Купил на пробу этот модуль на озоне, если не понравится — хоть не много потеряю. Прошил через Flash Download Tools, подключил к линейному входу домашней магнитолы — работает. Все пугали, мол, без отдельного ЦАПа звук будет как из банки и хрипящий — неа, вполне сносное звучание. Шумы на низкой громкости присутствуют, да. Но если прибавить громкости то становится всё чище и чище.
В итоге громкость на модуле выставил на максимум а громкость на колонках уже регулировал с магнитолы. Через пару дней тестов мне всё понравилось, купил дисплей LCD1602 и энкодер чтобы управлять им не через браузер. Энкодер подружился с первого раза, а этот двухстрочный дисплей KaRadio отказывалось понимать. Квадраты выводило и всё. Нашёл другой проект — ёРадио, и на всякий случай заказал ещё один дисплей OLED 0’96 ssd1306. Перепрошил через ArduinoIDE (удобно что можно смотреть код а не просто заливать файлы, не зная что там. Тем более я с этой средой немного уже знаком). Дисплей завёлся, всё показывается, я доволен 🙂
Надо искать корпус. Недолго думая, нацелился на радиоточки (точнее — абонентские громкоговорители). А что, динамик какой-никакой есть, корпус есть, возможно даже красивый. Авито в помощь — со свердловской области ко мне едут три малышки. Два Альта и одна безымянная — на неё я и положил глаз. Симпатичная и как раз под тот мелкий oled дисплей, который приехал уже после успешного подключения двухстрочного гиганта.
Ещё меня удивили динамики в этих громкоговорителях. Вроде мелкие среднечастотники, но в корпусе играют хорошо и вполне приятно, если не крутить ручку громкости до хрипоты. Усилитель использовал PAM8403, покупал на aли ещё в далёком 17ом году. Валялся где-то в электронном хламе, вот откопал, работает ещё 🙂 На входы повесил по резистору на 100КОм. С ними меньше хрипов на низкой громкости и они ограничивают МАХ громкость. 3 Ватт для этого динамика всё таки многовато.
Что могу сказать по этому проекту: по цене вышло около 1200р с учётом радиоточки, её доставки, всех эл. компонентов но без материалов (клей, припой и т.п.). Если сравнивать с готовыми вариантами, получилось в 5 раз дешевле самого бюджетного варианта. Но у покупных скорее всего будет Блюпуп, слот для SD-карточек, управление покруче, звук почище и тд. Я со своей «поделкой» не претендую на звание «аккуратист», «дизайнер», «инженер», «маркетОлух». Я просто так сделал, оно работает и мне нравится. Сразу вспомнился анекдот:
Художник: «Я так вижу»
Актер: «Я так чувствую»
Писатель: «Я так понимаю»
Инженер: «Я так сделал ёмаё и оно работает, как оно работает тебя колебать не должно, я сам не знаю, если надо — смотри чёртовы чертежи».
Для меня это опыт и устройство, сделанное с душой, в котором ты знаешь каждый уголок. А для других это контент, который можно посмотреть и усвоить что-то (да, учитель и рассказчик из меня ещё тот…)
Пока есть вопросы только по дисплею: не хочет выводить русские символы и периодически, после отключения питания, не хочет заводиться. Иногда это решается нажатием на кнопку перезагрузки на плате (она же EN), но получается это очень редко. Русские символы появились после замены файла glcdfont.c на другой из инета в папке с библиотекой AdafruitGFX. Перебои с работой дисплея решились когда я решил брать питание для него с пина 3.3В, а не с VIN. При одновременном подключении питания и включении усилителя с небольшой задержкой, дисплей заводился. Запитал дисплей от другого пина (3.3В) — заводится стабильно всегда. Схему переделал!
Список компонентов:
— Модуль ESP32 Type-C (такие кончились, остались с Micro USB ТЫК )
— Дисплей LCD1602 с конвертером в I2C (не пригодился) ТЫК
— Дисплей OLED 0,96′ ssd1306 ТЫК
— Модуль энкодера (приходит без резьбы, хотя на фото с резьбой) ТЫК
— Усилитель PAM8403. Можно взять например здесь ТЫК
Всем удачи в своих проектах и новых начинаниях!
Интернет радио на основе проекта KaRadio
Привет,
Ну раз уж сегодня день вебрадио 🙂
Как-то на сайте пробегал обзор очередной самоделки интернет приёмника на основе проекта КаРадио, народ делился в комментариях своими вариантами, ну и я тоже. Судя по положительным отзывам, вариант получился достаточно интересным, попросили сделать обзор. Изначально этого не планировалась, поэтому процесс изготовления не получится показать полностью. С другой стороны, ничего хитрого и недоступного здесь нет от слова совсем, особые навыки не нужны ни в пайке, ни в обработке древесины и металлов.
Желание иметь на кухне что-то играющее в фоне возникло уже давно, но то пропадало, то снова появлялось и явно не попадало в wishlist на первые места. Много денег тратить не хотелось, да и выбора не было.
Хотя, с выбором вариантов интернет приёмников даже сейчас — примерно как с едой на излёте СССР в начала 90х — с голоду не умрёшь, но и брать-то почти нечего. Лет 5 назад у нас продавались колонки от Prology wr100/wr200 (больше не выпускают), есть Net’n’Joy, можно посмотреть Ocean Digital на Али, ну или искать что-то вменяемое на Ebay/Amazon. Стоит упомянуть проект Волна — в основе колонка с Али и модифицированная прошивка Ка-Радио (но цена кусается). По правде говоря, вариантов интернет приёмников вообще не очень, но ко всему этому ещё накладывается и ограничение по доставке — по какой-то неведомой причине в Россию (и не только — вообще за пределы США) мало кто шлёт. А если и шлёт, то чуть ли не по цене самого радио. Через посредников доставка тоже не очень гуманно выходит. Да и в конце концов — мы же для себя, для души это делаем, поэтому паяльник в руки и вперёд! 🙂
И вот, в начале года, блуждая по инету, попался на глаза проект Ка-Радио. Заинтересовало — вчитался, погуглил варианты решений, идеи. Ну а дальше всё и завертелось.
Весь проект живёт и развивается благодаря энтузиасту Jean-Pierre Cocatrix Ka-Radio на Github
У него на сайте выложены модификации и эддоны под разное железо. Проект регулярно обновляется, нет смысла выкладывать прямую ссылку для скачивания. В частности, готовые файлы для esp32 брать здесь: скачать
Для желающих покопаться в исходниках там же брать и всё остальное — дело в том, что существующая реализация esp32 ограничена 4Мб флэшпамяти (в принципе, есть модификация на 8Мб, но достаточно редкая), и в неё физически не лезут дополнительные библиотеки (IR, bluetooth, FM еtс) т.к. автор постарался сделать прошивку универсальной для поддержки огромного числа возможных компонентов, но при этом места на дополнительный функционал уже не осталось.
Есть хорошее видео на ютубе — я с него как раз и начинал этот проект: Ka-Radio для чайников от и до. В комментариях к видео есть ссылка на дополнительные файлы (схема соединений, прошивальщик, инструкции и т.д.). Там же у автора можно найти схему печатной платы (но можно обойтись и навесной пайкой, что я и сделал в итоге — нет смысла городить огород ради десятка соединений).
По поводу внешнего вида долго не думал — хотелось теплого лампового звука дерева и металла в стиле хайтек (конечно, с поправкой на домашний тяпляп). Примерно в это же время попался на глаза обзор от уважаемого Gdenich — можно сказать, делал по мотивам с небольшими изменениями: mysku.club/blog/diy/69750.html
Могу ещё добавить список из закладок, то что вдохновляло 🙂
Идеи для повторения
Сейчас, уже после завершения всех работ, могу сказать — как ни странно это будет звучать, но основная проблема была связана не с самим проектом, а с трудностью поиска необходимых материалов (например, того самого листа алюминия нужной толщины и размера). Во времена моего счастливого детства по всему СССР существовала сеть магазинов под названием «Юный техник» — эдакий аналог современного Али, в котором, кажется, было всё всё всё и даже чуточку больше ссылка. Рай для самоделкиных. Там же продавались различные материалы для поделок (обрезки фанеры, оргстекла, дюралий и т.д.). В современном же мире с этим наблюдаются определённые проблемы, так как беглый поиск по Оби, Максидому, Леруа и прочим Авитам мало что дал. И не беглый поиск тоже. Максимум из доступного нашёлся гладкий лист алюминия толщиной 1.2мм по достаточно конской цене за прямоугольник 600х300мм. При том что на переднюю панель хотелось иметь что-то монументальное по толщине 3-4мм. Но иных доступных вариантов не было. Но так наверное даже лучше получилось — двухслойная передняя панель моментально решила проблему с креплением навесных элементов (динамики, энкодер, экран). А остатки листа успешно пошли на второй проект — домашний миниПК из говна и палок на основе платы на i3-7100u с Али.
Изготовление корпуса началось с покупки листа фанеры (ссылки на материалы и детали в самом конце). Прямо в магазине сделал распиловку исходя из планируемых размеров радиоприёмника — 3 полосы по 10см шириной (+1 запасная).
Из каждой полосы получится 2 составляющие корпуса — всего 6 шт (т.е. глубина 9см). Дальше размечаем, середина выпиливается электролобзиком, заготовки разделятся. Очень важный момент — т.к. углы корпуса будут скруглены, то остаётся очень мало места для установки угловых винтов. Здесь главное не переусердствовать с обработкой и оценить заранее вариант крепления передней и задней панелей. И ещё, данный вариант изготовления корпуса не очень сложен для повторения, но достаточно растрачен с точки зрения расхода фанеры — середина и обрезки выбрасываются, но, как итог, имеем эффектный бесшовный корпус.
Ну а дальше всё просто. Заготовки смазываются клеем ПВА, аккуратно собираются в пакет (с побором по цвету и выравниванием граней) и зажимаются под чем-то тяжёлым на несколько часов. Ждём пока высохнет.
Т.к. исходная распиловка происходила на промышленном станке, это дало на выходе абсолютно ровные и одинаковые заготовки. В моём варианте вся дальнейшая обработка свелась к скруглению углов шлифмашинкой и лёгкой шлифовке шкуркой 180 всего корпуса. В принципе, можно даже обойтись и без шлифмашинки — достаточно ровно спилить угол под 45гр по всей длине и остальное доработать шкуркой (120, потом 180). Важно не зализывать грани — всё же стиль хайтек подразумевает прямизну линий и острую грань.
По поводу финальной обработки дерева были раздумия — масло (воск) или лак? Но масло мне показалось совсем негуманным по цене для одного раза (Белинка стоит около 800рэ). Так что в ближайшем Ашане был куплен полуглянцевый лак в баллончике за ~150рэ. Им же впоследствии были обработаны алюминиевые панели (после шлифовки). Корпус покрывается лаком в 3 слоя.
Как вариант, можно обклеить корпус кожей заказчика молодого дерматина любой расцветки, но это уже кому что нравится.
Передняя панель
Как я уже писал, хотелось монументальности, но все хотелки разбились о суровую реальность. Я не смог найти в ближайших строительных необходимого материала толщиной 3-4мм для изготовления панелей (наверняка это есть, но поиски займут время, да и цена не порадует). Но в Оби был найден лист алюминия толщиной 1.2мм. Решено! Передняя панель будет двухслойной. Во-первых, это даст требуемую монументальность. А во-вторых, сразу решилась проблема с навесным оборудованием. Лицевая сторона несёт эстетическую функцию, внутренняя — служит для установки винтов и держит на себе все элементы радио (кроме платы).
Лист размечается на 3 заготовки (размеры панели должны быть лишь на 2-5мм меньше внешних размеров корпуса — кому как нравится). В моём случае получилось ближе к 4мм. Надо ещё учесть финишную обработку граней! Алюминий режется легко, главное сохранять ровный пил по всей длине, не царапать и не гнуть поверхность.
Важное замечание! До самого конца обработки и изготовления креплений передние панели склеивать не надо! Только уже в самом конце!
Размечаются скруглённые углы, лишнее откусывается/отпиливается, обрабатывается напильником (пока ещё грубо). Потом одна из панелей (она будет внутренней) прикладывается к корпусу на своё место как можно более точно и обводится изнутри корпуса — нам важно знать, сколько места осталось под винты, где можно сверлить отверстия в металле и куда размещать компоненты.
Для крепления панелей я использовал чёрные саморезы из Оби, выбрал из того что было. Можно на Али заказать по вкусу. На внутренней панеле размечаются 6 отверстий (4 по углам + 2 в середине), сверло 3.2мм. Прикладываем к корпусу, размечаем и сверлим ответные отверстия под саморезы (сверло 2мм).
Берём лицевую панель, ровно совмещаем с внутренней и зажимаем. Дублируем все отверстия. Вся дальнейшая обработка будет происходить совместно, поэтому надо закрепить панели вместе (но не склеивать!) Берём 6 заклёпок (3.2х6мм) и ставим по сторонам. Всё, теперь панели никуда не сдвинутся (можно ещё добавить 2 в месте где будет отверстие под динамики).
Теперь осталось самое важное — размещение навесных компонентов — динамики, экран, энкодер, кнопка питания (да так, чтобы всё это не упёрлось в корпус при сборке) и выпиливание отверстий под динамики и экран. Здесь главное не торопиться, размечать вдумчиво и аккуратно. И проверять, проверять, проверять!
Отверстия легко делаются ручным лобзиком, при этом пилки для металла я не стал покупать — для дерева тоже сгодятся без проблем. Опять же, главное не торопиться, исправить уже не получится! И пилить надо с небольшим запасом на финишную обработку.
Потом сверлим отверстия под энкодер и кнопку питания.
Дальше уже идёт финишная обработка всех граней (напильник/надфиль+шкурка 180), заклёпки снимаются.
Лицевая сторона полируется шкуркой 180 до требуемой кондиции, главное не менять направление движения шкурки и не перегревать алюминий, покрывается лаком в 3 слоя.
На внутренней стороне размечаются отверстия под винты для крепления навесных компонентов. Я использовал винты М3, но это почти на грани для такого тонкого листа — головки должны быть установлены заподлицо! В идеале, искать меньший размер (М2, например). Сверлить и зенковать надо очень медленно и аккуратно — сверло моментально вгрызается в алюминий (лучше попробовать заранее на ненужном обрезке).
Все винты устанавливаются на свои места, зажимаются гайкой через фигурную шайбу. После с внешней стороны я добавил по малюсенькой капельке суперклея на каждый винт (очень осторожно, клей текуч и если попадёт под гайку, то трудно будет снять её). Ждём когда высохнет, гайки и шайбы можно снять.
После этого проверяем размещение навесных компонентов — если что-то не так, ещё есть возможность исправить. Если всё нормально, склеиваем лицевую и внутреннюю панели ориентируясь на просверленные отверстия по углам — либо с помощью клея, либо на тонкую двухстороннюю клейкую ленту. Передняя панель готова!
Задняя панель
С задней панелью всё гораздо проще, т.к. она будет однослойной и в ней будет единственное отверстие (помимо крепёжных) — для внешнего питания. Ещё эта панель будет нести на себе электронную схему (процессор, декодер и усилитель).
В общем, принцип такой же как и для лицевой панели. Размечаем, сверлим, шлифуем шкуркой 180, покрываем лаком.
Приклеиваем крепление под плату (кусок фанеры с 4 винтами М3), крепим разъём микроUSB на термоклей.
Электронная схема
Выше уже была ссылка на Ютуб, там по шагам описан процесс создания КаРадио — от прошивки до настройки.
Вся схема размещена на макетной плате, с обратной стороны сделана разводка проводками (здесь, кстати, ещё разводка под первый вариант на PAM8403, но отличия минимальны).
Финальная сборка
В принципе, на этом всё, потому как сборка заключается установке навесных компонентов, подключении всех разъёмов и привинчивании передней и задней пенелей к корпусу (особое внимание обратить на разъёмы экрана, дабы на коротнуть на корпус). Но на самом деле нет. Потому как на финише столкнулся с рядом проблем — некоторые были ожидаемы, некоторые нет.
Замечания к проекту, улучшайзинг и всё такое
1. Изначально был заказан двухцветный OLED экран 0.96″, но, как оказалось, двухцветность эта ни к селу ни к городу, да и размер экрана показался маловат (впрочем, даже на таком малом размере читается всё просто отлично). Исходный софт не адаптирован к этой двухцветности, местами половина текста жёлтая, половина синяя — надо менять код. И ещё, между цветами есть пропуск в 1-2 строки, текст разрезан. В общем, заказал одноцветный (белый) экран 1.3″ — всё стало как надо.
2. Кнопка питания — тут скорее моя ошибка (ну или проблемы с пониманием описания принципа работы). Хотелось иметь постоянно отжатую кнопку, но чтобы каждое нажатие имело одно действие — вкл или выкл. Я так понял из описания, что Self-reset Momentary — это то что мне надо. Как оказалось, нет. Питание идёт только пока кнопка нажата и удерживается. Обломс. Заказал новую Locking Latching, но эстетика нарушена. Интересно, есть такие же с тригером?
3. Земляная петля на плате усилителя. В общем, это было ожидаемо, но почему-то верилось что проблем с этим не будет. Будет, ага! Суть в том, что при использовании одного источника питания для платы декодера и усилителя возникает земляная петля по шинам питания и сигнала, на выходе имеем жуткие наводки и треск. Если разнести питание на 2 источника, проблема уходит (слабый шум остаётся, но это скорее сам усилитель фонит, да и не слышно его на фоне музыки). Ролик на Ютубе по этой теме ссылка
Тут есть несколько вариантов решения данной проблемы — использовать DC-DC развязку (B0505S-2W), поставить фильтр по питанию на усилитель, использовать 2 источника питания (ну так себе решение, хотя об этом ниже), попробовать другой усилитель (это ещё в процессе, жду когда приедет HT6872 с Али уже приехал).
В итоге, выбрал вариант с HT6872 на попробовать, и… всё получилось на 5+. Данный усилитель как-то не пользуется большой популярностью вообще (это ещё мягко сказано) и достаточно редок на Али. При этом, по ощущениям, во всём сильно лучше «народного» PAM8403.
В составе имеет два независимых канала, полную развязку по питанию с входными цепями. А на выходе имеем 0 шумов и наводок, да и звучит (опять же по ощущениям) немного лучше. И вся эта радость по цене банки Колы. А так оба модуля практически одинаковы по размерам и своим возможностям.
4. Питание. Интересный вопрос, на самом деле. Существующие адаптеры на 5В выдают на максимуме 2.4А (я так понял, ограничения стандарта). И это в лучшем случае. Китайский чипшит и столько не тянет. Говорят, бывают зарядки на 3А, но я не видел. В итоге, вся схема, по ощущениям, работает на пределе. Любой улучшайзинг (дополнительные компоненты, типа аккумуляторов, другой усилитель) упрётся в пределы возможности этой самой зарядки. Опять, же борьба с шумами — качественного звука от миниатюрных усилителей не получить, другие же требуют питание 12В и выше, т.е. нужен конвертер 12->5. Одно тянет другое, схема меняется — процесс бесконечный.
В качестве заключения
Проект (и этот приёмник и само КаРадио) имеет существенный потенциал для развития. К имеющемуся функционалу легко добавить поддержку ФМ радио, блютус, аккумуляторы, погоду и чего ещё душа пожелает. Библиотеки есть, исходники есть, софт правится. Проблему с недостатком памяти можно решить заменой esp32 на более ёмкую (говорят, умельцы сами допаивают модуль памяти). Но тогда для всей этой радости точно придётся переделывать питание — телефонной зарядки уже не хватит. Либо искать нормальный адаптер на 5В, либо уходить на 12-18В.
Итоговая стоимость (~4000рэ == 62$) разделилась примерно поровну между корпусом и начинкой — скажем так, не очень бюджетно. Но, хобби не имеет цены! Это во-первых. А во-вторых, ещё более сложный вопрос — на мой извращённый взгляд, начинка не соответствует внешнему виду. Не в смысле, что плохо работает. Нет, всё работает просто отлично. Но, как и писал выше, звучит оно примерно на столько, на сколько и стоит. Что можно ждать от усилка ценой в 1$? Спасибо, что живой что вообще работает, и то ладно. Ещё раз, для уточнения — звук не ужас ужас, вполне нормальный, но без изюминки (о хороших НЧ-ВЧ можно забыть, в основном средние).
Список используемых деталей и материалов
Старался заказывать всю электронику у одного продавца, для упрощения логистики. С логистикой, кстати, непонятки (но это скорее вопрос к Али) — несмотря на заказ компонентов у одного поставщика, к каждой позиции добавилась платная доставка. При этом все позиции приехали в одном пакете (что логично), а доставку посчитали за каждую позицию отдельно. Итого, по стоимости доставка вышла как вся электроника *шокед*. Маленький хинт — если выбрать одинаковую платную доставку для всех позиций, то можно получить скидку.
Остальную мелочь не писал, в основном, в Максидоме всё куплено.
Добавить в избранное Понравилось +176 +308
- интернет радиоприемник
- 13 августа 2019, 14:26
- автор: qwerty11
- просмотры: 66886