BME280 dataverwerking

Uit nieuwsgierigheid heb ik een BME280 gekocht en aangesloten op een ESP32. De ARDUINO softwarebibliotheek levert een programma om de meetwaarden om te zetten naar gebruikelijke waarden van temperatuur, druk en vochtigheid. In mijn poging om dit ook in combinatie met een PIC te realiseren stuit ik op de omrekeningsalgoritmen die voorhanden zijn: de ARDUINO-formules en die van de datasheet. Dan blijken er toch wat fouten in het een en ander te zitten. Los van knettergekke formaten lijkt het erop dat men maar wat aangeklooid heeft om iets te krijgen dat bruikbaar is, met name v.w.b. de drukmeting. Wie heeft hiermee ervaring?

Arco

Special Member

Ik vond die datasheet uitermate onvriendelijk en onduidelijk. (je moet 'm eerst minimaal 10x doorlezen voor je iets ervan begrijpt)
Bij die BME280 hebben druk, vochtigheid en temperatuur ook allemaal invloed op elkaar af en dat is zeer onoverzichtelijk.

Ik ben overgestapt naar een wat vriendelijkere: de SHT21
(druk gebruik ik toch niet, en de SHT21 is wat makkelijker te solderen)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Eens wat betreft de datasheet.

De resultaten uit de (Adafruit-) library lijken echter correct, bij kalibratie tegen diverse andere instrumenten. Daarbij heb ik echter niet de uithoeken van het (driedimensionale-) meetbereik opgezocht.
Na een blik in de datasheet ben ik zelf niet in deze code gedoken.

Missc is de BME280E van Bob Marshall iets voor je , de andere versie van mezelf was niet zo'n succes. Maar die van Bob heb ik niet getest vanwege een oude picbasic versie.

Guus@Sint-Michielsgestel

Zou je kunnen aangeven welke library je hebt gebruikt en over welke omrekening je valt.
De BM280E wordt naar mijn mening heel veel gebruikt en als er iets niet zou kloppen dan waren er al 100 tallen mensen geweest die daar over zijn gevallen en aanpassingen geforked.

De berekening is inderdaad wel wat complex, maar uiteindelijk werkt het wel als je de datasheet volgt.

Ik heb gebruik gemaakt van de ADAfruitBME280 library. De formules in de dat sheets zijn niet eenduidig als je voor de druk de integerberekening en de float vergelijkt. Bovendien is er een ongerijmdheid: voor de omrekening naar meeteenheden (6 significante cijfers, waarvan 2 decimalen), wordt de factor 6250 gebruikt (10000/16). Op zich is dit logisch, maar dan mag je die uitkomst natuurlijk niet kwadrateren.

Op 4 december 2022 20:06:52 schreef deKees:
De berekening is inderdaad wel wat complex, maar uiteindelijk werkt het wel als je de datasheet volgt.

Hoe weet ik dat de uitkomst correct is voor hele meetbereik?

Arco

Special Member

Zeker weten kan alleen als je een geijkt 'iets' hebt om mee te vergelijken...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 5 december 2022 17:04:07 schreef Arco:
Zeker weten kan alleen als je een geijkt 'iets' hebt om mee te vergelijken...

Natuurlijk Arco, ijken. Maar dan moet ik misschien extra ijkkrommen gaan gebruiken, terwijl Bosch dat in principe al heeft gedaan.

Mij gaat het er nu om of iemand van jullie er dieper in is gedoken. Zo niet, stoppen maar.

Arco

Special Member

Ik vond de berekeningen om alleen al de druk uit te lezen al veel te complex.

(zijzelf ook waarschijnlijk ook, want ze vragen verontschuldigend of je hun API wilt gebruiken, omdat 'die wat vriendelijker is')
Uit de manier waarop de datasheet in elkaar is gedraaid kun je wel zien dat ze niet echt een ic fabrikant zijn... ;)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Uit de manier waarop de datasheet in elkaar is gedraaid kun je wel zien dat ze niet echt een ic fabrikant zijn... ;)

Klopt. Om te beginnen zijn de pinnen verkeerd-om genummerd 8)7

PE9SMS

Special Member

Bosch is niet echt een IC fabrikant inderdaad.

https://youtu.be/Fo8TWPomHiQ

This signature is intentionally left blank.