HOME

  Timer ciclico programmabile

Introduzione

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.)