Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

PIC18 Ripresa esecuzione programma dopo blackout

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto UtenteDryden » 14 giu 2016, 12:56

Buon giorno a tutti.

Scusate il ritardo ma tra lavoro e famiglia.....

Allora il PIC che vorrei utilizzare è il PIC18F4620, più che altro perché già ne dispongo oltre ad avere famigliarità nella programmazione.

L'idea di applicare un UPS non mi alletta per 2 motivi:
1) Non voglio mettere un UPS in bagno
2) L'UPS avrebbe dimensioni generose in quanto deve far fronte ad un assorbimento di circa 1100W per almeno 20min

L'utilizzo di un supercap l'avevo pensato, ma comunque necessito di un pin della MCU per verificare la mancanza/presenza di tensione ma purtroppo non ho pin disponibili.

Avevo pensato di poter utilizzare il brown-out in qualche modo, anche se personalmente non l'ho mai utilizzato per cui dovrei approfondire l'argomento.
Pensavo che l'utilizzo del brown-out fosse legato al corretto funzionamento del PIC e non alla possibilità di intercettare il calo di tensione in modo da poter salvare i dati.

Domanda:
Con l'utilizzo del brown-out, (impostato con criterio) vedo che la tensione scende p.e. a 4.2V, ma non è già tardi per poter cominciare a scrivere in EEPROM considerato i tempi di latenza della stessa? Non vorrei corrompere la EEPROM....
Conoscete qualche esempio applicativo del brown-out in questo ambito?

Anche utilizzando memorie esterno tipo 24c16 non corro il rischio di corromperla se durante la scrittura la VDD cala sotto il livello minimo?

La scheda la voglio RIPROGETTARE da capo, in quanto voglio aumentare i controlli, aggiungere un display TFT per la gestione e qualche altra cosetta.
Per cui non ho limiti imposti se non la dimensione del PCB e il modo di pilotaggio dei motori a 220 V(relè)

Fondamentalmente, questa lettiera per gatto è una sorta di lavatrice con carico e scarico dell'acqua.
Devo capire come sopperire alla mancanza di rete proprio per evitare che la lettiera non completi il ciclo e quindi rimanga inutilizzabile dal gatto.

Grazie a tutti per l'aiuto O_/
Avatar utente
Foto UtenteDryden
20 4
New entry
New entry
 
Messaggi: 97
Iscritto il: 1 gen 2011, 14:37
Località: Bolzano

0
voti

[12] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto Utentealev » 14 giu 2016, 13:00

Fondamentalmente, questa lettiera per gatto è una sorta di lavatrice con carico e scarico dell'acqua.
Devo capire come sopperire alla mancanza di rete proprio per evitare che la lettiera non completi il ciclo e quindi rimanga inutilizzabile dal gatto

:shock: Non ho capito bene a quale "ciclo" sottoponi la povera bestiola, ma ti avviso che su EY i Gatti sanno farsi rispettare :mrgreen:
Avatar utente
Foto Utentealev
5.990 2 9 12
free expert
 
Messaggi: 6281
Iscritto il: 19 lug 2010, 14:38
Località: Altrove

0
voti

[13] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto UtenteDryden » 14 giu 2016, 13:02

hahahaha nessuno!

La povera bestiola, entra, lascia il ricordino ?% e poi se ne va allegramente.

è la lettiera che POI comincia i cicli di pulizia, lavaggio e asciugatura che non devo perdere se salta per sfiga la corrente :lol:
Avatar utente
Foto UtenteDryden
20 4
New entry
New entry
 
Messaggi: 97
Iscritto il: 1 gen 2011, 14:37
Località: Bolzano

0
voti

[14] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto Utentealev » 14 giu 2016, 13:19

Scherzi a parte ;-) , stavo pensando che forse l'UPS è davvero l'unica soluzione

In fondo, in caso di blackout, non conoscendosene la durata, non ha molto senso aspettarsi che il gatto non abbia bisogno della lettiera

