www.narcisivalter.it
| |||||||||||||||
Translate Page |
CRONOMETRO MILLESIMALE LCD
|
La taratura va fatta semplicemente agendo sul compensatore CV in modo tale da ottenere una frequenza stabile e precisa di 24 MHz (24000000 Hz) sul piedino 9 di U2 (M74HC4060B1) e questo, chiaramente, dovrebbe essere fatto con un frequenzimetro di precisione dopo aver lasciato acceso almeno 10 minuti sia il cronometro sia il frequenzimetro stesso. Poi, per sicurezza, si controllerà anche la frequenza sul piedino 23 di U3 (HEF4059BP) per essere certi che essa corrisponda a 1000.000 kHz (1000 Hz) precisi. Tuttavia, avendo a disposizione un quarzo preciso e di ottima qualità, è possibile inserire inizialmente DUE condensatori fissi (NPO) da 47 pF (sia per C4 che per CV) e quindi verificare la precisione del cronometro.
COMANDI E USO (Versione Display a 1 riga) [ TORNA ALL'INDICE ]
All'accensione, dopo le classiche scritte di copyright, il display visualizza il seguente valore:
.
La retroilluminazione è sempre accesa quando il cronometro è alimentato dalla rete: al contrario, quando il cronometro è alimentato solo dalla batteria da 9V, la retroilluminazione del display si spegne durante il conteggio (in questo modo è possibile "allungare" l'autonomia della batteria stessa).
START Quando si preme il pulsante START, il cronometro avvia il conteggio "mascherando" le ultime 3 cifre (quelle dei millisecondi) al posto delle quali sono visualizzati 3 trattini come visibile nell'immagine seguente (nella nuova versione firmware 3.0, non sono più visualizzati i trattini, ma direttamente i millisecondi in tempo reale):
.
STOP Quando si preme il pulsante STOP, il valore istantaneo è "congelato" sul display (tempo parziale), compresi i millisecondi: questo è il tempo intermedio nel formato HH:MM:SS.mmm
.
Per indicare che il cronometro sta visualizzando un tempo intermedio, sul display, a sinistra, appare anche la lettera "P" (Pause).
Dopo la pressione del pulsante STOP, il conteggio non si ferma giacché il microcontrollore continua a ricevere gli impulsi da 1 millisecondo sulla Porta RB0/INT e, di conseguenza, continua ad aggiornare le variabili anche se sul display il conteggio appare fermo.
START Premendo di nuovo il pulsante START, il display ricomincia a visualizzare Ore, Minuti e Secondi in tempo reale (con i trattini al posto dei millisecondi e senza la lettera "P") come se il conteggio non si fosse mai arrestato:
.
RESET Per azzerare il display, è necessario prima fermare il conteggio premendo il pulsante STOP e poi premere il pulsante RESET: in questo modo, il display torna a visualizzare nuovamente la schermata iniziale con tutti zeri:
.
Con il trimmer T1 (4,7K oppure 10K logaritmico) si regola il contrasto del display. Questo trimmer (oppure un mini-potenziometro) va collegato con 3 spezzoni di filo sull'apposito connettore e posizionato in maniera tale che possa essere sempre accessibile anche quando il contenitore è chiuso.
Nel seguente video sono riassunte tutte le funzioni appena descritte.
DOWNLOAD (16x1 LCD version) [ TORNA ALL'INDICE ]
Cliccando sul link qui sotto, potete scaricare il firmware per i display a 1 riga (16x1).
Per tutte le altre richieste (firmware HEX, domande, suggerimenti, ecc.) utilizzare SEMPRE la sezione COMMENTI.
Scarica il firmware .HEX (Modulo LCD 16x1) per la programmazione del PIC16F628A (3 KB) |
LA VERSIONE CON DISPLAY LCD a 2 RIGHE (1602) [ TORNA ALL'INDICE ]
Nella versione con il display a due righe (16x2) ho utilizzato il modulo LCD della Fordata siglato FDCC-1602D (sostituibile con il modulo della Wintek siglato WM-C1602N, avendo cura, in questo caso, di invertire il collegamento dei terminali A e K per la retroilluminazione, rispettivamente i piedini 15 e 16): comunque sia, vale sempre il discorso di scaricare il datasheet del modulo LCD che andrete ad utilizzare e controllarne i piedini di alimentazione 1 e 2 (che potrebbero essere invertiti in base al costruttore) ed i terminali A e K.
Lo schema elettrico è identico al precedente ma lo riporto nuovamente di seguito: da notare l'inserimento del modulo LCD 16x2.
IMPORTANTE - Sul PCB, il piedino 1 del connettore LCD risulta a massa (GND) mentre il piedino 2 risulta al positivo (+5V): nel modulo LCD, invece, il piedino n. 1 corrisponde all'alimentazione (+5V o VDD) mentre il piedino 2 corrisponde alla massa (GND o Vss): da tenere a mente quando utilizzerete un modulo LCD diverso da quello utilizzato dal sottoscritto.
Dunque, anche utilizzando un modulo LCD 16x2, il PCB è sempre lo stesso: cambiano solo i collegamenti (come visto poc'anzi) ed il firmware.
Anche i comandi, ovviamente, sono gli stessi, ma il funzionamento è leggermente diverso dal momento che in questo caso è possibile sfruttare 2 righe anziché una sola.
- All'accensione il display appare come visualizzato nell'immagine seguente:
(Tin = Tempo Istantaneo, Ptl = Tempo Parziale)
- Premendo il pulsante START , il cronometro avvia il conteggio che è visualizzato sulla prima riga (nella nuova versione firmware 3.0, non sono più visualizzati i trattini, ma i millisecondi in tempo reale).
- Premendo il pulsante STOP , il tempo intermedio è visualizzato e memorizzato sulla seconda linea (compresi i millisecondi) mentre sulla prima riga il conteggio continua senza fermarsi.
Ad ogni STOP , sulla seconda linea appare sempre il nuovo tempo intermedio. Per fermare il cronometro premere il pulsante RESET il quale azzera anche i tempi riportandoli entrambi al valore 00:00:00.000 (come all'accensione).
Avendo a disposizione 2 righe sul display, ho inserito anche la modalità di conteggio (MODE) per selezionare la quale è sufficiente tenere premuto il pulsante RESET e contemporaneamente premere il pulsante STOP .
Ad ogni combinazione, sul display saranno visualizzati (alternativamente) i seguenti messaggi per circa 1 secondo:
— Continuos count after 1st START - Il cronometro funzionerà come descritto sopra: il tempo istantaneo non si ferma mai a meno che non si prema il pulsante RESET .
— Reset count to 0 after each STOP - Con questa modalità, il tempo istantaneo sulla prima riga viene ri-azzerato ogni volta che si preme il pulsante STOP : sulla seconda riga, appare sempre il tempo intermedio. In questa modalità, le scritte sul display sono differenti, come mostrato nella successiva immagine:
(Str = Start, Stp = Stop)
La modalità di funzionamento MODE è memorizzata automaticamente nella Eprom del microcontrollore: così facendo, ad ogni accensione, il cronometro funzionerà con l'ultima modalità impostata dall'utente.
NOTA - Quando il cronometro funziona SOLO con la batteria da 9V, durante il conteggio la retroilluminazione del modulo LCD è automaticamente spenta e si riaccende subito dopo la pressione del pulsante RESET : tutto questo salvaguardare il più possibile l'autonomia della batteria stessa. Tuttavia è sempre possibile accendere o spegnere la retroilluminazione (sempre durante un conteggio) semplicemente premendo il pulsante START .
LA SERIGRAFIA (Panel silk-screen printing) [ TORNA ALL'INDICE ]
Per l'uso con il contenitore TEKO Pult 362 ho creato un'apposita serigrafia per il pannello frontale: il piano foratura fa riferimento ai moduli LCD FDCC1602D oppure WM-C1602N (Per scaricare le immagini, cliccare su quella desiderata e, una volta ingrandite, con il tasto destro del mouse scegliere l'opzione 'Salva con Nome' oppure 'Salva immagine con Nome").
LE FOTO DEL PROTOTIPO [ TORNA ALL'INDICE ]
Ed ecco alcune foto del prototipo da me realizzato (tutti i circuiti sono stati installati in un contenitore TEKO modello Pult 363.8). Nel mio prototipo ho inserito un piccolo alimentatore da 12Vcc di recupero. La batteria da 9V è fissata con del nastro bi-adesivo, quindi facilmente removibile per un'eventuale sostituzione.
Nel successivo video il prototipo finale (firmware 2.0).
DOWNLOAD (16x2 LCD version) [ TORNA ALL'INDICE ]
Cliccando sui link seguenti, si possono scaricare il manuale tecnico e il datasheet del PIC16F628A.
Per tutte le altre richieste (firmware HEX, domande, suggerimenti, ecc.) utilizzare SEMPRE la sezione COMMENTI.
Scarica il manuale tecnico e le istruzioni del Cronometro (1.5 MB) |
ERRATA CORRIGE E AGGIORNAMENTI [ TORNA ALL'INDICE ]
Per evitare danni al microcontrollore, consiglio di applicare un diodo 1N4148 (o meglio, BAT41) tra il piedino 3 (RA4) e la VCC (vedi immagini sotto): questo diodo ha la funzione di cortocircuitare al positivo qualsiasi potenziale superiore ai +5V che dovesse presentarsi sul piedino 3 del microcontrollore. Inoltre, sempre per sicurezza, consiglio di rimuovere il connettore per la programmazione on-board del PICmicro, siglato M1 (ICSP) perché un eventuale cortocircuito tra i piedini potrebbe danneggiare seriamente il microcontrollore stesso.
NOTA - Con la resistenza R2 da 47 ohm, si ha una retroilluminazione sufficiente: tuttavia, se lo si preferisce, è possibile sostituire la resistenza con un ponticello: in questo modo, però, l'assorbimento totale del circuito sale fino a quasi 100 mA ! Un buon compromesso lo si trova con una resistenza intermedia, ad esempio, 18 o 22 ohm (meglio se da 1/2 Watt).
Con il nuovo firmware 3.0 non vengono più visualizzati i trattini "---" ma direttamente le cifre dei millesimi di secondo in tempo reale, così come avviene in qualsiasi altro cronometro. Nel successivo video il prototipo finale che gira con il nuovo firmware 3.0