RPi im Radio: Hardware

Ich bin der glückliche Besitzer einer Sharp XL-560 Mini-Stereoanlage, die ich vor einiger Zeit relativ günstig über ebay-Kleinanzeigen bekommen habe. Ein schönes Gerät, besonders die Tatsache das es einen Drehknopf hat, mit dem man die Lautstärke einstellen kann ist super. Mein Radio vorher hatte nur zwei Knöpfe, das war ein bisschen nervig, wenn es plötzlich zu laut war 🙂

Das Gerät ist schon aus einer bisschen älteren Generation, und hat die für die Zeit übliche Kombination: (UKW-)Radio, CD, Kassette, AUX-Eingang. Nun, irgendwie war meine Anwendung für das Kassettedeck ein bisschen limitiert (ich weiß bis heute nicht, ob es überhaupt funktioniert…). Daher nun also meine Idee: Modernisieren wir das Ding ein bisschen, und ersetzen das Kassettendeck durch einen Rasperry Pi Zero, mit Internetradio und Airplay. Gesagt getan 🙂 In diesem Post schreibe ich ein bisschen war zum Hardware-Umbau, zur Software kommt später noch mal was.

Eine weitere schöne Eigenschaft dieses Radios ist, das man im Internet ein Service-Manual findet, komplett mit Demontageintruktionen, Fehlersuchhilfe, Blockschaltbild und vollständigem Schaltplan (!) inklusive Bestückungsplan (!!). Ganz ehrlich, ohne dieses Dokument hätte ich das auch nicht hinbekommen… Zeit, mal wieder den Schreibtisch ins Chaos zu stürzen 🙂

Wir wollen also das Kasettendeck durch den Rasperry Pi ersetzen. Mir war dabei wichtig, dass der Pi über das Radio mit Strom versorgt wird, weil ich nicht noch ein zweites Netzteil haben wollte. Zusätzlich wollte ich aber auch nicht, dass der Pi immer läuft, wenn das Radio an ist. Meine Idee war es daher, den Pi mit dem Strom für den Kassettenmotor zu versorgen. Man drückt auf Play und der Pi geht an, soweit der Plan.

Ein bisschen Recherche im Schaltplan ergab das es wirklich einen Anschluss für den Motor gibt, der mit 12V versorgt wird. Die Stromversorgung kann man wohl mit 1A belasten, das ist also mehr als genug für so einen Pi Zero (mit einem Schaltregler auf 5V davor, natürlich). Zunächst hatte ich ein bisschen Sorge, was passieren würde, wenn man vor- oder zurückspult. Ein paar Messungen ergaben dann aber, dass sich interessanterweise die Spannung am Motor nicht ändert, und der Motor auch nicht rückwärts läuft, wenn man zurückspult. Wie geht denn das? Willkommen in der wundersamen Welt der Kassettendecks 🙂

So ein Kassettendeck verfügt über einen Motor und einen Elektromagnet. Der Motor läuft dabei immer mit der gleiche Geschwindigkeit und Richtung. Wichtigstes Bestandteil ist ein spezielles Getriebe und ein spezielles Zahnrad mit einer Art Führungschienen. Wenn man der Motor sich zu drehen anfängt wird zunächst der Lesekopf nach oben gefahren. Dies wird über das spezielle Zahnrad gesteuert. Wenn das Zahnrad ein bestimmte Position erreicht hat (und damit der Kopf an seiner Position ist), rastet etwas aus, und die Kraft des Motors wird auf den Antrieb übertragen. Wenn man nun auf Stop drückt wird das Magnet aktiviert und rastet das Zahnrad wieder ein, und der Kopf fährt wieder nach unten. Auf die gleiche Weise scheint es möglich zu sein, auf eine höhere Übersetzung oder den Rückwärtsgang zu schalten. Der Schlüssel scheint dabei zu sein, mit dem Magneten im richtigen Moment das Zahnrad ein- oder auszurasten. Für mich wahrlich ein Wunderwerk des Maschienenbaus…

Mechanik des Kassettendecks. Das besondere Zahnrad ist ganz unten in grau zu sehen.

Nun, offenbar müssen wir uns keine Sorgen um die Stromversorgung machen. Leider kann man den Motor nicht einfach abkoppeln, da das System mit einer Lichtschranke überprüft, ob der Motor auch läuft 🙁 Aktuell ist also immer das leise rauschen des Kassettendecks zu hören. Hat ja auch Flair 🙂 Übrigens ist es dem Radio egal, ob eine Kassette drin ist, oder die Tür offen ist. Man kann sie aber nicht öffnen, wenn das Deck läuft, wenn sie offen ist, kann man es aber trotzdem anschalten… (und dann die Tür auch nicht mehr zumachen…)

Neben der Stromversorgung ist ein Audioanschluss nötig. Das System verfügt über einen vierfach Audioumschalter, hier wollte ich den Pi einfach an den Port hängen, an dem vorher das Kassettendeck hing. Dank dem Schaltplan war es auch nicht weiter schwer den passenden Anschluss zu finden. Das sah dann so aus:

Anschluss an den Audioumschalter.

Mit professioneller Isolierung 🙂 Im ersten Versuch hatte ich das Kabel dann einfach mal an den Kopfhöreranschluss von meinem PC gehängt. Man hörte grundsätzlich einen Ton, aber man musste ziemlich aufdrehen, und es brummte auch leicht. So ganz hat sich mir nicht erschlossen, woran das lag, aber ich hatte dann die Idee, einfach die Schaltung, die vom AUX-Eingang zu diesem Umschalter führte, nachzubauen. Irgendwie ist das ja auch eine Art von AUX-Eingang. Dank Schaltplan (das Ding ist soooo genial!) war das auch kein Problem:

Eingangschaltung, geklaut vom AUX-Eingang.

Und siehe da: Schon klingt es gut 🙂 Ich habe hier noch mal den Schaltplan aufgezeichnet, wobei ich zugeben muss, das ich mir nicht ganz sicher bin, was das für eine Schaltung ist. Irgendwie eine Art Bandpass? Naja, ich hab ja auch nicht Elektrotechnik studiert 🙂

Schaltplan Audio-Eingang

Ich habe dann schlussendlich noch den Signal-Pin des Fernbedienungsempfängers mit einem Pin des Pi verbunden, damit sollte man die Signale der Fernbedienung auf dem Pi dekodieren können. Leider arbeitet das Radio mit 5V, so dass ich das Signal für den Pi auf 3,3V anpassen musste. Ich hatte es zunächst mit einem einfach Spannungsteiler aus zwei 1KΩ-Widerständen versucht, nur leider viel damit die Spannung am Pin auf ein paar Millivolt, womit auch der Fernbedienung vom Radio nicht mehr erkannt wurde… Schlussendlich bin ich durch ein bisschen ausprobieren darauf gekommen, dass es funktioniert einfach einen 50KΩ-Widerstand gegen Masse zu schalten. Auf diese Weise liegen am Signalpin noch ziemlich genau 3,3V, was glücklicherweise dem Radio auch noch reicht. Bedeutet das jetzt, das der Empfänger auf dem Sinalpin einen Innenwiderstand von 20KΩ hat? Ich weiß es nicht… aber so funktioniert es zumindest 🙂

Damit sind also Stromversorgung, Audiosignal und Fernbedienung mit dem Pi verbunden. Auf dem Pi sitzt übrigens ein pHAT DAC von Pimorino, der Zero hat ja keinen Audioausgang. Jetzt muss ich das ganze nur noch in das Gehäuse einbauen. Aktuell sieht es so aus:

Pi Zero, Spannungwandler und Audiointerface

Eigentlich sollte alles in das Gehäuse, aber das war dann doch ein bisschen zu klein 🙁 Das ganze funktioniert soweit auch ziemlich gut!

Richtig cool wäre es natürlich gewesen, wenn ich auch das Display des Radios hätte durch den Pi steuern können. Leider ist das direkt mit der CPU verbunden, und das Interface ist über 70 Pins groß, so das man sich da auch nicht zwischen hängen kann. Ich bin noch am überlegen, in das Fenster im Kassettendeck ein kleines OLED-Display einzubauen, oder vielleicht wenigstens ein paar RGB-LEDs oder so. Mal sehen 🙂 Die Software steht noch nicht ganz, ich berichte, sobald es da etwas neues gibt.

Ein Gedanke zu „RPi im Radio: Hardware

  1. Mist. Coole Idee, wieder ein Projekt mehr 😉

    Eine ähnliche Anlage habe ich auch im Retro-Keller…

    Das Tapedeck würde ich durch ein China-Touch-Display ersetzen, die Größe sollte gut passen. Als Software kann man mit TCL/TK recht schnell eine Touch-taugliche-GUI stricken, hab ich letztes Jahr für ein Kinder-MP3-Player-Projekt gemacht, sogar swipen ging…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert