Weer-/milieustation met de BME680 sensor

De Bosch BME680 is een sensor die speciaal voor zgn. ‘wearables’ en mobiele applicaties ontwikkeld is. De chip bevat een I2C en een SPI-interface. De BME680 combineert een gas sensor met luchtdruk, vochtigheid en omgevingslucht temperatuur.

Net als de BME280 & BMP280 meet deze sensor van Bosch met een nauwkeurigheid van + 3%, luchtdruk met + 1 hPa absolute nauwkeurigheid en temperatuur met + 1% nauwkeurigheid. Omdat de luchtdruk wijzigt bij hoogteverschillen en de drukmeting van de sensor zo goed zijn, kun je het gebruiken als een hoogtemeter met een afwijking van maximaal + 1 meter.

De BME680 neemt dergelijke sensoren naar een hoger niveau vanwege de zgn. MOX-sensor. De weerstandswaarde van de verwarmde Metaal OXide verandert op basis van de vluchtige organische componenten (VOC) in de lucht. Het kan daarom gassen, ethanol, alcohol en koolmonoxide detecteren. Daarmee kan de luchtkwaliteit gemeten worden. Omdat de sensor één waarde afgeeft kan het geen gassen of alcohol onderscheiden.

Toepassingen
– Persoonlijke luchtkwaliteit-tracker
– Luchtkwaliteit in kaart brengen
– Luchtkwaliteit in auto’s en openbaar vervoer
– Nauwkeurige stap- en calorietracker
– Snelle GPS-fix & verbeterde navigatie
– Indicator van te hoge / lage luchtvochtigheid
– Indicator luchtkwaliteit en welzijn
– Weer trend
– Trap teller
– Detectie van vloerniveau

Kalibratie
Als je met de sensor gaswaarden wilt meten wordt aangeraden de sensor eerst te kalibreren. Voor algemene omgevingssensoren geeft het je een goed idee van trends en vergelijkingen. Aangeraden wordt deze sensor eerst 48 uur te laten werken wanneer je hem voor het eerst ontvangt om hem “in te branden”, en vervolgens 30 minuten in de gewenste modus telkens wanneer de sensor in gebruik is. Dit komt omdat de gevoeligheidsniveaus van de sensor tijdens het vroege gebruik zullen veranderen en de weerstand langzaam zal stijgen naarmate de MOX opwarmt tot de basislijnwaarde.

Datasheet
Download hier de BME680 datasheet.

De sensormodule
De sensormodule komt in verschillende vormfactoren voor. Hieronder zie je er twee. Ze bevatten beide zowel een I2C als een SPI interface.

Aansluitingen
– Vin – Adafruit geeft aan op hun sensor module 3-5V op te mogen zetten omdat het board van een 3.3V spanningsregelaar voorzien is.

LET OP! NIET ALLE SENSORMODULES ZIJN HIERMEE VOORZIEN!

Voor de Raspberry Pi wordt geadviseerd 3,3V op de voedingspin te zetten.
– 3Vo/Vcc – Dit is de 3,3V voedingspin. Deze is verbonden met de uitgang van de spanningsregelaar. Hier kun je 3,3V voeding op zetten. Gebruik dan de Vin niet.
– GND – Ground

SPI aansluitingen
– SCK/SCL – Dit is de SPI Clock pin
– SDO – Serial Data Out / Master In Slave Out pin, zendt data van de BME680 naar de Raspberry Pi
– SDI – Serial Data In / Master Out Slave In pin, zendt data van de RPi naar de BME680
– CS – Chip Select, bij LAAG start de SPI transactie. Het is een input van de BME-chip.

I2C aansluitingen
– SCK – Dit is ook de I2C clock pin. Moet verbonden worden met de RPi klok pin.
– SDI – Dit is ook de I2C data pin. Moet verbonden worden met de RPi data pin.

Sensor met de Raspberry Pi verbinden
De sensor wordt op de volgende manier op de Raspberry Pi aangesloten.

Aansluittabel
De module wordt als volgt met de Raspberry Pi verbonden. De draadkleuren zijn hetzelfde als in de afbeelding hierboven.

De interface aansluitingen kunnen verschillende afkortingen hebben voor hetzelfde signaal.

Raspi-config
Natuurlijk moet de I2C interface van de Raspberry Pi wel ingeschakeld zijn. Ga hiervoor naar het configuratiescherm met sudo raspi-config, vervolgens naar Interfacing en activeer I2C. Je kunt de interface natuurlijk via de desktop inschakelen via Voorkeuren – Raspberry Pi Configuratie programma – tabblad Interfaces.

Wordt de module herkend?
Het script verwacht de module op adres x077. Of de module aanwezig is en het juiste adres heeft kun je opvragen met:

i2cdetect -y 1

Als de module aanwezig is, ziet de terugkoppeling er als volgt uit:

Installatie van de Adafruit Bibliotheek
AdaFruit levert een bijna universele manier om de interfaces aan te sluiten. Download de benodigde bibliotheken om de hardware te kunnen gebruiken. De bibliotheek werkt alleen met Python3.

sudo pip3 install adafruit-circuitpython-bme680

De module ‘board’ ontbreekt
Na het start van het script bleek bij mij de benodigde module ‘board’ te ontbreken. Na het installeren ervan met het volgende commando werkte het naar behoren:

sudo pip3 install adafruit-blinka

Start het script met: python3 bme680_1.py

Als alles goed gegaan is geeft het script het volgende resultaat:

Tips
– Open eens een flesje alcohol in de buurt van de sensor. Je ziet direct de gas-waarde veranderen.
– Om boeiende resultaten met deze sensor te behalen, zou je de sensor eens een tijdje (>24 uur) in de keuken kunnen plaatsen. Er blijken interessante waarden te verschijnen t.a.v. de luchtkwaliteit.

Have A Nice Day!

Geef als eerste een reactie

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd.


*