de:arduino:press

Druckmessung

MPS20N0040D

Es handelt sich um einen universellen Atmosphärendrucksensor mit einem DIP-Gehäuse, der häufig zur Messung des Luftdrucks verwendet werden kann, z.B.:

  • Auto: Reifendruckmesser, Luftpumpe, MAP-Sensoren, Diagnosegeräte, Autosensoren.
  • Industrielle Verwendung: Druckluftschalter, tragbare Manometer, Umgebungsmonitore.
  • Medizinische Geräte: Patientenüberwachungs- und Diagnosegeräte wie Blutdruckmessgeräte, medizinische Instrumente und Monitore.

Das Manometer ist praktisch eine Wheatstone-Brücke, die ein 0-25 mV-Signal aussendet. Dies kann nicht direkt für den Arduino ausgewertet werden, daher muss ein Operationsverstärker für die Signalumwandlung installiert werden.

512/5000

  • Messmedium: Luft
  • Messbereich: 0-40 kPa (0-58 psi)
  • Betriebstemperaturbereich: -40 ℃ ~ + 125 ℃
  • Lagertemperatur: -40 ℃ ~ + 150 ℃
  • Luftfeuchtigkeit: (50% ± 10%) RH
  • Umgebungstemperatur: (25 ± 1) ℃
  • Mittlere Temperatur: (25 ± 1) ℃
  • Ausgangsimpedanz: 4 kΩ ~ 6 kΩ
  • Nullausgang: -15 mV ~ + 15 mV
  • Hysterese: + -0,7% FS
  • Stromversorgung: ≤ 10 V DC oder ≤ 2,0 mA DC
  • Isolationswiderstand: 100 MΩ, 100 VDC

Sensordatenblatt: https://softroboticstoolkit.com/files/sorotoolkit/files/mps20n0040d-s_datasheet.pdf

Fußanordnung für den MPS20N0040D

MPS20N0040D Verbindung

Diese Schaltung stammt von Alexander Lang, der das Manometer-Signal über einen Operationsverstärker LM358 an den Analogeingang von Arduno weiterleitete. Laut einem Kommentar (siehe Seite) ist der HX711 auch perfekt für die Signalumwandlung geeignet. In diesem Fall sollte die Verstärkung auf 32 eingestellt werden.

Ich habe den obigen Link von hier nach kopiert: http://langster1980.blogspot.de/2014/11/how-to-use-pressure-sensor-with.html

