Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

Bei diesem Thema gibt es viele Fragen, die man versuchen kann zu lösen. Was ist eigentlich

  • Atmosphärischer und absoluter Druck?
  • Wie wird der Luftdruck gemessen?
  • Wovon hängt der Wert des Luftdruckes ab?
  • Was besagt die barometrische Höhenformel?
  • Was versteht man unter dem Temperatureffekt bei einem Gas?
  • Wie lässt sich die Höhe über die Messung des atmosphärischen Drucks bestimmen?
  • Wie lassen sich relative Höhen mit Hilfe des atmospärischen Druckes bestimmen.

Lies hierzu vorher im Kapitel Grundlagen - Luftdruck den einführenden Text zur Ansteuerung und Nutzung des Sensors BMP180. Dieser Abschnitt mit seinen Übungen eignet sich für SuS der Oberstufe.

1 - Höhenbestimmung mit dem BMP180

Mit Hilfe des BMP180 Sensors von Bosch kann der atmosphärische Druck sehr genau bestimmt werden. Er verändert sich sowohl mit dem Wetter als auch mit der Höhe.

In der Physik wird der Druck in N/m² oder Pascal (Pa) (SI-Einheiten) angegeben. Wenn vom atmosphärischen Druck gesprochen wird, ist damit die Kraft gemeint, die die Luftsäule über uns auf den Boden und die auf ihr befindlichen Gegenstände und Lebewesen ausübt. Es ist das Gewicht des Gases in der Atmosphäre, das den atmosphärischen Druck ausübt.

Viele werden jetzt sagen, Luft wiege nichts. Das ist leider falsch; korrekt könnte man höchstens sagen, Luft wiegt sehr, sehr wenig, aber nicht NICHTS. Und man müsste hinzufügen, es kommt auf den Ort an, an dem man sich befindet. Denn die Dichte der Luft ist am Boden am höchsten, dort hat es den höchsten Luftdruck und meistens auch die höchsten Temperaturen. In großen Höhen hingegen wird die Luft dünner und die Temperatur ändert sich ebenfalls.

Ca. 90 % der Atmosphäre befinden sich in einem Bereich von 20 km Höhe ab der Erdoberfläche.

  • Der Sensor BMP180 wird von der Fa. Bosch zukünftig nicht mehr unterstützt; der Nachfolgesensor mit höherer Auflösung ist der BMP280, der demnächst hier vorgestellt wird.
Abbildung 1 - Erde und ihre Atmosphäre

Idealisiert man die Atmosphäre mit einem Modell eines idealen Gases (nur elastische Stöße der Moleküle untereinander), dann berechnet sich die Luftdichte Rho zu -> siehe Formel (1)

Will man es ganz exakt machen, dann müsste auch die Luftfeuchtigkeit in die Berechnung der Dichte mit einbezogen werden; davon nehmen wir aber hier Abstand. Aus Tabellenwerken kann man die Luftdichte in Abhängigkeit von der Lufttemperatur unter Normaldruck von 1013 mbar auf NN entnehmen. Einige Werte zeigt die folgende Tabelle:

Aus dieser Tabelle ergibt sich, dass 1 Kubikmeter Luft unter Normalbedingungen (20°C, auf Meereshöhe) ca. 1,2 kg wiegt und die gesamte Luftsäule darüber bis hinauf zur Stratosphäre mit rund 10.000 kg auf alles drückt, was sich unter ihr befindet - also auch uns Menschen. Wir können dem Druck standhalten, weil unsere körpereigenen Zellen über ihren Innendruck dem entgegenwirken.

Da mit der Höhe der atmosphärische Druck abnimmt (um ca. 4% alle 300m), lässt sich über die Messung des Luftdrucks auch die Höhe über dem Meeresspiegel bestimmen.

 

