Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino pH-Meter

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Analoger pH-Sensor Atlas Scientific Gravity™
× 1
Atlas Scientific pH-Sonde für Verbraucher
× 1
20x4 LCD-Modul
× 1
158x90x60mm Gehäuse
× 1
Mini-Steckbrett
× 1
Widerstand 220 Ohm
× 1
Widerstand 1k Ohm
× 1
11-mm-Abstandshalter und Schrauben (im Lieferumfang des pH-Sensors enthalten)
× 4
Überbrückungskabel
× 1
Acrylplatte (Plexiglas)
× 1

Notwendige Werkzeuge und Maschinen

Bohrer, Bohrer, Trockenbaufräser, Feilen, Schraubendreher, Tischschraubstock, Bandsäge, Klebepistole und Klebestift, Lötkolben und Lötzinn, digitaler Messschieber, Lineal

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

In diesem Projekt werden wir ein Benchtop-pH-Meter mit dem analogen pH-Schaltkreis Gravity und der Sonde von Atlas Scientific und einem Arduino Uno herstellen. Die Messwerte werden auf einem Flüssigkristalldisplay (LCD) angezeigt.

Hinweis:

- Dieses Messgerät wurde auf einem Windows-Computer entwickelt. Es wurde nicht auf einem Mac getestet.

- Das Gehäuse ist nicht wasserdicht.

Schritt 1:Gehäuse vorbereiten

Sicherheit :Denken Sie daran, beim Umgang mit Werkzeugen/Maschinen vorsichtig zu sein und geeignete Schutzausrüstung wie Schutzbrillen, Handschuhe und Atemschutzgeräte zu tragen.

Das verwendete Gehäuse ist ein ABS-Kunststoffgehäuse. Es muss für das pH-Meter modifiziert werden.

Öffnung für das LCD ausschneiden

a) Das LCD befindet sich im oberen Teil (Abdeckung) des Gehäuses. Zentrieren Sie ein Rechteck von 98 x 40 mm auf der Abdeckung.

b) Setzen Sie das Teil in den Schraubstock und bohren Sie ein 3,2 mm (1/8") Vorloch in das markierte Rechteck.

c) Verwenden Sie dieses Pilotloch als Startpunkt für den 3,2 mm (1/8")-Trockenbau-Schneidbohrer. Da dies eine kleine Arbeit ist, verwenden wir den Bohrer auf der Handbohrmaschine und nicht auf einer Trockenbau-Schneidemaschine. Arbeiten Sie an der Innenseite des Rechteck anstelle der Linien, da es mit diesem Bit auf dem Bohrer etwas schwierig sein kann, gerade zu schneiden.

d) Als nächstes verwenden Sie eine Handfeile, um das überschüssige Material zu entfernen und das Rechteck auf die erforderliche Größe zu formen.

Öffnungen für BNC-Anschluss und Arduino-Anschlüsse schneiden

Die Öffnungen für den BNC-Anschluss und die Arduino-Anschlüsse befinden sich an der Seite des unteren Teils des Gehäuses.

a) Markieren Sie mit den unten angegebenen Maßen den Mittelpunkt des Kreises und die Umrisse für die beiden Rechtecke.

b) Legen Sie das Stück in den Schraubstock und schneiden Sie die Öffnungen. Die kreisförmige Öffnung wird mit Bohrern hergestellt. Die rechteckigen werden nach einem ähnlichen Verfahren hergestellt, das zum Herstellen der Öffnung für das LCD verwendet wird.

Ausstatten Sie die Grundplatte, um Komponenten zu montieren

Die Grundplatte wird verwendet, um den Arduino, den pH-Sensor und das Mini-Steckbrett zu montieren. Es wird eine 3,2 mm dicke Acrylplatte verwendet.

a) Schneiden Sie die Acrylplatte mit einer Bandsäge auf 135 x 62,5 mm zu.

b) Markieren Sie die Positionen für die vier Löcher wie unten gezeigt. Bohren Sie Löcher mit einem Durchmesser von 2,38 mm (3/32"). Senken Sie die Löcher auf einer Seite der Platte auf eine Tiefe von 3 mm und einen Durchmesser von 4,4 mm (11/64") ab. Dies ist notwendig, um beim Einsetzen der Schrauben zum Halten der Abstandshalter eine ebene Unterseite zu erhalten.

c) Befestigen Sie die 11-mm-Abstandshalter mit den mitgelieferten Schrauben. Der pH-Sensor wird mit 4 Abstandshaltern und Schrauben geliefert. Verwenden Sie zwei davon für das Arduino.

Schritt 2:Elektronik im Gehäuse installieren

a) Setzen Sie die Grundplatte in den unteren Teil des Gehäuses ein. Mit Schrauben oder Heißkleber in Position halten.

b) Montieren Sie den pH-Sensor auf der Grundplatte. Mit Schrauben an den Abstandshaltern befestigen.

c) Montieren Sie das Arduino Uno auf die Grundplatte. Mit Schrauben an den Abstandshaltern befestigen.

d) Fügen Sie das Mini-Steckbrett auf die Grundplatte.

e) Löten Sie die Header-Pins an das LCD (Pins werden mitgeliefert). Setzen Sie das LCD in den oberen Teil des Gehäuses ein und verwenden Sie etwas Heißkleber, um den Bildschirm an Ort und Stelle zu halten.

Schritt 3:Elektronik miteinander verbinden

Verdrahten Sie die Komponenten sind im obigen Schema dargestellt.

Verwenden Sie das Mini-Steckbrett für die 1kΩ und 220Ω und zum Verteilen der 5V- und Massestifte des Arduino.

Die beiden Widerstände werden verwendet, um den Bildschirmkontrast einzustellen.

Datenblätter

Schwerkraft-pH-Sensor, pH-Sonde

Schritt 4:Fertigstellen der Montage

Nach Abschluss der Verkabelung:

a) Setzen Sie den oberen und unteren Teil des Gehäuses mit den mitgelieferten Schrauben zusammen.

b) Schließen Sie die Sonde an den BNC-Anschluss an.

Schritt 5:Code auf Arduino Uno hochladen

Der Code für dieses Projekt verwendet angepasste Bibliotheken und Header-Dateien. Sie müssen sie zu Ihrer Arduino-IDE hinzufügen, um den Code zu verwenden. Die folgenden Schritte umfassen den Vorgang, diese Ergänzung zur IDE vorzunehmen.

a) Verbinden Sie das Arduino mit Ihrem Computer und öffnen Sie die IDE. Die IDE kann von diesem LINK heruntergeladen werden, wenn Sie sie nicht haben. Gehen Sie zu Ttools -> Board -> Wählen Sie Arduino/Genuino Uno . Gehen Sie zu Tools -> Port -> wählen Sie den Port wo das Arduino angeschlossen ist.

b) Liquid Crystal Display-Bibliothek hinzufügen:Gehen Sie in der IDE zu Skizze -> Bibliothek einschließen -> Bibliotheken verwalten . Geben Sie in der Suchleiste des Bibliotheksmanagers "liquidcrystal" ein. Suchen Sie nach dem Paket mit dem Titel "LiquidCrystal Built-in by Arduino, Adafruit". Es kann installiert sein oder nicht. Falls nicht, wählen Sie das Paket aus und klicken Sie auf installieren .

c) Atlas Gravity-Sensorbibliothek hinzufügen:Laden Sie die ZIP-Datei vom folgenden LINK herunter. Die Datei wird als "Atlas_gravity.zip" gespeichert. Gehen Sie in der IDE zu Skizze -> Bibliothek einschließen -> ZIP-Bibliothek hinzufügen . Suchen Sie die Datei "Atlas_gravity.zip" und wählen Sie sie zum Hinzufügen aus.

d) Als nächstes müssen wir den Code für das pH-Meter hinzufügen. Kopieren Sie den Code aus diesem LINK in das IDE-Arbeitsfeld.

e) Kompilieren Sie den Code und laden Sie ihn auf den Arduino hoch.

f) Die pH-Werte werden dann auf dem LCD angezeigt. Sie können die Messwerte auch auf dem seriellen Monitor anzeigen. Um den seriellen Monitor zu öffnen, gehen Sie zu Tools -> Serial Monitor oder drücken Sie Strg+Umschalt+M auf Ihrer Tastatur. Stellen Sie die Baudrate auf 9600 ein und wählen Sie "Carriage Return".

