Forum: Mikrocontroller und Digitale Elektronik 14 Segment Display ansteuern


von Flo S. (flos6323)


Angehängte Dateien:

Lesenswert?

Ich möchte dieses Display ansteuern : 
https://www.digikey.de/product-detail/de/Varitronix/VIM-878-DP-FC-S-LV/153-1113-ND/1118603
(Das Display habe ich noch nicht, da ich erst mal wissen wollte, was aus 
diesem Beitrag wird und ob ich noch weitere Teile benötige.)

Bei machen Kombinationen kommt es vor, dass mehr Segmente an sind als 
sollen.
Ein Beispiel ist in Bild 1.
Die grün markierten Segment sollen an sein.
Dazu müssen die blau markierten Anschlüsse in Bild 2 angesteuert werden.
Wenn man die aber ansteuert, gehen aber auch logischerweise auch noch 
andere Segmente an. Die habe ich rot markiert in Bild 2.
Wie kann ich das umgehen?




(Original Bild Quelle : Datenblatt)

: Bearbeitet durch User
von google (Gast)


Lesenswert?


von google (Gast)


Lesenswert?


von google (Gast)


Lesenswert?

Das ist ein LC-Glas, das vier backplanes hat. Es muss dynamisch 
angesteuert werden. Das geht auch mit einem Controller, ist aber nicht 
trivial. Dazu gibt es appnotes z.B. von Atmel.

von hinz (Gast)


Lesenswert?

Flo S. schrieb:
> Wie kann ich das umgehen?

Multiplexbetrieb 1:4.

Dafür gibts spezielle Treiber, schau mal bei Maxim oder NXP.

von fop (Gast)


Lesenswert?

Das ist also ein LCD. Die müssen mit Wechselspannung angesteuert werden. 
Dazu gibt man auf COM ein Rechtecksignal und auf die Gegenelektroden 
entweder das gleiche Rechtecksignal für inaktive Segmente oder ein 
gegenphasiges Signal für aktive Segmente. Dafür gibt es extra ICs zum 
Ansteuern, bzw. Mikrocontroller mit einer entsprechenden eingebauten 
Peripherieeinheit.
Microchip bietet z.B. so was an.
Must halt wissen, wieviele Segment- und Com-Anschlüsse Du brauchst.
Dein favorisiertes Display hat wohl 4 von diesen Com-Anschlüssen (Common 
gemeinsame Elektrode). Wobei es wirklich 4 verschiedene Signale sind. 
Also nicht wie GND1...GND4 an anderen Bauteilen, die man alle zusammen 
legt.
Darüber kann man dann einzelne Zeichen auswählen. Notfals muss man sie 
im Multiplex schnell nacheinander ansteuern. Oder gar einen 
Com-Anschluss hochohmig lassen, was ein fast inaktives Zeichen ergibt.

von Frank K. (fchk)


Lesenswert?

Dieser Controller wird Dein Display locker ansteuern können und ist dazu 
noch ziemlich günstig:

https://www.digikey.de/products/de?keywords=PIC16F19197T-I%2FPTCT-ND
https://www.microchip.com/wwwproducts/en/PIC16F19197

Du brauchst zwingend spezielle Controller für rohe LCD-Gläser, die die 
erforderlichen Signalformen erzeugen können. Hier hast Du gleich zum 
LCD-Controller noch Prozessor mit RAM und Flash dazu, ohne dass es mehr 
kostet.

fchk

von c-hater (Gast)


Lesenswert?

Frank K. schrieb:

> Du brauchst zwingend spezielle Controller für rohe LCD-Gläser, die die
> erforderlichen Signalformen erzeugen können.

Unsinn. Jeder µC mit einer hinreichenden Zahl GPIO-Pins und hinreichend 
RAM für einen Wiederholspeicher kann das leisten. Wenn ich mich nicht 
verrechnet habe, sollten das im konkreten Fall mindestens 36 GPIOs und 
16 Bytes RAM sein.

Da steht eine riesige Auswahl zur Verfügung.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