Der Sensor BMP180 misst den absoluten Druck in der Einheit Pa; um eine Vorstellung von ihrer Größe zu bekommen, kann man sich vorstellen, welchen Druck ein DIN A4-Blatt auf eine Unterlage ausübt. Es ist ungefähr ein Pa. Andere Umrechnungsgrößen sind das hPa (Hektopascal) und das kPa (Kilopascal). Es gelten folgenden Umrechnungen:

  • 1 hPa = 100 Pa = 1 mbar = 0.001 bar

2 - Höhenberechnung mit der barometrischen Höhenformel

Mit Hilfe der barometrische Höhenformel lässt sich der Luftdruck in Abhängigkeit von der Höhe h berechnen. Die Herleitung der Formel kann im Internet nachgeschlagen werden. Die Formel berücksichtigt nicht die Temperaturabhängigkeit des Luftdrucks und soll hier nur als Näherungslösung  zur Höhenbestimmung herangezogen werden.

Abbildung 2 - Barometrische Höhenformel

Hierbei bedeuten

  • p0        Luftdruck auf Meereshöhe (1013,25 hPa)
  • Rho0   Dichte auf Meereshöhe (1,29 kg/m³)
  • g          Schwerebeschleunigung (9,81 m/s²)

 

Löst man Gleichung (a) nach h auf (dazu muss auf beiden Seiten der Gleichung logarithmiert (ln) werden und anschließend müssen die Logarithmusgesetze angewendet werden) , dann lässt sich aus der Bestimmung von p(h) die Höhe des Messortes errechnen.

3 - Der Temperatureffekt

Die Dichte eines Gases ist abhängig von seiner Temperatur und Masse, die wiederum den Druck beeinflusst. Der atmosphärische Druck ändert sich sehr stark mit der Temperatur.

Der BMP180 Sensor verfügt über einen guten Temperatur-  und Drucksensor, so dass sich der Temperatureinfluss auf den atmosphärischen Druck kompensieren lässt. Vor einer Druckmessung wird deshalb erst eine Temperaturmessung und dann eine Druckmessung ausgeführt. Unter Berücksichtigung der gemessenen Temperatur wird anschließend das Ergebnis der Druckmessung korrigiert.

Der absolute Druck der Atmosphäre ändert sich mit der Höhe, in der die Messung stattfindet und er hängt auch vom aktuellen Wetter ab.

4 - Wetterbeobachtungen

Der atmosphärische Druck an einem bestimmten Ort auf der Erde ist nie konstant. Die Drehbewegung der Erde und die dadurch auf die Luftmassen wirkenden Corriolis-Kräfte sowie die unterschiedlich erwärmten Luftmassen über Land und Meer führen zu einer ständigen Bewegung in der Atmosphäre. Durch Beobachtungen der Druckänderungen lassen sich vielfach Wetterveränderungen vorhersagen.

 

Allgemein gilt:

  • fallender Luftdruck führt häufig zu Bewölkung und Regen und/oder starken Winden
  • steigender Luftdruck führt häufig zu trockenem und sonnigem Wetter

Der absolute Luftdruck ist an einem höher gelegenen Ort immer niedriger als an einem tiefer gelegenen. Ein direkter Vergleich des Luftdruckes ist aus diesem Grund nicht möglich. Um ihn dennoch herstellen zu können, wird als Bezugspunkt einer Luftdruckmessung der Wert mittels einer Höhenformel immer zurückgerechnet auf die Meereshöhe. Dieser Vorgang wird als Reduktion bezeichnet und ist der auf Meereshöhe reduzierte Luftdruck (QNH). Auf dieser Basis lassen sich dann die Luftdruckwerte verschiedener Orte auf der Welt miteinander vergleichen

In einem Auswertungsprogramm zum Sensor BMP180 wird über den absoluten Luftdruckwert in hPa (P) und die Höhe des Messpunktes in Metern (A) der Höheneffekt herausgerechnet. Die in der folgenden Übung benutzte Bibliothekdatei von Sparkfun enthält dazu die Funktion SeaLevel(P, A).

