Perdita del dato

Buonasera, ho in mente un progettino semplice di un irrigatore che tramite un sensore luce, la sera parta con l'irrigazione comandando tre valvole in sequenza collegate a tre sistemi e le mantenga aperte per 15 minuti ciascuna, sempre in sequenza. Nello specifico appena sera, si apre il relè numero uno che comanda porzione giardino 1 e tenga aperta per 15 minuti, poi passi al due e poi al tre. La mia domanda è questa, come fare in caso di mancanza della luce a ripartire da dove era rimasto e soprattutto evitare che tutto riparta da zero?

Spero di essere riuscito a spiegare cosa mi servirebbe.

Intanto saluti a tutti.

ciao athlon73 :)

qualche mese fa avevo un problema analogo, l'ho risolta usando la memoria Eeprom interna dell'arduino :)

ti lascio i link di riferimento :

SITO UFFICIALE ARDUINO SITO ESTERNO

tu hai scritto "La mia domanda è questa, come fare in caso di mancanza della luce ..." ti ricordo da regolamento che qui non si possono trattare argomenti riguardanti l'impianto elettrico ;)

non mi ricordo da regolamento se posso indicare siti al di fuori del sito ufficiale arduino... spero non si arrabbi nessun moderatore :) nel caso provvederò a modificare il post :)

spero ti sia di aiuto :)

Facci sapere se hai risolto...

MD

Ciao Matteo grazie x la risposta però ho letto che la eeprom ha un numero di scritture molto limitato. Tu hai riscontrato questo problema?

Saluti

hai ragione :)

ma facciamo un piccolo conto , un bit eeprom sul forum ho trovato che : può essere un singolo bit della eeprom circa 100 000, facendo conto che tu impegni un bit per ogni pompa , e che ci scrivi due volte al giorno su quel bit (accensione pompa e spegnimento) vuol dire che quei tre bit li puoi scrivere per 50 000 giorni, tenendo conto che irrigherai per circa 6 mesi l'anno (considerando una media di 30 giorni l'anno) --> ogni anno scrivi quei tre bit solo per 180 giorni

...e se non ho sbagliato i calcoli quei tre bit usati dovrebbero durare per 250 ANNIcirca ahaha

adesso ci ho scherzato sopra, e se non ho sbagliato i calcoli dovresti stare tranquillo :)

perdona la mia ironia :)

MD

Miiiii dici quindi che tra 250 anni mi toccherà andare a cambiare la scheda??? E va beh pazienza!!!

se proprio vuoi essere sicuro di non voler spendere altri 20€ fra 250 anni ....

a parte gli scherzi, puoi cambiare indirizzo di allocazione e sfruttare indirizzi diversi della eeprom ciclicamente... andrai ad aumentare notevolmente la vita della memoria :)

spero che anche quel forum da me indicato possa chiarirti le idee :)

MD

Quindi il numero di cicli è legato al singolo indirizzo non a tutta la eeprom? Eseguendo Un giro ciclico quindi sarebbero 100000 scritture per ogni singola cella?

Interessante, e quando una cella avrà raggiunto il numero massimo di cicli cosa succede leggendo all'indirizzo darà un errore o semplicemente non sarà più possibile cambiarne il valore?

Salut

scusa una domanda, ma quanto è frequente che ci siano interruzioni di energia elettrica, perché non è detto che anche usando l'eeprom risolvi del tutto la cosa

Ciao, Zef le interruzioni che prevedo non sono uno standard, ma una possibilità diciamo, l'enel non è per niente affidabile in Italia... Dici quindi che anche con l'eeprom se va via la luce non risolvo il problema di memorizzare un dato e ritrovarlo al riavvio del ciclo?

Saluti.

Se vuoi avere la sicurezza al 100% devi usare un sistema di backup a batteria ... nulla difatti impedisce che la luce vada via durante la scrittura sulla EEPROM, o in un altro momento in cui tu non riesci a scrivere la situazione in cui eri.

