Go Down

Topic: RTC (Read 2043 times) previous topic - next topic

maniiu

Ciao a tutti,
ho acquistato su Ebay un RTC, per l'esattezza questo

Il progetto al quale sto lavorando prevede che arduino dia l'ok ad un rele che alle 8.00 ogni sera fa andare una pompa per annaffiare..

Ma mi trovo che l'RTC perde costantemente una decina di secondi al giorno, che in sei mesi fa circa mezzora....
Tra le altre cose il collegamento è stato difficile.. (a volte andava a volte no..)

Avete qualche idea di come poter migliorare la cosa?
E' rotto il mio RTC o qualcuno di voi ha sperimentato lo stesso problema?
Si può correggere ogni giorno l'ora? Magari verificandone lo scostamento rispetto ai millis() di arduino, ma non so quanto precisa sia questa funzione... (l'idea è di lasciare sempre arduino alimentato, preservandolo solo dalle perdite estemporanee di corrente)

Grazie per l'aiuto che mi vorrete dare!  :) :) :)

Emanuele 

Brunello

Purtroppo le schedine con il DS1307 non sono dei mostri di precisione.
Il tuo va' un po' peggio della media ( circa 3/5 sec al giorno ) e dipende dalla qualita' del quarzo e dalla temperatura d'uso.
A meno che tu non abbia anche un collegamento internet, con cui potresti regolare l'ora in NTP , l'unica soluzione e' quella di reimpostare l'ora periodicamente

gpb01

... oppure, nei casi in cui serve veramente una certa precisione, invece di usare quel modulo, usare questo qui : http://www.adafruit.com/products/255 che garantisce un errore nettamente inferiore (... the ChronoDot will drift less than a minute per year) !!!

Guglielmo
Search is Your friend ... or I am Your enemy !

leo72


Si può correggere ogni giorno l'ora? Magari verificandone lo scostamento rispetto ai millis() di arduino, ma non so quanto precisa sia questa funzione... (l'idea è di lasciare sempre arduino alimentato, preservandolo solo dalle perdite estemporanee di corrente)

Peggio!
L'Arduino UNO usa un risonatore ceramico che ha un'imprecisione maggiore di diversi ordini di grandezza. Se vuoi accuratezza ma non hai modo di aggiornare l'ora in automatico ti serve un RTC compensato in temperatura come quello suggerito da Guglielmo.

uwefed

Penso che la imprecisione non sia grave per l' uso che fai. Le piante mica stanno lí col cronometro in mano ad aspettare che vengano inaffiate.  ;) ;) ;)

Un segnale di tempo preciso puoi ricavare da un ricvitore GPS, GSM, WiFi (e internet e server NTS), segnale RDS della radio a onde ultracorte, segnale DCF77, dal Tuo PC...

Ciao Uwe

maniiu

Grazia a tutti..
Almeno l'imprecisione sembra non dipendere da miei errori :)
Che delusione però..
Allora procederò in questo modo..
Metto un bel lcd che mi visualizzi l'ora ed un pulsantino che mi fa andare avanti di un minuto l'ora impostata.. così mi rendo indipendente dal pc., quando vedo che la differenza è esagerata (oltre il limite di sopportazione delle piante :) )
Cosa ne pensate?

PaoloP

Buona soluzione.

Ma a questo punto, visto che hai il LCD, azzarderei anche un menu per reimpostare l'ora. non solo per farlo scattare in avanti di qualche minuto.  ;)

maniiu

già ma non ho i tasti nell'lcd...
ci penso su..
intanto devo far visualizzare l'ora.. secondo te l'arduino mi tiene in parallelo sui 5v l'RTC e l'LCD?

PaoloP

Si.

Per i collegamenti puoi fare riferimento a questi --> http://forum.arduino.cc/index.php/topic,146152.0.html

maniiu

L'appetito vien mangiando...

Secondo voi è possibile alimentare l'lcd dai pin digitali? Così passati 30 secondi si può spegnere..
Ho trovato due tastini.. Pensavo di gestili così
- uno come un "menu/avanti": se premuto accende l'lcd, se premuto per cinque secondi entra nelle impostazioni, poi va avanti nei menu, e sul settaggio ora.
- l'altro come "indietro/salva": se premuto per cinque secondi salva le impostazioni, altrimenti torna indietro nei menu e sul settaggio dell'ora
O mixando meglio i due..

Vi tengo aggiornati

leo72


L'appetito vien mangiando...

Secondo voi è possibile alimentare l'lcd dai pin digitali?  Così passati 30 secondi si può spegnere..

Cattiva idea. Pilota l'alimentazione con un semplice transistor collegato ad un pin.

Quote

Ho trovato due tastini.. Pensavo di gestili così
- uno come un "menu/avanti": se premuto accende l'lcd, se premuto per cinque secondi entra nelle impostazioni, poi va avanti nei menu, e sul settaggio ora.
- l'altro come "indietro/salva": se premuto per cinque secondi salva le impostazioni, altrimenti torna indietro nei menu e sul settaggio dell'ora
O mixando meglio i due..

Vi tengo aggiornati

Fattibilissimo. Su un vecchio progettino che ho realizzato (Micrologio) addirittura ho usato un solo pulsante per programmare l'ora e la data nonché le impostazioni dello stesso orologio  ;)

maniiu

#11
May 22, 2013, 12:21 pm Last Edit: May 22, 2013, 12:30 pm by maniiu Reason: 1
Ciao ancora,
allego lo schema del circuito.. (non ho riportato il carico sul rele)
Ho fatto errori?
(considerate il collegamento al pin 0 ed al pin 1 come una cosa di comodo.. in realtà non li collegherò a questi pin!)
Grazie ragazzi

PaoloP

Se usi la seriale, e comunque per non disturbare la programmazione del micro, non devi usare i pin 0 e 1. Lasciali liberi.

maniiu

dubbio amletico..
Per comandare il relè uso un transistor Tip121 che avevo disponibile, è che ho calcolato andare bene..
ne ho un altro, secondo voi è adatto anche per alimentare il display attraverso un pin digitale ed i 5v? La resistenza in serie alla base di 1000 ohm dovrebbe andare bene... ?

TNK!!!

leo72

Secondo me è sovradimensionato ma va bene. La retroilluminazione di un LCD sarà sul centinaio di mA, 200 mA sui modelli più esosi come il mio 20x4 ( ]:D), molti meno sui 16x2 più piccoli e recenti. Controlla sul datasheet del tuo modello, casomai, e se ce l'hai in casa puoi usare un BC337 o un 2N2222. Ma anche un BC547 se stai sotto ai 100 mA.
La resistenza sulla base andrebbe calcolata sul consumo del display ma diciamo che in linea di max 1K va bene.

Go Up