Главная » Радиоприем
Призовой фонд
на июль 2017 г.
1. Осциллограф DSO138
Паяльник
2. Регулируемый паяльник 60 Вт
Паяльник
3. 200 руб.
От пользователей

Радиомодуль с RDA5807M продлевает жизнь старых радиоприёмников

У многих радиолюбителей хранятся как раритеты старые радиоприёмники, такие как «ВЭФ», «Океан» и т. п., которые дороги как память, но либо уже не работают, либо не используются по причине проблем с радиовещанием на ДВ и СВ, да и на УКВ сейчас вещает мало радиостанций.

Появившийся в последнее время в продаже дешёвый FM радио-модуль на базе микросхемы RDA5807M имеет малые размеры неплохие параметры, что позволяет встраивать его практически в любой радиоприёмник, продлив тем самым его «жизнь».

Основные технические параметры RDA5807M

  • Поддержка выбора диапазона приёма в пределах 50…115 МГц.
  • Четыре возможных шага перестройки частоты: 100КГц, 200КГц, 50КГц и 25КГц.
  • Поддержка приёма текстовых данных в формате RDS/RBDS.
  • Встроенный цифровой синтезатор частоты.
  • Встроенный автономный автопоиск радиостанции.
  • Возможность работы от часового кварца на частоте 32768 Гц.
  • Автоматическая регулировка усиления.
  • Цифровое адаптивное подавление шума.
  • Возможность выбора режима воспроизведения моно или стерео.
  • Возможность включения подъёма усиления низких частот (басов), что важно в случае применения малогабаритных динамиков.
  • Индикатор уровня сигналов.
  • Индикатор стерео сигнала.
  • Цифровой регулятор громкости и выключатель звука (MUTE).
  • К встроенному УМЗЧ можно подключать головные телефоны (32 Ом).
  • Корпус MSOP (10 выводов).

Электрические параметры RDA5807М.

  • Напряжение питания 1,8…3,3 В.
  • Ток потребления в рабочем режиме до 21 мА.
  • Ток потребления в спящем режиме 5 мкА.
  • Коэффициент нелинейных искажений 0,15…0,2 %.
  • Максимальная тактовая частота интерфейса I2C 400 КГц.

Похоже на то, что микросхема RDA5807M является усечённым вариантом цифрового радиоприёмника RDA5807P. Например в даташите на RDA5807M упоминается параметр INT_MODE - разрешение прерываний, но для сигнала прерывания не предусмотрено никакого выхода, в отличие от RDA5807P, где этот сигнал появляется на выводе GPIO2. Найти руководство по программированию для RDA5807M мне не удалось, поэтому приходится пользоваться руководством для RDA5807P, которое не совсем подходит для микросхемы RDA5807M, к тому же на китайском языке.

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

Интерфейс I2C совместим с протоколом шины I2C Спецификации 2.1. Он оперирует двумя выводами модуля: SCL и SDА. При записи, байты данных передаются микроконтроллером (далее – МК), а при чтении, байты данных считываются из RDA5807M. Интерфейс I2C модуля RDA5807M позволяет организовать три различных способа обмена данными. Для этого нужно передать соответствующий командный байт. Командный байт содержит 7-ми битный адрес чипа и младший бит (b0 = R/W), определяющий команду записи (W=0) или чтения (R=1).

  1. Режим группового последовательного доступа к внутренним регистрам:  команда записи - (0х20), команда чтения - (0х21).
  2. Режим произвольного доступа к внутренним регистрам:

    команда записи - (0х22), команда чтения - (0х23).

  3. Режим поддержки совместимости с чипом TEA5767:

    команда записи - (0хС0), команда чтения - (0хС1).

   Режим группового последовательного доступа к внутренним регистрам.

Внутренние регистры имеют фиксированный начальный адрес (0x02h) для записи данных и (0x0Ah) для чтения, и внутренний инкрементальный счётчик адреса. Когда значение регистра адреса достигает конца регистрового файла (0x3Ah), счётчик адреса будет сброшен в (0x00h). Регистры модуля 16-ти разрядные, поэтому МК передаёт или принимает данные побайтно, сначала старшие 8 бит регистра, затем младшие. После передачи восьми бит каждого байта передаётся девятый бит подтверждения ACK (SDA=0) или NACK (SDA=1). Бит ACK (или NACK) всегда посылает получатель.

Передача данных для записи через интерфейс I2C начинается с формирования условия «START», затем следуют командный байт и байты данных, и заканчивается формированием условия «STOP». При этом MК сначала передаёт в регистр 0x02h старшие 8 бит, затем передаёт в регистр 0x02h младшие 8 бит, после чего передаёт в регистр 0x03h старшие 8 бит, и так до последней записи.  После каждого принятого байта модуль RDA5807M всегда выдает ACK, а MК выдает условие «STOP», когда программирование регистров закончено.

