====== Druckmessung ====== {{ :wiki:arduino:mps20n0040d.png?150|MPS20N0040D}} ===== MPS20N0040D ===== {{anchor: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 ==== Technische Merkmale ==== * 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 ==== {{:wiki:arduino:mps20n0040d_sema.png?300|Fußanordnung für den MPS20N0040D}} ==== Verbindung ==== {{:wiki:arduino:mps20n0040d_kapcsolas.png|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 ==== Quelle ==== http://langster1980.blogspot.de/2014/11/how-to-use-pressure-sensor-with.html {{ :wiki:arduino:bme280.png?200|BME280}} ===== BME280 ===== 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. ==== Spezifikation ==== * 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 {{ :wiki:arduino:bme280_modul.png?200|BME280 Modul}} ===== Atmosphärendruckmessmodul BME280 ===== {{anchor:bme280}} Neben dem Drucksensor BME280 enthält dieses CJMCU-Modul auch Feuchtigkeits- und Temperaturmessungen. Die technischen Merkmale entsprechen denen des Moduls **CJMCU-280E**. ^Port^Beschreibung| |Vcc|Stromversorgung| |GND|Grund| |SDI|[[de:arduino:start#arduino_i2c|I²C]] SDA (Daten) Port| |SCK|[[de:arduino:start#arduino_i2c|I²C]] SCL (Clock) Port| |CSB| Im Falle einer [[de:arduino:start#arduino_i2c|I²C]] Kommunikation muss es an Vcc angeschlossen werden. Für SPI zu GND.| |SDO|Auswahl der [[de:arduino:start#arduino_i2c|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 ==== Beispiel ==== 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 #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 {{ :wiki:arduino:gy_65.png?150|Atmosphärendruckmessmodul BMP085 (GY-65)}} ===== Atmosphärendruckmessmodul BMP085 (GY-65) ===== {{anchor:bmp085}} {{anchor:gy65}} 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: [[de:arduino:start#arduino_i2c|Arduino I²C]]. \\ ==== Technische Daten ==== * ** 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). ==== Pins ==== ^BMP085 pin^Funktion| |VCC|Stromversorgung (1.8V .. 3.6V)| |GND|Grund| |EOC|Ausgabe "Ende der Konvertierung": aktiv, wenn die Messung abgeschlossen ist (optional)| |XCLR|master reset (low-active): Durch Zurücksetzen auf GND wird BMP085 auf die Anfangswerte zurückgesetzt (optional).| |SCL|[[de:arduino:start#arduino_i2c|I²C]] SCL (Clock) Port| |SDA|[[de:arduino:start#arduino_i2c|I²C]] SDA (Daten) Port| ==== Verdrahtung ==== {{:wiki:arduino:gy_65_wiring.png?400|GY-65 Verdrahtung}} forrás: https://www.sparkfun.com/tutorials/253 ==== Software ==== Bibliothek auf Github: https://github.com/hackabletype/37-Sensors-Code/tree/master/arduino/gy_65 \\ Github / Adafruit-Bibliothek: https://github.com/adafruit/Adafruit-BMP085-Library \\ Oder von Sparkfun: https://dlnmh9ip6v2uc.cloudfront.net/assets/b/9/5/3/f/512d1197ce395fcc3f000001.zip