Circuito timer conto alla rovescia di 6 mesi


8

Devo progettare un circuito di temporizzazione. Dopo una durata di 6 mesi deve accendersi un LED. Il LED può quindi essere spento premendo un pulsante e il conto alla rovescia di 6 mesi deve ricominciare. Qualcuno ha idea di dove vorrei iniziare? Un timer 555 è in grado di fare qualcosa per un periodo di questa durata o avrei bisogno di qualcos'altro? Qualsiasi aiuto sarebbe molto apprezzato..

[aggiunto] verrà usato come promemoria per cambiare un filtro dell'acqua, quindi dovrebbe essere spento una piccola batteria..qualcosa di piccolo, facile da configurare e con un basso consumo di corrente sarebbe anche utile..ogni aiuto apprezzato..grazie per l'ingresso precedente ..

led  timer  555 

7
Deve essere portatile o sarà collegato a un alimentatore CA? In tal caso, potresti contare incroci a 60 (o 50) Hz, che sono molto precisi nel lungo periodo.
Tcrosley,

1
Non provare a utilizzare l'alimentatore CA: non puoi contare sull'alimentazione per 6 mesi consecutivi senza prendere misure straordinarie.
Michael Kohne,

1
Ho visto questa applicazione utilizzata nei filtri dell'acqua per avvisarti quando è necessario sostituire il filtro. Possono funzionare per molti anni senza dover sostituire una batteria, quindi suppongo che siano in grado di farlo molto facilmente.
Kellenjb,

3
@Vincent Conlon: di quale precisione hai bisogno? Nell'esempio del filtro dell'acqua, sono sicuro che la precisione sia orribile, ma non credo che a nessuno importi se verrai avvisato una settimana prima o dopo.
Kellenjb,

Risposte:


8

Sulla base di questa risposta , penso che un 555 non funzionerà. Avresti bisogno di un enorme condensatore e di un'enorme resistenza e la precisione sarebbe terribile.

