Сводный список записей блога

--->>>> Сводный список записей блога <<<<---

21 июня 2021

Радио - это когда приходится слушать то, что нравится ведущему.

Портативный FM-приемник

На РадиоКОТе пробегала тема портативного приемника на чипе RDA5807. Сначала это был приемник с применением монохромного ЖК-дисплея 84*48 пикселей "от Нокии 5110", потом автор переделал схему и прошивку под OLED-дисплей 128*64 пикселя на контроллере SSD1306 или SH1106.

Так сложилось, что я на основе схемы автора с небольшими изменениями сварганил достаточно портативный приемник со своими азартными играми и танцовщицами.


Размеры корпуса - 72*39*15 мм

Что приемник умеет:

  • Играть радиостанции в диапазоне 87-108 МГц :)
  • Помнить 48 частот станций
  • Отображать время
  • Режимы приема стерео и принудительное моно
  • Тонкомпенсация (Bass) (отключаемая)
  • Показ данных RDS (отключаемый)
  • Автосканирование диапазона с сохранением найденных станций в списке сохраненных (ранее сохраненные частоты будут удалены)
  • Гибкая работа со списком сохраненных частот - перемещение по списку, вставка и удаление позиции в списке, сохранение текущей станции в список, ручное редактирование частоты
  • Режим сна (автоотключения), 5,10,15,20,30,60,90 минут
  • Выключение приемника при разряде батареи
  • Детектор наличия наушников - выключение приемника при отсутствии наушников

Настройки приемника:

  • Настройка времени
  • Время до отключения дисплея в режиме радио, 2-30 сек
  • Включение/выключение звукового подтверждения нажатия кнопок
  • Настройка реакции на нажатие кнопок при выключенном дисплее - только включить дисплей или еще и выполнить функцию кнопки
  • Калибровка батареи - необходимо выставить текущее напряжение батареи, измеренное вольтметром
  • Низкий уровень батареи - выставляется напряжение батареи, при котором приемник будет отключаться
  • Сброс всех настроек (включая сброс времени и стирание сохраненных частот станций)

Схема.


Схема покрупнее - в PDF.

В приемнике применен OLED-дисплей на контроллере SSD1306 (или SH1106) с небольшой доработкой.

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


Печатная плата



Вот тут - герберы для изготовления печатной платы.

А вот тут - готовый PDF для печати на лазернике и изготовления платы методом ЛУТ.

Процесс сборки

Желательно при изготовлении платы уже иметь корпус на руках.

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

Особое внимание следует обратить на контур в районе USB-гнезда и гнезда для наушников. Там контактные площадки разъемов касаются контура. Соответственно, нужно дорожку контура в тех местах снять/сточить, что бы она не контачила с другими деталями. Я обтачивал плату так, что бы медь дорожки контура тоже снялась.

Далее, нужно аккуратно просверлить сверлом 1.1мм (желательно поточнее) 4 центровочных отверстия под направляющие шпеньки в корпусе и 2 отверстия диаметром 4.5мм под сборочные отверстия корпуса. Далее, плату примерить в корпус, одев на нижнюю часть корпуса фигурную накладку, что бы она четко одевалась на шпеньки и не упиралась в сборочные отверстия. Плата должна спокойно проходить через фигурную накладку и садиться на свое место.

После этого можно распаять все переходные отверстия и установить все SMD-детали, кроме разъема для наушников и USB-гнезда.

Под радиомодуль можно проложить полоску бумаги, что бы точно ничто не коротнуло на дорожки, проходящие под модулем. (Либо должна быть паяльная маска).

Примерить плату. Возможно, кварц будет слегка упираться в нижнюю часть корпуса, там, где высота корпуса уже становится меньше, ближе к краю корпуса. Я там снял приблизительно 0.5-0.7 мм пластика дремелем. Осторожно, что бы не продолбать корпус насквозь. Толщина его порядка 1.5 мм.

Далее, паяется USB-гнездо, под него размечается место в нижней части корпуса, делается выборка (надфилем).