Der BME20 ist ein hochauflösender Atmosphärendrucksensor. Versionen, die in viele Module unterteilt sind, sind im Internet verfügbar. Das gemeinsame Merkmal ist, dass sie den Namen 280 tragen. Dies ist kein Zufall, da für die Messung der BME280-Sensor von Bosch (https://www.bosch-sensortec.com/bst/products/all_products/bme280) (oder, schlimmer noch, ein Aftermarket-Klon) verwendet wird.

  • Stromversorgung für den Sensor: 1,71 V - 3,6 V.
  • Standby-Stromaufnahme: 0,1 μA
  • Relative Luftfeuchtigkeit: 0 ~ 100%
  • Temperaturbereich: -40 ° C ~ + 85 ° C.
  • Reaktionszeit: 1 Sek
  • Hysterese: 2% relative Luftfeuchtigkeit
  • Messfehlergrenze: ± 0,25%
  • Druckbereich: 300 ~ 1100 hPa
  • Kommunikationsschnittstelle: I²C, SPI

BME280 Modul

Neben dem Drucksensor BME280 enthält dieses CJMCU-Modul auch Feuchtigkeits- und Temperaturmessungen. Die technischen Merkmale entsprechen denen des Moduls CJMCU-280E.

PortBeschreibung
VccStromversorgung
GNDGrund
SDII²C SDA (Daten) Port
SCKI²C SCL (Clock) Port
CSB Im Falle einer I²C Kommunikation muss es an Vcc angeschlossen werden. Für SPI zu GND.
SDOAuswahl der I²C Slave-Adresse: An GND gebunden ist 0x76, an Vcc gebunden ist 0x77.
Das SDO muss gebunden sein, sonst ist die Moduladresse unsicher.

So verwenden Sie das Modul mit ESP8266: https://myesp8266.blogspot.de/2016/12/bmp280-and-esp8266.html

library: https://github.com/sparkfun/SparkFun_BME280_Arduino_Library

  • Vin → 5V
  • GND → grund
  • SCK → pin #13
  • SDO → pin #12
  • SDI → pin #11
  • CSB → pin #10
#include <stdint.h>
#include "SparkFunBME280.h"
#include "Wire.h"
#include "SPI.h"
 
//Global sensor object
BME280 mySensor;
 
void setup()
{
  Serial.begin(57600);
  //SPI
  mySensor.settings.commInterface = SPI_MODE;
  mySensor.settings.chipSelectPin = 10;
 
  //Operation settings
  mySensor.settings.runMode = 3; //Normal mode
  mySensor.settings.tStandby = 0;
  mySensor.settings.filter = 0;
  mySensor.settings.tempOverSample = 1;
  mySensor.settings.pressOverSample = 1;
  mySensor.settings.humidOverSample = 1;
 
  Serial.print("Starting BME280... result of .begin(): 0x");
  delay(10);  //BME280 requires 2ms to start up.
  Serial.println(mySensor.begin(), HEX);
 
}
 
void loop()
{
  //Each loop, take a reading.
 
  Serial.print("Temperature: ");
  Serial.print(mySensor.readTempC(), 2);
  Serial.println(" degrees C");
 
  Serial.print("Temperature: ");
  Serial.print(mySensor.readTempF(), 2);
  Serial.println(" degrees F");
 
  Serial.print("Pressure: ");
  Serial.print(mySensor.readFloatPressure(), 2);
  Serial.println(" Pa");
 
  Serial.print("Altitude: ");
  Serial.print(mySensor.readFloatAltitudeMeters(), 2);
  Serial.println("m");
 
  Serial.print("Altitude: ");
  Serial.print(mySensor.readFloatAltitudeFeet(), 2);
  Serial.println("ft"); 
 
  Serial.print("%RH: ");
  Serial.print(mySensor.readFloatHumidity(), 2);
  Serial.println(" %");
 
  Serial.println();
 
  delay(1000);
 
}

Quelle: http://arduinolearning.com/code/bme280-sensor-example.php

Atmosphärendruckmessmodul BMP085 (GY-65)

Der GY-65 ist eine Modulversion des Luftdruck- und Temperatursensors BMP085 von Bosch mit I²C-Kommunikation.

Der BMP085 verfügt über 4 Modi (OSS) (ultra low power, standard, high resolution, ultra high resolution). Diese können einerseits über die Kommunikation parametriert werden und hängen andererseits von der Häufigkeit der Messungen ab.

Eine Zusammenfassung des Arduino I²C finden Sie hier: Arduino I²C.

  • Luftdruckmessung: 300 .. 1100 hPa (-500 m bis 9000 m)
  • Auflösung: 0,06 hPa (0,5 m)
  • Temperaturmessung: 0 ° C .. 65 ° C (mit Temperatur- / Druckkompensation)
  • Reaktionszeit der Messung: 7,5 ms
  • Verwendete Kommunikation: I²C
  • Stromversorgung: 1,8 V .. 3,6 V (VDDA), 1,62 V .. 3,6 V (VDDD)
  • Stromverbrauch: 5μA im Standardmodus
  • Standardadresse I²C: 0x77

Achtung, die meisten dieser Module haben keinen 5-V-Spannungsregler, daher sollten die Beschreibungen nicht ignoriert werden und die Stromversorgung sollte auch mit 3,3 V gelöst werden.

Es kann immer nur ein solches Modul auf einer I²C-Leitung vorhanden sein, da es eine feste Adresse hat.

I²C-Drähte müssen mit Pull-up-Widerständen an 5 V DC angeschlossen werden (im folgenden Verdrahtungsbeispiel nicht gezeigt).

BMP085 pinFunktion
VCCStromversorgung (1.8V .. 3.6V)
GNDGrund
EOCAusgabe Ende der Konvertierung: aktiv, wenn die Messung abgeschlossen ist (optional)
XCLRmaster reset (low-active): Durch Zurücksetzen auf GND wird BMP085 auf die Anfangswerte zurückgesetzt (optional).
SCLI²C SCL (Clock) Port
SDAI²C SDA (Daten) Port
  • de/arduino/press.txt
  • 2022/04/21 15:00
  • ()