Platzhaltergrafik
Christophs Tonband-Seiten
- MX 55 - Netzwerk Fernsteuerung -
Platzhaltergrafik
Zufallsbild
Platzhaltergrafik
Digital oder Analog? - Das Beste aus beiden Welten
Ich erhalte immer viele bespielte Bänder, deren Aufnahmen für mich erhaltenswert sind. z.b. mit Musik, die ich noch nicht kenne. Manchmal sprechen mich auch andere Menschen an, die noch Bänder aber kein Tonbandgerät mehr besitzen. Rauschende Mikrofonaufnahmen der Familienfeier von vor 40 Jahren haben für den Protagonisten (oder seine Erben) sicher einigen nostalgischen Erinnerungswert.
Solche Aufnahmen digitalisiere ich dann mit einem meiner Tonbandgeräte, wobei die Auswahl des Gerätes abhängig ist von Spurlage, Geschwindigkeit etc. des Bandes. Häufig kommt hierfür die MX-55 zum Einsatz.
 
Leider stehen meine MX-55 und mein hauptsächlich genutzter PC aber doch einige Meter auseinander. Es ist dann doch etwas lästig ständig zwischen dem PC und der MX-55 zu pendeln um etwa das Band ein Stück zurückzuspulen und die Aufnahme am PC neu zu starten. Nun habe ich mir zwar schon vor einiger Zeit eine Kabelfernbediening für die MX-55 gebaut, aber das geht dann doch noch etwas komfortabler.
 
Deshalb kam ich dann auf die Idee, die MX-55 direkt über den PC fernzusteuern (wenn ich doch schon davor sitze). Nach etwas Löt- und Programmierarbeit ist hier nun das Ergebnis.
Das ist jetzt schon die Version "1.3", aber sicher nicht die letzte, wie man weiter unten in der Rubrik "ToDo" sehen kann.
Ursprünglich war als Schnittstelle zwischen Tonbandgerät und Netzwerk eine "AVR-NET-IO"-Platine vorgesehen. Die Grenzen dieser "Black-Box" waren jedoch recht schnell erreicht. Deshalb habe ich nun zum, sehr viel flexibleren, Arduino gewechselt.
Platzhaltergrafik
Die Hardware
Noch nicht eingebaut, nur angeschlossen.
Platzhaltergrafik
Das Herz der Konstruktion.
Ein Arduino Mega 2560 mit aufgestecktem Ethernet-Shield mit einem ATmega2560 Prozessor. Diese Karte verfügt weiterhin über einen USB-Anschluß, 54 digitale Ein-/Ausgänge, 16 ADC-Eingänge (10 Bit analog/digital Wandler).
Das interessante an dieser Konstruktion (mit Ethernet-Shield) ist, das alle Befehle, die gesendet werden und alle Daten die empfangen werden, über nur ein normales Netzwerkkabel geführt werden. Somit läßt sich die MX-55 also in jedes normale Heimnetzwerk integrieren. Theoretisch wäre auch eine WLAN-Lösung möglich, da ich aber sowieso überall einen Netzwerkanschluss habe, wurde auf den zusätzlichen Aufwand verzichtet.
Platzhaltergrafik
Die Platine für die Aussteuerungsanzeige aufgebaut mit 2 Dual-Operationsverstärkern. Testversion, eine professionelle Platine wird noch gefertigt. Alles zusammen im Gehäuse. Falls sich jemand fragen sollte, warum ich so ein großes Gehäuse für so wenig Elektronik verwende --- ich hatte es gerade übrig. Außerdem war bereits ein Schaltnetzteil (rechts zu sehen) eingebaut, das mir alle benötigten Spannungen (+5 Volt, +12 Volt und -12 Volt) zur Verfügung stellt.
Platzhaltergrafik
Der Schaltplan für die Aussteuerungsanzeige.
Platzhaltergrafik
Das Frontend (geschrieben in JAVA)
Platzhaltergrafik
Platzhaltergrafik
Die Ansicht des Programms, nachfolgend eine Beschreibung der Bedien- und Anzeigeelemente:
 
Links oben die Geschwindigkeitsanzeige. Hier wird (hellgrün) die jeweils eingestellte Geschwindigkeit angezeigt. Leider hat das Fernbedienungsinterface keine Möglichkeit die Geschwindigkeit umzuschalten. Es liegen nur Signale zur Auswertung (speed A tally, speed B tally) an. Diese werden über 2 der digitalen Eingänge des Arduino eingespeist und von der Software ausgewertet.
 