c-hater schrieb:
> Unsinn. Jeder µC mit einer hinreichenden Zahl GPIO-Pins und hinreichend
> RAM für einen Wiederholspeicher kann das leisten. Wenn ich mich nicht
> verrechnet habe, sollten das im konkreten Fall mindestens 36 GPIOs und
> 16 Bytes RAM sein.
>
> Da steht eine riesige Auswahl zur Verfügung.

Sag mal, du hast auch von Nix eine Ahnung, oder? Das ist ein LCD Glass. 
Zum Ansteuern brauchst du nicht nur recht komplizierte Signalformen. 
Nein, bei einem typischen 1/3 Bias brauchst du Signale mit Amplituden 
von -Vop, -2/3 Vop, -1/3 Vop, 0V, 1/3 Vop, 2/3 Vop und Vop. Das VIM878 
sollte auch mit 1/2 Bias ansteuerbar sein, dann währen es unter Verlust 
von etwas Kontrast nur -Vop, -1/2Vop, 0V, 1/2Vop, Vop.

Ach ja, Vop bei 1/2  3,0V, bei 1/3 3,1V.

Mit 1/4, 1/8 und 1/16 sollte es bei dem Display auch gehen. Die 
Amplituden sind natürlich nochmal aufwändiger als 1/2 oder 1/3. Zu 1/8 
oder 1/16 müsstest du gehen, wenn du auch bei höheren 
Umgebungstemperaturen noch Kontrast haben möchtest (ist ja gerade 
aktuell). Dazu käme dann noch, dass du die Signalamplitude mit 
steigender Temperatur absenken müsstest.

Viel Spaß diese Signalamplituden, besonders die negativen mal eben 
schnell  mit deinen lustigen 36 GPIOs zu erzeugen.

von Frank K. (fchk)


Lesenswert?

c-hater schrieb:
> Frank K. schrieb:
>
>> Du brauchst zwingend spezielle Controller für rohe LCD-Gläser, die die
>> erforderlichen Signalformen erzeugen können.
>
> Unsinn. Jeder µC mit einer hinreichenden Zahl GPIO-Pins und hinreichend
> RAM für einen Wiederholspeicher kann das leisten. Wenn ich mich nicht
> verrechnet habe, sollten das im konkreten Fall mindestens 36 GPIOs und
> 16 Bytes RAM sein.

Bei statischen Gläsern mit nur einer Backplane ginge das, auch wenn ich 
das nicht machen würde, weil es eben schwierig ist, die 
Gleichspannungsfreiheit (auch kleine DC-Offsets beschädigen mit der Zeit 
die LCD-Gläser) unter allen(!) denkbaren Umständen zu garantieren.
Bei gemultiplexten Gläsern (bei diesem hier hast Du vier Backplanes) 
sind die Signalformen nicht mehr digital. Hier brauchst Du zwingend 
spezielle Treiber.

fchk

von google (Gast)


Lesenswert?

Frank K. schrieb:
> Bei gemultiplexten Gläsern (bei diesem hier hast Du vier Backplanes)
> sind die Signalformen nicht mehr digital.

Jaaein, man braucht verschiedene Spannungsstufen, siehe pnuebergang. 
Kann man durch geschicktes "Addieren von Spannungen" erreichen.

> Hier brauchst Du zwingend
> spezielle Treiber.

Nein. Siehe z.B.: 
http://ww1.microchip.com/downloads/en/AppNotes/doc2569.pdf

von H.Joachim S. (crazyhorse)


Lesenswert?

Theoretisch kann man vieles machen, praktisch ist manmit einem 
LCD-Controller besser bedient.

Mit einem PCF8551 habe ich das mal gemacht, sehr einfach.

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


Angehängte Dateien:

Lesenswert?

fop schrieb:
> Das ist also ein LCD. Die müssen mit Wechselspannung angesteuert werden.
> Dazu gibt man auf COM ein Rechtecksignal und auf die Gegenelektroden
> entweder das gleiche Rechtecksignal für inaktive Segmente oder ein
> gegenphasiges Signal für aktive Segmente.

Das ist im Kontext dieses Displays schlicht falsch. Es wäre richtig, 
wenn das ein "statisches" LCD mit nur einer einzigen Backplane wäre.

> Dafür gibt es extra ICs zum Ansteuern, bzw. Mikrocontroller mit einer
> entsprechenden eingebauten Peripherieeinheit.

