HOME


Il temporizzatore

Da un millesimo di secondo a mille ore!

 

Il Nutchip incorpora un  timer programmabile a piacere. Si possono impostare tempi su un intervallo vastissimo, da 1 millesimo di secondo fino a mille ore (pari a più di 40 giorni!).
Il temporizzatore si inserisce nella tavola della verità sotto forma di una condizione speciale, il timeout. Nel timeout si specifica un tempo: il tempo comincia da quando si entra nello stato. E' un pò come un ingresso che scatta e verifica la condizione il tempo si esaurisce, facendo cambiare stato al Nutchip.

timeout.gif (893 byte)

In questo esempio il timeout dura un minuto da quando si entra nello stato st01. Passato il minuto si passa allo stato st00.

Ogni stato può avere un solo timeout per volta, ma se servono più tempi basta aggiungere nuovi stati.Ogni stato può avere un timeout diverso. Il timeout si crea con un apposito pulsante: nella tavola della verità prende il posto normalmente occupato dalle condizioni sugli ingressi e telecomando. E' perfettamente normale che uno stato contenga oltre al timeout anche altre righe con le condizioni sugli ingressi o sul telecomando.

Inserimento di un timeout

icon_timeout.gif (587 byte)

Con questo pulsante si aggiunge un timeout alla tavola. Il timeout è anch'esso una condizione. Le righe di timeout contengono un tempo ed uno stato successivo. Se il tempo scade senza che nessun'altra condizione si sia verificata, si passa allo stato successivo indicato. Il timeout è sempre valutato per ultimo, in coda a tutte le altre eventuali condizioni.
Si può inserire un solo timeout per ogni stato: per questo il pulsante si disattiva automaticamente se lo stato corrente ha già un timeout. I timeout si possono inserire in tutti gli stati, anche con tempi diversi uno dall'altro. Se la riga corrente non appartiene a nessuno stato, verrà creato anche un nuovo stato,  altrimenti il timeout verrà inserito nello stato corrente.

 

time_change.gif (2087 byte) Cliccando sulla durata di un timeout compare questa finestra, dalla quale si può modificare i tempo impostato. Si può inserire un intervallo compreso fra i seguenti limiti:
  • da 1 a 1000 mS (millisecondi)
  • da 1 a 1000 sec (secondi)
  • da 1 a 1000 min (minuti) 1000 minuti = 16,6 ore
  • da 1 a 1000 hour (ore)  1000 ore = 41,6 giorni.

 

Modalità tempo rimanente

Se non barriamo la casella "tempo rimanente" il timer viene ricaricato non appena si entra nello stato che contiene il timeout. Se ad esempio inseriamo un timeout nello stato st02, il timer si ricarica tutte le volte che da uno stato qualsiasi passimo nello stato st02.

Barrando la casella "tempo rimanente" il timer non viene ricaricato quando si entra nello stato, e si utilizza invece l'eventuale tempo residuo dallo stato precedente.
Usiamo il tempo rimanente per generare un timeout che si estende su più di uno stato, una particolarità molto utile ad esempio nei timer ciclici.

Esempio: Un timer ciclico deve accendere una pompa ogni ora. La pompa si spegne automaticamente dopo 10 minuti, o anche prima se un galleggiante chiude un ingresso.   

Si realizza con tre stati:

  1. il primo stato accende la pompa con un timeout di 10 minuti
    in più ha una condizione sul galleggiante per passare subito al secondo stato
  2. nel secondo stato si aspetta il tempo rimanente a pompa spenta (se il galleggiante non è intervenuto questo tempo è zero e si passa subito al terzo stato)
  3. nel terzo stato si attendono 50 minuti per completare il ciclo di un'ora.

In questo caso la temporizzazione di 10 minuti si estende sul primo e sul secondo stato. Se il galleggiante interviene prima che i 10 minuti siano passati, il secondo stato completa l'attesa fino a 10 minuti esatti. L'accoppiata degli stati 1+2+3 dura quindi sempre ed esattamente 60 minuti, così è facile rispettare il ciclo di un'ora richiesto.

Il tempo rimanente al momento del RESET è sempre zero.

Timer con ingresso di ricarica

Un timer che si ricarica eccitando un ingresso si realizza con facilità. Supponiamo di avere inserito un timeout nello stato st02.
Nulla vieta di aggiungere ad st02 una condizione che, avverata, rimanda allo stesso stato st02. Una condizione del genere genera un ri-entro nello stato il cui effetto è ri-caricare il timer, senza variare le uscite e senza richiedere l'inserimento di nuovi stati..

 

Approfondimento: precisione del timer

La precisione del timer è legata all'oscillatore (clock) usato. Utilizzando un oscillatore ceramico la precisione va dallo 0,5 all'1%, a cui va aggiunta una variazione più o meno uguale dovuata agli sbalzi termici.
Se si realizzano dei timer ciclici, dove l'errore accumulato si conserva giorno dopo giorno, è necessario utiizzare una sorgente di clock più precisa. Un oscillatore al quarzo ha una precisione iniziale solitamente migliore di 20 ppm (parti per milione). Poiche in un mese ci sono circa 2,5 milioni di secondi, ciò equivale ad un errore di circa 2,5 x 20 = 50 secondi. Se anche questo scarto fosse ritenuto eccessivo, allora sarà necessario calibrare la frequenza del quarzo utilizzando un compensatore della capacità di pochi pF.

Queste tolleranze possono risultare sorprendenti: se lo 0,002% dà luogo ad un errore di 50 secondi al mese, come è possibile che gli orologi al quarzo, compresi quelli economici, funzionino tanto bene? La risposta si chiama stabilizzazione termica. Chi costruisce orologi da polso conta sul fatto che la loro temperatura rimarrà pressochè costante a 36 gradi, grazie al contatto termico col corpo umano. A ciò bisogna aggiungere che le Industrie dispongono dei mezzi necessari per misurare ed accertare con precisione l'esatto valore di capacità in grado di compensare lo scarto in frequenza di un lotto di quarzi.

Jitter: la commutazione delle uscite avviene con uno jitter (fluttuazione) mediamente migliore di 2 mS (caso pessimo: 6 mS). Gli stati con il numero più basso hanno anche il migliore jitter. Il Nutchip ha un meccanismo di recupero del jitter che eventualmente sottrae il tempo di commutazione al tempo del passo successivo. Il jitter quindi non si accumula per temporizzazioni cicliche. In pratica, impostando il timer con tempi maggiori di 10 mS non dovrete mai preoccuparvi del jitter.