Counter
Hier wird die Laufzeit des Bandes in Stunden, Minuten und Sekunden angezeigt.
Länge
Dient zur Anzeige der "verbrauchten" Bandlänge in Meter, Zentimeter.
Reset
Setzt die beiden Anzeigen auf Null zurück.
Diese Anzeigen verwenden einen der Interrupts des Arduino. Damit wird das Tachosignal der MX-55 überwacht und ausgewertet.
 
Die Bedientasten (Rücklauf, Vorlauf, Wiedergabe, Stop, Aufnahme). Über den Tasten befindet sich jeweils eine LED, die den Betriebszustand anzeigt. Die Aufnahme wird über einen Klick auf die Aufnahmetaste gestartet. Es erschien mir etwas schwierig die Funktion wie im Original (Aufnahme- und Wiedergabetaste gleichzeitig drücken) zu realisieren. Diese Tasten schalten softwaregesteuert jeweils einen der Schaltausgänge des Arduino.
 
Eine Sonderstellung nimmt die "CUE-Taste" ganz links ein. Hiermit kann eine Mithörmöglichkeit beim schnellen Umspulen eingeschaltet werden. Die Lautstärke wird dabei um -14 dB abgesenkt.
 
Die Anzeige "Band" zeigt an, ob ein Band eingelegt ist. Diese wird gesteuert vom linken Bandführungshebel.
 
Das VU-Meter. Da auf diesem Board wie oben geschrieben mehrere ADC-Eingänge vorhanden sind, sollte man sie auch für irgendetwas verwenden. Also werden über 2 dieser Eingänge die gleichgerichten Ausgangssignale der MX-55 eingespeist und zur Anzeige des Signals mittels LED-Balken verwendet. Die Anzeigen wurden mit einem Austeuerungsmesser aus der Tonstudiotechnik abgeglichen und sind einigermaßen genau. Die Rücklaufzeit wurde auf ca. 500 mS festgelegt. Um eine einigermaßen schnelle Anzeige des VU-Meters zu erhalten, müssen die Werte der Eingänge recht häufig abgefragt werden (alle 35 Millisekunden). Dies verursacht eine recht hohe CPU-Auslastung. Deshalb muß die Anzeige explizit eingeschaltet werden (VU-Start) und kann auch, unabhängig vom restlichen Programm wieder ausgeschaltet werden (VU-Stop), falls die Rechenleistung gerade für etwas anderes benötigt wird. Wie auf dem Bild zu sehen ist, wurde auch eine Peak-Anzeige realisiert. Der höchste Wert bleibt für ca. 0,5 Sekunden in der Anzeige stehen, und wird dann wieder gelöscht.
 
Die Counter
Unten sieht man 6 Counter (von 0 bis 5 bezeichnet).
Der Counter Nummer 0 fährt das Band (bei Klick auf "GO" auf die Nullstellung des (Software)-Zählwerks.
Die Counter 1 bis 5 übernehmen, mit Klick auf "SET", den aktuellen Stand des (Software)-Zählwerks. Danach kann, mit Klick auf "GO", diese Stelle angefahren werden. Es können also 5 verschiedene Bandstellen gespeichert werden.
Mit der Auswahl rechts (Stop/Play) kann man auswählen ob das Band, nach Erreichen der Bandstelle, gestartet (Wiedergabe) oder gestopt werden soll.
Platzhaltergrafik
To Do
Platzhaltergrafik
• Verbesserte, frequenzlineare Gleichrichterschaltung bauen. --> erledigt
 
• Frequnzzähler zur Echtzeitanzeige der Bandlänge bauen. Dadurch wäre es dann auch möglich die Funktion eines Autolocators zu implementieren, durch den jede beliebige, einstellbare Bandstelle angefahren werden kann.
Das gestaltet sich schwieriger als zunächst erwartet. Das Problem sind die extrem kurzen Impulse (ca. 10 Mikrosekunden), die von der MX55 gesendet werden. Diese Zeiten liegen um mehr als den Faktor 100 unter den Ping-Zeiten in meinem Netzwerk (> 1 Millisekunde). Deshalb muß die Zählung und Auswertung der Impulse direkt vom Mikroprozessor übernommen werden. Ich experementiere derzeit mit der programmierung eines Arduino-Boards um dieses Problem zu lösen. --> erledigt
 
• Codeoptimierung zur Verringerung der CPU-Auslastung.
 
• Variable Geschwindigkeitsregelung.