300-fach CD-Wechsler

Gesamtansicht
Genug kleine Brötchen gebacken, bauen wir einen 300-fach CD-Wechsler für meine CD-Sammlung! Kritische Stimmen sagen: "Wer braucht dass, heute kannst Du 1000 mal mehr Musik auf dem PC oder MP3-Player speichern und abspielen!" "Ich weiss", sag ich, "aber das ist langweilig und das kann ja jeder!"
Der CD-Wechsler hat rechts und links zwei Magazintürme, in denen die CDs übereinander lagern. In der Mitte fährt ein Schlitten angetrieben durch einen Schrittmotor mit Zahnriemen. Der daran befestigte Greifarm holt eine CD aus dem Magazin und bringt sie nach unten in ein CD-ROM-Laufwerk. Die Gehäuseteile sind aus Holz zusammengeleimt, gespachtelt, geschliffen und anschließend lackiert. Zur weiteren Verkleidung werden später Glasplatten um die Mechanik den Staub fernhalten. Es gibt eine Frontplatte mit Display und Bedienelementen zur Steuerung des CD-Wechslers.

Wie es anfing...

Ursprünglich sollten zwei CD-ROM-Laufwerke verbaut werden, das habe ich aber nicht weiter verfolgt, da der Platz in dem Gehäuse nicht ausreichte.
Die Steuerelektronik für die ersten Tests mit den Motoren und dem CD-ROM-Laufwerk entstand auf Lochrasterplatinen. Alles zusammen ergab einen großen Drahtverhau. Danach wurden Platinenlayouts erstellt.
Stellprobe Testelektronik

Übersicht der verbauten Antriebe
1Aufzugbipolarer Schrittmotor
2Wechslerarm, CD-Heberunipolare Schrittmotoren
3SchiebeklappeGetriebemotor
4Arm-DrehenModellbau-Servo
5CD festhaltenElektromagnet

Wechslerarm

Das linke Foto zeigt die erste Version des Wechsler-Armes, der die CDs aus dem Magazin holt und in das CD-ROM-Laufwerk legt. Ein Schrittmotor bewegt den Arm, der in das Magazin hineinfährt, ein Modellbau-Servo dreht ihn und ein Elektromagnet hält die CD nach dem "Greifen" fest.
Die Führung mit Kugellagern erwies sich als, naja, suboptimal. Kugelgelagerte Kunststoffrollen führten zum gewünschten "Laufverhalten". :-)
Wechslerarm Wechslerarm

Aufzug und Heber

Ein kräftiger bipolarer Schrittmotor bewegt über einen Zahnriemen den Wechslerarm. Um die passende Übertragung zu erreichen, wird die Drehzahl über eine Getriebestufe übersetzt.
Der Heberantrieb mit einem unipolaren Schrittmotor sorgt dafür, dass eine CD auch wieder aus dem Laufwerk heraus in das Magazin gebracht werden kann. Ist die Schublade des Laufwerks geöffnet, hebt er die CD ein Stück an, damit der Wechslerarm diese greifen kann.
Aufzug-Motor Heber

Klappenantrieb

Das Loch, durch dass die CDs in das CD-ROM-Laufwerk gelegt werden, wird durch eine Schiebeklappe verdeckt. Ein Getriebemotor bewegt über einen Zahnriemen und Zahnstangen die Schiebeflügel. Klappenantrieb Klappe_Motor_Platine

Platinen

Alle Layouts sind mit TARGET erstellt. Die Platinen sind mit dem Tonertransfer-Verfahren hergestellt. Dazu werden die Vorlagen mit einem Laserdrucker auf Katalogpapier gedruckt, dieses wird mit einem Bügeleisen oder einem umgebauten Laminiergerät auf die kupferbeschichteten Platinen übertragen. Der Toner haftet fest genug, um die Platinen damit zu ätzen.
Platinen geätzt Platinen bestückt

Bestueckung Bestueckung

Die Steuerelektronik ist verteilt auf vier Platinen.

  • Hauptcontroller: unter dem "Dach" des CD-Wechslers
  • HI-Controller: hinter der Frontplatte
  • CD-ROM-Controller: unten im Gehäuse bei dem CD-ROM-Laufwerk
  • Motortreiber: unten im Gehäuse neben dem Netzteil