Consiglio di utilizzare il più semplice microcontrollore a 8 bit. Dovresti gestire i numeri con attenzione, ma un PIC16F84A (o un Arduino, o molti altri dispositivi simili) potrebbero farlo. Potrei impostare un timer da 1 secondo, quindi contare 15778463 scadenze del timer, memorizzando il conteggio in una variabile a 32 bit. (Per le variabili Arduino a 32 bit, consultare http://www.arduino.cc/en/Reference/Double )


2
Um ... double? Sbagliato. Intendi long, o preferibilmente int32_t.
Nick T,

8
AH, hai ragione. Scortese, ma giusto.
spazzato il

12
Um ... int32_t? Sbagliato. Intendi uint32_t, a meno che non ti aspetti che anche il tempo torni indietro.
Toby Jaffey,

1
@Nick mentre tecnicamente vero la maggior parte delle implementazioni di microcontroller C su 8 bit non segue la promozione del tipo definito ansi. Spesso usano solo il tipo più grande nell'istruzione.
Segna il

1
Tieni presente che senza un RTC o un oscillatore esterno, la precisione qui sarà abbastanza terribile, specialmente per un periodo di tempo così lungo. E non dimenticare di scrivere periodicamente il conteggio corrente su EEPROM!
Nick Johnson,


6

Prima di tutto, è un piccolo progetto interessante, ma stai usando davvero lo strumento sbagliato. Questo è qualcosa che è stato risolto da secoli usando uno strumento noto come agenda.

ordine del giorno

Facciamolo elettronicamente comunque, solo per divertirci. Non sembra che tu abbia bisogno di una precisione molto elevata; non importa se il filtro viene sostituito un giorno prima o dopo (un giorno in 6 mesi ha una precisione dello 0,5%). Prendo atto che deve scaricare una batteria, quindi deve essere davvero a basso consumo.

Inizierò con la modifica dei requisiti . Vuoi un LED come indicatore, ma il tuo dispositivo dovrebbe essere piuttosto prominente nel soggiorno se vuoi essere sicuro di vedere il LED acceso, anche quando lampeggia. (Notiamo che potrebbe essere necessario lampeggiare per evitare che la batteria si scarichi prima che il LED venga notato; dopo tutto il LED potrebbe accendersi subito dopo che sei andato a letto.)
Vorrei usare un cicalino invece di un LED . E per evitare che il cicalino suoni nel cuore della notte avremo bisogno di un accurato controllo del tempo che ci dirà anche l'ora del giorno. Ciò significa che è uscito un 555 e dovremo fare affidamento su un microcontrollore. Un piccolo microcontrollore costa meno di 50 centesimi e l'esecuzione su un cristallo a 32.768kHz non consuma molto (per un progetto ho usato un MSP430F1101 che ha consumato meno di 4μA) e ha una precisione di minuti nel corso di mesi.
Ciò significherebbe che devi stare attento al momento in cui avvii il timer, e non è molto facile da usare.
Immettere il ricevitore dell'orologio atomico . DCF77 in Europa e WWVB in Nord America trasmettono il tempo come impulsi di 1 secondo. Il microcontrollore può funzionare su un orologio RC interno (non deve essere così preciso) e mantenere il tempo in base al codice temporale ricevuto. Per risparmiare energia, è possibile fare in modo che il ricevitore dell'orologio atomico riattivi il microcontrollore su ogni impulso di 1 secondo, in modo che il controller possa aggiornare ora e data e tornare a dormire. Ad esempio, è possibile programmare il microcontrollore affinché emetta un segnale alle 14:00 del primo sabato successivo al timeout.

Poi c'è l' alimentatore . La soluzione di microcontrollore ne richiede solo alcuneμA, quindi una cella al litio CR3032 (buona per 500 mAh) può durare diversi anni. Ma il tempo tra gli eventi è così lungo che alla fine la batteria si arrenderà a metà di un periodo di 6 mesi e il tempo di sostituzione del filtro dovuto non passerà inosservato.
Vorrei suggerire un dispositivo alimentato a rete , utilizzando un piccolo trasformatore; Ho un sacco di trasformatori 6V, 0,35VA per questo tipo di piccoli prodotti. Poiché un lungo periodo come 6 mesi non garantisce che non si verifichi un'interruzione dell'alimentazione, è necessario un backup di batteria / condensatore . Qui in Belgio abbiamo meno di 1 interruzione di corrente in 2 anni in media, il più lungo che ho vissuto è durato 2 ore. Non userei una batteria, almeno non una cella primaria. Un ricaricabile lo farà, ma usiamo invece un supercap . A 0.μUn dispositivo in esecuzione per più di 24 ore. Il microcontrollore può monitorare l'alimentazione di rete, in modo che, se si verifica un timeout di 6 mesi durante un'interruzione di corrente, il microcontrollore può posporre il segnale fino al ripristino dell'alimentazione.

Per un'applicazione che richiede così poca interazione da parte dell'utente è comunque utile avere qualche tipo di feedback . È possibile far lampeggiare un LED una volta al secondo per indicare che il timer è in esecuzione e se si desidera renderlo una versione di lusso potrebbe visualizzare il conteggio dei giorni rimanenti su un display LCD o LED a tre cifre.


modifica (commento di Ben)
In passato ho usato questi piccoli moduli ricevitore DCF77 di Conrad .

modulo dcf77

Vivo in Europa, quindi DCF77, per WWVB (Nord America) esistono moduli simili .
Le connessioni sono semplicemente alimentazione (da 1,2 V a 15 V) e 2 uscite DCF77, una non invertita, una invertita. Le uscite sono open collector, quindi con il giusto pull-up adatto a qualsiasi tensione su cui funziona il microcontrollore.


Ulteriori letture:


Ottimo approccio, ma c'è un'enorme omissione evidente quando si tratta dell'hardware che useresti per ricevere le trasmissioni di data e ora.
Ben Voigt,

@ Ben - abbastanza giusto. Aggiunto alla mia risposta.
Stevenvh,

Il tuo link per "moduli simili" è morto. Potresti fornire un numero di modello e / o aggiornare il tuo link?
bcsteeve

6

Arduino (o altro microcontrollore) con un IC orologio DS3231 super preciso in tempo reale . Quando si preme il pulsante, l'ora e la data vengono archiviate in memoria: l'MCU può girare in circolo controllando la data e l'ora e spegnersi quando è pronto; o quando si preme il pulsante si riavvia ecc.


1
+1 RTC di sicuro. DS3234 se preferisci utilizzare SPI anziché I2C.
Craig,

Questo è un ottimo chip. Lascia che tenga traccia di tutti i noiosi conteggi e tempi per te. Molto più facile che contare gli impulsi e fare tutte le conversioni in tempo reale.
captncraig,

2 ppm sicuramente è bello, ma eccessivo. Qui funzionerà un cristallo standard da 20 ppm: non credo che il minuto esatto per cambiare il filtro dell'acqua sia importante (purché non sia nel mezzo della notte).
Stevenvh,

4

La parte difficile sarebbe la precisione in un intervallo di tempo così ampio.

Potresti prendere in considerazione un oscillatore a cristallo combinato con una cascata di contatori binari. Vedere la scheda tecnica 4060 per esempi.


4

Penso che dovresti usare un timer 555 per cronometrare per intervalli di 16 minuti, e poi inserirlo in un contro circuito di qualche tipo per dividerlo. Un contatore a 14 bit renderebbe l'intervallo di circa 6,06 mesi.


3
Non dovresti usare un 555 con un periodo di 16 minuti; meglio mettere in cascata due contatori ed eseguire il 555 a una frequenza più sana (kHz o giù di lì). Meglio non usare affatto un 555 se ti interessa molto la tolleranza.
Nick T,

Un CMOS 555 funzionerà facilmente per ore. L'OP sembrava suggerire che l'accuratezza non fosse un problema.
Thomas O

Anche se l'accuratezza non è stata un problema, un 555 che corre su un arco di tempo così lungo sarà così incredibilmente inaccurato da renderlo essenzialmente un tempo arbitrario. Mi piace la soluzione MSP430 molto meglio, a buon mercato e il cristallo fornito sarà ragionevolmente accurato nel tempo richiesto.
ttt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.