ELKE barometrische hoogtemeter moet je justeren. Dwz, je moet weten wat de druk op 0m is. Dat is je referentie. Luchtdruk verandert continu, dus je kunt nooit absoluut de hoogte bepalen door luchtdruk te meten. Zo ook met de bm*280

Hi flipflop, :-)

Mijn aanname was dat omdat er een referentiewaarde van het zeeniveau wordt aangegeven,
dat dit op een magische manier in de berekening van de hoogt zou worden verwerkt.

Weer een aanname het ronde archief in, maar ook weer kennis opgedaan door jullie!

Groet,
Bram

Voor de CanSat competitie (ergens in een vorig leven…) werden ook luchtdruk-sensoren gebruikt voor de hoogte van de cansat. Ook met een #define in de code geprobeerd te justeren obv de weersvoorspelling. Wat beter werkt, is achteraf de hoogte die ‘ie voor de lancering en na de landing meet als nul te nemen. En daarna eventueel nog te corrigeren voor de hoogte van het terrein.

Dat kan uiteraard ook door de hoogte van je werkbank als ‘0’ te definiëren en daarna een trap op te lopen. Of af.

IIRC heeft Aart een keer gespeeld met luchtdruksensoren die dusdanig gevoelig waren dat ‘een deur open doen’ in de grafiek terug te zien was.

Op 10 maart 2023 15:23:38 schreef blackdog:
..Mijn aanname was dat omdat er een referentiewaarde van het zeeniveau wordt aangegeven...

Ook op zeenivo is de druk elk uur anders.
Overigens was ik best onder de indruk van die hoogtemeting met die sensor. Het resultaat had best was ruis, maar toch kon ik een verschil van een meter prima zien in de resultaten.

Welke heb je echt? Een BME of BMP; zijn verschillend en ik lees dat sommige leveranciers ze degene sturen die je niet wilt.

Er zouden mislukte versies zijn die dan als de ander verkocht worden.

Hi Panda, :-)

Ik heb de BME280 en de BMP280, en meerdere stuks van ieder.
Meerdere Librarys getest en op verschillende microcontrolers.
Daar zit het probleem niet in.

Groet,
Bram

Dus "10x fout" is een "oneerlijke manier" om naar de fout te kijken.

Als jij in Verbier op 1500m had gezeten(*) dan had de fout ongeveer ook 50m geweest en dan is het ongeveer 3% ipv 1000%...

Een offset van zeg 50m vind ik niet eens zo slecht. De absolute calibratie van die dingen is nogal tricky. Dus ik verwacht dat als je in de code iets doet als:

current_pressure = 994;
offset = -7;
println (bmp.readAltitude(current_pressure + offset));

en dan aan de offset rommelt totdat het vandaag klopt (wel even de actuele druk bij jou goed inschatten... Schiphol meet en publiceert hem in ieder geval minstens ieder uur).
(Teletekst 707.7: METAR AHAM .... Q0994 ... ). (Nu ruim een halfuur oud, over een half uur is er een nieuwe.).

(*) Random bewoonbare plek waarvan ik de hoogte weet die niet ongeveer nul is.

Hi rew, :-)

De fout is wat groter dan 10x.

De waarde zou ongeveer zeg 7-Meter moeten zijn, dit volgens diverse GPS metingen.
Als dan 210 meter wordt aangegeven kan je niet meer spreken van een "foutje".

Zoals je aangeeft in je stukje code zou ik een offset kunnen gebuiken, maar het blijft dan toch nog natte vinger werk, de luchdruk varieerd voortdurend.
Ik weet nu waarom de hoogte meting onbetrouwbaar is en zal dat als ik deze sensoren gebruik, deze waarde niet meer gaan toepassen.
Natuurlijk is het goed bruikbaar voor korte termijn relatieve metingen of zoals door buckfast_beekeeper aangegeven toepassingen voor verbrandings motoren.

Oja, net nog een testje gedaan met de waarde van de huidige luchtdruk in te geven voor het Zee luchtdruk niveau, kom ik mooi rond "0-Meter" uit.
Door de deur hier snel open te doen zag ik de luchdruk een beetje stijgen.

Door het "nullen" is het ook heel goed te zien dat het met dit weer nogal onstabiel is wat luchdruk betreft.
Nu waait het maar een beetje in Amsterdam, dit is goed zichtbaar door de sneeuw die er op het ogenblik valt.
De beweging van de Sneeuw lijk een beetje op het gedrag van mijn thee plaatje die ik liet zien genomen met de thermische camera in mijn oven topic, vloeistof gedrag, draait alle kanten op.

Groet,
Bram

Ook GPS varieert. Hier staat een GPS 24/7 aan en is vast gemonteerd. Je zou dus verwachten dat die vrij accuraat zou zijn. Toch is er ook vlot 4m verschil op beperkte tijd. Als ik de webinterface opende was het 16m 10 gebruikte sats en 12 in view. Minder dan een kwartier later was het dit.

