Attenzione ad una cosa.
Se parliamo di Arduino, l'Atmega328 montato sulla scheda, o comunque flashato con l'IDE per lavorare in standalone, ha il circuito BOD (Brown-Out Detection) impostato a 4,3V2,7V. Il BOD resetta il chip quando la tensione scende sotto a quel valore.
Se si usa un classico diodo al silicio, parliamo di 0,6/0,7V di dropout, quindi con 5V siamo già alla soglia di intervento del BOD.
Conviene usare un diodo Schottky, che ha un dropout di 0,2/0,3V.
Artal:
tornando alla domanda di partenza, si il diodo direi che è essenziale, ma da ignorante mi viene una domanda...la caduta di tensione sul diodo potrebbe dare problemi?
In quel caso l'alimentazione credo dovrebbe essere almeno di 6 volt per averne 5 e qualcosa sul pin, ma l'altmel avrà sempre e comunque una gestione I/O digitale e analogica da 0 a 5 V qualunque sia il voltaggio con cui è alimentato giusto?
I segnali TTL cambiano soglia in base alla tensione di alimentazione, e come dice leo72 c'è da fare attenzione alle impostazioni del BOD che si effettua tramite i fuse bit, però io ricordo che il BOD impostato nella 2009 è 2.7Volts, quasi sicuramente ricordo male io e mi scoccia andare a controllare i fuse.
Usare un diodo schottky quando c'è di mezzo la batteria è un "Must", cioè deve essere così è basta. Però l'idea saggia sarebbe quella di usare un regolatore LDO low-low-dropout scegliendo come tensione di stabilizzazione 3.3V o 5V sempre che la batteria da scarica cioè necessitante di ricarica abbia ancora una tensione utile di ~5.3V. Con batteria carica probabilmente la tensine sarà 6.7 Volts.
...quindi con 5V siamo già alla soglia di intervento del BOD.
non è più valido!
Quello che non ho capito (o mi è sfuggito ?)di questa discussione è il come la mcu si accorge che si sta spegnendo.
Forse con un interruttore a due vie di cui una porta a massa in gpio configurato come ingresso pullup ?
Non sarebbe cmq automatico...
...quindi con 5V siamo già alla soglia di intervento del BOD.
non è più valido!
Sì, esatto.
Quello che non ho capito (o mi è sfuggito ?)di questa discussione è il come la mcu si accorge che si sta spegnendo.
Forse con un interruttore a due vie di cui una porta a massa in gpio configurato come ingresso pullup ?
Non sarebbe cmq automatico...
Basta un semplice pin collegato all'alimentazione (sul "come" si può discutere in seguito: tramite un partitore, direttamente, con un fotoaccoppiatore ecc..). Aggancio un interrupt su quel pin e quando l'alimentazione viene a mancare, scatta l'interrupt che mi salva i dati e poi mette in "attesa" il micro... (eutanasia.. )
Beato te che la vedi così semplice, secondo me non lo è , anzi tutt'altro.
Considera la capacità del condensatore 'tampone' manterrà alto il livello sul pin anche ad alimentazione scollegata, e prevedo che la curva di scarica sia abbastanza ripida, a meno che non si vogliano utilizzare capacità di migliaia di microfarad.
niki77:
Beato te che la vedi così semplice, secondo me non lo è , anzi tutt'altro.
Considera la capacità del condensatore 'tampone' manterrà alto il livello sul pin anche ad alimentazione scollegata, e prevedo che la curva di scarica sia abbastanza ripida, a meno che non si vogliano utilizzare capacità di migliaia di microfarad.
il condensatore e' disaccoppiato con un diodo dall'alimentazione principale
infatti, il trucco e' il diodo giusto al posto giusto, per il C di backup piu' dura meglio e', per questo avevo consigliato uno da 1 Farad, sono piccolissimi a quelle tensioni e servono a quello, perche' darsi fretta e usarli di piccole capacita' ?