Comparazione sensori di temperatura

Sperando di fare cosa gradita a qualcuno, pubblico un grafico dei dati di temperatura esterna raccolti negli ultimi 3 giorni a casa mia, con diversi sensori: DHT11, Dallas DS18B20 e quello integrato nel sensore di pressione atmosferica BMP180.

Qualche considerazione spiccia: il DHT tende a rilevare quasi sempre una temperatura più bassa del dovuto. Gli altri due hanno un andamento molto simile, col BMP che però segna sempre 0.5-1°C in più del Dallas. Ho inserito nel grafico anche la media delle 3 temperature, che è piuttosto simile a quanto rilevato dal Dallas.

Notate bene che non è nulla di troppo scrupoloso: per ogni sensore ne ho provato solo uno, e non avevo un riferimento esterno noto per capire quale fosse la temperatura vera. Diciamo che lo pubblico più che altro per informazione, ognuno si senta libero di trarre le sue conclusioni o di ignorare completamente il post :).

Molto utile ed interessante :) ...grazie! Anche io avevo notato una maggiore accuratezza del Dallas. Bisognerebbe inserire nel test anche il DHT22 che sembra molto più accurato del DHT11 (rif. "https://learn.adafruit.com/dht/overview", "http://www.kandrsmith.org/RJS/Misc/calib_dht22_dht11_sht71.html" e "https://community.particle.io/t/dht22-vs-dht11-data-comparison/3030"). Proverò a prenderne uno così lo confronto con gli altri.

Mah, con quei dati non credo si possa dire che il Dallas è più accurato, purtroppo la mancanza di un riferimento esterno non permette di dire granché. Si può dire che, a meno di un certo offset, il BMP e il Dallas hanno un andamento molto simile e che la media tra il BMP e il DHT11 probabilmente segue molto bene il Dallas (nel grafico anche il Dallas è utilizzato nella media, ma dato che si discosta poco, non dovrebbe influenzarla molto).

Il DHT22 l'ho già ordinato da un po', appena arriva inizio a loggare dati ;).

SukkoPera: Mah, con quei dati non credo si possa dire che il Dallas è più accurato...

...in effetti mi riferivo ai miei test nei quali era presente un riferimento esterno. Aggiornaci sui risultati con il 22.

Ah, buono a sapersi! ;)

Comunque come scritto nell'altro topic ancora non posso darti un grafico di andamento ;) Ti ho fatto un paio di domande nell'altro post magari leggile! Ti posso solo dire che dai piccoli test che ho fatto il bmp tende a sottostimare...

Però a come vedo dai grafici forse mi sbaglio perché è quello che segna i valori più alti...

Prendi anche un LM35. :)

Eh quasi quasi :).

Bisognerebbe anche provare diversi sensori dello stesso modello per vedere se si comportano allo stesso modo. Nel weekend li cambio.

So che sto topic è vecchio di un anno preciso :D, però volevo aggiungere una cosa che ho notato da poco. Dai confronti tra il DHT22 e il DS18B20, emerge anche un piccolo particolare. Praticamente di solito, tra 10 e 35 gradi di temperatura, sono abbastanza simili e anche con un riferimento esterno le temperature risultano accuratamente buone, quando invece la temperatura comincia a scendere sotto i 10 gradi, si crea una differenza tra i due sensori, che a volte può essere fino a un grado! Vi prendo il caso di questa notte. E' la temperatura osservata da mezzanotte fino alle 9 e mezza circa.

(Aprite l'immagine in un'altra scheda per una risoluzione migliore) |500x275

In questo caso forse converrebbe fare una media. Siccome il mio riferimento esterno preciso è circa a 2.5km in linea d'aria da qui e magari conoscendo bene la zona in quella vallata si è creata della nebbia, di più rispetto a qui, non posso confrontare per bene i dati. Posso solo dire, che delle volte aveva "ragione" più il DHT22 e delle volte più il DS18B20. Il riferimento a 2.5km è una Davis Vantage Pro 2 che so che monta un Sensirion SHT11. Penso che se si utilizzano questi due sensori insieme, quando la temperatura scende sotto i 10 gradi forse conviene fare una media per una maggiore precisione, da quanto ho osservato. Spero possa essere utile a qualcuno.

Ciao As, npn ho dati da fornire, ma avendo il DHT22 nella mia stazione e il DS18B20 in un altro progetto, anche io ho notato che col freddo, il DHT22 sovrastima rispetto all'altro. Prendi i dati con le pinze ma anche io penso ciò che hai detto.il delta è di 1-2 gradi... Ciao

Sì sembra proprio di sì ;) Anche se non si può sapere con certezza senza un riferimento preciso posto proprio vicino alla stazione qual è il più giusto. Io ho notato, con la stazione a 2.5km da qui, che a volte è più giusto il DS18B20 altre volte il DHT22 quando si scende sotto i 10 gradi. Io per ora, ho semplicemente usato come temperatura finale, la media di temperatura dei due, dovrebbe essere meglio.

Le letture di questi sensori andrebbero calibrate tramite una tabella con diversi punti di riferimento presi tramite un termometro campione (per lo meno di cui si è ragionevolmente certi della precisione). A quel punto (a parte la bassissima risoluzione del DHT11 a quanto è dato vedere dagli scalini) tutte le letture dovrebbero differire molto poco rispetto al campione. Cambiando il sensore, anche con uno identico, va rifatta la tabella di calibrazione.

E’ uno dei metodi, ma è difficile determinare un vero e proprio delta di curvatura. Comunque quello che vedi è il DHT22 non l’11, io comunque non vedo scalini, la risoluzione è di 0.1°C e quella tabella è stata fatta con l’andamento dei due sensori da mezzanotte a circa le 9:30, ogni 5 minuti, veniva scritto il dato rilevato da due sensori. Quei sali e scendi durante la notte, sono dovute a folate di vento piccole che fanno aumentare la temperatura e la presenza di qualche nebbia poi dissoltasi che fa anch’essa aumentare la temperatura.

Non è che ci sono problemi di condensa?

zoomx: Non è che ci sono problemi di condensa?

Dici che potrebbe sovrastimare il DHT22 per problemi di condensa? O entrambi possono essere imprecisi per colpa di questo effetto?

Per condensa intendo il fatto che goccioline d'acqua anche piccolissime, si condensino ed evaporino sul sensore.

Ma a pensarci bene variazioni di un grado a distanza di qualche centinaio di metri ci stanno benissimo. E' curioso che accadano solamente con temperature basse ma potrebbe anche essere che un suolo si raffreddi prima e più di altri.

Da tempo ho notato che i sensori che hanno una precisione la decimo di grado quando l'accuratezza è invece sul mezzo grado (in altre parole, i dati sono tutti vicini fra loro->precisione, ma possono sbagliare tutti di mezzo grado-> accuratezza) sono molto sensibili a quelli che ritengo disturbi, magari occasionali.

Ad esempio, ho un bme280 in cucina e la mattina, quando entro per fare colazione, accendo solo la luce, non cucino nulla eppure la cosa viene rilevata da temperatura, che sale almeno di mezzo grado, e umidità, che invece curiosamente scende. La correlazione è perfetta, l'aumento accade ogni mattina. Ovviamente anche a pranzo e cena ma li si cucina per cui te lo aspetti.

Al lavoro ho un'altra serie di sensori e anch'essi iniziano a misurare variazioni appena qualcuno entra stanza.

La mia esperienza e quello che leggo sul forum, è che di solito se una temperatura non va c'è qualche problema elettrico oppure un disturbo locale. Raramente è il sensore che non va ma lo sgami facilmente mettendolo a confronto con altri esemplari.

Piuttosto, aggiungo l'esperimento che sto conducendo al lavoro.

|500x454 Quello in alto è il grafico della temperatura del sensore interno degli Atmega328P. E' rumoroso nonostante io prenda 25 campioni e faccia la media (prima era peggio) ma la precisione è migliorata dopo che, tramite il confronto con i dati del DS18B20, ho ricalcolato la retta di calibrazione. Il DHT11 fa solo rappresentanza.

Grazie per le info zoom (karma +1), carino il sensore interno degli Atmega, davvero rumoroso: per curiosità, quanti campionamenti fai nel ciclo for per fare la media? Comunque sì, basta un niente per far variare la temperatura. Il problema della condensa ci potrebbe essere sicuro, ma penso che questo sia un problema più di DHT22. Siccome come dici, possono tutti sbagliare i sensori, io ho preferito fare una media tra il DS18B20 e il DHT22 per un dato più preciso, siccome ho visto che il primo "sottostima" quando fa "freddo". Siccome un riferimento esterno da poter prendere deve trovarsi veramente a non più di 50 metri di distanza, perché se no, la temperatura può variare anche fino a un grado a seconda di tantissimi fattori. A volte anche più di un grado, in condizioni come temporali localizzati in una zona, ma prendendo un caso generico è comunque difficile avere un riferimento utilizzabile al 100% a 2.5km di distanza come nel mio caso.

25 campionamenti. Penso si possa migliorare ulteriormente. Dovrei aggiungere anche il DHT22 che ho da tempo e magari qualche altro analogo sensore. Pensavo a qualche Pt100 o anche una termocoppia.

Ancora non sono arrivato al punto da costruirmi una cella a punto triplo per la calibrazione delle temperature. In realtà a me interessano più le variazioni che i valori assoluti.

Il codice si trova in rete, io l'ho modificato in modo da calcolare la media delle letture dell'ADC e quindi calcolare la temperatura in base ai coefficienti ottenuti precedentemente. Non ho mai provato a prendere la temperatura interna dopo dei calcoli per vedere se ci sono variazioni.

In questa notte di gelo in queste lande, ho potuto notare che il DHT22 con temperatura sotto lo zero, tende di più a sovrastimare di quanto il DS18B20 tenda a sottostimare. L'ho potuto notare grazie alle stazioni vicine, anche se non molto, a casa mia. Quindi ho escluso il fatto di fare la media tra i due per ottenere una temperatura più precisa. Alla fine non è una buona soluzione, in quanto a volte affidabile a volte no, quindi conviene usare un sensore al massimo dello stesso tipo e fare la media, tipo che so, 3 DS18B20, ma non 2 DS18B20 e 2 DHT22 perché si potrebbe anche peggiorare la situazione in alcuni casi. Il DS18B20 posso dire che almeno vedendo i datasheet, fino ai -10 gradi centigradi non dovrebbero esserci particolari problemi di imprecisione, anche se una leggera sottostima c'è a quanto ho visto, non è mai come la sovrastima del DHT22. A mezzanotte circa, si era alzato un poco di vento, ovviamente la temperatura è salita, il DS18B20 segnava temperature intorno allo 0, mentre il DHT22 ha toccato 1.2°C ... Le stazioni vicine erano tutte sotto zero, questo mi ha fatto pensare che la sua sovrastima, in condizioni di condensa notturna e magari anche temperatura sotto o vicino allo zero, sia evidente e molto più evidente come già ripetuto, della sottostima del DS18B20.

Dalle mie parti non fa tutto questo freddo ma ho posti dove posso piazzare sensori dove la temperatura scende ampiamente sotto lo zero. Mi hai messo una pulce nell'orecchio. Se non nevica troppo spero di poter mettere qualcosa nelle prossime settimane.