Go Down

Topic: RTC shield impostazione data/ ora (Read 8919 times) previous topic - next topic

lucadh

sarà sicuramente fatto!!  purtroppo ultimamente non ho molto tempo. appena riesco mi studio i2c bus e provo con le R. poi vi farò sapere... grazie a tutti!!

lucadh

Ho letto un po sul bus i2c. E credo che le resistenze di pull up siano presenti sulla shield... ho guardqto uno schema su google e sulle shield sono presenti.

gpb01

Immagino sia questo shield QUI vero ?

Non vedo lo schema (non mi sembra lo pubblichino), ma, effettivamente, sulla scheda vedo delle resistenze ...  :smiley-roll:

Se il bus I2C è correttamente terminato, allora deve essere qualche altra cosa ...
... hai fatto la prova senza null'altro (... altri devices) sul bus I2C ? Ti da lo stesso problema ?

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

MasterPi

Mmm... prova una cosa: Togli l'integrato dallo zoccolo e rimettilo. Lo so, sembra ridicolo ma molte volte un'integrato non ben inserito nel corrispondente zoccolo può causare molti problemi, in particolar modo in comunicazioni seriali/i2c/ ecc ;)

leo72

Ho chiesto delle R di pull-up perché l'Arduino attiva di default le pull-up interne ai pin A4 e A5 quando viene usato l'I2C.

lucadh

ho provato con un arduino uno senza altre periferiche. solo la rtc shield  con lo sketch di esempio. funziona bene senza problemi.
quindi o disturbo dei pin in qualche modo oppure la sonda di temperatura su bus crea problemi(però ho provato a staccarla e non cambia nulla).  per quanto riguarda i pin non credo di usare dei pin della shield per altre cose. 
la RTC shield usa SCL,SDA, (oppure saldando sotto la shield si usa il A4 e A5) e alimentazione giustro? non ne usa altri...

lucadh

#21
Nov 01, 2013, 06:27 pm Last Edit: Nov 01, 2013, 06:56 pm by lucadh Reason: 1
ho notato questo: nella cartella RTClib ci sono 3 esempi: DATECALC, DS1307 e softrtc. se uso softrtc funziona bene, mi cambia l'ora nel momento in cui carico lo sketch ed è sincronizzata con l'ora pc e non va a 99 secondi.
Se uso DS1307 invece da problemi, non cambia l'ora quando carico lo sketch e rimane sempore indietro di 2 minuti, arriva a 99 secondi ecc...

che differenza c'è tra i 2? oltre tutto se vado a inserire nel mio sketch quello softrtc mi da errori nella compilazione...

leo72

CI sono solo 2 differenze macroscopiche fra i 2 sketch, DS1307.pde attiva il segnale di clock dell'RTC sul suo piedino esterno e poi controlla con RTC.isRunning se il chip sta correttamente tenendo l'ora.

Prova a togliere la batteria per qualche secondo. Rinnovo l'invito a ricontrollare se la batteria è carica.

lucadh

quindi potrebbe essere che disturbo quel piedino? devo capire quale e controllo..

MasterPi

Il problema dei secondi che arrivano a 99 ecc ecc che hai con lo sketch DS1307 appare solo quando usi l'rtc assieme ad altre perifiche o accade sempre?
Ti chiedo questo perchè lo sketch softrtc, come suggerisce il nome stesso, consente allo sketch di "tenere" il tempo in base al clock interno (vedi la funzione millis() di arduino) a patto che sia prima inizializzato ovviamente attraverso il metodo rtc.begin(Datetime(......)); in altre parole: non dipende dall'rtc!!! Se noti nel file cpp con l'implementazione Millis() non vi è alcuna comunicazione con il DS1307, il tempo viene tenuto esclusivamente tramite clock interno dell'atmega . Invece lo sketch DS1307 consente allo skecth di "tenere" il tempo attraverso una comunicazione continua (domanda-risposta, domanda-risposta)  con l'rtc fisico, il DS1307.
Se il problema sussiste anche in assenza di altre periferiche il problema è essenzialmente una cattiva comunicazione che può essere dovuta a brutte saldature, integrato non inserito correttamente, batteria scarica, o anche potrebbe essere lo stesso integrato difettoso, per cui bisogna fare degli attenti controlli col tester sull'hardware. Ripeto, è normale che ti funzioni lo sketch softrtc, esso si basa esclusivamente sulla funzione millis() di arduino e basta.

lucadh

ok. no io vorrei usare lo sketch col clock della shield, quindi del DS1307. controllo bene saldature e componenti(ho altri DS1307 provo a sostituirlo)


lucadh

scusate ma in totale quali pin usa?  solo sda, scl o in alternativa 4 e 5 analogici?

MasterPi


scusate ma in totale quali pin usa?  solo sda, scl o in alternativa 4 e 5 analogici?

I pin A4 e A5 di arduino sono quelli predisposti per la comunicazione i2c e sono rispettivamente SDA e SCL. Per cui si, sono quelli i pin utilizzati per comunicare con l'rtc nella fattispecie...

lucadh

si i pin 4 e 5 per usarli bisogna saldare le piazzole sotto la shield. non saldandole usa i pin sda scl presenti su arduino uno rev3. quindi non sono disturbi sui pin dato che quelli li usa solo la shield. provo a cambiare i componenti....

Go Up