La EEPROM va bene per salvare parametri di configurazione che si leggono all'avvio, o valori che voglio salvare ma ch NON sono critici nel funzionamneto del sistema (... dato che, come detto, la scrittura potrebbe interrompersi), negli altri casi una cosa come QUESTA risolve ... alimentazione dalla rete e, in assenza, commutazione automatica sulla batteria.

Guglielmo

Ma scusate, da quel che capisco io, il funzionamento desiderato è unicamente funzione dell'ora, per cui non serve salvare niente, basta avere un RTC: a ogni accensione si guarda che ora è e si sa cosa fare. O sbaglio?

SukkoPera: ... a ogni accensione si guarda che ora è e si sa cosa fare. O sbaglio?

L'RTC è sicuramente indispensabile, ma, a quanto sembra, lui vuole sapere anche in che stato erano le tre elettrovalvole quando è mancata la luce ... ::)

athlon73: ... Nello specifico appena sera, si apre il relè numero uno che comanda porzione giardino 1 e tenga aperta per 15 minuti, poi passi al due e poi al tre. La mia domanda è questa, come fare in caso di mancanza della luce a ripartire da dove era rimasto e soprattutto evitare che tutto riparta da zero?

Ora, io non so che tipo di elettrovalvole lui abbia, ma, se sono quelle che con un impulso apri ed uno chiudi ... allora trovo logico che voglia sapere in che stato si trova ogni valvola ;)

Guglielmo

Il problema è che pilotare in maniera automatica quel tipo di valvole, senza avere un feedback sul loro stato effettivo, mi sembra sempre un po' un terno al lotto.

@doc: Vero anche quello, ma magari ha anche una pompa che in caso di mancanza alimentazione non... pompa? ;)

docsavage: ma forse adesso sono io che faccio masturbazioni intellettuali

... direi di SI :D :D :D

Se ho ben capito, nella sua zona, ci sono delle interruzioni saltuarie dell'energia, ma ... non mi sembra abbia mai parlato di gioni o settimane ... anche perché vedo ben altri problemi in quei casi (... pensa solo hai congelatori nelle case !) ;)

Guglielmo

In effetti avevo pensato a rtc ma l'ora non risolve il mio problema. Io accenderei irrigazione con un sistema crepuscolare quindi senza impostare nessuna ora. In ogni caso anche se facessi ad ora non saprei se ha portato a termine irrigazione per ogni parte di giardino nel caso in cui mancasse la luce. Quindi potrei avere una sola parte irrigata e non saprei mai quale. Invece ad ogni completamento del ciclo potrei mettere un led che segna ogni zona e led accesso significa che quella zona è stata correttamente irrigata. Spero di essere riuscito a farmi capire... Saluti e grazie a tutti per le risposte.

… ripeto, la soluzione per te è un RTC per avere comunque data/ora esatta ed un modulo batteria per ovviare alle mancanze di tensione. Altre soluzioni hanno tutte una percentuale di incertezza.

Guglielmo

ciao...la butto...e applicare un micro gruppo UPS ( home made!?...ho visto qualche progetto di circuitino in rete...ma ammetto la mia ignoranza) che determina la mancanza di tensione principale...ti "switcha" su una batteria che ti lascia il tempo di salvare la situazione su SD...all'avvio vai a leggerti cosa c'è in SD e riprendi da dove eri!?

EDIT: più o meno quello che ha scritto Guglielmo...

Il circuito che vorrei fare io deve essere una scatolina attaccata al muro nella massima semplicità con ups e cose varie diventa già un sistema impegnativo al pari di un sistema da irrigazione commerciale...

... ma ... lo avete visto il link che ho messo al post #9 ? ? ? :o :o :o

Stiamo parlando di una schedina da mettere assieme ad Arduino, mica di un UPS da poggiare a terra e collegare alla rete !

Guglielmo

effettivamente mi ero perso quel punto del post #9…però era quello che intendevo io…+ o - :smiley: