Radio: UKW-Radio basierend auf Atmega328-P und RDA5807M

Guten Tag, lieber Harazhiteli!

Mein Name ist Mikhail Matveev und ich möchte Sie auf ein Projekt eines modernen „Radio-Designers“ aufmerksam machen, der auf Atmega328 MK und RDA5807M-Chip basiert.

Hintergrund


Ich denke, viele von Ihnen haben nicht nur gehört, sondern sind auch direkt auf eine Plattform wie Arduino gestoßen. Und wie meine persönlichen Statistiken zeigen, gehen nur sehr wenige weiter als blinkende LEDs. Als ich Arduino zum ersten Mal traf, wurde ich von der Tatsache gestoppt, dass es keine Ideen gab, wie genau ich alle Funktionen derselben UNO in „vollem Umfang“ nutzen könnte. Genug, um nur einen einfachen Roboter auf zwei Rädern und einen Alarm zu montieren. Ich wollte jedoch etwas gründlicheres tun.

Dann erinnerte ich mich an meine Kindheit, in der es sogenannte "Radiodesigner" gab. Ein hartes sowjetisches DIY-Kit, das bei ordnungsgemäßer Montage und ordnungsgemäßem Löten sogar zu funktionieren begann und Radiosender in verschiedenen Bereichen abfing: Jugend, Electron-M und andere.



Keiner dieser Kit'ov habe ich nicht bekommen, aber ECON-1 bekommen:



Der wichtigste „Trick“ dieses Designers war, dass es mit seiner Hilfe möglich war, schnell und einfach eine große Anzahl verschiedener Geräte zusammenzubauen, von einfachen „Hochtönern“ bis zu einem vollwertigen Funkempfänger.
ECON-1 ist einer der vielen Gründe, warum ich im IT-Bereich gelandet bin. Und mir kam der Gedanke, dass es schön wäre, eine moderne Version eines solchen Designers zu erstellen, damit jeder das Gerät genießen kann, das gerade mit seinen eigenen Händen zusammengebaut wurde.

Prototyp auf Leiterplatte


Mein Freund, ein talentierter Ingenieur, Konstantin Tomarevsky, unterstützte die Idee, und wir begannen darüber nachzudenken, wie der erste Prototyp hergestellt werden sollte.

Die Idee war, einen FM-Empfänger zu schaffen, der über MK gesteuert werden kann.
Der erste Prototyp wurde am Installationsort zusammengebaut und es wurde klar, dass es funktioniert :)



Für die allererste Version wurden folgende Komponenten ausgewählt:

1. MK Atmega328P-PU
2. RDA5807M
3. Nokia 5110 Display

Ein solcher Mikrocontroller wird in Arduino UNO verwendet, unser Gerät ist auf Hardwareebene mit UNO kompatibel.

RDA5807M ist das „Herz“ unseres Designers. Dieser Tuner verfügt über folgende Funktionen:

- CMOS-Technologie
- Monolithisches Gehäuse, erfordert keine externen Komponenten (fast)
- Frequenzband: 50-115 MHz
- Schritt zwischen den Kanälen - von 200 bis 25 kHz
- RDS / RBDS
- ADC und eingebauter Frequenzsynthesizer
- Adaptive Rauschunterdrückung
- Digitale Schnittstelle (I2C)
- Signalstärke (RSSI)
- Verstärker
- Lautstärkeregelung

Das Display von Nokia ist schwarzweiß (84 x 48 Pixel). Es ist sehr einfach zu verbinden und zu verwalten.

Nach dem Löten auf der Leiterplatte stellte sich Folgendes heraus:



Es wurde beschlossen, den Bootloader von Arduino zu verwenden. Dadurch konnten wir die Kompatibilität mit allen zahlreichen Bibliotheken aufrechterhalten und die Eintrittsschwelle für diejenigen, die bereits Erfahrung mit der Plattform hatten, erheblich senken.
Die Benutzerinteraktionsschnittstelle ist wie folgt implementiert. Drei Tasten, die über Widerstände mit dem Analogeingang des MK verbunden sind, dienen zum Umschalten des Modus und zur Steuerung des Empfängers. Eine weitere Taste dient zum Neustart des MK. Der Bildschirm zeigt dementsprechend Informationen zu Lautstärke, Sender usw. an.

LUT, Fotolack und Debugging


Nach erfolgreichen Tests auf der Leiterplatte haben wir beschlossen, mehrere weitere Prototypen mit der LUT-Methode (und in Zukunft mit Fotolack) zu erstellen. Wir haben uns auch entschlossen, den Receiver zu verbessern, indem wir dort einen weiteren Klangverstärker hinzufügen, um nicht nur Kopfhörer, sondern auch einen externen Lautsprecher anzuschließen. Die Wahl fiel auf den PAM8403, einen einfachen und kostengünstigen Verstärker, der 5 V benötigt.

Der erste nach der LUT-Methode hergestellte Prototyp sah wie folgt aus:



LUT ist eine gute Sache für relativ schnelles Prototyping zu Hause, aber wenn es um doppelseitige Boards geht, beginnen die Schwierigkeiten. Die Anzahl der Komponenten auf der Platine hat zugenommen. Beispielsweise haben wir beschlossen, einen Anschluss für den Programmierer auf der Platine zu platzieren, damit der MK nicht jedes Mal zum Blinken entfernt werden muss. So wurde der nachfolgende Prototyp zweiseitig, wurde nach der Fotolackmethode hergestellt und sah viel schöner aus:



In der Montage:



Der nächste Schritt war die Ablehnung der „schwenkbaren“ Komponenten, die wir mit einreihigen PINs auf der Platine platziert haben. Daher wurde beschlossen, den Verstärker durch einen LM386N zu ersetzen und einen CD4050BE-Pegelwandler zu installieren. All dies komplizierte das Design, aber das Gerät sah viel besser aus.

Der endgültige Prototyp, den wir zu Hause hergestellt haben, sah folgendermaßen aus:



Leiterplattenbestellung


In China können Sie Leiterplatten bestellen, die auf industrielle Weise hergestellt wurden. Die Kosten sind selbst bei kleinen Auflagen relativ gering und die Wartezeit (einschließlich Lieferung) beträgt in der Regel nicht mehr als 2-3 Wochen.

Die erste "Charge" von Karten, die auf PCBWay bestellt wurden. Also sah sie:



Eines der Probleme, die wir durch Unerfahrenheit hatten: Die Metallisierung „frisst“ einen erheblichen Teil der Größe des Lochs selbst, sodass einige Komponenten kaum in die gewünschten Löcher „passen“. Beim Entwurf einer Schaltung muss dieser Punkt berücksichtigt werden.

Basierend auf den Testergebnissen haben wir das Design weiter verfeinert, indem wir mehrere Kondensatoren für einen stabileren Betrieb des Geräts hinzugefügt haben. Wir haben einen weiteren Prototyp gesammelt:



Über den USB-Anschluss wird der Empfänger mit Strom versorgt. Die Stromversorgung erfolgt auch, wenn der Programmierer angeschlossen ist.

Alles arbeitet!

Firmware


Wir sollten uns auch mit der Firmware befassen. Es ist in C ++ geschrieben und wir vertreiben es unter der GPLv3-Lizenz: https://github.com/xtremespb/fm_receiver. Ich habe praktisch nicht in C / C ++ entwickelt, daher ist der Code (wahrscheinlich) alles andere als ideal und kann Fehler enthalten, aber die GPL und die GPL, damit sie von der Community weiterentwickelt werden kann :)

Zu den aktuellen Firmware-Funktionen gehören:

- Manuelle und automatische Abstimmung von Sendern
- RDS
- Lautstärkeregler
- Aktivieren des erweiterten Bassmodus
- Schalten Sie die Hintergrundbeleuchtung des Displays ein oder aus
- Anzeige und dynamische Visualisierung des Signalpegels

In der nächsten, vierten Revision werden wir einige nützlichere „Chips“ herstellen: Wir werden den linken und den rechten Kanal mit den analogen Eingängen des MK verbinden, um das eingehende Audiosignal zu „visualisieren“.

Die Funktionen des Geräts sind übrigens nicht auf das Radio beschränkt! Niemand stört sich zum Beispiel daran, ein Spiel (aus Gründen des Interesses habe ich das gute alte Arkanoid gemacht) oder ein anderes Programm zu schreiben, das die Fähigkeiten des Bretts nutzt.

Produktion


Die Entwicklung des Geräts von der Idee bis zur Implementierung dauerte ungefähr 6 Monate, was bei fast vollständigem Mangel an Erfahrung auf diesem Gebiet nicht so schlimm ist.

Im Moment haben wir ungefähr 10 fertig montierte Kits, die alles enthalten, was Sie zum Bau Ihres eigenen Geräts benötigen:

- MK Atmega328P-PU
- Pegelwandler CD4050BE
- Zeigen Sie das Nokia 5110 an
- Empfänger RDA5807M
- USBasp-Programmierer
- Operationsverstärker LM386N
- Anschlüsse für MK und Programmierer
- USB B, Audio-Buchse 3.5, drei Tasten, Kabel, einreihige Anschlüsse
- 11 Widerstände und 12 Kondensatoren, 4 Induktivitäten, Quarz, eine Zenerdiode und eine LED
- Lautsprecher
- Leiterplatte

Für die Montage benötigen Sie Lötmittel, Flussmittel und einen Lötkolben, sonst wird nichts benötigt.
Alle Komponenten sind in einer kleinen Schachtel „Bastelkarton“ verpackt:



Firmware-Quellen wurden bereits auf Github veröffentlicht. Die Gerber-Datei, das schematische Diagramm und die Montageanleitung werden ebenfalls später veröffentlicht.

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


All Articles