5 - Höhenberechnung

Der mittlere atmosphärische Luftdruck auf Meeresniveau (NN) beträgt 1013,25 hPa oder mbar und verringert sich bis auf 0, wenn man sich bis an den Rand der Lufthülle der Erde bewegt. Die Abnahme erfolgt exponentiell, da sich die Luft komprimieren lässt. Als Faustformel kann man sagen:

  • Der Luftdruck wächst umso schneller, je höher er bereits ist oder
  • der Luftdruck nimmt umso langsamer ab, je niedriger er bereits ist.

Als mathematische Formel ergibt sich bei Berücksichtigung der aktuellen Lufttemperatur

  • Mit Hilfe von Formel (6) kann die Höhe über dem Meeresspiegel berechnet werden, indem man in (6) für p0 den Luftdruck auf Meereshöhe (1013,25 hPa) und für p(h) den Messwert einsetzt.
  • Alternativ kann der Messwert des Luftdrucks am Messort als p0-Wert genommen werden und jeder weitere Messwert gibt dann den relativen Höhenunterschied zum p0-Wert an.

In der benutzten sparkfun-Bibliotheksdatei gibt es eine Funktion altitude(P, P0), mit der beide Messungen ausgeführt werden können.

6 - Messfehler reduzieren

Der BMP180 kann eine Höhe bis zu 0,25m genau messen; praktisch wird diese Genauigkeit nicht oder nur selten erreicht und liegt eher zwischen 0,5m und 1m.

Die Genauigkeit lässt sich dadurch verbessern, dass man bei der Höhenbestimmung über einer feste Anzahl von Messungen mittelt. Wie das funktioniert, wird in der folgenden Übung 1 zur Höhenmessung gezeigt.

7 - Höhenmessung

In dieser Übung wird der BMT180 so programmiert, dass mit ihm die Höhe über dem Meeresspiegel für den jeweiligen Beobachtungsort bestimmt werden kann. Dazu muss die Höhe am Standardmessort bekannt sein (wird über das Internet abgefragt).

Das Messprogramm führt dann zwei Messungen aus:

  1. Bestimmung der Temperatur am Messort.
  2. Bestimmung des absoluten Druckes p(h) am Messort: der Messwert wird aufgrund des vorliegenden Temperaturwertes korrigiert. Anschließend wird mit Hilfe von Formel (6) die Höhe über dem Meeresspiegel berechnet.

Pro Minute wird ein Messwert bestimmt, der im Terminalfenster ausgegeben wird; mit einem zweiten Programm sollen die aufgenommenen Daten in einer Datei "Luftdruck" auf einer SD-Karte abgelegt werden.

Das hier vorgestellte Programm basiert auf dem Beispielprogramm SFE_BMP180_example.ino von SparkFun Electronics.

Übung 1

Material

  • 1x  Arduino Uno R3/R4 WiFi
  • 1x  Steckernetzteil
  • 1x  Steckbrett
  • 1x  Sensor BMP180
  • 1x  Arduino SD Shield
  • 1x  microSD-Karte, 1GB
  • div. Steckdrähte

 

Aufgaben

  • Baue die Schaltung nach Skizze auf.
  • Übertrage das Programm BMP_hoehenmessung.ino in den Editor und speichere es ab.
  • Starte das Programm.
  • Überprüfe die im seriellen Monitor ausgegebenen Werte mit Werten aus dem Internet.

 

Das Programm BMP_hoehenmessung0.ino

Die für das Programme notwendige Bibliotheksdatei "SFE_BMP180.h" findest du hier unter

 

https://github.com/LowPowerLab/SFE_BMP180

