- Необхідні компоненти
- Що таке значення pH?
- Як працює датчик гравітаційного аналога рН?
- Принципова діаграма Arduino pH
- Програмування Arduino на рН-метр
- Калібрування рН-електрода
- Тестування тесту рН Arduino
Шкала рН використовується для вимірювання кислотності та основного стану рідини. Показання можуть мати значення від 1 до 14, де 1 показує найбільш кислу рідину, а 14 - найосновнішу рідину. 7 рН - для нейтральних речовин, які не є ні кислими, ні основними. Зараз рН відіграє дуже важливу роль у нашому житті, і його використовують у різних сферах застосування. Наприклад, його можна використовувати в басейні для перевірки якості води. Подібним чином, вимірювання рН використовується в широкому спектрі застосувань, таких як сільське господарство, очищення стічних вод, промисловість, моніторинг довкілля тощо
У цьому проекті ми збираємося зробити вимірювач рН Arduino та навчитися вимірювати рН рідкого розчину за допомогою гравітаційного датчика рН та Arduino. РК-дисплей 16x2 використовується для відображення на екрані значення pH. Ми також дізнаємося, як відкалібрувати датчик рН для визначення точності датчика. Тож давайте почнемо!
Необхідні компоненти
- Arduino Uno
- 16 * 2 буквено-цифровий РК-дисплей
- Модуль I2C для РК-дисплея
- Гравітаційний аналоговий датчик рН
- Підключення проводів
- Макет
Що таке значення pH?
Одиниця вимірювання кислотності речовини, яку ми використовуємо, називається рН . Термін "Н" визначається як негативний журнал концентрації іонів водню. Діапазон рН може мати значення від 0 до 14. Значення рН 7 є нейтральним, оскільки чиста вода має значення рН рівно 7. Значення нижче 7 є кислими, а значення більше 7 - основними або лужними.
Як працює датчик гравітаційного аналога рН?
Аналоговий датчик рН призначений для вимірювання значення рН розчину та показу кислотності або лужності речовини. Він зазвичай використовується в різних додатках, таких як сільське господарство, очищення стічних вод, промисловість, моніторинг навколишнього середовища тощо. Модуль має вбудований мікросхемний регулятор напруги, який підтримує широке джерело напруги 3,3-5,5 В постійного струму, сумісний з 5 В та 3,3 В будь-якої плати управління, як Arduino. Вихідний сигнал фільтрується за допомогою апаратного низького джиттера.
Технічні характеристики:
Модуль перетворення сигналу:
- Напруга живлення: 3,3 ~ 5,5 В
- З'єднувач зонда BNC
- Висока точність: ± 0,1 @ 25 ° C
- Діапазон виявлення: 0 ~ 14
PH електрод:
- Діапазон робочих температур: 5 ~ 60 ° C
- Нульова (нейтральна) точка: 7 ± 0,5
- Легке калібрування
- Внутрішній опір: <250MΩ
Дошка перетворення сигналу pH:
Опис штифта:
V +: 5 В постійного струму
G: штифт заземлення
Po: аналоговий вихід рН
Виконати: вихід 3,3 В постійного струму
До: Вихід температури
Конструкція рН-електрода:
Конструкція датчика рН показана вище. Датчик рН виглядає як стрижень, як правило, виготовлені зі скляного матеріалу, що має наконечник під назвою «Скляна мембрана». Ця мембрана заповнена буферним розчином відомого рН (зазвичай рН = 7). Ця конструкція електродів забезпечує середовище з постійним зв'язуванням іонів Н + на внутрішній стороні скляної мембрани. Коли зонд занурюють у досліджуваний розчин, іони водню в досліджуваному розчині починають обмінюватися іншими позитивно зарядженими іонами на скляній мембрані, що створює електрохімічний потенціал через мембрану, яка подається на електронний підсилювальний модуль, який вимірює потенціал між обома електродами і перетворює його в одиниці рН. Різниця між цими потенціалами визначає значення рН на основі рівняння Нернста.
Рівняння Нернста:
Рівняння Нернста дає зв'язок між клітинним потенціалом електрохімічної комірки, температурою, коефіцієнтом реакції та стандартним потенціалом клітини. У нестандартних умовах рівняння Нернста використовується для розрахунку потенціалів клітин в електрохімічній комірці. Рівняння Нернста також може бути використано для розрахунку загальної електрорушійної сили (ЕРС) для повної електрохімічної комірки. Це рівняння також використовується для обчислення значення РН розчину. Реакція скляного електрода, регульована рівнянням Нернста, може бути представлена як:
E = E0 - 2,3 (RT / nF) ln Q Де Q = Коефіцієнт реакції E = мВ, що виводиться з електрода E0 = Зсув нуля для електрода R = Постійна ідеального газу = 8,314 Дж / моль-K T = Температура в ºK F = Постійна Фарадея = 95 484,56 С / моль N = Іонний заряд
Принципова діаграма Arduino pH
Схема для цього проекту pH-метра Arduino наведена нижче:
З'єднання плати перетворення сигналу рН з Arduino:
Зв'язок між Arduino і платою перетворення сигналів PH показано в таблиці нижче.
Ардуїно |
Плата датчика PH |
5 В |
V + |
GND |
G |
A0 |
По |
Програмування Arduino на рН-метр
Після успішних апаратних з’єднань настав час програмування Arduino. Повний код цього рН-метра з Arduino наведено в нижній частині цього посібника. Покрокове пояснення проекту подано нижче.
Перше, що слід зробити в програмі, - це включити всі необхідні бібліотеки. Тут у своєму випадку я включив бібліотеку “ LiquidCrystal_I2C.h” для використання інтерфейсу I2C РК-дисплея та “ Wire.h ” для використання функціональності I2C на Arduino.
#включати
Далі визначається калібрувальне значення, яке може бути змінено за необхідності для отримання точного значення рН розчинів. (Це пояснюється далі в статті)
float calibration_value = 21,34;
Усередині налаштування () для написання вітального повідомлення на РК-дисплеї написані команди РК-дисплея.
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 ();
Усередині циклу () прочитайте 10 зразків аналогових значень і збережіть їх у масиві. Це потрібно для згладжування вихідного значення.
for (int i = 0; i <10; i ++) {buffer_arr = analogRead (A0); затримка (30); }
Потім відсортуйте аналогові значення, отримані у порядку зростання. Це потрібно, оскільки нам потрібно обчислити поточне середнє значення зразків на пізнішому етапі.
for (int i = 0; i <9; i ++) {for (int j = i + 1; j <10; j ++) {if (buffer_arr> buffer_arr) {temp = buffer_arr; buffer_arr = buffer_arr; buffer_arr = temp; }}}
Нарешті, обчисліть середнє значення 6-ти центральної вибірки Аналогові значення. Потім це середнє значення перетворюється у фактичне значення рН та друкується на РК-дисплеї.
для (int i = 2; i <8; i ++) avgval + = buffer_arr; поплавковий вольт = (поплавковий) avgval * 5,0 / 1024/6; float ph_act = -5.70 * вольт + калібрувальна_значення; lcd.setCursor (0, 0); lcd.print ("pH Val:"); lcd.setCursor (8, 0); lcd.print (ph_act); затримка (1000); }
Калібрування рН-електрода
Калібрування PH-електрода є дуже важливим у цьому проекті. Для цього нам потрібно мати рішення, значення якого нам відоме. Це можна прийняти як еталонне рішення для калібрування датчика.
Припустимо, ми маємо розчин, значення PH якого дорівнює 7 (дистильована вода). Тепер, коли електрод занурений у еталонний розчин, а значення РН, що відображається на РК-дисплеї, становить 6,5. Потім для його калібрування просто додайте 7-6,5 = 0,5 до калібрувальної змінної “ calibration_value” у коді. тобто зробіть значення 21,34 + 0,5 = 21,84 . Зробивши ці зміни, знову завантажте код в Arduino і перевірте pH, зануривши електрод у контрольний розчин. Тепер РК-дисплей повинен показувати правильне значення рН, тобто 7 (незначні коливання значні) . Аналогічно відрегулюйте цю змінну для калібрування датчика. Потім перевірте всі інші рішення, щоб отримати точний результат.
Тестування тесту рН Arduino
Ми спробували цей рН-метр Arduino, зануривши його у чисту воду та лимонну воду, результат ви можете побачити нижче.
Чиста вода:
Лимонна вода:
Ось як ми можемо побудувати датчик рН за допомогою Arduino і використовувати його для перевірки рівня рН різних рідин.
Повний код та демонстраційне відео наведено нижче.