Потом устанавливается накладка, на ней отмечается место выборки, накладка до середины толщины обтачивается.

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

С этого момента с накладкой желательно обращаться осторожно, поскольку эти 0.5 мм пластика легко сломать или порвать.

Теперь накладку можно приклеить по периметру к верхней части корпуса.

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

Далее, плата убирается из корпуса, корпус собирается. Отступив на 0.5 мм от середины накладки вверх по отмеченной оси разъема, сверлится отверстие. диаметр 1 - 1.5 мм (плотно держим корпус руками, сжимая верхнюю и нижнюю части в области сверловки). Далее, отверстие последовательно рассверливается свёрлами до диаметра 5 мм. Корпус при этом нужно плотно держать , что бы сверловка шла сразу и в накладке, и в верхней крышке. Сверлить нужно осторожно, особенно сверлами от 3.5 мм, что бы не повредить и не обломать накладку, поскольку ее толщина менее 5 мм.

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

В принципе, сборку платы на этом можно считать законченной.

Установка дисплея.

Распечатывается файлик с передней панелью, вырезается по контуру, вкладывается в выемку верхней крышки и по разметке отмечается положение окна для дисплея. Сразу же можно просверлить (или разметить острым шилом) отверстия под толкатели кнопок.

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

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



На фото так же показана выборка угла корпуса под аккумулятор.

Запланированные размеры аккумулятора, толщина до 5 мм :


После установки платы в корпус и выборки пластика в корпус поместился аккумулятор типоразмера 501225 - 5 мм высотой, 12 мм шириной, 25 мм длиной.

Фьюзы

Включить сохранение EEPROM при стирании кристалла (EESAVE=0),
отключить деление тактовой на 8 (CKDIV8=1),
BOD настроить на режим 1.8 вольта : BODLEVEL2 и BODLEVEL1 запрограммированы (=0), BODLEVEL0 - не запрограммирован (=1)

Всё остальное - не трогаем.

Кому ближе цифры - вот:
Low 0xE2
High 0xD1
Ext 0x06

Прошивка

Hex-файл - вот тут (отдельные прошивки для SSD1306 и SH1106). 

Для возможности прошивки на плате есть 5 контактных точек - Gnd, MOSI, MISO, Sck, Rst.

Прошивку в МК нужно заливать программатором с уровнями 3.3 вольта, при этом к плате должен быть подключен аккумулятор.

Если программатор пятивольтовый (подавляющее большинство "свистков" USBAsp) - то программирование МК нужно провести ДО подключения батареи, подав +5 вольт от программатора на контакт для подключения "+" батареи.


Управление приемником

Кнопка Вверх

режим радио: громкость +
режим меню: перемещение вверх / редактирование (увеличение) параметра
при длительном нажатии включается автоповтор нажатий

Кнопка Вниз

режим радио: громкость -
режим меню: перемещение вниз / редактирование (уменьшение) параметра
при длительном нажатии включается автоповтор нажатий

Кнопка Влево

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

Кнопка Вправо

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

Центральная кнопка - Ok/Power

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


Послесловие.

Я обещал когда то одному человеку разработать приемник. Ну и тут подвернулся приемник авторства NoviceUser-а с РадиоКОТа, который я немножко улучшил и написал свою прошивку.

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

П.С. Видеообзоры от Юрия Нефедова.



3 комментария:

  1. Отличный приемник, сделал его с удовольствием. Очень продуманный функционал и конструктив. Наиподробнейшие пояснения. Кто начинает делать-"обречен" на успех.

    ОтветитьУдалить
  2. А чем плату разводишь? Такие плавные дороги - на топор похоже...

    ОтветитьУдалить

======= !!! ВНИМАНИЕ !!! ======================================================================
Гугл умный и боится спама. Поэтому иногда ваши комментарии Гугл отправляет мне на премодерацию. Отправлять или нет - решаю не я, а алгоритмы Гугла. Если ваш комментарий не появился сразу, значит я получу уведомление и опубликую ваш комментарий через некоторое время. Я стараюсь это делать достаточно оперативно.