E' pur vero che l'UPS in bagno non lo metterei neppure io, ma puoi metterlo in un altro locale (*) ed usare un cavo di alimentazione di lunghezza opportuna eventualmente collocato in apposita canalina, insomma una cosa pulita

(*) oltretutto, per gli assorbimenti di un PIC, mi aspetto un UPS di dimensioni ridotte che puoi piazzare dove meglio ritieni
Avatar utente
Foto Utentealev
5.990 2 9 12
free expert
 
Messaggi: 6281
Iscritto il: 19 lug 2010, 14:38
Località: Altrove

0
voti

[15] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto UtenteSerTom » 14 giu 2016, 14:04

Cavolo ! PIC18F4620 = 36 I/O e non avanzi neanche un pin ...
Un ogni caso il 4620 oltre al Brown-out (che servirebbe ad altro ma potrebbe essere comunque usato per il tuo scopo) dispone di "Programmable Low-Voltage Detect" interno che puoi usare per intercettare un calo di tensione senza sprecare nessun pin. Ovvio che lavorando con Vcc devi settare il livello appena sotto il valore nominale e sfruttare solo quella fetta di energia disponibile da quando scende sotto il livello fino al valore minimo di funzionamento del 4620 (2V).

Bye O_/ Ser.Tom
Avatar utente
Foto UtenteSerTom
4.222 1 4 9
Expert EY
Expert EY
 
Messaggi: 1950
Iscritto il: 18 mag 2012, 9:57

0
voti

[16] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto UtenteWALTERmwp » 14 giu 2016, 17:47

