Psicrometro/2
- Meteo Arduino partiamo da zero - n° 4m -
- 12/01/2014 -
Segue dal post precedente la sperimentazione per costruire la nostra stazione meteo.
Qui troverete lo Sketch per arduino che permette la misura di Umidità Relativa dell'aria.
Follows from the previous post experimentation to build our weather station.
Here you will find the sketch for Arduino that allows the measurement of Relative humidity of the air.
Ecco la tabella!
Questa è una tabella per Psicrometro.
Questa tabella si trova su wikipedia e mi è servita da guida per proseguire il lavoro, in alto si trovano le temperature "Bulbo bagnato" = Tbu = Tw, a sinistra in rosso le temperature "Bulbo secco" = Tbs = Ts.
Qui sopra vi è solo una parte della tabella ma da wiki la potete scaricare per intero.
Ma visto che utilizziamo Arduino ed abbiamo Ts, Tw, in due variabili perchè non calcolarsi l'umidità relativa UR?
Non è così semplice io ho trovato questa soluzione:
Da " formula di Sprung per Psicrometro e = Ew - A*p*(Ts-Tw)." con p = Pressione atmosferica, Ts = Temp. bulbo secco, Tw = Temp. bulbo umido.
A = coefficente di Ferrel = ( 0.00066 * (1 + 0.00155* Tw)
Ecco qui sotto alcuni valori calcolati con la formula di sopra Tw, Ts, UR.
Temp umido (Tw): 12.0
Temp secco (Ts): 18.0
Umidita relativa: 48.15985
Temp umido (Tw): 15.0
Temp secco (Ts): 21.0
Umidita relativa: 52.068474
Temp umido (Tw): 18.0
Temp secco (Ts): 24.0
Umidita relativa: 55.35537
Temp umido (Tw): 21.0
Temp secco (Ts): 27.0
Umidita relativa: 58.14215
Temp umido (Tw): 24.0
Temp secco (Ts): 30.0
Umidita relativa: 60.52441
Temp umido (Tw): 27.0
Temp secco (Ts): 33.0
Umidita relativa: 62.57767
Temp secco (Ts): 18.0
Umidita relativa: 48.15985
Temp umido (Tw): 15.0
Temp secco (Ts): 21.0
Umidita relativa: 52.068474
Temp umido (Tw): 18.0
Temp secco (Ts): 24.0
Umidita relativa: 55.35537
Temp umido (Tw): 21.0
Temp secco (Ts): 27.0
Umidita relativa: 58.14215
Temp umido (Tw): 24.0
Temp secco (Ts): 30.0
Umidita relativa: 60.52441
Temp umido (Tw): 27.0
Temp secco (Ts): 33.0
Umidita relativa: 62.57767
Ho calcolato questi valori e li ho confrontati con una tabella per Psicrometro, i risultati sono comparabili.
es: Tw 21 -- Ts 27 umidità calcolata = 58.14 da tabella = 58, ho provato con molti altri valori ed ottenuto valori concordanti.
Vediamo adesso lo sketch.
es: Tw 21 -- Ts 27 umidità calcolata = 58.14 da tabella = 58, ho provato con molti altri valori ed ottenuto valori concordanti.
Vediamo adesso lo sketch.
/* Sergio & Adriano Prenleloup ***Psicrometro con LM35***** ***** Versione 1.03 ******** ***** 12/01/2014 ******** Prova di costruzione di Psicrometro a bulbo bagnato con due LM35 Le formule e le costanti utilizzate per i calcoli le troverete nel mio blog avventurarduino.blogspot.it // per approfondire guardate questo link http://it.wikipedia.org/wiki/Umidit%C3%A0_relativa Le formule per Psicrometro lette su "Marco Dell'Isola, Fausto Arpino- La Misura dell'umidità" */ // ************** Costanti e variabili globali *********** float fatt = (3.3/1024)*100; //converte da Volt a Temperatura int PinTs = 0; // PinAnolog0 lettura bulbo secco int PinTw = 1; // PinAnalog1 lettura bulbo umido // vedi wikipedia al link indicato sopra float base = 10.0; // base log. float a = 7.5; // wikipedia float b = 237.7; // wikipedia float c = 6.11; //wikipedia float Pr = 1013.25; //pressione atmosferica // ********************************************************* //pressione di vapore acqueo saturo alla temperatura ( Ts o Tw) // vedi wikipedia alink indicato float calcoloPressione(float temp) { return c * pow(base, (a * temp) / (b + temp)); } //costante strumentale Psicrometro da formula Sprung // coefficente di Ferrel ( 0.00066*(1+0.00155*Tw) float correzione(float Tw, float Ts) { return 0.00066 * (1 + 0.00155* Tw) * Pr * (Ts - Tw); } //Calcola il valore pressione di vapore acqueo saturo alla temperatura ( Ts o Tw) float calcolaUmidita(float Ts, float Tw) { float Es = calcoloPressione(Ts); // pressione vapor saturo con Ts float Ew = calcoloPressione(Tw); // pressione vapor saturo con Tw float correzioneSprung = correzione(Tw, Ts); float e = Ew - correzioneSprung; // Formula di Sprung float UmiditaRelativa = e / Es * 100;// calcola umidita Relativa return UmiditaRelativa;// ritorna l'umidità relativa // alle due temperature rilevate // dal sensore LM35 secco // e dal sensore LM35 umido } void setup() { analogReference(EXTERNAL); // in questa versione si porta sul pin AREF // i 3,3V prelavati da Arduino Serial.begin(9600); //attiva la porta seriale } void loop() { //lettura sensori int tempTs = analogRead(PinTs);// legge bulbo secco float Ts = (tempTs* fatt); // calcola Ts temperatura bulbo secco int tempTw = analogRead(PinTw);// legge bulbo umido float Tw = (tempTw *fatt); // calcola Tw temperatura bulbo umido double UR = calcolaUmidita(Ts, Tw); // calcola UR umidita relativa // visualizza sul monitor i valori rilevati e calcolati Serial.print("TempSecco = "); Serial.print(Ts); Serial.println(); Serial.print("TempUmido = "); Serial.print(Tw); Serial.println(); Serial.print("Umidità relativa = "); Serial.print(UR); Serial.println(); Serial.print("*************"); Serial.println(); delay(2000);// attesa per altra lettura }
Risultati
Con questo Psicrometro si ottengono valori attendibili, rimane il problema meccanico di ventilare il bulbo bagnato ma una piccola ventolina da Pc è perfettamente utilizzabile.
Rimane ancora il problema di rendere umido il bulbo con garza o cotone.
I dati rilevati e confrontati con il sensore DHT22 sono molto vicini.
Scarica qui lo sketch
Scarica qui lo sketch
Questo è il video dello Psicrometro in funzione.
Come potrete vedere dal video accanto allo Psicrometro c'è un Igrometro con DTH22 e altro Arduino sul display di questo si legge un'umidità del 68% , e l'umidità calcolata dallo Psicrometro è di 66% non credo ci sipotesse aspettare di meglio.Questa è la schermata del monitor seriale dello Psicrometro.
E' pronto il prossimo post sull'Igrometro con DHT22.
Dove vedremo la maggior praticità nell'uso di questo sensore, probabilmente nella nostra stazione meteo utilizzeremo il DHT22.
Grazie per la visione, se avete dubbi o domande scrivete, se rilevate piccole o grandi inesattezze scrivete.
al prossimo post.... meteo ......to the next post ....
Ciao se possibile puoi scrivermi su Mirco 65 @ Gmail. Com?
RispondiEliminaEro interessato nel costruire un sensore con punti di rugiada per verificare umidità temperatura cantina sensore con punto di rugiada e sensore esterno di umidità e temperatura
In questo modo vorrei comandare che quando possibile il sistema ventili la cantina se umidità e temperature esterne sono accettabili altrimenti quando necessario far partire il deumidificatore per evitare le muffe...
È possibile secondo te?
Un grande Grazie a Sergio e Adriano, per il vostro progetto, la vostra generosità e per la vostra spiegazione. Stavo cercando qualcosa di simile al vostro lavoro ... ed è comparso il vostro progetto. Spero di poterlo adattare alle mie esigenze. Grazie ancora
RispondiEliminaGrazie a te e scusa del ritardo nella mia risposta ma ho avuto problemi e solo in questi giorni ho ripreso a controllare il blog.
EliminaSaluti