Het vastlopen van een BME280-sensor op 100% luchtvochtigheid (humidity) is een bekend en veelvoorkomend probleem. Dit fenomeen wordt in de meeste gevallen veroorzaakt door condensatie of een softwarematige initialisatiefout. [1, 2, 3, 4]
De belangrijkste oorzaken en oplossingen zijn als volgt onder te verdelen:
1. Condensatie en verzadiging van de polymeerlaag (Meest voorkomend)
De BME280 maakt gebruik van een capacitieve sensor met een microscopisch dunne polymeerlaag om vocht te meten. [1, 2]
-
Oorzaak: Wanneer de sensor buitenhangt of in een vochtige ruimte (zoals een badkamer) staat en de temperatuur daalt tot onder het dauwpunt, condenseert er vloeibaar water direct op of in de sensor. Dit vloeibare water trekt in de polymeerlaag waardoor deze maximaal verzadigd raakt. Zelfs als de buitenlucht daarna droger wordt, blijft het microscopische water in de sensor 'gevangen' zitten, waardoor de sensor 100% blijft aangeven. [1, 2, 3, 4]
-
Oplossing (Drogen): Haal de sensor naar binnen en laat hem op een droge, warme plek liggen. In hardnekkige gevallen schrijft de officiële Bosch-datasheet een reconditioning-proces voor: bak de sensor gedurende 2 uur in een oven op 120 °C (bij <5% rH) en laat hem daarna 24 uur acclimatiseren bij kamertemperatuur en ~75% luchtvochtigheid. [1, 2]
2. Software- en initialisatiefouten (I2C / Registers)
Soms is de sensor fysiek helemaal droog, maar raakt het interne register gecorrumpeerd. [1]
-
Oorzaak: Als er via de I2C-bus code naar het
ctrl_hum-register van de BME280 wordt geschreven terwijl de sensor op dat moment een actieve meting uitvoert, wordt dit commando door de chip genegeerd. De luchtvochtigheidsmeting start dan niet op en valt standaard terug naar een foutwaarde die door libraries vaak als 100% (of 0%) wordt geïnterpreteerd. [1, 2] -
Oplossing (Software): Zorg ervoor dat de sensor in
Sleep Modestaat voordat je configuratiewijzigingen doorvoert. Een harde power-cycle (stroom volledig van de sensor halen en er weer op) lost dit softwarematige probleem direct op, in tegenstelling tot bij fysieke condensatie. [1, 2, 3]
3. Fysieke vervuiling
-
Oorzaak: Stoffen zoals vet, zeepresten (in badkamers), vluchtige organische componenten (VOC's) of zouten uit regenwater kunnen door het kleine ventilatiegaatje van de metalen behuizing dringen. Deze deeltjes zijn vaak hygroscopisch (wateraantrekkend) en houden vocht permanent vast tegen het sensorelement. [1, 2, 3]
-
Oplossing: Dit is vaak permanent, maar soms helpt het om de sensor voorzichtig te spoelen met isopropylalcohol (IPA) en daarna goed te laten drogen met warme lucht. [1]
Hoe kun je dit in de toekomst voorkomen?
-
Ondersteboven monteren: Monteer de BME280-module altijd met het metalen kapje (en het gaatje) naar beneden gericht. Hierdoor kan er geen vallend condenswater of regenwater in het gaatje sijpelen. [1]
-
Gebruik 'Forced Mode': Laat de sensor niet continu metingen doen (Normal Mode). Zet de sensor in Forced Mode, laat hem 1 keer per minuut meten en stuur hem direct daarna weer in Sleep Mode. Dit voorkomt ook foutieve metingen door self-heating (interne opwarming van de chip). [1, 2, 3]
-
Kies een andere sensor voor buiten: Als de sensor permanent in een 100% vochtige buitenomgeving moet hangen, is de BME280 simpelweg minder geschikt. Overweeg in dat geval sensoren met een ingebouwd verwarmingselement (om condens weg te branden), zoals de Sensirion SHT31-D of SHT40. [1, 2, 3, 4]
Om je gerichter te helpen:
-
Is de sensor buiten of in een vochtige binnenruimte (zoals een badkamer) geplaatst?
-
Helpt het als je de stroom er tijdelijk volledig afhaalt, of blijft de 100% waarde ook daarna direct staan?