www.narcisivalter.it
|
||||||||||||
Translate Page
I VOSTRI
BROMOGRAFI Michele Zoffoli
Domenico Messana
Verano Grilli
|
BROMOGRAFO CON TIMER (PICmicro)(2a parte - La costruzione del Timer Digitale)Indice: INTRODUZIONE [ TORNA ALL'INDICE ] In questa seconda parte del progetto "Bromograph & Digital Timer", si descrive come realizzare un preciso Timer Digitale a Microcontrollore realizzato utilizzando il chip della Microchip siglato PIC16F628A (la prima parte del progetto è descritta QUI). LO SCHEMA ELETTRICO DEL TIMER DIGITALE [ TORNA ALL'INDICE ] Come accennato, per realizzare il Timer, mi sono servito di un Microcontrollore della Microchip, il PicMicro 16F628A. Per chiarezza, lo schema elettrico è stato diviso in due parti, ognuna delle quali da realizzare con un apposito master monofaccia (potete scaricare i disegni cliccando sul link per il download, in fondo alla pagina). L'intero circuito va alimentato con una tensione continua di almeno 8-9 Vcc prelevabile da un comune alimentatore. L'assorbimento dell'intero circuito è inferiore ai 100 mA (in stand-by) e non supera i 200 durante il conteggio. LA SEZIONE CONTROLLO [ TORNA ALL'INDICE ] Tutto il circuito di controllo ruota intorno al microcontrollore PIC16F628A. Quello che segue è un estratto dello schema elettrico e si riferisce ai componenti che vanno saldati sul master CONTROLLO. Con un linguaggio di programmazione ad alto livello (quello che uso anch'io) è leggermente problematico realizzare una base dei tempi precisa, anche facendo ricorso a particolari tecniche di programmazione. Da qui la decisione di utilizzare il clock interno del microcontrollore e sfruttare, per la base dei tempi, il suo piedino 6 (RB0/INT) che gestisce gli Interrupt esterni (grazie a questa configurazione, ho "guadagnato" anche un piedino I/O). Il Microcontrollore si occupa anche della gestione del Multiplexer per i tre display (vedi porte RB1-RB2-RB3) e la visualizzazione delle cifre, che è ottenuta in BCD per "recuperare" altre 3 Porte I/O (infatti, per pilotare i 7 segmenti di un display occorrerebbero 7 porte I/O, ma usando la gestione con il codice BCD, ne servono solo quattro, vedi RB4-RB5-RB6-RB7!). L'integrato CD4543 (vedi U3, un decodificatore BCD-to-Seven Segment) convertirà la cifra binaria presente di volta in volta sui suoi piedini d'ingresso 5,3,2 e 4 (rispettivamente A, B, C e D) con la corretta serie di segnali per accendere i 7 segmenti del display (ad Anodo Comune).
Il comando per azionare il relè RL1 (responsabile dell'accensione dei neon UV-A) è inviato dal PicMicro alla Base del Transistor Q6 ogni qualvolta si preme il pulsante S4 START (a meno che sul display non sia visualizzato il valore 0:00, vedi il paragrafo "FUNZIONAMENTO" più avanti).
Questa operazione "sblocca" la base dei tempi ed il microcontrollore riceverà i segnali di Interrupt. L'accensione del Led Bicolore ROSSO (DL3) indica che i neon UV-A sono accesi (a meno che non si apra il coperchio) mentre l'accensione del Led Bicolore VERDE indica che i neon UV-A sono sicuramente spenti: per i dettagli vedi il paragrafo "FUNZIONAMENTO". Una volta realizzato il master ed averlo forato, inserire e saldare tutti i componenti. Qui a destra c'è la foto del circuito da me realizzato, prima di essere inserito e fissato nel vano cavi del bromografo (clicca sulla foto per ingrandirla).
Per il collegamento ai pulsanti sono previste coppie di conduttori da collegare alla scheda PULSANTI (stesso discorso per il LED Bicolore DL3, anche se raffigurato sul circuito stampato), mentre per il Display, sono previste due piattine da collegare alla scheda omonima. Il connettore ICSP (In Circuit Serial Programming) è facoltativo (direi inutile per chi realizzerà il timer a meno che non siate esperti di programmazione PIC, nel qual caso sarà necessario innanzi tutto creare il programma con il proprio linguaggio di programmazione e poi inviarlo al PIC attraverso il connettore ICSP). Se non si utilizza il connettore ICSP, è possibile mettere due ponticelli al posto delle resistenze R12 e R13. Qui a fianco la foto del circuito CONTROLLO fissato nel vano cavi dove è anche visibile il circuito dell'alimentatore da 10 Vcc (clicca sulla foto per ingrandirla). A tal proposito, ricordo che per alimentare il timer è possibile utilizzare un qualsiasi alimentatore da almeno 8-9 Vcc . LA SEZIONE DISPLAY E IL PCB DEI PULSANTI [ TORNA ALL'INDICE ] Qui a sinistra è raffigurato lo schema elettrico del circuito Display (clicca sull'immagine per ingrandirla). Per la sua realizzazione non dovrebbero esserci problemi ma è necessario prestare attenzione a quanto segue:
Per il collegamento con la scheda CONTROLLO sono necessarie due piattine: una da cinque e una da 8 poli.
Per chi realizzerà questo stesso PCB (ed userà quindi lo stesso tipo di pulsanti o similiari, vedi foto sotto), faccio presente che tutti i cinque pulsanti ed il LED Bicolore vanno montati su un apposito PCB realizzato tagliando a misura un pezzo di scheda millefori per prototipi: i particolari per la realizzazione della schedina li trovate cliccando QUI Il circuito realizzato con la millefori andrà poi posizionato immediatamente sotto il circuito DISPLAY (vedere il paragrafo successivo). Ed ecco il risultato finale (cliccare sulle foto per ingrandirle): Per i display ad anodo comune, oltre agli LTS546 usati dall'autore, è possibile utilizzarne diversi modelli (es. TDSR5150, SA52-11, HDSP-561A o quelli a bassa corrente HDN-1131o Super Red). LA REALIZZAZIONE DEL PANNELLO COMANDI [ TORNA ALL'INDICE ] Per creare il pannello comandi ho utilizzato un pezzo di plexiglas 85 x 130 mm dello spessore di 3,5 mm ma qualsiasi altro materiale (es. alluminio) può andare bene: l'importante è creare i fori con precisione. Qui a destra è visibile il pannellino da me utilizzato: cliccando QUI troverete tutte le misure per realizzarlo. Per fissare la scheda DISPLAY sul pannello sono necessari 4 distanziatori da 9,2 mm e 4 viti con testa svasata completi di dado. Per fissare la scheda Pulsanti sul pannello sono necessari 2 distanziatori da 10,5 mm e 2 viti con testa svasata completi di dado. Le teste svasate delle viti andranno a "nascondersi" sulla svasatura effettuata in precedenza sul pannello in plexiglas in corrispondenza dei fori per le 6 viti. I circuiti stampati andranno poi fissati sul pannello di plexiglass realizzando come una sorta di sandwich: i pulsanti, il LED ed il gruppo display dovranno risultare a filo con la superficie del pannello. I fori per i pulsanti devono essere 9,5-10 mm di diametro mentre per il LED sono sufficienti 5 mm. L'apertura per il gruppo display misura 17,9 x 40,8 mm. Le immagini successive mostrano il risultato finale del "sandwich" ed il prototipo costruito dall'autore (cliccare sulle foto per ingrandirle): da notare l'assenza, sulla superficie del pannello, di componenti o viti sporgenti. LA REALIZZAZIONE DELLA SERIGRAFIA [ TORNA ALL'INDICE ] La foto qui a sinistra mostra la serigrafia da applicare al pannellino. Una volta applicata la serigrafia, quest'ultima deve essere protetta con uno strato di carta adesiva trasparente ed il pannello è finalmente pronto per essere applicato al coperchio del bromografo. La foto qui a destra mostra il risultato finale una volta inserito il pannellino nel coperchio: io ho fatto fare sul coperchio del vano cavi, oltre all'apertura per il passaggio dei cavi, una piccola scanalatura da 4 mm ai bordi (vedi foto sotto) per poter fisicamente inserire il pannellino. Se non conoscete un buon falegname in grado di farvi fare questo lavoro, potete fissare in pannellino sul coperchio fissandolo con quattro viti agli angoli (ma un'apertura deve essere fatta ugualmente, anche se non a regola d'arte, visto che verrà "coperta" comunque dal pannellino). IL FUNZIONAMENTO [ TORNA ALL'INDICE ] Il funzionamento di questo Timer (e dell'intero bromografo) è semplicissimo.
Per impostare i Minuti, premere una o più volte il pulsante +1 Min. (con la cifra "9", la successiva pressione del pulsante farà apparire nuovamente uno 0 e così via). Per impostare le decine di Secondi, premere una o più volte il pulsante +10 Sec. (con la cifra "5", la successiva pressione del pulsante farà apparire nuovamente uno 0 e così via). Per impostare i Secondi, premere una o più volte il pulsante +1 Sec. (con la cifra "9", la successiva pressione del pulsante farà apparire nuovamente uno 0 e così via). Una volta effettuata la programmazione (e controllato che il LED DLverde, se installato, sia regolarmente acceso) è possibile avviare il conteggio premendo il pulsante Start/Pause. Il LED UV-A neon diventa rosso e il valore sul gruppo display comincerà a decrementarsi (questa è la fase di countdown, lo sentirete anche dal caratteristico "toc" emesso dal buzzer ad ogni secondo). Una volta terminato il conteggio, i neon UV-A si spengono e sul gruppo display lampeggia il valore della programmazione iniziale: inoltre il LED UV-A neon tornerà nuovamente verde ed il buzzer emetterà 3 beep ad indicare il fine conteggio. Durante il countdown è possibile spegnere momentaneamente i neon UV-A premendo il pulsante Start/Pause: in tal caso il bromografo rimane in attesa mentre il display visualizza il tempo rimanente. Durante questa fase di PAUSA è possibile "correggere" la programmazione agendo sui pulsanti dei MINUTI e dei SECONDI per variare il tempo rimasto. Premere nuovamente il pulsante Start/Pause per far ripartire il conteggio da dove era stato fermato (o, eventualmente, dal nuovo valore programmato durante la pausa). Se durante il conteggio si apre il coperchio del vano neon, i neon stessi si spengono ed il conteggio si ferma momentaneamente in attesa di riprenderlo automaticamente alla chiusura del coperchio: quando, come in questo caso, lo spegnimento dei neon è causato dall'apertura del coperchio (accidentale o meno), è possibile fare solo due operazioni: premere il pulsante Reset (e quindi ripristinare il bromografo nello stato iniziale, con il display che visualizzerà 0:00) oppure premere il pulsante Start/Pause per entrare in PAUSA ed effettuare, eventualmente, modifiche alla programmazione: in quest'ultimo caso, per far ripartire il bromografo, oltre che vhiudere il coperchio, sarà necessario premere ancora il pulsante Start/Pause . Il pulsante Reset è sempre attivo ed in ogni caso la sua pressione provoca un reset generale del bromografo, riportandolo nello stato iniziale di stand-by (Tubi UV.A spenti) e azzerando il display (0:00). Per effettuare il TEST dei Display (cioè per controllare che tutti i segmenti funzionino alla perfezione) è sufficiente premere il pulsante Start/Pause quando il display segna il valore 0:00: in tal modo saranno visualizzati in sequenza le tre cifre del display con tutti i segmenti accesi. N.B. - Per chi non riesce a trovare il Buzzer autoscillante da 5V, ho creato una seconda versione del Firmware adatta all'utilizzo dei normali Buzzer non autooscillanti (come ad esempio, il modello Kepo KPM 1205A) o comunque buzzer funzionanti a 4-8 V. AGGIORNAMENTI / UPGRADE / ERRATA CORRIGE [ TORNA ALL'INDICE ] Nel nuovo firmware versione 2.0 (o successive) sono state aggiunte le seguenti funzioni: Memorizzazione del tempo su Eeprom - In questo modo a fine conteggio, il display visualizza nuovamente il tempo impostato dopo l'ultimo Start. Non solo, ma anche una volta spento, il tempo rimane comunque memorizzato fino alla successiva accensione del bromografo (per realizzare questa funzione, il programma memorizza il tempo sulla Eeprom interna al microcontrollore). Per resettare il tempo, premere il pulsante Reset. Test display all'accensione - All'accensione, il bromografo esegue subito il test dei display. Nel nuovo firmware versione 3.0 o successive, le cifre del display lampeggiano a fine conteggio: alla pressione di un qualsiasi tasto torneranno fisse. Il nuovo firmware versione 4.0 è stato ottimizzato e "unificato" per essere usato con entrambi i tipi di buzzer (oscillanti e non-autooscillanti). 1 - Alcuni utenti lamentano un eccessivo surriscaldamento dello stabilizzatore. Consiglio, quindi, di alimentare il circuito con una tensione di 9 Vcc e di alettare comunque lo stabilizzatore, specilamente se si prevede un uso intensivo del bromografo. Una soluzione ottimale potrebbe essere quella di montare lo stabilizzatore su un dissipatore esterno più grande: poi, con 3 spezzoni di filo, si collegherà lo stabilizzatore alla scheda. 2 - Per preservare l'integrità del transistor Q5 è consigliabile applicare in parallelo al Buzzer un diodo 1N4148 con il catodo (K) rivolto verso il positivo. 3 - Per l'integrato U3 consiglio di utilizzare la versione CMOS High Speed quindi vanno bene i chip CD74HC4543, SN74HC4543 oppure M74HC4543. Cliccando sui link seguenti si possono scaricare il manuale tecnico e il datasheet del microcontrollore PIC16F628A.
LE FOTO DEL BROMOGRAFO AUTOCOSTRUITO [ TORNA ALL'INDICE ]
|