FM приёмник RDA5807

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
10kv
Родился
Сообщения: 11
Зарегистрирован: Вт авг 27, 2024 21:20:32

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

Сообщение 10kv »

[uquote="shonty",url="/forum/viewtopic.php?p=4619930#p4619930"]
10kv писал(а):Пробовал, возвращает код ошибки 2
0x20, 0x21, 0x22, 0x23 - с какого-то что-то возвращает?[/uquote]

Если просто установить соединение и сразу закрыть его beginTransmission(address); error = Wire.endTransmission(); 0(ок) возвращается только на адресах 0x21 или 0x23
Дальше, если что-то отправлять в регистр 0x02 по адресу 0x21 или 0x23 возвращается код ошибки 3: * 3 .. data send, NACK received
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1909
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

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

Сообщение veso74 »

10kv, ваш прогр. код к I2c адрес 0x11, на Arduino UNO + RDA5807M работает.
При каждом нажатии RESET идет переход на другую FM станцию ​​:)).

Изображение
Вложения
sketch_aug28a.zip
(593 байт) 151 скачивание
Реклама
Аватара пользователя
10kv
Родился
Сообщения: 11
Зарегистрирован: Вт авг 27, 2024 21:20:32

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

Сообщение 10kv »

[uquote="veso74",url="/forum/viewtopic.php?p=4619946#p4619946"]10kv, ваш прогр. код к I2c адрес 0x11, на Arduino UNO + RDA5807M работает.
При каждом нажатии RESET идет переход на другую FM станцию ​​:)).

Изображение[/uquote]

Код не мой, из инета и да, он для минимального теста
За проверку спасибо..
т.о. если надыбать ардуинку, можно проверить жив-ли модуль в принципе
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

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

Сообщение Novice user »

[uquote="10kv",url="/forum/viewtopic.php?p=4619910#p4619910"][uquote="Novice user",url="/forum/viewtopic.php?p=4619795#p4619795"]Wire.beginTransmission(0x22);[/uquote]
По адресам 0x21 и 0x23 endTransmission возвращает код 3, по любому другому адресу, в т.ч. 0x22 - код 2, т.е. больше похоже что 0x23[/uquote]
0x20-запись во все регистры,начиная с 0x02
0x21-чтение регистров начиная с регистра 0x0A
0x22-запись в произвольный регистр,номер регистра указываем сами
0x23-чтение произвольного регистра,номер указываем сами
Естественно по 0x21 и 0x23 будет ответ
Мой рабочий код включения RDA5807м (на баском авр но суть та же)-

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

I2cstart
  I2cwbyte &H20
  '02                                     7             6           5        4       3           2                    1                  0
  I2cwbyte  &B11100010       'dhiz         dmute   mono   bass  rclk         rclk                 seekup          seek  
  I2cwbyte &b00001101        ' SKMODE  CLK_MODE[2:0]=000 RDS_EN  NEW_METHOD SOFT_RESET ENABLE  
  I2cstop
Добавлено after 5 minutes 36 seconds:
А здесь https://arduino.ru/forum/proekty/karman ... ent-408494 мой рабочий пример на ардуино
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
10kv
Родился
Сообщения: 11
Зарегистрирован: Вт авг 27, 2024 21:20:32

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

Сообщение 10kv »

[uquote="Novice user",url="/forum/viewtopic.php?p=4619972#p4619972"][uquote="10kv",url="/forum/viewtopic.php?p=4619910#p4619910"][uquote="Novice user",url="/forum/viewtopic.php?p=4619795#p4619795"]Wire.beginTransmission(0x22);[/uquote]
По адресам 0x21 и 0x23 endTransmission возвращает код 3, по любому другому адресу, в т.ч. 0x22 - код 2, т.е. больше похоже что 0x23[/uquote]
0x20-запись во все регистры,начиная с 0x02
0x21-чтение регистров начиная с регистра 0x0A
0x22-запись в произвольный регистр,номер регистра указываем сами
0x23-чтение произвольного регистра,номер указываем сами
Естественно по 0x21 и 0x23 будет ответ
Мой рабочий код включения RDA5807м[/uquote]

Спасибо добр человек за подробный ответ!

Из примеров собрал скетчи:
1) минимальный
#include <Wire.h>

void setup() {

Wire.begin();
delay(1000);

Wire.beginTransmission(0x20);
Wire.write(0b11100010);
Wire.write(0b00001101);

Wire.endTransmission();

}

void loop() { delay(100); }


2) поинтересней
#include <Wire.h>

void setup() {
byte Byte0;

Wire.begin();
delay(1000);

Wire.beginTransmission(0x20);
//02
Wire.write(0b11010000);
Wire.write(0b10000001);
//03
Byte0 = 903 - 870; // freq
Wire.write(Byte0);
Byte0 = 0b00010011;
Wire.write(Byte0);

//04
Wire.write(0b00010000);
Wire.write(0b00000000);

//05
Wire.write(0b10001000);
Byte0 = 0b10000000 + 10; // vol
Wire.write(Byte0);
Wire.endTransmission(); // передача данных

}

void loop() { delay(100); }


Микруха не стартует ни на одном, никаких звуков и всё теже 12мка
upd: всё чаще закрадывается мысль, что платка трупик
Реклама
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

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

Сообщение Novice user »

[uquote="shonty",url="/forum/viewtopic.php?p=4619778#p4619778"]7 бит 0x10 + R/W получится R=0x21 W=0x20
7 бит 0x11 + R/W получится R=0x23 W=0x22[/uquote]
Тогда пробуйте по совету shonty Wire.beginTransmission(0x10);
Реклама
Аватара пользователя
10kv
Родился
Сообщения: 11
Зарегистрирован: Вт авг 27, 2024 21:20:32

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

Сообщение 10kv »

[uquote="Novice user",url="/forum/viewtopic.php?p=4620019#p4620019"][uquote="shonty",url="/forum/viewtopic.php?p=4619778#p4619778"]7 бит 0x10 + R/W получится R=0x21 W=0x20
7 бит 0x11 + R/W получится R=0x23 W=0x22[/uquote]
Тогда пробуйте по совету shonty Wire.beginTransmission(0x10);[/uquote]
Попробовал, не завелась

Набросал скетч, который последовательно по всем адресам шины отправляет вкл, чтоб наверняка
Serial.println("Wire");
Wire.begin();
delay(1000);

Serial.println("Test");
for(address = 1; address < 127; address++ )
{
if (address<16) Serial.print("0");
Serial.println(address,HEX);

Wire.beginTransmission(address);
Wire.write(0b11100010);
Wire.write(0b00001101);
Wire.endTransmission();

delay(1000);
}

Тоже нет..
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

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

Сообщение Novice user »

А для чего на выходе RDA5807 резисторы 10 кОм? Там их не должно быть! но если сильно хочется то ставьте после разделительных конденсаторов С1 и С2
Аватара пользователя
10kv
Родился
Сообщения: 11
Зарегистрирован: Вт авг 27, 2024 21:20:32

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

Сообщение 10kv »

[uquote="Novice user",url="/forum/viewtopic.php?p=4620230#p4620230"]А для чего на выходе RDA5807 резисторы 10 кОм? Там их не должно быть! но если сильно хочется то ставьте после разделительных конденсаторов С1 и С2[/uquote]

Чтобы выходной каскад приёмника был на них нагружен. а после кондёров разъём 3.5jack планировался и комп. колонки.
На большей части схем такое встречал при подключении к усилку, т.к. хз какое у него входное сопротивление будет, с ними помех меньше должно быть. Еслиб работало конечно. Без проблем, попробую без них.
А почему именно после кондёров предлагаете?
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

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

Сообщение Novice user »

Никогда не видел в схемах на RDA5807m такие резисторы
veso74
Поставщик валерьянки для Кота
Сообщения: 1909
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

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

Сообщение veso74 »

10kv, Вы взяли с магазина только один модуль RDA5807M?
Раньше цена 3-х штук RDA была столько же, сколько стоит напр. чашка кофе :)).
Аватара пользователя
Asmodey
Друг Кота
Сообщения: 6299
Зарегистрирован: Сб янв 28, 2006 22:47:24

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

Сообщение Asmodey »

[uquote="10kv",url="/forum/viewtopic.php?p=4620261#p4620261"]Чтобы выходной каскад приёмника был на них нагружен. а после кондёров разъём 3.5jack планировался и комп. колонки.
На большей части схем такое встречал при подключении к усилку, т.к. хз какое у него входное сопротивление будет, с ними помех меньше должно быть.[/uquote]
У выходных каскадов телефонного усилителя в RDA выходное сопротивление настолько низкое, что оно само шунтирует выход-вход так, как ваши 10 кОм резисторы никогда не смогут.
Астролябия-сама меряет, было бы что мерять!!!
Аватара пользователя
10kv
Родился
Сообщения: 11
Зарегистрирован: Вт авг 27, 2024 21:20:32

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

Сообщение 10kv »

[uquote="Novice user",url="/forum/viewtopic.php?p=4620263#p4620263"]Никогда не видел в схемах на RDA5807m такие резисторы[/uquote]
[uquote="Asmodey",url="/forum/viewtopic.php?p=4620288#p4620288"][uquote="10kv",url="/forum/viewtopic.php?p=4620261#p4620261"]Чтобы выходной каскад приёмника был на них нагружен. а после кондёров разъём 3.5jack планировался и комп. колонки.
На большей части схем такое встречал при подключении к усилку, т.к. хз какое у него входное сопротивление будет, с ними помех меньше должно быть.[/uquote]
У выходных каскадов телефонного усилителя в RDA выходное сопротивление настолько низкое, что оно само шунтирует выход-вход так, как ваши 10 кОм резисторы никогда не смогут.[/uquote]
убрал

[uquote="veso74",url="/forum/viewtopic.php?p=4620282#p4620282"]10kv, Вы взяли с магазина только один модуль RDA5807M?
Раньше цена 3-х штук RDA была столько же, сколько стоит напр. чашка кофе :)).[/uquote]
ктсожалению только один...
попробую заказать у дугого продавца или вообще посмотрю в сторону si4703, вроде хвалят их тоже
I L Y A
Родился
Сообщения: 18
Зарегистрирован: Ср май 27, 2015 15:33:20

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

Сообщение I L Y A »

Доброго времени суток, 10kv,
[uquote="10kv",url="/forum/viewtopic.php?p=4620403#p4620403"]попробую заказать у дугого продавца или вообще посмотрю в сторону si4703, вроде хвалят их тоже[/uquote]Я RDA5807 заказывал несколько раз на OZONe, потом на АлиЭкспрессе. И в Океан-214 вставлял, и в Вегу-402, и на макетку - у меня все модули работали безотказно. Ни один не вылетел. Не думаю, что плохая микросхема.
Я бегло посмотрел Ваш сообщения. Вы Ардуиной управляете? Если да, то посмотрите вот это описание. http://rcl-radio.ru/?p=53149 Мне оно понравилось. И я в дальнейшем развивал эту программу. И сейчас этот код под Arduino Nano работает.
P.S. У меня вначале библиотека <radio.h> успешно заработала, а когда я вернулся через полгода к проекту, обновив в среде Ардуино все библиотеки, то код у меня не заработал. Пришлось возвращать библиотеку с более ранней версией =1.3.0. Более поздняя у меня не заработала !!!!
PavelPic
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Чт окт 08, 2020 16:38:42

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

Сообщение PavelPic »

Обнаружена проблема влияния RC генератора, китайского TFT дисплея, на уровень приёма у RDA5807M. Если выключить RC генератор, то уровень приёма повышается, если включить понижается. Причём влияние происходит на приём не всех станций. Питание разделял, индуктивности по питанию ставил, помогает только перевод индикатора в спящий режим, то есть отключение RC генератора. Внутренний генератор микроконтроллера не влияет на приём. Потому вопрос, какие фильтры поставить на питание индикатора или RDA5807M? Вопрос тем, кто сталкивался с подобной проблемой.
Аватара пользователя
Asmodey
Друг Кота
Сообщения: 6299
Зарегистрирован: Сб янв 28, 2006 22:47:24

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

Сообщение Asmodey »

[uquote="PavelPic",url="/forum/viewtopic.php?p=4638459#p4638459"]Обнаружена проблема влияния RC генератора, китайского TFT дисплея, на уровень приёма у RDA5807M.[/uquote]
Эта проблема обнаружилась много лет назад. У RDA5807M динамический диапазон мизерный, она от малейшего чиха (помехи) перегружается.
Астролябия-сама меряет, было бы что мерять!!!
I L Y A
Родился
Сообщения: 18
Зарегистрирован: Ср май 27, 2015 15:33:20

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

Сообщение I L Y A »

[uquote="PavelPic",url="/forum/viewtopic.php?p=4638459#p4638459"]Обнаружена проблема влияния RC генератора, китайского TFT дисплея, на уровень приёма у RDA5807M. Если выключить RC генератор, то уровень приёма повышается, если включить понижается. Причём влияние происходит на приём не всех станций...[/uquote]
Не совсем понято, как у Вас выполнено подключение. Проблема м.б. в плохой антенне или в "земляной" петле, связанной с разводкой платы.
У меня этот приёмник ловит наводки от ИБП паяльной станции, подключённой от одной розетки 220 в.
У Вас уровень радио сигнала куда-нибудь выводится? У меня более-менее нормальный звук, когда RDA5807M выдаёт сигнал RSSI >= 22. Если меньше, то приём получается очень неустойчивым и даже мысли могут влиять на качество приёма, не говоря уже про RC-генераторы.
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

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

Сообщение Novice user »

[uquote="I L Y A",url="/forum/viewtopic.php?p=4640763#p4640763"]даже мысли могут влиять на качество приёма[/uquote]
А вот в этом месте можно подробнее?
Аватара пользователя
Муркиз
Друг Кота
Сообщения: 25889
Зарегистрирован: Пн фев 09, 2009 22:19:49
Откуда: Когда-то был прекрасный город для людей

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

Сообщение Муркиз »

Это аллегория, разве непонятно.
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

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

Сообщение shonty »

PavelPic писал(а):Обнаружена проблема влияния RC генератора, китайского TFT дисплея, на уровень приёма у RDA5807M.
TFT даже на АЦП меги наводку даёт.. Сначала думал показалось. Экспериментировал, менял в проекте TFT на OLED, наводка шла от TFT.
Буду пробовать вместо встроенного АЦП применить ICL7135 с выводом на TFT.
Есть ещё мысль развязку сделать через B0505S-1W и подобные.. но пока не пробовал.
Ответить

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