Weer 10 minuten later zitten we op 16,7m.

Het gemiddelde over 24h zou 16,9m zijn.

Hi buckfast_beekeeper, :-)

Die variatie in de hoogte het ik ook geregistreerd, vooral bij de niet optimale plaatsing van de sensor.
Ik hoop binnekort een goede GPS sensor op dak te hebben met vrij zicht.

De huidige locatie van mijn sensor is niet optimaal, net als bij jou komen er dan een aantal tijdstippen voorbij waarbij de positie een beetje aan de wandel is :-)

Zover mijn kennis reikt hierover, is het afhankelijk van de kwaliteit van de sensor, het zicht van de sensor, welke services er worden gebrukt en de instellingen van de sensor.
Ook heb je bij bepaalde services ook nog de opzettelijke onnauwkeurighied die er wordt toegepast zoasl bij GPS.

Mij Leo NTP server ziet bijna altijd minstens 9 Sattelieten en vaak ook 13 stuks, dit bij en niet optimale plaatsing van de antenne voor deze NTP klok.
Jammer genoeg geeft de Leo NTP Server niet de hoogte aan, wel de andere coordinaten.

Groet,
Bram

Ik heb altijd gedacht dat drones werken met deze sensoren, je vliegt dus makkelijk tegen een toren aan met deze afwijkingen.

't Is een lastige sensor met een bar slecht geschreven en onbegrijpelijke datasheet. (je ziet duidelijk dat ze meer verstand van auto's hebben)
Het zou me niet verbazen als er ergens een fout in een van de berekeningen zit.
(hoewel de gevonden afwijkingen voor de automotive toepassingen irrelevant zijn, daar steekt 't niet op 100m...)

Ik vroeg me net wel af waarom Galileo eigenlijk nog steeds niet erg van de grond komt, het is toch al een tijdje operationeel...
(en ongeveer 4x preciezer als GPS qua positiebepaling)

In elk geval, die druk-naar-hoogte-berekening klopt wel. Als ik het nareken met de gegeven waarden voor zeeniveau en gemeten, dan krijg ik er dezelfde hoogte uit. En je ziet ook inderdaad een berekende hoogte 'nul' als je voor die twee waarden hetzelfde getal hebt.
Het zal dan wel zo zijn dat de sensor de luchtdruk fout meet.

Een drone vergelijkt de gemeten luchtdruk met de luchtdruk zoals hij die mat toen hij op de grond stond. Fouten maken dan bijna niets uit, omdat het verschil daardoor praktisch niet verandert, zodat de berekende hoogte daardoor ook praktisch geen fout oploopt.

GPS-hoogte is op onze breedten wat onnauwkeuriger dan GPS-lengte en -breedte, doordat de satellieten gemiddeld vrij laag boven de horizon staan.
Je schermbeeld geeft dat trouwens ook aan: VDOP is groter dan HDOP.
Samen geven ze de complete PDOP: 0,892 + 1,342 = 1,622.

Moet je bij hoogteberekeningen ook niet de luchttemperatuur meenemen?

Ik vroeg me net wel af waarom Galileo eigenlijk nog steeds niet erg van de grond komt, het is toch al een tijdje operationeel...

Toch nog niet ZO lang, de chipsets zijn nog duur, flink wat duurder dan de vorige generatie die enkel GPS en Glonass kon ontvangen en interpreteren.

Moet je bij hoogteberekeningen ook niet de luchttemperatuur meenemen?

Als er bedoeld wordt: afleiden van de hoogte uit de gemeten luchtdruk: jawel, en om het echt nauwkeurig te hebben, ook de vochtigheidsgraad.

GPS-hoogte is op onze breedten wat onnauwkeuriger dan GPS-lengte en -breedte

Dat durf ik een understatement noemen :) Toen ik nog in Haacht (BE) woonde, kreeg ik hoogteaanduidingen tussen -15 en +25 meter, met een weliswaar cheapo usb-ontvangertje dat toch zowel GPS als Glonass ontving.

Ook toen ik nog uit vliegen ging - en daarboven in het ijle zwerk kon ik echt veel satellieten ontvangen! - viel het me op dat GNSS geen stabiele hoogte-informatie afleverde. Maar ook dat ging uit van dat cheapo usb-ontvangertje.

[Bericht gewijzigd door Paulinha_B op (12%)]

Als er bedoeld wordt: afleiden van de hoogte uit de gemeten luchtdruk: jawel, en om het echt nauwkeurig te hebben, ook de vochtigheidsgraad.

Dat staat ook in de datasheet dat de temperatuur, luchtvochtigheid en druk allen nauw met elkaar verbonden zijn.
(zijn vrij complexe formules om alles precies te berekenen...)

