Содержание статьи
В итоге мы получим полностью автономное устройство, которое работает от одного аккумулятора несколько суток и не нуждается ни в интернете, ни во внешнем усилителе.
В одной из предыдущих статей я рассуждал, что радио — это способ получать информацию, минуя тысячи километров, невзирая на границы и расстояния. Главное преимущество радиоприемника — простота: включил, и он работает, причем безо всякого доступа к интернету. Сплошные плюсы! Приемник на RDA5807 с поддержкой RDS оказался на редкость удачной конструкцией, но, как ты помнишь, он был собран в виде макета. Пришло время довести его до ума.
Доработка схемы
Аудиоусилитель
Во‑первых, мы добавим УНЧ: хочется, чтобы приемник мог работать безо всяких наушников и внешних усилителей. А возьмем мы, как и рассуждали в предыдущей статье, LM4863, для наших целей этот вариант почти идеален. Это низковольтный мостовой стереофонический УЗЧ, который можно включить в режиме повторителя, с небольшим усилением.
Почему это удобно? RDA5807 выдает сигнал вполне достаточной амплитуды, поэтому если нам нужно усиление по напряжению, то лишь небольшое. Мостовая же схема включения позволяет избавиться от выходных конденсаторов, что тоже полезно. Потерь меньше, АЧХ лучше, место на плате сэкономим. Ну и последнее удобство LM4863 — возможность подключения наушников с переключением режимов динамики/наушники. Правда, на наушники она уже работает как полумост, но там других вариантов нет, стандартные аудионаушники с общей точкой все равно не получится подключить к мостовой схеме.

Как видно из схемы, режим работы переключают, изменяя напряжение на выводе 16 микросхемы. Поскольку мой разъем при подключении наушников работает на замыкание, я добавил простенький инвертор на одном транзисторе.
Здоровое питание
Батарейки — это, конечно, хорошо, особенно типа D, но даже они потихоньку садятся. Надо эту штуку переводить на аккумуляторы. Какие аккумуляторы — это даже не вопрос: конечно, LiPo, тем паче их сейчас везде полно, можно из вейпа выковырять, можно взять 18650, новый или б/у. А если аккумулятор литиевый, значит, для питания контроллера нужен понижающий стабилизатор, причем линейный регулятор нежелателен, так как он просадит КПД.
Соберем понижающий DC/DC-преобразователь, причем аудиоусилитель в нем питается непосредственно от батареи. Он, конечно, может работать и от 3,3 В, но на 4 В чувствует себя бодрее. А для аккумулятора мы используем стандартный модуль контроллера заряда, тут даже выдумывать ничего не надо.
Дисплей
На макете стоял TFT-дисплей с разрешением 128 × 128 на ST7735, а вот для установки на плату у меня есть дисплеи на том же контроллере, но с разрешением 160 × 128. Эти дисплеи обратно совместимы, поэтому замена не потребует много правок, более того, это уже было даже реализовано в плеере и телефоне. С помощью резистора R9 можно регулировать яркость, у меня яркость выставлена достаточно умеренной в угоду энергопотреблению.

www
Прошивка и разводка печатной платы, как всегда, лежат на GitHub.
Печатная плата
На самом деле перед описываемой версией аппарата на свет появилась предыдущая, которая как раз помогла мне внести изменения в схему. Так, сначала использовался внешний DC/DC-преобразователь, но эксплуатация показала, что аудиоусилитель лучше питать непосредственно от батареи, а с этой точки зрения, конечно, удобнее преобразователь поместить на схеме.
Конструктивно плата выполнена из двухстороннего фольгированного стеклотекстолита. Переходные отверстия проклепаны медной проволокой 0,5 мм и пропаяны. Изготавливается печатная плата стандартно: печатаем два шаблона на пленке, совмещаем их по контурам и фиксируем скотчем друг к другу.

Внутрь вкладываем заготовку с нанесенным фоторезистом. Зажимаем между стекол, засвечиваем по очереди с одной и с другой стороны. Проявляем, травим, ну и так далее. Главное в этом деле — не ошибиться с отзеркаливанием, вот я в этот раз таки прокололся, из‑за чего две протравленные заготовки платы отправились в помойку и пришлось делать еще одну.

Отмываем фоторезист: это удобно делать, завернув плату в туалетную бумагу и слегка смочив ацетоном. Буквально минута выдержки, и фоторезист слезает без усилий.

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


Далее на микростанке карбидными сверлами сверлим отверстия.

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

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

Главное — не перепутать RDA5807FP и RDA5807SP. Я до недавнего времени думал, что эти индексы особо ни на что не влияют, ан нет: у RDA5807SP нет RDS, и она, соответственно, не заработает с текущей версией прошивки. Проверяем качество монтажа под микроскопом: все вроде нормально.
Когда все детали запаяны, можно залить прошивку, после чего все должно сразу заработать. Впрочем, так гладко обычно не бывает. Если девайс не стартует, то в первую очередь стоит проверить питание: как известно, электроника — это наука о плохих контактах. Если питание есть, следует проверить тактирование. Кварцевый генератор может не запускаться из‑за недоотмытого флюса.

Корпус
Корпус, как обычно, выполняем из оргстекла, он прост в изготовлении и выглядит интересно. Фактически корпус состоит из трех деталей: П‑образной боковины, верхней и нижней крышек. В этот раз я решил сделать специальную приспособу для изгиба оргстекла из трех кусков фанеры 10–15 мм толщиной. Приспособа очень простая, и вся ее суть понятна из представленных ниже фотографий.


Подаем на нихромовую нить ток до едва видного глазом накала, в моем случае это 1,5 А для нити диаметром 0,2 мм. Кладем сверху заготовку из оргстекла, так, чтобы нагретая нить была под линией сгиба, и ждем размягчения пластика около двух минут. Размягченный пластик изгибаем под прямым углом, используя отрезок алюминиевого профиля как угольник и направляющую. Таким нехитрым способом мы получаем корпусные детали.

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


Модернизация прошивки
За время, прошедшее с предыдущей публикации по RDA5807, я успел заметить один раздражающий баг: при включении приемник не настраивался на заданную станцию автоматически, приходилось каждый раз крутить ручку настройки. Длительные ковыряния показали, что нужно выставлять бит seek при инициализации, и тогда баг уходит.
void RDA5807_init(void){ uint16_t temp=RDA5807_ENABLE|RDA5807_BASS|RDA5807_DHIZ|RDA5807_DMUTE|RDA5807_RDS_EN|RDA5807_NEW_METHOD|RDA5807_SEEK; // Оказалось, что RDA5807_SEEK таки надо включать, тогда баг первичной инициализации пропадает RDA5807_write_random_register(0x2, temp); temp=RDA5807_read_random_register(0x3); // Регистр 3h, биты 2, 3, выбирается диапазон 76–108 МГц temp|=RDA5807_WWBAND; RDA5807_write_random_register(0x3, temp); // Включаем direct freq temp=RDA5807_read_random_register(0x7); temp|=1; RDA5807_write_random_register(0x7, temp); // RDA5807_set_freq(89100);}
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
