ultimo aggiornamento 21 marzo 2011



Per vedere i miei filmati

 

Quella presentata in questa pagina è un'interfaccia che permette di pilotare un display LCD tramite un'interfaccia seriale. Il progetto originale è disponibile sul sito francese http://kudelsko.free.fr/.
Le principali caratteristiche dell'interfaccia sono:

  • Gestione di display LCD del tipo: 2x16, 2x20 e 4x20 caratteri

  • Comunicazione di tipo seriale configurabile a : 2400, 4800, 9600, 19200 baud 8 bit, no parity, 1 bit stop

  • Interfaccia compatibile con display del tipo: HD44780.

  • Protocollo di trasferimento: stringa di caratteri ASCII.

  • Gestione semplificata del display LCD da un insieme predefinito di codici ASCII.

La velocità si varia modificando la posizione dei DIP.
Il collegamento con la scheda avviene tramite un connettore analogo a quello dei servo (+5V, GND, Sig).
La sintassi per l'invio dei comandi è molto semplice.

dove:
"&$" cancella il display
"1XXXXXXXXXXXXXXXX#$" scrive sulla prima riga del display
"2XXXXXXXXXXXXXXXX#$" scrive sulla seconda riga del display

 

 

 

 

Descrizione del circuito

Il circuito è molto semplice, il cuore di tutto è IC1 un PIC16F628 che risulta essere l'evoluzione del "vecchio" PIC16F84, avente caratteristiche davvero notevoli. Questo microcontrollore dispone di un'area di memoria programma di 2048 word, essendo in tecnologia Flash, quest'area di programma può essere scritta/cancellata/riscritta fino a 10000 volte. L'area RAM è di 224 byte mentre l'area dati EEPROM è di 128 byte.
La velocità di questo microcontrollore è data dal quarzo Q1 che è di 12MHz. Dispone di 16 Linee di I/O, 3 timers digitali interni, Power-On-Reset, Brown-Out-Detect e dispositivo seriale USART programmabile.
La tensione di alimentazione di 5 volt viene inviata ai pin Vdd (pin 14) e Vss (pin 5) collegati rispettivamente al positivo ed alla massa.  Il condensatore C3 da 100nF è un condensatore di disaccoppiamento, questi si mettono molto vicini ai pin di aumentazione di un integrato (generalmente digitale) per evitare che a causa della resistenza della pista che porta la corrente all'integrato in questione la tensione si abbassi a causa del picco di corrente che viene generato in presenza di commutazioni dei livelli logici, questo sopperisce all'abbassamento di tensione in quell'breve istante.
Il pin MCLR (pin 4) serve per poter effettuare il reset del PICmicro. Normalmente viene mantenuto a 5 volt tramite la resistenza di pull up R1 e messo a zero quando si desidera resettare il PICmicro.
Grazie alla circuiteria interna di reset di cui il PICmicro è dotato, non è necessario collegare al pin MCLR pulsanti o circuiti RC per ottenere il reset all'accensione.
I pin OSC1/CLKIN (pin 16) e OSC2/CLKOUT (pin 15) sono collegati internamente al circuito per la generazione della frequenza di clock utilizzata per temporizzare tutti i cicli di funzionamento interni al chip.Collegati al quarzo Q1 troviamo i condensatori di sfasamento C1-C2 (necessari per generare l'oscillazione).

RB0 e RB1 sono connessi al dip-switch S1 e permettono di selezionare la velocità di trasmissione:

Velocità RB0 RB1
2400 0 0
4800 1 0
9600 0 1
19200 1 1

 



2400


4800


9600


19200

Nota: tutte le immagini tratte dal datasheet del PIC16F628 sono proprietà di Microchip

mini-lcd_seriale_new-componenti.JPG
 

Elenco componenti

R1

4,7kΩ ¼ W 5%

R2,R4

10kΩ ¼ W 5%

P1

10k Ω Potenziometro orizzontale

C1,C2

4,7 pF ceramico

C3,C4

100nF poliestere

X

Quarzo 12 MHz

IC1

16F628-04/P + zoccolo 18 pin

LCD

LCD 16x2 tipo C216L01YBW00 o equivalente

1

interruttore DIL 2 poli

SV1

Pin-strip femmina 1x6

SV2

Pin-strip femmina 1x4

1

Connettore maschio 14 pin per LCD


Schema Formato EAGLE

 

PIC16F628 - FLASH-Based 8-Bit CMOS Microcontrollers

Piedinatura Datasheet Foto dell'integrato

LCD 16x2 tipo C216L01YBW00
Piedinatura Datasheet display C216L01YBW00 Foto
 

Display LCD - fasi di montaggio

lcd_seriale_new-montaggio_1.JPG lcd_seriale_new-montaggio_2.JPG
lcd_seriale_new-montaggio_3.JPG lcd_seriale_new-montaggio_4.JPG

Realizzazione pratica.

Per la costruzione della scheda si procederà iniziando dalla realizzazione del circuito stampato il cui lato rame in scala 1:1 è riportato sotto.
Per la sua realizzazione si utilizzerà una basetta in vetronite (monofaccia) di dimensioni 43x40 mm, il metodo potrà essere quello della fotoincisione o del trasferimento termico utilizzando i cosiddetti fogli blu (PRESS-N-PELL), in questo caso ricordo che l’immagine delle tracce del circuito dovrà essere speculare.


Circuito stampato.

Una volta inciso il rame, si verificherà in controluce o mediante l’utilizzo di un multimetro che non vi siano cortocircuiti soprattutto tra le piste più vicine.
Si passerà quindi alla foratura della stessa, utilizzando principalmente una punta da 0,8 mm, mentre si utilizzeranno una da 1mm per i connettori
In seguito si potrà passare al posizionamento e alla saldatura dei componenti seguendo lo schema visibile sotto.

Per la saldatura si utilizzerà un piccolo saldatore a punta fine, della potenza di circa 25 – 30 W.
S’inizierà dai ponticelli, proseguendo con le resistenze , i condensatori, il quarzo, il dip switch, lo zoccolo dell'integrato.
Continuando con i pin-strip per il collegamento del modulo LCD
Terminato la saldatura si potrà inserire l'integrato (che sarà precedentemente programmato) nello zoccolo facendo attenzione alla tacca di riferimento.

Programmazione del PIC16F628
Occorre prima di tutto scaricare il file esadecimale SERLCD3.HEX (in formato compresso autoscompattante) destinato al microcontrollore 16F628-20/P (o 16F628-04/p).


File SERLCD3.EXE

Per la programmazione del microcontrollore occorre un apposito programmatore con il suo programma di gestione come ICPROG creato da Bonny GIJZEN.

Descrizione
Il display a cristalli liquidi o LCD (dall'inglese Liquid Crystal Display) utilizzato in questo modulo è dotato di 2 linee di 16 caratteri ciascuna. I display LCD più comuni reperibili in commercio, hanno un'interfaccia ideata da Hitachi che, nel tempo, è diventata uno standard industriale utilizzato anche da altre case produttrici.

Dei 16 pin presenti se ne utilizzano però solamente 7
RS   Register select signal
E     Enable signal
R/W read/wrwite selection
DB4 Data bit 4
DB5 Data bit 5
DB6 Data bit 6
DB7 Data bit 7

Le linee dati, RS ed E, sono dotati di una resistenza pull-down per forzare a massa la linea quando non utilizzate.
Il trimmer
P1 connesso al pin Vo permette di regolare il contrasto del LCD.

 

Elenco revisioni
08/04/2011 Aggiornato
21/03/2011 Emissione preliminare