Complex, inderdaad, en niet zo super-relevant voor de meeste mensen.
Die vochtigheidsfactor kan (puur op mijn gevoel weg) nooit meer dan centimeters verschil maken, wat maakt dat dan uit. Zolang de motor draait vliegt men zo hoog en zo laag als men wil (binnen de grenzen van wettelijkheid en fysica, uiteraard), en laat de motor het al eens afweten dan gaat het alleen maar neerwaarts - waarbij het ook al niet op een centimeter komt ;)

Op 10 maart 2023 19:06:36 schreef blackdog:
Hi buckfast_beekeeper, :-)

Die variatie in de hoogte het ik ook geregistreerd, vooral bij de niet optimale plaatsing van de sensor.
Ik hoop binnekort een goede GPS sensor op dak te hebben met vrij zicht.

De huidige locatie van mijn sensor is niet optimaal, net als bij jou komen er dan een aantal tijdstippen voorbij waarbij de positie een beetje aan de wandel is :-)

[...]

De antenne heeft al buiten gehangen aan een paal zowat 3m boven de aarde en 10m van het dichtste obstakel. Nu hangt de antenne onder een kunststof dak ook ongeveer 3m hoog. Het resultaat verschilt niet significant. De sensor is de veel gebruikte NEO-6M met externe antenne.

Als je denkt dat je de hoogte uit een luchtdruk kan herleiden dan ben je gewoon compleet idioot bezig. Iedereen weet dat je de huidige "luchtdruk op zeeniveau" moet invoeren om een betrouwbare hoogtemeting te krijgen.

Op 10 maart 2023 23:43:50 schreef rew:
Als je denkt dat je de hoogte uit een luchtdruk kan herleiden dan ben je gewoon compleet idioot bezig. Iedereen weet dat je de huidige "luchtdruk op zeeniveau" moet invoeren om een betrouwbare hoogtemeting te krijgen.

Onder luchtvaarders ook wel bekend als "QNH" - en dat is vaak de eerste informatie die men als piloot bekomt bij het contacteren van een of andere radiodienst.

Hi rew,

In de code die ik gebruikte stond het zeeniveau al ingevoerd.
Daar had ik al rekening meegehouden, toen ik met de code aan het frutten was.
Het gene was wel afhankelijk van de library die ik gebruikte.
Bij sommige staat het standaard zee niveau al in de library zelf met de mogelijkheid het bij de code die je schrijft dit aan te passen.

Groet,
Bram

Bij sommige staat het standaard zee niveau al in de library zelf met de mogelijkheid het bij de code die je schrijft dit aan te passen.

En daar gaat het dus fout. De luchtdruk op zeeniveau is niet constant. Dus je moet de echte luchtdruk weten die op dat moment geldt op zeeniveau. Dat kan je nooit in een library vastleggen. Op basis van het drukverschil kun je dan het hoogte verschil berekenen.

Hi deKees, :-)

Zelfs de waarde in je code zetten helpt je niet, of je moet een mogelijk hebben dit regelmatig aan te passen.

Gaat mij allemaal veel te ver, en nu voor mij zoals ik al heb aangegeven is de hoogte meting niet nodig.
Ben blij dat ik nu beter begrijp hoe het een en ander in elkaar steekt met de druk sensoren.

Groet,
Bram

Een interessant neveneffect van nauwkeurige barometers is het gebruik als "variometer" : Hoe snel verandert de hoogte. In elk vliegtuig (en zwever) is dit een standaard meting : wat is mijn stijgsnelheid / daalsnelheid. Omdat je hier de verandering van de luchtdruk gaat meten, is de absolute luchtdruk niet meer nodig !
Ook een "pitot" buis (wordt gebruikt om de snelheid tov de omringende lucht te meten) kan de snelheid zeer nauwkeurig meten aan de hand van het drukverschil. Hier heb je dan wel een manometer nodig met 2 aansluitingen, omdat je hier het ogenblikkelijk drukverschil wil meten.
Ik vindt de Bosch sensoren wel bijzonder nauwkeurig : Een BMP280 van 5 jaar oud geeft bijna dezelfde druk aan als een recente BME680 (minder dan 1 mbar verschil).
Ook de hoogtemeting is verrassend nauwkeurig : ga maar eens een verdiep hoger/lager met je sensor, meet een beetje filtering kan je hoogte verschillen meten van minder dan 0,5 m !

Op 10 maart 2023 23:43:50 schreef rew:
Als je denkt dat je de hoogte uit een luchtdruk kan herleiden dan ben je gewoon compleet idioot bezig. Iedereen weet dat je de huidige "luchtdruk op zeeniveau" moet invoeren om een betrouwbare hoogtemeting te krijgen.

Of de luchtdruk aanpassen aan een gekende hoogte zoals geodetisch punt. Jarenlang gedaan met een analoge barometrische (wandel) hoogtemeter. Bij elke kalibratie wist je dan dat de luchtdruk stijgend of vallend was. Grote daling onweer op komst? Ook vandaag zijn er op de wandelroutes in A en CH nog hoogtes aangebracht op de knooppunten.