Es gibt einen Haupt-Controller zur gesamten Ablauf-Steuerung der Motoren, einen HI-Controller für alle Eingänge, wie Tasten, Drehencoder, Fernbedienungsempfänger und Lichtsensor, sowie einen CD-ROM-Controller, der das CD-ROM-Laufwerk ansteuert. Alle Mikrocontroller kommunizieren per SPI-Bus miteinander. Auf der Motorplatine ist der Schrittmotortreiber für den Aufzug-Motor, sowie ein Vollbrückentreiber für den Klappenantrieb untergebracht. Zusätzlich enthält die Platine die Absicherung der Betriebsspannungen und Stromtreiber für diverse LED-Beleuchtung.
Kurzübersicht der wichtigsten Bauteile
Nr.BezeichnungBeschreibung
1AT89S8253Mikrocontroller
2L297/L298Schrittmotortreiber für Aufzugmotor
3ULN2803Transistorarray für Schrittmotoren, LEDs
4L165Leistungsoperationsverstärker für Schiebeklappenmotor
5TSOP1738IR-Empfänger

Einbau der Elektronik

Anschlussplatte
Im unteren Gehäuseteil ist das Netzteil eingebaut. Es liefert 5V für die Steuerung, 12V für das Laufwerk und 24V für die Schrittmotoren. Der HI-Controller wird durch ein zweites 5V-Netzteil versorgt. So wird eine Standby-Funktion realisiert. Mit der Fernbedienung oder nach Tastendruck schaltet der HI-Controller das Hauptnetzteil ein. Ein Hauptschalter befindet sich auf der Anschlussplatte.

Gehäuse Gehäuse

Neues Drehlager am Wechslerarm

Anfangs hing der gesamte Wechslerarm direkt an der Achse des Drehservos. Dies erwies sich als zu unstabil. Für eine verbesserte Lagerung fand sich in einem alten Kassettendeck im Antriebsmotor eine passende Achse mit Kugellagern.
Der CD-Endschalter wurde verbessert um eine präzise Erkennung zu ermöglichen. Ein weiterer Endschalter, der erkennt wenn die CD am Wechsler-Arm anliegt, kam hinzu.
Arm neue Lager Arm neue Endschalter

Frontplatte mit Display

Hinter der Frontplatte befindet sich der HI-Controller. Dieser liest Tasten, Drehgeber, IR-Fernbedienung und Lichtstärke-Sensor ein und bereitet die Signale auf. Über den SPI-Bus erfragt der Hauptcontroller die Signale und ist ansonsten frei für alle anderen Steueraufgaben.
VFD Das Display ist ein VFD aus einem Epson Kundendisplay DM-D110. Es lässt sich seriell per RS232 steuern und bietet die Möglichkeit Daten weiterzusenden. Ursprünglich ist diese Funktion dazu gedacht ein Display und einen Drucker an einen Kassenrechner anzuschließen. Der Hauptcontroller benötigt so nur eine serielle Schnittstelle und kann das Display und den Anschluss zum PC adressieren.
Frontplatte Platinen Frontplatte hinten

Firmware und Software

Die Firmware für alle Controller ist in C geschrieben und mit SDCC compiliert. Für den CD-ROM-Controller habe ich auf der Vorarbeit eines fleißigen Menschen aufgebaut. Hier findet sich sein Projekt zur Steuerung eines CD-ROM-Laufwerks. Der Controller sendet zur Steuerung ATA/ATAPI -Befehle über den IDE-Anschluss zum CD-ROM-Laufwerk.
Da der Aufzugschlitten doch eine erhebliche Masse darstellt, kann der Schrittmotor nicht gleich mit der vollen Geschwindigkeit angeschaltet werden, sondern muss langsam beschleunigt werden, damit keine Schritte verloren gehen. Die Schritterzeugung geschieht im Timerinterrupt. Die benötigten Reloadwerte lasse ich mir mit einem C-Programm für den PC berechnen. Man kann Start- und Maximalfrequenz, Rampendauer und Anfangsgeschwindigkeit vorgeben und das Programm erzeugt ein passendes Headerfile zum Einbinden in das Projekt.

Projektstatus

Die Mechanik ist weitestgehend fertig. Auch das Wechseln der CDs klappt ganz gut. Einen Videobeweis bleibe ich allerdings vorerst schuldig. Die Firmware benötigt aber noch einiges an Feinschliff. Aufgrund von Zeitmangel ruht das Projekt zurzeit.