FM приёмник RDA5807

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник RDA5807FP+ATMega16

Сообщение WiseLord »

AonMaster писал(а):хотел увидеть, что плата найдётся не только по 0x60, но и по 0x20 (или 0x22)
Тогда уж следовало ожидать 0x10 (или 0x11), если i2cdetect использует 7-битный адрес. Почему не нашлось... а кто его знает, как он работает. Наверное, просто посылает в цикле start - адрес - стоп, перебирая все 127 вариантов адреса. Должно бы находить и 0x10 в этом случае.

По поводу кода - можете мой посмотреть. В проекте тюнера или спектроанализатора.Там почти одно и то же, кроме наличия поддержки RDS во втором случае.
Реклама
AonMaster
Опытный кот
Сообщения: 818
Зарегистрирован: Пн дек 29, 2014 11:48:22

Re: FM приёмник RDA5807FP+ATMega16

Сообщение AonMaster »

WiseLord писал(а):
AonMaster писал(а):хотел увидеть, что плата найдётся не только по 0x60, но и по 0x20 (или 0x22)
Тогда уж следовало ожидать 0x10 (или 0x11), если i2cdetect использует 7-битный адрес. Почему не нашлось... а кто его знает, как он работает. Наверное, просто посылает в цикле start - адрес - стоп, перебирая все 127 вариантов адреса. Должно бы находить и 0x10 в этом случае.

По поводу кода - можете мой посмотреть. В проекте тюнера или спектроанализатора. Там почти одно и то же, кроме использования в одном случае программной реализации I²C (на любых ножках МК), либо аппаратной в другом случае.
Спасибо, если разберусь, конечно... У меня идея была отладить программу на Pi, т.к. там лучше, чем на символьном дисплее, выводить ошибки и переменные. I2C хочу на аппаратных ногах задействовать для простоты.

Вот здесь:
Запись: шлём в шину 0x11 и потом шлём бит 0 (функия вроде write(addr);
Чтение: шлём в шину 0x11 и потом шлём бит 1 (функция вроде read(addr);
получается, что для записи шлём (в двоичном коде) 0b10001 и затем бит 0, т.е. выходит шлём 0b100010 и получается 0x22,
а для чтения 0b10001 и затем бит 1, т.е. выходит шлём 0b100011 и получается 0x23?

тогда почему Вы говорите, что определиться должна на 0x10, а не на 0x11... Простите за глупые вопросы, наверное, у меня одного такие)
Реклама
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник RDA5807FP+ATMega16

Сообщение WiseLord »

AonMaster писал(а):почему Вы говорите, что определиться должна на 0x10, а не на 0x11
По даташиту. Там чётко указан адрес 0x20 (в терминологии raspberry это 0x10). Про 0x22 (0x11) - это уже не я, это Вы говорите. И откуда это выкопали - без понятия.
AonMaster
Опытный кот
Сообщения: 818
Зарегистрирован: Пн дек 29, 2014 11:48:22

Re: FM приёмник RDA5807FP+ATMega16

Сообщение AonMaster »

WiseLord писал(а):
AonMaster писал(а):почему Вы говорите, что определиться должна на 0x10, а не на 0x11
По даташиту. Там чётко указан адрес 0x20 (в терминологии raspberry это 0x10). Про 0x22 (0x11) - это уже не я, это Вы говорите. И откуда это выкопали - без понятия.
Из "Запись: шлём в шину 0x11 и потом шлём бит 0 " и выкопал...

Для меня "шлём в шину 0x11" означает, что "шлём адрес устройства 0x11", а получается, видимо, "шлём по адресу 0x10 байт 0b100010" ?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник RDA5807FP+ATMega16

Сообщение WiseLord »

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

А так - да, верно понимаете. В терминологии arduiono/raspberry выбор адреса 0bXXXXXXX фактически означает посылку байта 0bXXXXXXX0 (запись) или 0bXXXXXXX1 (чтение).

Поэтому "шлём в шину 0x11" означает посылку именно 7 бит, после чего бита 0/1. Оно же - посылка байта 0x22 + 0(1)
Реклама
Аватара пользователя
just_andrew2013
Родился
Сообщения: 10
Зарегистрирован: Вс мар 03, 2013 16:20:42

Re: FM приёмник RDA5807FP+ATMega16

Сообщение just_andrew2013 »

Доброго всем времени суток, уважаемые коты. Очень понравился и заинтересовал проект уважаемого shtela. Но к сожалению в программировании я тупее буратины, больше дружу с хлорным железом и паяльником. Огромная просьба, может кто сжалится и скомпилирует в hexы этот проект для ОК и ОА индикаторов. Заранее огромное спасибо всем откликнувшимся (если таковые найдутся).
Реклама
Аватара пользователя
dadigor
Вымогатель припоя
Сообщения: 593
Зарегистрирован: Пт дек 26, 2014 20:33:38
Откуда: Самая большая деревня. (По мнению Габриэля Гарсиа Маркеса)

Re: FM приёмник RDA5807FP+ATMega16

Сообщение dadigor »

Morroc писал(а):про этот режим только у rda5807P в ДШ есть, у rda5807M и rda5807FP (она вроде больше похожа на rda5807M) в ДШ не встречается про два режима ничего
есть еще на конце SS, SP, HP, NN, NP... они это специально чтобы запутать что ли ? :)
Попробуем слегка распутать

RDA5807FP - SOP16
RDA5807M - MSOP10
RDA5807P - QFN24
RDA5807SS - SSOP16

Ну в общем вы поняли...
О технике чего спорить-то, давайте попробуем.
Denis82
Встал на лапы
Сообщения: 136
Зарегистрирован: Вс авг 23, 2015 08:14:05

Несколько вопросов по приёмнику на RDA5807M

Сообщение Denis82 »

Доброго времени суток уважаемые коты !

Собрал приёмник на RDA5807M по стандартной схеме
Изображение
сделал для него антенну, коаксиальный кабель, 80см цент, 80см оплётка спущенная вниз, всё это примотано к деревянной штанге установленной вертикально на высоте метра 3-4

вроде работает, но есть несколько недостатков которые хотелось-бы исправить

1 - настройка плавает даже если руку близко поднести, точнее помехи исчезают если руку поднести :) + положение в пространстве, "тут ловит а тут не очень" пока не придумал ничего лучше чем засунуть в фанерный корпус обклеенный изнутри алюминиевой фольгой, теперь от положения в пространстве настройка не зависит но помехи не ушли
2 - собственно помехи, как от них избавиться ? на некоторых станциях не особо ощущаться а некоторые наоборот ...
3 - далеко не все станции ловятся из тех что есть, как быть ?
4 - "плавает" настройка, т.е. станция работает-работает, потом на 2-3-5 сек уплывает в сторону маяка, потом возвращается на исходную станцию

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

заранее благодарен за советы !
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: FM приёмник RDA5807

Сообщение Morroc »

От батареек питать пробовали ? Усилитель случаем не D класса ? Процессорную часть отключать пробовали во время приема ? Промышленный приемник подключался к той же антенне ?
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Denis82
Встал на лапы
Сообщения: 136
Зарегистрирован: Вс авг 23, 2015 08:14:05

Re: FM приёмник RDA5807

Сообщение Denis82 »

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

осталась другая проблема, в условиях квартиры приёмник работает на ура, громко чисто и басы радуют, это при антенне в виде обрезка провода длинной ~20см. А вот в гараже где он собственно и будет жить даже на внешнюю антенну ловит с помехами, хоть и еле заметными но всёравно не то, думаю дело всё-же в антенне ...
Аватара пользователя
dadigor
Вымогатель припоя
Сообщения: 593
Зарегистрирован: Пт дек 26, 2014 20:33:38
Откуда: Самая большая деревня. (По мнению Габриэля Гарсиа Маркеса)

Re: FM приёмник RDA5807

Сообщение dadigor »

А гараж случаем не цельнометаллический? Тогда антенну вон из гаража.
О технике чего спорить-то, давайте попробуем.
Morroc
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Re: FM приёмник RDA5807

Сообщение Morroc »

