LCD con caratteri a matrice
|
Il contrasto
Il contrasto di un display a cristalli liquidi è il rapporto
tra l'area chiara e l'area scura.
Escludendo i controller in grado di regolare il contrasto via software (ad
esempio Sitronix ST7036), occorre prevedere una regolazione esterna.
Questa regolazione inietta una tensione nel pin Vo (o Vee) che deve essere
ottimizzata per ottenere la visibilità migliore.
Essa dipende da molti fattori, tra cui la tensione di alimentazione, la
temperatura, dall' angolo di visualizzazione.
Se il display è alimentato con una Vdd di +5 V (± 5%), è richiesta una
tensione Vo tra 0 e 3.7 V circa, per i piccoli pannelli.
|
Un potenziometro è collegato tra Vdd e Vss e preleva dal cursore la
tensione per il pin Vo.
In effetti non occorre che il potenziometro possa scorre l' intera
tensione, in quanto la V0 normalmente arriva al massimo attorno a 1.5V.
Utilizzando solo il potenziometro, ci troveremmo ad avere ampia parte
della corsa inutilizzata e la regolazione utile concentrata in un anglo
molto ridotto.
Allora, meglio aggiungere una resistenza come partitore e utilizzare
tutta la corsa del trimmer così da consentire una regolazione più
fine. |
Ovviamente nulla vieta di utilizzare un partitore composto da
due resistenze fisse, risparmiando il trimmer. Questo è possibile per un
determinato pannello di cui si sia verificato il punto di tensione ideale per
il miglior contrasto e che viene essere utilizzato in un range di temperature
limitato.
La maggior parte dei moduli con HD44780 o simili impiegano una
rete resistiva interna per fornire le tensioni di pilotaggio del
display.
|
Queste tensioni sono svincolate da massa allo scopo di poter fornire
ai punti attivi del display delle correnti non continue (se gli pseudo
condensatori che costituiscono le parti attive del display fossero
polarizzati in cc, il liquido nematico si polarizzerebbe anch'esso in
una sola direzione, perdendo in breve tempo le sue caratteristiche e
rendendo il pannello inutilizzabile).
La tensione di polarizzazione applicato a Vo diventa inferiore a Vss
quando la tensione di alimentazione Vdd è 3 volt, perché la tensione
di polarizzazione di 4V volt è necessaria tra Vdd e Vo.
HD44780 consente tensione bias negativa per compensare questa
situazione.
|
In tal caso occorre generare esternamente una tensione
negativa da applicare a Vo.
A causa delle caratteristiche del display, una variazione
di temperatura porta ad una necessità di correggere la tensione di
contrasto.
Per un tipico display a cristalli liquidi, con un coefficiente di temperatura
negativo, richiederà una riduzione della tensione con il diminuire della
temperatura e viceversa.
Può essere utile impostare un circuito che provveda automaticamente alla
correzione.
|
Questo esempio è il più semplice circuito proposto da vari
costruttori di display e, a volte, si può notare sul circuito stampato
lo spazio per inserire i componenti SMD (solitamente non installati).
Determinata la tipica di polarizzazione ideale per Vo e il coefficiente
di temperatura del modulo LCD si stabiliscono i valori delle
resistenze. Un termistore Rth con in parallelo la R3 di aggiustamento .
R1 permette di regolare il valore di Vo polarizzando la base del
transistor che fornisce un buffer di corrente in modo da far lavorare il
termistore a minima corrente, il che evita auto riscaldamento.
R2 è utilizzato solo come bias minimo per condizioni di circuito
aperto. Vee deve essere una fonte di tensione stabilizzata. |
|
Questo è il circuito proposto da Hantronix
in una sua application
note.
Anche questo circuito utilizza un termistore a coefficiente di
temperatura negativo per rilevare la temperatura dell'ambiente e che va
posizionato fisicamente il più possibile vicino al modulo LCD. Il
transistor PNP è collegato come un inseguitore di emettitore per
fornire la corrente al pin Vo.
Hantronix assicura il buon funzionamento di questo circuito per tutti
i moduli di carattere e moduli grafici a 320 x 240. |
Con tensioni di alimentazione di 5V una tensione negativa
solitamente non occorre per i piccoli pannelli a caratteri e va evitata
in quanto potrebbe inviare una corrente eccessiva al pin Vo
danneggiandolo.
Trovandosi a dover impiegare un modulo LCD in un ampio range di
tensioni di alimentazione e di temperatura ambiente, potrebbe essere una
iuona idea quella di far generare la tensione dallo stesso
microcontroller che gestisce il sistema, in modo da averne i parametri
sotto controllo del software ed escludere ogni regolazione manuale. |
|
Avendo a disposizione un pin di PWM sul microcontroller si potrà
"automatizzare" la regolazione del contrasto attraverso una
semplice pompa di carico a diodi, come suggerito a http://www.piclist.com/techref/microchip/pwmvee.htm
Il circuito, proposto da David Covick [dac@WEST.NET]
, con una Vdd di 5V produce tensioni da -3V a +1Val variare del duty
cicle del PWM.
Viene proposto anche un semplice esempio di codice per PIC dotato di
modulo CCP. |
'****************
LCD Display Negative Voltage ********************
'********************* 16F877 @ 20 MHz ****************************
PR2=255
' Set PR2 to 19.53 kHz
CCPR1L=230
' Set Pulse width - CCPR1L must be less than PR2.
' Lower number(pulse width)=higher view angle
' PR2 value is 100% duty cycle.
' PR2/2 = 50% duty cycle.
TRISC.2=0
' Set CCP1 bit as output
T2CON=%00000100 '
Timer on prescale is 1
CCP1CON=%00001100 ' Set PWM Mode
'*********************** |
Come ultima nota, alcuni pannelli (ad esempio i DOG di EA)
basati sul controller Sitronix ST7036, hanno il controllo del contrasto da
software e contengono anche la pompa di carico necessaria, per cui sono
alimentabili da 2.5 a 5.5 V senza richiedere nè una sorgente esterna per la
Vee, nè il trimmer di regolazione del contrasto.
Per un automatismo completo, come nel caso del PWM prima descritto, si potrà
implementare sul microcontroller sia una regolazione del contrasto in base
alla temperatura, misurandola con una delle tante sonde di temperatura
disponibili, sia in base alla luminosità ambientale, rilevata con una foto
resistenza o sensore analogo.
|