PH-Wert messen mit Arduino UNO

Das ist ein vollwertiger Auszug aus dem Buch Elektronik und Heimautomation DIY.

Der pH-Wert gibt an, wie sauer oder basisch eine Flüssigkeit ist. Die Skala reicht von 0 (stark sauer) bis 14 (stark basisch), der Wert 7 gilt als neutral.

PH-Skala von 0 bis 14

Damit ein Arduino oder ESP diesen Wert messen kann, braucht es eine Glaselektrode, die auf Wasserstoffionen reagiert, und ein Messmodul, das dieses schwache elektrochemische Signal in eine auswertbare Spannung umwandelt.

Technische Details

  • Spannung: 3,3 – 5,5 Volt
  • Sensor-Anschluss: BNC Stecker
  • Genauigkeit: ± 0,1 @ 25 °C
  • Messbereich: 0 – 14 pH
  • Reaktionszeit: < 1 Minute
PH-Sensor Sonde mit BNC Anschluss

Hier findet ihr das benötigte Material!

Kalibrierung: Warum sie notwendig ist

Damit die gemessene Spannung korrekt in einen pH-Wert umgerechnet werden kann, muss der Sensor zunächst kalibriert werden. Im Buch verwenden wir dafür eine 3-Punkt-Kalibrierung mit den Pufferlösungen pH 4.00, 6.86 und 9.18 – dadurch lassen sich über den gesamten Messbereich deutlich genauere Ergebnisse erzielen als mit nur einem Referenzpunkt.

PH-Messmodul mit BNC-Verstärker und Kalibrier-Potentiometern

Da pH-Elektroden temperaturabhängig arbeiten, kommt zusätzlich eine Temperaturkompensation über einen DS18B20 Sensor zum Einsatz. Ohne sie würden sich die Messwerte bereits bei wenigen Grad Unterschied merklich verschieben. Die komplette Kalibrierroutine – inklusive automatischer Stabilitätsprüfung und dauerhafter Speicherung im EEPROM – findet ihr im Buch bzw. im vollständigen Sketch auf GitHub.


Der Sketch auf GitHub

Aufbau mit einem Arduino Uno und Display

Für den Aufbau verwenden wir zusätzlich ein TFT-Display, auf dem sich pH-Wert und Temperatur direkt ablesen lassen. Der DS18B20 Temperatursensor misst dabei die tatsächliche Wassertemperatur für die Temperaturkompensation und benötigt am Daten-Pin einen 4,7 kΩ Pull-up-Widerstand. Da der Arduino Uno die SPI-Pins für das Display fest vorgibt (D13 als Clock, D11 als MOSI), ist beim Verkabeln auf die richtige Pin-Zuordnung zu achten.

Aufbau mit Arduino UNO, Display, DS18B20 Sensor und PH Messzelle
Unterstütze meine Projekte

Wenn dir dieser Beitrag geholfen hat, freue ich mich über einen kleinen Beitrag für die Kaffeekasse.