HOME                                                              

                                                    "DOPPIO TIMER CICLICO 24 ORE"

Salve, il circuito che vi propongo si basa sul microcontrollore "PIC-16F84" prodotto dalla Microchip, grazie al quale con pochi altri elementi di contorno ho realizzato un preciso timer ciclico 24 ore, controllato al quarzo. In verità si tratta di un doppio timer con due uscite indipendenti "out-A" ed "out-B"; in ognuno dei quali è possibile memorizzare fino a quattro programmazioni giornaliere. All'occorrenza i contatti del "relè 1 - out-A" e del "relè 2 - out-B", si possono collegare in parallelo ottenendo in questo modo un solo timer con otto possibili programmazioni giornaliere. I dati in questione sono memorizzati nella EEPROM interna del PIC, perciò anche se spegnerete il dispositivo per riaccenderlo in seguito, i dati non andranno persi e si ripresenteranno come l'ultima volta che avrete spento; tranne ovviamente l'orologio interno che dovrete aggiornare tutte le volte che accenderete il dispositivo. schema

Facendo riferimento alla "tabella A" di programmazione, comprendiamo subito che dei nove posti programma disponibili, i primi quattro sono assegnati al "timer A" ed i successivi quattro al "timer B". La parte sinistra del nono posto programma è assegnata all'orologio interno, mentre la parte destra ci servirà per correggere l'errore in secondi che inevitabilmente il timer accumulerà nell'arco delle 24 ore, a causa della tolleranza del quarzo.   

    " TABELLA  A"

 

     ACC.

    SPEGN.

 1 A

   18:30

    20:45

 2 A

    21:00

    23:00

 3 A

   92:33

    91:55

 4 A

   93:20

    93:20

 5 B

   19:00

    20:00

 6 B

   22:00

    00:00

 7 B

   91:55

    93:20

 8 B

    92:30

    93:20

  9

 ORARIO

 CORREZ.

  0

 PARCHEGGIO

 PARCHEGGIO

 

Come si vede ogni posto programma è praticamente doppio, la parte sinistra contiene l'ora di accensione e la parte destra l'ora di spegnimento. Il posto programma lo selezioneremo impostando il numero corrispondente sul contravers "P", sugli altri quattro contravers imposteremo l'ora da inserire. Il posto programma "zero" è di parcheggio, in questa posizione i pulsanti "ACC" e "SPEGN" non sono operativi; prevenendo programmazioni involontarie.

 

Per le programmazioni procederemo nel modo seguente:

1)       Disegnare a parte la "tabella A" di programmazione senza gli orari riportati che sono solo d'esempio.

2)      Scrivere nei vari riquadri le ore di accensione a sinistra e le ore di spegnimento a destra, nei  riquadri che non useremo scrivere un nove al posto della prima cifra delle ore, in questo modo il software ignorerà tali riquadri.

3)      Impostare sul contravers "P" il n° 1.

4)      Impostare sugli altri quattro contravers l'ora di accensione relativa al posto programma   n° 1  e quindi premere il pulsante "ACC".

5)      Impostare successivamente l'ora di spegnimento sempre relativa al posto programma  n° 1   e quindi premere il pulsante "SPEGN".

6)      Ripetere i punti dal  3)  al  5)  per tutti i posti programma dal  n°1  al  n°8 e conservare la "tabella A" per eventuali future consultazioni o modifiche.

7)      Impostare il n°9 sul contravers "P", impostare l'ora attuale sugli altri quattro contravers e quindi premere il pulsante "ACC"., da questo momento sarà aggiornato l'orologio interno del timer che inizierà a funzionare.

8)      Impostare successivamente "0000" corrispondente alla correzione dell'ora come vedremo in seguito e quindi premere il pulsante "SPEGN".

A questo punto avrete notato che ad ogni pressione dei pulsanti "ACC".  e  "SPEGN". Il "leed 1" si accenderà brevemente, indicando così l'avvenuta programmazione; e che lo stesso  lampeggia ad intervalli regolari scandendo l'inizio di ogni minuto. Adesso controllando sul quadrante di un preciso orologio, dobbiamo appuntarci su un foglio di carta, in prossimità di quale secondo si accende il "leed 1" del timer, lo stesso controllo lo rifaremo dopo 24 ore, verificando di quanti secondi in ritardo si accende il "leed 1" rispetto alla posizione di 24 ore prima. Se il "leed 1" si accende con un ritardo supponiamo di 12 secondi, allora dovremo impostare sul contravers "P" il n° 9 e sugli altri quattro "0012" e premere il pulsante "SPEGN". 

In questo modo il software provvederà automaticamente a correggere l'errore accumulato nell'arco delle 24 ore,  rendendo il timer ancora più preciso. Fare attenzione nel compilare la "tabella A", in quanto non è consentito che tra le quattro programmazioni del "timer A" vi siano degli accavallamenti o sovrapposizioni di orari, nel qual caso il timer funzionerebbe male; ovviamente lo stesso discorso vale per il "timer B". Però è permesso che vi siano accavallamenti o sovrapposizioni di orari tra i due timer, in quanto essi funzionano in modo indipendente l'uno dall'altro, come vedremo nell'esempio riportato nella "tabella A".

In qualsiasi momento è possibile modificare il contenuto delle memorie dei posti programma oppure aggiornare l'orologio interno.  Per concludere facciamo ora un esempio. Considerando i dati inseriti nella "tabella A" di programmazione,  possiamo intuire subito che il "relè A" si attiverà alle ore 18:30 per poi spegnersi alle ore 20:45, durante questo intervallo di tempo il "relè B" si chiuderà alle ore 19:00 per poi riaprirsi alle ore 20:00. 

Questo che abbiamo appena visto è un esempio di sovrapposizioni di orari. Successivamente alle 21:00 si chiuderà il "relè A"  e alle 22:00 anche il "relè B", in fine alle 23:00 si aprirà il "relè A" e alle 00:00 il "relè B". Quest'ultimo invece è un esempio di accavallamento di orari. I campi d'impiego di questo timer sono svariati, io ad esempio lo uso nel mio acquario per accendere la luce ad intervalli e durata prestabiliti col "relè A" e per rilasciare dentro la vasca il mangime per i pescetti col "relè B".

Per quando riguarda il montaggio, tenere conto che i cinque contravers dovranno essere collegati tutti in parallelo; dopo però che avremo collegato quattro diodi 1N4148 alle quattro uscite di ognuno di loro, come nell'esempio. La Batteria in tampone da 3V. consentirà all'orologio interno di continuare a scandire il tempo qualora dovesse mancare per brevi periodi la 220 VAC di rete.

Con questo credo di aver detto tutto, aggiungo soltanto che se non vi va di digitare il file sorgente che troverete di seguito, fatemene richiesta all'indirizzo  e-mail e con piacere ve lo invierò. Vi auguro quindi buon divertimento e per qualsiasi chiarimento o suggerimento vi prego di contattarmi.

IT9DPX - #135  (Francesco M.)