Newsgroup: it.hobby.elettronica.digitale
Titolo: Segnale per comandare display LCD a 7 segmenti (no Hitachi)

Un display LCD a 7 segmenti (non standard Hitachi) ma con semplici
linee di ingresso multiplexate, con che segnale si controlla?
Costante o onda quadra 60Hz. come penso di aver sentito?
Grazie.

 ha scritto nel messaggio 
news:1146775167....@i40g2000cwc.googlegroups.com...


 catodi (con dei transistor) tramite altrettante uscite del micro.
Se è un LCD (non a led) non puoi fare così...
In generale l'LCD è formato da tanti segmenti che si possono accendere
e/o spegnere in modo da formare dei disegni o delle lettere. Per accendere
un segmento è necessario polarizzarlo ma, per evitare tensioni continue
che andrebbero a danneggiare il cristallo liquidi, lo si fa applicando
ai capi del segmento un'onda quadra a circa 60Hz.
Esistono degli integrati che fanno praticamente tutto... se non trovi
nulla fai di nuovo un fischio.


Guarda: in genere un display (sto parlando di un 7 segmenti, non un LCD 
come qualcuno ha fatto, giustamente, notare), ha un anodo o un catodo in 
comune. Se fosse ad anodo comune (giusto per fare un es.), ogni linea 
per ogni segmento, sarebbe un catodo pilotato in modo continuo, mentre 
quell'unico anodo accenderebbe tutto. Un transistor per pilotare l'anodo 
in frequenza, aiutato da un NE555, magari, o dallo stesso clock del 
micro che trasmette i dati, ed è fatta: il tuo display lampeggia ad 
enorme velocità! Tanto veloce che non lo misuri con un tester ma un 
analizzatore di stati logici ed un oscilloscopio ;)
Leggendo il Tuo secondo punto, però, mi sono incasinato! Ma stiamo 
parlando di un display 7-segmenti con una singola cifra o no? Perché mi 
è sembrato di intuire che hai un display composto da 7 cifre ognuna dei 
quali ha 7 segmenti!? Se fosse così: vediamo... 8 segmenti (il punto 
decimale e le sette lineette) + 1 anodo (o catodo  che sia) in comune + 
7 (che sono le cifre, un "enable" per ognuna) fa 16. Mancano quattro 
linee all'appello ma potrebbe essere come dici tu: sette cifre multiplexate.
Visto che non hai un datasheet, hai almeno marca e modello, che proviamo 
a trovare qualcosa in Internet?

Allora, per rispondere a tutti:
1) il display è un LCD con 7 cifre a 7 segmenti (nessun carattere
alfanumerico).
2) è impossibile sapere il modello / marco del display perchè è
custom e non c'è indicazione
3) se genero un'onda quadra col micro e multiplexo con quel segnale
(ovvero metto i 60Hz sul anodo del/dei segmento/i che voglio accendere
e il comune sul catodo della cifra che voglio accendere, il gioco è
fatto no?). Ovvero gli anodi di tutti i segmenti a collegati in
parallelo, b in parallelo ecc. e gli anodi distinti per cifra. Credo
sia questo il sistema di pilotaggio, no?
Grazie.

 sia questo il sistema di pilotaggio, no?
Non parlare di anodo e catodo poichè non ha alcun senso per un LCD.
In un LCD con, per esempio, una cifra sette segmenti ci dovrebbero
essere un minimo di 8 pin: uno è per il backplane o comune o come lo
vuoi chiamare, gli altri sette sono uno per ogni segmento. Se la cifra
ha altri simboli (il punto decimale, qualche segmento interno, ecc)
ci saranno altrettanti pin d'uscita. Quanti pin ha il tuo LCD e quanti
segmenti ha (fai una descrizione completa e precisa... magari una
foto)?
L'ipotesi sopra vale se il tuo display viene pilotato in modo diretto.
Per accendere un segmento gli devi dare una tensione alternata,
diciamo un'onda quadra, a circa 60Hz o giù di lì (molto dipende anche
dal display). In genere si procede così: un'onda quadra di ampiezza
-V +V viene applicata costantemente al comune. Si applica la stessa
onda quadra in fase ai segmenti che devono rimanere spenti (in questo
caso la tensione tra segmento e comune è nulla), la stessa onda
quadra in controfase ai segmenti che devono rimanere accesi (in
questo caso la tensione media è sempre nulla ma c'è un residuro RMS
che fa polarizzare il cristallo liquido).
Dovresti anche conoscere quanto vale V, cioè l'ampiezza dell'onda
quadra. Non è detto che ti basti il livello TTL.
Insomma, non ti basta collegare i pin dell'LCD ad un micro qualsiasi
che non ha internamente un qualche driver apposito per gli LCD.
Devi usare qualche integrato, tra cui cito: CD4054, CD4055, CD4056.
Se il display è di tipo multiplexato, invece, il discorso diventa
leggermente più complicato perché ci sono più comuni e più segmenti
la cui somma è pari al numero dei segmenti. Ma il pilotaggio e
diverso.

