Radio: radio FM basée sur Atmega328-P et RDA5807M

Bonjour, cher harazhiteli!

Mon nom est Mikhail Matveev, et je voudrais porter à votre attention un projet de «concepteur radio» moderne basé sur la puce Atmega328 MK et RDA5807M.

Contexte


Je pense que beaucoup d'entre vous ont non seulement entendu parler, mais aussi rencontré directement une plate-forme telle que Arduino. Et comme mes statistiques personnelles le montrent, très peu vont plus loin que les LED clignotantes. Lorsque j'ai rencontré Arduino pour la première fois, j'ai été arrêté par le fait qu'il n'y avait aucune idée de la façon dont je pouvais utiliser toutes les fonctionnalités du même UNO dans la «mesure la plus complète». De quoi assembler un simple robot sur deux roues et une alarme. Cependant, je voulais faire quelque chose de plus approfondi.

Puis je me suis souvenu de mon enfance, où il y avait des soi-disant «concepteurs de radio». Un kit de bricolage soviétique sévère, qui, avec un assemblage et une soudure appropriés, a même commencé à fonctionner et a capturé des stations de radio dans diverses gammes: Youth, Electron-M et autres.



Aucun de ces Kit'ov je n'ai pas eu, mais j'ai obtenu ECON-1:



Le principal «truc» de ce concepteur était qu'avec son aide, il était possible d'assembler rapidement et simplement un grand nombre d'appareils différents, des simples «tweeters» à un récepteur radio à part entière.
ECON-1 est l'une des nombreuses raisons pour lesquelles je me suis retrouvé dans le domaine informatique. Et il m'est venu à l'esprit qu'il serait bien de créer une version moderne d'un tel designer, afin que tout le monde puisse profiter de l'appareil assemblé de ses propres mains.

Prototype sur circuit imprimé


Mon ami, un ingénieur talentueux Konstantin Tomarevsky, a soutenu l'idée, et nous avons commencé à réfléchir à la façon de fabriquer le premier prototype.

L'idée était de créer un récepteur FM qui pourrait être contrôlé via MK.
Le premier prototype a été assemblé sur le site d'installation, et il est devenu clair que cela fonctionne :)



Pour la toute première version, les composants suivants ont été sélectionnés:

1. MK Atmega328P-PU
2. RDA5807M
3. Écran du Nokia 5110

Un tel microcontrôleur est utilisé dans Arduino UNO, respectivement, notre appareil est compatible avec UNO au niveau matériel.

Le RDA5807M est le «cœur» de notre designer. Ce tuner a les caractéristiques suivantes:

- Technologie CMOS
- Boîtier monolithique, ne nécessite pas (presque) de composants externes
- Bande de fréquence: 50-115 MHz
- Pas entre les canaux - de 200 à 25 kHz
- RDS / RBDS
- ADC et synthétiseur de fréquence intégré
- Réduction adaptative du bruit
- Interface numérique (I2C)
- Force du signal (RSSI)
- Amplificateur
- Réglage du volume sonore

L'écran de Nokia est en noir et blanc, 84x48 pixels. Il est très facile de se connecter et de gérer.

Après avoir soudé sur la carte de circuit imprimé, il s'est avéré quelque chose comme ceci:



Il a été décidé d'utiliser le Bootloader d'Arduino, cela nous a permis de maintenir la compatibilité avec toutes les nombreuses bibliothèques et de réduire considérablement le seuil d'entrée pour ceux qui avaient déjà une expérience avec la plate-forme.
L'interface d'interaction utilisateur est implémentée comme suit. Trois boutons connectés à l'entrée analogique du MK via des résistances sont utilisés pour changer de mode et contrôler le récepteur. Un autre bouton sert à redémarrer le MK. L'écran affiche en conséquence des informations sur le volume, la station, etc.

LUT, photorésist et débogage