Schritt 6:pH-Sensor kalibrieren

Hinweis:Wenn Sie ein externes Netzteil für das Arduino verwenden möchten, schließen Sie es vor der Kalibrierung an das Arduino an. Dadurch wird sichergestellt, dass die Referenzpegel richtig eingestellt sind, was bei der korrekten Kalibrierung hilft.

Dieses pH-Meter kann auf Ein-, Zwei- oder Dreipunktkalibrierung kalibriert werden. Standardpufferlösungen (pH 4, 7 und 10) sind erforderlich

Der serielle Monitor wird für den Kalibriervorgang verwendet. Der Benutzer kann die allmähliche Änderung der Messwerte während der Stabilisierung beobachten und die entsprechenden Befehle senden.

Kalibrierdaten werden im EEPROM des Arduino gespeichert.

Kalibrierungsbefehle

Tiefpunkt:cal, 4

Mittelpunkt:cal, 7

Höhepunkt:cal, 10

Klare Kalibrierung:cal, clear

Schritte

a) Entfernen Sie die Einweichflasche und spülen Sie die pH-Sonde ab.

b) Gießen Sie etwas von der pH-4-Lösung in eine Tasse. Stellen Sie sicher, dass genug vorhanden ist, um den Erfassungsbereich der Sonde abzudecken.

c) Legen Sie die Sonde in die Tasse und rühren Sie sie herum, um eingeschlossene Luft zu entfernen. Beobachten Sie die Messwerte auf dem seriellen Monitor. Lassen Sie die Sonde in der Lösung liegen, bis sich die Messwerte stabilisieren (kleine Bewegungen von einem Messwert zum nächsten sind normal)

d) Nachdem sich die Messwerte stabilisiert haben, geben Sie den Befehl cal, 4 . ein in den seriellen Monitor. Die Kalibrierung auf pH 4 ist nun abgeschlossen.

Wiederholen Sie die Schritte a-d für pH7 und pH10. Denken Sie daran, die Sonde zu spülen, wenn Sie mit verschiedenen Pufferlösungen fortfahren.

Was ist mit der Temperaturkompensation?

Der in diesem Projekt verwendete Sensor hat eine Genauigkeit von +/- 0,2%. Das pH-Meter arbeitet innerhalb dieser Genauigkeit im Temperaturbereich von 7 - 46 °C. Außerhalb dieses Bereichs muss das Messgerät für die Temperaturkompensation modifiziert werden. Hinweis:Die pH-Sonde kann einem Bereich von 1 – 60 °C ausgesetzt werden.

Code

  • Arduino pH-Meter-Code
