mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Flüssigkristallanzeige wie ansteuern


Autor: Servo3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !  Habe eine alte Flüssigkristallanzeige ( ohne Prozessor . Nur 
die Anzeige  )  mit der ich experimentieren will  ( 2 x 5 Anschlüsse ) 
. Erinnere mich , daß man zum Ansteuern eine Wechselspannung vollkommen 
ohne Gleichspannungsanteil benötigt um Elektrolyse zu verhindern . 
Stimmt das ? Wie groß sind sinnvolle Werte für U und f ?
M.f.G

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servo3 schrieb:
> Wie groß sind sinnvolle Werte für U und f ?

Ich messe hier gerade an einem Schnurlostelefon, wobei Siemens mit etwa 
+/- 1,5V ansteuert und das ganze mit etwa 30 Hz taktet.
Ich erinnere mich an eine Appliction Note von AVR, bei dem die normalen 
Portpins per Spannungsteiler auf 1/2 Vcc vorgespannt wurden und dann 
entweder als Out- oder als Input konfigurierten. Zieht man auf Low, 
sieht das LCD -0,5Vcc und bei High sinds dann +0,5Vcc. Das ganze war 
dann recht idiotensicher und minimierte das Risiko von Elektrolyse.
Das geht natürlich auch mit PICs etc. Als erstes solltest du das Glas 
auf Belegung durchklingeln, falls noch nicht geschehen und entscheiden, 
ob du Multiplexen musst. Toggeln musst du aber in jedem Fall.

Autor: Servo3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Perfekt . Herzlichen Dank ! Werde die 0,5Vcc über Kondensatoren machen 
um den Gleichspannungsanteil auszuschalten .

Autor: Michael B. (laberkopp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servo3 schrieb:
> Habe eine alte Flüssigkristallanzeige ( ohne Prozessor . Nur
> die Anzeige  )  mit der ich experimentieren will  ( 2 x 5 Anschlüsse )

Eventuell 3 Backplanes a 7 Segmente oder 2 Backplanes a 2 Segmente
Musst du mal mit Rechtecksignal aus einem Funktionsgenerator 
durchtesten.

> . Erinnere mich , daß man zum Ansteuern eine Wechselspannung vollkommen
> ohne Gleichspannungsanteil benötigt um Elektrolyse zu verhindern .
> Stimmt das ?

Ja.

> Wie groß sind sinnvolle Werte für U und f ?

ca. 3V (es gibt LCD für 1.5V und welche für 5V) und ca. 2-4 
Millisekunden pro Digit/Backplane.

Ohne speziellen Ansteuerchip kannst du nur

a) 1/2 bias mit 1 uC-Ausgang pro LCD-Pin

https://www.nxp.com/docs/en/application-note/AN3219.pdf

(eine etwas einfachere und stromsparendere Schaltung wäre:
------+                  +-----------
uC-Pin|-----+------------| Backplane1
      |     |            |
uC-Pin|-----(--+---------| Backplane2
      |     |  |         | LCD-Glas
uC-Pin|-----(--(--+------| Backplane3
      |     |  |  |      |
uC-Pin|-----(--(--(--+---| Backplane4
------+     |  |  |  |   +-----------
     100k   R  R  R  R   
            |  |  |  |
GND --100n--+--+--+--+
b) 1/3 bias mit 2 uC-Ausgängen pro LCD-Pin
------+
uC-Pin|--100k--+
      |        |
uC-Pin|--47k---+---|LCD Pin (jeder, nicht nur Backplanes)
------+  
c) 1/5 bias mit 2 uC-Ausgängen pro LCD-Pin
              VCC
               |
             100k
------+        |
uC-Pin|--100k--+
      |        |
uC-Pin|--33k---+---|LCD Pin (jeder, nicht nur Backplanes)
------+        |      
             100k
               |
              GND
machen.

Die AVR AppNote
http://ww1.microchip.com/downloads/en/AppNotes/doc8103.pdf
funktioniert MEISTENS NICHT weil die nur 100% Spannung an das LCD gibt, 
es würden nur solche funktionieren deren threshold zufällig zwischen VCC 
und VCC/2 liegt, meistens sind LCD aber empfindlicher und alles wird 
schwarz. Man MUSS die (programmierbare, versorgungsspannungsabhängige 
und temperatureinfluesskorrigierte) Pause nach einer Segmentansteuerung 
machen.

Am einfachsten beim AVR:

Nimm dir einen Timer, z.B. Timer0. Lass ihn in 2ms rumlaufen, also bis 
256 mit Vorteiler von 8 bei 1MHz internem Takt.
Nimm den Overflow Interrupt um eine neue Phase für eine neue Backplane 
zu beginnen,
und nimm den Counter Interrupt um die Phase zu beenden und alle Pins auf 
HIGH (oder LOW, je nach Phjase) zu legen.
Nur so kannst du eine mittlere RMS Spannung bekommen, die auch mal den 
Threashold der LCD trifft.
Und nach jedem Interrupt kann er wieder in sleep gehen um Strom zu 
sparen, schliesslich sollen (und können) uC mit nacktem LCD-Glas von 
Knopfzellen jahrelang laufen.

Grob zusammenkopiert (muss also nicht funktionieren) für eine 
4-backplane LCD:
#define SEGMENTS 11
#define BACKPLANES 4
uint8_t phase;
uint8_t bp; // current backplane
int segbits[BACKPLANES]; // which segments are ON on a certain backplane
uint8_t plane;
uint8_t bppin[BACKPLANES]={A0,A1,A2,A3}; // backplane-pin
uint8_t segpin[SEGMENTS]={2,3,4,5,6,7,8,9,10,11,12}; // segment-pin

ISR (TIMER0_COMPA_vect) // timer 0 compare, clear display to reduce rms voltage
{
  for(uint8_t i=0;i<SEGMENTS;i++) digitalWrite(segpin[i],phase);
}

ISR (TIMER0_OVF_vect) // timer 0 overflow, setup next phase
{
  pinMode(bppin[bp],INPUT);
  bp+=phase;
  bp&=3;
  phase=!phase;
  digitalWrite(bppin[bp],phase);
  uint8_t i=0;
  for(int segs=segbits[bp];i<SEGMENTS;i++,segs>>=1) digitalWrite(segpin[i],(segs&1)^phase);
  pinMode(bppin[bp],OUTPUT);
}

: Bearbeitet durch User
Autor: Servo3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz herzlichen Dank

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servo3 schrieb:
> Werde die 0,5Vcc über Kondensatoren machen
> um den Gleichspannungsanteil auszuschalten.

Das ist grober Unfug.

Autor: Servo3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum ?

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servo3 schrieb:
> Warum ?

Es ist einfach unnötig und du kämpfst dann mit den Ladungen in den 
Kondensatoren. Das niemand in der LCD Welt sowas macht, sollte dir auch 
zu Denken geben. So ein LCD verhält sich auch schon in guter Näherung 
wie ein Kondensator, da hier praktisch nur umgeladen wird.
Finde jetzt erstmal raus, wie dein LCD belegt ist und mach dir dann ein 
sinnvolles Portschema für den gewählten MC. (z.B. Segmente auf einen 
Port, Backplanes auf einen anderen).

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.