Denis82 писал(а): думаю дело всё-же в антенне ...
причем дело может быть не в конструкции, а просто в месте и достаточно ее передвинуть на полметра - поищите где получше, у меня на одном краю стола хорошо принимается радио, а на другом с "песочком"
(ну и конечно она должна быть на крыше по хорошему)
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
AonMaster
Опытный кот
Сообщения: 818
Зарегистрирован: Пн дек 29, 2014 11:48:22

RDA5807 и Arduino - уходит частота

Сообщение AonMaster »

Сделал радиоприёмник на RDA5807M.

Использовал библиотеки
#include <radio.h>
#include <RDA5807M.h>

Использовал код из примера TestRDA5807M:
#define FIX_BAND RADIO_BAND_FM ///< The band that will be tuned by this sketch is FM.
#define FIX_STATION 10460 ///< The station that will be tuned by this sketch is 89.30 MHz.
#define FIX_VOLUME 8 ///< The volume that will be set by this sketch is level 4.

RDA5807M radio; // Create an instance of Class for RDA5807M Chip

Приём идёт где-то через 3 секунды после вызова кода
// Initialize the Radio
radio.init();
// Set all radio setting to the fixed values.
radio.setBandFrequency(FIX_BAND, FIX_STATION);
radio.setVolume(FIX_VOLUME);
radio.setMono(false);
radio.setMute(false);

Сначала использовал этот код один раз только в setup() - радио играло довольно чисто, антенну подрегулировал на слух. Оставил работать, часа через два в наушниках шумы вместо станции. Так повторялось раза два, потом решил в loop() вставить код, чтоб каждые 50 минут "инициализировал" радио. Но это же не дело(

Кто-нибудь сталкивался с подобным? Почему уходит настройка у неё? :-(
Аватара пользователя
AVR_hobby
Встал на лапы
Сообщения: 82
Зарегистрирован: Чт авг 11, 2016 18:13:16
Откуда: Украина

Re: RDA5807 и Arduino - уходит частота

Сообщение AVR_hobby »

А вы не могли-бы выложить эти библиотеки?
AonMaster
Опытный кот
Сообщения: 818
Зарегистрирован: Пн дек 29, 2014 11:48:22

Re: RDA5807 и Arduino - уходит частота

Сообщение AonMaster »

[uquote="AVR_hobby",url="/forum/viewtopic.php?p=3396820#p3396820"]А вы не могли-бы выложить эти библиотеки?[/uquote]
Вот скетч:

Код: Выделить всё

///
/// \file  TestRDA5807M.ino
/// \brief An Arduino sketch to operate a SI4705 chip based radio using the Radio library.
///
/// \author Matthias Hertel, http://www.mathertel.de
/// \copyright Copyright (c) 2014 by Matthias Hertel.\n
/// This work is licensed under a BSD style license. See http://www.mathertel.de/License.aspx
///
/// \details
/// This sketch implements a "as simple as possible" radio without any possibility to modify the settings after initializing the chip.\n
/// The radio chip is initialized and setup to a fixed band and frequency. These settings can be changed by modifying the 
/// FIX_BAND and FIX_STATION definitions. 
///
/// Open the Serial console with 57600 baud to see the current radio information.
///
/// Wiring
/// ------ 
/// The RDA5807M board/chip has to be connected by using the following connections:
/// | Arduino UNO pin    | Radio chip signal  | 
/// | -------------------| -------------------| 
/// | 3.3V (red)         | VCC                | 
/// | GND (black)        | GND                | 
/// | A5 or SCL (yellow) | SCLK               | 
/// | A4 or SDA (blue)   | SDIO               | 
/// The locations of the pins on the UNO board are written on the PCB.
/// The locations of the signals on the RDA5807M side depend on the board you use.
///
/// More documentation and source code is available at http://www.mathertel.de/Arduino
///
/// ChangeLog:
/// ----------
/// * 05.12.2014 created.
/// * 19.05.2015 extended.

#include <Arduino.h>
#include <Wire.h>
#include <radio.h>
#include <RDA5807M.h>

// ----- Fixed settings here. -----

#define FIX_BAND     RADIO_BAND_FM   ///< The band that will be tuned by this sketch is FM.
#define FIX_STATION  8930            ///< The station that will be tuned by this sketch is 89.30 MHz.
#define FIX_VOLUME   4               ///< The volume that will be set by this sketch is level 4.

RDA5807M radio;    // Create an instance of Class for RDA5807M Chip

/// Setup a FM only radio configuration
/// with some debugging on the Serial port
void setup() {
  // open the Serial port
  Serial.begin(57600);
  Serial.println("Radio...");
  delay(200);

  // Initialize the Radio 
  radio.init();

  // Enable information to the Serial port
  radio.debugEnable();

  // Set all radio setting to the fixed values.
  radio.setBandFrequency(FIX_BAND, FIX_STATION);
  radio.setVolume(FIX_VOLUME);
  radio.setMono(false);
  radio.setMute(false);
} // setup


/// show the current chip data every 3 seconds.
void loop() {
  char s[12];
  radio.formatFrequency(s, sizeof(s));
  Serial.print("Station:"); 
  Serial.println(s);
  
  Serial.print("Radio:"); 
  radio.debugRadioInfo();
  
  Serial.print("Audio:"); 
  radio.debugAudioInfo();

  delay(3000);
} // loop

// End.
Вот библиотека Radio-master

Добавлено after 6 minutes 52 seconds:
Re: FM приёмник RDA5807
[uquote="Denis82",url="/forum/viewtopic.php?p=2984429#p2984429"]с основными проблемами справился, установил колебательный контур на антенный вход ... странно почему в ДШ на микросхему он есть а в схеме подключения готового модуля его нет ...[/uquote]

Расскажите поподробнее, что за контур такой, где его взять, везде вход антенны нарисован сразу в гнездо антенны безо всяких контуров.
Вложения
Radio-master.zip
(116.74 КБ) 501 скачивание
AonMaster
Опытный кот
Сообщения: 818
Зарегистрирован: Пн дек 29, 2014 11:48:22

Re: FM приёмник RDA5807

Сообщение AonMaster »

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

Кто-то эти вещи победил уже?
AonMaster
Опытный кот
Сообщения: 818
Зарегистрирован: Пн дек 29, 2014 11:48:22

Re: FM приёмник RDA5807

Сообщение AonMaster »

Кстати, если близко (у нас 400 кГц) находится более сильная станция, то модуль перескакивает на неё почти сразу же. Хотя ему задана другая частота. А в мобилке старой хоть с шипением, но нужная станция ловится, и не уходит. Почему так получается :-(
veso74
Поставщик валерьянки для Кота
Сообщения: 1912
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: FM приёмник RDA5807

Сообщение veso74 »

Я не нашел более близкую тему, поэтому спрашиваю здесь:
Есть ли способ устранить затухание/постепенное увеличение звука при смене станций (не в автоматический режим, а при предварительно сохранени Fстанции)?

Я бы хотел приемник звучать как "аналоговой" :)) и "мягкое" затухание и постепенное увеличение вообще не нравится :))

Китайской FM модуль на RDA5807М, I2C адрес 0x11, управление на Arduino, без изп. вн. библиотек, а по регистрам.
Вопрос принципиальный.

начальные значения:
uint16_t reg_02 = 0b1100000000001101;
uint16_t reg_03 = 0b0000000000000000;
uint16_t reg_04 = 0b0000000000000000;
uint16_t reg_05 = 0b1000100010001111;

Первая функция, которая мне пришла в голову попробовать:
рег. 4, бит 9: SOFTMUTE_EN - If 1, softmute enable - функция "тушения звука" при отсутствии станции - работает сама за себя,
но не контролирует ето затухание/увеличение.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: FM приёмник RDA5807

Сообщение WiseLord »

Судя по всему, отключить такое приглушение нельзя. Уже обсуждали в параллельной теме.
veso74
Поставщик валерьянки для Кота
Сообщения: 1912
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: FM приёмник RDA5807

Сообщение veso74 »

WiseLord, и я пришел к такому выводу.
Я в течение двух или более лет, например, три раза возвращался к этим RDA :). Каждый раз вижу другое решение, но рекация по затухании/увеличении осталось нерешенное.

Есьт у меня модули на TEA5767, RDA5807, AR1010 и Si4702 и каждый "хорош для себя".
Так, что буду использовать их для нашей цели в хобби :).
Ответить

Вернуться в «Периферия»