Forum: Mikrocontroller und Digitale Elektronik LC Display ansteuern


von Sam .. (sam1994)


Lesenswert?

Hi

Ich möchte statt einer 7Segment anzeige ein LC Display verwenden wie das 
hier z.b.:  http://www.reichelt.de/?ACTION=3;ARTICLE=10181;PROVID=2402

Von denen hab ich mehr als genug zuhause rumfahren. So wie macht man das 
jetzt: Ich hab gelesen, dass man dafür 100Hz braucht damit die Kristalle 
nicht anfangen Elektrolyse zu betreiben. Allerdings möchte ich 2 Display 
gleichzeitig Ansteuern. Wie macht man jetzt sowas. Ich hab Seiten 
gesehen bei denen ein Display angesteuert wird aber nie 2. Ich möchte 
nur ungern 2 µC verwenden, lieber Schieberegister ohne Ende.

Ist es richtig das man die Display direkt mit 5V betreibt?
Könnte man einfach das eine Display für eine hunderstel Sekunde 
ansteuern und dann das andere für eine hunderstel Sekunde?

Meine Idee wäre:

1. Schieberegister setzen
2. Display 1 Masse durchschalten (per NPN)
3. 1/50s warten
4. Display 1 Masse sperren
5. Wieder setzen
6. Display 2 Masse durchschalten
7. 1/50s warten
8. Display 2 Masse sperren
9. Das ganze invertiert

geht das?

von sebastian (Gast)


Lesenswert?

Ich habe mal ein ähnliches Display (6-stellig, aber auch statisch wie 
dieses) mit 6x CD4056 und Schieberegistern 74HC164 angesteuert. Geht 
prinzipiell, aber wenn der Takt nicht genau 50% Tastverhältnis hat, geht 
das Display nach einer Weile in die Binsen.

Zur Sache: Wenn viel Treiberlogik kein Problem ist, einfach beide 
Backplanes parallel schalten und das ganze als ein Display mit der 
doppelten Segmentanzahl behandeln. Jedes Segment einzeln, alle im 
Gleichtakt. Ganz easy.
Was nicht so toll geht, ist durch abwechselndes Ansteuern der Backplanes 
das ganze wie ein 2:1-Mux-Display zu behandeln. Würde ich ehrlich gesagt 
lieber lassen. Mit ein- und ausschalten ist es nämlich nicht getan - 
Backplanes und Segmente müssen regelmäßig umgepolt werden. Das heißt, 
alle Segmentausgänge und die Backplane werden mit dem Displaytakt 
invertiert - eine XOR-Verknüpfung aus Displayinhalt und Taktsignal, 
logisch gesehen.

Dies kann man sich auch abnehmen lassen - vielleicht wären ja auch zwei 
dieser Treiberbausteine, einer für jedes Display, ganz nett: 
http://www.pollin.de/shop/dt/NTYwOTk4OTk-/Bauelemente/Aktiv/IC/LCD_Treiber_ICM7211AM.html
Da ist der Taktgenerator schon drin, man kann die wunderbar über Chip 
Select kaskadieren, und der Stromverbrauch ist minimal - auch für 
Batterie oder Solarbetrieb geeignet.

Geht aber nur für Ziffern, also numerischen Displayinhalt, da mit 
internem Decoder.

von MaWin (Gast)


Lesenswert?

> Allerdings möchte ich 2 Display gleichzeitig Ansteuern.

Da ein Display eine Backplane hat
(so was ist gut, das ist einfach anzusteuern)

hast du 2 Schaltmöglichkeiten:

Die Backplanes verbinden, und doppelt so viele Segmentanschlüsse zu 
Ausgangspins vom uC legen, willst du sicher nicht (ist aber schwer 
schwer anzuraten, norfalls ein uC mit mehr Pins oder extern mit 74HC595 
oder 74HC273 die Anzahl der Ausgangspins erhöhen)

oder

Alle (gleichnamigen) Segmente verbinden und die Backplanes getrennt 
ansteuern (das schwebt dir wohl vor).

Letzteres führt du Multiplexen von LCD, und das ist ein Problem, weil 
LCD im Gegensatz zu LEDs nicht sperren. Man braucht exakt an die LCD 
angepasste Spannungen: Die Hälfte darf noch nicht zur Schwärzung führen, 
die volle Spannung muss zur Schwärzung führen. Und weil Flüssigkristalle 
temperaturanhängig sind, bedeutet daß, daß man die Spannung regeln muss, 
das bekannte Trimmpoti von alphanumerischen Dotmaxtrixanzeigen. Da du 
zusätzlich noch LCD verwendest, die gar nicht für Multiplexbetrieb 
ausgelegt sind, ist eventuell das Flüssigkristall nicht mal gut geeignet 
dafür. Also viel Spass.

