RADIO FM

 
 

 

     Pas vraiment une réalisation dans le cadre stricte du radio amateurisme, nous avons eu la curiosité de tester ces micromodules récepteur FM que l'on trouve sur eBay pour environ 50 centimes pièce!

     Tout un récepteur FM stéréo dans une puce à 10 pattes de 4 x 3 mm ! La seule chose qui manque c'est la gestion des fréquences et des différentes fonctions. On va la confier à un Arduino Nano, un codeur mécanique, quelques boutons poussoirs et un amplificateur basse-fréquence car ce module est tout juste capable d'attaquer un casque audio.

     Ce circuit intègre un récepteur FM complet qui est pilotable par les broches SCL et SDA de l'Arduino. Sur ce module, outre le RDA5807, on trouve un quartz horloger de 32,768 kHz.


 

 RÉALISATION

     Très peu de composants sont nécessaires, les principaux sont des modules que l'on trouve (actuellement) facilement sur eBay pour des prix dérisoires. On pourrait même, se passer de circuits imprimés et utiliser une plaquette d'expérimentation à pastilles.
     Malgré nos deux petits haut-parleurs, le son est d'excellente qualité et la présence de quatre stations préréglées qui rappelle les autoradios d'antan, en fait un poste très agréable à utiliser.

     La face avant comporte un afficheur LCD sur lequel est indiqué la fréquence, le RSSI (Received Signal Strength Indicator) sorte de S-mètre gradué en dBm µV et un "S" si la station reçue est en stéréophonie.
    Un codeur permet la recherche de station avec un pas qui dépend de l'appui ou non sur le bouton MEM (1 MHz ou 100 kHz).
    En appuyant sur MEM et sur un des boutons M1 à M3 ou le poussoir du codeur M4, on met en mémoire la station reçue. En outre, la station écoutée à l'extinction du poste est active à son redémarrage.
    Sur la face arrière se situe la prise antenne, un connecteur BNC pour une antenne télescopique, le socle secteur et un interrupteur. La sensibilité étant excellente, cette simple antenne suffit largement même peu déployée.

     L'alimentation est double car le 5V de l'Arduino n'a pas le débit suffisant pour alimenter l'amplificateur basse fréquence qui, à puissance élevée, consomme trop de courant.

     L'interface I2C est un petit module (eBay) qui se soude directement sur l'afficheur.

     Beaucoup de fonctions du RDA5807 n'ont pas été utilisées ici (recherche automatique, mute, etc.) mais il serait toujours possible de les implanter grâce aux possibilités ouvertes de l'Arduino et à une gestion différente des boutons.

     Remarque importante: Il faut savoir que chaque clic du codeur pendant la recherche de station entraîne une écriture dans la mémoire EEPROM. Or celle-ci n'a pas une durée de vie illimitée. D'après ATMEL, elle est au minimum de 100 000 cycles. Dans notre cas, on peut voir que l'on n'est pas vraiment concerné par cette restriction !

 

SCHÉMA

 

 

CIRCUITS IMPRIMÉS

     Note: Le codeur KY-040 et l'amplificateur BF sont de provenance eBay. Les résistances de 10k du codeur sont sur le circuit imprimé de celui-ci.

 

                        Branchement du codeur                                            Branchement de l'amplificateur basse fréquence


Vue côté composants

     Attention au diamètre du condensateur de 100 µF qui ne doit pas gêner l'Arduino placé au-dessus. Les quatre résistances de 10 k ne sont en principe pas nécessaires quand on déclare les entrées en PULLUP mais nous les avons quand même implantées.

 


Vue côté cuivre. Le connecteur est à souder du côté opposé aux boutons (soudés côté cuivre).

 


    Epoxy double face. Le circuit de droite est la face supérieure. Les excroissances sont destinées au centrage et sont éliminées après découpe du circuit

 


Vue côté cuivre. Les deux connecteurs sont soudés du côté opposé au module.

     La soudure du petit module côté cuivre demande un peu de soin et on pré-étamera les plots avant soudure de celui-ci.


Vue côté composants

PROGRAMMATION

    Les deux bibliothèques nécessaires sont dans le fichier ZIP.
         Pojet-RDA5807M.zip ----> 
     Scanner I2C: I2C_scanner.ino ------>   (Pour déterminer l'adresse de l'I2C du LCD si elle est inconnue)

         RETOUR ACCUEIL