Ora sappiamo con che micro si ha a che fare.
Foto UtenteSerTom ti ha già suggerito l'uso del modulo HLVD (pag.244 del datasheet) che abbinerei all'adattamento hardware ricorrendo alla pila esterna (una di quelle a "bottone").
L'attuale alimentazione la coordini con la pila collegandoli al pin vdd del micro tramite due diodi così da evitare che la pila si trovi esposta ai 5 Vcc (valore che presumo) e che, in assenza di tale tensione, in quella direzione vi possa eventualmente defluire un flusso di corrente.
Lo schema, semplice, è ripreso anche qui a pag.6 (TIP #7).

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
30,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8986
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[17] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto UtenteDryden » 14 giu 2016, 19:17

x alev: grazie per i consigli, ma forse non hai letto attentamente. Per come lo concepisco io, l'UPS a funzione di tenere acceso un PC(in genere) dando la possibilità all'utente di spegnere la macchina.
In genere i consumi sono nell'ordine dei 200/300W.
Se devo tenere acceso la lettiera, i cosnumi, sopratutto durandte la fase di asciugatura, arrivano a 1100W per almeno 20min.
Per tale motivo l'UPS non lo vedo praticabile.
Comunque se la lettiera è in funzione, vuol dire che il gatto ci è andato da poco...



X SerTom: grazie, non conoscevo l'esistenza del modulo, o meglio la sua funzione.
Non faccio programmazione per lavoro, per cui studio i moduli a necessità... :mrgreen:
Purtroppo i pin son quelli, tra sensori,motori, elettrovalvole,display.... non ne avanzano.
Per fortuna, visto che riprogetto tutto potrei adottare varie soluzioni magari risparmiando qualche pin. Devo fare ancora qualche valutazione e poi metto mano al CAD per lo schema e via...


X WALTERmwp: grazie per il consiglio, avevo utilizzato un sistema simile con diodi e supercap da 5V 1F per tenere in vita un rtc su un progetto passato.
Grazie comunque per il link al documento, che non conoscevo e mi sembra molto interessante!

La tensione di alimentazione non l'ho comunicata in quanto,a livello progettuale, è poco rilevante in quanto se per risolvere questo problema uso una pila NI-MH da circuito stampato, forse una VDD di 3.3V è più indicata, mentre se metto un supercap ecco che posso usare una VDD di 5V senza problemi.
Avatar utente
Foto UtenteDryden
20 4
New entry
New entry
 
Messaggi: 97
Iscritto il: 1 gen 2011, 14:37
Località: Bolzano

0
voti

[18] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto UtenteWALTERmwp » 14 giu 2016, 23:53

Dryden ha scritto:(...) X WALTERmwp: grazie (...)
di nulla, figurati.

Dryden ha scritto:(...) La tensione di alimentazione non l'ho comunicata in quanto,a livello progettuale, è poco rilevante (...)
... e invece no, se di quella si discute.
Applicando 5 Vcc e la pila, come si è inteso, hai un differenziale più che abbondante per stabilire con certezza la mancanza di alimentazione: te la giochi come vuoi.
Il problema principale mi pareva d'aver capito fosse il salvataggio di tutta una serie di parametri discrezionali su eeprom: ricorrendo all' HLVD e poi allo sleep mode te la dovresti cavare perché la pila la useresti solo per tale fine ( ... sleep-mode e wak-up compresi).
Io avevo escluso a priori l'eventuale adozione di un UPS per la "macchina" (sai tu come funziona e cosa comporta un arresto in uno dei vari stati) ma, d'altra parte, come ti proponevi, la situazione la potresti/dovresti ricostruire al ritorno della rete grazie al recupero dalla eeprom.
Se al micio la cosa risulti indifferente non ci è dato sapere.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
30,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8986
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[19] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto Utentepaofanello » 15 giu 2016, 0:01

Dryden ha scritto:Se devo tenere acceso la lettiera, i cosnumi, sopratutto durandte la fase di asciugatura, arrivano a 1100W per almeno 20min.
Per tale motivo l'UPS non lo vedo praticabile.

Scusatemi in anticipo se dico cavolate... ma non basterebbe una batteria tampone?
Si sceglie nel range di funzionamento del micro una batteria tampone con una tensione minore di quella normale di alimentazione, il micro legge con la funzione descritta sopra da altri quando la tensione di rete viene a mancare e quindi una tensione più bassa (della batteria) viene applicata alla sua alimentazione, e di conseguenza entra in "standby" fino al ritorno della tensione normale.
Cestinatemi se ho detto cavolate o cose banali :D
Piuttosto che chiedere qualcosa a me, chiedila a Mara Maionchi. E' più competente.
Avatar utente
Foto Utentepaofanello
2.280 8 13
Expert
Expert
 
Messaggi: 532
Iscritto il: 7 lug 2015, 21:01

0
voti

[20] Re: PIC18 Ripresa esecuzione programma dopo blackout

Messaggioda Foto UtenteDryden » 15 giu 2016, 12:46

Ciao Walter,

Il mio discorso antecedente per pila NI-MH e supercap era relativo solo alla tensione e alle possibilità che ho per ottenere ciò che mi serve.

La cosa fondamentale è che il programma CONTINUI da dove aveva lasciato causa mancanza di alimentazione.
Se poi l'alimentazione va a mancare per 12 ore, allora posso ammettere anche in un reset totale del micro.

Per esempio, se la lettiera sta facendo il ciclo di lavaggio (per cui carica acqua, mescola la sabbia e poi va in scarico) e va via corrente, deve riprendere il ciclo da dove si era interrotto.

l'uso di un supercap/batteria non lo vedo indicato in quanto comunque dovrei sfruttare un PIN per determinare se la tensione di rete è presente o meno.

Dopo studio il modulo HLVD e se fa al caso mio, allora posso pensare di progettare la parte di alimentazione con condensatori di grossa capacità 2200/4700uF in modo da poter garantire ancora qualche secondo per il salvataggio dei dati una volta che il modulo rileva il calo.
Avatar utente
Foto UtenteDryden
20 4
New entry
New entry
 
Messaggi: 97
Iscritto il: 1 gen 2011, 14:37
Località: Bolzano

PrecedenteProssimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti