RDS-Scanner im Eigenbau
Ein Hilfsmittel für den UKW-DXer
Es ist Februar 2014 und das Fernsehen langweilt mich mit Bildchen bunt gekleideter fremder Menschen auf weißem
Hintergrund von der Winterolympiade in Russland.
Ein guter Grund, die Glotze auf AUS zu stellen und mal wieder ein kleines Projekt zum Erhalt der eigenen geistigen Fitness
zu starten.
Ein RDS-Scanner zum Nachweis aktueller sporadischer Überreichweiten im UKW-Rundfunkband interessiert
mich schon längere Zeit. Leider habe ich im Handel bisher kein Gerät finden können, das meinen Ansprüchen genügt.
Da ist wieder der Selbstbau angesagt ...
Was soll mein RDS-Scanner können?
- Automatisches Durchstimmen des CCIR Rundfunkbereiches auch bei Abwesenheit des Funkamateurs
- Optional das OIRT-Rundfunkband scannen (Projekt für nächsten Winter)
- Abspeichern empfangener DX-Stationen in einer Datei mit Datum, Uhrzeit, PI-Code und RDS-Sendername
- Anzeige von Radiotext
- Umschaltmöglichkeit von Handabstimmung auf Scan-Betrieb
- Wahlweise: Ausblenden lokaler Stationen im CCIR-Bereich während des Scan-Vorgangs
- Abstimmschrittweite fest auf 100 kHz eingestellt
- kleiner Mono-NF-Verstärker für den Anschluß eines Kopfhörers
- Stereo-Ausgang für den Anschluß externer Aktivboxen
- Ausgang für RDS-Takt und RDS-Data zum Anschluß an die Soundkarte eines PC / Software: RDS Spy
Wie realisieren?
Bei Pollin gibt es für wenig Geld zur Zeit noch Leiterplatten bestückt mit dem Tunerbaustein FM1216ME/I H-3 von Philips.
Die Verwendung dieses Tuners ist in [1] sehr gut beschrieben und stellt ein wesentliches Teil des RDS-Scanners dar.
Passend dazu findet man bei [2] einen gut funktionierenden RDS-Decoder. Damit ist die Ansteuerung eines LCD für
Kontrollzwecke im RDS-Scanner leicht möglich.
Leider paßt die in BASCOM-AVR geschriebene Software (7k) nicht mehr in die kostenlose 4k Programmgröße. BASCOM-AVR kann man
bei [3] kaufen.
Die automatische Erstellung eines Log der empfangenen Stationen erledigt die Software RDS Spy von [4]. Sie ist frei erhältlich
und funktioniert sehr gut.
Die Ansteuerung des Tuners, die Dekodierung des RDS-Datenstroms für die Anzeige auf dem internen LCD sowie die Steuerung der
Grundfunktionen des RDS-Scanners übernimmt ein gerade vorrätiger ATmega32 von ATMEL. Sein Programmspeicher wird nur zu
etwa 20% genutzt.
Schaltbild und Aufbau
Die Schaltung wurde auf einer einseitigen Lochrasterplatte 100 mm x 160 mm aufgebaut. Die Bedienelemente der
Frontplatte und das Display befinden sich auf einer senkrecht stehenden Lochrasterplatte im Abstand von 10 mm hinter
der eigentlichen Frontplatte. Die Rückwand erhält die erforderlichen Durchbrüche für die Anschlußbuchsen und besteht aus einem
Stück Leiterplattenmaterial. Als Gehäuse dienen zwei passend zugeschnittene Alu-Profilhälften KOH4A von Fischer.
Jeweils vier Schrauben M3 an Front- und Rückwand halten das Ganze mechanisch zuverlässig zusammen. Wie man sieht ist
auf der Lochrasterplatte noch sehr viel Platz für Erweiterungen. Die Hardware für die Umschaltung auf den
OIRT-Rundfunkbereich ist bereits vorhanden.
Umbau des Tuners FM1216 auf schmale ZF-Filter
ZF-Filter im Original, schwierig zu ersetzen. |
Hier muß gelötet werden. Nichts für Anfänger. |
Diese Spezial-Lötspitze erwärmt 3 Lötaugen zugleich. |
Geschafft! Zwei steckbare ZF-Filter. |
Um die Lötstellen der ZF-Filter zu erreichen muß die Bodenplatte des Tuners abgenommen werden. Dort befinden sich 7 Stück versenkt angebrachte Lötstellen. Mit einem passenden Mini-Fräser habe ich das Zinn der Lötstellen mechanisch entfernt und die in der Mitte stehenden Drähte freigelegt. Anschließend läßt sich die Bodenplatte gefühlvoll abziehen.
Ursprünglich hatte ich vor, die zwei etwa 230 kHz breiten Original-Filter durch zwei Stück 110 kHz ZF-Filter zu ersetzen. Leider ist die ZF-Bandbreite des Tuners dann bereits zu schmal. Das äußert sich in kratzenden Geräuschen beim Hören und in schlechter RDS-Dekodierung. So bin ich bei einer Mischbestückung von 1 x 230 kHz und 1 x 110 kHz geblieben.
Das RDS Spy Log
So sieht ein mit RDS Spy automatisch erstelltes Log aus.
Datum | Uhrzeit | PI Code | PI Relevanz | Sendername | BER |
---|---|---|---|---|---|
2014/03/04 | 17:17:44-17:18:39; | D3C3 | (Outstanding) | [ FIGARO ] | 0 % |
2014/03/04 | 17:18:39-17:19:13; | D3C2 | (Outstanding) | [MDR JUMP] | 0 % |
2014/03/04 | 17:19:13-17:19:57; | 14C2 | (Outstanding) | [ R.SA ] | 0 % |
2014/03/04 | 17:19:57-17:20:25; | D5C1 | (Outstanding) | [MDR SACH] | 0 % |
2014/03/04 | 17:20:25-17:21:37; | D6C1 | (Outstanding) | [MDR SACH] | 0 % |
2014/03/04 | 17:21:37-17:22:00; | D210 | (Outstanding) | [ DLF ] | 0 % |
2014/03/04 | 17:22:00-17:22:09; | D3CE | (Outstanding) | [ ENERGY ] | 0 % |
2014/03/04 | 17:22:09-17:22:46; | D5F1 | (Outstanding) | [MDR THUE] | 0 % |
2014/03/04 | 17:22:46-17:23:04; | 1ACA | (Outstanding) | [99,3 RMW] | 0 % |
2014/03/04 | 17:23:04-17:23:59; | D3C8 | (Outstanding) | [RADIOPSR] | 0 % |
2014/03/04 | 17:23:59-17:24:06; | 17C1 | (Outstanding) | [CHEMNITZ] | 0 % |
2014/03/04 | 17:24:22-17:24:58; | D3C8 | (Outstanding) | [RADIOPSR] | 0 % |
2014/03/04 | 17:24:58-17:25:27; | D220 | (Outstanding) | [DKULTUR ] | 0 % |
2014/03/04 | 17:25:27-17:25:40; | D3C9 | (Outstanding) | [Hitr.RTL] | 3 % |
2014/03/04 | 17:25:40-17:25:50; | D3D5 | (Outstanding) | [MDR INFO] | 21 % |
2014/03/04 | 17:25:51-17:25:55; | D220 | (Outstanding) | [DKULTUR ] | 0 % |
Es stellt meine bei normalen Ausbreitungsbedingungen empfangbaren UKW Rundfunksender in einem automatischen Durchlauf
des RDS-Scanners zwischen 87,5 und 108,0 MHz dar. In der letzten Spalte wird die BER = Block_Error_Rate angezeigt.
Den automatischen Scan habe ich von Hand nach genau einem Durchlauf abgebrochen. Sonst würde RDS Spy diese Zeilen (die
Ortssender) immer wieder und wieder listen.
Mit dem Schalter SKIP können nun gerade diese Frequenzen (nicht interessierender) Ortssender während des automatischen
Scan übersprungen werden. Man spioniert so zu sagen nur in den Lücken zwischen den Ortssendern nach DX. Das bedeutet:
Das Log bleibt bei normalen Ausbreitungsbedingungen leer und nur bei Tropo, MS oder Sporadic-E wird es gefüllt.
Die BASCOM-Software zur Schaltung
Nach mehrmaligem erfolglosen Lesen des Datenblattes zum FM1216 habe ich mir eine Übersicht angelegt, welche Bits denn
nun zur Programmierung des Tunerbausteins wirklich entscheidend sind. Die Übersicht enthält die für mein Verständnis
wichtigsten Einzelheiten für das HF- und das ZF-Teil:
Das Programm ist in etwa 440 Zeilen BASCOM-AVR geschrieben und
erhebt keinen Anspruch, ein effizientes Programm zu sein. Es erfüllt seinen Zweck.
Der Inhalt der Do ... Loop Schleife ist kritisch. Zusätzliche zeitaufwändige Befehle in der Schleife führen zu spürbar
schlechterem Dekodieren der RDS-Daten im LCD des Scanners, nicht jedoch im PC. Ob eine Änderung der externen
Taktfrequenz von 4,33 MHz auf intern erzeugte 16 MHz eine spürbare Verbesserung bringt, habe ich noch nicht ausprobiert.
Sicher ist die große Anzahl von IF ... THEN bei der QRG-Abfrage ein sehr unbeholfener Programmierstil und man könnte
die zu überspringenden Frequenzen der Ortssender bei der SCAN-Betriebsart "Skip" auch im EEPROM des ATmega32 hinterlegen.
Aber die Winterolympiade ist vorbei und draußen ist der Frühling ausgebrochen. Zeit also, das Projekt RDS-Scanner vorerst
zu beenden. Die kommende Sporadic-E Saison 2014 wird zeigen, ob sich die Bastelei gelohnt hat und welche
Verbesserungen noch gemacht werden sollten.
Links und Quellenangaben
[1] DJ7OO: Einfacher UKW-Stereoempfänger mit Philips-Tuner "FM1216ME" und Bascom-I2C-Steuerung
[2] RDS-Decoder in BASCOM von DL4FBZ & DL1ZAX:
[3] BASCOM AVR von MCS-Electronics
[4] RDS Spy Software von Ing. Jan Kolar, Czech Republic
[5] FQ1200MK3/FM1200MK3 Family Application Note
[6] FM1216ME (MK3 family) Product specifications