Forum: Mikrocontroller und Digitale Elektronik LCD Spannungen Dekodieren


von Blödmann (Gast)


Lesenswert?

Wie hoch ist der Schaltungsaufwand, um die Steuerspannungen eines 
LCD-Glases zu dekodieren? Ich vermute 4 Kontakte für Common und 25 für 
Segmente.
Geschwindigkeit ist vermutlich nicht das Problem (100 Hz?), aber die 
verschiedenen Spannungen (V_DD ... -V_DD)...
Das macht auf den ersten Blick viele AD-Wandlerkanäle erforderlich, und 
die negativen Spannungen muss man auch irgendwie "hochziehen", ohne den 
Treiber zu überlasten.

Der Treiber ist evtl. ein ATmega169 (dessen LCD Register im Betrieb 
auszulesen wäre auch was).
Das Display ist nicht angeschlossen, vlt. kann man die Spannungen auch 
irgendwie manipulieren, so dass das Erfassen einfacher wird.

Auf die Schnelle habe ich dazu nichts gefunden, aber das hat doch 
bestimmt schonmal jemand gemacht!?

von Achim M. (minifloat)


Lesenswert?

Blödmann schrieb:
> und die negativen Spannungen muss man auch irgendwie "hochziehen", ohne
> den Treiber zu überlasten.

Muss eben hochimpedant abgegriffen werden und dann ein Offset appliziert 
werden. Operationsverstärker können das.

Blödmann schrieb:
> Der Treiber ist evtl. ein ATmega169 (dessen LCD Register im Betrieb
> auszulesen wäre auch was).

Was für ein Gerät hast du denn da?
Was willst du denn genau erreichen?
Ist das originale LCD kaputt gegangen?

mfg mf

von hinz (Gast)


Lesenswert?

Achim M. schrieb:
> Ist das originale LCD kaputt gegangen?

Er hat es kaputt gemacht.

Beitrag "LCD-Verbinder gerissen - Reparatur möglich? (gelötet oder heatsealing)"

von MaWin (Gast)


Lesenswert?

Blödmann schrieb:
> Wie hoch ist der Schaltungsaufwand, um die Steuerspannungen eines
> LCD-Glases zu dekodieren

Tja, schliesse erstmal ein Oszilloskop an. Du wirst Multiplexsignale 
entsprechend den common backplanes sehen und Spannungspegel von 3 oder 4 
Spannungen pro Segment.
Man bräuchte also 2 Inputs pro LCD Anschluss.
Da ein LCD gleichspannungsfrei sein soll, gibt es stets dieselben 
positiven und negativen Spannungen um einen virtuellen Nullpunkt herum. 
Und bei den backplanes sind nur die Extrem positiven (und wegen 
gleichspannungsfreiheit dazugehörigen negativen) relevant.
Also reicht doch ein Eingang, weil aber dessen Schaltschwelle nicht zu 
den LCD Pegeln passen wird, muss man ihnen noch jeweils einen Komparator 
dazwischenschieben. Der Komparatoreingang ist dann auch hochimpedant 
genug.

Nun also auf ein 'besonders positiv' der Backplane warten, und dann 
gucken welche Segmente 'besonders low' gegenüber den anderen sind, die 
sind dann aktiv. Die Phase, in der zum Gleichspannungsausgleich die 
Backplane 'besonders negativ' ist und die aktiven Segmente 'besonders 
positiv' wird einfach übersprungen.

Mit etwas Pech versucht der LCD Treiber noch eine Kontrastanpassung 
durch PWM oder verschieben der Spannungspegel, aber das kann der 
ATmega169 nicht.

https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.11

von Blödmann (Gast)


Lesenswert?

Danke, bei Gelegenheit messe ich mal, was rauskommt.

von Blödmann (Gast)


Lesenswert?

COM und SEG nutzen 4 Spannungen: 0, 1, 2, 3 V.

von Blödmann (Gast)



Lesenswert?

Entsprechender Auszug aus dem Datenblatt.

Hier ein offenbar etwas einfacheres LC Display einer Waage mit AVR 
ausgelesen:

https://www.instructables.com/Direct-Reading-of-LCD-Using-General-Purpose-IO/

von Blödmann (Gast)


Lesenswert?

Demnach müsste die Bias-Spannung ignoriert werden und es interessieren 
nur GND und VLCD von SEG und COM: sind sie entgegengesetzt, ist das 
Segment an?

Aber 1/3 und 2/3 VLCD passen nicht zu <0.3 und >0.6 typischer 
Schaltschwelle der AVR-Eingänge, zumindest 2/3>0.6.
Aber wie MaWin schreibt, reicht ja eine "Halbwelle" zur Detektion. "GND" 
müsste sich also detektieren lassen, für VLCD bräuchte man die 
Komparatoren.
Mit vier Backplanes (COM) müssten also vier Komparatoren ausreichen, und 
die Segmente könnte man direkt erfassen?

von Blödmann (Gast)


Lesenswert?

Eignet sich dann nicht auch der Analog Comparator eines AVRs?

von MaWin (Gast)


Lesenswert?

Blödmann schrieb:
> Eignet sich dann nicht auch der Analog Comparator eines AVRs?

Damit kannst du nur 1 Leitung überwachen.

Blödmann schrieb:
> COM und SEG nutzen 4 Spannungen: 0, 1, 2, 3 V.

Du musst alle common backplanes auf Überschreitung von 2.5 und alle 
Segmente auf Unterschreitung von 0.5 überwachen.

von Blödmann (Gast)


Lesenswert?

Es könnte genügen, auf eine Backplane zu triggern, wenn die Sequenz 
stets gleich bleibt (Timing).
Dann dürfte ein Analog Comparator -Eingang reichen (m.W. kann man aber 
mehrerer Eingänge aswählen).

Bleiben 25 Segment-Signale.
Gibt es ICs mit einstellbaren Schwellwerten/Hysterese, oder lassen sich 
z.B. Schieberegister wie sn74hc165 o.ä. an passender Betriebsspannung 
verwenden, um die passenden Pegel einzustellen?

von MaWin (Gast)


Lesenswert?

Blödmann schrieb:
> Es könnte genügen, auf eine Backplane zu triggern,

Da, wenn man zeitlich weiss, wann welche backplane +3V hat, weiss man 
auch, dass die Segmente entweder 0V oder 2V haben, in dem Moment nie 1 
oder 3. Mit TTL kompatibler Schaltschwelle von 1.4V käme man also bei 
den Segmenten aus.

von Blödmann (Gast)


Lesenswert?

Könnte klappen, vielen Dank!

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.