Forum: Mikrocontroller und Digitale Elektronik 32x32 RGB LED Matrix nachleuchten


von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hi,

ich hab hier ein RGB LED Matrix Display mit 32x32 RGB LEDs (wurde aus 2 
32x16 Displays zusammengesetzt, wobei die Zeilen 16 bix 31 quasi die 
verlängerten Zeilen von 0 bis 15 sind). Sind Displays wie diese hier: 
http://learn.adafruit.com/32x16-32x32-rgb-led-matrix/overview

Das Problem das ich damit habe, ist, dass Zeilen, die ausgeschaltet sein 
sollen, nach einer eingeschalteten Zeile auch nachleuchten. Ich hab mir 
hier im Forum auch schon andere Beitrage bezüglich dieses Themas 
durchgelesen. Hat aber meistens was mit zu spät ausschalten oder zu früh 
einschalten zu tun.

Die Ansteuerung läuft so, dass über Schieberegister 64 Bit jeweils für 
R, G und B hineingeclockt werden. Die Schieberegister haben Stromsenken 
als "Ausgänge" an denen die LEDs hängen. Nachdem die Bits hineingeclockt 
wurde, wird gelatcht und auf eine neue Zeile umgeschaltet. Um ein zu 
frühes Einschalten bzw. ein zu spätes Ausschalten der Zeile über den 
"OE" Eingang auszuschließen, wird während des hineinclockens für einen 
Takt einmal das OE Signal aktiv und dann wieder inaktiv geschaltet. Wenn 
ich an einem Pin des Schieberegisters messe, sehe ich, dass sich die 
Spannung bei aktivem OE erhöht und wenn OE wieder inaktiv wird, geht die 
Spannung wieder zurück auf 0V (IMHO sollten die Ladungsträger auch 
draußen sein, oder?).

Beim Umschalten auf die nächste Zeile passiert es dann, dass der 
Stromausgang des Schieberegisters beim Aktivieren von OE nicht ganz auf 
die Versorgungsspannung geht. Und damit wird vermutlich das Nachleuchten 
entstehen.

Das Schieberegister mit Stromausgang ist übrigens ein SM16126 Bauteile. 
Dürfte irgendwas chinesisches sein. Kann es sein, dass der Chip nicht 
gut genug sperrt und dadurch die LEDs quasi nachleuchten?
Kennt jemand dieses Bauteile?

Danke schonmal,
Andreas

von MaWin (Gast)


Lesenswert?

Adafruit redet zwar von Datenblatt, verlinkt habe ich aber keines 
gefunde n. Wie sind denn die Zeilen-MOSFETs angesteuert? Auch aus so 
einem stromliefernden Schieberegister ?

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Angehängte Dateien:

Lesenswert?

Es sind 8 Dual P-Channel MOSFETs (APM4953) vorhanden, die zusammen die 
16 Zeilen eines "Halbdisplays" (32x16) ansteuern. Die Gates werden 
(soweit ich das jetzt mal gemssen habe) direkt mit dem Output Enable 
(OE) Signal gesteuert, welches von einem Bustreiber (74HC245) getrieben 
wird.
Der Output Enable Pin des Schieberegisters liegt immer auf Masse.

Interessanterweise wird jedesmal wenn der PMOS geschaltet wird der 
Ausgang des Schieberegisters ein Stück "higher". Während der PMOS ein 
ist, steigt die Spannung nicht.

Anbei auch ein Bild. Das obere Signal wurde direkt am Ausgang eines 
Schieberegisterpins gemessen. Der Ausgang ist "low" sobald ich quasi 
eine 1 reingetaktet habe und die LED damit leuchten soll. Der kurze 
Impuls, mit "OE" bezeichnet, ist, wenn ich den OE Enable Pin aktiviere 
und somit der PMOS durchgeschaltet wird.

Das untere Signal ist das Signal mit dem ich die Zeilen durchzähle. D.h. 
eine halbe Periode entsprecht einer ganzen Zeile.

von Andreas A. (Firma: Embedded Microtec) (andi) Flattr this


Lesenswert?

Hab natürlich Blödsinn geschrieben. Die 8 Dual Channel FETs werden mit 
den Ausgängen eines 74HC138 (3-to-8 Line Decoder) gesteuert. Die Dauer 
des Einschaltens wird über den OE Pin gemacht indem der 74HC138 mit dem 
Pin "enabled" wird.

Hier auch nochmal etwas mehr Info (wobei ein anderer LED Treiber 
verwendet wird):
http://www.hobbypcb.com/blog/item/3-16x32-rgb-led-matrix-technical-details.html

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.