При чтении данных из регистров модуля, после командного байта от MК, модуль RDA5807M посылает из регистра 0x0Ah сначала старшие 8 бит, затем из регистра 0x0Ah передаются младшие 8 бит, после чего из регистра 0x0Вh сначала старшие 8 бит, и так до тех пор, пока не получит NACK от MК. MК выдаёт ACK для каждого байта данных кроме последнего байта данных, чем сообщает модулю о том, что приём данных окончен. После того, как MК выдаст NACK для последнего байта данных, модуль RDA5807M освобождает шину данных микроконтроллеру, и MК выдаёт условие «STOP».

Модуль RDA5807M сам себя сбрасывает, при подаче питания. А также поддерживается программный сброс путём переключения бита 1 в регистре 02H с 0 в 1.

Режим произвольного доступа к внутренним регистрам.

В режиме произвольного доступа к внутренним регистрам модуля RDA5807M после командного байта, определяющего запись или чтение, МК передаёт адрес внутреннего регистра, к которому будет обращение для записи или чтения.

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

START

I2C CHIP ADDRESS

W

ACK

REGISTER ADDRESS

ACK

REGISTER BIT <15:8>

ACK

REGISTER BIT <7:0>

ACK/

NACK

STOP

Следующая таблица показывает порядок следования данных при чтении в режиме произвольного доступа к внутренним регистрам. Цветом выделены данные, которые передаёт микроконтроллер.

START

I2C CHIP ADDRESS

W

ACK

REGISTER ADDRESS

ACK/NACK

START

I2C CHIP ADDRESS

R

ACK

REGISTER BIT <15:8>

ACK

REGISTER BIT <7:0>

NACK

STOP

Работа модуля в режиме совместимости с чипом TEA5767 мною не проверялась, но из сообщений на различных форумах можно узнать, что при замене модуля с чипом TEA5767 на модуль с RDA5807M радиоприёмник нормально работает без изменения программы управляющего МК.

Прочитав ряд статей на тему FM-радиоприемника на модуле RDA5807M, в том числе «FM радио модуль RDA5807M» и «Будильник радио», я решил повторить схему, приведённую в статье по первой ссылке (автор Gauss). Собранный радиоприёмник заработал сразу и сразу же обнаружились некоторые недостатки. Впрочем, это никоим образом не умаляет значение этой хорошо проиллюстрированной статьи, которую перепечатали уже многие другие сайты. Как известно, тому, кто идёт впереди всегда труднее, да и нет предела совершенству. Идя по следам этого автора другие радиолюбители, каждый на свой вкус, добавляют к этому радиоприёмнику кто часы, кто термометр, кто чтение сообщений по RDS. Вот и я в их числе.

Итак, что же меня подкупило в этой реализации радиоприёмника? Это простота схемы, наличие исходников с подробными комментариями, возможность выводить на дисплей названия местных радиостанций, дешевизна комплектующих.

Теперь о том, что не устроило после сборки радиоприёмника.

  1. Приём сопровождается помехой, которая прослушивается на фоне радиопередачи в виде рокота. Особенно этот рокот заметен при прослушивании маломощных радиостанций. Если нажать и удерживать кнопку сброса микроконтроллера, то этот шум исчезает.
  2. При включении радиоприёмник не начинает работать пока не нажмёшь на какую-нибудь кнопку. Чтобы настроиться на последнюю перед выключением станцию, частота которой сохраняется в EEPROM, необходимо нажать на кнопку сброса микроконтроллера.
  3. Отсутствует автоматическая настройка на станцию. Использовать для настройки кнопки “+F” и “- F” с шагом настройки ±100 КГц очень неудобно, т. к. для того, чтобы пройти весь диапазон нужно будет нажать на кнопку 210 раз.

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

Поэтому было решено написать программу на ассемблере. Чтобы не переделывать готовую схему в макете, я оставил прежнюю распайку выводов микроконтроллера ATMega8, поэтому схема приёмника, приведённая на рис.1, практически не отличается от схемы в упомянутой выше статье.

Основные функции программы:

  • Диапазон частоты настройки 87,0…108 МГц.
  • Шаг настройки частоты приёма 100 КГц.
  • Перебор станций, сохранённых в памяти программ вверх и вниз по списку в таблице при помощи кнопок “+St” и “- St”.
  • Полуавтоматическая настройка на станцию вверх и вниз по диапазону при помощи кнопок “+F” и “- F”.
  • Запись текущей частоты настройки в EEPROM.
  • Отдельный индикатор стереосигнала на светодиоде.
  • Вывод на индикатор частоты и названия станции.
  • Частота станции выводится цифрами удвоенной величины.
  • При включении - начинает работу на сохранённой частоте.
  • Используется аппаратный интерфейс I2C микроконтроллера ATMega8.

