DAB+-Radio mit einem RPi+HifiBerry auf Basis des MonkeyBoards

  • Nachdem es bereits etliche Internetradios auf Basis des RPi gibt, habe ich vor, zur Abwechslung mal ein DAB+-Radio zu bauen.


    1. DAB+-Radioempfang testen

    Um einigermaßen schnell zu Ergebnissen zu kommen, begann ich meine Arbeiten mit dem MonkeyBoard PRO. Darauf befindet sich im Wesentlichen das DAB+-Empfangsmodul T2_L4A_8650C von KeyStone. Ansonsten befindet sich auf dem MonkeyBoard noch ein bereits programmierter PIC18F14K50-Mikrocontroller, der an der USB-Schnittstelle einen virtuellen COM-Port zur Verfügung stellt. Somit können am RPi über den UART-Port ttyACM0 serielle Kommandos zur Steuerung an das DAB-Empfangsmodul gesendet werden.

    Anmerkung: Möglicherweise könnte man aus dem MonkeyBoard alleine und ohne RPi ein vollwertiges DAB+-Radio bauen, wenn man den PIC für Tastensteuerung (und LED-Ausgabe) umprogrammiert. --> offen...

    Hier jedenfalls die Ausgabe von dmesg:

    Code
    1. [ 2.611591] usb 1-1.2: new full-speed USB device number 5 using dwc_otg
    2. [ 2.751209] usb 1-1.2: New USB device found, idVendor=04d8, idProduct=000a
    3. [ 2.751228] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    4. [ 2.751237] usb 1-1.2: Product: CDC RS-232 Emulation Demo
    5. [ 2.751245] usb 1-1.2: Manufacturer: Microchip Technology Inc.
    6. [ 3.114946] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
    7. [ 3.114946] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

    Von der Monkeyboard-Internetseite kann auf dem RPi mit wget http://www.monkeyboard.org/images/products/dab_fm/raspberrypi_keystone.tgz das C++-Demoprogramm testdab.cpp heruntergeladen werden, mit dem ich meine ersten Tests durchführte. Diese Software ist leicht verständlich, um schnell kleine Anpassungen vornehmen zu können, aber den Softwareteil für dieses Projekt werde ich mir ohnehin erst später vorknöpfen... --> offen...

    Hauptsache es läuft erst einmal -- leider nur Bayern 3, für meinen Lieblingssender Radio BOB! reicht die Feldstärke bei mir im Bastelkeller leider nicht aus ;(

    Ich werde noch querchecken, ob das generell nicht besser geht, oder ob nur die mit dem MonkeyBoard mitgelieferte Mini-Teleskopantenne (ausgezogen 34cm lang + 1,5m Anschlusskabel), im folgenden Drexantenne® genannt, so schlecht ist. --> gelöst in Beitrag #5

    * Neben DAB und DAB+ kann das KeyStone-Modul auch UKW empfangen. Hier habe ich im Keller das typische Stereorauschen bei schwachem Empfang.

    * Das MonkeyBoard unterstützt auch die DAB-SlideShow: Das sind in den ausgesendeten Daten enthaltene Grafiken (320 x 240 Pixel, Format genormt?)

    * ...und natürlich die entsprechenden DAB-Textinformationen inkl. Real Time Clock (RTC)

    * UKW: Teilmenge aus den RDS-Daten (Stationsname, RDS-Text, Genre, RTC)


    Die Audioausgabe des MonkeyBoards läuft entweder analog über eine 3,5mm-Klinkenbuchse oder digital über I²S. Damit komme ich schon zum zweiten Punkt.


    2. I²S-Audiosignal über HifiBerry DAC+ aufbereiten

    Ein sauberes I²S-Signal hat schon was und ich würde es gerne über den I²S-Port einer HifiBerry-Soundkarte wiedergeben, alleine schon um hardwaremäßig nur einen Audioausgang zu haben. Der Verdrahtungsaufwand sollte vorne beim I²S-Bus am kleinsten sein, anstatt hinten kompliziert mehrere Ausgangsquellen (MonkeyBoard / RPi) irgendwie zu verwalten und ohne Eingriffsmöglichkeit über ALSA auf der Radioseite :baeh2:

    Also habe ich auf einem Breadboard nur die relevanten Signale zwischen RPi und HifiBerry DAC+ gesteckt und das Ganze erfolgreich mit meinem yamuplay.py getestet -- prinzipiell mal keine Kunst. Mir ist klar, dass die HifiBerry-Karten nur dann die digitalen Audiodaten am I²S-Bus in Sound umwandeln, wenn am I²C-Steuerbus (RPi-Pins 3 (GPIO2, SDA) und 5 (GPIO3, SCL)) auch die entsprechenden Steuerkommandos an die HifiBerry-Karte geschickt werden. Ich habe die drei Leitungen für I²S zwischen RPi und HifiBerry getrennt und stattdessen den I²S-Bus des MonkeyBoards mit der HifiBerry-Karte verbunden. Nachdem es zunächst nicht lief und ich mich dazu herabließ, mein Oszi (ein Hameg HM407 -- ein cooles Teil) hervorzukramen, nur um festzustellen, dass die I²S-Signale vom RPi und MonkeyBoard prinzipiell gleich sind, steckte ich die I²S-Leitungen wieder auf den RPi um und dann nochmals auf das MonkeyBoard -- und plötzlich lief es! Das lag wohl nur an schlechten Kontakten auf dem Experimentierboard...

    Die Quintessenz sind folgende Erkenntnisse:

    * Nach Trennen einer I²S-Leitung und erneutem Anstecken läuft die Audiausgabe über I²S sofort wieder an :thumbup:

    * Nach Umstecken auf das MonkeyBoard muss an die HifiBerry-Karte per I²C ein Kommando "Audioausgabe ein" geschickt werden.

    * Eine Wiedergabepause (über fake-yamuplay) stört nicht, weil der I²S-Takt ("bit clock") am MonkeyBoard weiterläuft.

    * Ein vollständiger Wiedergabestop (über fake-yamuplay) führt zum Ausschalten der Audioausgabe (fehlendes Taktsignal "bit clock" EDIT: Wiedergabe auf HifiBerry DAC+ wird über I²C-Steuerkommando vom RPi gestoppt)

    * Zumindest beim HifiBerry DAC+ wirkt die ALSA-Lautstärkeeinstellung auch auf das MonkeyBoard!

    * Test erforderlich, ob dies auch bei HifiBerry DAC (ohne Plus) und HifiBerry MiniAmp funktioniert, die keine HW-Lautstärkeregelung unterstützen.

    Hier muss ich bei Gelegenheit mal schauen, ob meine MiniAmp-ALSA-Einstellungen vom Raspiblaster funktionieren, wenn die I²S-Daten vom MonkeyBoard und nicht vom RPi kommen... --> gelöst in Thread Stromlaufplan HifiBerry MiniAmp 1.0, Beitrag #2

    * Im fertigen Projekt müssen die drei I²S-Signale zwischen den Quellen RPi und MonkeyBoard (über Relais oder evtl. Optokoppler?) umgeschaltet werden, um das Ding dann auch als Internetradio oder vollwertigen Mediaplayer (omxplayer, MPD, mplayer, ...) verwenden zu können.


    3. Versuchsaufbau

    Der funktionierende Versuchsaufbau war schließlich so, wie in diesem EAGLE-Schaltplan schematisch dargestellt:

    wiring_schematics.pdf



    Ich werde Euch auf dem Laufenden halten.

    Gut's Nächtle!

    To make it better just tux it a little bit. (auf englisch haut dieses Wortspiel hin, da kann man aus fast jedem Hauptwort ein gleichlautendes Tunwort bilden)

    Hofei's guide to: Wie frage ich nach Hilfe? STF's advice to: NOOBS oder nicht? meigrafd's summary to: nützliche Links
    Meine Projekte

    Edited 8 times, last by schlizbäda: Projektstatus (gelöste Teilaspekte) ergänzt ().

  • Antennenproblematik


    Die beim MonkeyBoard PRO mitgelieferte Stabantenne ist ziemlich mittelmäßig, da ich zum Vergleich ein 0815-Grundig-DAB-Radio von meinem Vater an der gleichen Stelle im Keller betrieb, das ebenfalls eine Stabantenne hat, aber die ist etwas länger. Damit funktioniert es deutlich besser, obwohl dieses Grundig-Radio an sich keinen besonders hochwertigen Eindruck macht.

    Grundsätzlich kann man bei mir zu Hause in der Rosenheimer Gegend DAB+-Sender auf den drei DAB+-Multiplex-Blöcken 5C, 10A und 11D empfangen:

    Das mit dem schlechten Empfang im Bastelkeller betrachte ich als "Härtetest". Wenn ich das hier in den Griff bekommen sollte, weiß ich, dass die Empfangsqualität meines Radios gar nicht mal sooo schlecht ist...


    Neue Antenne:

    Ich habe mir dann die Flex-Autodachantenne - AM/FM, DAB, DAB+ passiv, 3940.01 von ATBB (Antennentechnik Bad Blankenburg) gegönnt (Kurzdatenblatt als Dateianhang siehe unten). Dies ist eine passive Antenne ohne zusätzliche Antennenverstärkergaudi. Davon halte ich prinzipiell relativ wenig, denn ein vernünftiger physikalischer Antennengewinn ist durch nichts zu ersetzen, außer durch noch mehr Gewinn (ist wie beim Auto mit dem Hubraum ;))

    Nur leider brachte diese passive Antenne bisher noch gar nichts: Damit kann ich nicht einmal Bayern 3 auf dem starken Multiplex-Block 11D empfangen, was mit meiner mitgelieferten, äußerst mittelmäßigen Stabantenne wenigstens ansatzweise funktioniert. Da es sich um eine Autodachantenne handelt, wird bei der Montage der Masseanschluss des Antennenkabels mit einer scharfen Zahnscheibe fest mit der Autokarosserie verbunden. Damit hat man dann wirklich viel Masse, die vermutlich dann irgendwelche Dipoleigenschaften dieser Antenne positiv beenflussen (das ist jetzt vielleicht/hoffentlich etwas für'n jar , dessen Erfahrung bezüglich Analogtechnik ich sehr schätze). Bei meinem fliegenden Aufbau hängt die Masse nur am Masseanschluss der SMA-Antennenbuchse des MonkeyBoards, was gleichzeitig GND des MonkeyBoards ist (0,1R)

    Dabei muss ich gestehen, um von SMA(female) am MonkeyBoard auf FAKRA-Z(female) zu kommen, habe ich die beiden Teile DELOCK 88932 und SMA 2XST von Reichelt dazwischen gebaut.


    Was habe ich noch ausprobiert?

    * Den kurzen Antennenstab (23cm mit spiralförmig gewickelten Antennendraht) vom Fußteil abgeschraubt und durch eine selbstgebaute Drahtantenne (ca. 2m) ersetzt, die wirklich gut an einer passenden M5-Schraube am Fußteil befestigt ist. Bringt praktisch nichts

    * An der Zahnscheibe des Anschlusskabels (Masse) einen ebenfalls 2m langen Draht über eine große Karosseriescheibe angeschlossen und den Antennenpol sauber mit einem Stück (ungeschrumpften) Schrumpfschlauch schutzisoliert, um so etwas wie einen Dipol zu bekommen. Bringt ebenfalls nichts

    * Dann habe ich mir noch einen Dipol nach dieser YouTube-Anleitung gebaut, allerdings mit 2*40cm (lambda/2 = 80cm --> 188MHz) Da hat der Youtuber schon recht, das ist eine Wunderantenne -- ich musste mich wundern, dass es bei mir nicht gescheit funktioniert :baeh2:


    Ich glaube, ich werde um einen Antennenverstärker nicht herumkommen. Da werde ich mir das Modul 4723.01 von ATBB zulegen und schauen, was passiert. Die Edithwird in diesem Beitrag noch darüber berichten ;)


    Fazit:

    Wenn's oafach waar, kannt's a Depp aa!


  • Moin schlizbäda,


    da ich auch schon länger hinter DAB+ hinterher bin..


    Ich habe hier mal was bezüglich Antenne gelesen.


    Quote

    Ich habe das aus 2 Beiträgen zusammen gebaut.


    Ist ev. von Interesse.


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

  • Es ist genau so wie angenommen/befürchtet:

    Dieses Antennenverstärker-Glump (ATBB 4723.01) bringt gar nichts! :baeh2:


    Im DAB+-Modus des MonkeyBoards läuft mit dem Verstärkermodul gar nichts. Am besten (aber nicht wirklich gut :fies:) funktioniert stattdessen noch die Original-Drexantenne® (die werde ich zur Unterscheidung weiterhin so nennen, auch wenn sie vermutlich gar nicht einmal sooo schlecht ist)


    Gott sei Dank kann das MonkeyBoard auch UKW (zum Test: Bayern 1 auf 93,7MHz) empfangen. Damit habe ich im Bastelkeller gefühlt einen wesentlich besseren Empfang. Allerdings tritt das Stereorauschen mehr oder weniger stark in Erscheinung. Dies interpretiere ich als Maß für die tatsächliche Empfangsqualität, es lebe die Analogtechnik!

    Antennenverstärker ATBB 4723.01:

    Nachdem im DAB+-Betrieb kein Empfang möglich ist, teste ich mit UKW 93,7MHz:

    * ohne Antenne: stark verrauscht

    * Drexantenne®: guter Empfang mit leichtem Stereorauschen

    * ATBB 3940.01 (ohne Verstärkerzeug): guter Empfang mit leichtem Stereorauschen

    Hier reicht es, das Fußteil mit der geschirmten(!) Zuleitung anzuschließen :-/

    Mit dem Antennenstab wird's aber nicht wirklich besser:

    * Antennenverstärker ATBB 4723.01:

    - ohne Antenne 3940.01, ausgeschltet: schlechterer Empfang --> hier reicht wohl das Trumm selbst als Antennenersatz

    - ohne Antenne 3940.01, eingeschaltet: bringt keine Verbesserung

    - mit Antenne 3940.01, ausgeschaltet: bringt keine Verbesserung

    - mit Antenne 3940.01, eingeschaltet: bringt keine Verbesserung, tendenziell eher schlechter...


    EDIT:

    Ich habe die verschiedenen Antennen auch gedreht, waagrecht und senkrecht ausgerichtet. Das brachte alles nichts...


    Meine Fragen:

    * Funktioniert der Antennenverstärker überhaupt? Ich weiß nicht, wie ich das nachmessen soll...

    * Ist der Antennenverstärker richtig angeschlossen?

    * Es ist ein kombinierter Verstärker für DAB+ und UKW. Es gibt aber viele mit einer Splitterfunktion und zwei Ausgängen für DAB+ und UKW

    * Würde eine geometrisch gut geformte VHF-Dipolantenne (z.B. Dachantenne Wittenberg-Antennen WB305 oder WB301, die gibt's u.a. beim blau-gelben C) etwas bringen?


    Bernd666 :

    Danke für den Link zum Beitrag auf mikrocontroller.net. :thumbup: Damit wurde mir bewusst, dass DAB+ im klassischen VHF-Frequenzband liegt.

    Die dort genannte Firma thiecom ist allerdings mittlerweile wohl etwas suspekt bis nicht mehr existent. Die haben offenbar etliche Kunden durch Nichtlieferung richtig vergrault. Wenn man nach "thiecom" duckt, kommen sehr nachdenklich stimmende Ergebnisse...


    Und wie immer: ein paar Bilder

           

    schlizbäda

  • So und jetzt kein mimimi, sondern ein geschmeidiges hähä!


    Ich habe mich heute ein bißchen in die Antennentechnik eingelesen, auch wenn's nur die Wikipedia war:

    Da gibt es die "klassische" λ/2-Dipolantenne oder Richtantennen wie die Yagi-Uda-Antennen für fetten Antennengewinn, von denen früher(tm) für den terrestrischen Fernsehempfang auf den meisten Häusern welche standen oder auch eine Marconi-Antenne (λ/4-Dipol, Viertelwellendipol, neudeutsch auch Groundplane-Antenne). Als Low-End gibt's auch noch die gerne unterschätzte Wurfantenne :lol:


    Meine ATBB 3940.01 ist eine KFZ-Dachantenne, die letztlich auf dem Prinzip der Marconi-Antenne beruht: Sie ist eine Abwandlung von der klassischen Dipolantenne, wobei eine Dipolhälfte richtig gescheit (=niederohmig) geerdet ist. Die andere Dipolhälfte schaut von der Erde (Masse) raus und hat demnach eine Solllänge von λ/4. Wenn man das weiß (und die Physik weiß es ;)), kann die ATBB 3940.01 ohne grimmige Verschraubung auf einem Masseblech nicht richtig funktionieren.

    Ich habe das Ding an einem alten Metallgehäuse aus der Arbeit verschraubt und siehe da:

    Jetzt kann ich im Bastelkeller Radio BOB! hören :thumbup:YEAH!

    Aber nur, wenn ich den Antennenstab durch eine 2m lange Wurfantenne (ein Stück Draht an einer M5-Schraube) ersetze!



    Bilder vom Metallgehäuse, um die KFZ-Dachantenne marconimäßig einigermaßen vernünftig hinzubringen:

     


    Während ich diesen Beitrag verfasste, lief Radio BOB! ohne Aussetzer, außer bei der Drehung für das zweite Foto.

    Abmessungen der Box (b x h x t): 245mm x 85mm x 180mm.

    Da werde ich das DAB-Radio reinbauen...