Korrekt.

> Must halt wissen, wieviele Segment- und Com-Anschlüsse Du brauchst.
> Dein favorisiertes Display hat wohl 4 von diesen Com-Anschlüssen (Common
> gemeinsame Elektrode). Wobei es wirklich 4 verschiedene Signale sind.
> Darüber kann man dann einzelne Zeichen auswählen. Notfals muss man sie
> im Multiplex schnell nacheinander ansteuern.

Nicht "notfalls", sondern immer. Ab 2 Backplanes braucht man relativ 
komplizierte Signalverläufe mit 3 bis 8 diskreten Spannungswerten. Die 
Segmente werden dabei immer im Multiplex angesteuert, sind also bei N 
Backplanes nur für 1/N-tel der Zeit aktiviert.

Ich hänge mal ein Bild mit möglichen Signalformen an.

> Oder gar einen Com-Anschluss hochohmig lassen

Ganz sicher nicht.


Frank K. schrieb:
> Dieser Controller wird Dein Display locker ansteuern können und ist dazu
> noch ziemlich günstig:
>
> https://www.microchip.com/wwwproducts/en/PIC16F19197

Au weia. Deswegen bindet man sich doch keinen PIC16 ans Bein. Wenn es 
ein µC mit eingebautem LCD-Controller sein soll, dann wäre ein STM32L.. 
oder STM8L.. eine vernünftige Wahl. Das obige Bild ist z.B. aus dem 
Datenblatt des STM32L152, der kann bis 8 Backplanes x 40 Segmente.

Oder wenn man bei seinem alten µC bleiben will (z.B. AVR) dann eben 
einen dedizierten LCD-Controller wie den HT1621. Gibts für kleines Geld 
in China.

von Peter D. (peda)


Lesenswert?

google schrieb:
> Nein. Siehe z.B.:
> http://ww1.microchip.com/downloads/en/AppNotes/doc2569.pdf

Da steht aber: "Software driver for displays with one common line"
Also kein Multiplex!

von Frank K. (fchk)


Lesenswert?

Axel S. schrieb:
> Frank K. schrieb:
>> Dieser Controller wird Dein Display locker ansteuern können und ist dazu
>> noch ziemlich günstig:
>>
>> https://www.microchip.com/wwwproducts/en/PIC16F19197
>
> Au weia. Deswegen bindet man sich doch keinen PIC16 ans Bein. Wenn es
> ein µC mit eingebautem LCD-Controller sein soll, dann wäre ein STM32L..
> oder STM8L.. eine vernünftige Wahl. Das obige Bild ist z.B. aus dem
> Datenblatt des STM32L152, der kann bis 8 Backplanes x 40 Segmente.

Wieso nicht? Nackte LCD-Gläser nimmt man nur, wenn es stromsparend und 
billig  sein soll, und Deinen STM32L152 gibts nicht für 2.19€ in 
Einzelstückzahlen. Wenn er seine Aufgabe erfüllt, warum nicht. Der XC8 
Compiler funktioniert.

fchk

von google (Gast)


Lesenswert?

Peter D. schrieb:
> Also kein Multiplex!

Ok, hab nicht reingeguckt, also die falsche gegriffen.

Dann eben die Appnotes von Zilog oder ST:

http://www.zilog.com/appnotes_download.php?FromPage=DirectLink&dn=AN0162&ft=Application%20Note&f=YUhSMGNEb3ZMM2QzZHk1NmFXeHZaeTVqYjIwdlpHOWpjeTk2T0dWdVkyOXlaUzloY0hCdWIzUmxjeTloYmpBeE5qSXVjR1Jt

https://www.st.com/resource/en/application_note/cd00176444.pdf
https://www.st.com/resource/.../application_note/dm00287603.pdf


PS: Nur zur Klarstellung: ich nehme aus Gründen der Bequemlichkeit auch 
einen separaten Controller, den HT1621B.

von Peter D. (peda)


Lesenswert?

Irgendwo hab ich mal ne App-Note für Multiplex-LCD mit standard ICs 
gesehen. Es wurde ein Kuchenblech voll mit CD4066 verwendet, um die 
verschiedenen Spannungen zu schalten. Also praktisch Unsinn.

