Indledning
Mine tidligere offentliggjorte resultater sammenlignede seks AM2302 hygrometre (alias DHT22, RHT03, og jeg bruger disse navne i hele teksten). Her gentager jeg dette forsøg med det samme apparat og de samme teknikker, men erstatter to af sensorerne med alternative modeller, en DHT11 og en Sensirion SHT71. Formålet med det tidligere arbejde var at fastslå, om en så billig sensor som AM2302/DHT22 kunne leve op til deres påståede nøjagtighed. Min konklusion var, at de i mine eksperimenter ikke gjorde det, men at de leverede en overraskende god ydeevne og meget god værdi for pengene til de fleste ikke-sikkerhedskritiske, hjemlige gør-det-selv-projekter. Det næste indlysende spørgsmål er, om mine test ville vise, at en dyrere enhed ville være bedre. Da jeg genudførte eksperimentet, inkluderede jeg også den endnu billigere og lavere specifikation DHT11.
Databladene for DHT11- og DHT22-enhederne har tendens til at være korte. Tallene i den følgende tabel fremgår af databladene og angives typisk af forhandlerne. Sensirions datablad er på den anden side detaljeret og omfattende og indeholder oplysninger om nøjagtighed som en funktion af luftfugtighed samt detaljer om anbefalede kalibrerings- og lineariseringsprocedurer. Bemærk, at Sensirions absolutte nøjagtighedskrav er mindre strenge og mere troværdige end dem, der normalt angives for DHT-enhederne.
Fabrikantspecifikation | ||||
AM2302 / DHT22 | DHT11 | SHT71 | ||
Rækkevidde | 0-100% | 20-90% | 0-100% | |
Absolut nøjagtighed | ±2% | ±5% | ±3% (20<RH<80) ±5% (RH<20, RH>80) |
|
Gentagelighed | ±1% | ±1% | ±1% | ±0.1% |
Langtidsstabilitet | ±0,5% pr. år | ±1% pr. år | <0.5% om året | |
Typisk gadepris | US$ 4-10 | US$ 1-5 | US$ 30-50 |
OPDATERING: Siden denne side blev skrevet første gang, er der for nylig udkommet et meget forbedret datablad, som indeholder både tydeligere oversættelser til engelsk og mere detaljerede specifikationer og plot. Det hævder stadig en typisk nøjagtighed på ±2%, men viser nu, at nøjagtigheden falder til ±5% ved de to ydergrænser, <10% og >90%
Den nøjagtige og gentagne måling af den relative fugtighed er notorisk vanskelig. De procedurer, der er anvendt her, blev udviklet over en periode på ca. et år og er beskrevet i detaljer på min side om kalibrering af DHT22/AM2302. Jeg er ikke ekspert i hygrometre. Jeg har bare udtænkt det bedste eksperiment, jeg kunne, baseret på min læsning af flere artikler om emnet og ved hjælp af et par stykker husholdningsudstyr, som jeg havde liggende.
Enhederne og testudstyret
Am2302/DHT22-enhederne er de samme enheder, som jeg har brugt tidligere. De er A,B,D,E og F fra min tidligere opskrivning. Selv om der er nævnt fem, var kun fire under test på et tidspunkt. Sensor B gik i stykker under forsøget og blev erstattet af E. Jeg har tilføjet en DHT11 og en Sensirion SHT71.
Apparatopsætningen er som tidligere beskrevet. Alle sensorer blev forsynet med strøm fra en 5V d.c. switching strømforsyning. Der skulle tilføjes ny software til mikrocontrolleren for at aflæse Sensirion-enheden, og den var baseret på Markus Schatzl og Carl Jacksons Sensirion Arduino-bibliotek.
Referencekalibreringskilderne er også stadig de samme, elleve mættede saltopløsninger og destilleret vand. Data blev alle indsamlet på samme måde som tidligere, idet sensorerne fik lov til at stabilisere sig i et par timer med hver opløsning.
Bygningens kvalitet
På mere end ti gange prisen er SHT71 uoverraskende langt overlegen i forhold til de andre. Den er både mindre og føles mere solid. De guldbelagte Cu/Be-legeringsstifter er meget robuste i sammenligning med DHT22, hvor stifterne ærligt talt føles som om de er lavet af tyk aluminiumsfolie. Bemærk, at SHT71 har 1,27 mm separationsstifter, hvilket gør det mindre nemt at tilslutte til almindelige hobbyist 2,54 mm Arduinos og bread-boards. Jeg monterede min i en 2,54 mm headerblok for nem håndtering.
Svarshastighed
SHT71 reagerede konsekvent hurtigst på ændringer, idet den registrerede en ændring på få sekunder. DHT22/AM2302 synes at tage ca. 30 sek. og DHT11 kan tage et par minutter. DHT22 cacher dog en aflæsning i hukommelsen og returnerer den, når der næste gang anmodes om en værdi. Da jeg kun foretager prøveudtagning hver 30. sek. er DHT22-værdierne altid fra 30 sek. siden, hvilket er grunden til, at trinskiftet i figur 2 halter 30 sek. efter SHT71.
Alle sensorer (herunder SHT71) kan tage flere timer at stabilisere sig fuldt ud ved høj luftfugtighed. Selv om noget af dette kan skyldes enheden, formoder jeg, at det reelt tager flere timer at equilibrere og mætte luften i krukken efter en udskiftning. Alligevel er det relative faktum, at SHT71 er hurtigst og DHT11 langsomst, naturligvis reelt, da de alle sammen måler den samme luft.
Resultater
Del 1: Som en funktion af fugtighed
Først ser vi på sensorens varierende respons på forskellige referencefugtigheder, alle målt ved en enkelt fast temperatur.
Sammensætning | Ref. | Målt RH % | ||||||
---|---|---|---|---|---|---|---|---|
RH % | A | B | D | F | SHT71 | DHT11 | ||
NaOH | 6.8 | 9.7 | 12.5 | 10.2 | 8,4 | 12,7 | 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,0 | 57.4 | 57,9 |
NH4NO3 | 59,4 | 57,1 | 48,9 | 61,9 | 59,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.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 |
Sammensætning | Ref. | Målt 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,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.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.2 | ||||||||
K2NO3 | 93.5 | 96,3 | – | 98,0 | 95,3 | – | 95,0 | 93,5 | |
H2O | 100.0 | – | – | – | – | – | – | 98.7 |
Sensirion SHT71
Dette er den bedste af sensorerne. Den er den mest lineære, mest stabile over tid og nok også den med de mindste absolutte afvigelser, selv om de bedste af DHT22’erne er sammenlignelige. Den kan retfærdiggøre sin pris, hvis du har behov for den ekstra nøjagtighed og især pålidelighed. Til de fleste daglige formål er de andre sensorer sandsynligvis tilstrækkelige, bortset fra den grove uoverensstemmelse, der skyldes sensor B’s selvopvarmning. Gentagelighed og konsistens er der, hvor SHT71 synes at vinde let. Finere fremstillingstolerancer og kvalitetskontrol er formodentlig det, man betaler for med de dyrere apparater. RMS-spredningen omkring tilpasningslinjen er 2 % RH, men dette er kun et skøn over den samlede nøjagtighed, hvis korrektionskurven anvendes, og så længe denne korrektionskurve forbliver uændret. Bemærk, at denne 2%RH-spredning omfatter systematiske fejl i mit apparat samt målefejl i sensorerne. Den sande fugtighed, der genereres af hver opløsning, er kun kendt med en nøjagtighed på ca. 2%RH. F.eks. giver alle sensorer 1-2% lavere end forventede målinger for ammoniumnitrat ved 22°C, hvilket tyder på, at det er de referencedata, jeg anvender, der er fejlbehæftede, snarere end sensorerne. Uden min egen korrektionskurve er fejlene fra sensoren efter anvendelse af producentens standardkalibrering fra databladet op til 5 %. Alle mine datapunkter ligger næsten inden for det skraverede område i producentens specifikation.
DHT11
Som angivet på databladet er denne enhed ikke til nogen nytte under 20 % eller over 90 %, men med hensyn til fysisk komfort føles alt over 90 % luftfugtighed det samme, dvs. vådt. På samme måde begynder mine læber at revne ved alt under 20%, så for mange anvendelser er forskellen mellem 5% og 15% måske ikke vigtig. Repeterbarheden (spredning af datapunkterne) er markant dårligere end alle de andre sensorer (±5%), men inden for sit gyldige område (20 < %RH < 90) er dets absolutte kalibrering næsten lige så god som DHT22’eren. En kalibreringskurve er ikke berettiget på grundlag af disse data, selv om en konstant forskydning på ca. 4 % synes at forbedre aflæsningsnøjagtigheden. Hvis sensor B’s egenopvarmning påvirker den tilstødende DH11, kan den nødvendige forskydning være lidt større. Der blev påbegyndt en datakørsel uden selvopvarmning af B, men den blev opgivet, da jeg besluttede, at jeg ikke længere ville bruge dette apparat.
DHT22 / AM2302
Sensor A Ignorerer man kørsel 2, som blev ødelagt af en defekt sensor B, så denne enhed godt ud indtil lige før eksperimentets afslutning, da den blev den anden af de seks DHT22’er, der fejlede. Når den virkede, aflæste den konsekvent 2 % for højt.
Sensor B er meget problematisk. Under den anden datakørsel var enheden defekt og kørte varm. Varmen påvirkede også dens eget lokale miljø, så den har ringe nytteværdi som mål for de omgivende omgivelsesforhold. Selv når den ikke var selvopvarmende i kørsel 3, synes dens adfærd at have ændret sig til en vis grad. Denne enhed er blevet skrottet.
Sensor C blev kun testet én gang, hvor resultaterne var bemærkelsesværdigt ens med SHT71.
Sensor D har ændret sig mere, end specifikationen tillader, men er stadig tolerabel med en fejl på ca. 5%. Dens ændringer forklares ikke af lokal opvarmning fra sensor B. Anvendelse af en af korrektionskurverne ville forbedre de andre målinger, så den viser en vis konsistens, men den har tydeligvis ændret sig.
Sensor E ser godt ud. Divergens ved 100 % kunne bare være et par datalogningsfejl i kørsel 1, og hvis man ignorerer dem, har den været meget konsistent.
Sensor F har ændret sig lidt mellem målingerne. Desværre har den den mest aggressivt krumme af alle kalibreringskurverne, men den har i det mindste været rimelig konstant. Hvis jeg anvendte en korrektionskurve afledt af de gamle data, ville den stadig være gyldig nu.
Del 2: Som funktion af temperaturen
De ovennævnte målinger blev foretaget ved faste temperaturer (30°C og 22°C). Dernæst ser vi på, hvordan sensorerne reagerer i området 10-40 °C. Der er to effekter, der skal adskilles. Vi ønsker at måle, om sensorernes reaktion ændrer sig med temperaturen, men vi ved, at den fugtighed, der genereres af opløsningerne, i sig selv er temperaturfølsom. “Referenceværdierne” er derfor ikke længere faste konstanter, men temperaturafhængige stigninger. DHT22-sensorerne A,D,E,F, DHT11 og SHT71 blev afprøvet med alle de mættede opløsninger, og kurver for tre af dem er vist i figur 5, 6 og 7. De forbindelser, der er udvalgt til at indgå her, er:
- NaCl, fordi det er langt den mest undersøgte og velkalibrerede af vores sæt, og også fordi den har den svageste temperaturafhængighed. For dette ene specielle tilfælde behøver vi næppe at plotte en hældning. Fugtigheden er en fast 75% over hele vores temperaturområde.
- NH4NO3, fordi det er den eneste forbindelse, der er medtaget med en meget stærk temperaturkoefficient. Hvis sensorerne fungerer, vil den vise en stærk hældning i stærk kontrast til NaCl.
- MgCl valgt som en anden meget almindeligt anvendt forbindelse, og da den ligger i det lave fugtighedsområde, adskiller den sig fra de to andre.
Disse plotter viser igen et punkt, der er blevet nævnt gentagne gange, nemlig at disse eksperimenter kun er så nøjagtige som tilgængeligheden af kalibreringsreferencer, og litteraturen viser en betydelig variation. Se f.eks. på ammoniumnitrat i figur 6. Mine to datakørsler med SHT71 viser en systematisk forskydning, som formodentlig er sensorkalibreringsdrift, men denne forskydning er kun omtrent lige så stor som forskellen mellem de offentliggjorte Wexler- og O’Brien-datasæt.
Den meget tydelige forskel mellem figur 5 og 6 viser, at systemopsætningen er en succes. Som med figur 3 i DHT22-rapporten er den primære konklusion heraf, at vi klart kan skelne mellem ændringer i sensorens følsomhed og ægte miljøændringer, og at vores konklusioner vedrørende sensorkalibrering er gyldige og ikke eksperimentelle fejl.
Del 3: Som funktion samtidig af temperatur og fugtighed
Sidst, hvis en sensor skal bruges til at måle fugtighed under en række varierende temperaturer, er der behov for en fuld bivariat kalibrering. En sådan kalibrering over det ret moderate temperaturområde 10 < °C < 35 er vist i figur 8. Kurverne i figur 4 er reelt tværsnit gennem disse overflader.
Temperaturnøjagtighed
På anmodning fra en korrespondent inkluderer jeg en hurtig sammenligning af temperaturudgangene. Mit apparat indeholder ingen ekstern reference, som temperaturudgangen kan kalibreres i forhold til, og jeg foretager derfor blot en direkte sammenligning. Strengt taget viser dette kun, at de stemmer overens, ikke at de alle er korrekte, men jeg tror ikke, at det er alvorligt tvivl om, at de er gode nok til de fleste formål. DHT22/AM2302-enhederne stemmer godt overens med SHT71. SHT71 og E adskiller sig med konstant 0,4°C, den største afvigelse jeg har set. De fleste af de andre adskiller sig med ∼0,1°C. Dette er alt sammen i overensstemmelse med mine tidligere resultater, som kun gælder DHT22/AM2302. DHT11 udviser mere spredning, men jeg har normalt set specifikationen angivet som ±2°C, og min testenhed leverede ±0,7°C. Jeg har andre steder set på BME280’s absolutte termometernøjagtighed, men den test er ikke blevet anvendt på disse sensorer.
Konklusion
- SHT71 er klart overlegen i forhold til DHT22. Det er bedre fremstillet, mindst lige så nøjagtigt, mere præcist og reagerer hurtigere på ændringer. Det koster naturligvis også ti gange så meget.
- Særligt slående er SHT71’s langt bedre termiske stabilitet i forhold til de andre. (For eksempel figur 5.)
- Pålideligheden kan måske retfærdiggøre den højere pris for dig. Efter et par år kører min enkelte SHT71 fint.
- To af mine seks DHT22 / AM2303-enheder er gået i stykker. Den forventede levetid er omkring et til to år.
- Efter 18 måneders kontinuerlig drift er kun én af mine seks DHT22 / AM2303-enheder (enhed E) i stand til at matche min SHT71’s ydeevne. Det er selvfølgelig muligt, at jeg har fået den ene gode SHT71, men det anser jeg ikke for sandsynligt.
- Dith22 er helt sikkert bedre end DHT11 og retfærdiggør nemt den ekstra pris. Jeg vil ikke gide lege videre med DHT11, men den virker bestemt, hvis man har brug for en billig enhed med lavere spec..