Pages: [1]   Go Down
Author Topic: DS1307  (Read 1124 times)
0 Members and 1 Guest are viewing this topic.
Bologna
Offline Offline
God Member
*****
Karma: 6
Posts: 547
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho visto si internet questo integrato e dicono che restituisca tramite i2c data e ora... Mi chiedo, ma come uò essere? Va prima settato e poi ogni volta che si spegne va risettato? qualcuno di voi l'ha mai usato?
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2168
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si, si collega in I2C
Ci sono un sacco di librerie per gestirlo
Va' settato una sola volta ( eventualmente un aggiustamento dei secondi ogni tot mesi )
Usa una sua batteria per mantenere ora e data corretta

Quote
Mi chiedo, ma come uò essere?
Miracolo
Logged

Bologna
Offline Offline
God Member
*****
Karma: 6
Posts: 547
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

aaah, ok! Ho fatto questa domanda perchè su internet avevo visto un chip con un nome simile che si collegava a francoforte per l'orario. ma non si potrebbe far compiere questo lavoro ad attiny visto che sei tu a settare data e ora? Oppure direttamente in uno sketch su arduino? per avere meno componenti tra le mani...
p.s. Ho fatto questa domanda perchè nella discussione de ilmandorlone avevo visto un chip con un nome simile che si collegava a francoforte per l'orario, e mi chiedevo se anche questo avesse la stessa proprietà.
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2168
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

DCF77.... e' il nome del collegamento via radio ( onde lunghe ) da Francoforter ( o ha cambiato postazione ? )

Il DS1307 e' un chip ( RTC ) specializzato per il mantenimento della data e ora . usa un suo quarzo ( 32.768 hz ) e una sua batteria di backup ( CR2025-CR2032, etc )
Il settaggio della data e ora si fa' una tantum, ovvero quando lo accendi la prima volta.
 Arduino o il Tiny, senza un sistema di batteria in tampone, a ogni riavvio o reset dovresti reimpostare l'ora e la data

E' come l'orologio di un PC, cambia nome del chip, ma il risultato e' lo stesso

Si, potresti anche usare il DCF77 per sincronizzare l'ora su arduino. Solo che e' un segnale molto particolare, legato alle condizioni ambientali ( propagazione nella ionosfera ) e quindi possono passare ore o giorni, prima che riesca a sinconizzarsi ( normalmente lo fa' durante la notte, quando le condizioni sono piu' favorevoli )

In conclusione. Il modo piu' sicuro e rapido e' un RTC, come appunto il DS1307
Poi c'e' chi sincronizza l'RTC con DCF77 o NTP ( un servizio di sincronizzazione via internet ), ma e' solo per avere l'orario il piu' esatto possibile
Logged

Bologna
Offline Offline
God Member
*****
Karma: 6
Posts: 547
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Capito. Quindi è un semplice integrato che la ore con una batteria come quello dei pc sostituibile con un attiny+batteria.
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2168
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Capito. Quindi è un semplice integrato che la ore con una batteria come quello dei pc sostituibile con un attiny+batteria.

si, ma farlo non ha senso.
Hai un chip specializzato, che ti costa meno , che devi solo collegare e usare....
perche' cercare di fare un clone
Logged

Bologna
Offline Offline
God Member
*****
Karma: 6
Posts: 547
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Giusto, giusto. Grazie molte Brunello! Proprio un utente... DOC! smiley-yell
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 333
Posts: 22973
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi permetto di entrare nella discussione per "difendere" la possibilità di far svolgere ad un microcontrollore anche il compito di RTC.  smiley-sweat

Non è detto che si perda precisione, il mio Micrologio lo dimostra: la si perde senz'altro nei confronti dei chip RTC termocompensati oppure di quei dispositivi che si sincronizzano in automatico a servizi orari esterni ecc... ma nei confronti di un economico DS1307 anche il modulo interno dell'Atmega328 può svolgere egregiamente il suo compito, facendo risparmiare l'RTC esterno.

Poi ovviamente dipende da caso a caso ma se l'applicazione è semplice, io voto per il risparmio del chip dedicato e per l'uso della MCU.
Logged


Bologna
Offline Offline
God Member
*****
Karma: 6
Posts: 547
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sono anche io della tua decisione Leo; trovo soldi e (sopratutto) spazio (visto che i pbc più piccoli sono meglio è smiley-sweat) sprecati. Comunque ognuno la pensa come vuole, e non escludo che un giorno un ds1307 non sia sul mio banco da lavoro!!! smiley-mr-green
Logged

Torino
Offline Offline
God Member
*****
Karma: 3
Posts: 766
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti ,mi aggiungo anche io per darti un approfondimento ulteriore sul DS1307,ti do un link dove mostra come leggere e scrivere senza usare una libreria http://www.logicaprogrammabile.it/usare-modulo-rtc-ds1307-arduino/ ma usando semplicemente i suoi registri,altra cosa utile è che dispone di una ram di 56byte (56 parole da 8 bit) che si possono usare ad esempio per memorizzare un evento tipo una sveglia o un appuntamento o altro.
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 333
Posts: 22973
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

altra cosa utile è che dispone di una ram di 56byte (56 parole da 8 bit) che si possono usare ad esempio per memorizzare un evento tipo una sveglia o un appuntamento o altro.

Detta così pare quasi che basta scrivere nella RAM questi dati per avere automaticamente eventi tipo reminder. In realtà quella è appunto una memoria tampone, dove tu puoi scriverci i valori che ti pare, anche quelli di un allarme.
Sta però all'utente gestire poi l'evento.

In quella RAM, in definitiva, puoi memorizzarci di tutto, anche una password, se ti va. Ovviamente a runtime e tenendo conto che se il chip viene scollegato dalla batteria tampone quei dati si perdono e vanno riscritti dallo sketch all'avvio del programma.

EDIT:
se si vuole un RTC hardware capace di funzioni di allarme, c'è il PCF8563. Ovviamente DIP8, I2C e con libreria per Arduino come il DS1307.
« Last Edit: December 03, 2012, 03:30:10 am by leo72 » Logged


Torino
Offline Offline
God Member
*****
Karma: 3
Posts: 766
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Detta così pare quasi che basta scrivere nella RAM questi dati per avere automaticamente eventi tipo reminder. In realtà quella è appunto una memoria tampone, dove tu puoi scriverci i valori che ti pare, anche quelli di un allarme.
Sta però all'utente gestire poi l'evento.
Lo davo per scontato ma hai fatto bene a specificarlo  smiley-wink
Logged

Pages: [1]   Go Up
Jump to: