[PIC18] come si fa a sapere quando viene a meno l'alimentazione?

devo scrivere una routine che agganci l'INT generato dal brownout?

mettiamo che quando viene spento il circuito devo effettuare il backup di alcune variabili nella eeprom... per allungare il tempo utile per salvare queste variabili mi conviene piazzare un elettrolitico bello grosso in parallelo all'alimentazione? Altre indicazioni?

Grazie in anticipo!

Reply to
ice
Loading thread data ...

ice ha scritto:

io avevo fatto qualcosa di simile (backup dati) utilizzando lo spegnimento del circuito da parte del uC stesso. In pratica prevedi un pulsante di spegnimento collegato al PIC che alla sua pressione prevede a fare tutte le routine di salvataggio e poi tramite un transistor o quant'altro toglie alimentazione al circuito. Se vuoi fare le cose facili puoi lasciare alimentato solo il PIC in modalità sleep (o analoga, non ricordo la terminologia microchip) in modo da risvegliarlo alla successiva pressione del pulsante. Altrimenti con un minimo di elettronica puoi ottenere la stessa cosa via hardware.

ciao, Marco / iw2nzm

Reply to
Marco Trapanese

ti ringrazio per la risposta

purtroppo ho il problema che lo spegnimento avviene in istanti non prevedibili (non è deciso dall'utente, insomma) e quindi il sistema deve riconoscere da solo quando viene a meno la tensione di alimentazione e procedere al salvataggio

tu cosa hai usato come hw esterno? un relais?

ciao!

Reply to
ice

"ice" ha scritto nel messaggio news:TrkQd.544369$ snipped-for-privacy@news3.tin.it...

molto artigianalmente parlando potresti provare inserendo in serie all'alimentazione del PIC un diodo, seguito poi da un bel condensatore come "scorta di energia". Su di un altro pin fai leggere il valore di tensione prima del diodo che in teoria dovrebbe, in caso di black-out, scendere più rapidamente di quella ai capi del condensatore serbatoio. Se il pin va a zero significa black-out e ti regoli di conseguenza. Occhio a dimensionare il condensatore "sebatoio" perchè ti dia tempo sufficiente per eseguire il back-up

Reply to
Iw7

mi piace come idea!

l'unico è vedere se esiste un INT per il pic che scatta quando il valore analogico presente su un certo pin è sotto un certo livello (una sorta di comparatore insomma). Purtroppo ho timing abbastanza stringenti e non posso permettermi il lusso di fare polling...

grazie per la dritta! ciao!

Reply to
ice

"ice" ha scritto nel messaggio news:3_mQd.897038$ snipped-for-privacy@news4.tin.it...

posso

controlla sul datasheet, per il 16f84 e 16f628 mi sa che esista sul pin rb0, ora non ricordo, comunque l'int esiste.

Reply to
Iw7

Il giorno Tue, 15 Feb 2005 14:23:34 +0100, "Iw7" ha scritto:

Questa può essere una soluzione, ma ha il difetto che il tempo di intervento dipende dal livello della tensione di alimentazione (in presenza di una variazione della tensione di rete questo tempo cambia)

Personalmente ho sempre preferito usare l'alternata se disponibile.

Usando un paio di inverters HC14 col primo squadri l'onda sinusoidale dal secondario del trasformatore mettendo una resistenza da 10K verso AC~, poi metti una RC con un diodo in scarica con una costante di circa 50msec (lEnel garantisce la semionda ma è meglio esagerare) e colleghi l'uscita del secondo inverter all'Interrupt del micro.

12VAC~ ---------|>o------|o---------INT\ hc14

Naturalmente se devi scrivere dati su EEPROM devi prevedere sull'alimentatore un elettrolitico di dimensioni adeguate per consentire la scrittura di tutti i dati.

ciao Stefano

Reply to
SB

"ice" ha scritto nel messaggio news:TrkQd.544369$ snipped-for-privacy@news3.tin.it...

non credo, a che ricorti il brownout genera un interrupt di reset e basta.

_polling su un pin ADC _comparatore esterno che muove pin in interrupt esterno del micro _comparatore interno

L'ultima soluzione, se il modello che usi ce l'ha, mi sembra contempli un interrupt quando il comparatore cambia stato.

Ola Ste

Reply to
PeSte

ho visto che il 18f458 e company supportano un #INT quando viene rilevato un voltaggio "basso", impostabile via sw oppure impostabile dall'esterno su un pin dedicato

forse ho trovato quello che fa per me!

Grazie, ciao!

Reply to
ice

ice ha scritto:

no, nel mio caso era piú semplice perchè il micro rimaneva sempre alimentato e quindi usavo un pulsante per attivare e disattivare l'alimentazione agli altri dispositivi.

Marco / iw2nzm

Reply to
Marco Trapanese

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.