Рис.1
Рис.1.

Вывод подсветки индикатора соединён с выводом питания, т. к. у меня был индикатор на плате синего цвета. Для индикаторов на плате красного цвета этот вывод нужно соединить с общим проводом. Выходные сигналы с тьюнера я подавал на вход УМЗЧ радиоприёмника. Качество приёма неплохое. При приёме слабых сигналов имеет значение положение антенны. При автопоиске иногда пропускает слабые станции и останавливается на частотах с высоким уровнем шумов, чтобы это уменьшить можно поэкспериментировать с подбором порога отношения сигнал/шум при поиске (Seek SNR threshold value). 

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

При программировании МК необходимо запрограммировать следующие фьюзы: CKSEL0, CKSEL1, CKSEL3 и SUT0.

В некоторых случаях более подходящим для переделки старого радиоприёмника или для оформления нового будет символьный дисплей. На рис. 2 представлен вариант схемы цифрового FM радиоприёмника с двухстрочным символьным дисплеем WH1602 на базе контроллера HD44780.

Рис.2.
Рис. 2.

На этой схеме индикатор и микроконтроллер питаются от источника +5 В, а радиомодуль от +3,3 В, поэтому для связи с радиомодулем необходимо установить преобразователи уровня на транзисторах VT1 и VT2. Основные функции программы МК такие же, как и в предыдущей схеме. В моём индикаторе был зашит только латинский шрифт, поэтому и вывод сообщений на дисплей был возможен только латиницей. Но при желании можно, конечно, использовать и дисплей с кириллицей. В конце наименования таких дисплеев присутствует индекс СТ или СР.

Объём кода управляющей программы для радиоприёмника, представленного на рис. 1, получился немногим более двух килобайт, поэтому у меня возникла идея применить микроконтроллер ATtiny2313, имеющий меньшие размеры памяти. Для этого программу пришлось ужать за счёт сокращения шрифтов, в остальном все функции радиоприёмника сохранены. В программе используется программный интерфейс I2C. Вывод сообщений на экран такой же, как и в схеме на рис.1. Из набора шрифтов удалены знаки препинания и др. вспомогательные знаки, а также оставлен набор букв только одного алфавита. На удобстве пользования это почти не отразилась, просто теперь нельзя одновременно видеть не экране латинские и русские буквы. Памяти МК хватило для записи названий и частот 14-ти местных радиостанций. Схема такого варианта приёмника приведена на рис.3.

Рис.3.
Рис. 3.

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

Ну и для комплекта, на рис. 4 приведена схема FM-радиоприёмника на микроконтроллере ATtiny2313 с ЖК индикатором WH1602 на базе контроллера HD44780.

Рис.4.
Рис. 4.

По ссылке ниже можно скачать архив с файлами для этого варианта радиоприёмника. При программировании МК ATtiny2313 необходимо запрограммировать такие же фьюзы, что и для ATMega8, а именно: CKSEL0, CKSEL1, CKSEL3 и SUT0.  Привожу скриншот из программы CodeVision на рис.5.


Рис. 5.

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

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

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

Варианты радиоприёмников с МК ATmega8 имеют большой запас свободной памяти программ, представляя возможность для дальнейшего его усовершенствования.  Например, можно добавить часы, термометр, дистанционное управление и пр.  

Прикрепленные файлы:

Теги:

Опубликована: 0 4
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (78) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
Гена Иванов #
Я дико извиняюсь, но мой дешифратор не воспринимает общие слова. В связи с чем, не могли бы Вы ответить мне на несколько вопросов? Первый из них - где в даташите chip adress?
Ответить
0

[Автор]
asvetp #
На страницах форума регулярно появляются новые версии программ и схем радиоприемников, а также обновления предыдущих.
Ответить
0
Андрей #
Интересная задумка. HEX- файлы выложите пожалуйста, а то с компиляцией проблема.
Ответить
0

[Автор]
asvetp #
HEX-файлы, как и схемы содержатся в прикреплённых архивах.
Ответить
0
sergej_shaggy #
Прикольно. В свое время для таких переделок брали дешевые китайские FM-приемники на одной микросхеме и вставляли их в те-же ВЭФы и Туристы, чисто механически связав с верньерным устройством.
Ответить
0

[Автор]
asvetp #
Да, я тоже это делал. Но в 90-х годах, когда у нас только началось вещание на FM-диапазоне, собирал различные FM-радиоприёмники на транзисторах и микросхемах.
Ответить
0
sasha9966 #
А можно использовать RDA5807FP?
Ответить
0

[Автор]
asvetp #
Не могу сказать определённо, так как мне не встречалось описание RDA5807FP.
Сейчас погуглил и нашёл даташит на RDA5807FP. Судя по всему эта микросхема тоже должна без проблем работать в описанных радиоприёмниках без каких-либо изменений в программе МК.
Ответить
0
Андрей #
Понравилась статья автора (что то конечно и многое не понимаю в микро-чипах программных) но хочется повторить. A вот вопросик к автору, а можно создать такую же схему приёмника на RDA5807, но уже на PIC-микроконтроллерах?
Ответить
0

[Автор]
asvetp #
Конечно можно. Но я не занимаюсь PIC-микроконтроллерами.
Ответить
0
madrid-by #
А я при таком же подключении к портам кнопок, сделал управление звуком от 0 до 15, а также корявенький (пока) автопоиск. Так как, на mega8 памяти осталось куча, планирую еще добавить сохранение последней перед выключением станции и настройки звука.
Ответить
0

[Автор]
asvetp #
Если Вы планируете снабдить приёмник дистанционным управлением, то регулировка звука от кнопок будет действительно необходима, в ином случае это не очень удобно на мой взгляд. Кроме того, для сокращения числа кнопок в этом случае нужно предусмотреть хотя-бы простенькое меню.
Так как схема подключения у Вас такая же, Вы можете попробывать загрузить мой HEX-файл.
У Вас поиск станций автоматический или полуавтоматический?
Ответить
0
madrid-by #
Скажем так, полу автоматический и пока далек от идеального.
Ответить
0

[Автор]
asvetp #
Ну, идеального ничего не бывает. Чем больше вы будете уточнять и шлифовать программу и изделие, тем больше станете замечать неточности, погрешности и варианты их устранения. В этом деле главное вовремя остановиться, т. е. достичь технического компромисса.
Ответить
0
madrid-by #
Полностью согласен!
Ответить
0

[Автор]
asvetp #
В теме статьи на форуме приведена небольшая инструкция по тому, как прописать в программе частоту и название радиостанций, вещающих в вашем городе.
Ответить
0
Костя #
Я зашил вашу программу в atmega 8, и при включении радиоприемника у меня иногда пропадает звук (становится очень тихим). Можете подсказать в чем причина этой неисправности?
Ответить
0

[Автор]
asvetp #
Прошу прощения за задержку с ответом. Только вчера вечером вернулся из поездки.
Для ответа на ваш вопрос мне нужна дополнительная информация. Например в какой момент пропадает звук - в процессе работы или после очередного включения, или после нажатия на какую-либо кнопку. В качестве общих рекомендаций могу назвать тщательную проверку монтажа, проверку величины и уровня пульсаций напряжения питания. Провода, связывающие микроконтроллер с индикатором должны иметь минимальную длину. Если кнопки управления вынесены за пределы платы, необходимо параллельно каждой из них подключить конденсатор, ёмкостью от 10 до 68 nF.
Ответить
0
Костя #
После очередного включения динамик говорить очень тихо. Перепробовал не помогает
Раньше иногда такое было, иногда работало
Ответить
0

[Автор]
asvetp #
Появляется ли тихий звук только на одной сохранённой перед выключением станции или он остаётся и на других станциях, если выбирать их кнопками? Нормально ли происходит настройка на новую радиостанцию?
Ответить
0
Костя #
Тихий звук сохраняется
На новую станцию настройка происходит нормально
Ответить
0

[Автор]
asvetp #
При включении радиоприёмника происходит инициализация микросхемы RDA5807M. Если напряжение питания при включении устанавливается слишком медленно, то часть команд (например TUNE) может быть потеряна. Это может происходить при слишком большой ёмкости электролитических конденсаторов в блоке питания. Нужно проверить также нет ли дребезга контактов в выключателе питания.
Ответить
0
Микола #
Собрал. Количество станций увеличил. Если бы регулировку звука сделать.
Ответить
0

[Автор]
asvetp #
Микола, если регулировать громкость не переменным резистором, а теми же кнопками "+St" и "-St" , что и поиск станций, то придётся вводить хотя-бы простейшее меню. Можно, конечно, добавить ещё две кнопки, но это будет, мне кажется, слишком громоздко. Сейчас у меня на изменение программы нет времени. Возможно осенью или зимой руки дойдут и до этого.
Ответить
0
remlab #
Собрал приёмник по схеме Nokia & ATMega8. Работает хорошо. Большое спасибо автору. Но есть и проблемка, очень мала контрастность дисплея. В другом проекте у этого дисплея с контрастностью всё хорошо. Убедительная просьба к автору, если не затруднит, добавить в программе контрастность. Самому не справиться.
Ответить
0
Ал #
Да, да, asvetp, контрастности бы.
Ответить
0

[Автор]
asvetp #
Настроить контрастность дисплея даже проще, чем записать частоты радиостанций в вашей местности. Для этого в драйвере ЖК-индикатора (файл Nokia5110_driver.asm) нужно найти раздел "Таблица кодов команд инициализации LCD". Там вы увидите строку
.db 0x21, 0xBC, 0x06, 0x13, 0x20, 0x0C
В этой строке замените шестнадцатеричное число 0xBC на другое, например на 0xC8 и перекомпилируйте проект в Протеусе или в другой программе. Возможно придётся подобрать это число, если контрастность будет слишком большой и будут видны тёмные прямоугольники вокруг знаков.
Ответить
0
Тимур #
Спасибо за статью, не знал что в чипе есть несколько интерфейсов I2c. Кстати собирая схему, я заметил один нюанс, в даташите на RDA5807FP есть описание регистра: 05H - 7:6 - LNA_PORT_SEL[1:0], если его выставить в 00, то входной антенный предусилитель отключается и причём станций становится затруднительным. В даташите для RDA5807M нету такого описания, но в самом чипе этот параметр реализован! Поэтому работая со звуком в регистре 05H - 3:0 важно помнить что там есть биты предусилителя.
Ответить
0

[Автор]
asvetp #
Спасибо, Тимур, за очень полезную информацию. Вот так и я по крохам добывал нужные мне сведения по данной теме.
Ответить
0

[Автор]
asvetp #
Представляю вниманию радиолюбителей слегка обновлённую версию программы для варианта радиприёмника Nokia & ATtiny2313 rus. Перебор сохранённых станций теперь производится по кругу, т. е. при нажатии на кнопку S- перебор не останавливается на первой станции, а выбирается последняя, затем предпоследняя и т. д. Аналогично происходит при нажатии на кнопку S+ после последней идёт первая станция.
Кроме того, индикация "Моно-Стерео" производится как на дисплее, так и светодиодом. Для тех вариантов исполнения радиоприёмников, которые питаются от батареек, это позволит экономить энергию батареи. Светодиод в этом случае, разумеется, подключать не нужно.

Упрощается так же адаптация программы для случаев, когда число местных радиостанций отличается от моих (14 шт). Для этого нужно ввести своё число станций в начале файла RDA5807M_&_Nokia5110.asm в строке:

.equ Nst = 14 ;Число местных станций
Прикрепленный файл: RDA5807M_&_Nokia5110_v1.01.zip
Ответить
0
andryha #
Хотел вчера обновить прошивку приёмника, но во время заливки в микроконтроллер выскакивает ошибка и процес останавливается. Ктонибудь пробывал эту версию?
Ответить
0

[Автор]
asvetp #
В теме статьи на форуме выложена новая переработанная версия программы для варианта радиоприёмника Nokia & ATMega8. Добавлена функция регулировки громкости, индикация уровня сигнала и др.
Ответить
0
Николай #
Есть ли возможность сделать вариант ATMega8 + WH1602? Очень бы хотелось!
Ответить
0

[Автор]
asvetp #
О каком конкретно варианте идёт речь? Начальный вариант выложен в конце статьи в прикреплённых файлах.
Ответить
0

[Автор]
asvetp #
Выкладываю очередную исправленную и дополненную версию радиоприёмника. Теперь при включении и загрузке частоты сохранённой станции вместо вывода на дисплей сообщения "Сохр. настройка", производится поиск её названия в списке и вывод названия радиостанции. Аналогичное действие происходит и в режиме автонастройки. Если найден шумовой канал или станция, которой нет в вашем списке, то выводится сообщение "Неизв. канал". Немного подправил алгоритм поиска станции, в результате уменьшилось число ложных настроек. Исправил некорректное отображение уровня сигнала. Добавил функцию временной подсветки дисплея для приёмников с автономным питанием. Ток подсветки по моим измерениям составляет всего 5,2 мА, поэтому никаких дополнительных ключей для неё не требуется. Но так, как в разных вариантах дисплеев используется разные способы включения подсветки (либо нулём, либо единицей), то я решил сделать управление сразу для обоих вариантов. Для дисплея на синей плате его седьмой вывод "BL" нужно соединить с выводом 6 контроллера, а для дисплея на красной плате - с выводом 5 МК. Подсветка появляется при нажатии на любую кнопку и отключается спустя около 10 сек. после отпускания последней нажатой кнопки.

В остальном, функции кнопок управления такие же, как и в предыдущем варианте - переключение режима настройки Ручная/ Авто производится длительным нажатием на одну из кнопок +F или -F. Если в вашем радиоприёмнике громкость регулируется потенциометром, то для управления можно использовать всего две кнопки.
Прикрепленный файл: Nokia & ATMega8_v6.zip
Ответить
0
Николай #
Добрый день!
Помогите скомпилировать .НЕХ. с радиостанциями г. Харькова.
Прикрепленный файл: ATtiny_&_WH1602.asm
Ответить
0