Die Auflösung des Sensors bei der Druckmessung ist mit dem Parameter 3 auf "ultra high resolution" (Programmzeile 45) gesetzt worden (Datenblatt S. 12), das heißt, dass pro Messung acht Stichproben gezogen und daraus ein Mittelwert errechnet wird. Die dafür benötigte Auswertezeit liegt bei ca. 26 ms oder 38 Messproben pro Sekunde. Wer mehr benötigt, muss den Modus von 3 auf 2, 1 oder 0 heruntersetzen.

Ausgabe im Terminalfenster

8 - Höhendaten auf SD-Karte speichern

Übung 2

Material

  • 1x  Arduino Uno R3/ R4 WiFi
  • 1x  Steckernetzteil
  • 1x  Steckbrett
  • 1x  Sensor BMP180
  • 1x  Arduino SD Shield
  • 1x  microSD-Karte, 1GB
  • div. Steckdrähte

 

Aufgaben

  • Übernimm die Schaltung aus Übung 1.
  • Übertrage das Programm BMP_hoehenmessungSD.ino in den Editor und speichere es ab.
  • Starte das Programm und lasse es mehrere Minuten laufen.
  • Überprüfe anschließend, ob auf der microSD-Karte die Daten abgespeichert wurden.

 

Das Programm BMP_hoehenmessungSD.ino

Die gespeicherten Daten auf der microSD-Karte

9 - Relative Höhenmessung

Wie oben bereits beschrieben, lassen sich über den barometrischen Höhendruck auch relative Höhenmessungen bezüglich einer Ausgangshöhe vornehmen. Dazu wird am Bezugsort, von dem aus man die Höhenbestimmung vornimmt, der Luftdruck gemessen und als p0-Wert im Programm verwendet. Bewegt man sich jetzt nach oben oder unten, dann wird die Veränderung des gemessenen Luftdrucks in Abhängigkeit von der Umgebungstemperatur in Höhenmeter relativ zum Bezugsort angegeben. Die zugrunde liegende Berechnung erfolgt nach Formel (6) aus Abschnitt 5: Höhenberechnung.

Der Schaltungs-/ Messaufbau entspricht dem aus Übung 1 und 2.

Das Programm BMP180_HoehenmessungRelativ.ino

Terminalausgabe zur relativen Höhenmessung

Die Messapparatur gibt jede Sekunde einen Wert aus (kann in Programmzeile 36 geändert werden). Für eine relative Höhenmessung wird am Bezugsort die Reset-Taste gedrückt. Im Terminal erscheint der gemessene Luftdruck.

Bewegt man anschließend den Sensor nach oben oder unten, wird der sich dadurch entsprechend ändernde Luftdruck in ein Höhenmaß umgerechnet und die Differenz zur Höhe am Bezugsort im Terminal in der Einheit Meter ausgegeben.

10 - Luftdruckmessung mit Zeitstempel

In Abschnitt 8 wurden die Höhendaten auf SD-Karte gespeichert. Bei vielen Messungen kommt es aber auch darauf an, dass man neben den Messdaten auch die Uhrzeit und das Tagesdatum (Zeitstempel) kennt. In dieser Übung wird den Messdaten ein solcher Zeitstempel hinzugefügt und das Ergebnis im Terminal dargestellt. Dazu wird der Datalogging Shield von Adafruit eingesetzt, der über eine RTC (real-time-clock) und einen SD-Speicher verfügt.

Übung 4

Material

  • 1x  Arduino Uno
  • 1x  Steckbrett
  • 1x  Sensor BMP180
  • 1x  Adafruit Datalogging Shield
  • 1x  microSD-Karte, 1GB
  • div. Steckdrähte

 

Aufgaben

  • Übertrage das Programm BMP_Zeitstempel1.ino in den Editor und speichere es ab.
  • Starte das Programm und lasse es mehrere Minuten laufen.
  • Überprüfe anschließend, ob im Terminal die Daten wie besprochen aufgelistet werden.

Programm BMP_ Zeitstempel1.ino

Terminalausgabe

240213

Druckversion | Sitemap
© Reinhard Rahner - Gettorf