PIC 1000 - 1/1000 second Accuracy StopWatch

www.narcisivalter.it
Progetti Elettronici

 

Translate Page


CRONOMETRO MILLESIMALE
con MICROCONTROLLORE PIC16F887 (rev. 2.0)

(1/1000 seconds Accuracy Digital Stopwatch based on PIC Microcontroller - v. 2.0)


1/1000 sec. Stopwatch - Cronometro Millesimale con PICmicro (ver. 1.0)

INTRODUZIONE    [ TORNA ALL'INDICE ]

Nel 2013 avevo già progettato e costruito un Cronometro Millesimale a Display (in formato HH:MM:SS,mmm) utilizzando esclusivamente circuiti integrati C/MOS (il progetto lo trovate su questa pagina).
L'anno successivo realizzai un altro Cronometro Millesimale a Microcontrollore con modulo LDC (il progetto lo trovate QUI).

In questa pagina descrivo la realizzazione di un Cronometro Millesimale a Microcontrollore con Display a 7 segmenti e misurazione del tempo fino a 20 ore !

Per questo progetto ho usato il microcontrollore della Microchip siglato PIC16F887 e si può notare come, rispetto alla versione C/MOS, i componenti utilizzati siano minori anche se le prestazioni del cronometro sono praticamente le stesse.

CARATTERISTICHE    [ TORNA ALL'INDICE ]

Elenco le caratteristiche principali del Cronometro PIC 1000:

  • Alimentazione: 9 / 12 Vcc.
  • Assorbimento massimo: <100 mA.
  • Visualizzazione dei valori su 8 Display a 7-segmenti da 13 mm (5.12 inch).
  • Possibilità di rilevare i tempi intermedi.
  • Gestione a microcontrollore (PICmicro 16F887).
  • Precisione al quarzo.
  • Facile da utilizzare.
  • 3 pulsanti di comando per tutte le funzioni:  START    STOP  e   RESET  .
  • Massimo tempo misurabile: 9h 59min 59sec 999mil.
  • LED "+10H" per estensione massimo tempo misurabile fino a 19h 59min 59sec 999mil.
  • Dimensioni schede (mm): 100 x 70 (MAIN board) - 128x58 (DISPLAY board).

LO SCHEMA ELETTRICO    [ TORNA ALL'INDICE ]

La figura successiva mostra lo schema elettrico completo del CRONOMETRO MILLESIMALE (cliccare sulla figura per ingrandirla).

Schematic diagram of 1/1000 PIC Stopwatch

Il circuito si compone di 2 parti ben distinte: la sezione MAIN (con un apposito PCB) e la sezione DISPLAY (anche questa con il suo PCB dedicato).

Il principio di funzionamento è molto semplice: una base dei tempi esterna (Clock), il più possibile affidabile e precisa, genera un segnale con frequenza pari a 1000 Hz (periodo = 0,001 sec. cioè 1 ms). Ogni impulso viene "conteggiato" dal Microcontrollore che, a sua volta, aggiorna le variabili e mostra il risultato (in tempo reale) su un gruppo di 8 display a LED.

Per vedere la lista riassuntiva dei componenti utilizzati, cliccare QUI.

LA SEZIONE MAIN    [ TORNA ALL'INDICE ]

Questa sezione gestisce la base dei tempi a 1000 Hz per il conteggio cronometrico e la frequenza di multiplexer per gli 8 Display. Inoltre, in questa sezione, sono presenti i comandi  START  ,  STOP  e  RESET   necessari per avviare e fermare il cronometro.

PIC Stopwatch Schematic diagram of MAIN section

Il segnale di Clock (base dei tempi) per il microcontrollore è stato ottenuto con un quarzo da 8192 kHz. Il circuito integrato U2 (74HCT4060N della Philips/Nexperia, sostituibile con il chip M74HC4060B1 della ST Microelectronics) divide il segnale di clock per 8192 volte: in questo modo sul piedino 8 del micro (porta RB0/INT impostata come 'Input External Interrupt') ci sarà un'onda quadra di frequenza pari a 1000 Hz. A livello di software, il Clock non fa altro che "forzare" la chiamata della Interrupt Service Rutine (ISR) ad ogni millisecondo (aggiornando ogni volta i dati delle ORE, MINUTI, SECONDI e MILLISECONDI).

Il Buzzer BZ emette un suono durante il TEST dei display (avviato all'accensione) oppure quando si premono i pulsanti e anche quando, da remoto, giungono gli impulsi di comando al cronometro.

La precisione del dispositivo dipende quasi esclusivamente dalla buona qualità del quarzo e dai due condensatori C4 (ceramico, meglio se NPO) e CV1. Per C4 possono essere utilizzati condensatori ceramici con valore compreso tra 15 e 27 pF. Il trimmer capacitivo CV1 è utile per "correggere" eventuali piccole tolleranze del quarzo (consiglio di utilizzare il trimmer Murata TZ03R300F169B00).

La scheda MAIN (come anche la scheda DISPLAY) è realizzata in doppia-faccia e questo consente di montare la scheda direttamente sul pannello frontale: in questo caso, però, sarà necessario montare alcuni componenti sul lato rame anche se l'altezza dei tactile-switch utilizzati non dovrebbe comunque creare problemi.

La foto seguente mostra la scheda MAIN completa.

Scheda MAIN del Cronometro Millesimale con PICmicro

I due pin siglati "+5V" e "GND" sono utili per effettuare eventuali misure e tarature particolari: essi possono essere rimossi dal circuito una volta collaudato e perfettamente funzionante.

Il connettore a 5 poli siglato M4 è utile solo in fase di programmazione del microcontrollore quindi, per evitare di danneggiare il chip (a seguito di eventuali cortocircuiti sui suoi pin), consiglio di rimuoverlo dalla scheda dopo aver programmato il PICmicro.

LA SEZIONE DISPLAY    [ TORNA ALL'INDICE ]

Questa sezione ospita gli 8 display per la visualizzazione del tempo ed alcuni LED tutti da ø3 mm: 4 LED simulano i doppi punti separatori, un LED indica la virgola decimale e l'ultimo, con la sua accensione, indica che sono già state superate le 10 ore di conteggio.

PIC Stopwatch Schematic diagram of DISPLAY section

I display a 7 segmenti sono del tipo HDN1131-O (Orange, Super-Red, Low Current), necessari per non sovraccaricare eccessivamente le uscite del micro . In ogni segmento, quando acceso, scorre una corrente inferiore ai 10 mA.

Display of PIC StopWatch 1/1000

Per le altre informazioni sui display, fare riferimento al seguente datasheet:

Il Display Siemens HDN1131-O

Le resistenze per i LED sono state calcolate per evitare un consumo eccessivo ma senza rinunciare alla loro luminosità. Il loro valore non è tassativo e possono essere utilizzate resistenze da 220 fino a 560 ohm, secondo i propri gusti.

Come già accennato, il LED Giallo DL6 segnala, con la sua accensione, che il cronometro ha già conteggiato 10 ore.

1/1000 Stopwatch Board of Display section

Ed ecco la foto della scheda DISPLAY finale.

1/1000 Stopwatch Board of Display section

Alcuni tipi di LED ROSSI potrebbero risultare troppo luminosi e quindi disturbare la lettura del display: per questo motivo consiglio di utilizzare i LED GIALLI (vedi foto successiva): in questo modo la lettura del display risulta sicuramente più agevole.

Display section and Yellow LEDs

REALIZZAZIONE PRATICA    [ TORNA ALL'INDICE ]

Di seguito sono riportati i master (a doppia faccia), i piani di montaggio dei componenti (Components Layout) e le dimensioni delle due schede necessarie per la realizzazione del Cronometro Millesimale (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").

PIC 1000 Stopwatch - MAIN Bottom Master  PIC 1000 Stopwatch - MAIN Top Master  PIC 1000 Stopwatch - PCB Layout  PIC 1000 Stopwatch - PCB Dimensions

PIC 1000 Stopwatch - DISPLAY Bottom Master  PIC 1000 Stopwatch - DISPLAY Top Master  PIC 1000 Stopwatch - DISPLAY PCB Layout  PIC 1000 Stopwatch - DISPLAY PCB Dimensions

Come già accennato in precedenza, la scheda MAIN può essere installata direttamente sul pannello frontale: per questo tipo di installazione devono essere utilizzati dei pulsanti (tactile-switch) da almeno 17 mm. di altezza e il quarzo dovrebbe essere in contenitore HC-49S. Anche il trimmer CV1 dovrebbe essere montato dal lato saldature per consentire una facile taratura senza smontare la scheda. Nel mio prototipo, anche la morsettiera per l'alimentazione è stata montata sul lato saldature come visibile nelle seguenti foto.

Chronometer 1/1000: PCB of Counter section  Chronometer 1/1000: MASTER of Counter section

Un'altra soluzione interessante potrebbe essere quella di montare SOLO i tactile switch dal lato rame: in questo caso sarà possibile utilizzare anche dei pulsanti più bassi e, probabilmente più facili da reperire.

Da quanto detto si evince che le soluzioni per l'installazione della scheda MAIN sono diverse: bisogna solo fare attenzione alla foratura del pannello frontale nel caso si utilizzi la stessa serigrafia che ho disegnato per il mio prototipo.

Consiglio (anche se non è necessario) di applicare allo stabilizzatore L7805CV un piccolo dissipatore o un'aletta di raffreddamento, specialmente se si alimenta il circuito con una tensione continua superiore ai 12-13 Vcc e lo si usa in maniera intensiva per molte ore al giorno.

L7805 with heatsink

COLLEGAMENTI    [ TORNA ALL'INDICE ]

Per il collegamento delle due schede sono necessari due cavetti a 10 vie ma attenzione a non invertire i cavetti (fate riferimento alla serigrafia sui circuiti stampati).

Per utilizzare attuatori e/o comandi remoti per START e STOP, collegare dei cavetti in parallelo ai relativi pulsanti sulla scheda (meglio se con cavo schermato). I pulsanti possono essere lasciati sulla scheda oppure rimossi, come si preferisce. Per collegamenti molto lunghi, potrebbe essere necessario applicare un condensatore ceramico da 1000 pF in parallelo ad ogni pulsante.

StopWatch 1/1000: wired

Il contatto System Reset (J1) è utile per inviare un eventuale RESET GENERALE alla scheda, ad es. in caso di malfunzionamenti: tuttavia difficilmente lo si dovrà utilizzare per cui consiglio di lasciare queste piazzole vuote senza montare il connettore.

Il circuito va alimentato con una tensione stabilizzata compresa fra 8 e 12-13 Vcc (con almeno 200 mA di corrente erogabile) da collegare alla morsettiera siglata M1 (ATTENZIONE alla polarità).

L'assorbimento medio del circuito è inferiore ai 100 mA.

TARATURA (Calibration)    [ TORNA ALL'INDICE ]

La taratura si fa semplicemente agendo sul compensatore CV1 in modo tale da avere una frequenza stabile e precisa di valore pari a 8192000 Hz sul piedino 9 di U2: il tutto dovrebbe essere fatto con un frequenzimetro di precisione ed, ovviamente, dopo aver dato lo START al cronometro (consiglio di lasciare acceso lo strumento per 5 minuti prima di effettuare la taratura e ripetere quest'ultima almeno un paio di volte).

SERIGRAFIA (Panel silk-screen printing)    [ TORNA ALL'INDICE ]

Le due schede sono state installate in un contenitore TEKO mod. Pult 364.8. Per poter installare le schede direttamente sul pannello frontale, è necessario montare i connettori M2 ed M3 della scheda MAIN sul lato saldature.

Il contenitore utilizzato dall'autore è abbastanza grande da poter ospitare anche un piccolo alimentatore da 9-12 Vcc ed un eventuale anche l'interruttore di accensione e/o la presa per il collegamento degli attuatori esterni.

Per questo contenitore ho realizzato un'apposita serigrafia visibile nelle immagini successive (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").

StopWatch 1/1000 - Panel holes   StopWatch 1/1000 - Panel Silk-screen

COMANDI e USO    [ TORNA ALL'INDICE ]


Il cronometro rileva tempi nel range compreso fra "0:00:00.000" e "9:59:59.999" e l'accensione del LED giallo DL6 (+10H) aggiunge altre 10 ore al conteggio.


L'uso del cronometro è molto semplice ed intuitivo e le istruzioni sono riassunte nel seguente elenco:

  • All'accensione, dopo il TEST dei DISPLAY, il cronometro visualizza il valore '0:00:00.000'.
  • Per avviare il conteggio, premere il pulsante  START  .
  • Per ottenere il tempo intermedio, premere il pulsante  STOP   (nuova funzionalità della versione 2.0).
  • Per ritornare alla visualizzazione in tempo reale del conteggio, premere di nuovo il pulsante  START  e così via.
  • In qualsiasi situazione, quando si preme il pulsante  RESET , il cronometro si arresta e il display visualizza il valore '0:00:00.000'.
  • Quando il conteggio supera il valore ’9:59:59.999’ il LED Giallo si accende ed il cronometro continua ripartendo da zero ('0:00:00.000')
PICmicro 1/1000 sec. Stopwatch - Cronometro Millesimale con PIC (ver. 1.0)

(N.B. - Durante il conteggio, la pressione del pulsante  RESET   ferma il cronometro e azzera il display).

Il cronometro può essere avviato anche da remoto per mezzo di attuatori da collegare in parallelo ai pulsanti: i loro contatti devono essere di tipo Normalmente Aperto (N.O. - Normally Open) e gli impulsi di comando sono inviati al cronometro quando i contatti degli stessi si chiudono.

LE FOTO DEL PROTOTIPO    [ TORNA ALL'INDICE ]

Le foto seguenti mostrano il prototipo costruito dall'autore. Nel contenitore è stato inserito anche un alimentatore per il collegamento alla rete elettrica 220V.

internal view Tactile switch in the PCB External wire DIY Power Supply Stopwatch PIC-1000 - The internal view
Stopwatch with PIC microcontroller Stopwatch - The rear view 1/1000 second Stopwatch PIC microcontroller Stopwatch DIY PICmicro Stopwatch

DOWNLOAD    [ TORNA ALL'INDICE ]

Nel manuale PDF (che potete scaricare cliccando sul link riportato qui sotto) troverete gli schemi elettrici, i disegni dei master e dei PCB, lo schema dei collegamenti e l'elenco dei componenti utilizzati. Per domande o suggerimenti utilizzare SEMPRE la sezione COMMENTI.

Download

Scarica il manuale tecnico e le istruzioni del Cronometro PIC-1000 rev. 2.0 (2 MB)

Scarica il Datasheet del Microcontrollore PIC16F887 (4.3 MB)

COMMENTI    [ TORNA ALL'INDICE ]

[ Torna all'inizio della pagina ]

DISCLAIMER (Dichiarazione di esclusione di responsabilità) - Tutti i progetti elettronici presentati e descritti nel sito internet https://www.narcisivalter.it possono essere utilizzati solo ed esclusivamente ad uso privato e senza scopo di lucro, pertanto non commercializzati. Le documentazioni dei progetti (schemi elettrici, disegni, foto, video, firmware, ecc.) non sono di dominio pubblico per cui i diritti d'autore rimangono dell'ideatore. Per utilizzare a fini commerciali i progetti (o parte di essi) presenti in questo sito web, si dovrà contattare l'Autore per concordare un'eventuale autorizzazione scritta.
- All the projects in this webpage is provided with no explicit or implicit warranties of operation. I do not assume any responsibility for any problems or damage to persons. The project is released "as is" and no support of any kind is provided. If you build the project, you implicitly accept my terms of not taking responsibility. If you do not agree, please, do not build this project and do not download any informations from this website!
- Tutti i progetti elettronici presenti nel sito internet www.narcisivalter.it sono stati realizzati e sperimentati personalmente dall'Autore, tuttavia l'Autore stesso non garantisce, a chi li realizzerà, un sicuro e perfetto funzionamento. Tutti i progetti elettronici presentati sul sito www.narcisivalter.it sono pensati e realizzati per un'utenza addetta ai lavori, specializzata nel settore elettrico ed elettronico e quindi in grado di valutare la correttezza e la funzionalità dei progetti stessi. Pertanto l'utente accetta espressamente di utilizzare i contenuti del sito sotto la propria responsabilità. I PROGETTI ELETTRONICI PRESENTATI SU QUESTO SITO SONO STATI RILASCIATI A PURO TITOLO HOBBISTICO E/O DI STUDIO E L'AUTORE NON GARANTISCE LA MATEMATICA CERTEZZA CIRCA IL LORO FUNZIONAMENTO E NON SI ASSUME ALTRESI' NESSUNA RESPONSABILITÀ, ESPLICITA O IMPLICITA, RIGUARDANTE INCIDENTI O CONSEGUENTI POSSIBILI DANNI A PERSONE E/O COSE DERIVANTI DALL'USO DEI PROGETTI STESSI. CHI REALIZZA E UTILIZZA I PROGETTI ELETTRONICI DESCRITTI IN QUESTE PAGINE, LO FA COME SUA LIBERA SCELTA ASSUMENDOSI TUTTE LE RESPONSABILITÀ CHE, EVENTUALMENTE, NE POTREBBERO DERIVARE.
AVVERTENZE IMPORTANTI - Molti circuiti descritti nelle pagine di questo sito sono sottoposti a tensione di rete 110-240 Vac e pertanto potenzialmente pericolosi; si può rimanere folgorati se non realizzati ed utilizzati secondo le norme di sicurezza vigenti. Pertanto l'utente e' tenuto a verificare se quanto realizza e' conforme alla normativa ed alla legislazione vigente. Per i non "addetti ai lavori" (improvvisati auto-costruttori) va ricordato che in particolari situazioni (diminuzione resistenza del corpo) già una tensione di 25V alternata potrebbe essere pericolosa. L'elettronica e l'elettricita' in genere affascina molte persone ma va ricordato che non basta uno schema scaricato da Internet per poter arrivare a un prodotto funzionante e sicuro: infatti ci vogliono un minimo di conoscienze delle fondamentali leggi della fisica, dell'elettricita' e dell'elettronica oltre all'esperienza pratica nell'uso di attrezzi e strumenti indispensabili, come saldatore, tester, oscilloscopio, ecc...

Privacy Policy - Cookie Policy - Condizioni d'Uso