[Автор]
asvetp #
Хорошо, Николай, сделаю. Я не развивал этот вариант, т.к. мне показалось, что он никому не интересен. Одновременно я немного доработаю программу, чтобы не возникало таких трудностей у других радиолюбителей.
Ответить
0

[Автор]
asvetp #
Вот, Николай, новая версия программы и готовая прошивка со списком Ваших радиостанций. Проверена мною только в Протеусе, т.к. у меня сейчас нет возможности проверить программу в железе. Поэтому после проверки её в работе, прошу написать мне здесь о результате.
Прикрепленный файл: Новая прошивка.zip
Ответить
0
hornet #
Есть ли надежда, что регулятор громкости будет добавлен и в проекты со знакосинтезируюшими дисплеями?
Ответить
0

[Автор]
asvetp #
hornet, какой вариант приёмника Вас интересует на ATtiny2313 или на ATMega8? Я не сделал регулятор громкости до сих пор потому, что ни здесь, ни на форуме никто этим не интересовался.
Ответить
0
hornet #
В принципе разница в цене контроллеров незначительна Какой вам удобнее или проще, тот и выберите. Единственное, если корпус для поверхностного монтажа, то 2313 паять проще
Ответить
0

[Автор]
asvetp #
Хорошо, hornet, думаю через дней 7...10 выложу доработанную версию радиоприёмника WH1602 & ATMega8.
Ответить
0
Саша #
С Вашего позволения, выскажу свое мнение о проекте RDA5807+atmega8. Приемник заработал сразу, и замечу с хорошем качеством и с хорошей чувствительностью.Огромное спасибо автору, и всем, кто работал над прошивкой. Особенно с регулировкой громкостью. ЕЕ ну буквально не хватало. Либо нужен был дополнительный усь, перед которым нужно было ставить сдвоенный регулятор громкости,либо пользоваться наушниками с регулятором громкости. Имеется ввиду минимальные размеры устройства. Выкладываю фото устройства, сделанного на скоряк...Заранее извините за небрежность изготовления.ну уж очень хотелось его испытать в разных районах города. В дальнейших планах максимально сжать в размерах заменив МК на atmega8 tqfp и определиться с питанием минимального размера. Порадовал индикатор уровня принимаемого сигнала, ну и конечно регулировка громкости.Ведь достаточно прикрутить усь PAM8403 и устройство готово. Причем с малыми размерами и с хорошим звучанием. С громкостью маленький нюанс. Убавляя громкость в минимальное значение 0 звук полностью не затухает.
И еще. Помогите пож-та переписать прошивку с радиостанциями г. Анапа.31 радиостанция. Сам не осилю. Это мой первый проект на МК.
Прикрепленный файл: 2.jpg
Ответить
0

[Автор]
asvetp #
Хорошо, Саша, давайте список Ваших радиостанций с частотами.
Хочу попросить Сашу выложить здесь или лучше на форуме печатную плату. Думаю многим она пригодится. Что касается неполного обнуления громкости при задании нулевого уровня, то видимо это свойство микросхемы. Для полного выключения звука есть команда MUTE, которую я не использую при регулировке громкости.
Ответить
0
Саша #
Как обещал-выкладываю печатную плату. В отличии от предыдущего моего варианта-добавлен разъем для наушников 3.5. Пожалел, что не задействовал свободные контакты разъема, для включения радиоприемника при вставлении разъема мини джека 3.5 наушников. Думаю было бы удобно. Вставил наушники-устройство включилось. Ну да ладно..... Может пересмотрю в будущем. Плата разработана под разъем, который на фото. Другого, меньшего, разъема, я не нашел (пока). Плата RDA5807 крепится на основную плату при помощи кусочка 2-стороннего скотча (см фото), и тонкими проводками подпаивается к контактам. Держится очень крепко,да и в любой момент можно снять не повредив модуль. Паяльник использовал какой был. Очень неплохо и аккуратно получается. В плате к сожалению много перемычек. Контакты SDA и SCL при пайке к основной плате-крест на крест... В ближайшее (день-два) время будет подробное фото. Спасибо за внимание.
Прикрепленный файл: проба плата 3.lay6
Ответить
0