von google (Gast)


Lesenswert?

Peter D. schrieb:
> Irgendwo hab ich mal ne App-Note für Multiplex-LCD mit standard ICs
> gesehen. Es wurde ein Kuchenblech voll mit CD4066 verwendet, um die
> verschiedenen Spannungen zu schalten.

Das (Ansteuerung von LC-Gläsern mittels 40xx-Standard-Logik-IC) gab es 
in den 90-ern in manchen ELV-Projekten, wenn ich mich richtig erinnere.

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


Lesenswert?

Frank K. schrieb:
> Axel S. schrieb:
>> Frank K. schrieb:
>>> Dieser Controller wird Dein Display locker ansteuern können und ist dazu
>>> noch ziemlich günstig:
>>>
>>> https://www.microchip.com/wwwproducts/en/PIC16F19197
>>
>> Au weia. Deswegen bindet man sich doch keinen PIC16 ans Bein. Wenn es
>> ein µC mit eingebautem LCD-Controller sein soll, dann wäre ein STM32L..
>> oder STM8L.. eine vernünftige Wahl.
>
> Wieso nicht? Nackte LCD-Gläser nimmt man nur, wenn es stromsparend und
> billig  sein soll, und Deinen STM32L152 gibts nicht für 2.19€ in
> Einzelstückzahlen.

Stimmt. Der STM32L152 kostet um die €4,-. Ist aber auch ein ganz anderes 
Kaliber als ein PIC16. Der eher vergleichbare STM8L152 kostet beim 
Chinesen gerade mal €0,75. Einzeln wohlgemerkt. Im Zehnerpack günstiger.

Allerdings ist der Preis IMHO nicht wirklich ein Kriterium, denn es geht 
ja um Bastlerstückzahlen. Den STM32L würde ich dann dem STM8L schon 
deswegen vorziehen, weil es mehr Auswahl bei der Toolchain gibt. Für den 
STM8 hat man ja nur entweder zugenagelte Kommerz-Toolchains (wie 
generell für den PIC) oder den SDCC. Für den STM32 hingegen paßt alles, 
was Cortex-M und das SWD-Interface unterstützt.

von google (Gast)


Lesenswert?

Axel S. schrieb:
> Stimmt. Der STM32L152 kostet um die €4,-. Ist aber auch ein ganz anderes
> Kaliber als ein PIC16. Der eher vergleichbare STM8L152 kostet beim
> Chinesen gerade mal €0,75. Einzeln wohlgemerkt. Im Zehnerpack günstiger.

Was mal wieder zeigt: viele Wege führen nach Rom. ;-) Man muss sich nur 
entschließen, einen zu gehen.

von Frank K. (fchk)


Lesenswert?

Axel S. schrieb:

>> Wieso nicht? Nackte LCD-Gläser nimmt man nur, wenn es stromsparend und
>> billig  sein soll, und Deinen STM32L152 gibts nicht für 2.19€ in
>> Einzelstückzahlen.
>
> Stimmt. Der STM32L152 kostet um die €4,-. Ist aber auch ein ganz anderes
> Kaliber als ein PIC16. Der eher vergleichbare STM8L152 kostet beim
> Chinesen gerade mal €0,75. Einzeln wohlgemerkt. Im Zehnerpack günstiger.

Bei Digikey im 64TQFP 2.19€, also gleich viel wie der PIC.

> Allerdings ist der Preis IMHO nicht wirklich ein Kriterium, denn es geht
> ja um Bastlerstückzahlen. Den STM32L würde ich dann dem STM8L schon
> deswegen vorziehen, weil es mehr Auswahl bei der Toolchain gibt. Für den
> STM8 hat man ja nur entweder zugenagelte Kommerz-Toolchains (wie
> generell für den PIC) oder den SDCC. Für den STM32 hingegen paßt alles,
> was Cortex-M und das SWD-Interface unterstützt.

"Kommerz-Toolchains" klingt ziemlich tendenziös. So ideologisch bin ich 
nicht, außerdem verdiene ich damit mein Geld. Da sind die Maßstäbe eh 
anders. Und Bastler nehmen eh in der Regel die üblichen 
Textmodus-Displays mit eingebautem Controller.

fchk

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.