Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Een vochtigheidssensor controleren en kalibreren

Hoe nauwkeurig is uw vochtigheidssensor? Ontdek het met dit project.

Vochtigheidssensoren zijn alledaags, relatief goedkoop en er zijn veel verschillende varianten. Te vaak controleren we de datasheet, gebruiken ze met een interface en (zolang de waarden "er redelijk uitzien") accepteren we de resultaten.

In dit project laten we zien hoe we een stap verder kunnen gaan en de nauwkeurigheid van een vochtigheidssensor verifiëren. We illustreren ook een algemene methode voor sensorkalibratie en passen de methode toe om de resultaten te kalibreren om de nauwkeurigheid van de vochtigheidsmetingen te verbeteren.

Testopstelling gebruikt in het project (van links naar rechts, Quark D2000-microcontrollerkaart, sensorinterface, HIH5030-sensor in een micro-omgeving).

Grondbeginselen van het project

Om de nauwkeurigheid van een sensor te controleren, worden de verkregen waarden vergeleken met een referentiestandaard. Om de nauwkeurigheid van een vochtigheidssensor te controleren, gebruiken we de "verzadigde zout"-methode om de normen te produceren. Simpel gezegd, bepaalde zouten (d.w.z. ionische verbindingen zoals keukenzout of kaliumchloride) produceren, wanneer opgelost in een waterige oplossing, een atmosfeer met een bekende vochtigheid (zie referentie-pdf).

Deze chemische eigenschappen worden gebruikt om micro-omgevingen te creëren met bekende relatieve vochtigheid (RH) percentages (d.w.z. referentiestandaarden), en de sensoren worden in de micro-omgeving uitgelezen. Concreet zullen we een oplossing maken in een afgesloten pot om de atmosfeer te behouden en vervolgens de aangesloten sensor in de afgesloten pot plaatsen. Vervolgens wordt de sensor herhaaldelijk uitgelezen en worden de waarden geregistreerd.

Door de procedure te herhalen met verschillende zouten, die elk een andere relatieve vochtigheid produceren, kunnen we een profiel ontwikkelen voor de te testen sensor. Omdat we weten wat de relatieve vochtigheid is voor elke micro-omgeving, kunnen we de afwijkingen van onze sensormetingen van die bekende waarden beoordelen en zo de nauwkeurigheid van de sensor evalueren.

Als de afwijkingen substantieel zijn, maar niet onoverkomelijk, kunnen we wiskundige kalibratieprocedures in software toepassen om de nauwkeurigheid van de metingen te vergroten.

Een woord over veiligheid

Voordat u verder gaat, is het essentieel dat u op verantwoorde wijze omgaat met de chemicaliën die in dit project worden gebruikt.

  • Lees het veiligheidsinformatieblad (SDS, of soms MSDS (materiaalveiligheidsinformatieblad)) voor elk van de gebruikte chemicaliën (links naar het veiligheidsinformatieblad voor elk gebruikt zout vindt u hieronder, en u kunt ook literatuuronderzoeken uitvoeren op elk zout en hun veilige behandelingsprocedures).
  • De chemicaliën niet inademen of inslikken.
  • Laat de chemicaliën niet in contact komen met uw huid of ogen (gebruik handschoenen en een veiligheidsbril).
  • Bereid de oplossingen niet in dezelfde ruimte waar het voedsel wordt bereid.
  • Bewaar de chemicaliën op de juiste manier.
  • Gooi de oplossingen en alle instrumenten die zijn gebruikt om de oplossingen voor te bereiden op de juiste manier weg, zodat blootstelling niet per ongeluk plaatsvindt.
  • Weet voordat u begint wat u moet doen als er een accidentele blootstelling plaatsvindt (zie het veiligheidsinformatieblad).

Gebruikte zouten

Over het algemeen geldt dat hoe meer RH-atmosferen u kunt produceren voor referentienormen, hoe beter de karakterisering van de te testen sensor zal zijn. Er is echter altijd een limiet aan middelen in praktische zin. In dit project werden vier referentiestandaarden gebruikt en de zouten die werden gebruikt om de referentiestandaarden te produceren, werden gekozen om een ​​reeks mogelijke RH-waarden te dekken, maar ook met het oog op veiligheid, beschikbaarheid en kosten.

De onderstaande zouten zijn gekozen. In het geval van natriumchloride (keukenzout) werd puur koosjer zout goedkoop verkregen bij een plaatselijke supermarkt. Als je die kant op gaat, vermijd dan het gebruik van keukenzout met toevoegingen, zoals jodium of antiklontermiddelen.

Zouten gebruikt in het project
Zout % RV (bij 25°C) Bron Veiligheidsinformatieblad
Lithiumchloride 11.30 Thuis wetenschappelijke hulpmiddelen SDS voor LiCl
Magnesiumchloride 32.78 Thuis wetenschappelijke hulpmiddelen SDS voor MgCl
Natriumchloride 75.29 Diverse (zie tekst) SDS voor NaCl
Kaliumchloride 84.34 Thuis wetenschappelijke hulpmiddelen SDS voor KCl

Een micro-omgeving creëren

We hebben normen voor bijna alles en er is er zelfs een voor het creëren van een stabiele RV uit een waterige oplossing (zie ASTM E104 – 02(2012)). Hoewel mijn bank, en waarschijnlijk de jouwe, geen officieel testlaboratorium is, is het de moeite waard om de specificaties in de norm zo nauwkeurig mogelijk te volgen.

Merk ook op dat de resultaten die in dit project worden gepresenteerd, hoewel ze met zorg zijn verzameld, niet mogen worden opgevat als een weergave van of een indicatie van een algemene kwaliteitsverklaring van de nauwkeurigheid van een sensormerk. Er is slechts een klein aantal sensoren getest en de gebruikte sensoren hadden verschillende leeftijden en verschillende gebruiksgeschiedenissen.

Voor elk zout werd een modderig mengsel gecreëerd door gedestilleerd water toe te voegen tot een consistentie die vergelijkbaar is met zeer nat zand. Je kunt vier of vijf eetlepels chemicaliën en een eetlepel gedestilleerd water proberen, maar je moet misschien een beetje experimenteren.

Het mengsel werd gemaakt in een kleine pot met een goede afdichting. Glas of zelfs plastic zou goed moeten werken, zolang het de atmosfeer maar binnen kan houden. Er kan een klein gaatje in de bovenkant van de pot worden gemaakt om verbindingsdraden naar de sensorinterface en vervolgens naar een microcontroller te leiden. De aangesloten sensor wordt dan ongeveer 0,5-1,0 inch boven het mengsel gepositioneerd. Zorg ervoor dat de sensor nooit rechtstreeks in contact komt met de oplossing, anders zal deze waarschijnlijk beschadigd raken. Om de verbinding op zijn plaats te houden en het gat in de dop af te dichten, kan wat gemakkelijk verwijderbare contactplamuur worden gebruikt.

Het is belangrijk dat u voldoende tijd neemt voor evenwicht voordat u de laatste meting uitvoert. Ik heb dit probleem empirisch getest, waarbij ik elke minuut tot zes uur lang metingen uitvoerde in geselecteerde testgevallen. In mijn ervaring was dit langer dan nodig was en ik rekende op 90-120 minuten evenwichtstijd voor elke sensor en zout. Vervolgens werd een gemiddelde van de laatste vijf metingen gebruikt voor de uiteindelijke waarde. In alle gevallen vertoonden de vijf waarden weinig of geen verschil.

Bovendien werden alle metingen gedaan bij een omgevingstemperatuur van ongeveer 25 ° C (± 1 °) en de RH-waarde die voor elke standaard werd gebruikt, was die vermeld voor 25 ° C (zie deze PDF voor de waarden).

HIH5030-sensor op een draagbord in een micro-omgeving die natriumchloride bevat.

Hardware

Microcontroller

In dit project koppelen we de sensoren met behulp van een Quark D2000-microcontroller. De D2000 is een 3V-kaart met I2C en analoog-naar-digitale interfaces.

Houd er echter rekening mee dat de meeste andere microcontrollers met de juiste interfaces kunnen worden gebruikt.

Sensorinterfaces

Sensoren getest in het project; A) HIH8121, B) HIH5030, C) DHT-22 (AM2302), D) HIH6030 (op een draagbord).

Er zijn vier verschillende soorten vochtigheidssensoren getest:DHT-22 (er werden twee gebruikt), HIH5030, HIH6030 en HIH8121. De onderstaande schema's illustreren de eenvoudige interfaces die voor elk type sensor worden gebruikt, en raadpleging van de gekoppelde databladen zal achtergrondinformatie geven voor de circuits.

  • De DHT-22 is een temperatuur- en vochtigheidssensor met een eigen seriële uitgang
  • De HIH5030 is een vochtigheidssensor met analoge (spannings)uitgang. De interface voor deze sensor gebruikt een op-amp in een unity-gain-configuratie voor impedantie-aanpassing.
  • De HIH6030 en HIH8121 zijn temperatuur- en vochtigheidssensoren die het I2C-protocol gebruiken

DHT-22 naar D2000-interface.

DHT-22 Stuklijst:U1, DHT-22-sensor; R1, weerstand van 4,7 kΩ; C1, 0,1 µF condensator.

HIH5030 naar D2000-interface.

HIH5030 Stuklijst:U1, HIH3050-sensor; U2, MCP601P op-amp; C1, 1,0 µF condensator; C2, 0,1 µF condensator.

HIH6030 naar D2000-interface.

HIH6030 Stuklijst:U1, HIH6030-sensor; R1 en R2, 2,2 kΩ weerstand; C1, 0,22 µF condensator; C2, 0,1 µF condensator.

HIH8121 naar D2000-interface.

HIH8121 Stuklijst:U1, HIH8121-sensor; R1 en R2, 2,2 kΩ weerstand; C1, 0,22 µF condensator.

Sensorsoftware

Alle programma's voor het verzamelen van sensorgegevens zijn geschreven in de C-taal en kunnen worden gedownload door op de knop "Projectcode vochtigheidssensor" te klikken. Elk is becommentarieerd en duidelijk. Voor elke sensor leest het programma eenvoudig de sensor elke minuut en stuurt de waarde naar een seriële monitor. Als zodanig moeten ze gemakkelijk kunnen worden aangepast aan uw specifieke toepassing.

Screenshots van uitvoer van DHT22.c (links) en HIH5030.c (rechts).

Procedure voor sensorevaluatie

De onderstaande tabel bevat de gegevens van de evaluatie van de sensoren in elk van de vier micro-omgevingen.

Percentage RV voor de testsensoren (OBS =waargenomen waarde, ERR =fout als verschil met standaard, RMSE =root mean kwadratische fout)
DHT #1 DHT #2 HIH5030 HIH6030 HIH8121
Referentie RH OBS ERR OBS ERR OBS ERR OBS ERR OBS ERR
11.30 (LiCl) 12.56 1,26 16.29 4.99 13.02 1,72 20,79 9,49 31.31 1,01
32,78 (MgCl) 32.36 -0.42 33.79 1,01 33.46 0,68 40.77 7,99 32.43 -0.35
75,29 (NaCl) 73.04 -2.25 74,50 -0,79 77.74 2,45 83.83 8.54 76.63 1.34
84.34 (KCl) 82.30 -2.04 82.15 -2.19 85.84 1,50 93.43 9,09 85.01 0,67
RMSE 1.657 2.799 1.708 8.796 0.920

Nadat u de gegevens van de sensorprestaties in stabiele omgevingen met bekende relatieve vochtigheid hebt verzameld, kunt u de nauwkeurigheid van een sensor numeriek evalueren.

Merk op dat we in de tabel de fout voor elke sensor bij elke RH-standaard hebben berekend. We kunnen die waarden echter niet zomaar middelen om de sensor te evalueren, omdat sommige waarden positief zijn en andere negatief. Als we gewoon een gemiddelde zouden nemen, zou de resulterende waarde de gemiddelde fout minimaliseren, omdat de positieve en negatieve waarden elkaar zouden opheffen.

In plaats daarvan berekenen we een root mean square error (RMSE) om de nauwkeurigheid van de sensor te karakteriseren. De formule voor RMSE is hieronder:

waarbij O de waargenomen sensorwaarde is en I de ideale sensorwaarde is (d.w.z. de referentiestandaard). Om RMSE te berekenen, kwadrateren we elke fout (de afwijking van de referentiestandaard), berekenen vervolgens het rekenkundig gemiddelde van die waarden en nemen ten slotte de vierkantswortel van het gemiddelde.

Nadat u de nauwkeurigheid van de sensor hebt gekarakteriseerd, kunt u de RMSE gebruiken om te beslissen of het nodig is om de sensor te kalibreren. In sommige gevallen is de RMSE klein en volledig acceptabel voor uw toepassing en kunt u redelijkerwijs besluiten dat er geen kalibratie nodig is.

Zo zijn de resultaten voor de HIH8121 indrukwekkend. De RMSE is minder dan 1% en alle steekproefpunten hebben een fout van minder dan 2%.

Aan de andere kant kan het zijn dat u in sommige gevallen merkt dat de sensorrespons zo slecht en onregelmatig is dat u eenvoudigweg besluit dat er een andere sensor nodig is voor uw toepassing.

Bij de beslissing om te kalibreren moet altijd rekening worden gehouden met de mate van nauwkeurigheid die nodig is voor de taak. Desalniettemin kunnen we de nauwkeurigheid van de sensormetingen verbeteren door kalibratie, voor alle sensoren in de tabel.

Sensorkalibratieprocedure

Om een ​​sensor te kalibreren, moeten we eerst wiskundig de functie bepalen die de ideale waarden relateert aan de waargenomen waarden. Een lineaire regressieprocedure kan worden gebruikt om die functie te bepalen.

Het woord "lineair" in de naam van de regressieprocedure betekent niet een lineaire functie. In plaats daarvan verwijst de term naar een lineaire combinatie van variabelen. De resulterende functie kan lineair of kromlijnig zijn. Alle drie de polynoomfuncties hieronder vertegenwoordigen lineaire regressie (let op:we negeren een geval van 0 graden dat in deze context niet nuttig is).

  1. y =ax + b (eerste graad, lineair)
  2. y = ax 2 + bx + c (tweede graad, kwadratisch)
  3. y =ax 3 + bx 2 + cx + d (derde graad, kubisch)

In het huidige project berekenen we sensorwaarden met behulp van vier referentiestandaarden (d.w.z. n =4). Een polynoom van de derde graad is dus het polynoom van de hoogste graad dat we kunnen berekenen. Het is altijd zo dat de hoogst mogelijke polynoom n – 1 is, en in dit geval betekent dat 3 (4 – 1).

Voor lineaire regressie worden gewoonlijk kleinste-kwadratenprocedures gebruikt. In deze procedure wordt een lijn zo geplaatst dat de som van de afstanden van elk nulpunt tot de lijn zo klein mogelijk is. Er zijn veel programma's beschikbaar die de kleinste-kwadratenprocedures gebruiken om lineaire regressie uit te voeren. U kunt zelfs Excel gebruiken (klik hier voor meer informatie).

Er moet ook worden opgemerkt dat we geen lineaire regressie hoeven te gebruiken. We zouden niet-lineaire regressie kunnen gebruiken. Voorbeelden van niet-lineaire regressie resulteren in een machtsfunctie of een Fourier-functie. Lineaire regressie is echter zeer geschikt voor de gegevens van ons project en bovendien is softwarecorrectie (kalibratie) eenvoudig te implementeren. In dit project geloof ik zelfs niet dat je veel zou winnen door niet-lineaire regressie te gebruiken.

De polynoom kiezen

In theorie willen we de polynoom gebruiken die het beste bij de gegevens past. Dat wil zeggen, de polynoom die de kleinste determinatiecoëfficiënt produceert, aangeduid met r 2 (of R 2 , uitgesproken als "R kwadraat"). Hoe dichter r 2 is tot 1, hoe beter de pasvorm. Bij een kleinste-kwadratenschatting is het altijd zo dat hoe hoger de gebruikte polynoomgraad, hoe beter de fit.

U hoeft echter niet automatisch de hoogst mogelijke polynoom te gebruiken. Aangezien kalibratie in software zal plaatsvinden, kunnen er gevallen zijn waarin het gebruik van een polynoom van een lagere graad een snelheids- en/of geheugenvoordeel vertegenwoordigt, vooral als de nauwkeurigheid die kan worden behaald door het gebruik van een polynoom van een hogere graad erg klein is.

Hieronder demonstreren we de kalibratieprocedures voor de HIH6030-sensor met behulp van polynomen van verschillende graad, en daarbij zullen we de algemene procedure illustreren die van toepassing is op elke graad van polynoom die u kiest te gebruiken.

Met behulp van de gegevens uit de vorige tabel voeren we eerst de kleinste-kwadratenregressieprocedure uit om de coëfficiënten voor elke polynoom te bepalen. Die waarden komen uit het gebruikte regressiesoftwarepakket. De resultaten staan ​​hieronder, inclusief de r 2 waarden.

  1. Lineair:y =ax + b; a =1.0022287, b = -8.9105659, r 2 =0,9996498
  2. Kwadratisch:y =ax 2 + bx + c; a =-0,0012638, b =1.1484601, c = -12.0009745, r 2 =0,9999944
  3. Kubiek:y =ax 3 + bx 2 + cx + d; a =0.0000076, b =-2.4906103, c =1.2061971, d =-12.7681425, r 2 =0.9999999

De waargenomen waarden kunnen nu worden gewijzigd met behulp van de berekende functies. Dat wil zeggen, de sensormetingen kunnen worden gekalibreerd zoals geïllustreerd in de onderstaande tabel (merk op dat de OBS-, Corrected- en ERR-waarden worden afgerond op twee decimalen).

HIH6030 waargenomen en gekalibreerde waarden met behulp van polynomen
RAW 1e graad 2e graad 3e graad
Ref RH OBS ERR Gecorrigeerd ERR Gecorrigeerd ERR Gecorrigeerd ERR
11.30 20,79 9,49 11.93 0,63 11.36 0,06 11.30 0,00
32.78 40.77 7,99 31.95 -0.83 32.83 0,05 32.78 0,00
75.29 83.83 8.54 75.11 -0.18 75.85 0,55 75.29 0,00
84.34 93.43 9,09 84.73 0.39 84.83 0,49 84.34 0,00
RMSE 8.795736 0.562146 0.371478 0,00212

Het is te zien dat alle drie de polynomen een significante afname van de RMSE produceerden, vergeleken met de waargenomen metingen, en dat is de reden waarom je kalibreert. De onderstaande grafiek illustreert de verbetering met behulp van de 1e graads polynoom. Merk op hoe de gekalibreerde (gecorrigeerde) gegevenspunten nu in de buurt van de ideale diagonaal liggen.

Lees meer informatie….

Een vochtigheidssensor controleren en kalibreren

Huidig ​​project / bericht kan ook worden gevonden met:

  • hoe t chec voor vochtigheidskalibratie

Productieproces

  1. Vochtigheidssensor werkt en zijn toepassingen
  2. DHT11-sensor en zijn werking
  3. Basis IoT – RaspberryPI HDC2010 hoe
  4. Python- en Raspberry Pi-temperatuursensor
  5. Raspberry Pi-weerstation
  6. Raspberry Pi temperatuur- en lichtsensor
  7. Raspberry Pi-sensor en actuatorbediening
  8. Aerocultuur met Raspberry Pi en vochtigheidssensor
  9. Windows 10 IoT Core en SHT15
  10. Uitgesteld onderhoud:definitie, kosten en hoe u het onder controle kunt houden
  11. Hoe een gelijkstroommotor te controleren?