Introduktion
Mina tidigare publicerade resultat jämförde sex AM2302- hygrometrar (alias DHT22, RHT03 och jag använder namnen synonymt genomgående). Här upprepar jag det experimentet med samma apparatur och teknik men ersätter två av sensorerna med alternativa modeller, en DHT11 och en Sensirion SHT71. Syftet med det tidigare arbetet var att fastställa om en så billig givare som AM2302/DHT22 kan leva upp till den noggrannhet som de påstås ha. Min slutsats var att de i mina experiment inte gjorde det, men att de gav förvånansvärt bra prestanda och mycket god valuta för pengarna för de flesta icke-säkerhetskritiska, inhemska gör-det-själv-projekt. Nästa uppenbara fråga är om mina tester skulle visa att en dyrare apparat är bättre. Eftersom jag gjorde om experimentet inkluderade jag även den ännu billigare och lägre specifikation DHT11.
Datablad för DHT11- och DHT22-enheterna tenderar att vara kortfattade. Siffrorna i följande tabell förekommer på datablad och anges vanligtvis av återförsäljare. Sensirions datablad är å andra sidan detaljerat och omfattande och ger noggrannhet som en funktion av luftfuktigheten samt detaljer om rekommenderade kalibrerings- och lineariseringsprocedurer. Observera att Sensirions krav på absolut noggrannhet är mindre stränga och mer trovärdiga än de som normalt anges för DHT-enheterna.
Herställningsspecifikation | |||
AM2302 / DHT22 | DHT11 | SHT71 | |
Beroende | 0-100% | 20-90% | 0-100% |
Absolut noggrannhet | ±2% | ±5% | ±3% (20<RH<80) ±5% (RH<20, RH>80) |
Upprepningsbarhet | ±1% | ±1% | ±0.1% |
Långsiktig stabilitet | ±0,5% per år | ±1% per år | <0.5% per år |
Typiskt gatupris | US$ 4-10 | US$ 1-5 | US$ 30-50 |
UPPDATERING: Sedan den första skrivningen av den här sidan har det nyligen publicerats ett mycket förbättrat datablad som innehåller både tydligare översättningar till engelska och mer detaljerade specifikationer och diagram. Det hävdar fortfarande en typisk noggrannhet på ±2%, men visar nu att noggrannheten sjunker till ±5% vid de två extrema gränserna, <10% och >90%
Att mäta den relativa luftfuktigheten på ett exakt och upprepbart sätt är notoriskt svårt. De förfaranden som används här har utvecklats under en period av ungefär ett år och beskrivs i detalj på min kalibreringssida för DHT22/AM2302. Jag är ingen expert på hygrometrar. Jag har bara utarbetat det bästa experiment jag kunde baserat på min läsning av flera artiklar om ämnet och med hjälp av några hushållsartiklar som jag hade liggande.
Enheterna och testutrustningen
Am2302/DHT22-enheterna är samma enheter som jag använde tidigare. De är A,B,D,E och F från min tidigare skrivning. Även om fem nämns var det bara fyra som testades vid varje tillfälle. Sensor B gick sönder under försöket och ersattes av E. Jag har lagt till en DHT11 och en Sensirion SHT71.
Apparatuppställningen är som tidigare beskriven. Alla sensorer fick strömförsörjning från ett 5V d.c. switchande nätaggregat. Ny programvara behövde läggas till i mikrokontrollern för att läsa Sensirion-enheten och var baserad på Markus Schatzl och Carl Jacksons Sensirion Arduino-bibliotek.
Referenskalibreringskällorna är fortfarande desamma också, elva mättade saltlösningar och destillerat vatten. Alla data samlades in på liknande sätt som tidigare där sensorerna fick stabilisera sig i några timmar med varje lösning.
Byggkvalitet
Med ett mer än tio gånger så högt pris är SHT71 oväntat nog långt överlägsen de andra. Den är både mindre och känns mer solid. De guldpläterade stiften i Cu/Be-legering är mycket robusta i jämförelse med DHT22 på vilken stiften ärligt talat känns som om de är gjorda av tjock aluminiumfolie. Observera att SHT71 har 1,27 mm separationsstift, vilket gör den mindre lätt att ansluta till vanliga hobbyistars 2,54 mm Arduinos och bread-boards. Jag monterade min i ett 2,54 mm headerblock för enkel hantering.
Svarshastighet
STHT71 reagerade konsekvent snabbast på förändringar och registrerade en förändring på några sekunder. DHT22/AM2302 verkar ta ungefär 30 sekunder och DHT11 kan ta ett par minuter. DHT22 cacher dock en avläsning i minnet och returnerar den när ett värde begärs nästa gång. Eftersom jag bara tar prover var 30:e sekund är DHT22-värdena alltid från 30 sekunder tidigare, vilket är anledningen till att stegförändringen i figur 2 släpar 30 sekunder efter SHT71.
Alla sensorer (inklusive SHT71) kan ta flera timmar att stabilisera sig helt och hållet vid hög luftfuktighet. Även om en del av detta kan bero på apparaten misstänker jag att det verkligen tar flera timmar att jämna ut och mätta luften i burken efter ett byte. Ändå är det relativa faktum att SHT71 är snabbast och DHT11 långsammast uppenbarligen verkligt eftersom de alla tillsammans mäter samma luft.
Resultat
Del 1: Som funktion av fuktighet
Först tittar vi på sensorns varierande svar på olika referensfuktigheter, alla uppmätta vid en enda fast temperatur.
Förening | Ref. | Mätt RH % | ||||||
---|---|---|---|---|---|---|---|---|
RH % | A | B | D | F | SHT71 | DHT11 | ||
NaOH | 6.8 | 9.7 | 12.5 | 10.2 | 8.4 | 12.7 | 31.8 | |
LiCl | 11.2 | 14.0 | 15.8 | 14.8 | 12.9 | 16.6 | 31.9 | |
MgCl | 32.8 | 31.6 | 29.2 | 33.9 | 31.4 | 35.4 | 38.9 | |
K2CO3 | 42.6 | 41.4 | 37.0 | 45.3 | 42.6 | 45.4 | 46.5 | |
NaBr | 56.6 | 54.4 | 46.5 | 59.0 | 56.7 | 57.4 | 57.9 | |
NH4NO3 | 59.4 | 57.1 | 48.9 | 61.9 | 59.7 | 60.7 | 61.9 | |
KI | 67.9 | 65.0 | 54.6 | 71.8 | 69.1 | 68.4 | 70.3 | |
NaCl | 75.3 | 71.8 | 60.1 | 80.3 | 78.9 | 75.8 | 80.3 | |
NH4SO4 | 79.9 | 75.9 | 63.4 | 85.7 | 84.6 | 80.1 | 86.3 | |
KCl | 84.0 | 79.1 | 65.6 | 89.6 | 91.3 | 83.8 | 89.6 | |
K2NO3 | 91.7 | 87.4 | 71.1 | 98.0 | – | 91.6 | 91.0 | |
H2O | 100.0 | 96.4 | 77.8 | – | – | – | 98.1 | 92,0 |
Compound | Ref. | Mätt RH % | ||||||
---|---|---|---|---|---|---|---|---|
RH % | A | B | D | E | F | DHT11 | SHT71 | |
NaOH | 7.3 | 9.7 | 9.7 | 8.4 | 9.4 | 7.8 | 35.8 | 12.6 |
LiCl | 11,8 | 14,0 | 13,3 | 12,8 | 13,8 | 12.1 | 35.9 | 16.3 |
MgCl | 33.1 | 33.3 | 31.0 | 31.9 | 32.7 | 30.9 | 38.9 | 35.5 |
K2CO3 | 43.4 | 44.1 | 41.7 | 42.8 | 45.4 | 41.6 | 48.6 | 45.3 |
NaBr | 58.1 | 59.2 | 56.1 | 59.2 | 61.0 | 58.3 | 63.3 | 59.7 |
NH4NO3 | 64.7 | 64.1 | 61.0 | 63.9 | 65.4 | 64.1 | 67.4 | 64.2 |
KI | 69.5 | 70.2 | 66.7 | 72.3 | 71.3 | 71.2 | 74.0 | 70.4 |
NaCl | 75.3 | 76.4 | 72.2 | 79.0 | 76.4 | 79.3 | 82.4 | 76.2 |
NH4SO4 | 80.2 | 82.0 | 77.3 | 84.7 | 81.0 | 86.6 | 91.4 | 81.4 |
KCl | 85.3 | 86.3 | 82.0 | 88.0 | 85.1 | 93.0 | 93.7 | 85.2 |
K2NO3 | 93.5 | 96.3 | – | 98.0 | 95.3 | – | 95.0 | 93.5 |
H2O | 100.0 | – | – | – | – | – | – | 98.7 |
Sensirion SHT71
Detta är den bästa av sensorerna. Den är den mest linjära, mest stabila över tiden och utan tvekan den med de minsta absoluta avvikelserna även om man plockar ut den bästa av DHT22:orna är de jämförbara. Den kan rättfärdiga sin kostnad om du har ett behov av extra noggrannhet och särskilt tillförlitlighet. För de flesta vardagliga ändamål är de andra sensorerna förmodligen tillräckliga med undantag för den grova inkonsekvens som orsakas av sensor B:s självuppvärmning. Repeterbarhet och konsistens är områden där SHT71 verkar vinna lätt. Finare tillverkningstoleranser och kvalitetskontroll är förmodligen vad man betalar för med de dyrare enheterna. RMS-spridningen runt anpassningslinjen är 2 % RH, men detta är bara en uppskattning av den totala noggrannheten om korrigeringskurvan tillämpas och så länge som korrigeringskurvan förblir oförändrad. Observera att denna 2 %RH-spridning omfattar systematiska fel i min apparat samt mätfel i sensorerna. Den verkliga fuktigheten som genereras av varje lösning är endast känd med ungefär 2 % RH. Till exempel ger alla sensorer 1-2 % lägre värden än förväntat för ammoniumnitrat vid 22 °C, vilket tyder på att det är de referensdata jag använder som är felaktiga snarare än sensorerna. Utan min egen korrigeringskurva är felen från sensorn efter tillämpning av tillverkarens standardkalibrering från databladet upp till 5 %. Alla mina datapunkter ligger nästan inom det skuggade området i tillverkarens specifikation.
DHT11
Som anges i databladet är den här enheten inte användbar under 20 % eller över 90 %, men när det gäller fysisk komfort känns allt över 90 % luftfuktighet likadant, dvs. blött. På samma sätt börjar mina läppar spricka vid allt under 20 %, så för många användningsområden är skillnaden mellan 5 % och 15 % kanske inte viktig. Repeterbarheten (spridning av datapunkterna) är märkbart sämre än alla andra sensorer (±5 %) men inom sitt giltiga område (20 < %RH < 90) är dess absoluta kalibrering nästan lika bra som DHT22:s. En kalibreringskurva är inte motiverad av dessa data även om en konstant förskjutning på ca 4 % verkar förbättra avläsningsnoggrannheten. Om sensor B:s självuppvärmning påverkade den intilliggande DH11 skulle den nödvändiga förskjutningen kunna vara något större. En datakörning utan den självuppvärmande B påbörjades, men övergavs sedan när jag bestämde mig för att inte längre använda denna anordning.
DHT22 / AM2302
Sensor A Om man bortser från körning 2 som skadades av en felaktig sensor B, såg den här enheten bra ut fram till strax före experimentets slut, då den blev den andra av de sex DHT22:erna att misslyckas. När den fungerade läste den konsekvent 2 % högt.
Sensor B är mycket problematisk. Under den andra datakörningen var enheten felaktig och gick varm. Värmen påverkade också dess egen lokala miljö så den har liten nytta som ett mått på de omgivande miljöförhållandena. Även när den inte var självuppvärmande under körning 3 verkar dess beteende ha förändrats i viss mån. Denna anordning har skrotats.
Sensor C Testades endast en gång och resultaten var då anmärkningsvärt lika SHT71.
Sensor D har förändrats mer än vad specifikationen tillåter, men är fortfarande tolerabel med ett fel på 5 % eller så. Dess förändringar förklaras inte av lokal uppvärmning från sensor B. Att tillämpa någon av korrigeringskurvorna skulle förbättra de andra mätningarna så att den visar en viss konsistens, men den har tydligt förändrats.
Sensor E ser bra ut. Divergens vid 100 % kan bara vara ett par dataloggningsfel i körning 1 och om man ignorerar dem har den förblivit mycket konsekvent.
Sensor F har förändrats lite mellan mätningarna. Tyvärr har den den mest aggressivt krökta av alla kalibreringskurvor, men den har åtminstone varit någorlunda konstant. Om jag tillämpade en korrigeringskurva som härrörde från de gamla uppgifterna skulle den fortfarande vara giltig nu.
Del 2: Som funktion av temperatur
Ovanstående mätningar gjordes vid fasta temperaturer (30 °C och 22 °C). Därefter tittar vi på hur sensorerna reagerar i intervallet 10-40 °C. Det finns två effekter som måste särskiljas. Vi vill mäta om sensorernas reaktion förändras med temperaturen, men vi vet att den fuktighet som lösningarna genererar i sig är temperaturkänslig. ”Referensvärdena” är därför inte längre fasta konstanter utan temperaturberoende lutningar. DHT22-sensorerna A,D,E,F, DHT11 och SHT71 testades med alla mättade lösningar och diagram för tre av dem visas i figurerna 5, 6 och 7. De föreningar som valts ut här är:
- NaCl eftersom den är den överlägset mest studerade och välkalibrerade i vår uppsättning och även eftersom den har det svagaste temperaturberoendet. För detta enda specialfall behöver vi knappast plotta en lutning. Fukthalten är en fast 75 % över hela vårt temperaturområde.
- NH4NO3 eftersom det är den enda förening som ingår med en mycket stark temperaturkoefficient. Om sensorerna fungerar kommer detta att visa en stark lutning i tydlig kontrast till NaCl.
- MgCl valdes ut som en annan mycket vanligt förekommande förening och eftersom den ligger i det låga fuktområdet, skiljer den sig från de andra två.
Dessa diagram visar återigen på en punkt som upprepade gånger har tagits upp, nämligen att dessa experiment endast är så exakta som tillgången till kalibreringsreferenser, och litteraturen visar på en avsevärd variation. Titta till exempel på ammoniumnitrat i figur 6. Mina två datakörningar med SHT71 visar en systematisk förskjutning som förmodligen är sensorkalibreringsdrift, men denna förskjutning är bara ungefär lika stor som diskrepansen mellan de publicerade Wexler- och O’Brien-datauppsättningarna.
Den mycket uppenbara skillnaden mellan figurerna 5 och 6 visar att systemuppsättningen är framgångsrik. Liksom för figur 3 i DHT22-rapporten är den primära slutsatsen av detta att vi tydligt kan skilja mellan förändringar i sensorkänslighet och verkliga miljöförändringar och att våra slutsatser om sensorkalibrering är giltiga, inte experimentella fel.
Del 3: Som funktion samtidigt av temperatur och fuktighet
För att en sensor ska kunna användas för att mäta luftfuktighet under en rad varierande temperaturer krävs slutligen en fullständig bivariatkalibrering. En sådan kalibrering över det ganska måttliga temperaturområdet 10 < °C < 35 visas i figur 8. Kurvorna i figur 4 är i praktiken tvärsnitt genom dessa ytor.
Temperaturnoggrannhet
På en korrespondentens begäran inkluderar jag en snabb jämförelse av temperaturutgångarna. Min apparat innehåller ingen extern referens mot vilken temperaturutgången kan kalibreras och jag gör därför helt enkelt en direkt jämförelse. Strängt taget visar detta bara att de stämmer överens, inte att de alla är korrekta, men jag tror inte att det på allvar är tveksamt att de är tillräckligt bra för de flesta ändamål. DHT22/AM2302-enheterna matchar SHT71 väl. SHT71 och E skiljer sig åt med konstant 0,4°C, den största avvikelse jag har sett. De flesta andra skiljer sig med ∼0,1°C. Allt detta stämmer överens med mina tidigare resultat från endast DHT22/AM2302. DHT11 uppvisar större spridning, men jag har normalt sett att specifikationen anges som ±2°C och min testenhet levererade ±0,7°C. Jag har på annat håll tittat på BME280:s absoluta termometernoggrannhet, men det testet har inte tillämpats på dessa sensorer.
Slutsats
- STHT71 är klart överlägsen DHT22. Den är bättre tillverkad, minst lika noggrann, mer exakt och reagerar snabbare på förändringar. Den kostar naturligtvis också tio gånger så mycket.
- Särskilt slående är den mycket bättre termiska stabiliteten hos SHT71 jämfört med de andra. (Till exempel figur 5.)
- Tillförlitligheten kan rättfärdiga den högre kostnaden för dig. Efter ett par år fungerar min enda SHT71 utmärkt.
- Två av mina sex DHT22/AM2303-enheter har gått sönder. Den förväntade livslängden är ungefär ett till två år.
- Efter 18 månaders kontinuerlig drift kan endast en av mina sex DHT22 / AM2303-enheter (enhet E) mäta sig med min SHT71:s prestanda. Det är naturligtvis möjligt att jag har fått en enda bra SHT71, men jag anser det inte troligt.
- DTH22 är definitivt bättre än DHT11 och motiverar lätt sin extra kostnad. Jag ska inte bry mig om att leka med DHT11 längre, men den fungerar säkert om man har behov av en billig enhet med lägre specifikationer.