Après des tests réussis sur le circuit imprimé, nous avons décidé de créer plusieurs autres prototypes en utilisant la méthode LUT (et à l'avenir, en utilisant la résine photosensible). Nous avons également décidé d'améliorer le récepteur en y ajoutant un autre amplificateur de son pour connecter non seulement un casque, mais aussi un haut-parleur externe. Le choix s'est porté sur le PAM8403, c'est un amplificateur simple et peu coûteux qui nécessite une puissance de 5V.

Le premier prototype fabriqué par la méthode LUT se présente comme suit:



La LUT est une bonne chose pour un prototypage relativement rapide à la maison, mais quand il s'agit de cartes double face, les difficultés commencent. Le nombre de composants sur la carte a augmenté - par exemple, nous avons décidé de placer un connecteur pour le programmateur sur la carte afin qu'il ne soit pas nécessaire de retirer le MK à chaque fois pour le clignotement. Ainsi, le prototype suivant est devenu bilatéral, a été fabriqué par la méthode de la résine photosensible et a commencé à être beaucoup plus joli:



En montage:



L'étape suivante a été le rejet des composants «articulés» que nous avons placés sur la carte à l'aide de codes PIN à une rangée. Il a donc été décidé de remplacer l'amplificateur par un LM386N, d'installer un convertisseur de niveau CD4050BE. Tout cela a compliqué la conception, mais l'appareil a commencé à paraître beaucoup mieux.

Le prototype final que nous avons fabriqué à la maison ressemblait à ceci:



Commande de PCB


En Chine, vous pouvez commander des circuits imprimés fabriqués de manière industrielle. Le coût est relativement faible, même avec de petites séries, et le temps d'attente (y compris la livraison) ne dépasse généralement pas 2-3 semaines.

Le premier "lot" de cartes commandées sur PCBWay. Elle a donc regardé:



L'un des problèmes que nous avons rencontrés à cause de l'inexpérience: la métallisation «mange» une partie importante de la taille du trou lui-même, de sorte que certains composants «s'insèrent» difficilement dans les trous désirés. Lors de la conception d'un circuit, ce point doit être pris en compte.

Sur la base des résultats des tests, nous avons affiné la conception en ajoutant plusieurs condensateurs pour un fonctionnement plus stable de l'appareil. Nous avons collecté un autre prototype:



Le port USB est utilisé pour alimenter le récepteur. L'alimentation est également fournie lorsque le programmateur est connecté.

Tout fonctionne!

Firmware


Il faut aussi s'attarder sur le firmware. Il est écrit en C ++ et nous le distribuons sous la licence GPLv3: https://github.com/xtremespb/fm_receiver. Je n'ai pratiquement pas développé en C / C ++, donc (probablement) le code est loin d'être idéal et peut contenir des erreurs, mais la GPL ne et la GPL pour qu'elle puisse être développée par la communauté :)

Les fonctionnalités actuelles du firmware comprendront:

- Réglage manuel et automatique des stations
- RDS
- Contrôle du volume
- Activation du mode de basse amélioré
- Activer ou désactiver le rétroéclairage de l'écran
- Affichage et visualisation dynamique du niveau du signal

Dans la quatrième révision suivante, nous ferons des «puces» plus utiles: nous connecterons les canaux gauche et droit aux entrées analogiques du MK, ce qui nous permettra de «visualiser» le signal audio entrant.

Soit dit en passant, les capacités de l'appareil ne se limitent pas à la radio! Personne ne se soucie, par exemple, d'écrire un jeu (par intérêt, j'ai fait le bon vieux Arkanoid) ou un autre programme qui utilise les capacités de la carte.

La production


Le développement de l'appareil de l'idée à la mise en œuvre a pris environ 6 mois, ce qui, avec un manque d'expérience presque complet dans ce domaine, n'est pas si mal.

À l'heure actuelle, nous avons environ 10 kits entièrement assemblés qui comprennent tout ce dont vous avez besoin pour construire votre propre appareil:

- MK Atmega328P-PU
- Convertisseur de niveau CD4050BE
- Afficher Nokia 5110
- Récepteur RDA5807M
- Programmeur USBasp
- Amplificateur opérationnel LM386N
- Connecteurs pour MK et programmeur
- USB B, Audio Jack 3.5, trois boutons, fils, connecteurs à une rangée
- 11 résistances et 12 condensateurs, 4 inductances, quartz, une diode zener et une LED
- conférencier
- circuit imprimé

Pour l'assemblage, vous avez besoin de soudure, de flux et d'un fer à souder, rien d'autre n'est nécessaire.
Tous les composants sont emballés dans une petite boîte en carton «artisanal»:



Les sources du firmware ont déjà été publiées sur Github; Le fichier Gerber, le diagramme schématique et les instructions d'assemblage seront également publiés ultérieurement.

Source: https://habr.com/ru/post/fr415291/


All Articles