Forum: Mikrocontroller und Digitale Elektronik Hack LCD-Display


von Marko R. (dr_marko_rocznik) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hat jemand einen Tipp für eine effiziente Rückerkennung eines 3fach 
gemuxten LCD-Displays?

Der Schaltplan und die Ansteuerung der 3 Backplanes ist klar und sieht 
man schön im Scope und Schaltplan. Letztlich hat man 6 Phasen in denen 
das Display geschaltet wird. Hierfür habe ich mir per Timer und 
Interrupt eine kleine Routine geschrieben, die alle Bits eines 6x4 
Arrays auf die LCD-Pins raustickert. Das funktioniert und läuft im 
Hintergrund ab.

Jetzt muss ich natürlich von Programmseite diese LCD-Matrix mit Leben 
füllen. Mir liegt kein Datenblatt des LCD-Displays vor und 
zusammengezählt sind es  59 Elemente welche angesteuert werden müssen.

3 Backplanes x 23 Pin ergeben eine Menge möglicher Kombinationen 
(2^26?). Gibt es einen effizienten Weg die Display-Pinbelegung zu 
ermitteln ohne das dass eine Wochenlange Probiererei wird?

Viele Grüße!
 Marko

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

in welchem gerät ist das display denn eingebaut?
was zeigen die Semente an?

von Wolfgang (Gast)


Lesenswert?

Marko R. schrieb:
> Gibt es einen effizienten Weg die Display-Pinbelegung zu
> ermitteln ohne das dass eine Wochenlange Probiererei wird?

Unter geeigneter Beleuchtung die Leiterbahnen auf dem Glas zu verfolgen, 
dürfte helfen, die Zahl der Unbekannten kräftig zu reduzieren.

von Marko R. (dr_marko_rocznik) Benutzerseite


Lesenswert?

Das ist eine Ansteuerung für eine Ventilstellung. Da sind 5x 7-Segmente 
und ein paar Schriftzüge drauf. Ist halt was kundenspezifisches und der 
Gerätehersteller will die Daten nicht raus rücken.

von Marko R. (dr_marko_rocznik) Benutzerseite


Lesenswert?

Wolfgang schrieb:
> Marko R. schrieb:
>> Gibt es einen effizienten Weg die Display-Pinbelegung zu
>> ermitteln ohne das dass eine Wochenlange Probiererei wird?
>
> Unter geeigneter Beleuchtung die Leiterbahnen auf dem Glas zu verfolgen,
> dürfte helfen, die Zahl der Unbekannten kräftig zu reduzieren.

Nein, man sieht die Leitbahnen nicht egal welches Licht und Winkel. Ich 
habe das Display sogar geröntgt, aber so dünn wie das Zeug aufgedampft 
ist konnte ich mit den Parametern spielen wie ich wollte - da kam nix.

von Peter D. (peda)


Lesenswert?

Du kannst LCDs auch mit Gleichspannung austesten, wie eine LED-Anzeige.

von Axel S. (a-za-z0-9)


Lesenswert?

Marko R. schrieb:
> Hat jemand einen Tipp für eine effiziente Rückerkennung eines 3fach
> gemuxten LCD-Displays?

Was meinst du damit?

Ich vermute: du willst den Inhalt des Displays erkennen, während das 
Display in der Originalschaltung weiter betrieben wird?

von Marko R. (dr_marko_rocznik) Benutzerseite


Lesenswert?

Genau:
- Display in Originalschaltung
- Firmware habe ich angefangen zu schreiben und läuft auch

Frage nach Strategie bezieht sich darauf, dass immer 3 Segmente an einem 
Pin angeschlossen sind. Ich kann jetzt wild Pins toggeln lassen und 
schauen was passiert, denke aber das man das cleverer machen kann:

- 1 Pin mit verschiedenen Mustern ansteuern und schauen welche Symbole 
aufleuchten
- daraus schließen welche Signalfolge was macht
- ...

Ich frage hier einfach in die Runde rein ob das schon mal jemand gemacht 
hat und die praktischste Weise kennt.

von Nosnibor (Gast)


Lesenswert?

Wenn man die drei Backplane-Pins identifiziert hat, ist es einfach: Eine 
geeignete Wechselspannung an je einen Backplane- und Segmentanschluß 
halten und beobachten, was passiert. Es gibt 69 Kombinationen; 
möglicherweise sind nicht alle sinnvoll belegt (es kann sein, daß dann 
irgendwo ein sinnloses Stück Leiterbahn "leuchtet").

Mehrere Möglichkeiten, Backplane-Pins zu identifizieren:

 - bei manchen Displays erkennt man die "Durchkontaktierungen" als 
kleine schwarze Punkte nahe an den Backplane-Pins. Auf dem Foto sehe ich 
nichts dergleichen, das kann aber von Winkel und Lichteinfall abhängen

 - Ansteuerschaltung ansehen: Vielleicht wird ja ein LCD-Treiberchip 
verwendet, zu dem ein Datenblatt zu finden ist. Dann braucht man nur 
noch die Leiterbahnen der Backplane-Anschlüsse verfolgen/durchklingeln. 
Oder es sind alles GPIO-Pins; dann sind die mit den Widerständen die 
Backplanes  :)

 - Ansteuerschaltung im Betrieb beobachten. Wenn man das Oszi der Reihe 
nach an alle Pins hält, sollten die Signale für Backplane- und 
Segmentleitungen leicht zu unterscheiden sein, weil die Backplanes mehr 
unterschiedliche Spannungspegel verwenden.

 - ausprobieren. Wechselspannung an zwei beliebige Pins, Amplitude 
ändern. Wenn die Spannung zu klein ist, sieh man nichts, wenn man sie 
hochdreht, sollten Segmente erscheinen. Wenn zuerst ein einzelnes 
erscheint, hat man wahrscheinlich einen Backplane- und einen 
Segmentanschluß erwischt. Wenn mehrere Segmente gleichzeitig erscheinen, 
sind beide Pins von der gleichen Art (beides Segmentpins oder beides 
Backplanes). Pins sinnvoll variieren...

Die Wechselspannung kommt natürlich am besten aus einem Signalgenerator, 
vielleicht mit einem Schutzwiderstand (1-10k) in Reihe. Alternativ 
Klingeltrafo mit Poti (1-10k) als Spannungsteiler.

von Marko R. (dr_marko_rocznik) Benutzerseite


Lesenswert?

Ich habe es gestern fertig gekriegt. Vielen Dank für die Diskussionen. 
Es ist ein echt gutes Gefühl dieses Forum als Rückenstärkung zu wissen!

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Marko R. schrieb:
> Ich habe es gestern fertig gekriegt.

Gratuliere.

Magst du deine Erkenntnisse noch veröffentlichen? Es wird zwar extrem 
selten sein, daß genau dein Display bzw. Gerät noch jemand in gleicher 
Weise hacken möchte.

Die (deine) Vorgehensweise mag jedoch für den einen oder andren noch 
hilfreiche Information sein.

: Bearbeitet durch User
von Klaus R. (klaus2)


Lesenswert?

Was war denn das eigentliche Ziel, rein aus Interesse?

Genau:
- Display in Originalschaltung
- Firmware habe ich angefangen zu schreiben und läuft auch

Sagt leider gar nichts...

Klaus.

von Marko R. (dr_marko_rocznik) Benutzerseite


Angehängte Dateien:

Lesenswert?

Der Schlüssel zum Erfolg lag eigentlich nur an der Erkenntnis, das die 6 
Phasen des Taktschemas eigentlich in eine positive und negative Taktung 
mit je 3 Slots unterteilt werden kann.

Die Funktion LCD_Update wird vom Timer per Interrupt alle 5ms 
aufgerufen. Die globale Variable "LCD_State" zählt von 0 bis 5 durch. 
Die ersten 3 States gehören der positiven Treiberphase an, die letzten 3 
Phasen der negativen. Man muss einfach nur die Pins negieren und kann 
damit aus einem 3 Bit tiefen Array leben, statt wie zuvor aus einem 6er.

Im Array "LCD_Pins" sind jetzt alle Pin für jeden State aufgeführt. 
Jedes Bit entspricht einem LCD-Element. Jetzt ist  die Ansteuerung der 
Elemente einfach.

In der Excel-Tabelle sieht man wie ich den ersten Port "entschlüsselt" 
habe. Jetzt kann man einfach eine Funktion schreiben, die z.B. eine Zahl 
auf die 7-Segmente-Anzeige bringt.

Vielleicht nutzt die Vorgehensweise jemanden was, ich würde es genau so 
empfehlen.

Viele Grüße!
 Marko

: Bearbeitet durch User
von google (Gast)


Lesenswert?

http://awawa.hariko.com/avr_lcd_drive_en.html
www.atmel.com/images/doc8103.pdf
www.atmel.com/Images/doc2569.pdf
www.atmel.com/Images/doc2530.pdf
ww1.microchip.com/downloads/cn/AppNotes/cn011075.pdf
usw.

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

Toll hingekriegt.

Bei der Erneuerung eines LCD-Displays fuer ein Fluke 8020A
hab ich die Segmente mit dem "Brummfinger" ermittelt und dann
passend verdrahtet.
Aber das Display war auch zugegebener Maszen einfacher gestrickt.

Bei einem andern Display, 16x1 + 4x7Seg + Symbole (Fax) hab ich
die Leiterbahnen zum Epoxyklecks verfolgt und mit dem Pinout
des Steuerkaefers abgeglichen. Das tat dann auch relativ schnell.
Die 4x7Seg + Symbole warten aber noch auf Ansteuerung.

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.