DIY Sump-Pegel-Monitor – Arduino Nano, MPXV5010DP Drucksensor & OLED
Komponenten & Zubehör
| Bauteil | Menge |
|---|---|
| Arduino Nano R3 | 1 |
| Freescale MPXV5010DP Differenzdrucksensor (0–10 kPa ≈ 0–1020 mm WS) | 1 |
| 0,96″ OLED Display (I²C, 128×64, zwei Farben) | 1 |
| MCP4725 DAC (I²C, 12-bit, 0–5 V Ausgang) | 1 |
| Relaismodul (potenzialfreier Kontakt für Alarmausgang) | 1 |
| SMD-Kondensatoren (1 µF, 10 nF, 470 pF) | je 1 |
| Kunststoffgehäuse 110×85 mm (transparent) | 1 |
| Tygon-Schlauch 3/32″ + Kupferrohr (Tauchrohr) | 1 Satz |
Projektidee
Ein zuverlässiger, wartungsarmer Pegelmonitor für eine Sickergrube (Sump). Ultraschallsensoren verschmutzen schnell; ein Differenzdrucksensor misst den hydrostatischen Druck über ein Tauchrohr – kontaktlos zum Medium, nur der Schlauch liegt im Wasser. Der MPXV5010DP liefert 0–5 V linear zum Druck. Ein DAC (MCP4725) puffert das Signal für externe Systeme (0–5 V, höherer Strom). Ein Relais gibt einen Trockenkontakt für Alarme. Lokale Anzeige via OLED.
Aufbau & Montage
- Sensor auf Custom-PCB (Eagle-Datei im Projekt) löten.
- Tygon-Schlauch auf Sensoranschluss, anderes Ende an Kupferrohr, das bis near Sump-Boden reicht.
- Monitor außerhalb der Grube montieren (trocken, zugänglich).
- OLED zeigt Pegel in Zoll (Inches) an; bei Alarm (> 12″) invertiert Display + Relais zieht an.
Arduino-Sketch
#include
#include
#include
#include
#include
#include
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
Adafruit_MCP4725 dac;
int relayPin = 5;
int analogPin = 0; // DAC-Ausgang lesen (Kontrolle)
int analogPin2 = 1; // MPXV5010DP Signal
int offSet = 40; // ADC bei 0 kPa
int maxSet = 1015; // ADC bei 10 kPa
int maxHeight = 1020; // max. Pegel mm
int ranging = (maxHeight * 0.8) + offSet;
int alarmHeight = 12; // Alarm in Zoll
float divisor = 25.4; // mm → inch
void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
dac.begin(0x60);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // Relais aus (High = offen)
}
void loop() {
int v1 = analogRead(analogPin2);
delay(1000);
if (v1 < offSet) v1 = offSet;
// DAC-Ausgang skalieren
int v2 = map(v1, offSet, maxSet, 0, 4095);
dac.setVoltage(v2, false);
// Pegel berechnen
int v3 = (v1 - offSet) / 0.8; // mm
float v7 = v3 / divisor; // inch
int v8 = round(v7); // ganzzahlig für Display
// OLED aktualisieren
display.clearDisplay();
if (v8 > alarmHeight) {
display.invertDisplay(true);
digitalWrite(relayPin, LOW); // Alarm: Relais ein (geschlossen)
} else {
display.invertDisplay(false);
digitalWrite(relayPin, HIGH);
}
display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0);
display.println("SUMP LEVEL");
display.setTextSize(4); display.print(v8);
display.setTextSize(2); display.println(" inches");
display.display();
delay(500);
// Serial Debug
Serial.print("PS in: "); Serial.print(v1);
Serial.print(" Height: "); Serial.print(v3); Serial.print(" mm ");
Serial.print(map(v1, offSet, ranging, 0, 100)); Serial.print("% ");
Serial.print(" DAC mV: "); Serial.println(map(analogRead(analogPin), 0, 1023, 0, 5000));
}
Schaltplan & PCB
Entworfen in Eagle 6.5.0. Schaltplan und Board-Datei (sump%20level.sch) im Projekt enthalten.
Fazit
Robuste, preiswerte Lösung für Sump-Pegelüberwachung. Der Differenzdrucksensor ist unempfindlich gegen Schmutz/Schaum, die 4–20-mA-ähnliche 0–5-V-Schnittstelle (via DAC) erlaubt einfache Integration in Leitsysteme. OLED + Relais bieten lokale Anzeige & Fernalarm.
Herstellungsprozess
- Variablengültigkeitsbereich in C# verstehen: Klassen-, Methoden- und Blockebene
- Raspberry Pi Luftqualitäts- & Wetterstation mit InfluxDB & Grafana bauen
- Google Assistant auf MATRIX Voice Raspberry Pi installieren – Schritt-für-Schritt-Anleitung
- Wettermonitor – DIY Raspberry Pi Wetterstation mit Dropbox-Upload
- Fern-Herzfrequenz-Überwachung mit AWS IoT Alarmen
- Windows IoT Core Rover mit Raspberry Pi 2 bauen – Anfänger bis Fortgeschritten
- GoPiGo v2 auf Windows 10 IoT Core für Raspberry Pi 3 erweitern
- Gate-Level Modeling: Vom Hardware-Schaltplan zum Verilog-Code
- JW Machine: Präzise CNC-Lohnfertigungs-Services
- Drehmaschine präzise ausrichten: Professionelle Anleitung zum Abrichten