Salve, il circuito che vi presento è nato dall’esigenza di alimentare giornalmente e con cadenza regolare quattro dispositivi diversi, con la possibilità di prefissarne indipendentemente l’ora d’accensione e di spegnimento, anche più volte al giorno. Essendo svariati i campi di possibile applicazione del circuito in oggetto, ho voluto renderlo disponibile a tutti tramite le pagine di questo sito. Io lo sto impiegando nel mio acquario soprattutto durante i miei allontanamenti da casa, dove ad intervalli regolari viene distribuito il mangime per i pescetti ed accesa la luce interna per l’illuminazione delle piantine. Ma tornerebbe utile anche nei negozi per cambiare tipo d’illuminazione automaticamente o per accendere l’insegna luminosa esterna ad orari prefissati. Negli ambienti di lavoro potremmo attivare luci, sirene, motori etc.etc. schema
Funzionamento
Il timer dispone di 32 posti di memoria per la programmazione giornaliera residenti in EEPROM, quindi i dati conservati in tale zona di memoria non andranno persi dopo lo spegnimento del timer e saranno sempre presenti ad ogni riaccensione. Possiamo visionare il contenuto di ogni posto programma, esercitando una breve pressione sui tasti “” per andare indietro e “¯” per andare avanti, visualizzando tali dati sulla riga in basso del display. I primi due numeri indicano il numero della memoria sotto esame ed assumeranno valori compresi tra 1 e 32. A destra di questi ultimi intervallato da uno spazio, troviamo un numero compreso tra zero e quattro indicante l’uscita da impegnare; a seguire a destra troviamo l’ora di accensione e subito dopo l’ora di spegnimento.
|
Per modificare i dati di una qualsiasi memoria visualizzata, basta premere brevemente il tasto indicato con “M”; immediatamente su ognuno dei dati visualizzati comparirà un’indicazione per ricordarne la funzione. |
“ME”
indica il numero di memoria programma sotto esame; “U” indica l’uscita da
impegnare; “ACC” l’ora di accensione ed infine “SPEGN” l’ora di
spegnimento; inoltre il cursore sarà visualizzato sotto al numero indicante
l’uscita. In questa fase di programmazione possiamo proseguire in quattro modi
diversi:
1) Confermare o cambiare l’uscita digitando il numero appropriato;
2) Disattivare la memoria digitando uno zero, in questo caso i dati successivi relativi all’accensione ed allo spegnimento, saranno ignorati dalla routine di gestione delle uscite e non presi in considerazione;
3) Premere il tasto “®” per saltare alla fase successiva, ovvero all’inserimento dell’ora di accensione, senza modificare il dato relativo all’uscita da impegnare;
4)
Premere il tasto “ ¬”
per uscire dalla fase di programmazione in corso, lasciando invariati tutti i
dati della memoria selezionata in quel momento.
Se
in questa fase tenterete di inserire un numero maggiore di quattro, il cursore
non si muoverà finché non sarà digitato un numero valido. Se avremo optato
per l’ultima delle opzioni precedenti, il software di gestione tornerà a
visualizzare l’orologio interno scandendo lo scorrere del tempo. Se invece
opteremo per una delle prime tre opzioni precedenti, il cursore si troverà
adesso sotto l’ora di accensione, da cui potremo procedere in tre modi
diversi:
1) Inserire i dati relativi alle ore ed ai minuti che andranno a sostituire i precedenti;
2) Premere il tasto “®” per saltare alla fase successiva, ovvero all’inserimento dell’ora di spegnimento, senza modificare il dato relativo all’ora di accensione;
3)
Premere il tasto “ ¬”
per uscire dalla fase di programmazione in corso.
Superata
questa prima parte, saremo giunti alla fase d’inserimento dei dati per lo
spegnimento, dove saranno valide le stesse modalità viste per l’inserimento
dei dati di accensione. Anche in questi ultimi due inserimenti, se i dati
digitati non saranno validi il cursore tornerà all’inizio, finché il dato
inserito non sarà corretto. Per la precisione, è considerato non valido
l’inserimento di un numero maggiore di 23 per le ore, oppure di un numero
maggiore di 59 per i minuti.
Volevo
inoltre precisare che il tasto “ ¬”
è attivo sempre, per cui se premuto ad esempio tra l’inserimento delle ore e
dei minuti, sarà abbandonata la fase di programmazione in corso ed i dati in
quel momento inseriti saranno ignorati e sostituiti coi precedenti. Di ciò, ci
si rende conto subito, in quanto il display sarà aggiornato dopo ogni
abbandono della fase di programmazione.
A
questo punto se vogliamo programmare un’altra memoria, dobbiamo scegliere un
altro posto programma coi tasti “”
e “¯”
, premere il tasto “M” e continuare con l’inserimento dei dati.
Come
avrete notato al flessibilità del software è tale che i 32 posti programma
possono essere impegnati come si desidera. Possiamo ad esempio assegnarli tutti
ad una sola uscita, oppure suddividerli alle quattro uscite anche in misura
diversa.
Infine,
non dobbiamo dimenticare di aggiornare l’orologio interno premendo il tasto
”H” . In questo caso il cursore si porterà sotto l’indicazione delle ore,
da cui potremo proseguire digitando i dati da inserire. Se i dati non saranno
validi il cursore tornerà indietro per un reinserimento corretto.
Anche
da questa fase si può uscire premendo il tasto “ ¬”
e l’orologio non sarà aggiornato.
Da
notare che dopo ogni aggiornamento dell’orologio interno, il conteggio dei
secondi riparte da zero, per cui per effettuare la sincronizzazione del timer
con un altro orologio, basta digitare l’ultimo numero relativo ai minuti, allo
scadere del 60° secondo dell’orologio di riferimento.
Da
questo momento in poi e fintanto che il timer sarà alimentato, ogni giorno alle
ore prefissate, le uscite saranno attivate o disattivate con regolarità.
Circuito elettrico
Il
circuito elettrico è visibile in Fig.1. Oltre al PIC troviamo una tastiera a
matrice di righe e colonne ed un display a due righe per sedici caratteri
funzionante con logica HD44780. La parte di circuito visibile all’interno del
rettangolo rosso, si riferisce al circuito di pilotaggio dei relè; anche se
sullo schema è rappresentato una sola volta, in realtà bisogna realizzarne
quattro, una per ogni uscita disponibile, da collegare oltre che al piedino 13
del PIC, anche ai piedini 12; 11 e 10.
Montaggio
Vista la semplicità circuitale, il timer può anche essere realizzato su basetta mille fori. A montaggio ultimato, dato che non ci sono punti di taratura, il timer se alimentato dovrà funzionare immediatamente, anche togliendo dal circuito tastierino e display; naturalmente dovrete prima programmare il PIC col file HEX che potrete richiedere al mio indirizzo, dove potrete anche inoltrare eventuali richieste di chiarimenti. Sperando di non aver dimenticato nulla, salutandovi auguro a tutti buon lavoro e buon divertimento.
IT9DPX - #135 (Francesco M.)