- Необходими компоненти
- Какво е рН стойност?
- Как работи гравитационният аналогов pH сензор?
- Схема на ардуино рН метър
- Програмиране на Arduino за рН метър
- Калибриране на pH електрод
- Тестване на Arduino pH тестер
Скалата на рН се използва за измерване на киселинността и основността на течността. Може да има показания, вариращи от 1-14, където 1 показва най-киселинната течност и 14 показва най-основната течност. 7 pH е за неутрални вещества, които не са нито киселинни, нито основни. Сега рН играе много важна роля в живота ни и се използва в различни приложения. Например, може да се използва в плувен басейн за проверка на качеството на водата. По подобен начин измерването на pH се използва в голямо разнообразие от приложения като земеделие, пречистване на отпадъчни води, промишленост, мониторинг на околната среда и др.
В този проект ще направим Arduino pH Meter и ще се научим как да измерваме pH на течен разтвор с помощта на гравитационен pH сензор и Arduino. LCD 16x2 се използва за показване на стойността на pH на екрана. Също така ще научим как да калибрираме pH сензора, за да определим точността на сензора. Така че нека да започнем!
Необходими компоненти
- Arduino Uno
- 16 * 2 буквено-цифров LCD
- I2C модул за LCD
- Gravity Analog pH сензор
- Свързващи проводници
- Макет
Какво е рН стойност?
Единицата, която използваме за измерване на киселинността на дадено вещество, се нарича pH . Терминът „Н“ се дефинира като отрицателен логаритъм на концентрацията на водородни йони. Диапазонът на рН може да има стойности от 0 до 14. Стойността на рН 7 е неутрална, тъй като чистата вода има рН стойност точно 7. Стойностите по-ниски от 7 са киселинни и стойности по-големи от 7 са основни или алкални.
Как работи гравитационният аналогов pH сензор?
Аналоговият pH сензор е предназначен да измерва стойността на pH на разтвора и да показва киселинността или алкалността на веществото. Често се използва в различни приложения като селско стопанство, пречистване на отпадъчни води, промишленост, мониторинг на околната среда и др. Модулът има вграден чип за регулатор на напрежение, който поддържа широкото захранване от 3.3-5.5V DC, което е съвместимо с 5V 3.3V на всяка контролна платка като Arduino. Изходният сигнал се филтрира от хардуерно ниско трептене.
Технически характеристики:
Модул за преобразуване на сигнала:
- Захранващо напрежение: 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 аналогов изход
Направете: 3.3V DC изход
До: Изходна температура
Конструкция на pH електрод:
Конструкцията на рН сензор е показана по-горе. На рН сензор изглежда като прът, обикновено направена от стъкло материал, който има връх, наречен "стъклена мембрана". Тази мембрана се пълни с буферен разтвор с известно рН (обикновено рН = 7). Този дизайн на електродите осигурява среда с постоянно свързване на H + йони от вътрешната страна на стъклената мембрана. Когато сондата се потопи в тествания разтвор, водородните йони в тествания разтвор започват да се обменят с други положително заредени йони върху стъклената мембрана, което създава електрохимичен потенциал през мембраната, който се подава към електронния усилващ модул, който измерва потенциала между двата електрода и го преобразува в рН единици. Разликата между тези потенциали определя стойността на рН въз основа на уравнението на Нернст.
Уравнение на Нернст:
Уравнението на Нернст дава връзка между клетъчния потенциал на електрохимична клетка, температура, коефициент на реакция и стандартния клетъчен потенциал. В нестандартни условия уравнението на Нернст се използва за изчисляване на клетъчните потенциали в електрохимична клетка. Уравнението на Нернст може също да се използва за изчисляване на общата електромоторна сила (ЕМП) за пълна електрохимична клетка. Това уравнение се използва и за изчисляване на стойността на PH на решение. Отговорът на стъкления електрод се управлява от уравнението на Нернст и може да бъде даден като:
E = E0 - 2.3 (RT / nF) ln Q Къде Q = Коефициент на реакция E = mV изход от електрода E0 = Нулево отместване за електрода R = Идеална газова константа = 8.314 J / mol-K T = Температура в ºK F = Константа на Фарадей = 95 484,56 C / mol N = йонен заряд
Схема на ардуино рН метър
Схема на този проект за рН-метър Arduino е дадена по-долу:
Свързване на дъската за преобразуване на сигнала за pH с Arduino:
Връзката между Arduino и таблото за преобразуване на сигнала PH е показана в таблицата по-долу.
Arduino |
Табло на сензора за PH |
5V |
V + |
GND |
G |
A0 |
Po |
Програмиране на Arduino за рН метър
След успешни хардуерни връзки, сега е време за програмиране на Arduino. Пълният код за този pH-метър с Arduino е даден в долната част на този урок. Поетапното обяснение на проекта е дадено по-долу.
Първото нещо, което трябва да направите в програмата, е да включите всички необходими библиотеки. Тук в моя случай съм включил библиотека “ LiquidCrystal_I2C.h” за използване на I2C интерфейса на LCD дисплей и “ Wire.h ” за използване на I2C функционалност на Arduino.
#include
След това се дефинира стойността на калибриране, която може да бъде модифицирана според изискванията, за да се получи точна стойност на рН на разтворите. (Това е обяснено по-нататък в статията)
float 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 ();
Вътре в цикъл () прочетете 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 * волта + калибрираща_ стойност; 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 тестер
Опитахме този рН-метър Arduino, като го потопихме в чиста вода и лимонена вода, можете да видите резултата по-долу.
Чиста вода:
Лимонена вода:
По този начин можем да изградим pH сензор, използвайки Arduino и да го използваме, за да проверява нивото на pH на различни течности.
Пълният код и демонстрационното видео са дадени по-долу.