http://sites.schaltungen.at/arduino-sketch/ph-sensor Wels, am 2022-04-03BITTE nützen Sie doch rechts OBEN das Suchfeld [ ] [ Diese Site durchsuchen]DIN A3 oder DIN A4 quer ausdrucken
*******************************************************************************I** DIN A4 ausdrucken (Heftrand 15mm / 5mm) siehe http://sites.schaltungen.at/drucker/sites-prenninger
********************************************************I* ~015_b_PrennIng-a_arduino.sketch-ph.sensor (xx Seiten)_1a.pdf
Quelle:
https://www.webers.de/pH-Elektroden?
https://de.wikipedia.org/wiki/pH-Elektrode
https://www.at.endress.com/de/messgeraete-fuer-die-prozesstechnik/fluessigkeitsanalyse-produktuebersicht/pH-Elektroden-Messumformer
https://www.testo.com/de-AT/produkte/ph-messgeraet?gclid=CjwKCAjw0a-SBhBkEiwApljU0s3bKhcbyPeFGHwiI23yr_mWI5ACG8nBBjgQ8qFMCKJVbQIei0TtfhoCo5AQAvD_BwE
Lassen Sie uns den PH-Wert der Substanz für den täglichen Gebrauch sehen
Leitfaden zur pH-Messung für Prozessanwendungen
Wird ein pH- oder Redox-Sensor bei normaler Raumtemperatur mit der am Ende der Elektrode aufgesetzten Originalaufbewahrungskappe gelagert, kann er ohne Leistungsverlust eine Lebensdauer von weit über einem Jahr erreichen.
Wie lange hält eine pH Elektrode im Aquarium?
Lebensdauer. Spätestens nach 1,5 Jahren muss eine neue ran. wobei man hier alle 6 Monate das Elektrolyt auswechseln muss.
Warum wird bei der Kalibrierung des pH Meters bei pH 7 eine Spannung gemessen?
Die Spannung muss zweimal bestimmt werden, damit die Steigung und der Nullpunkt der pH-Elektrode beziehungsweise der pH-Sonde bestimmt werden können. Für die Messung werden zwei verschiedene Messpunkte herangezogen. Diese müssen unterschiedliche pH-Werte aufzeigen.
Wie oft Sie Ihr pH-Meter kalibrieren müssen, hängt vom Gebrauch und eventuellen Verschmutzungen ab. Je höher diese Werte liegen, umso öfter müssen Sie den pH-Meter kalibrieren. Tun Sie dies mindestens 2 Mal im Monat.
Wie reinigt man eine PH Elektrode?
Reinigen Sie die Elektrode nach der Messung sofort mit entionisiertem, destilliertem Wasser. Überprüfen und Reinigen Sie die Elektrode regelmäßig. Vermeiden Sie Schmutzanhaftungen an der Membranoberfläche, am Diaphragma und im Innenraum. Messungen in aggressiven, heißen Medien führen zu einer Verkürzung der Lebenszeit.
Was ist eine Redox Sonde?
Die Redoxmessung im Schwimmbad ist ein Verfahren zur Bestimmung der Wirksamkeit der Wasserdesinfektion. Mit einer speziellen Elektrode wird ein Spannungswert in mV (Millivolt) ermittelt, der Auskunft über das Verhältnis von Desinfektionsmittel (Chlor) und Verunreinungen (organische Stoffe, Keime) gibt.
Warum wird die Kalibrierung zuerst bei pH 7 und danach erst bei pH 4 durchgeführt?
Die Reihenfolge, in welcher die Pufferlösungen verwendet werden, spielt für die Kalibrierung der Messgeräte keine Rolle. Demnach kann auch zuerst die Pufferlösung mit dem pH-Wert 4,0 verwendet werden, danach folgt die Lösung mit dem Wert 7,0.
Warum Glaselektrode kalibrieren?
Besonderheiten. Das Potential einer Glasmembran folgt nicht der Nernst-Gleichung. Aus diesem Grunde muss die Glaselektrode vor ihrem Einsatz kalibriert werden. Es handelt sich nicht nicht um eine Redox-Elektrode, sondern sie beruht auf einem Grenzflächenpotential.
Wie wird eine pH Elektrode kalibriert?
Die Kalibrierung wird mit einer Pufferlösung durchgeführt. Hierbei wird nur der Nullpunkt der pH-Elektrode überprüft und angenommen, dass die Steigung der verwendeten Elektrode in etwa der Nernst-Steigung entspricht. Der Zeitaufwand ist für diese Form der Kalibrierung am geringsten.
Was versteht man unter einer Pufferlösung?
Ein Puffersystem, kurz Puffer, ist ein Stoffgemisch, dessen pH-Wert (Konzentration der Wasserstoffionen) sich bei Zugabe einer Säure oder Base wesentlich weniger stark ändert, als dies in einem ungepufferten System der Fall wäre.
Ist der pH-Wert temperaturabhängig?
13,017). Die pH-Werte von Lösungen sind temperaturabhängig. Beispiel: Eine einmolare Phenollösung hat bei einer Temperatur der Lösung von 30 °C einen pKS-Wert des Phenols als Phenyl-OH von 10. Die Lösung hat einen pH-Wert von etwa 4,5.
Wie hoch ist der pH-Wert einer Zitrone?
Zitronensaft zum Beispiel hat einen pH-Wert von 2,4.
Wie funktioniert einstabmesskette?
Die pH-Einstabmesskette und deren Funktionsweise
Das pH-empfindliche Element ist die Glasmembran aus Silicatglas – meist eine Kuppe am unteren Ende der pH-Einstabmesskette. Die Oberfläche der Membran ist elektrisch negativ geladen. Bei einem niedrigen pH-Wert ergibt sich eine hohe Wasserstoffionenaktivität (H+).
Was ist das Asymmetriepotential?
Das Asymmetriepotential, hier mit Uas bezeichnet, ist ein Maß dafür, wie hoch die Elektrode von Haus aus vom idealen "0" - Punkt abweicht. Mit der Nullpunkt-Einstellung wird nun die linke Kurve parallel zu sich selbst soweit nach rechts verschoben, bis sie durch den Punkt pH = 7 geht.
Wie ist eine Glaselektrode aufgebaut?
Die Glaselektrode besteht aus einer dünnwandigen Glaskugel, die mit einer Lösung mit bekanntem und konstantem pH -Wert (Pufferlösung) gefüllt ist und in die Probelösung mit unbekanntem pH -Wert eintaucht.
pH-Elektroden sollen in KCl-Lösung gelagert werden
Warum soll eine pH-Elektrode nicht in Wasser gelagert werden?
Durch Osmose würde Wasser in die Elektrode gezogen und damit mittelfristig der Elektrolyt verdünnt. Dann ändert sich auch das Potenzial des Refernzelements.
Wichtig: Bitte achten Sie stehts darauf, dass sich bei der Messung der Füllstand des Elektrolyten stets oberhalb des Flüssigkeitsstandes der zu messenden Flüssigkeit befindet. Somit wird eine mögliche Kontaminierung des Elektrolyten vermieden. Bei Gel-Elektroden besteht die Gefahr, dass der Elektrolyt ausgewaschen wird. Hierdurch verkürzt sich die Lebensdauer. pH-Elektroden sollen in KCl-Lösung gelagert werden.
Zu empfehlen ist hier die "pH Elektrodenlagerlösung" Artikel-nr 2756549
KCL Lösung zur Aufbewahrung von Elektroden 50 ml
https://www.umwelt-electronic.de/bezugselektrolyte.htm
pH-Wertmessung – gut zu wissen:Der pH-Wert ist ein wichtiger Indikator in zahlreichen chemischen und biochemischen Reaktionen und heißt übersetzt „Wasserstoffgewicht“. Warum?
Quelle:
https://www.chemie.de/lexikon/PH-Meter.html
B) pHmeter – Arduino pH Meter C) DIY-pH-Meter mit Arduino und pH-Sensor und Kalibrierung auf Genauigkeit D) pH Meter using Arduino Uno and LCD Display E) DIY Ph Meter using PH Sensor & Arduino with OLED Display F) Arduino PH Meter using PH Sensor G) pH-Sensor VIDEOs
Messen Sie den pH-Wert mit einer kostengünstigen Arduino pH-Sensorplatine
www.e-tinkers.com/
Analog PH meter PH-4502C
Ich habe kürzlich ein Arduino-pH-Sensor-Kit zur Messung des pH-Werts meines Hydroponik-Setups gekauft, es ist billig, hat aber nur sehr wenige Informationen / Dokumente zur Verwendung, also habe ich beschlossen, es selbst herauszufinden, wie es funktioniert und wie man es benutzt.
Beliebte pH-Messkits für Arduino
Wenn Sie im Internet nach einem pH-Sensor mit Arduino suchen, sehen Sie wahrscheinlich 3 große kommerziell erhältliche oder massenproduzierte Lösungen:
1)
Atlas Scientific bietet qualitativ hochwertige und gut gestaltete Sensorkits für die pH-Messung an. Das Gravity-Analog-pH-Kit besteht aus einem verbrauchergerechten pH-Sensor und einer Schnittstellenkarte sowie 3 Paketen mit Kalibrierpufferlösungen und kostet 65,00 $.
Die Hardware von Atlas Scientific ist von hoher Qualität, scheint aber nicht Open Source zu sein.
2) DFRobot hat auch eine Lösung mit dem gleichen Namen Gravity wie Atlas Scientific.
Seine Version 1 Gravity: Analoges pH-Sensor-Kit besteht aus einer pH-Sonde plus Sensorplatine und kostet 29,50 $.
Es gibt eine Version 2 von Gravity: Analog pH Sensor Kit , die mit der Platine mit verbessertem Design für 39,50 $ geliefert wird, indem Pufferlösungen und Befestigungsschrauben für die Platine enthalten sind.
DFRobot veröffentlichte seinen Schaltplan, das PCB-Layout und den Arduino-Code für Version 1 auf seiner Website und github unter der GPL2-Lizenz.
Aber es veröffentlicht nur das PCB-Layout für Version 2 ohne Schaltplan, daher weiß ich nicht, was genau im Design für die Version 2 verbessert wurde.
3) Das dritte allgemein verfügbare pH-Sensor-Kit für Arduino, das Sie fast auf allen E-Commerce-Marktplätzen wie Taobao, AliExpress und Amazon sehen, ist dieses „mysteriöse“ pH-Sensor-Kit, das ich gekauft habe.
Sie können es für nur 17,00 $ für eine pH-Sonde mit der Sensorplatine finden.
Es ist „mysteriös“, weil es scheint, dass es mehrere chinesische Hersteller gibt, die dasselbe Board produzieren, aber ich kann nicht wirklich herausfinden, welcher Firma das Design tatsächlich gehört.
Ich habe es trotzdem gekauft, weil ich dachte, wenn ich verstehen könnte, wie die pH-Sonde funktioniert, und mit ein wenig „Reverse-Engineering“ des Schaltungsdesigns, um mir zu helfen, die Schaltung besser zu verstehen, dann sollte ich in der Lage sein, es herauszufinden heraus, wie es funktioniert.
Das passt gut zu meinem Tüftlergeist !
Abgesehen von diesen drei allgemein erhältlichen pH-Sensor-Kits gibt es noch andere auf dem Markt, aber sie sind eine relative Nische mit begrenzter Verbreitung. Wenn Sie sich für die pH-Messung oder das pH-Sensor-Board interessieren, lesen Sie vielleicht weiter unter Liquid PH0 – 14 Value + BNC PH Electrode Probe Sensor Module for Arduino HM-41272
pH Sensor Amplifier
https://www.diymore.cc/
https://www.diymore.cc/products/diymore-liquid-ph-value-detection-detect-sensor-module-monitoring-control-for-arduino-m?
Quelle:
https://deu.grandado.com/products/flussigkeit-ph-wert-erkennung-erkennen-sensor-modul-uberwachung-control-board-fur-arduino-bnc-elektrode-sonde-controller-1?
https://de.aliexpress.com/item/32797327021.html
https://de.aliexpress.com/item/32995322213.html
https://www.amazon.de/Liquid-PH0-14-Wert-Sensor-Modul-PH-Elektrode-Arduino/dp/B01LWLHPRR
Links
Atlas Scientific
https://atlas-scientific.com/ph/ Gravity analog pH Kit https://atlas-scientific.com/kits/gravity-analog-ph-kit/
DFRobot
https://www.dfrobot.com/product-1649.html 1) Gravity: Analog pH Sensor Kit https://www.dfrobot.com/product-1025.html 2) Gravity: Analog pH Sensor Kit https://www.dfrobot.com/product-1782.html A review on Seeed Studio pH and EC Sensor Kits – Part 1 https://www.e-tinkers.com/2020/07/a-review-on-seeed-studio-ph-and-ec-sensor-kits-part-1/ pH theory guide cannot find Arduino forum pH sensor detection circuit design
a
a
Logo_pHsensor.sch
https://forum.arduino.cc/t/ph-sensor-detection-circuit-design/478631
https://oxscience.com/the-wheatstone-bridge/
Using a NTC-Thermistor with Arduino and Unexpected ESP32 ADC Non-linearity
// NTC B3950 Thermistor // the formula for temp in kelvin is // 1 // T = ---------------------------- // 1/To + (1/beta) * ln(Rt/Ro) // // https://en.wikipedia.org/wiki/Thermistor int ThermistorPin; double adcMax, Vs; double R1 = 10000.0; // voltage divider resistor value double Beta = 3950.0; // Beta value double To = 298.15; // Temperature in Kelvin for 25 degree Celsius double Ro = 10000.0; // Resistance of Thermistor at 25 degree Celsius void setup() { Serial.begin(9600); ThermistorPin = A0; adcMax = 1023.0; // ADC resolution 10-bit (0-1023) Vs = 5.0; // supply voltage } void loop() { double Vout, Rt = 0; double T, Tc, Tf = 0; Vout = analogRead(ThermistorPin) * Vs/adcMax; Rt = R1 * Vout / (Vs - Vout); T = 1/(1/To + log(Rt/Ro)/Beta); // Temperature in Kelvin Tc = T - 273.15; // Celsius Tf = Tc * 9 / 5 + 32; // Fahrenheit Serial.println(Tc); delay(2000); }
Quelle:
https://www.e-tinkers.com/2019/10/using-a-thermistor-with-arduino-and-unexpected-esp32-adc-non-linearity/
Quelle:
https://electronics.stackexchange.com/questions/467643/how-to-calculate-the-value-of-the-thermistor-based-on-the-output-voltage-of-this
NTC Thermistor
https://en.wikipedia.org/wiki/Thermistor#Steinhart-Hart_equation
A review on Seeed Studio pH and EC sensor kits – Part 1(PH)”. https://www.e-tinkers.com/2020/07/a-review-on-seeed-studio-ph-and-ec-sensor-kits-part-1/
https://www.e-tinkers.com/2020/07/a-review-on-seeed-studio-ph-and-ec-sensor-kits-part-2/
Hysteresis Quelle:
https://en.wikipedia.org/wiki/Hysteresis
Wie funktioniert die pH-Sonde elektronisch?Eine pH-Sonde besteht aus zwei Hauptteilen:einer Glaselektrode und einer Referenzelektrode, wie im Bild unten gezeigt.
Ich bin nicht sehr gut in Chemie, also werde ich nicht versuchen, es so zu erklären, dieser Leitfaden zur pH-Theorie bietet eine sehr umfassende Erklärung der dahinter stehenden Theorie.
Kurz gesagt wird der pH-Wert im Wesentlichen durch Messen der Spannungsdifferenz zwischen diesen beiden Elektroden bestimmt.
Source: AN-1852 Designing with pH Electrodes, Texas Instruments
Typische pH-Sonde und Eigenschaften Die pH-Sonde ist ein passiver Sensor, d. h. es wird keine Erregerspannung oder Erregerstrom benötigt.
Es erzeugt eine Ausgangsspannung, die linear vom pH-Wert der zu messenden Lösung abhängt.
Eine ideale pH-Sonde erzeugt einen 0V Ausgang, wenn der pH Wert bei 7 liegt (reines Wasser), und sie erzeugt eine positive Spannung (einige hundert Millivolt max. +420mV), wenn der pH-Wert sinkt, und einen negativen Spannungspegel (max -420mV), wenn der pH-Wert steigt, verursacht durch das Wasserstoffeisen sich an der Außenseite (und Innenseite) der Membranglasspitze der pH-Sonde bildet, wenn die Membran mit Lösung in Kontakt kommt.
Die Quellenimpedanz einer pH-Sonde ist sehr hoch, da der dünne Glaskolben einen großen Widerstand hat, der typischerweise im Bereich von 10M Ohm bis 1G Ohm liegt.
Welche Meßschaltung auch immer mit der Sonde verbunden ist, muß sehr hochohmig sein, um den Belastungseffekt der Schaltung zu minimieren.
Hardware – Die pH-Sensorplatine erklärt
Die gekaufte pH-Sensorplatine wurde ohne Benutzerhandbuch, Schaltplan oder Beispielcode geliefert.
Ich bat den kleinen chinesischen Anbieter um Informationen, aber vergebens.
Ich habe mich für das „Reverse-Engineering“ des Schaltplans entschieden, aber schließlich finde ich den Schaltplan im Anhang dieser Diskussion im Arduino-Forum . Die pH-Sensorplatine kann basierend auf ihrer Funktionalität in 3 verschiedene Abschnitte unterteilt werden.
Ich färbe die drei Schlüsselabschnitte für die Diskussion hier mit unterschiedlichen Farben ein.
grün gelb blau
- pH-Messkreis
Der hellgrüne Teil mit dem hochohmigen Operationsverstärker TLC4502 besteht im Wesentlichen aus einem Spannungsteiler und einem Eins-Verstärker.
Der pH-Ausgang (Po) stellt einen analogen Ausgang für die pH-Messung bereit.
Da die pH-Sonde zwischen positiver und negativer Spannung schwingt und da der TLC4502 mit einer einzigen Stromquelle betrieben wird, wird die Hälfte des TLC4502 als Spannungsteiler verwendet, um eine Referenzspannung von 2,5 V bereitzustellen, um den Eingang der pH-Sonde so zu „schweben“, dass der Ausgang von Po beträgt +/-2,5 V basierend auf dem pH-Wert.
Ein Potentiometer RV1 wird für Kalibrierungszwecke verwendet, auf die ich später noch näher eingehen werde.
Dieser Teil der Schaltung ist gut durchdacht und reicht für die Messung des pH-Wertes aus.
Die anderen Teile des Boards sind meiner Meinung nach nicht gut gestaltet und eher in der Kategorie „nice-to-have“ und nicht unbedingt erforderlich.
- pH-Schwellenwert-Erkennungsschaltung
Der gelbe Abschnitt bietet eine pH-Schwellenerkennungs-/Benachrichtigungsschaltung.
Beispielsweise könnten Sie das Potentiometer RV2 so einstellen, dass, wenn der pH-Wert einen Schwellenwert erreicht (z. B. 7,5), die ROTE LED D1 eingeschaltet wird (der digitale Ausgang Do ändert sich von hoch nach niedrig).
Alternativ können Sie es verwenden, um den unteren pH-Wert-Schwellenwert zu erkennen, sagen wir, wenn der pH-Wert unter 5,5 liegt, wird die ROTE LED ausgeschaltet und Do wechselt von niedrig zu hoch.
Aber Sie können mit dieser Schaltung nicht sowohl untere als auch obere Schwellen einstellen.
Meiner Meinung nach wird es einfacher sein, nur eine Softwarelösung zu verwenden als diese Hardwarelösung für die Schwellenwerterkennung.
- Schaltkreis zur Temperaturmessung
Der hellblaue/cyanfarbene Abschnitt der Platine besteht aus anderthalb LM358 OpAmp und liefert einen analogen Messwert bei To .
U2B von LM358 fungiert als nicht so genauer Spannungsteiler und liefert eine Spannungsreferenz von 2,5 V an eine Wheatstone-Brücke , die aus R13 – R15 und einem Thermistor TH1 besteht.
Der U3A verhält sich wie ein differenzieller OpAmp, der Ausgang wird dann durch einen Tiefpassfilter geleitet und durch einen nicht invertierenden OpAmp U3B weiter verstärkt.
Diese ganze Schaltung hat nichts mit der pH-Messung zu tun, zumindest nicht direkt.
Ich werde darüber gegen Ende dieses Artikels sprechen.
Der einzige Grund für die Temperaturmessung im Zusammenhang mit der Messung des pH-Werts ist, dass sich die Steigung der pH-Kurve ändert, wenn sich die Temperatur zwischen 0 und 100 Grad Celsius ändert.
Es ist daher wichtig, die Temperatur der Lösung zu messen und den Temperaturkompensationsfaktor in die pH-Berechnung einzubeziehen.
Eine interessante Sache ist, dass alle Hersteller für dieses Platinendesign, die ich auf dem Markt gesehen habe, den Temperatursensor (Thermisto) auf der Platine hatten, anstatt eine wasserdichte Thermistorsonde zu haben, wie die, die ich in meinem vorherigen Beitrag beschrieben habe.
Durch Löten des Thermistors an Bord, d.h. der Thermistor misst die Umgebungstemperatur in der Nähe der Platine anstelle der Temperatur der Lösung, in der der pH-Wert gemessen wurde, macht dies einfach keinen Sinn.
Dies lässt mich denken, dass all diese chinesischen Hersteller einfach das Design aus einem Schaltplan kopieren oder rückentwickeln, ohne den Zweck des Thermistors zur Temperaturmessung im Kontext der pH-Messanwendung zu verstehen.
Jetzt habe ich den Schaltplan studiert und verstanden, es ist Zeit, den pH-Sensor zu kalibrieren und einen Code für die Messung des pH-Werts zu schreiben!
Wie wird der pH-Sensor kalibriert?
Wie bereits erwähnt, schwingt die pH-Sonde konstruktionsbedingt zwischen negativen und positiven Werten.
Wenn der pH-Wert 7,0 beträgt, wird der pH-Ausgang um 2,5 V versetzt, sodass sowohl negative als auch positive Werte, die von der pH-Sonde erzeugt werden, als positive Werte im gesamten Bereich dargestellt werden können.
Dies bedeutet, dass bei einem pH-Wert von 0 der Po würde bei 0 V sein,
und wenn der pH-Wert bei 7 liegt, würde der Po bei 2,5 V liegen.
und wenn der pH-Wert bei 14 liegt, würde der Po bei 5 V liegen.
Um sicherzustellen, dass der pH-Wert bei 7,0 liegt, können wir den Messwert kalibrieren, um sicherzustellen, dass Po bei 2,5 V liegt, indem wir die Sonde vom Stromkreis trennen und den inneren Stift des BNC-Steckers mit dem äußeren BNC-Ring kurzschließen.
Messen Sie mit einem Multimeter den Wert des Po -Pins und stellen Sie das Potentiometer auf 2,5 V ein.
Keine Sorge, wenn Sie kein Multimeter haben, können Sie eine Arduino-Sketch schreiben, um den analogen Eingang zu lesen, indem Sie den Po an den analogen Eingang A0 des Arduino anschließen.
Arduino-Sketch
ph_calibrate.ino
#include <Arduino.h>const int adcPin = A0;void setup() { Serial.begin(115200);}void loop() { int adcValue = analogRead(adcPin); float phVoltage = (float)adcValue * 5.0 / 1024; Serial.print("ADC = "); Serial.print(adcValue); Serial.print("; Po = "); Serial.println(phVoltage, 3); delay(1000);}Verbinden Sie Po mit dem Analog-Eingang A0 auf Arduino und G mit Arduino GND.
Führen Sie den Arduino-Sketch aus und öffnen Sie den seriellen Monitor der Arduino IDE, um den Messwert zu beobachten.
Stellen Sie das Potentiometer RV1 (das in der Nähe des BNC-Anschlusses auf der Platine) langsam ein, bis der Po -Messwert 2,50 V entspricht.
Dies setzt voraus, dass alle pH-Sonden gleich sind und genau 0V bei einem pH-Wert von 7,0 erzeugen, aber in Wirklichkeit unterscheiden sich alle Sonden geringfügig voneinander, insbesondere bei pH-Sonden für Verbraucher.
Auch die Temperatur wirkt sich leicht auf die Messwerte des pH-Sensors aus, daher ist es besser, eine pH-Pufferlösung mit pH = 7,0 zu verwenden, um die Sonde zu kalibrieren.
Alle Pufferlösungen haben auf ihrer Verpackung Informationen zur Temperaturkompensation, die Sie für Ihre Kalibrierung berücksichtigen können.
pH-Pufferlösung zur Kalibrierung
pH-Pufferpackungen für Kalibrierungszwecke sind in flüssiger Form oder in Pulverform erhältlich, die Flüssigkeitspackung ist einfach zu verwenden, aber die Pulverpackung ist gut für die Aufbewahrung.
Diese Lösungen werden in verschiedenen Werten verkauft, aber die gebräuchlichsten sind pH 4,01, pH 6,86 und pH 9,18.
pH-Werte sind über einen bestimmten Bereich (zwischen ph 2 bis ph 10) relativ linear, wir benötigen zwei Kalibrierungspunkte, um die lineare Linie zu bestimmen, und leiten dann die Steigung der Linie ab, sodass wir jeden pH-Wert mit einer bestimmten Ausgangsspannung berechnen können (siehe Diagramm in Abbildung 2 oben). Welcher Wert des pH-Puffers für diese zweite Kalibrierung zu verwenden ist, hängt von Ihrer Anwendung ab.
Wenn Ihre Anwendung die Messung einer sauren Lösung ist, verwenden Sie Pufferlösung für pH = 4,01 für die zweite Kalibrierung; buf Wenn Ihre Anwendung hauptsächlich zur Messung basischer/alkanischer Lösungen dient, verwenden Sie für die zweite Kalibrierung eine Pufferlösung mit pH = 9,18.
Da Hydroponik für den Gemüseanbau dazu neigt, mit einem pH-Wert zwischen 5,5 und 6,5 leicht sauer zu sein, verwende ich in meinem Fall eine Pufferlösung mit einem pH-Wert von 4,01 für meine Kalibrierung.
Um eine Kreuzkontamination zu vermeiden, tauchen Sie die Sonde einige Minuten in destilliertes Wasser, bevor Sie sie in verschiedene Pufferlösungen tauchen.
Um die Genauigkeit zu erhöhen, lassen Sie die Sonde einige Minuten in der Pufferlösung, bevor Sie den Messwert als Ergebnis übernehmen.
Verwenden Sie dieselbe Arduino-Sketch, um den Spannungswert für pH = 4,01 zu erhalten, und notieren Sie den Spannungswert.
In meinem Fall beträgt die Spannung 3,06 bei pH = 4,01.
Die Spannungsmesswerte bei ph von 4,01 Vph4 und bei pH von 7,0 Vph7 ermöglichen es uns, eine gerade Linie zu ziehen, und wir können die Spannungsänderung pro pH-Wert m erhalten als:
m = (ph7 - ph4) / (Vph7 - Vph4) /m = (7 - 4.01) / (2.5 - 3.05)m = -5.436
Der pH-Wert bei jedem Spannungsmesswert an Po lässt sich also mit dieser Formel ableiten: pH = pH7 - (Vph7 - Po) * mi.e.pH = 7 - (2.5 - Po) * m
pH-Wert messenMit der Formel können wir den Arduino-Sketch erstellen, um den pH-Wert basierend auf dem Spannungsmesswert am Po zu messen . #include <Arduino.h>const int adcPin = A0; // calculate your own m using ph_calibrate.ino// When using the buffer solution of pH4 for calibration, m can be derived as:// m = (pH7 - pH4) / (Vph7 - Vph4)const float m = -5.436; void setup() { Serial.begin(115200);}void loop() { float Po = analogRead(adcPin) * 5.0 / 1024; float phValue = 7 - (2.5 - Po) * m; Serial.print("ph value = "); Serial.println(phValue); delay(5000);} Wie wäre es mit einer Temperaturmessung? Wie ich bereits erwähnt habe, macht es keinen Sinn, die Umgebungstemperatur in der Nähe der Platine zu messen, also habe ich als erstes den On-Board-Thermistor ausgelötet und durch einen dieser wasserdichten Thermistoren ersetzt . Eine Wheatstone-Brückenschaltung ist nichts anderes als zwei einfache Serien-Parallel-Anordnungen von Widerständen, die zwischen einer Referenzspannungsversorgung und Masse verbunden sind und im symmetrischen Zustand eine Nullspannungsdifferenz zwischen den beiden parallelen Zweigen erzeugen.
Wenn einer der Arme der Widerstandsanordnungen aus einem Thermistor besteht, ändert sich sein Widerstand, wenn sich die Temperatur ändert, wodurch ein Ungleichgewicht zwischen zwei Widerstandsarmen und eine zwischen den beiden parallelen Zweigen entwickelte Spannungsdifferenz entsprechend der Änderung des Thermistorwiderstands verursacht wird, die direkt ist im Zusammenhang mit der Änderung der Temperatur.
Speziell für diese Schaltung wird die Spannungsreferenz von U2B bereitgestellt, der einen Spannungsteiler bildet und eine Referenzspannung (nennen wir sie Vref) von 2,5 V an Pin 7 von U2B erzeugt. Gemäß den Eigenschaften des Thermistors hat der Thermistor einen Widerstand von 10k Ohm bei einer Temperatur von 25 Grad Celsius.
Die Wheatstone-Brücke wird abgeglichen und die Ausgangsspannung Vd der Wheatstone-Brücke an den Anschlüssen der Widerstände R16 und R18 wird Null sein und wird über und unter 0 Volt schwingen, wenn sich die Temperatur ändert.
Die Vd wird dann durch U3A verstärkt, der ein Differenzverstärker zu sein scheint, der U3B ist ein typischer nicht invertierender Verstärker.
Da ich mir über den Gewinn von U3A nicht ganz sicher bin, habe ich mich entschieden, bei Elektrotechnik nachzufragen StackExchange, und meine Fragen wurden innerhalb einer Stunde beantwortet.
Die Schaltung hat eine Gesamtverstärkung von 14,33, wenn der Thermistor bei 10k liegt (d.h. wenn die Temperatur 25 Grad Celsius beträgt).
Die Verstärkung von U3A ändert sich jedoch, wenn sich der Thermistorwiderstand ändert, offensichtlich ist dies kein sehr gutes Design.
Ich wurde auch in meinem Verdacht bestätigt, dass zwischen Pin 3 von U3A und Masse auf dem Schaltplan ein 20k Widerstand fehlt, interessanterweise ist die Platine für diesen Widerstand ausgelegt, aber wo der Widerstand sein soll, ist leer gelassen (warum ?).
Untersuchen Sie die Schaltung weiter.
Ich habe festgestellt, dass der R12 auf der Platine tatsächlich einen Wert von 51,1 k anstelle von 100 k hat, wie im Schaltplan gezeigt.
Die Überverstärkung beträgt also 1,33 + 5,11 + 1 = 7,44.
Wir können Vd basierend auf der gemessenen Spannung von To ableiten und weiter den Widerstandswert von TH1 bei der Temperatur ableiten, bei der To gemessen wird: Vd = To / 7.44 Vd = Vref * (R14 / (R14 + R15)) - Vref * (R13 / (R13 + TH1))
Die absolute Temperatur T basierend auf der Steinhart-Hart-Gleichung für die Thermistorberechnung kann dann abgeleitet werden aus: T = 1 / (1/To + 1/B * ln(TH1/Ro))
Wobei: Obwohl ich die Formel zum Messen der Temperatur herausgefunden habe, habe ich den Code nicht geschrieben, um die Temperatur zu berechnen, da die Verstärkung von U3A variiert, wenn sich der Wert des Thermistors entsprechend der Temperatur ändert.
Zusammenfassend
Insgesamt hat diese pH-Sensorplatine ein gutes Schaltungsdesign für die pH-Messung, die restlichen Teile der Schaltung sind ziemlich nutzlos und ein wenig überdimensioniert.
Indem der schlechte Teil des Schaltungsdesigns eliminiert und der gute Teil beibehalten wird, könnte es einfacher und vielleicht etwas billiger sein als das aktuelle Design für eine pH-Sensorplatine.
Nachnavigation22 Kommentare von Lesern
Hinterlasse eine Antwort
Quelle:
https://www.e-tinkers.com/2019/11/measure-ph-with-a-low-cost-arduino-ph-sensor-board/
********************************************************I*
B) pHmeter – Arduino pH Meter
pH-Meter sind wissenschaftliche Instrumente zur Messung der Aktivität und Konzentration von Wasserstoffionen in wässrigen Lösungen mit dem Ziel, deren Säure- oder Alkalinität, ausgedrückt als pH-Wert, anzuzeigen.
Sie finden Anwendung in der Wasser- und Abwasserbehandlung, Pharmazie, Chemie und Petrochemie, Lebensmittel und Getränke, Bergbau und landwirtschaftlichen Prozessen, um nur einige zu nennen.
Für das heutige Tutorial werden wir versuchen, eine genaue DIY-Version dieses sehr nützlichen Tools zu erstellen.
pH-Meter bestehen hauptsächlich aus einer Sonde und einer Verarbeitungseinheit, die die Daten von der Sonde interpretiert und in einem für Menschen lesbaren Format anzeigt.
Das pH -Meter misst im Wesentlichen die elektrische Potentialdifferenz zwischen einer pH-Elektrode und einer Referenzelektrode.
Aus diesem Grund werden pH-Meter manchmal auch als „potentiometrische pH-Meter“ bezeichnet.
Gravitations-Analog-pH-Meter-Breakout-Board Während es im Internet mehrere DIY-pH-Meter-Beispiele gibt, basiert das heutige Projekt auf den von Atlas Scientific bereitgestellten Beispielen .
Wir werden die pH-Sonde von Atlas Scientific und ihr analoges Gravity-pH-Meter-Breakout-Board verwenden.
Das Breakout-Board für analoge pH-Meter von Gravity ist eine ziemlich genaue, kostengünstige pH-Meter-Lösung, die speziell für Studenten/Ausbildung, Proof-of-Concept-Entwicklungen und pH-Meter-Anwendungen entwickelt wurde, die eine mittlere Genauigkeit erfordern.
Es verfügt über einen BNC -Anschluss, über den es an die pH-Sonde von Atlas Scientific angeschlossen werden kann.
pH-Sonde von Atlas Scientific Neben dem pH-Breakout und der Sonde verwenden wir ein Arduino Uno und ein 20 × 4-LCD-Display.
Der Arduino dient als Gehirn für das Projekt, das den pH-Wert von der Sonde erhält, während das LCD dazu dient, den Benutzern visuelles Feedback zu geben, da der vom Arduino erhaltene Wert auf dem LCD angezeigt wird.
Um das Projekt übersichtlich zu gestalten, hat Atlas Scientific auch ein schönes Gehäuse erstellt, und wir werden die von ihnen beschriebenen Schritte befolgen, um unser eigenes zu erstellen. Erforderliche Komponenten Wir beginnen damit, dass wir zuerst Vorräte für unseren Bau besorgen. Die folgenden Komponenten werden benötigt, um dieses Projekt zu erstellen;
Abgesehen von den Komponenten werden ein paar Werkzeuge benötigt, um das Gehäuse zu entwickeln, aber da das nicht so wichtig ist, belassen wir es, bis wir so weit sind.
Schema
Die Schaltpläne für das heutige Projekt sind recht einfach.
Wir verbinden das LCD im 4-Pin-Modus, während wir den Signalstift des PH-Sensors mit einem analogen Stift des Arduino verbinden, da sein Ausgang analog ist.
Verbinden Sie die Komponenten wie in den folgenden Schemata gezeigt: Schemata Um die Schaltpläne leicht verständlich zu machen, ist unten eine Pin-Karte angegeben, die zeigt, wie die Komponenten mit dem Arduino verbunden sind; PH-Meter – Arduino +/VCC - 5V-/GND - GNDA/OUT - A0 LCD – Arduino K - GNDA - 3.3VD7 - D7D6 - D6D5 - D5D4 - D4E - D3RS - D2R/W - GNDVSS - GNDVDD - 5VVO - 5V Via Widerstände als Spannungsteiler DIY-pH-Meter Um das ABS-Gehäuse für die gewünschte ordentliche und klare Form zu modifizieren, wie im Bild oben gezeigt, wurden verschiedene Arten von Werkzeugen verwendet, darunter; a Bohrer, Bohrer, Trockenbaufräser, Feilen, Schraubendreher, Schraubstock, Bandsäge, Klebepistole und Klebestift, Lötkolben und Lötzinn, digitaler Messschieber, Lineal.
Während diese Werkzeuge den Prozess der Erstellung des Gehäuses einfacher und schneller machen, können Sie auch Make-Shift-Werkzeuge verwenden, die auf die eine oder andere Weise dazu beitragen, das Ziel eines ordentlichen Gehäuses zu erreichen.
Alle am ABS-Gehäuse vorgenommenen Modifikationen basieren auf dem unten stehenden Diagramm.
Möglicherweise müssen Sie heranzoomen, um die Abmessungen richtig zu sehen.
Sie können die folgenden Schritte ausführen, um dies mit guter Genauigkeit zu erreichen. Fühlen Sie sich frei, bei Bedarf andere Werkzeuge/behelfsmäßige Werkzeuge zu verwenden. Schnittöffnung für das LCD
Schneiden Sie Öffnungen für BNC-Stecker und Arduino-Ports Die Öffnungen für den BNC-Stecker und die Arduino-Anschlüsse befinden sich seitlich am unteren Teil des Gehäuses.
Rüsten Sie die Grundplatte zur Montage von Komponenten aus Die Grundplatte dient zur Montage von Arduino, pH-Sensor und Mini-Breadboard. Es wird eine 6,4 mm (1/4″) dicke Acrylplatte verwendet.
Wenn das Gehäuse fertig ist, ordnen Sie die Komponenten darin so an, dass die Einrichtung wie in der Abbildung unten aussieht.
CodeDer Code für das heutige Projekt ist recht einfach.
Unsere Aufgabe, wie in der Einführung erwähnt, besteht darin, den pH-Wert mit dem pH-Meter zu erfassen und auf dem angeschlossenen LCD anzuzeigen.
Wir werden die Arduino IDE für die Entwicklung des Codes verwenden und 2 Hauptbibliotheken verwenden; die Liquid Crystal Display-Bibliothek und die Atlas-Schwerkraftsensor-Bibliothek.
Die Bibliothek für Flüssigkristallanzeigen wird verwendet, um den Arbeits-/Codeaufwand zu reduzieren, der erforderlich ist, um das Arduino dazu zu bringen, mit dem LCD zu interagieren, während die Atlas Gravity Sensor Library es einfach macht, eine Schnittstelle mit dem PH-Messgerät herzustellen und Daten zu erhalten.
Die Liquid Crystal Library wird normalerweise mit der Arduino IDE geliefert, aber für den Fall, dass dies nicht der Fall ist, können Sie sie jederzeit über den Arduino Library Manager installieren.
Die Atlas Gravity Sensor-Bibliothek hingegen muss manuell installiert werden, daher müssen Sie sie über den beigefügten Link herunterladen, entpacken und ihren Inhalt in den Arduino Library-Ordner kopieren.
Der Bibliotheksordner befindet sich normalerweise im selben Ordner wie Ihre Arduino Sketches.
Nachdem die Bibliotheken installiert sind, können wir nun mit dem Schreiben des Codes fortfahren. Der Sketch beginnt mit der Aufnahme der zu verwendenden Bibliotheken. #include "ph_grav.h" //Header-Datei für den Gravitations-pH-Sensor von Atlas Scientific#include "LiquidCrystal.h" //Header-Datei für Flüssigkristallanzeige (LCD)
Als nächstes deklarieren wir einige der Variablen, die während des Codes verwendet werden, deklarieren den analogen Pin des Arduino, mit dem der analoge Ausgangspin des PH-Sensors verbunden ist, und erstellen Instanzen sowohl der Atlas Gravity Sensor Library als auch der Liquid Crystal Library . String inputstring = ""; //a string to hold incoming data from the PCboolean input_string_complete = false; //a flag to indicate have we received all the data from the PCchar inputstring_array[10]; //a char array needed for string parsingGravity_pH pH = A0; //assign analog pin A0 of Arduino to class Gravity_pH. connect output of pH sensor to pin A0LiquidCrystal pH_lcd(2, 3, 4, 5, 6, 7); //make a variable pH_lcd and assign arduino digital pins to lcd pins (2 -> RS, 3 -> E, 4 to 7 -> D4 to D7) Wenn dies erledigt ist, fahren wir mit der Funktion void setup () fort .Wir starten die Funktion, indem wir die serielle Kommunikation initialisieren, die für Debug-Zwecke verwendet wird, und das LCD-Display, auf dem ein Begrüßungs-/Initialisierungsbildschirm angezeigt wird. void setup() { Serial.begin(9600); //enable serial port pH_lcd.begin(20, 4); //start lcd interface and define lcd size (20 columns and 4 rows) pH_lcd.setCursor(0,0); //place cursor on screen at column 1, row 1 pH_lcd.print("--------------------"); //display characters pH_lcd.setCursor(0,3); //place cursor on screen at column 1, row 4 pH_lcd.print("--------------------"); //display characters pH_lcd.setCursor(5, 1); //place cursor on screen at column 6, row 2 pH_lcd.print("pH Reading"); //display "pH Reading"
zuletzt wird das PH-Meter initialisiert und die Steuerbefehle zur Kalibrierung werden auf dem seriellen Monitor angezeigt. if (pH.begin()) { Serial.println("Loaded EEPROM");} Serial.println(F("Use commands \"CAL,4\", \"CAL,7\", and \"CAL,10\" to calibrate the circuit to those respective values")); Serial.println(F("Use command \"CAL,CLEAR\" to clear the calibration")); }
Als nächstes kommt die Funktion void loop() . Die Void-Loop-Funktion ist ziemlich einfach. Wir beginnen damit, zu prüfen, ob ein Kalibrierungsparameter über den seriellen Monitor empfangen wurde.Wenn ja, werden die Daten als Argument in die parse_cmd- Funktion geparst, wo sie verwendet werden, um das erforderliche Kalibrierungsniveau einzustellen. void loop() { if (input_string_complete == true) { //check if data received inputstring.toCharArray(inputstring_array, 30); //convert the string to a char array parse_cmd(inputstring_array); //send data to pars_cmd function input_string_complete = false; //reset the flag used to tell if we have received a completed string from the PC inputstring = ""; //clear the string }
Als nächstes wird der PH-Wert vom PHmeter unter Verwendung der Funktion ph.read_ph() erhalten . Die erhaltenen Werte werden dann auf dem seriellen Monitor und auf dem LCD angezeigt. Serial.println(pH.read_ph()); //output pH reading to serial monitor pH_lcd.setCursor(8, 2); //place cursor on screen at column 9, row 3 pH_lcd.print(pH.read_ph()); //output pH to lcd delay(1000);}
Andere Teile des Codes sind die Funktion serialEvent() , die verwendet wird, um Benutzereingaben vom seriellen Monitor zu erhalten, und die Funktion parse_cmd() , die die Daten von der seriellen Schnittstelle übernimmt und sie verwendet, um den Kalibrierungspegel des PHmeters einzustellen. void serialEvent() { //if the hardware serial port_0 receives a char inputstring = Serial.readStringUntil(13); //read the string until we see a <CR> input_string_complete = true; //set the flag used to tell if we have received a completed string from the PC}void parse_cmd(char* string) { //For calling calibration functions strupr(string); //convert input string to uppercase if (strcmp(string, "CAL,4") == 0) { //compare user input string with CAL,4 and if they match, proceed pH.cal_low(); //call function for low point calibration Serial.println("LOW CALIBRATED"); } else if (strcmp(string, "CAL,7") == 0) { //compare user input string with CAL,7 and if they match, proceed pH.cal_mid(); //call function for midpoint calibration Serial.println("MID CALIBRATED"); } else if (strcmp(string, "CAL,10") == 0) { //compare user input string with CAL,10 and if they match, proceed pH.cal_high(); //call function for highpoint calibration Serial.println("HIGH CALIBRATED"); } else if (strcmp(string, "CAL,CLEAR") == 0) { //compare user input string with CAL,CLEAR and if they match, proceed pH.cal_clear(); //call function for clearing calibration Serial.println("CALIBRATION CLEARED"); }}
Der vollständige Code für das Projekt wird unten bereitgestellt und auch im Downloadbereich angehängt. /*Öffnen Sie nach dem Hochladen den seriellen Monitor, stellen Sie die Baudrate auf 9600 ein und hängen Sie "CR" an.Der Code ermöglicht es dem Benutzer, pH-Werte in Echtzeit zu beobachten und den Sensor zu kalibrieren.Es kann eine Ein-, Zwei- oder Dreipunktkalibrierung durchgeführt werden.Calibration commands: low-point: "cal,4" mid-point: "cal,7" high-point: "cal,10" clear calibration: "cal,clear"*/#include "ph_grav.h" //header file for Atlas Scientific gravity pH sensor#include "LiquidCrystal.h" //header file for liquid crystal display (lcd)String inputstring = ""; //a string to hold incoming data from the PCboolean input_string_complete = false; //a flag to indicate have we received all the data from the PCchar inputstring_array[10]; //a char array needed for string parsingGravity_pH pH = A0; //assign analog pin A0 of Arduino to class Gravity_pH. connect output of pH sensor to pin A0LiquidCrystal pH_lcd(2, 3, 4, 5, 6, 7); //make a variable pH_lcd and assign arduino digital pins to lcd pins (2 -> RS, 3 -> E, 4 to 7 -> D4 to D7)void setup() { Serial.begin(9600); //enable serial port pH_lcd.begin(20, 4); //start lcd interface and define lcd size (20 columns and 4 rows) pH_lcd.setCursor(0,0); //place cursor on screen at column 1, row 1 pH_lcd.print("--------------------"); //display characters pH_lcd.setCursor(0,3); //place cursor on screen at column 1, row 4 pH_lcd.print("--------------------"); //display characters pH_lcd.setCursor(5, 1); //place cursor on screen at column 6, row 2 pH_lcd.print("pH Reading"); //display "pH Reading" if (pH.begin()) { Serial.println("Loaded EEPROM");} Serial.println(F("Use commands \"CAL,4\", \"CAL,7\", and \"CAL,10\" to calibrate the circuit to those respective values")); Serial.println(F("Use command \"CAL,CLEAR\" to clear the calibration")); }void loop() { if (input_string_complete == true) { //check if data received inputstring.toCharArray(inputstring_array, 30); //convert the string to a char array parse_cmd(inputstring_array); //send data to pars_cmd function input_string_complete = false; //reset the flag used to tell if we have received a completed string from the PC inputstring = ""; //clear the string } Serial.println(pH.read_ph()); //output pH reading to serial monitor pH_lcd.setCursor(8, 2); //place cursor on screen at column 9, row 3 pH_lcd.print(pH.read_ph()); //output pH to lcd delay(1000);}void serialEvent() { //if the hardware serial port_0 receives a char inputstring = Serial.readStringUntil(13); //read the string until we see a <CR> input_string_complete = true; //set the flag used to tell if we have received a completed string from the PC}void parse_cmd(char* string) { //For calling calibration functions strupr(string); //convert input string to uppercase if (strcmp(string, "CAL,4") == 0) { //compare user input string with CAL,4 and if they match, proceed pH.cal_low(); //call function for low point calibration Serial.println("LOW CALIBRATED"); } else if (strcmp(string, "CAL,7") == 0) { //compare user input string with CAL,7 and if they match, proceed pH.cal_mid(); //call function for midpoint calibration Serial.println("MID CALIBRATED"); } else if (strcmp(string, "CAL,10") == 0) { //compare user input string with CAL,10 and if they match, proceed pH.cal_high(); //call function for highpoint calibration Serial.println("HIGH CALIBRATED"); } else if (strcmp(string, "CAL,CLEAR") == 0) { //compare user input string with CAL,CLEAR and if they match, proceed pH.cal_clear(); //call function for clearing calibration Serial.println("CALIBRATION CLEARED"); }} // deutsch//Header-Datei für den Schwerkraft-pH-Sensor von Atlas Scientific//Header-Datei für Flüssigkristallanzeige (LCD)//ein String, um eingehende Daten vom PC zu halten// ein Flag, das anzeigt, ob wir alle Daten vom PC erhalten haben//ein char-Array, das für das Parsen von Strings benötigt wird// analogen Pin A0 von Arduino der Klasse Gravity_pH zuweisen. Verbinden Sie den Ausgang des pH-Sensors mit Pin A0// eine Variable pH_lcd erstellen und den LCD-Pins arduino digitale Pins zuweisen (2 -> RS, 3 -> E, 4 bis 7 -> D4 bis D7)// Serielle Schnittstelle aktivieren// LCD-Schnittstelle starten und LCD-Größe definieren (20 Spalten und 4 Zeilen)//Cursor auf dem Bildschirm in Spalte 1, Zeile 1 platzieren// Zeichen anzeigen//Cursor auf dem Bildschirm in Spalte 1, Zeile 4 platzieren// Zeichen anzeigen//Cursor auf dem Bildschirm in Spalte 6, Zeile 2 platzieren// Anzeige "pH-Messwert"um die Schaltung auf diese jeweiligen Werte zu kalibrieren"));(F ("Verwenden Sie den Befehl "CAL, CLEAR", um die Kalibrierung zu löschen"));//überprüfen, ob Daten empfangen wurden// Konvertiere den String in ein Char-Array// Daten an die Funktion pars_cmd senden// Setzen Sie das Flag zurück, das verwendet wird, um festzustellen, ob wir eine vollständige Zeichenfolge vom PC erhalten haben// Zeichenfolge löschen// pH-Wert an seriellen Monitor ausgeben//Cursor auf dem Bildschirm in Spalte 9, Zeile 3 platzieren// pH-Wert auf LCD ausgeben// wenn der serielle Hardware-Port_0 ein Zeichen empfängt//Lesen Sie den String, bis wir ein <CR> sehen// Setzen Sie das Flag, das verwendet wird, um festzustellen, ob wir eine vollständige Zeichenfolge vom PC erhalten haben//Zum Aufrufen von Kalibrierungsfunktionen// Eingabestring in Großbuchstaben umwandeln//Benutzereingabe-String mit CAL,4 vergleichen und bei Übereinstimmung fortfahren// Funktion für Tiefpunktkalibrierung aufrufen//Benutzereingabe-String mit CAL,7 vergleichen und bei Übereinstimmung fortfahren// Funktion für Mittelpunktkalibrierung aufrufen//Benutzereingabe-String mit CAL,10 vergleichen und bei Übereinstimmung fortfahren// Funktion für Highpoint-Kalibrierung aufrufen//Benutzereingabe-String mit CAL,CLEAR vergleichen und bei Übereinstimmung fortfahren// Funktion zum Löschen der Kalibrierung aufrufen Kalibrierung Kalibration Um die Genauigkeit der Ergebnisse des pH-Meters sicherzustellen, muss das Gerät genau kalibriert werden. pH-Meter sind über 3 Ebenen kalibriert; 4, 7 und 10 unter Verwendung von Standard-Pufferlösungen, die bereits bei diesem PH-Wert existieren.
Diese Standardlösungen werden manchmal von den Verkäufern des PH-Sensors bereitgestellt, aber wenn sie nicht bereitgestellt werden, können Sie sie jederzeit in Ihrem örtlichen Chemiegeschäft erhalten.
Um das Messgerät zu kalibrieren, laden Sie die oben entwickelte Skizze auf Ihren Arduino hoch. Nehmen Sie sich etwas Zeit, um sicherzustellen, dass die Komponenten richtig angeschlossen sind, bevor Sie dies tun.
Wenn das Hochladen der Skizze abgeschlossen ist, öffnen Sie den seriellen Monitor. Basierend auf unserem Code fordert Sie der serielle Monitor auf, die Kalibrierungswerte einzugeben, wobei Beispiele zeigen, wie Sie sie richtig eingeben.
Befolgen Sie in diesem Stadium die nachstehenden Schritte, um das Messgerät mit den drei Pufferlösungen zu kalibrieren.
Entfernen Sie die Tauchflasche und spülen Sie die pH-Sonde Beginnen Sie mit der Standardpufferlösung für pH4. Gießen Sie etwas von der pH-4-Lösung, genug, um die Sonde zu bedecken, in eine Tasse. Legen Sie die Sonde in die Tasse und rühren Sie sie um, um eingeschlossene Luft zu entfernen.
Beobachten Sie die Messwerte auf dem seriellen Monitor und lassen Sie die Sonde dort, bis sich die Messwerte stabilisieren.
Wenn die Messwerte stabil werden, geben Sie den Befehl cal,4 in den seriellen Monitor ein, um ihn anzuweisen, diesen Wert als Kalibrierwert für pH4 zu speichern. Wiederholen Sie diese Schritte mit den pH7- und pH10-Lösungen und stellen Sie sicher, dass Sie die Sonde spülen, wenn Sie von einer Lösung zur anderen wechseln. Damit ist das pH-Meter nun kalibriert und sollte in der Lage sein, den korrekten pH-Wert für jede Lösung anzugeben, mit der die Sonde getestet wird.
Die Kalibrierwerte werden auf dem EEPROM des Arduino gespeichert, damit sie nicht verloren gehen, wenn das Messgerät von der Stromversorgung getrennt wird. Dadurch ist eine Kalibrierung nicht vor jedem Gebrauch erforderlich, aber Sie sollten das System nach einiger Zeit erneut kalibrieren, damit Sie immer den Befehl cal,clear auf dem seriellen Monitor eingeben können, um die zuvor gespeicherten Kalibrierungswerte zu löschen und die oben erläuterten Schritte zu wiederholen.
Demo
arduino_pH_meter.zip
Wenn der Code hochgeladen und die Kalibrierung abgeschlossen ist, können Sie jetzt fortfahren und die Sonde in eine beliebige Lösung eintauchen, und Sie sollten den pH-Wert auf dem LCD sehen, wie im Bild unten gezeigt. AtlasScientific atlas-scientific.com
Die Genauigkeit des pH-Meters variiert mit der Temperatur, daher ist es wichtig zu beachten, dass der in diesem Projekt verwendete Sensor eine Genauigkeit von +/- 0,2 % hat und dass das pH-Meter mit dieser Genauigkeit arbeitet, wenn der Temperaturbereich dazwischen liegt 7 – 46 °C . Außerhalb dieses Bereichs muss das Messgerät modifiziert werden, um dies zu kompensieren. Während der Umfang dieses Projekts in Zukunft auf den pH-Wert beschränkt ist, können Sie mehrere andere Sensoren hinzufügen, um das Projekt nützlicher zu machen. Ein gutes Beispiel für Sensoren, die für mehr Wert hinzugefügt werden könnten, sind Temperatur- und Feuchtigkeitssensoren . Gibt es etwas, das ich übersehen habe, oder Sie haben das eine oder andere Problem bei der Umsetzung des Projekts? melde dich gerne über die Kommentarfunktion bei mir.
arduino_pH_meter.ino
Quelle:
https://www.electronics-lab.com/project/phmeter-arduino-ph-meter/
********************************************************I*
C) DIY-pH-Meter mit Arduino und pH-Sensor und Kalibrierung auf Genauigkeit
Erfahren Sie, wie Sie ein pH-Meter herstellen. Verbinden Sie den pH-Sensor mit Arduino und zeigen Sie die pH-Werte auf einem seriellen Monitor, einem 16x2-LCD-Display und einem OLED-Display an.
Mitarbeiter der CircuitSchools1. Februar 2021
ÜberblickIn diesem Quick-Tutorial verbinden wir pH-Sensor und Arduino , um ein pH-Meter herzustellen, das die pH-Werte beliebiger Flüssigkeiten messen und die pH-Werte auf einem LCD-Display, einem OLED-Display und einem seriellen Monitor anzeigen kann. Sie können auch lernen, wie Sie den pH-Sensor kalibrieren, um die genauen Ergebnisse anzuzeigen. https://www.circuitschools.com/what-is-arduino-how-it-works-and-what-you-can-do-with-arduino/
Bevor Sie mit dem Projekt beginnen, lernen Sie einige Themen kennen. Was ist pHEs ist eine Maßeinheit für die Alkalinität oder Säure einer Lösung , genauer gesagt misst der pH-Wert die Menge an Wasserstoffionen, die eine bestimmte Lösung enthält, die Bedeutung von pH in seinem Akronym ist das Potenzial von Wasserstoffionen , dies ist zu einer praktischen Methode geworden Umgang mit Alkalitätszahlen statt anderer etwas komplizierterer Methoden. Es kann mit einem als pH-Meter bekannten Werkzeug genau gemessen werden. Dieses Gerät kann die Potentialdifferenz zwischen einem Elektrolytpaar messen . Die Skala des Wasserstoffionenpotentials ist von 1 bis 14 nummeriert, wobei zwischen 1 und 6 bedeutet, dass die Substanz saurer ist, 7 im Fall von destilliertem Wasser einen neutralen Wert hat und 8 bis 14 bedeutet, dass die Substanz alkalischer ist. Die Reihenfolge, die die pH-Skala hat, ist logarithmisch , was bedeutet, dass der Unterschied zwischen einer Zahleneinheit und einer anderen je nach Fall 10-mal basischer oder saurer sein kann. Was ist ein pH-Meter, wie es funktioniert und seine technischen DatenDas pH-Meter ist ein Instrument, das verwendet wird, um das Potential von Wasserstoffionen in einer Flüssigkeit zu messen und den Säuregehalt und die Alkalität einer Flüssigkeit mit nummerierten Einheiten von 0-14 zu unterscheiden. pH-Meter misst die elektrische Potentialdifferenz zwischen Bezugselektrode und Innenelektrode. Daher wird es auch als „potentiometrisches pH-Meter“ bezeichnet. Die Potentialdifferenz zwischen den Elektroden definiert den Säuregehalt der Lösung, in der der pH-Sensor platziert wird. Funktionsweise des pH-Meters Das pH-Meter verfügt über ein Modul und eine pH-Elektrode, wobei das Modul über einen Spannungsregler verfügt, der eine Gleichstromversorgung von 3,3 V bis 5,5 V unterstützen kann, und einige über einen 5-V-Gleichstrom, der mit vielen programmierbaren Platinen wie Arduino, ESP 8266, STM und ESP kompatibel ist 32. Mit Hardware ausgestattetes Modul, das gefilterte Signale mit weniger Jitter ausgeben kann. Das Modul verfügt außerdem über ein Potentiometer zum Kalibrieren der pH-Elektrode. Funktion der pH-Elektrodensonde: Es gibt zwei Arten von Elektroden Glas- und Nichtglaselektroden, in unserem Fall haben wir es nur mit Glaselektroden zu tun. Hier ist also bei einer Glaselektrode das pH-Sensorelement ein Glaskolben, an dessen Ende sich ein Glasrohr befindet, an dem sich diese Glasrohrelektrode befindet gefüllt mit der neutralen Kaliumchloridlösung mit pH 7 und enthält einen mit Silberchlorid beschichteten Silberdraht. Das Strukturdiagramm ist im folgenden Bild dargestellt. Wie Sie auf dem obigen Bild sehen können, befindet sich das Referenzsystem auf dem äußeren Glas- oder Kunststoffrohr und besteht ebenfalls aus Silberchlorid, das in einer gesättigten Kaliumchloridlösung auf Silberdraht aufgetragen ist. Da sowohl die Glaselektrode als auch die Referenzelektrode dieselbe bekannte pH-Lösung haben, gibt es zwischen ihnen keinen Potentialunterschied. der poröse Stecker schützt das Referenzsystem vor dem zu messenden Medium, ohne die elektrische Verbindung zwischen ihnen zu trennen. Der pH-Wert wird durch Messung der Potentialdifferenz zwischen Referenzsystem und Messsystem berechnet. Der wichtige Teil der Sonde, die pH-empfindliche Glasmembran, ist speziell so konstruiert, dass sich die H + -Ionen zur Oberfläche der Glasmembran bewegen und an ihr haften bleiben, wenn das Glas in eine Lösung getaucht wird, um das Positive zu messen Geladene H+-Ionen aus der Lösung bewegen sich zur Oberfläche der Glasmembran, dasselbe passiert mit der inneren Lösung, die die H+-Ionen intern zur Glasmembran bringt. Der Unterschied in den H+-Ionen auf beiden Seiten verursacht also eine Potentialdifferenz. Diese Potentialdifferenz wird vom Signalumwandlungsmodul erfasst und wendet die Nernst-Gleichung an, um den pH-Wert zu erhalten. Ist die Wasserstoffionenkonzentration innen niedriger als außen, ist die Messlösung sauer und der pH-Wert kleiner als 7, oder ist die H+-Ionenkonzentration innen höher als außen, ist die Messlösung basisch und der pH-Wert wird größer als 7 sein.
Pinbelegungsdiagramm und technische Merkmale des analogen pH-Sensors:
pH-Sensor-Module pinout diagramm Signalkonvertierungsmodul:
PH-Elektrode:
Bauen Sie ein pH-Meter, das Arduino und ein pH-Sensor-Kit verbindetJetzt, nach einer detaillierten Übersicht und den Arbeitsprinzipien des pH-Sensor-Kits, bauen Sie ein pH-Meter, das einen analogen pH-Sensor mit Arduino Uno R3 verbindet, und zeigen Sie den pH-Wert auf dem LCD-Display an. Erforderliche Komponenten zum Bau eines pH-Meters mit Arduino
Schaltplan:Schließen Sie nun alle erforderlichen Komponenten wie in der folgenden schematischen Darstellung gezeigt an.
pH-Meter Interfacing ARDUINO UNO R3 and pH-Sensor Circuit Diagramm Wie aus dem obigen Anschlussdiagramm ersichtlich, ist das pH-Sensormodul VCC mit 5 V von Arduino verbunden, GND mit GND von Arduino und der Sensor-OUT-Pin ist mit A0 von Arduino verbunden. Da wir das 16X2-LCD-Display mit dem I2C-Adapter verbinden, verbinden wir den SDA und SCL des LCD-Moduls mit A4 bzw. A5 von Arduino. und VCC und GND des LCD-Moduls an 5 V bzw. GND von Arduino. Wenn Sie das LCD-Display ohne I2C-Adapter anschließen müssen, lesen Sie unseren vorherigen Artikel über die Schnittstelle zwischen LCD-Display und Arduino im Detail .
https://www.circuitschools.com/interfacing-lcd-display-with-arduino-in-detail/ Nachdem Sie alles wie oben beschrieben angeschlossen haben, verbinden Sie Arduino mit dem PC oder Laptop, um den Code hochzuladen. Quellcode:Kopieren Sie den folgenden Code, fügen Sie die Arduino IDE ein, wählen Sie das richtige Board und den richtigen Port auf der Registerkarte Tools aus und tippen Sie auf Upload.
Da wir das LCD-Display mit I2C verwenden, müssen Sie die LiquidCrystal_I2C-Bibliothek hier herunterladen. Links https://www.circuitschools.com/libraries/
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int phval = 0; // the pH meter Analog output is connected with the Arduino’s A0
unsigned long int avgval; //Store the average value of the sensor feedback
int buffer_arr[10],temp;
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.begin(16, 2);
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("For more projects");
lcd.setCursor(0, 1);
lcd.print("CircuitSchools");
delay(2000);
lcd.clear();
}
void loop() {
for(int i=0;i<10;i++) //Get 10 sample value from the sensor for smooth the value
{
buffer_arr[i]=analogRead(A0);
delay(30);
}
for(int i=0;i<9;i++) //sort the analog from small to large
{
for(int j=i+1;j<10;j++)
{
if(buffer_arr[i]>buffer_arr[j])
{
temp=buffer_arr[i];
buffer_arr[i]=buffer_arr[j];
buffer_arr[j]=temp;
}
}
}
avgval=0;
for(int i=2;i<8;i++) //take the average value of 6 center sample
avgval+=buffer_arr[i];
float volt=(float)avgval*5.0/1024/6; //convert the analog into millivolt
float ph_act = 3.5*volt; //convert the millivolt into pH value
lcd.setCursor(0, 0);
lcd.print("pH Val:");
lcd.setCursor(8, 0);
lcd.print(ph_act);
delay(1000);
}
#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 16, 2);int phval = 0; // the pH meter Analog output is connected with the Arduino’s A0unsigned long int avgval; //Store the average value of the sensor feedbackint buffer_arr[10],temp;void setup() { Serial.begin(9600); lcd.init(); lcd.begin(16, 2); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("For more projects"); lcd.setCursor(0, 1); lcd.print("CircuitSchools"); delay(2000); lcd.clear();}void loop() { for(int i=0;i<10;i++) //Get 10 sample value from the sensor for smooth the value { buffer_arr[i]=analogRead(A0); delay(30); } for(int i=0;i<9;i++) //sort the analog from small to large { for(int j=i+1;j<10;j++) { if(buffer_arr[i]>buffer_arr[j]) { temp=buffer_arr[i]; buffer_arr[i]=buffer_arr[j]; buffer_arr[j]=temp; } } } avgval=0; for(int i=2;i<8;i++) //take the average value of 6 center sample avgval+=buffer_arr[i]; float volt=(float)avgval*5.0/1024/6; //convert the analog into millivolt float ph_act =
3.5*volt; //convert the millivolt into pH value lcd.setCursor(0, 0); lcd.print("pH Val:"); lcd.setCursor(8, 0); lcd.print(ph_act); delay(1000);}
Überprüfen Sie nach dem Hochladen des Codes das LCD-Display, das wie unten abgebildet angezeigt wird Hier haben wir die Elektrodensonde in das Zitronenwasser eingeführt, da das Zitronenwasser sauer ist, beträgt der pH-Wert weniger als 7. Auf die gleiche Weise sollte der Wert 7 angezeigt werden, wenn wir ihn in reines destilliertes Wasser einführen, wenn nicht Sie müssen das Gerät kalibrieren, das wir am Ende lernen. Schnittstelle zwischen OLED-Display und Arduino-pH-MeterHier in dieser Methode ersetzen wir nur das LCD-Display durch ein OLED-Display, alle anderen Anschlüsse sind gleich, mit Ausnahme des OLED-Display-Anschlusses, den Sie aus dem folgenden schematischen Diagramm entnehmen können. Erforderliche Komponenten zum Bau eines pH-Meters mit Arduino
SchaltplanSchließen Sie alle erforderlichen Komponenten wie im folgenden Anschlussplan gezeigt an
pH-Meter Interfacing ARDUINO and pH-Sensor Circuit Diagramm Die Verbindungen zwischen Arduino und pH-Sensormodul sind die gleichen wie bei der obigen Methode. Da wir das OLED-Display anschließen, verbinden wir den SDA und SCL des LCD-Moduls mit A4 bzw. A5 von Arduino. und VCC und GND des LCD-Moduls an 5 V bzw. GND von Arduino. Nachdem Sie alles wie oben beschrieben angeschlossen haben, verbinden Sie Arduino mit dem PC oder Laptop, um den Code hochzuladen. Quellcode:Kopieren Sie den folgenden Code, fügen Sie die Arduino IDE ein, wählen Sie das richtige Board und den richtigen Port auf der Registerkarte Tools aus und tippen Sie auf Upload.
Da wir das OLED-Display verwenden, müssen Sie die Bibliotheken Adafruit_GFX.h, Adafruit_SSD1306.h hier herunterladen. Links https://www.circuitschools.com/libraries/ Sensor Libraries: DHT sensor library: Link Dallas Temperature library: Link RTC module library: Link Adafruit fingerprint sensor Library: Link GravityTDS Library: Link PulseSensor Playground Library: Link SHT3x Temperature and humidity library : Link MAX30100 Pulse oximeter sensor library: Link Display Libraries: LiquidCrystal : Link Adafruit_SSD1306: Link Monochrome Oled display Library: Link Adafruit-GFX-Library: Link Microcontroller libraries: Onewire library: Link Simpletimer Library: Link EEPROM Library: Link Blynk Library: Link ESP8266WiFi Library: Link
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SensorPin 0 // the pH meter Analog output is connected with the Arduino’s Analog
unsigned long int avgValue; //Store the average value of the sensor feedback
float b;
int buf[10],temp;
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 // Reset pin # (or -1 if sharing reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup()
{
pinMode(13,OUTPUT);
Serial.begin(9600);
Serial.println("Ready"); //Test the serial monitor
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C))
{
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
display.display();
delay(2);
display.clearDisplay();
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,5);
display.print("PH Sensor");
display.display();
delay(3000);
}
void loop()
{
for(int i=0;i<10;i++) //Get 10 sample value from the sensor for smooth the value
{
buf[i]=analogRead(SensorPin);
delay(10);
}
for(int i=0;i<9;i++) //sort the analog from small to large
{
for(int j=i+1;j<10;j++)
{
if(buf[i]>buf[j])
{
temp=buf[i];
buf[i]=buf[j];
buf[j]=temp;
}
}
}
avgValue=0;
for(int i=2;i<8;i++) //take the average value of 6 center sample
avgValue+=buf[i];
float phValue=(float)avgValue*5.0/1024/6; //convert the analog into millivolt
phValue=3.5*phValue; //convert the millivolt into pH value
Serial.print(" pH:");
Serial.print(phValue,2);
Serial.println(" ");
display.clearDisplay();
display.setTextSize(2);
display.setCursor(20,0);
display.println("Ph Value");
display.setTextSize(3);
display.setCursor(30,30);
display.print(phValue);
display.display();
digitalWrite(13, HIGH);
delay(800);
digitalWrite(13, LOW);
}
Überprüfen Sie nach dem Hochladen des Codes das LCD-Display, das wie unten abgebildet angezeigt wir
Kalibrieren des an Arduino angeschlossenen pH-SensorsDie Kalibrierung eines pH-Sensors ist sehr wichtig, um genaue Messwerte zu erhalten, dies ist in diesem Projekt sehr einfach. Die Kalibrierung des Sensors ist einfach, Sie benötigen lediglich eine bekannte pH-Pufferlösung. Nehmen Sie zum Beispiel eine Pufferlösung mit pH-Wert 7 und tauchen Sie die Elektrodensonde in die Lösung und beobachten Sie den Messwert. Wenn der Ausgang ungleich 7 oder Dezimalstellen nahe 7 ist, drehen Sie das Potentiometer auf der Signalumwandlungsplatine bis zum angezeigten Ausgang 7. Damit ist Ihr pH-Meter genau kalibriert und einsatzbereit. Zu befolgende Vorsichtsmaßnahmen:
Mitarbeiter der CircuitSchools
Wir bei CircuitSchools veröffentlichen über Grundlagen der Elektronik und elektrische Komponenten und alles, was mit der Entwicklung der Elektrotechnik zu tun hat, mit vollständiger Analyse von Entwicklungsplatinen und Modulen sowie neuesten Projekten mit innovativen Ideen.
Überprüfen Sie auch
Nah dran
Quelle:
https://www.circuitschools.com/diy-ph-meter-using-arduino-and-ph-sensor-and-calibrating-it-for-accuracy/
********************************************************I*
D) pH Meter using ARDUINO UNO and LCD Display
pH-Meter mit Arduino Uno und LCD-Display
DurchDebasis Parida 28. Mai 20202 Analog PH meter PH-4502C Arduino pH-MeterDie pH-Skala wird verwendet, um den Säuregehalt und die Basizität einer Flüssigkeit zu messen. Es kann Messwerte von 1 bis 14 haben, wobei 1 die sauerste Flüssigkeit und 14 die basischste Flüssigkeit anzeigt. 7 pH ist für neutrale Substanzen, die weder sauer noch basisch sind. Heutzutage spielt der pH-Wert eine sehr wichtige Rolle in unserem Leben und wird in verschiedenen Anwendungen eingesetzt. Es kann beispielsweise in einem Schwimmbad zur Überprüfung der Wasserqualität eingesetzt werden. Ebenso wird die pH-Messung in einer Vielzahl von Anwendungen wie Landwirtschaft, Abwasserbehandlung, Industrie, Umweltüberwachung usw. eingesetzt. In diesem Projekt werden wir ein Arduino-pH-Meter herstellen und lernen, wie man den pH-Wert einer flüssigen Lösung mit einem Schwerkraft-pH-Sensor und Arduino misst. Ein 16x2 LCD wird verwendet, um den pH-Wert auf dem Bildschirm anzuzeigen. Wir werden auch lernen, wie man den pH-Sensor kalibriert , um die Genauigkeit des Sensors zu bestimmen. Also lasst uns anfangen! Erforderliche Komponenten
Was ist der pH-Wert?Die Einheit, die wir verwenden, um den Säuregehalt einer Substanz zu messen, wird pH genannt . Der Begriff „H“ ist als negativer Logarithmus der Wasserstoffionenkonzentration definiert . Der pH-Bereich kann Werte von 0 bis 14 annehmen. Ein pH-Wert von 7 ist neutral, da reines Wasser einen pH-Wert von genau 7 hat. Werte unter 7 sind sauer und Werte über 7 basisch oder basisch.
Wie funktioniert der analoge Gravitations-pH-Sensor?
Der analoge pH-Sensor misst den pH-Wert einer Lösung und zeigt die Säure oder Alkalität der Substanz an. Es wird häufig in verschiedenen Anwendungen wie Landwirtschaft, Abwasserbehandlung, Industrie, Umweltüberwachung usw. verwendet. Das Modul verfügt über einen integrierten Spannungsreglerchip, der die breite Spannungsversorgung von 3,3-5,5 V DC unterstützt, die mit 5 V und kompatibel ist 3,3 V einer beliebigen Steuerplatine wie Arduino. Das Ausgangssignal wird durch Hardware-Low-Jitter gefiltert.
Technische Eigenschaften: Signalkonvertierungsmodul:
PH-Elektrode:
pH-Signalumwandlungsplatine:
Pin-Beschreibung: V+: 5 V DC-Eingang G: Erdungsstift Po: pH-Analogausgang Do: 3,3 V DC-Ausgang Bis: Temperaturausgang Aufbau der pH-Elektrode: Der Aufbau eines pH-Sensors ist oben dargestellt. Der pH-Sensor sieht aus wie ein Stab, der normalerweise aus einem Glasmaterial besteht und eine Spitze hat, die als „Glasmembran“ bezeichnet wird. Diese Membran ist mit einer Pufferlösung mit bekanntem pH-Wert (typischerweise pH = 7) gefüllt. Dieses Elektrodendesign gewährleistet eine Umgebung mit konstanter Bindung von H+-Ionen auf der Innenseite der Glasmembran. Wenn die Sonde in die zu testende Lösung getaucht wird, beginnen Wasserstoffionen in der Testlösung mit anderen positiv geladenen Ionen auf der Glasmembran auszutauschen, wodurch ein elektrochemisches Potential über der Membran erzeugt wird, das dem elektronischen Verstärkermodul zugeführt wird, das das Potential misst zwischen beiden Elektroden und rechnet sie in pH-Einheiten um. Die Differenz dieser Potentiale bestimmt nach der Nernst-Gleichung den pH-Wert. Nernst-Gleichung: Die Nernst-Gleichung gibt einen Zusammenhang zwischen Zellpotential einer elektrochemischen Zelle, Temperatur, Reaktionsquotient und dem Standard-Zellpotential. Unter nicht standardmäßigen Bedingungen wird die Nernst-Gleichung verwendet, um Zellpotentiale in einer elektrochemischen Zelle zu berechnen. Die Nernst-Gleichung kann auch verwendet werden, um die gesamte elektromotorische Kraft (EMK) für eine vollständige elektrochemische Zelle zu berechnen. Diese Gleichung wird auch verwendet, um den PH-Wert einer Lösung zu berechnen. Die Reaktion der Glaselektrode wird durch die Nernst-Gleichung bestimmt und kann wie folgt angegeben werden: E = E0 - 2.3 (RT/nF) ln QWhereQ= Reaction coefficientE = mV output from the electrodeE0 = Zero offset for the electrodeR = Ideal gas constant= 8.314 J/mol-KT = Temperature in ºKF = Faraday constant = 95,484.56 C/molN = Ionic Charge
Arduino pH-Meter SchaltplanSchaltplan für dieses Arduino pH-Meter-Projekt ist unten angegeben: Verbindung des pH-Signalkonvertierungsboards mit Arduino: Die Verbindung zwischen Arduino und der PH-Signalumwandlungsplatine ist in der folgenden Tabelle dargestellt.
Programmieren von Arduino für pH-MeterNach erfolgreichen Hardwareverbindungen ist es nun an der Zeit, den Arduino zu programmieren. Der vollständige Code für dieses pH-Meter mit Arduino ist im unteren Teil dieses Tutorials angegeben. Die schrittweise Erläuterung des Projekts ist unten angegeben. Das erste, was Sie in das Programm tun müssen, ist, alle erforderlichen Bibliotheken einzubinden. Hier habe ich in meinem Fall die Bibliothek „ LiquidCrystal_I2C.h“ für die Verwendung der I2C-Schnittstelle eines LCD-Displays und „ Wire.h “ für die Verwendung der I2C-Funktionalität auf Arduino eingefügt. #include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 16, 2);
Als nächstes wird der Kalibrierwert definiert, der nach Bedarf modifiziert werden kann, um einen genauen pH-Wert von Lösungen zu erhalten. (Dies wird später im Artikel erklärt) float calibration_value = 21.34;
Innerhalb von setup () werden LCD-Befehle geschrieben, um eine Willkommensnachricht auf dem LCD anzuzeigen. lcd.init(); lcd.begin(16, 2); lcd.backlight(); lcd.setCursor(0, 0); lcd.print(" Welcome to "); lcd.setCursor(0, 1); lcd.print(" Circuit Digest "); delay(2000); lcd.clear();
Lesen Sie in loop() 10 analoge Beispielwerte und speichern Sie sie in einem Array. Dies ist erforderlich, um den Ausgangswert zu glätten. for(int i=0;i<10;i++) { buffer_arr[i]=analogRead(A0); delay(30); }
Sortieren Sie dann die empfangenen Analogwerte in aufsteigender Reihenfolge. Dies ist erforderlich, da wir in einer späteren Phase den laufenden Durchschnitt der Stichproben berechnen müssen. for(int i=0;i<9;i++) { for(int j=i+1;j<10;j++) { if(buffer_arr[i]>buffer_arr[j]) { temp=buffer_arr[i]; buffer_arr[i]=buffer_arr[j]; buffer_arr[j]=temp; } } }
Berechnen Sie schließlich den Durchschnitt von 6 mittleren analogen Abtastwerten. Dann wird dieser Durchschnittswert in den tatsächlichen pH-Wert umgerechnet und auf einem LCD-Display ausgedruckt. for(int i=2;i<8;i++) avgval+=buffer_arr[i]; float volt=(float)avgval*5.0/1024/6; float ph_act = -5.70 * volt + calibration_value; lcd.setCursor(0, 0); lcd.print("pH Val:"); lcd.setCursor(8, 0); lcd.print(ph_act); delay(1000);}
Kalibrierung der pH-ElektrodeDie Kalibrierung der PH-Elektrode ist in diesem Projekt sehr wichtig. Dafür brauchen wir eine Lösung, deren Wert uns bekannt ist. Diese kann als Referenzlösung für die Kalibrierung des Sensors verwendet werden. Angenommen, wir haben eine Lösung, deren PH-Wert 7 ist (destilliertes Wasser). Wenn die Elektrode nun in die Referenzlösung getaucht wird und der auf dem LCD angezeigte PH-Wert 6,5 beträgt. Um es dann zu kalibrieren, fügen Sie einfach 7-6,5 = 0,5 in die Kalibrierungsvariable „ calibration_value“ im Code ein. dh machen Sie den Wert 21,34 + 0,5 = 21,84 . Nachdem Sie diese Änderungen vorgenommen haben, laden Sie den Code erneut auf Arduino hoch und überprüfen Sie den pH-Wert erneut, indem Sie die Elektrode in die Referenzlösung eintauchen. Jetzt sollte das LCD den korrekten pH-Wert anzeigen, dh 7 (kleine Abweichungen sind beträchtlich) . Passen Sie diese Variable auf ähnliche Weise an, um den Sensor zu kalibrieren. Suchen Sie dann nach allen anderen Lösungen, um die genaue Ausgabe zu erhalten. Testen des Arduino pH-TestersWir haben dieses Arduino pH-Meter ausprobiert, indem wir es in reines Wasser und Zitronenwasser getaucht haben, Sie können das Ergebnis unten sehen. Reines Wasser: Testen des pH-Werts von reinem Wasser mit dem Arduino pH Meter Zitronenwasser: Analog PH meter PH-4502C Testen des pH-Werts von Zitronenwasser mit dem Arduino pH Meter So können wir mit Arduino einen pH-Sensor bauen und damit den pH-Wert verschiedener Flüssigkeiten überprüfen. Der vollständige Code und das Demonstrationsvideo sind unten angegeben.
Arduino Sketch #include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
float calibration_value = 21.34;
int phval = 0;
unsigned long int avgval;
int buffer_arr[10],temp;
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.begin(16, 2);
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print( " Welcome to " );
lcd.setCursor(0, 1);
lcd.print( " Circuit Digest " );
delay(2000);
lcd.clear();
}
void loop() {
for ( int i=0;i<10;i++)
{
buffer_arr[i]=analogRead(A0);
delay(30);
}
for ( int i=0;i<9;i++)
{
for ( int j=i+1;j<10;j++)
{
if (buffer_arr[i]>buffer_arr[j])
{
temp=buffer_arr[i];
buffer_arr[i]=buffer_arr[j];
buffer_arr[j]=temp;
}
}
}
avgval=0;
for ( int i=2;i<8;i++)
avgval+=buffer_arr[i];
float volt=( float )avgval*5.0/1024/6;
float ph_act = -5.70 * volt + calibration_value;
lcd.setCursor(0, 0);
lcd.print( "pH Val:" );
lcd.setCursor(8, 0);
lcd.print(ph_act);
delay(1000);
}
Video
How to Build a pH meter using Arduino
Quelle:
https://circuitdigest.com/microcontroller-projects/arduino-ph-meter
********************************************************I*
E) DIY pH Meter using pH Sensor & Arduino with OLED Display
DIY-pH-Messgerät mit pH-Sensor und Arduino mit OLED-Display
In diesem Projekt werden wir ein Ph-Meter entwerfen, indem wir einen analogen Ph-Sensor mit Arduino verbinden .
Inhaltsverzeichnis
ÜberblickIn der Chemie ist der pH -Wert eine Skala, die verwendet wird, um anzugeben, wie sauer oder basisch eine Lösung auf Wasserbasis ist. Saure Lösungen haben einen niedrigeren pH-Wert, während basische Lösungen einen höheren pH-Wert haben. Somit hat der pH-Sensor die Fähigkeit, den pH-Wert jeder Lösung zu bestimmen, dh er sagt, ob die Substanz sauer, basisch oder neutral ist. Indem wir den pH-Wert kennen, können wir die Wasserqualität in landwirtschaftlichen Betrieben und auch in der Fischzucht überwachen. In ähnlicher Weise hat der Ph-Sensor ein breites Anwendungsspektrum wie Abwasserbehandlung, Pharmazeutika, Chemikalien und Petrochemikalien. In diesem grundlegenden Tutorial lernen wir, wie man den Gravity Ph Sensor mit Arduino verbindet . Wir werden ein einfaches Ph-Messgerät entwerfen und den Ph-Wert auf einem OLED/LCD-Display anzeigen . Wir werden auch etwas über den Aufbau und die Funktionsweise des Ph-Sensors erfahren. Schließlich lernen wir die Kalibrierungsmethode kennen, die die Richtigkeit und Genauigkeit des Sensors bestimmt. Der Ph-Sensor kann auch mit anderen übergeordneten Mikrocontrollern wie NodeMCU ESP8266 und STM32 verbunden werden, die ich in Zukunft besprechen werde. Sie können diesem Projekt einige weitere zusätzliche Sensoren hinzufügen, z. B. TDS-Sensor , Trübungssensor und Sensor für gelösten Sauerstoff zur Überwachung der Wasserqualität. Stückliste Im Folgenden sind die Komponenten aufgeführt, die für die Erstellung dieses Projekts erforderlich sind. Alle Komponenten können einfach bei Amazon erworben werden . Der Link zum Kauf der Komponenten ist angegeben.
Der Begriff PH ist ein quantitatives Maß für die Acidität oder Basizität von wässrigen oder anderen flüssigen Lösungen . Der in Chemie, Biologie und Agronomie weit verbreitete Begriff übersetzt die Werte der Konzentration des Wasserstoffions , die normalerweise zwischen etwa 1 und 10−14 Grammäquivalenten pro Liter liegt, in Zahlen zwischen 0 und 14.
pH-Skala 0..7..14
In reinem Wasser , das neutral (weder sauer noch alkalisch) ist, beträgt die Konzentration des Wasserstoffions 10−7 Grammäquivalente pro Liter, was einem pH-Wert von 7 entspricht. Eine Lösung mit einem pH-Wert von weniger als 7 wird als sauer angesehen ; eine Lösung mit einem pH-Wert über 7 wird als basisch oder alkalisch Was ist ein Ph-Meter? Ein pH-Meter ist ein wissenschaftliches Instrument, das die Wasserstoffionenaktivität in Lösungen auf Wasserbasis misst und deren Säure- oder Alkalinität , ausgedrückt als pH-Wert, anzeigt. Das pH-Meter misst den Unterschied im elektrischen Potential zwischen einer pH-Elektrode und einer Referenzelektrode, weshalb das pH-Meter manchmal als „ potentiometrisches pH-Meter “ bezeichnet wird. Der Unterschied im elektrischen Potential bezieht sich auf die Acidität oder den pH-Wert der Lösung. Bau und Funktion des Ph-MessgerätsDer pH-Sensor hat eine stabförmige Struktur, die normalerweise aus Glas besteht, mit einer Glühbirne , die den Sensor an der Unterseite enthält. Die Glaselektrode zur Messung des pH-Werts hat einen speziell für die Wasserstoffionenkonzentration ausgelegten Glaskolben . Beim Eintauchen in die zu testende Lösung tauschen sich Wasserstoffionen in der Testlösung gegen andere positiv geladene Ionen auf dem Glaskolben aus, wodurch ein elektrochemisches Potential über dem Kolben erzeugt wird. Der elektronische Verstärker erfasst die bei der Messung entstehende elektrische Potentialdifferenz zwischen den beiden Elektroden und rechnet die Potentialdifferenz in pH-Einheiten um. Die Größe des elektrochemischen Potentials über dem Glaskolben ist gemäß der Nernst-Gleichung linear mit dem pH-Wert verbunden .
Bau und Funktion des pH-Sensors
Die Referenzelektrode ist gegenüber dem pH-Wert der Lösung unempfindlich, da sie aus einem metallischen Leiter besteht, der mit der Anzeige verbunden ist. Dieser Leiter wird in eine Elektrolytlösung, typischerweise Kaliumchlorid , eingetaucht, die durch eine poröse Keramikmembran mit der Testlösung in Kontakt kommt . Fa. Gravity Analog-pH-Sensor/Meter-Kit
DFRobot pH-Sensor
DFRobot Gravity : Das analoge pH-Meter V2 wurde speziell entwickelt, um den pH-Wert der Lösung zu messen und den Säure- oder Alkaligehalt wiederzugeben . Als aktualisierte Version des pH-Meters V1 verbessert der Sensor die Präzision und das Benutzererlebnis erheblich. Der Onboard-Spannungsregler-Chip unterstützt die breite Spannungsversorgung von 3,3 bis 5,5 V. Das hardwaremäßig gefilterte Ausgangssignal ist jitterarm . Mit diesem pH -Sensor können Sie schnell das pH-Meter bauen, um den pH -Wert der verschiedenen wässrigen Lösungen zu messen . Merkmale
SpezifikationenDas pH- Sensor-Kit verfügt über eine Signalumwandlungsplatine (Sender) V2 und eine pH-Sonde . Beide sind miteinander verbunden. Die Merkmale dieser beiden Teile sind wie folgt. Signalumwandlungsplatine (Sender) V2
pH-Sonde
Um mehr über den pH-Sensor zu erfahren, können Sie den offiziellen Artikel von DfRobot hier lesen: Anbindung eines analogen Gravitations-PH-Sensors an Arduino Lassen Sie uns nun den Ph-Sensor mit Arduino mit Simple Arduino Code verbinden . Die Verbindung ist ziemlich einfach und Schaltung / Schaltplan ist unten angegeben. Schnittstelle des pH-Sensors mit dem ARDUINO UNOPh Sensor hat 3 Pins, die mit Arduino verbunden werden müssen. Verbinden Sie also den VCC-Pin mit 5 V von Arduino und GND mit GND. Verbinden Sie den analogen Pin mit A0 von Arduino, wie im Bild oben gezeigt.
Der Quellcode für die Schnittstelle zwischen DFRobot Gravity Ph Sensor und Arduino ist unten angegeben.
Kopieren Sie einfach den Code und laden Sie ihn auf das Arduino Board hoch.
#define SensorPin A0 // the pH meter Analog output is connected with the Arduino’s Analog
unsigned long int avgValue; //Store the average value of the sensor feedback
float b;
int buf[10],temp;
void setup()
{
pinMode(13,OUTPUT);
Serial.begin(9600);
Serial.println("Ready"); //Test the serial monitor
}
void loop()
{
for(int i=0;i<10;i++) //Get 10 sample value from the sensor for smooth the value
{
buf[i]=analogRead(SensorPin);
delay(10);
}
for(int i=0;i<9;i++) //sort the analog from small to large
{
for(int j=i+1;j<10;j++)
{
if(buf[i]>buf[j])
{
temp=buf[i];
buf[i]=buf[j];
buf[j]=temp;
}
}
}
avgValue=0;
for(int i=2;i<8;i++) //take the average value of 6 center sample
avgValue+=buf[i];
float phValue=(float)avgValue*5.0/1024/6; //convert the analog into millivolt
phValue=3.5*phValue; //convert the millivolt into pH value
Serial.print(" pH:");
Serial.print(phValue,2);
Serial.println(" ");
digitalWrite(13, HIGH);
delay(800);
digitalWrite(13, LOW);
}
Wässrige Lösung zum Testen des pH-Wertes verschiedener Flüssigkeiten.Zum Testen des oben entworfenen Ph-Meters habe ich 4 verschiedene Lösungen mit unterschiedlichen Ph-Werten verwendet. |
Tabelle 1: PH-Wert der Substanz für den täglichen Gebrauch | |
Substanz | PH-Bereich |
Zitronensaft | 2.2 bis 2.6 |
Essig | 2,5 bis 2,9 |
Apfelsaft | 3.5 |
Kaffee | 5,0 bis 5,5 |
Milch | 6.5 |
Wasser | 7.0 |
Meerwasser | 8.0 |
Seife | 9,0 bis 10,0 |
Bleichen | 13.0 |
Arbeiten am PH-Modul Logo-Rnaenaor V2.0
Die Ausgangsspannung der Elektrode reicht nicht aus, dass jeder Mikrocontroller oder Arduino lesen kann.
Abbildung 1: PH-Modul Logo-Rnaenaor V2.0
Merkmal dieses Boards
- Integrierter Temperatursensor (LM35), mit dem wir die Umgebungstemperatur messen können.
- Spezieller Anschluss für den wasserdichten Sensor DS18B20, damit wir die Temperatur einer Lösung auf Wasserbasis messen können.
- BNC-Anschluss für PH-Elektrode daher einfach anzuschließen und zu trennen.
- Für minimalen Leistungsverlust und Energieeinsparung wird ein P- und N-Kanal-DS-MOSFET verwendet.
- Anstelle eines passiven Spannungsteilers wird eine präzise programmierbare Referenz verwendet, um eine stabile Referenzspannung bereitzustellen.
- Zwei dedizierte Potentiometer, eines für die Offset-Regulierung und das andere für die PH-Grenze.
Vcc = Positiver Stromversorgungsstift
GND = Masse der Stromversorgung
GND = Masse des analogen Sensors
P0 = PH-Ausgangspin (Analog-Pin)
T1 = Ausgangspin der Bordtemperatur. Sensor LM35 (Analog Pin)
T2 = Ausgangsstift von DS18B20 wasserdichte Temp. Sensor (Digital-Pin)
Die Schaltung des Arduino pH-Meters ist in Abbildung 1 dargestellt. +5V von Arduino ist mit Vcc des Moduls verbunden, wobei GND-Pin auf GND liegt.
Sie können jeden analogen Pin außer A4 und A5 verwenden, da wir hier das I2C-Protokoll für LCD verwenden.
LCD ist im I2C-Protokoll mit Arduino verbunden, dh SDA- und SCL-Pin von LCD sind mit SDA (A4) bzw. SCL (A5) von Arduino verbunden.
Laut Herstellerdatenblatt bei PH 7 erzeugt es Nullpotential.
Schritt 1: Schließen Sie die Schaltung wie im Schaltplan dargestellt an.
Schritt 2: Laden Sie das unten angegebene Programm auf Ihr Arduino-Board hoch.
#include <LiquidCrystal_I2C.h> //Library for I2C lcd
LiquidCrystal_I2C lcd(0x27,20,4);
void setup() {
lcd.init(); //initialization the lcd
lcd.backlight();
}
// the loop routine runs over and over again forever:
void loop() {
int sensorValue = analogRead(A0);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0);
// print out the value you read:
lcd.setCursor(0,0);
lcd.print("3.04");
lcd.setCursor(4,0);
lcd.print("V");
delay(500);
}
Schritt 3: Entfernen Sie die Elektrode vom BNC-Stecker und schließen Sie den inneren Stecker mit einem äußeren BNC-Stecker kurz.
d.h. Plus- und Minuspol des BNC-Steckers sind kurzgeschlossen.
BNC-Stecker kurzschließen eben 0V = 7pH
Schritt 4: Stellen Sie das Offset-Kalibrierungs-Potentiometer (näher am BNC-Anschluss) ein, bis 2,5 V erreicht werden.
Schritt 5: Tauchen Sie die Elektrode in ähnlicher Weise in eine Standardpufferlösung von Phosphat mit einem pH-Wert von 6,86 (bei einer Temperatur von 25 °C) ein, schütteln Sie sie vorsichtig und notieren Sie die entsprechende Spannung .
Mathematik Berechnung erforderlich
Die von Arduino gelesene Spannung wird nun in PH umgewandelt, indem die Gleichung der geraden Verbindung verwendet wird, dh Y = mX + C.
Zur Berechnung von m und C hatten wir die Spannungsmessung bei zwei verschiedenen pH-Lösungen vorgenommen.
Beim Testen im Best Engineering Projects Lab haben wir eine entsprechende Lektüre gefunden
Spannung bei pH 6,86 = 2,54 V
Spannung bei pH 4,01 = 3,04 V
Formel für Steigung: .
Sei der X-Parameter die Spannung und der Y-Parameter der PH-Wert.
Somit ist X 2 = 3,04, X 1 = 2,54 V, Y 2 = 4,01, Y 1 = 6,86
Setzen Sie diese Werte nun in eine Gleichung ein
Daher m = -5,7
Setzen Sie nun den Wert der Steigung (m) in die Gleichung Y = mX + C mit dem Wert von X = 2,54 und Y = 6,86 ein.
C = Y – mX = 6,86 – (-5,7) x 2,54
Daher ist C = 21,34Softwarecode für Arduino PH-Meter
Software ist in der Programmiersprache Arduino geschrieben und mit Arduino IDE kompiliert.
Abbildung 6: Autor-Prototyp des Arduino PP Meter
Hinweis:
#include <math.h> ist nicht erforderlich, da es standardmäßig bereits enthalten ist, aber hier für die Demo (Arbeiten von Fabs) schließen wir es ein.
Die Verwendung und Nichtverwendung dieser Bibliothek wirkt sich also nicht auf den Code aus.
Video machen Teil 1:
Nachnavigation
5 Gedanken zu „Arduino PH-Meter mit PH-Sensor“
-
T
Hallo,
Ich arbeite mit diesem Sensor, kann aber nicht auf 2,5 V kalibrieren, wie in den Schritten 3 und 4 erwähnt. Die niedrigste Spannung, die ich erreichen kann, beträgt 2,6 V. Wenn keine Sonde angeschlossen ist, beträgt die Spannung ~0,7 V und kann bis zu 2 V variieren, ist aber inkonsistent. Der LM35-Temperaturmesswert ist ebenfalls sehr inkonsistent und zeigt einen hohen Wert an.
Sie fragen sich, ob Sie Vorschläge haben?
-
Da die maximale Spannung, die Arduino messen kann, 5 V beträgt, musste ich auf 2,5 V kalibrieren.
Wenn die Spannung weniger als 2,5 V beträgt, ist die Lösung basisch, und wenn die Spannung größer als 2,5 V ist, ist die Lösung sauer.
Sie können diese Spannung (2,6 V) in der Berechnung anstelle von 2,5 V verwenden.
Für einen stabilen Messwert von LM35 lesen Sie bitte den Artikel:
LM35: So erhalten Sie einen stabilen Temperaturmesswert
-
-
T
Danke für die Antwort. Ich werde deine Vorschläge ausprobieren.
-
uri ben-joya
Fehler in Zeile 68 – float phAvg = temTot/10;
Sollte geschrieben werden - float phAvg = phTot/10;
https://www.youtube.com/watch?v=zUEl3Y3yKL4
DIY IoT Water pH Meter using pH Sensor & ESP32
https://www.youtube.com/watch?v=nsqEcekJ8-E
Arduino Project: pH Sensor Working, application & Calibration "Water quality Monitoring"
https://www.youtube.com/watch?v=dfoH5iPWkwo
How to Build a pH Meter using Arduino
https://www.youtube.com/watch?v=JalHLxhPv_E
pH Senor Arduino Interfacing Tutorial | Working, Calibration Method & Code
https://www.youtube.com/watch?v=eCxrU_tfb9w
Measuring pH with an Arduino and pH Sensor – Arduino Tutorial
https://www.seeedstudio.com/blog/2020/05/14/measuring-ph-with-an-arduino-and-ph-sensor-arduino-tutorial/
pH Meter Arduino, pH Meter Calibration, DIYMORE pH Sensor Arduino Code
https://www.electroniclinic.com/ph-meter-arduino-ph-meter-calibration-diymore-ph-sensor-arduino-code/
pH Meter using Arduino Uno and LCD Display
https://www.youtube.com/watch?v=NlnJpreJY9g
Gravity: Analog pH Sensor / Meter Pro Kit For Arduino € 52,50
• Messbereich: 0-14PH
• Genauigkeit: ± 0.1pH (25 ° C)
Beschreibung
Beschreibung Gravity: Analoger pH-Sensor / Messgerät-Kit V2 / SEN0161-V2
Mit diesem Produkt in Kombination mit beispielsweise einem Arduino und der Softwarebibliothek können Sie schnell ein pH-Messgerät herstellen.
Der pH-Wert ist ein Wert, der den Säuregehalt oder die Alkalität der Lösung misst.
2. Die Signalumwandlungskarte kann nicht direkt auf eine nasse oder Halbleiteroberfläche gelegt werden.
3. Die empfindliche Glasluftblase im Kopf der pH-Sonde sollte den Kontakt mit dem harten Material vermeiden.
4. Trennen Sie nach Abschluss der Messung die pH-Sonde von der Signalumwandlungsplatte.
Merkmale Analoger pH-Sensor / Messgerät-Kit V2
- 3.3 ~ 5.5 V breiter Spannungseingang
- Hardware gefiltertes Ausgangssignal, geringer Jitter
- Schwerkraftanschluss und BNC-Anschluss, Plug and Play, kein Schweißen
- Die Softwarebibliothek unterstützt die Zweipunktkalibrierung und identifiziert automatisch die Standardpufferlösung
- Einheitliche Größe und Stecker, nützlich für die Konstruktion mechanischer Strukturen
Technische Daten Analoger pH-Sensor / Messgerät-Kit V2
Signalumwandlungskarte (Sender) V2
- Versorgungsspannung: 3.3 ~ 5.5V
- Ausgangsspannung: 0 ~ 3.0V
- Sondenanschluss: BNC
- Signalanschluss: PH2.0-3P
- Messgenauigkeit: ± 0,1 @ 25 ℃
- Größe: 42 mm * 32 mm / 1,66 * 1,26 Zoll
pH-Sonde
- Sondentyp: Laborqualität
- Erfassungsbereich: 0 ~ 14
- Temperaturbereich: 5 ~ 60 ° C.
- Nullpunkt: 7 ± 0,5
- Reaktionszeit: <2min
- Innenwiderstand: <250 MΩ
- Sondenlebensdauer: 6 Monate (abhängig von der Verwendungshäufigkeit)
- Kabellänge: 100cm
Dokumente
Das Kit enthält
- pH-Sonde (Laborqualität) x1
- pH-Signalumwandlungskarte x1
- Analoges Schwerkraftsensorkabel x1
- pH-Standardpufferlösung 4,0 x2
- pH-Standardpufferlösung 7,0 x2
- Wasserdichte Dichtung x2
- Schraubverschluss für BNC-Stecker x1
- M3 * 10 Nylonsäule x4
- M3 * 5 Schrauben x8
DFRobot PH_meter_SKU__SEN0161_
https://www.dfrobot.com/category-104.html
https://wiki.dfrobot.com/PH_meter_SKU__SEN0161_
Q&A Some general Arduino Problems/FAQ/Tips
A For any questions, advice or cool ideas to share, please visit the DFRobot Forum
https://www.dfrobot.com/forum/
Schematic pH-Meter V1.0.SCH
PCB Design layout
Arduino Sample Code
https://www.dfrobot.com/wiki/index.php/Gravity:_Analog_pH_Sensor/Meter_Kit_V2_SKU:SEN0161-V2
Gravity: Analog pH Sensor / Meter Kit For Arduino
https://www.dfrobot.com/product-1025.html
/* # This sample code is used to test the pH meter V1.0. # Editor : YouYou # Ver : 1.0 # Product: analog pH meter # SKU : SEN0161*/#define SensorPin A0 //pH meter Analog output to Arduino Analog Input 0#define Offset 0.00 //deviation compensate#define LED 13#define samplingInterval 20#define printInterval 800#define ArrayLenth 40 //times of collectionint pHArray[ArrayLenth]; //Store the average value of the sensor feedbackint pHArrayIndex=0;void setup(void){ pinMode(LED,OUTPUT); Serial.begin(9600); Serial.println("pH meter experiment!"); //Test the serial monitor}void loop(void){ static unsigned long samplingTime = millis(); static unsigned long printTime = millis(); static float pHValue,voltage; if(millis()-samplingTime > samplingInterval) { pHArray[pHArrayIndex++]=analogRead(SensorPin); if(pHArrayIndex==ArrayLenth)pHArrayIndex=0; voltage = avergearray(pHArray, ArrayLenth)*5.0/1024; pHValue = 3.5*voltage+Offset; samplingTime=millis(); } if(millis() - printTime > printInterval) //Every 800 milliseconds, print a numerical, convert the state of the LED indicator { Serial.print("Voltage:"); Serial.print(voltage,2); Serial.print(" pH value: "); Serial.println(pHValue,2); digitalWrite(LED,digitalRead(LED)^1); printTime=millis(); }}double avergearray(int* arr, int number){ int i; int max,min; double avg; long amount=0; if(number<=0){ Serial.println("Error number for the array to avraging!/n"); return 0; } if(number<5){ //less than 5, calculated directly statistics for(i=0;i<number;i++){ amount+=arr[i]; } avg = amount/number; return avg; }else{ if(arr[0]<arr[1]){ min = arr[0];max=arr[1]; } else{ min=arr[1];max=arr[0]; } for(i=2;i<number;i++){ if(arr[i]<min){ amount+=min; //arr<min min=arr[i]; }else { if(arr[i]>max){ amount+=max; //arr>max max=arr[i]; }else{ amount+=arr[i]; //min<=arr<=max } }//if }//for avg = (double)amount/(number-2); }//if return avg;}
# This sample code is used to test the pH meter V1.0.
Quelle:
https://www.robotshop.com/de/de/analoges-ph-meter-kit.html
https://www.conrad.de/de/p/dfrobot-gravity-analog-ph-sensor-meter-kit-for-arduino-802236884.html
ENDE