Arduino-pH-Meter-CodeC/C++
/*Nach dem Hochladen den seriellen Monitor öffnen, die Baudrate auf 9600 einstellen und "Carriage Return" anhängen. Der Code ermöglicht es dem Benutzer, pH-Messwerte in Echtzeit zu beobachten und den Sensor zu kalibrieren.Ein-, Zwei- oder Dreipunkt Kalibrierung kann durchgeführt werden.Kalibrierungsbefehle:Tiefpunkt:"cal,4" Mittelpunkt:"cal,7" Höchstpunkt:"cal,10" Clear Calibration:"cal,clear"*/#include "ph_grav. h" //Header-Datei für den Schwerkraft-pH-Sensor von Atlas Scientific#include "LiquidCrystal.h" //Header-Datei für die Flüssigkristallanzeige (lcd)String inputstring =""; //ein String, um eingehende Daten vom PCboolean aufzunehmen input_string_complete =false; //ein Flag, um anzuzeigen, dass wir alle Daten vom PCchar erhalten haben inputstring_array[10]; //ein char-Array, das für das Parsing von Strings benötigt wirdGravity_pH pH =A0; // Weisen Sie den analogen Pin A0 von Arduino der Klasse Gravity_pH zu. Ausgang des pH-Sensors an Pin A0LiquidCrystal pH_lcd (2, 3, 4, 5, 6, 7) anschließen; // eine Variable pH_lcd erstellen und arduino digitale Pins den LCD-Pins zuweisen (2 -> RS, 3 -> E, 4 bis 7 -> D4 bis D7)void setup () { Serial.begin (9600); // serielle Schnittstelle aktivieren pH_lcd.begin (20, 4); // lcd-Schnittstelle starten und LCD-Größe definieren (20 Spalten und 4 Zeilen) pH_lcd.setCursor (0,0); // Cursor auf dem Bildschirm in Spalte 1 platzieren, Zeile 1 pH_lcd.print ("--------------------"); // Zeichen anzeigen pH_lcd.setCursor (0, 3); // Platzieren Sie den Cursor auf dem Bildschirm in Spalte 1, Zeile 4 pH_lcd.print ("--------------------"); // Zeichen anzeigen pH_lcd.setCursor (5, 1); // Cursor auf dem Bildschirm in Spalte 6, Zeile 2 platzieren pH_lcd.print ("pH Reading"); // "pH Reading" anzeigen if (pH.begin()) {Serial.println("Loaded EEPROM");} Serial.println(F("Befehle \"CAL,4\", \"CAL,7\ verwenden ", und \"CAL,10\", um die Schaltung auf diese jeweiligen Werte zu kalibrieren")); Serial.println (F("Verwenden Sie den Befehl \"CAL,CLEAR\", um die Kalibrierung zu löschen")); }void serialEvent () {// wenn der serielle Hardware-Port_0 einen char-Eingabestring empfängt =Serial.readStringUntil (13); // den String lesen, bis wir ein  sehen input_string_complete =true; // Setzen Sie das Flag, das verwendet wird, um zu erkennen, ob wir einen vollständigen String vom PC erhalten haben}void loop () { if (input_string_complete ==true) { //überprüfen, ob Daten empfangen wurden inputstring.toCharArray(inputstring_array, 30); // den String in ein char-Array umwandeln parse_cmd(inputstring_array); // Daten an pars_cmd-Funktion senden input_string_complete =false; // Setzen Sie das Flag zurück, das verwendet wird, um zu erkennen, ob wir einen vollständigen String vom PC erhalten haben inputstring =""; // den String löschen} Serial.println (pH.read_ph ()); // pH-Messwert an seriellen Monitor ausgeben pH_lcd.setCursor (8, 2); // Cursor auf dem Bildschirm in Spalte 9, Zeile 3 platzieren pH_lcd.print (pH.read_ph()); // pH auf LCD ausgeben delay (1000);}void parse_cmd (char * string) { // Zum Aufrufen von Kalibrierfunktionen strupr (string); // Eingabestring in Großbuchstaben umwandeln if (strcmp(string, "CAL,4") ==0) { //Benutzereingabestring mit CAL,4 vergleichen und bei Übereinstimmung fortfahren pH.cal_low(); // Funktion für Tiefpunktkalibrierung aufrufen Serial.println ("LOW CALIBRATED"); } else if (strcmp(string, "CAL,7") ==0) { //Vergleichen Sie die Benutzereingabezeichenfolge mit CAL,7 und wenn sie übereinstimmen, fahren Sie fort pH.cal_mid(); // Funktion zur Mittelpunktkalibrierung aufrufen Serial.println ("MID CALIBRATED"); } else if (strcmp(string, "CAL,10") ==0) { //Vergleichen Sie die Benutzereingabezeichenfolge mit CAL,10 und wenn sie übereinstimmen, fahren Sie fort pH.cal_high(); // Funktion für Highpoint-Kalibrierung aufrufen Serial.println ("HIGH CALIBRATED"); } else if (strcmp(string, "CAL,CLEAR") ==0) { //Vergleichen Sie die Benutzereingabezeichenfolge mit CAL,CLEAR und wenn sie übereinstimmen, fahren Sie fort pH.cal_clear(); // Funktion zum Löschen der Kalibrierung aufrufen Serial.println ( "CALIBRATION CLEARED"); }}

Schaltpläne


Herstellungsprozess

  1. Arduino Spybot
  2. FlickMote
  3. Selbstgemachter Fernseher B-Gone
  4. Hauptuhr
  5. Finde mich
  6. Arduino-Power
  7. Tech-TicTacToe
  8. Arduino-Vierbeiner
  9. Arduino-Joystick
  10. CNC-Maschine