[Автор]
asvetp #
Спасибо, Саша. Разобрались ли с прошивкой своих радиостанций?
Ответить
0
саша #
Нет, asvetp. Не было времени. Хорошо бы видео коротенькое и понятное. Думаю многие воспользовались бы. Благодарю Вас, за внимание ко мне.
90.9-дорожное радио
91.4-вести фм
92.3-хит фм
92.9-energy fm
92.3-komedy radio
93.7-хорошее радио
94.5-неизвестн.канал
95.5-радио дача
96.5-новое радио
97.4-ретро фм
98.3-радио шансон
99.0-наше радио
99.4-неизвестн.канал
100.1-monte carlo
100.9-неизвестн.канал
101.5-милиц.волна
101.9-неизвестн.канал
102.4-казак фм
102.8-европа плюс
103.3 -юмор фм
104.0-новая россия
104.5-русский хит
104.9-первое радио
105.9-авторадио
106.9-русское радио
107.4-love radio
107.8-на 7 холмах
Ответить
0

[Автор]
asvetp #
Откликаясь на просьбы радиолюбителей, в том числе hornet, , я доработал программу радиоприёмника по варианту WH1602 & ATMega8. Теперь первыми двумя кнопками регулируется громкость, а другой парой - настройка. Переход от ручного поиска станции из списка к автопоиску и обратно происходит по длительному (3 сек.) нажатию кнопок настройки. На дисплей выводится уровень громкости и уровень сигнала в антенне.
Прикрепленный файл: WH1602 & ATMtga8_v4.zip
Прикрепленный файл: Диспл_V4.png
Ответить
0

[Автор]
asvetp #
Саша, я прописал Ваши радиостанции в программе. В архиве программа и прошивка. Посмотрите в конце программы на то, как я это сделал и, если надо будет изменить название сделаете это аналогичным образом. Название с пробелами не должно содержать больше 14 знаков. При изменении числа прописанных радиостанций не забудьте ввести новое число в начале программы в соответствующей строке.
Прикрепленный файл: RDA5807M_&_Nokia5110_v6_Анапа.zip
Ответить
0
Саша #
Спасибо Большое, asvetp. Все хорошо, все верно. Все правильно! Этот этап, который Вы мне описали, мне понятен. А следующий этап, чтобы превратить данную, скажем, отредактированную программу, к примеру для другого города, в HEX фаил, пока не понятен..
Ответить
0

[Автор]
asvetp #
Саша, чтобы получить HEX-файл из ассемблерной программы, нужно создать проект например в программе AVRStudio, загрузить в него все исходники и скомпилировать проект, нажав на кнопку Build. Существуют и другие программы, например Proteus. Для этой программы я уже создал соответствующий проект и Вам остаётся только отредактировать файл RDA5807M_&_Nokia5110.asm, в котором прописать свои радиостанции и нажать на команду Build All.
Отредактирован 04.11.2016 09:25
Ответить
0
andryha #
Собрал на "Attiny2313 и Nokia 5110" вместо ФМ_модуля у меня нет. Использовал микросхему RDA5807FP все работает. Так как собирал вначале приемник "Дружок" на pic16f628a, тоже работает, но захотелось дисплей покруче. Сам я не програмист, у меня возникли проблемы с редактированием и компиляцией файла прошивки под свои станции.
Ответить
0

[Автор]
asvetp #
andryha. Обо всём, что Вас интересует я подробно описывал на страницах форума. Там Вы найдёте не только ответы на эти вопросы но и различные версии схем и программ радиоприёмника.
Ответить
0
andryha #
Спасибо. пробороздил здесь всё что можно, и методом проб и ошибок у меня получилось записать свои станции в память. Хотел обновить прошивку на RDA5807M_&_Nokia5110_v1.01.zip приемник на Attiny2313, но при заливке вылетает ошибка. Файл hex из архива, сам ничего не менял.
Ответить
0

[Автор]
asvetp #
Я не понял andryha, если Вам удалось записать свои станции в память, то при чём тогда ошибка при заливке? Какая это ошибка?
Ответить
0
andryha #
Всё я разобрался в чём была причина. Просто заливал прошивку atmega8 в Attiny2313.
Ответить
0
Сергей #
Добрый день Вasvet. Помогите скомпилировать частоты по Москве.
Ответить
0

[Автор]
asvetp #
Хорошо, Сергей, пришлите мне личное сообщение с перечнем Ваших радиостанций и укажите версию радиоприёмника.
Ответить
0

[Автор]
asvetp #
Сергей, в прилагаемом архиве файлы для радиоприёмника по версии WH1602 & ATMega8_v4.1 с московскими радиостанциями FM диапазона. Станции диапазона УКВ этот приёмник не принимает. Для прошивки Вам потребуется только HEX-файл.
Прикрепленный файл: WH1602 & ATMega8_v4.1.zip
Ответить
0
Сергей #
Большое спасибо вам за прошивку. Работают все станции.
Ответить
0
remlab #
Уважаемый asvetp, если можно, добавьте, пожалуйста, в оригинальную программу из архива статьи версия WH1602 & ATMega8 чтение регистров RDA5807M при включении. Именно эта программа мне подходит, а после включения светодиод" Моно-Стерео" не светится и воспроизведение станции моно.
Ответить
0

