Riscaldatore e termostato


ho scritto un minuscolissimo codice per un termostato:

code: [select]
// termostato
#define ssr 13 //pin ssr
int tssrmin; // temperatura per accensione relé
int tssrmax; // temperatura per spegnimento relé



code: [select]
void setup() {
  pinmode(ssr, output); // ssr
  digitalwrite(ssr, low);  // ssr off
  tssrmin = 25;
  tssrmax = 27;


code: [select]
void loop () {
//termostato
  int statusssr; // stato del pin ssr - hight/low - 1/0
  statusssr = digitalread(ssr);

  if (t1 < tssrmin) {   
    digitalwrite(ssr, high); 
  }  // set ssr on
  if (t1 > tssrmax) {   
    digitalwrite(ssr, low); 
  }  // set ssr off

  // status pin - ssr riscaldatore
  if (statusssr == 1) {
    serial.println("riscaldatore acceso");
    serial.println(statusssr);
    srlcd.setcursor(12, 2);
    srlcd.print("heat on ");
  }

  else {
    serial.println("riscaldatore spento");
    serial.println(statusssr);
    srlcd.setcursor(12, 2);
    srlcd.print("heat off");
  }



funziona tutto. bello lavorare non in ram overflow, le cose funzionano :d
al posto del pin led metterò poi un ssr.
mi chiedevo, ha senso fare qualcosa di più complicato o vado bene così?
nello specifico ero molto attratta dalla libreria pid. ho un controller pid nel fornetto per la ceramica ed è grosso tre volte l'arduino... il pensiero che l'arduino mi potesse fare anche da controller pid era quindi assai succulento.

ma non credo abbia senso, datemi conferma :)
le info per la valutazione sono queste:
l'ssr controllerà dei riscaldatori tubolari filo, delle cose così per intenderci.
questi affari hanno quella che credo si chiami alta impedenza termica, ci mettono una buona mezzoretta scaldarsi ed un altra mezzoretta raffreddarsi.
in pratica un controllo pwm, pur lento quanto ci pare, è inutile no?
ora come ora sono controllati da un semplice termostato spina che, suppongo, faccia la stessa cosa del codice che ho scritto.

discorso secondario:
tmax e tmin le ho messe fisse. nella realtà saranno 21 e 18.
e' un intervallo ben specifico che non ho necessità reale di cambiare... ma.
ma ponderavo che sarebbe interessante mettere due pulsantini (momentary che ho già) per variare quei valori.

qualche suggerimento? nel frattempo frugo il web ma ovviamente chiedo anche voi.
se fosse una cosa complicata da metter su, lascio perdere in partenza, perché nella realtà non è che mi serva davvero.
se fosse una cosa semplice semplice mi piacerebbe impararla e implementarla.

uhmmm... dov'è che dichiari assegni un valore t1?

ssr lo usi come output, non credo che tu possa farci una digitalwrite sopra. io ho sempre usato una bollean per ricordarmi il valore, ma sinceramente non mi sono mai posto il problema.

tssrmin e tssrmax usale con la define, così non occupano spazio in ram

spero che il povero pin arduino non alimenti direttamente quei tubazzi lì, se no vedo una triste fine del micro :-)

il pid... beh, diciamo che non ti serve, il pid non è un algoritmo che da un risultato ottimale, ma permette di avere una soluzione problemi multivariabile e/o complessi.

nei fornetti si usa perchè scaldano molto e in frettta, quindi per evitare di superare la temperatura massima (anche se spegni il forno, la temperatura continua salire per qualche attimo), oppure per seguire delle "curve" di riscaldamento per evitare che la temperatura salga troppo in fretta, etc etc..
ma non credo che questo sia il tuo caso. e poi hai problemi di ram, evitiamo di incasinare troppo le cose :)


Arduino Forum > International > Italiano > Generale (Moderator: leo72) > Riscaldatore e termostato


arduino

Comments

Popular posts from this blog

Joomla site hacked, cant see front and - Joomla! Forum - community, help and support

Christian Home School Programs - Joomla! Forum - community, help and support

Trouble with PF_OutFlag_I_USE_AUDIO and PF_CHECKOUT_LAYER_AUDIO