- Απαιτούμενα συστατικά
- Τι είναι η τιμή pH;
- Πώς λειτουργεί ο αναλογικός αισθητήρας pH βαρύτητας;
- Διάγραμμα κυκλώματος μετρητή pH Arduino
- Προγραμματισμός Arduino για μετρητή pH
- Βαθμονόμηση του ηλεκτροδίου pH
- Έλεγχος Arduino pH Tester
Η κλίμακα pH χρησιμοποιείται για τη μέτρηση της οξύτητας και της βασικότητας ενός υγρού. Μπορεί να έχει μετρήσεις που κυμαίνονται από 1-14 όπου 1 δείχνει το πιο όξινο υγρό και 14 δείχνει το πιο βασικό υγρό. Το pH 7 είναι για ουδέτερες ουσίες που δεν είναι ούτε όξινες ούτε βασικές. Τώρα, το pH παίζει πολύ σημαντικό ρόλο στη ζωή μας και χρησιμοποιείται σε διάφορες εφαρμογές. Για παράδειγμα, μπορεί να χρησιμοποιηθεί σε πισίνα για να ελέγξει την ποιότητα του νερού. Ομοίως, η μέτρηση του pH χρησιμοποιείται σε μια μεγάλη ποικιλία εφαρμογών όπως η γεωργία, η επεξεργασία λυμάτων, οι βιομηχανίες, η παρακολούθηση του περιβάλλοντος κ.λπ.
Σε αυτό το έργο, πρόκειται να φτιάξουμε έναν μετρητή pH Arduino και να μάθουμε πώς να μετράμε το pH ενός υγρού διαλύματος χρησιμοποιώντας έναν αισθητήρα βαρύτητας pH και το Arduino. Χρησιμοποιείται LCD 16x2 για την εμφάνιση της τιμής pH στην οθόνη. Θα μάθουμε επίσης πώς να βαθμονομήσουμε τον αισθητήρα pH για να προσδιορίσουμε την ακρίβεια του αισθητήρα. Ας ξεκινήσουμε λοιπόν!
Απαιτούμενα συστατικά
- Arduino Uno
- 16 * 2 αλφαριθμητική LCD
- Μονάδα I2C για LCD
- Αναλογικός αισθητήρας pH βαρύτητας
- Σύνδεση καλωδίων
- Ψωμί
Τι είναι η τιμή pH;
Η μονάδα που χρησιμοποιούμε για τη μέτρηση της οξύτητας μιας ουσίας ονομάζεται pH . Ο όρος «Η» ορίζεται ως το αρνητικό λογότυπο της συγκέντρωσης ιόντων υδρογόνου. Το εύρος του pH μπορεί να έχει τιμές από 0 έως 14. Μια τιμή pH 7 είναι ουδέτερη, καθώς το καθαρό νερό έχει τιμή pH ακριβώς 7. Οι τιμές χαμηλότερες από 7 είναι όξινες και οι τιμές μεγαλύτερες από 7 είναι βασικές ή αλκαλικές.
Πώς λειτουργεί ο αναλογικός αισθητήρας pH βαρύτητας;
Ο αναλογικός αισθητήρας pH έχει σχεδιαστεί για να μετρά την τιμή του pH ενός διαλύματος και να δείχνει την οξύτητα ή την αλκαλικότητα της ουσίας. Χρησιμοποιείται συνήθως σε διάφορες εφαρμογές όπως η γεωργία, η επεξεργασία λυμάτων, οι βιομηχανίες, η παρακολούθηση του περιβάλλοντος κ.λπ. 3.3V οποιουδήποτε πίνακα ελέγχου όπως το Arduino. Το σήμα εξόδου φιλτράρεται με χαμηλό jitter υλικού.
Τεχνικά χαρακτηριστικά:
Ενότητα μετατροπής σήματος:
- Τάση τροφοδοσίας: 3.3 ~ 5.5V
- Συνδετήρας ανιχνευτή BNC
- Υψηλή ακρίβεια: ±0.1@25 ° C
- Εύρος ανίχνευσης: 0 ~ 14
Ηλεκτρόδιο PH:
- Εύρος θερμοκρασίας λειτουργίας: 5 ~ 60 ° C
- Μηδενικό (Ουδέτερο) Σημείο: 7 ± 0,5
- Εύκολη βαθμονόμηση
- Εσωτερική αντίσταση: <250MΩ
Πίνακας μετατροπής σήματος pH:
Περιγραφή καρφίτσας:
Είσοδος V +: 5V DC
G: Καρφίτσα γείωσης
Po: αναλογική έξοδος pH
Do: Έξοδος DC 3,3V
Προς: Έξοδος θερμοκρασίας
Κατασκευή ηλεκτροδίων pH:
Η κατασκευή ενός αισθητήρα pH φαίνεται παραπάνω. Ο αισθητήρας pH μοιάζει με μια ράβδο που είναι συνήθως κατασκευασμένη από γυάλινο υλικό με μια άκρη που ονομάζεται "Γυάλινη μεμβράνη". Αυτή η μεμβράνη γεμίζεται με ρυθμιστικό διάλυμα γνωστού ρΗ (συνήθως ρΗ = 7). Αυτός ο σχεδιασμός ηλεκτροδίων διασφαλίζει ένα περιβάλλον με τη συνεχή σύνδεση των ιόντων Η + στο εσωτερικό της γυάλινης μεμβράνης. Όταν ο ανιχνευτής βυθιστεί στο διάλυμα που πρόκειται να δοκιμαστεί, τα ιόντα υδρογόνου στο διάλυμα δοκιμής αρχίζουν να ανταλλάσσονται με άλλα θετικά φορτισμένα ιόντα στη γυάλινη μεμβράνη, το οποίο δημιουργεί ηλεκτροχημικό δυναμικό κατά μήκος της μεμβράνης που τροφοδοτείται στην ηλεκτρονική μονάδα ενισχυτή που μετρά το δυναμικό μεταξύ των δύο ηλεκτροδίων και το μετατρέπει σε μονάδες pH. Η διαφορά μεταξύ αυτών των δυνατοτήτων καθορίζει την τιμή του pH με βάση την εξίσωση Nernst.
Nernst Εξίσωση:
Η εξίσωση Nernst δίνει μια σχέση μεταξύ του δυναμικού κυττάρου ενός ηλεκτροχημικού στοιχείου, της θερμοκρασίας, του πηλίκου αντίδρασης και του τυπικού δυναμικού κυττάρου. Σε μη τυπικές συνθήκες, η εξίσωση Nernst χρησιμοποιείται για τον υπολογισμό του δυναμικού των κυττάρων σε ένα ηλεκτροχημικό στοιχείο. Η εξίσωση Nernst μπορεί επίσης να χρησιμοποιηθεί για τον υπολογισμό της συνολικής δύναμης ηλεκτροκινητήρα (EMF) για ένα πλήρες ηλεκτροχημικό στοιχείο. Αυτή η εξίσωση χρησιμοποιείται για τον υπολογισμό της τιμής PH μιας λύσης επίσης. Η απόκριση του ηλεκτροδίου γυαλιού διέπεται από την εξίσωση Nernst μπορεί να δοθεί ως:
E = E0 - 2.3 (RT / nF) ln Q Όπου Q = Συντελεστής αντίδρασης E = mV έξοδος από το ηλεκτρόδιο E0 = Μηδενική μετατόπιση για το ηλεκτρόδιο R = Ιδανική σταθερά αερίου = 8,314 J / mol-K T = Θερμοκρασία σε ºK F = Σταθερά Faraday = 95,484,56 C / mol N = Ιωνική φόρτιση
Διάγραμμα κυκλώματος μετρητή pH Arduino
Το διάγραμμα κυκλώματος για αυτό το έργο μετρητή pH Arduino δίνεται παρακάτω:
Σύνδεση του πίνακα μετατροπής σήματος pH με το Arduino:
Η σύνδεση μεταξύ της πλακέτας μετατροπής σήματος Arduino και PH φαίνεται στον παρακάτω πίνακα.
Arduino |
Πίνακας αισθητήρα PH |
5V |
V + |
GND |
σολ |
Α0 |
Ταχυδρομείο |
Προγραμματισμός Arduino για μετρητή pH
Μετά από επιτυχημένες συνδέσεις υλικού, τώρα ήρθε η ώρα για τον προγραμματισμό του Arduino. Ο πλήρης κωδικός για αυτόν τον μετρητή pH με το Arduino δίνεται στο κάτω μέρος αυτού του σεμιναρίου. Η σταδιακή εξήγηση του έργου δίνεται παρακάτω.
Το πρώτο πράγμα που πρέπει να κάνετε στο πρόγραμμα είναι να συμπεριλάβετε όλες τις απαιτούμενες βιβλιοθήκες. Εδώ στην περίπτωσή μου, έχω συμπεριλάβει τη βιβλιοθήκη " LiquidCrystal_I2C.h" για τη χρήση της διεπαφής I2C μιας οθόνης LCD και " Wire.h " για τη χρήση της λειτουργικότητας I2C στο Arduino.
#περιλαμβάνω
Στη συνέχεια, ορίζεται η τιμή βαθμονόμησης, η οποία μπορεί να τροποποιηθεί ανάλογα με τις ανάγκες για να ληφθεί μια ακριβής τιμή pH των διαλυμάτων. (Αυτό εξηγείται αργότερα στο άρθρο)
calibration_value = 21,34;
Μέσα στην εγκατάσταση (), οι εντολές LCD γράφονται για την εμφάνιση ενός μηνύματος καλωσορίσματος στην οθόνη LCD.
lcd.init (); lcd.begin (16, 2); lcd.backlight (); lcd.setCursor (0, 0); lcd.print ("Καλώς ήλθατε"); lcd.setCursor (0, 1); lcd.print ("Circuit Digest"); καθυστέρηση (2000); lcd.clear ();
Inside loop (), διαβάστε 10 δείγματα αναλογικών τιμών και αποθηκεύστε τις σε έναν πίνακα. Αυτό απαιτείται για την εξομάλυνση της τιμής εξόδου.
για (int i = 0; i <10; i ++) {buffer_arr = analogRead (A0); καθυστέρηση (30) }
Στη συνέχεια, ταξινομήστε τις αναλογικές τιμές που λαμβάνονται με αύξουσα σειρά. Αυτό απαιτείται επειδή πρέπει να υπολογίσουμε τον τρέχοντα μέσο όρο των δειγμάτων στο μεταγενέστερο στάδιο.
για (int i = 0; i <9; i ++) {για (int j = i + 1; j <10; j ++) {if (buffer_arr> buffer_arr) {temp = buffer_arr; buffer_arr = buffer_arr; buffer_arr = temp; }}}
Τέλος, υπολογίστε τον μέσο όρο των 6 κεντρικών αναλογικών τιμών δείγματος. Στη συνέχεια, αυτή η μέση τιμή μετατρέπεται σε πραγματική τιμή pH και εκτυπώνεται σε οθόνη LCD.
για (int i = 2; i <8; i ++) avgval + = buffer_arr; float volt = (float) avgval * 5.0 / 1024/6; float ph_act = -5.70 * volt + βαθμονόμηση_αξία; lcd.setCursor (0, 0); lcd.print ("pH Val:"); lcd.setCursor (8, 0); lcd.print (ph_act); καθυστέρηση (1000) }
Βαθμονόμηση του ηλεκτροδίου pH
Η βαθμονόμηση του ηλεκτροδίου PH είναι πολύ σημαντική σε αυτό το έργο. Για αυτό, πρέπει να έχουμε μια λύση της οποίας η αξία μας είναι γνωστή. Αυτό μπορεί να ληφθεί ως λύση αναφοράς για τη βαθμονόμηση του αισθητήρα.
Ας υποθέσουμε, έχουμε μια λύση της οποίας η τιμή PH είναι 7 (αποσταγμένο νερό). Τώρα, όταν το ηλεκτρόδιο βυθιστεί στο διάλυμα αναφοράς και η τιμή PH που εμφανίζεται στην οθόνη LCD είναι 6,5. Στη συνέχεια, για να το βαθμονομήσετε, απλώς προσθέστε 7-6,5 = 0,5 στη μεταβλητή βαθμονόμησης "calibration_value" στον κώδικα. δηλ. κάντε την τιμή 21,34 + 0,5 = 21,84 . Αφού πραγματοποιήσετε αυτές τις αλλαγές, ανεβάστε ξανά τον κωδικό στο Arduino και ελέγξτε ξανά το pH βυθίζοντας το ηλεκτρόδιο στο διάλυμα αναφοράς. Τώρα LCD θα δείξει τη σωστή τιμή pH δηλαδή 7 (Μικρή αποκλίσεις είναι σημαντικές) . Ομοίως, ρυθμίστε αυτήν τη μεταβλητή για να βαθμονομήσετε τον αισθητήρα. Στη συνέχεια, ελέγξτε για όλες τις άλλες λύσεις για να λάβετε την ακριβή έξοδο.
Έλεγχος Arduino pH Tester
Δοκιμάσαμε αυτόν τον μετρητή pH Arduino βυθίζοντας το σε καθαρό νερό και νερό λεμονιού, μπορείτε να δείτε το αποτέλεσμα παρακάτω.
Καθαρό νερό:
Νερό λεμονιού:
Έτσι μπορούμε να δημιουργήσουμε έναν αισθητήρα pH χρησιμοποιώντας το Arduino και να τον χρησιμοποιήσουμε για να ελέγξουμε το επίπεδο pH διαφόρων υγρών.
Ο πλήρης κώδικας και το βίντεο επίδειξης δίνονται παρακάτω.