www.narcisivalter.it
| ||||||||||||||||||
Translate Page
|
OROLOGIO DIGITALE a DISPLAY GIGANTI(Large Digital Clock)Indice: INTRODUZIONE [ TORNA ALL'INDICE ] In questa pagina descrivo come realizzare un preciso orologio digitale a DISPLAY GIGANTI (formato HH:MM). Per questo progetto ho utilizzato il PICmicro della Microchip siglato PIC16F886. Di seguito, le caratteristiche principali di questo Orologio Digitale:
La figura seguente illustra lo schema elettrico completo dell'Orologio Digitale. Esso è stato diviso in DUE sezioni ben distinte: la sezione MAIN (Principale) e la sezione DISPLAY, dando origine a DUE PCB. PRINCIPIO DI FUNZIONAMENTO FIRMWARE [ TORNA ALL'INDICE ] Il principio di funzionamento di questo orologio a Display giganti è molto semplice.
Normalmente il ciclo infinito del programma, quando non ci sono altre richieste, non fa altro che richiamare in continuazione la rutine di AGGIORNAMENTO che visualizza le ORE e i MINUTI sul display. Il clock per il tempo avviene per mezzo di un oscillatore quarzato a 2 Hz collegato alla porta RB0/INT, quest'ultima programmata per generare un INTERRUPT ad ogni impulso. Così facendo, il firmware dà la massima priorità agli impulsi provenienti dalla porta RB0: questo significa che l'aggiornamento del tempo è prioritario rispetto a tutte le altre istruzioni presenti nel firmware. Per impostare l'interrupt esterno (RB0/INT) si usa la seguente istruzione: Nella rutine di INTERRUPT (che dovrebbe essere sempre molto breve) vengono eseguite alcune istruzioni al primo impulso ed altre al secondo. PRIMO IMPULSO SU RB0/INT - All'arrivo del primo impulso la rutine ISR:
SECONDO IMPULSO SU RB0/INT - All'arrivo del secondo impulso la ISR:
Ai successivi impulsi sulla porta RB0, i due passi appena descritti vengono ripetuti all'infinito. Nel ciclo infinito del programma c'è un'istruzione condizionale che valuta la variabile MINUTES: se essa è uguale a 60, viene azzerata e contemporaneamente si incrementa la variabile HOURS. Anche per le ore avviene la stessa cosa ma con una sostanziale differenza: se è stata impostata la modalità 12-H, la variabile HOURS può assumere solo valori da 1 a 12 mentre nel caso sia stata impostata la modalità 24-H i valori che può assumere la variabile HOURS vanno da 0 a 23. Il ciclo infinito, oltre che valutare le variabili MINUTES / HOURS e aggiornare l'orario sul Display, controlla anche la pressione dei pulsanti (polling). Per ogni pulsante è prevista una rutine dedicata eseguita la quale, si riparte nuovamente con il ciclo infinito. A grandi linee, dunque, questo è il principio di funzionamento dell'orologio. Naturalmente DISPLAY e PULSANTI si potrebbero gestire anche in altri modi, tutto dipende dalle capacità (e se volete, dalla fantasia) del programmatore. IL CIRCUITO DI COMANDO (Main section) [ TORNA ALL'INDICE ] Il disegno seguente illustra lo schema elettrico relativo alla sezione di Comando (MAIN) dove sono presenti il microcontrollore, il generatore di clock per INTERRUPT, i pulsanti per i comandi, il buzzer e l'alimentatore. I segmenti dei display sono controllati dalla Porta C del microcontrollore (vedi connettore M4) e la figura successiva ne illustra la logica.
L'integrato U3 (ULN2803) è indispensabile per bufferare le porte del micro e far accendere i vari segmenti con la dovuta corrente (nel nostro caso poco meno di 30 mA). Una parte della Porta B (vedi connettore M3) gestisce il Multiplexer dei Display secondo quanto riportato nella successiva tabella:
Dal piedino 3 dell'integrato CD4060 escono gli impulsi che vanno applicata al piedino RB0/INT del microcontrollore: grazie a questi impulsi, il micro genera due interrupt al secondo. Il firmware fa tutto il resto. Applicando un preciso frequenzimetro sul piedino 9 del CD4060, è possibile verificare che il quarzo oscilli correttamente alla frequenza di 32768 Hz. Ad ogni pressione del pulsante S2 (MINUTES), i secondi sono sempre azzerati: in questo caso, un impulso proveniente dalla Porta A6 invia un segnale di Reset anche all'integrato CD4060. Lo strip J1 (Reset) potrebbe essere utile, cortocircuitandone i due pin, per resettare il microcontrollore in caso di problemi (ma io non ne ho mai incontrati). Per i pulsanti ho utilizzato quelli a due reofori (Tactile Switch Straight Leads) da 6x6 mm, sostituibili con quelli più piccoli, da 3.5x6 mm. Il lampeggio dei LED separatori è gestito dalla Porta B5 (sempre bufferata dal chip ULN2803). Il connettore M5 è utile solo per la programmazione on-board del microcontrollore per cui, se non si ha questa esigenza, è possibile ometterlo. La precisione dell'orologio dipende quasi esclusivamente dalla buona qualità del quarzo e dai due condensatori C6 e C7 (quest'ultimo, ceramico da 27pF, meglio di tipo NPO). Nel caso si utilizzi una normale pila alcalina da 9V non ricaricabile, è necessario eliminare la resistenza R2 (2700 ohm). IL CIRCUITO DISPLAY (Display section) [ TORNA ALL'INDICE ] Il disegno seguente illustra lo schema elettrico della sezione DISPLAY. Nel mio prototipo ho utilizzato i display da 38x56 mm (1.8"), ad anodo comune siglati KW1-1801AOA di colore rosso/arancio (possono lavorare fino a 50 mA di corrente) sostituibili con i modelli SA18-11xx. Ovviamente per i display potete utilizzarne un qualsiasi altro tipo purché ad ANODO COMUNE e con il passo e la piedinatura come visibile nella successiva illustrazione (da ricordare che la caduta di tensione su ogni segmento deve essere intorno ai 6 Vcc, corrispondente alla caduta di tensione di TRE LED Rossi in SERIE).
IL BUZZER [ TORNA ALL'INDICE ] Il Buzzer BZ ( (in questo progetto ho usato il tipo piezoelettrico) è stato inserito principalmente per generare un breve segnale acustico al passaggio di una nuova ora come avviene, ad esempio, su alcuni orologi digitali (per abilitare questa opzione, vedere il paragrafo COMANDI). Il buzzer segnala anche la pressione di un pulsantino e, se programmato, emette un brevissimo beep ogni secondo (per simulare una sorta di "orologio meccanico"). LA REALIZZAZIONE DEI CIRCUITI STAMPATI [ TORNA ALL'INDICE ] Nelle figure successive sono riportati i Master, i PCB Layouts e le dimensioni delle schede (per scaricare le immagini, cliccare su quella desiderata e, una volta ingrandita, con il tasto destro del mouse scegliere 'Salva immagine con nome...'). Sezione MAIN La scheda MAIN misura 100 x 75 mm. Sezione DISPLAY La scheda DISPLAY misura 168 x 86 mm. ed ospita i 4 display giganti. Per quanto riguarda la scheda MAIN, consiglio vivamente di utilizzare gli zoccoli per i 3 circuiti integrati. Inoltre ricordo ancora una volta che nel caso si utilizzi una normale pila alcalina da 9 V non ricaricabile, è NECESSARIO eliminare la resistenza R2 da 2700 ohm. Nella foto seguente è visibile il primo prototipo della scheda MAIN.
Nella scheda DISPLAY devono essere inseriti prima di tutto i ponticelli (sono disegnati in rosso sull'immagine del layout): ce ne sono molti (quasi tutti sotto i display) ma se non altro si evita di progettare schede a doppia faccia, sempre molto difficili da realizzare a livello hobbistico. Per i punti lampeggianti devono essere utilizzati due LED rossi da 5 mm. La foto seguente visualizza il prototipo della scheda DISPLAY.
COME REALIZZARE I CIRCUITI STAMPATI Come sempre, ho realizzato i circuiti stampati con il mio Bromografo & Timer. Per realizzare i circuiti stampati ho usato la seguente tecnica, ormai super-collaudata.
Come si vede dalle foto successive, questa tecnica ormai collaudata porta sempre a perfetti risultati (nel master MAIN a sinistra, ci sono piste da 0.4 mm e sono state incise perfettamente). Il primo e il terzo master sono stati trattati con la soluzione SUR TIN (stagno chimico). I COLLEGAMENTI [ TORNA ALL'INDICE ] Per alimentare l'orologio è sufficiente un alimentatore stabilizzato da 12 Vcc (in grado di erogare almeno 200-300 mA affinché non scaldi troppo) da collegare alla morsettiera M1 come visibile nel seguente schema.
Fare attenzione al verso dei connettori e, soprattutto, ai collegamenti dell'alimentatore e dell'eventuale batteria in tampone. L'assorbimento medio continuo del circuito, in condizioni normali (senza batteria ricaricabile) è di circa 120-130 mA ma chiaramente dipende anche dalle cifre visualizzate giacché un display che visualizza l'orario 20:28 assorbe quattro volte la corrente di un display che visualizza 1:11 !. Per controllare l'esatto funzionamento dell'orologio, può essere utile fare riferimento a uno dei seguenti siti: LA BATTERIA IN TAMPONE DA 9V [ TORNA ALL'INDICE ] L'orologio è predisposto per il collegamento di una batteria da 9V (alcalina oppure ricaricabile Ni-Cd o Ni-MH): la resistenza R2 da 2700 ohm assicura una piccola e lenta ricarica. Considerando che i black out nelle nostre case sono abbastanza rari, la batteria sarà sempre carica e pronta per entrare in funzione quando manca la rete elettrica. La batteria in tampone, dunque, entra in funzione solo durante un eventuale black out: al contrario, durante il funzionamento normale dell'orologio, la batteria si ricarica (o mantiene la sua carica). Durante un black out, i display e i LED si spengono ed il buzzer non emette alcun suono: in questo modo si "allunga" l'autonomia della batteria (che ha il solo compito di continuare a far "lavorare" il microcontrollore senza perdere l'orario quando manca la corrente elettrica). La corrente di carica in questo circuito è molto ridotta (per salvaguardare l'integrità della batteria stessa) per cui una volta scarica, potrebbero essere necessari anche alcuni giorni affinché la batteria si ricarichi completamente. Anziché una ricaricabile, come accennato, è possibile (e lo consiglio vivamente) utilizzarne una normale alcalina da 9V, non ricaricabile: questo tipo di batteria è molto più potente rispetto ad una ricaricabile ed offre una maggiore autonomia. Ma ricordo che usando batterie alcaline (non ricaricabili) è necessario rimuovere tassativamente la resistenza R2 in quanto le batterie alcaline NON POSSONO e NON DEVONO essere ricaricate. I COMANDI [ TORNA ALL'INDICE ] Alla prima accensione, l'orologio esegue il TEST dei Display e quindi si posiziona sull'orario 12:30.
NOTA - Durante la pressione di uno qualsiasi dei pulsanti oppure durante il TEST dei display, il conteggio dell'orologio non si ferma: per questo motivo non ci saranno mai perdite di orario durante le operazioni dell'utente. La tabella seguente illustra i messaggi del Display e le relative descrizioni.
L'OROLOGIO DIGITALE A DISPLAY GIGANTI (Foto) [ TORNA ALL'INDICE ] Di seguito una serie di foto dell'Orologio Digitale a LED realizzato dall'autore usando il contenitore della Teko modello Pult 363 (cliccare sulle foto per ingrandirle). Nel manuale PDF (che potete scaricare cliccando sul link nella tabella successiva) troverete i disegni dei master, quelli degli schemi elettrici, le foto, i collegamenti, l'elenco componenti e un esempio di serigrafia per il pannello frontale.
|