Allora, il display ha 7 cifre a 7 segmenti più un punto e 20 pin (non
so se tutti utilizzate).
Quindi l'onda quadra che ho generato via programma col micro su di un
piedino la dovrei applicare al comune della cifra che voglio accendere,
mentre porto la stessa onda quadra ma con fase invertita ai segmenti
che voglio accendere in quella cifra. Giusto?
Ma se collego ogni segmento a di ogni cifra in parallelo, b in
parallelo ecc. chi stabilisce quale fra le cifre deve accendersi è
l'onda quadra al comune della cifra, mentre agli altri applico cosa?
Mi sto perdendo...
V penso valga 3 v o giù di lì... la batteria che usa il display nel
circuito dove è ora è da 3 V.
Quindi se faccio come avevo pensato ovvero
uscita micro RA0 genera onda quadra, la porto ai segmenti a,b,c,d,e,f,g
che voglio accendere e porto a livello logico 0 l'uscita del micro
collegata alla cifra che voglio accendere e a livello 1 le uscite del
micro collegate alle cifre che non voglio accendere... non funziona?
L'onda quadra l'ho generata su un piedino del micro che cambia il suo
stato da 0 a 1 (da 0 a 3 volt) 60 volte al secondo, ma non è corretto
così? Dovrebbe andare per forza da -3 a +3 volts?

Altra cosa, il PIC può generare oltre ai livelli 0 e 1 anche uscite
"negative", ovvero ad es. -5 V, 0 V, +5 V?
Come?

 così? Dovrebbe andare per forza da -3 a +3 volts?
Secondo me non te ne esci con un micro... devi usare un integrato
apposito.

Ho fatto qualche prova...
Ma ci sto uscendo di testa anche se inizio a vedere qualche
risultato...spero...
Ho identificato tre pin, se applico il comune su uno dei tre ed un
segnale a 60Hz. uno degli (20-3=17) pin, si accendono su una certa
cifra 3 segmenti, uno più nitido, gli altri due meno. Se però il
comune lo metto sul secondo di questi tre, si accendono gli stessi tre
segmenti ma questa volta quello più nitido è un altro e così se
applico il comune al terzo. Oppure ci sono alcuni pin che fanno
accendere due segmenti su una cifra e uno su di un'altra.
Qualche idea della configurazione? E soprattutto perchè si accendono
flebilmente due segmenti e il terzo bene a seconda di quale dei tre pin
metto il comune?
Anche con un integrato particolare se non ho il datasheet è
problematico...

Vi prego mi risponda qualcuno... sono impaziente...

 problematico...
Beh, questo è sicuro...

Ma scusa, il segnale in controfase come lo genero?
Nel programma che ho fatto per il pic, che mi genera su un piedino il
segnale a 60hz, l'istruzione successiva alza o abbassa un altro segnale
su un altro piedino in modo opposto a quest'ultimo?
Come mai però anche mettendo massa sul comune vedo illuminarsi i
segmenti a coppie di 3 (due in modo debole e uno intenso?).
Con ciò quindi dovrei mettere un segnale in fase a tutti i segmenti
che voglio spegnere ? Non posso lasciarli semplicemente scollegati, è
un problema fare una cosa così iniettando il segnale con spilli di
metallo...
Per l'appunto, anche i piedini di I/O del micro non utilizzati
dovrebbero essere messi a massa o a Vcc attraverso una resistenza e non
lasciati scollegati? Non lo faccio mai...
In ogni caso però non capisco perchè si accende comunque il display
in quel modo. Ho ricavato anche una sorta di tabella di lookup...

 in quel modo. Ho ricavato anche una sorta di tabella di lookup...
Prova a descriverla.

ti invio in allegato la specie di tabella di lookup che ho generato
portando a massa il primo dei tre piedini del comune, facendo la stessa
cosa con gli altri ottengo che si accende in modo nitido un altro dei
tre segmenti raffigurati nei disegni (i segmenti rossi sono quelli che
si accendono in modo nitido, quelli neri quelli in modo debole).
Però non capisco dalla tua spiegazione non comprendo allora perchè
portando i 60 Hz. di segnale sui vari piedini e massa su uno dei comuni
si accendono lo stesso i segmenti con questo stranissimo comportamento.
Se ho ben capito il segnale in controfase è così fatto:
quando il segnale in fase è a 1 (es. 3 V) questo è a 0 (es. massa 0V)
e viceversa.
Anche da micro posso generare un segnale in controfase su di un altro
piedino, oltrechè un porta NOT (1->0, 0->1).
Per la tabella, è un file word con immagini, come la allego o te la
mando?

Attenzione, che comunque non ho applicato una tensione costante, ma
un'onda quadra a 60 Hz.
Sul comune ho però messo la massa e non un'onda quadra in controfase.

 mando?
Il mio indirizzo è valido, togliendo il NOSPAM. File di word con immagini?
Spero tu non mi voglia inviare decine di MB!!!
Fai un bel file txt e qualche immagine jpg.

Scusa, ho fatto altre prove...
dei 3 pin che considero come segnale di pilotaggio, se ad uno applico 0
V (o potrei anche provare con un segnale in controfase) e agli altri
applico il segnale ad onda quadra ed a uno degli altri 17 applico il
segnale ad onda quadra, ottengo che si accende un solo segmento!!!
Ma non tutte le combinazioni (di cifre visualizzate) in tal caso
potrebbero essere possibili perchè:
ho 20 pin, 3 sono per il controllo su quale accendere del gruppo di 3,
per ogni cifra ho 2 pin di segnale (che mi dice quale triade accendere)
quindi 2x7 cifre = 14 + resta ancora fuori per ogni cifra un segmento e
quindi sarebbero 7 + punto = totale 3+14+7+1=25 ma ho soltanto 20
pin!!!
Ah, il tuo indirizzo email dove è visualizzato? Se clicco sul tuo nome
l'indirizzo è 
pnoozszpuag...@libero.it
 (non ho inserito tutto per
evitare spam), ma non trovo dove sia quello che tu dici con NOSPAM da
togliere...

Altra cosa, qual'è la frequenza di refresh ottimale per il
multiplexing affinchè l'occhio umano non si accorga dello sfarfallio?

 togliere...
pNoOzSzPuAgMno at libero dot it
Togli le lettere maiuscole.