Hallo, zur Ansteuerung einer LED-Anzeige möchte ich gern die Segmentinformationen einer LCD-Anzeige aus den Ansteuersignalen eben einer solchen LCD Anzeige separieren und aufbereiten. Das Problem besteht nun darin, dass LCD Anzeigen bekanntlich mit einem Rechteck (man könnte es auch eine Wechselspannung nennen) anstelle einer Gleichspannung betrieben werden, so dass aus der Überlagerung von reiner Segmentinfo und eben dieses Betriebsspannungsrechteckes, am LCD eine doch ziemlich verwirrende 4 bis 5-Pegelspannung anliegt aus welcher der Betriebsspannungsrechteck mit einer Logik zum Erhalt der reinen Segmentinformationen entfernt werden müßte. Konkret praktisches Problem: Die Anschlüsse, also wo welches Segment und die Backplane der 8-stelligen LCD-Anzeige den betreffenden Ansteuerchip (Datenblatt ist nicht zu bekommen) verlassen, ist weder bekannt, noch konnte ich dies logisch ermitteln :( Hat jemand schon einmal so etwas gemacht oder kann Tipps geben, wie ich die Anschlüsse der Segmente & der Backplane ohne die Anzeige zu zerstören (z.B. Zerlegen und Bahnen auf dem Glas verfolgen) ermitteln könnte? Eigentlich wäre ja nur die Rechteckbetriebsspannung zu entfernen.... Ich bin für jeden Tipp und/oder eine konkret funktionierende Schaltung dankbar... Peter
Danke für den Hinweis. Das hiesige LCD hat offenbar auch 4 Backplanes, leider kann man aber nicht alle Leitungen auf dem Glas einwandfrei optisch verfolgen :( Wie schalten die 8 Stck. 7-Segment Digits dann mit 20 Leitungen (plus 4 für die Backplanes)...? Gruß Peter
Bei nur vier Backplanes gibt es natürlich keine schöne Matrix aus Segmenten einerseits und Digits andererseits, wie man das von LEDs oder VFDs gewohnt ist. Meist sind die Backplanes horizontal aufgeteilt, also waagrechte Streifen. Dann gibt es eine Backplane für zwei Segmente oben (waagrecht und ein senkrechtes), eine für die nächsten zwei (das andere senkrechte + der mittlere waagrechte Strich), eine für die unteren beiden senkrechten Striche, und eine für den unteren waagrechten und den Dezimalpunkt. Pro Digit braucht's dann zwei Spaltenleitungen. Für 8 Digits also 16 Spaltenleitungen plus vier Backplanes. Normalerweise würde man eine Matrix ja möglichst quadratisch bauen, also in diesem Fall 8x8 statt 16x4, um mit weniger Leitungen/Portpins/Treibern auszukommen. Bei LCD spricht aber dagegen, daß man das Multiplexverhältnis nicht so gut kompensieren kann (einfach den achtfachen Strom nehmen wie bei LEDs geht eben nicht). Außerdem braucht beim Multiplexen von LCDs eine Leitungsgruppe mehr als zwei verschiedene Spannungspegel, also eine komplexere Schaltung pro Pin. Da nimmt man dann lieber weniger von der Sorte (nur drei oder vier Backplanes) und kommt dafür bei den anderen Leitungen mit normalen Ausgängen aus.
Hallo, Du kennst Dich offenbar sehr gut damit aus. Kannst Du mir bitte mal eine PM schicken, dass wir uns mal ausserhalb des Forums kurzschliessen können, ich komme mit dem Projekt nämlich leider nicht so recht weiter :( Schon jetzt herzlichen Dank und einen schönen Sonntag! Viele Grüße Peter
Ich würde sagen, dass Dein Ansatz falsch ist. Du mußt prüfen, ob Du die gewünschte Information auch anders abgreifen kannst. Um über die LCD-Backplanes bzw. Segmente die Anzeige zu dekodieren ist der Aufwand extrem, wenn es denn überhaupt geht.
google schrieb: > Ich würde sagen, dass Dein Ansatz falsch ist. Du mußt prüfen, ob Du die > gewünschte Information auch anders abgreifen kannst. Das sehe ich auch so. > Um über die > LCD-Backplanes bzw. Segmente die Anzeige zu dekodieren ist der Aufwand > extrem, wenn es denn überhaupt geht. Ich würde das zwar nicht als unmöglich ansehen, der Aufwand dürfte aber so hoch sein (unter anderem braucht man m.E. einen ganzen Sack voll Komparatoren), das es einfacher ist, ein völlig neues Gerät zu bauen, welches die Info auf andere Art und Weise gewinnt, z.B. bei einer Waage aus der Analogspannung der Wägezellen. Gruss Harald
Die signale an den Backplanes sind ja konstant. Es reicht also völlig nur eine Backplane zur Synchronisation abzugreifen. Und dann alle Segmente über einen Multiplexer an einen ADC. Man muß die Segmente auch nicht alle in einem Zyklus einlesen. Die Anzeige bleibt ja ne Weile stehen, damit man sie ablesen kann. Mir wäre aber der Aufwand auch viel zu hoch, die Codierung zu ermitteln und für die sichere Kontaktierung.
Vorweg: praktische Tips kann ich nicht geben; ich habe so ein LCD-SIgnal noch nie auf dem Oszi gehabt oder selbst erzeugt. Aber allerlei Datenblätter gelesen und vor Zeiten einmal einen Taschenrechner soweit heruntergetaktet, daß man das Multiplexen gut beobachten konnte. Die Information anderweitig zu beschaffen, wenn irgend möglich, ist sicherlich richtig. Nur hat man da bei modernen single-chip-Lösungen wenig Möglichkeiten: meist bleibt nur der (analoge) Eingang und der (LCD-)Ausgang. Und ich würde lieber ein Dutzend Digitalsignale auswerten als ein analoges (jedenfalls wenn mehr als 8bit Auflösung gefragt sind), denn bei den Digitalsignalen sind Fehler bei der Auswertung meist offensichtlich, während das Analogzeug einfach nur ein bißchen danebenliegt. Nur eine Backplane auszuwerten ist eine gute Idee. Man kann ja mit sehr regelmäßigem Timing rechnen; die Displays (also Glas+Chemie) bestehen auf max. 1% Asymmetrie bei der Ansteuerung, sonst zersetzt sich die "Suppe" langfristig durch Elektrolyse. Für die Segmentleitungen würde ich aber einfache CMOS-Eingänge nehmen (z.B. Schieberegister), mit geeignet angepaßter Versorgungsspannung. ADC ist zu viel Aufwand, wenn man einmal weiß / beobachtet hat (Oszi), wie die Signale aussehen, also wieviele und welche Pegel verwendet werden. Bei der Anzahl der Spannungspegel gibt es zwei Varianten, die in den Datenblättern 1:2 (oder 1/2) bias bzw. 1:3 (1/3) bias genannt werden. Bei 1:2 kennen die Backplanes drei Pegel und die Segmente zwei: Die momentan aktive Backplane wird nacheinander auf H und L gelegt, die Segmentleitungen im Gegentakt dazu (aktive Segmente) oder synchron (ausgeschaltete Segmente). Die anderen Backplanes liegen auf mittlerem Pegel, so daß die von ihnen bedienten Segmente immer nur die halbe Spannung sehen (egal was die Segmentleitung macht) und daher unsichtbar bleiben. Bei 1:3 kennen sowohl Backplanes als auch Segmente vier Pegel. Die aktive Backplane wird wieder voll ausgesteuert, die anderen im Gegentakt dazu mit geringer Amplitude. Aktive Segmente bekommen das volle Signal der aktiven Backplane (natürlich invertiert), ausgeschaltete gehen mit geringer Amplitude synchron zur aktiven Backplane. Die Folge davon ist, daß nur aktive Segmente die volle Versorgungsspannung sehen, alle anderen bekommen immer nur ein Drittel der Spannung. Zur Auswertung kann man sich an der Amplitude orientieren oder an der Phase, je nach dem, wie man die Schaltschwellen der vielen Eingänge am einfachsten hingebogen bekommt.
Vielen Dank für die Erläuterung, dann habe ich die Vorgänge auf dem Skop richtig erkannt. I.d.R. stehen ausser den zur LCD gehenden Leitungen keine anderen Signalleitungen zur Verfügung. Die Dekodierung halte ich nicht für allzu schwierig, man bräuchte nur je Segment zwei OpAmps die als Differenzverstärker arbeiten, wobei einer den negativen, der andere den positiven Vollspannungspegel erkennt, denn bei diesen Pegeln ist das jeweilige Segment eingeschalten. Ver-odert man dann beide Signale, hat man das Segmentsignal isoliert. Das wären demnach 4 ICs mit je 4 Opamps um alle Segmentsignale zu isolieren, ein durchaus vertretbarer Aufwand.
> Die Dekodierung halte ich nicht für allzu schwierig, man bräuchte > nur je Segment zwei OpAmps die als Differenzverstärker arbeiten, Ich glaube nicht. Angenommen das Segment wird mit 5V, 2.5V und 0V angesteuert. Dann sollte es reichen, einen TTl-kompatiblem Eingang mit einer Schaltschwelle um 1.4V zu verwenden, wie ihn viele uC von Haus aus haben. Denn das LCD wird ja bei jedem zweiten Multiplexlauf mit umgekehrter Polarität betrieben, also kommt die Segmentinformation immer ein mal in den Diskriminierungsbereich des Eingangs. Nun noch auf (die fallende Flanke von) eine Backplane synchronisieren und die Zeitpunkte der korrekten Auslesung nicht von den Signalen der Backplanes 2 bis 4 abhängig machen, sondern rein zeitlich staffeln. Schliesslich ist eine eventuelle Zeitabweichung grosszügig möglich.
MaWin schrieb: > Denn das LCD wird ja bei jedem zweiten Multiplexlauf mit umgekehrter > Polarität betrieben, also kommt die Segmentinformation immer ein mal in > den Diskriminierungsbereich des Eingangs. Achso, das wusste ich nicht! Ja dann sollte das so gehen wie Du das sagtest, allerdings muss ich dann die Segmentinfo speichern, sonst würde eine mit dem µC angesteuerte LED-Anzeige flackern (Multiplexfrequenz des LCD is 190Hz). Ich glaube man muss tatsächlich mal einen Testaufbau machen..... Was meinst Du mit zeitlicher Synchronisation? Irgendwo muss ich den µC z.B. mit einer Interruptroutine fest anbinden sonst läuft das irgendwann auseinander.
Hmm, aufwändige Sache... Gleich eine Kamera ran und OCR Programm... ? Schnapsidee? Gruss
Peter Krengel schrieb: > Die Dekodierung halte ich nicht für allzu schwierig, Nun, vielleicht könntest Du hier ja mal einen Bericht geben, wenn Du es erfolgreich geschafft hast, Deine LED-Anzeige anzusteuern. Solche Fragen wie Deine kommen hier im Forum öfter, wobei eine solche Dekodierung bei einer LCD-Uhr wohl wirlich nicht sinnvoll ist. Gruss Harald
> Was meinst Du mit zeitlicher Synchronisation?
Es reicht, sich auf eine Backplane zu synchronisieren und die 3 weiteren
Abtastzeitpunkte rein zeitlich festzulegen weil viel Toleranz erlaubt
ist.
Hallo Harald, ja klar werde ich machen. Ich dachte auch nicht an eine LCD Uhr, das wäre wirklich Blödsinn, sondern ich möchte gern eine Lösung (Hard- und Software) erstellen, die nach entsprechender Anpassung an die jeweilige LCD Hardware, universell einsetzbar ist. Ob das gelingt?----Schaun wir mal ;) Jedenfalls hat es wohl noch niemand, mit Ausnahme einer Waage, ernsthaft probiert. Viele Grüße Peter
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.