[Автор]
asvetp #
Хорошо, remlab. Сделаю в ближайшее время.
Ответить
0
Сергей #
Добрый день Вasvet. Помогите ещё раз скомпилировать частоты по Москве Nokia & ATMega8, У меня cvavr build all что то не работает.
Или я не правильно делаю.
Ответить
0

[Автор]
asvetp #
Сергей, подготовьте текстовый файл User_set.asm, чтобы мне не пришлось тратить много времени. Затем пришлёте мне его в личном сообщении и не забудьте указать для какой версии радиоприёмника..
Порядок подготовки файла см. в PDF-описаниях, выложенных на форуме.
Ответить
0
Сезгей #
Добрый день asvetr. Версия приёмника
Radio_M8_N5110_RTC_dc18B20
Прикрепленный файл: User_set.asm
Ответить
0

[Автор]
asvetp #
Сергей, Вы однако, невнимательны. Во первых Вы взяли файл не из той программы, во вторых мало скопировать в него то, что я Вам написал ранее. Ведь длина строки в дисплее Nokia5110 на два знака короче, чем у WH1602. И нужно было уместить и отцентрировать название станций на экране. Некоторые слова пришлось убрать. Можно было бы ещё и по русски всё написать, но это я уже за Вас делать не стал.
Прикрепляю архив с файлами.
Прикрепленный файл: Сергей_Москва.zip
Ответить
0
Сергей #
Добрый день asvetp. Огромное спасибо за ваш труд. В программирование я ни бум бум.
Ответить
0

[Автор]
asvetp #
remlab, в прилагаемом архиве файлы программы радиоприёмника с теми изменениями, о которых Вы меня просили. Программа в железе не проверялась, только в Протеусе. Хочу напомнить, что в более поздних версиях программы кроме этих изменений добавлен и ряд других функций, повышающих удобство управления приёмником.
Прикрепленный файл: WH1602 & ATMega8_v1.zip
Ответить
0
remlab #
Добрый вечер, asvetp! Проверил программу в железе.К сожалению приёмник работает как и прежде. Я прочитал весь форум до конца, пробовал 4-ю версию, в которой всё работает, но эта программа мне больше подходит. Если можно, посмотрите, пожалуйста, что в ней может быть не так.
Ответить
0

[Автор]
asvetp #
remlab, но теперь регистры тюнера должны читаться сразу после включения. Это видно и в Протеусе. По другому просто быть не может. Или Вы хотите и порядок настройки изменить? Тогда, возможно, мне проще будет в четвёртой версии убрать регулятор громкости, а освободившимися кнопками управлять автопоиском.
Ответить
0
remlab #
Добрый день, asvetp! Верно, мне громкость не нужна, а нужны кнопки автопоиска.
Ответить
0

[Автор]
asvetp #
remlab, всё-таки нужно мне перед отправкой Вам этого варианта программы проверить её в железе. Но проблема в том, что сейчас мне её негде проверить. Поэтому Вам придётся подождать несколько дней.
Ответить
0

[Автор]
asvetp #
remlab, благодаря одному доброму человеку, а именно master90, который согласился проверить программу на своём радиоприёмнике, Вам не придётся долго ждать, т. к. программа уже проверена во всех режимах и является полностью работоспособной. При включении и настройке на частоту ранее работающей станции, читаются регистры состояния тюнера и сразу выводятся на индикацию уровень сигнала и режим воспроизведения Моно/Стерео.
Прикрепленный файл: WH1602 & ATMega8_v5.zip
Ответить
0
remlab #
Добрый день, asvetp! Большое спасибо Вам, а так же master90. Программа работает так как мне хотелось.
Ответить
0
Monolit1911 #
Если у меня дисплей на красной плате, то мне нужно соединить BL с PD3 для варианта с отключением дисплея, а не замыкать как раньше на GND, я всё правильно понял?
Ответить
0
Monolit1911 #
Нашёл на форуме схему, вы добавили резонансный контур перед антенной, с какой целью? И при монтаже где к элементам подходит питание, конденсаторы 0,1 мкФ располагать как можно ближе к этим элементам? Они играют роль фильтров ВЧ?
Ответить
0

[Автор]
asvetp #
Да Monolit1911, Вы всё правильно поняли и что касается подсветки и относительно блокировочных конденсаторов. Антенный контур совместно с внутренним входным сопротивлением имеет необходимую полосу пропускания и служит для снижения влияния мощных помех. Параметры контура взяты из даташита.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

FM-модуль RDA5807M
FM-модуль RDA5807M
Мультиметр Mastech MS8239C Pickit 2 - USB-программатор PIC-микроконтроллеров
вверх