LED Drucker
Als ich bei
einem Frund auf dem Tisch einen OKI LED Page Printer OL610ex sah, wollte ich
unbedingt so einen haben. Mit der LED Zeile mit 2560 LEDs kann man bestimmt
schöne Sachen machen. Jetzt bekam ich endlich einen defekten. Abgesehen
von einem leeren Toner war nur die Heizung defekt. Mit ein paar Tricks lies
sich der Drucker soweit bringen, dass er immerhin anfängt zu drucken, so
dass ich das Timing messen konnte.
Beim
OKI LED Page Printer befindet sich die LED Zeile im Deckel. Bei geschlossener
Klappe wird die LED Zeile direkt über der Bildtrommel plaziert.
Leider hat der Drucker
eine Überwachung, die den Betrieb mit offenem Gehäuse verhindert.
Möchte man die LED Zeile dennoch beobachten, kann man diese aus dem Deckel
entfernen: Sie ist recht und links im Gehäusedeckel eingerastet. Als nächstes
zieht man das Flachbandkabel ab. Der restliche Teil des Gehäuses muss abgenommen
werden. Dazu entfernt man die beiden Schrauben rechts und links neben dem Tonerbehälter
und klappt das Gehäusepberteil nach hinten weg.
Jetzt kann das Flachbandkabel bei halb geöffnetem Deckel in den hinteren
Teil des Druckers gezogen und wieder an die LED Zeile angeschlossen werden.
Die Klappe schließt man.
Nun sollte der Drucker trotz halb offenem Gehäuse starten und drucken.
Die LED Zeile flackert dabei schwach auf. Der Blickwinkel in dem das Leuchten
sichtbar ist, ist aufgrund der Linsen stark eingeschränkt.
Anstelle der LED Zeile habe ich einen Logic Analyser angeschlossen und die Signale gemessen.
Die
Anschlussbelegung kann man leicht aus den Kurvenformen des Logic Analysers ablesen:
Die LED Zeile wird mit
5V betrieben. Leuchten alle LEDs auf, liegt die Stromaufnahme bei einigen Ampere.
Aus diesem Grund sollte man die LEDs nur kurzzeitig einschalten, da diese oder
die Treibr sonst überhitzen.
Wegen den Leitungswiderständen, besitzen die LEDs und die Treiber getrennte
Masseleitungen (Pin 1&2 bzw. Pin 5)
Die Daten werden seriell über ein Schieberegister geladen. Da der Drucker 300dpi hat, besitzt er 2560 LEDs die einzeln steuerbar sind. Daher werden 2560 Takte benötigt, bis ein kompletter Datensatz geladen wurde. Die Daten werden bei fallender Flanke übernommen.
Mit dem Latchpuls werden die Daten aus den Schieberegistern an die Ausgänge übernommen.
Eingeschaltet werden
die LEDs über die Low aktiven Enable Eingänge 1-4.Um die Stromaufnahme
bei eingeschalteten LEDs in Grenzen zu halten, werden im Drucker nie alle LEDs
gleichzeitig eingeschaltet, sondern immer nur ein Enable Eingang.
Die Enable Eingänge schalten jeweils ein viertel der LED Zeile.
Wenn
man nicht unbedingt muss, dann sollte man die LED Zeile nicht öffnen. Da
ich mehrere davon habe, aber keinerlei Infos zur Ansteuerung hatte, habe ich
eine LED Zeile mal geöffnet:
Oben sieht man die vielen Mikro LEDs. Darunter die Treiber, Vorwiderstände
und Schieberegister.
Diese sind über feine Bonddrähte mit der Platine verbunden. Öffnet
man die LED Zeile, kann es leicht passieren, dass man diese verbiegt und somit
kurzschließt, oder abreißt.
In jedem von den einzelnen grauen Segmenten befinden sich 64 LEDs.
Im
Timing Diagramm sind die Signale an allen 14 Pins abgebildet.
Die Ansteuerung funktioniert genauso wie man es vermuten würde:
Die Daten werden seriell mit einem Schiebetakt geladen, dann parallel an die
Ausgänge übertragen die sich, in 4 Gruppen unterteilt, einschalten
lassen.
Wie man sieht, werden die Daten mit einm kurzen Hgh Impuls (im Drucker mit 500ns
Breite) gespeichert.
Hier
sieht man die Enable Impulse genauer:
Jeder Impuls hat eine Dauer von 50us. Der Strom während ein viertel der
LED Zeile aktiviert ist, liegt bei über 1A.
Die Pause die der Schiebetakt macht
ist vermutlich, um Datenfehler bei der Übertragung aufgrund der Stromimpulse
beim Schalten der Ausgänge zu vermeiden.
Nötigt ist die Unterbrechung aber nicht, ebenso müssen die LEDs nicht
während der Schiebephase aktiviert werden, sondern das kann auch später
erfolgen.
Schaut
man sich den Schiebetakt genauer an, erkennt man eine Frequenz von 2MHz. Ich
habe die LED Zeile auch schon erfolgreich mit 8MHz betrieben.
Die Daten werden bei der High-Low Flanke gespeichert: Genau umgekehrt wie es
meist bei anderen ICs mit SPI o.ä. gemacht wird.
Die
LED Zeile besitzt eine Reihe spezieller Linsen vor den LEDs.
Die LED Zeile habe ich mit einem kleinen uC angesteuert, so dass diese mittels
Dithering 8 Helligkeitsstufen anzeigen kann. Wenn man ganz genau hinschaut,
erkennt man die einzelnen Punkte. Aus einigen 10cm Entfernung sieht man aber
nur einen unterschiedlich hellen Streifen.
Auf dem Foto erscheint das Licht etwas helles als es normalerweise ist:
Bei den LEDs handelt
es sich vermutlich um LEDs mit mittels Zink in n-dotiertes GaAsP Substrat eindiffundierte
p-n Übergänge, so ziemlich die übelste Methode eine LED herzustellen.
Nur so kann man 2560 LEDs billig herstellen.
Da eine LED nichtmal 1 Mikrowatt optische Leistung abgibt, macht das für
die ganze LED Zeile etwa 2 mW. Dafür werden bis zu 50W elektrischen Leistung
benötigt. Daraus ergibt sich ein beeindruckender Wirkungsgrad von 0,004%
!