Ciao a tutti, avendo la necessità di mantenere l'orario anche dopo lo spegnimento ho deciso di aggiungere un rtc DS1302. Inizialmente funzionava, manteneva l'orario, nelle ultime prove quando leggo la data mi restituisce 01:01:01 01/01/01 Day: 01. Nel codice non imposto a zero il bit CH all'indirizzo 0x80(R)/0x81(W), può essere questo il problema? Appena posso provo a caricare il codice che imposta questo bit a zero e vi dico.
Per quanto riguarda la batteria, ho recuperato da un "timer" digitale una batteria ricaricabile 2032 i cui dati di targa indicano 3.6V, l'ho installata e ho impostato il caricabatteria a 2 diodi e la resistenza da 2K. Esattamente nel registro 0x90 imposto il valore di 0xA5 (1010 0101) (ho preso questo valore da un esempio su internet). Tenendolo qualche giorno acceso, ho misurato la tensione della batteria ed è a circa 4V, Questo può dare problemi? Esattamente quando si può considerare "carica" la batteria? Grazie :)
Interfacciamento RTC DS1302
Moderatore:
Paolino
7 messaggi
• Pagina 1 di 1
1
voti
La batteria ricaricabile citata dovrebbe essere agli ioni di litio, quella indicata è la tensione nominale: cioè la media fra tensione della batteria quando ritenuta carica - circa 4,2 V - e quando ritenuta scarica - circa 3.0 V -, a seconda di questi valori (ognuno la pensa in modo diverso, e per questioni di marketing) esce 3,6V o 3,7V.
A 4 V la batteria è quasi completamente carica
A 4 V la batteria è quasi completamente carica
0
voti
Quindi non è un problema se la tengo sempre sotto carica?
comunque, ho provato ad impostare il bit manualmente, non cambia nulla... rimane sempre bloccato su 1/1/1 1:1:1
comunque, ho provato ad impostare il bit manualmente, non cambia nulla... rimane sempre bloccato su 1/1/1 1:1:1
-

daniele1996
610 3 8 11 - Sostenitore

- Messaggi: 1554
- Iscritto il: 29 ago 2011, 11:29
0
voti
Non è un problema ma se si tratta di una Li-Ion io non oltrepassarei i 4.1V .
Agendo su switch diodi e resistenze interne si dovrebbe riuscire a mantenere la batteria alla tensione desiderata.
Ciao
Agendo su switch diodi e resistenze interne si dovrebbe riuscire a mantenere la batteria alla tensione desiderata.
Ciao
600 Elettra
0
voti
daniele1996 ha scritto:ho impostato il caricabatteria a 2 diodi e la resistenza da 2K. Tenendolo qualche giorno acceso, ho misurato la tensione della batteria ed è a circa 4V
Due diodi sono 1.4V, quindi 5 - 1.4 = 3.6V, mi sono tiraro il conto così... però evidentemente c'è qualcosa di un po diverso visto che la batteria era a 4V... mi domando se sia necessario qualche accorgimento in più...
-

daniele1996
610 3 8 11 - Sostenitore

- Messaggi: 1554
- Iscritto il: 29 ago 2011, 11:29
0
voti
Forse la batteria è carica.
La caduta sui diodi a correnti molto inferiori al mA potrebbe essere anche di 0.5V.
Metti un multimetro in serie alla batteria e misura da che parte va la corrente .
Ciao
La caduta sui diodi a correnti molto inferiori al mA potrebbe essere anche di 0.5V.
Metti un multimetro in serie alla batteria e misura da che parte va la corrente .
Ciao
600 Elettra
0
voti
stefanopc ha scritto:Metti un multimetro in serie alla batteria e misura da che parte va la corrente
Appena posso controllo, invece per quanto riguarda la lettura dell'orario, non capisco il perché non funziona, eppure il programma mi sembra corretto...
Vi posto la funzione che legge/scrive
- Codice: Seleziona tutto
void write_cmd(){
reset_rtc();
output_rtc_en(1);
for(rtc_i = 0; rtc_i < 8; rtc_i += 1){
output_data(rtc_cmd & (1 << rtc_i));
_delay_us(1);
output_clk(1);
if((rtc_i == 7) && (rtc_cmd & 1))break;
_delay_us(1);
output_clk(0);
}
if(rtc_cmd & 1){ // read
rtc_read = 0;
for(rtc_i = 0; rtc_i < 8 ; rtc_i +=1){
//output_data(rtc_cmd & (1 << rtc_i));
output_clk(1);
_delay_us(1);
output_clk(0);
_delay_us(1);
if(input_data()){
rtc_read |= 1 << (rtc_i);
}
}
}else{ // write
DDRA |= (1 << PA6);
PORTA &= ~(1 << PA6);
for(rtc_i = 0; rtc_i < 8; rtc_i += 1){
if(rtc_write & (1 << rtc_i)){
output_data(1);
}else{
output_data(0);
}
output_clk(0);
_delay_us(1);
output_clk(1);
_delay_us(1);
}
}
output_clk(0);
output_rtc_en(0);
}
-

daniele1996
610 3 8 11 - Sostenitore

- Messaggi: 1554
- Iscritto il: 29 ago 2011, 11:29
7 messaggi
• Pagina 1 di 1
Torna a Realizzazioni, interfacciamento e nozioni generali.
Chi c’è in linea
Visitano il forum: Nessuno e 8 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

