Kalibratie luchtdruksensor Bosch BME280

1
2306

Als je de meetresultaten van sensoren op verschillende locaties gaat vergelijken dan is het wel fijn om te weten of ze onderling vergelijkbaar zijn. Met de goedkopere sensoren is dat helaas toch vaak een probleem. En nog beter zou zijn als je weet dat deze meetresultaten ook vergelijkbaar zijn met de officiele metingen zoals die door het RIVM of KNMI worden afgegeven.

Om sensoren goed te kunnen vergelijken moeten ze in principe ook onder gelijke omstandigheden hun werk kunnen doen. Je plaatst de sensoren daarvoor bijvoorbeeld dichtbij of zoals we dat in het Visibilis project hebben gedaan, bovenop een meetstation van het RIVM of DCMR. Maar dat is ingewikkeld en kost tijd en geld om dat allemaal te organiseren. Kan dat niet eenvoudiger is dan de vraag.

We gaan een eerste poging doen met een aantal sensorkastjes op de thuislokatie. We plaatsen deze kastjes in een eenvoudige plastic box zodat we daarmee redelijk vergelijkbare omstandigheden creëren. 

Luchtdruksensor

Alle kastjes hebben een gelijke configuratie welke o.a. bestaat uit een BME280 waarmee temperatuur, relatieve luchtvochtigheid en luchtdruk gemeten kan worden. En met de luchtdruk gaan we een eerste kalibratiepoging doen.

Het kleine metalen boxje op het elektronische printplaatje (PCB) is feitelijk de bme280 waarvan de foto ernaast een uitvergroting is. Voor meer informatie over deze sensor zie hier

Onderlinge kalibratie 

Als we naar de meetresultaten voor de luchtdruk gaan kijken dan zie we redelijk overeenkomstige resultaten. De lijnen lopen niet allemaal op een zelfde hoogte maar laten wel een gelijkmatig patroon zien. Maar dat moet beter kunnen en daarom gaan we ze eerst onderling kalibreren.

Dat onderling kalibreren doen we door een gemiddelde te berekenen van alle meetwaarden van alle sensoren over 24 uur. Dat zou dan rederlijker wijs de juiste waarde moeten opeleveren als we naar een 24-uursgemiddelde kijken (volgens deze sensoren). Ook berekenen we een gemiddelde per sensor waarmee vervolgens een correctiefactor bepaald kan worden voor elke sensor.

correctiefactor sensor = sensor gemiddelde / totaal gemiddelde 

Door de meetwaarden van een sensor te vermenigvuldigen met deze correctiefactor krijgen we de volgende grafiek te zien en dat ziet er al een stuk beter uit. 

KNMI Schiphol als referentiestation

In de vorige grafiek zie je onder de gecorrigeerde lijnen van de sensoren een oranje gekleurde lijn. Deze lijn laat de meetwaarden zien van het KNMI meetstation 06240 op Schiphol. De meetwaarden van dit station zijn prima te gebruiken voor de thuislocatie in Purmerend mits de isobaren parallel lopen met de lijn Schiphol – Purmerend.  

Isobaren

Isobaren zijn lijnen die op een landkaart die punten van gelijke druk met elkaar verbindt. Het toeval wil dat op zondag 15 november 2020 rond 13:00 uur de isobaren parallel lopen met de lijn Schiphol – Purmerend. Dat betekent dat de luchtdruk in Purmerend overeenkomt met die op Schiphol. We kiezen dat tijdstip als referentiepunt voor de kalibratie. 

Kalibratie met referentiestation Schiphol

Voor deze tweede kalibratie gaan we ook weer een correctiefactor bepalen. We kunnen nu volstaan met één correctiefactor want de sensoren zijn onderling al op gelijk niveau gebracht. Omdat het slechts een correctiefactor betreft en we één tijdsmoment hebben vastgesteld voor de kalibratie, gaan we die handmatig bepalen. Dat doen we proefondervindelijk door de correctiefactor te verhogen of te verlagen net zolang totdat de grafieklijn van het refrentiestation op tijdstip 13:00 uur (het moment dat de isobaren parallel lopen) redelijk in het midden van de andere grafieklijnen terecht komt. Als dat naar tevredenheid is gelukt weten we dat we de sensoren daarmee gekalibreerd hebben met een officieel meetstation. Niet perfect maar in dit geval is goed goed genoeg.

Het eindresultaat

Hieronder de grafiek met het uiteindelijke resultaat. De sensoren van de sensorkastjes zijn gekalibreerd voor wat betreft de luchtdruk. Deze sensorkastjes zijn nu ook prima te gebruiken als refentiesensor om weer andere sensorkastjes te kalibreren.

In het laatste deel van de grafiek zie je dat de sensorlijnen enigzins gaan afwijken met die van het referentiestation Schiphol maar dat is te verklaren doordat de isobaren zijn gaan draaien. De luchtdruk in Purmerend komt niet meer overeenkomt met die van lokatie Schiphol.

Of deze methode ook onder andere omstandigheden (andere luchtdrukniveaus) zo goed blijft presteren is natuurlijk nog de vraag maar de tijd zal dat uitwijzen. Er is dan altijd nog een optie om met een offset te gaan experimenteren of misschien de combinatie van offset en correctiefactor wat mogelijk tot nog betere resultaten zal leiden. 

Het resultaat in beeld

1 REACTIE

  1. Heel mooi resultaat met een eenvoudige correctie-formule.

    De keuze voor een offset (verschuiving), een schaalfactor of een combinatie daarvan zou je misschien verder kunnen onderzoeken, door de fout/afwijking vs. referentie-luchtdruk te plotten. Je kan dan misschien een trend zien in de fout, of die bijv. groter wordt bij hogere luchtdruk, of dat het meer een constante offset is. Ik denk dat luchtdruk sowieso maar een paar procent varieert, dus dan maakt de correctie-methode waarschijnlijk niet zoveel uit.

    De BME280 + software libraries voeren voor zover ik weet zelf ook al een soort correctie uit. De software op de microcontroller kan calibratiewaarden die er tijdens fabricage zijn ingestopt, er later weer uitlezen en in de berekening toepassen. Ik vraag me vaak af of de BME280-sensoren die je op AliExpress koopt, wel daadwerkelijk van Bosch komen en of die dan ook de juiste calibratiewaarden bevatten.

Reacties zijn gesloten.