Die Ansteuierung lautet:
Backplane 1 auf VCC/2, Backplane 2 auf VCC
Segmente die von Display 2 an sein sollen auf GND, Sgemente die aus sein 
sollen auf VCC
Backplane 1 auf VCC, Backplane 2 auf VCC/2
Segmente die von Display 1 an sein sollen auf GND, Sgemente die aus sein 
sollen auf VCC
Backplane 1 auf VCC/2, Backplane 2 auf GND
Segmente die von Display 2 an sein sollen auf VCC, Sgemente die aus sein 
sollen auf GND
Backplane 1 auf GND, Backplane 2 auf VCC/2
Segmente die von Display 1 an sein sollen auf VCC, Sgemente die aus sein 
sollen auf GND
von vorne

wobei VCC je nach Display und Umgebungstemperatur so 2V bis 6V betragen 
muss.

von Sam .. (sam1994)


Lesenswert?

sebastian schrieb:
> Geht aber nur für Ziffern, also numerischen Displayinhalt, da mit
> internem Decoder.

Ich hab 3 1/2 LCD, das heißt kann die 1 noch ansteuern, aber die 
Sonderzeichen nicht. Wenn mir nicht anderes übrig bleibt nimm ich das. 
Die Variante mit dem 1/2Vcc gefällt mir. Ich möchte mein Projekt 
allerdings auf 2-3V Basis aufbauen. Ich hoffe das reicht. Ich mach jetzt 
mal einen Schaltplan.

ähh warum haben die in eagle com und com1??? Und den , -- BC und den 
Pfeilnach unten anscluss versteh ich nicht.

von Sam .. (sam1994)


Lesenswert?

ok, in eagle wird das Display multiplext, in reichelt auch. Bei mir muss 
ich mal schauen. Wenn das display 2 commons hat, ist es doch für 
multipleing ausgelegt, oder?

Man kann doch auch die Commons verbinden um kein multiplexen zu machen.
Das Eagle LCD kann nur multi, gibt eine runterladbare bibliothek für 
kein multipl. betrieb?

von Frank K. (fchk)


Lesenswert?

Wenn Du es einfach willst: NXP PCF8577C, 2.30€ bei Reichelt

Ansteuerung über I2C.

fchk

von Sam .. (sam1994)


Lesenswert?

Frank K. schrieb:
> PCF8577C

Sieht einfach aus, allerdings fehlt mir im Datenblatt ein 
Connectiondiagramm für 64Segmente. 2 Dispay haben ja 64. Wenn ich das 
richtig gesehen habe braucht man dafür 2 von denen ICs. In reichelt 
steht aber 64Segment Treiber? Kann mich einer aufklären?

Achja 2 möchte ich nicht kaufen, da sogar 8 Schieberegister billiger 
sind.

von Frank K. (fchk)


Lesenswert?

Das Ding hat doch einen zweiten Backplane-Ausgang. BP1 an COM vom ersten 
Display, A2/BP2 an COM vom zweiten Display, die Segmentleitungen an 
beide Displays parallel, und im Chip den Duplex-Modus anschalten. Ich 
habe es nicht ausprobiert, aber eigentlich sollte es so laufen.

fchk

von Sam .. (sam1994)


Lesenswert?

Sry hab ich übersehen. Muss das ding mal ausprobieren, aber ehrlich 
gesagt das Datenblatt vom Max7219 war einfacher gestaltet.

Gibts den auch in eagle? Und die LC ANzeige, gibts die in eagle auch mit 
nur einer common?

von Frank K. (fchk)


Lesenswert?

Samuel K. schrieb:

> Gibts den auch in eagle? Und die LC ANzeige, gibts die in eagle auch mit
> nur einer common?

Selber machen. So schwer ist es nun auch nicht nicht, in Eagle eigene 
lbrs zu basteln.

fchk

von Sam .. (sam1994)


Lesenswert?

Frank K. schrieb:
> Selber machen. So schwer ist es nun auch nicht nicht, in Eagle eigene
> lbrs zu basteln.

Weiß ich, vorgefertigt geht es halt schneller.

Ich werde jetzt aber eh target benutzen, da Platinen 80*100 nicht 
reichen.

von MaWin (Gast)


Lesenswert?

> aber ehrlich gesagt das Datenblatt vom Max7219 war einfacher gestaltet

KLar, das war ja auch für was einfacheres.

Irgendwann ist halt die geistige Leistungsgrenze erreicht.

von Sam .. (sam1994)


Lesenswert?

MaWin schrieb:
> Irgendwann ist halt die geistige Leistungsgrenze erreicht.

Hahaha

Ich meinte zur Ansteuerung war mehr angegeben, nicht das ich es nicht 
verstehe!

von Sebastian (Gast)


Lesenswert?

Es empfiehlt sich zu prüfen, ob die beiden Backplane-Anschlüsse 
tatsächlich zwei separate Backplanes sind, oder ein und dieselbe, 
herausgeführt auf zwei Pins.
In dem bei Pollin verlinkten Maxim-Datenblatt wird übrigens gegen Ende 
recht ausführlich auf die Ansteuerung der Sondersymbole eingegangen. Es 
ist durchaus möglich, dafür gezielt Segmente zu mißbrauchen.
Allerdings könnte es sein, daß der Maxim-LCD-Treiber bei 3 Volt nicht 
mehr arbeitet, da kommt es wohl auf einen Versuch an.

Viel Erfolg beim Basteln.

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.