RTC DS 1307: ogni tanto invia 165:165:85

ciao ragazzi. ho un problema col mio wordclock che sto portando a termine: ogni tanto l' RTC DS1307 dà i numeri, inviando come orario 165:165:85 e correggendosi un istante dopo con l'orario corretto, ma questa "svista" mi comprimette le accensioni dei led irrimediabilmente. Ho notato che accade quasi sempre tra le 8:30 e le 9:30, ma non ho la prova certa che accade solo in questo intervallo. A volte va bene per un bel po', poi comincia a sbarellare. Ho letto che potrebbe essere un problema di falsi contatti così li ho ricontrollati tutti ma non ho trovato anomalie, e poi non accade sempre, e non accade se lo muovo. Per recuperare spazio, sulla piccola basetta millefori(4cm X 3cm) su cui ho assemblato l' RTC ho anche saldato i componenti per il sensore capacitivo : una resistenza, un piccolo condensatore e 3 pin stripline: potrebbe essere l'intima vicinanza di questi componenti all'RTC che me lo fa sballare? Ora ho staccato il sensore e disattivato le linee di codice che lo utilizzano e sto a vedere, in questa ora di prova l'RTC non ha sbarellato.

Che distanza c'è tra il RTC e Arduino?

E un bus I2C, non ama particolarmente le lunghe distanze.

ma la cosa è sistematica o sporadica? Magari lo schema elettrico di come lo hai collegato :D

Ci sono le resistenze di pullup sull'RTC?

Anch'io penso a un problema con le resistente Pullup del bus I2C. Mettine un paio di 4,7 o 2,2 kOhm. Ciao Uwe

L'evento è praticamente sistematico, ma non ho ancora capito se ripetibile, cioè è certo che prima o poi avviene, più spesso tra le 8.30 e le 9.30, ma non posso escludere anche altri orari. Lo schema è questo:

Le resistenze ci sono, 3 * 10 kOhm; il valore è corretto? La lunghezza dei cavi tra l'RTC e l'arduino è di 20 cm circa; cerco di ridurre al minimo questa distanza? Grazie mille per la vostra prontezza!

Prova di ridurre le resistenze tra SDA e SCL a 2,2kOhm. Ciao Uwe

Mi è capitato giusto ieri usando la libreria RTClib di Adafruit. Usando invece la DS1307new non mi capita mai. L'RTC è in uno shield con tutte le resistenze del caso.

I miei cavi sono sui 20 cm, sono quelli venduti a pacchi. Non ho con me un decimetro.

Alle elementari quando non avevamo il righello usavamo il pistolino come riferimento, più o meno ci prendevamo :stuck_out_tongue_closed_eyes:

Forse è colpa delle tempeste solari --> http://www.centrometeoitaliano.it/tempeste-solari-nuovo-importante-avviso-della-nasa-16-5-2013/ :grin: :grin: :grin:

pelletta: Alle elementari quando non avevamo il righello usavamo il pistolino come riferimento, più o meno ci prendevamo :stuck_out_tongue_closed_eyes:

XD

Sono diverse ore che il difetto non accade. Potrebbe essere un caso o può essere davvero perchè ho disattivato il sensore capacitivo?

Il tuo sembra un problema casuale, forse un problema di comunicazione. Il mio invece mi è sembrato sistematico, la data che leggevo era sempre sballata. Ma avrò fatto 2 o 3 prove, poi sono tornato alla precedente. Nel mio caso il DS1307 è montato su schedina insieme ad una memoria I2C e c'è lo spazio per un DS18x20 che però non è montato. Ci sono a bordo resistenze, alcuni condensatori e un diodo. Però non ho guardato lo schema.

Alle elementari quando non avevamo il righello usavamo il pistolino come riferimento, più o meno ci prendevamo

Il problema è che molti lo fanno tutt'ora: ecco perché i conti non tornano! :D

Anche perché il righello varia la sua lunghezza! :grin:

Che faccio... chiudo? ]:D

Se c'è corrente chiudi pure, visto che siamo ancora in topic?

Seriamente... aspetta almeno che questo cristiano risolve i problemi con l'rtc

Allora smettiamo di parlare di pistolotti usati come righelli, ok? ;)

Scusa leo72.

Riprendendo il discorso, proncito sembra aver risolto. Per me non si trattava di un problema, semplicemente avevo provato la libreria Adafruit ed ottenevo una serie di 165 per ogni uint8 mentre per l'unico uint16 un altro valore sballato che non ricordo. Tutti problemi che con la libreria DS1307new non ho avuto. Lo shield Adafruit è questo http://www.adafruit.com/products/264 dove c'è solo il DS1307, mentre quello che uso io è un clone di questo http://www.miniinthebox.com/it/piccolo-rtc-ds1307-i2c-in-tempo-reale-orologio-braccio-pic-modulo-per-arduino_p381451.html dove invece c'è anche una 24c32 e alcuni componenti in più.

Forse le piccole differenze hardware sono la fonte del problema.

io non so se ho risolto, ho solo detto che dopo una trentina d’ore di prova senza sensore capacitivo non ha dato errore. Ora per sicurezza ho ridotto all’ osso la lunghezza dei cavi in comunicazione I2C, e ora mi accingo a sostituire le resistenze da 10kohm con quelle da 2,2kohm come suggerito dal buon uwe. Poi sposto la circuiteria del sensore capacitivo in un’altra posizione e vedo che succede.
Se mi si dà conferma che il sensore può dare disturbo all’ RTC sarei più tranquillo anche! Non vorrei che mi si ripresentasse una volta sistemato a muro e dover cominciare daccapo!