Ciao, dopo un po' mi rifaccio vivo naturalmente con un problemino nuovo.
Dunque: io ho un programma su arduino Mega che legge un dato tramite TCP-IP da un altra Mega, lo sketch e fresco di oggi.
Il valore è un assorbimento di corrente (che già di per se è ballerino) la Mega che trasmette il dato ha uno "zerocrossing" ed un programmino in microsecond ma comunque resta un pò ballerino. Mi serve per settare la pompa di calore in base alla produzione del fotovoltaico.
Quindi il master si prende il valore di potenza prodotto dal fotovoltaico, il valore consumato dall'utenza e mi ricava una potenza disponibile, in base a quella, controlla la potenza assorbita dalla pompa di calore accendendo da 1 a 4 relè stato solido ( in futuro userò un mosfet comandato da pwm ma per ora mi accontento).
Inizialmente ho provato con qualcosa tipo: while (potenzadisponibile>200) settaggio++; dove settaggio andava da 1 a 4, poi sono passato ad un ciclo "if" ma il risultato è sempre il medesimo, settaggio parte da 0 e va al massimo poi torna a zero poi ritorna al massimo e così via.
Perchè quando faccio la prima lettura dispongo di una potenza (che so 1000w) quindi settaggio mi spara a 4, con 4 di settaggio assorbo 1000w quindi la potenza disponibile mi torna a zero, con potenza a zero mi rispara nuovamente a 4 e quindi si ripete la cosa.
Pensavo ad un ciclo "millis", ma non so se risolvo perchè con millis rallenterei certamente l'esecuzione, ma la lettura me la farebbe sempre in un loop.
Per risolvere dovrei fare una prima lettura ed in base a quella attivare il settaggio, aspettare un loop rileggere il valore e modificare il settaggio.
Se qualcuno ha un idea su come fare lo ringrazio di cuore.
senza vedere il programma, o almeno un suo estratto descrivente il problema e la sua situazione poco posso dire
comunque io ho l'impressione che tu ad ogni ciclo parti da 0, nel calcolo del settaggio, e riaggiorni mano a mano, a salire
devi usare una variabile persistente , e aggiornarla una volta sola per ciclo, mantenendo un margine di sicurezza, a salire O scendere, a seconda della potenza disponibile
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.