- Необходимые компоненты
- Что такое значение pH?
- Как работает аналоговый датчик pH?
- Принципиальная схема pH-метра Arduino
- Программирование Arduino для pH-метра
- Калибровка pH-электрода
- Тестирование pH-тестера Arduino
Шкала pH используется для измерения кислотности и основности жидкости. Он может иметь значения от 1 до 14, где 1 соответствует наиболее кислой жидкости, а 14 - наиболее щелочной жидкости. 7 pH предназначен для нейтральных веществ, которые не являются ни кислотными, ни основными. Теперь pH играет очень важную роль в нашей жизни и используется в различных приложениях. Например, его можно использовать в бассейне для проверки качества воды. Точно так же измерение pH используется в самых разных областях, таких как сельское хозяйство, очистка сточных вод, промышленность, мониторинг окружающей среды и т. Д.
В этом проекте мы собираемся создать pH-метр Arduino и научимся измерять pH жидкого раствора с помощью гравитационного датчика pH и Arduino. ЖК-дисплей 16x2 используется для отображения значения pH на экране. Мы также узнаем, как откалибровать датчик pH, чтобы определить точность датчика. Итак, приступим!
Необходимые компоненты
- Ардуино Уно
- 16 * 2 буквенно-цифровой ЖК-дисплей
- Модуль I2C для ЖК-дисплея
- Гравитационный аналоговый датчик pH
- Соединительные провода
- Макетная плата
Что такое значение pH?
Единица, которую мы используем для измерения кислотности вещества, называется pH . Термин «H» определяется как отрицательный логарифм концентрации ионов водорода. Диапазон pH может иметь значения от 0 до 14. Значение pH 7 является нейтральным, так как чистая вода имеет значение pH ровно 7. Значения ниже 7 являются кислотными, а значения больше 7 являются основными или щелочными.
Как работает аналоговый датчик pH?
Аналоговый датчик pH предназначен для измерения значения pH раствора и определения кислотности или щелочности вещества. Он обычно используется в различных приложениях, таких как сельское хозяйство, очистка сточных вод, промышленность, мониторинг окружающей среды и т. Д. Модуль имеет встроенную микросхему регулятора напряжения, которая поддерживает широкий диапазон напряжения 3,3-5,5 В постоянного тока, который совместим с 5 В и 3.3V любой платы управления, такой как Arduino. Выходной сигнал фильтруется аппаратным низким джиттером.
Технические характеристики:
Модуль преобразования сигнала:
- Напряжение питания: 3,3 ~ 5,5 В
- Разъем зонда BNC
- Высокая точность: ± 0,1 @ 25 ° C
- Диапазон обнаружения: 0 ~ 14
PH-электрод:
- Диапазон рабочих температур: 5 ~ 60 ° C
- Нулевая (нейтральная) точка: 7 ± 0,5
- Простая калибровка
- Внутреннее сопротивление: <250 МОм
Плата преобразования сигнала pH:
Описание контакта:
V +: вход 5 В постоянного тока
G: контакт заземления
Po: аналоговый выход pH
Do: выход 3,3 В постоянного тока
Кому: вывод температуры
Конструкция pH-электрода:
Конструкция датчика pH показана выше. Датчик рН выглядит как стержень, как правило, изготовлены из стеклянного материала, имеющего наконечник под названием «Стеклянная мембрана». Эта мембрана заполнена буферным раствором с известным pH (обычно pH = 7). Такая конструкция электрода обеспечивает среду с постоянным связыванием ионов H + внутри стеклянной мембраны. Когда зонд погружается в тестируемый раствор, ионы водорода в тестовом растворе начинают обмениваться с другими положительно заряженными ионами на стеклянной мембране, что создает электрохимический потенциал на мембране, который подается на модуль электронного усилителя, который измеряет потенциал. между обоими электродами и преобразует его в единицы pH. Разница между этими потенциалами определяет значение pH на основе уравнения Нернста.
Уравнение Нернста:
Уравнение Нернста дает связь между потенциалом ячейки электрохимической ячейки, температурой, коэффициентом реакции и стандартным потенциалом ячейки. В нестандартных условиях уравнение Нернста используется для расчета потенциалов ячейки в электрохимической ячейке. Уравнение Нернста также можно использовать для расчета полной электродвижущей силы (ЭДС) для полной электрохимической ячейки. Это уравнение также используется для расчета значения PH раствора. Отклик стеклянного электрода определяется уравнением Нернста, которое может быть задано как:
E = E0 - 2,3 (RT / нФ) ln Q Где Q = Коэффициент реакции E = выход мВ от электрода E0 = Смещение нуля для электрода R = Постоянная идеального газа = 8,314 Дж / моль-K T = Температура в ° K F = Постоянная Фарадея = 95 484,56 Кл / моль N = ионный заряд
Принципиальная схема pH-метра Arduino
Принципиальная схема этого проекта pH-метра Arduino приведена ниже:
Подключение платы преобразования сигнала pH к Arduino:
Соединение между платой преобразования сигналов Arduino и PH показано в таблице ниже.
Ардуино |
Плата датчика PH |
5В |
V + |
GND |
г |
A0 |
По |
Программирование Arduino для pH-метра
После успешного подключения оборудования пришло время для программирования Arduino. Полный код этого pH-метра с Arduino приведен в нижней части этого руководства. Пошаговое объяснение проекта приводится ниже.
Первое, что нужно сделать в программе, - это включить все необходимые библиотеки. В моем случае я включил библиотеку « LiquidCrystal_I2C.h» для использования интерфейса I2C ЖК-дисплея и « Wire.h » для использования функциональности I2C на Arduino.
#включают
Затем определяется значение калибровки, которое можно изменить по мере необходимости, чтобы получить точное значение pH растворов. (Это объясняется далее в статье)
float Calibration_value = 21,34;
Внутри setup () команды ЖК-дисплея написаны для отображения приветственного сообщения на ЖК-дисплее.
lcd.init (); lcd.begin (16, 2); lcd.backlight (); lcd.setCursor (0, 0); lcd.print («Добро пожаловать»); lcd.setCursor (0, 1); lcd.print («Электронный дайджест»); задержка (2000); lcd.clear ();
Внутри loop () считайте 10 примеров аналоговых значений и сохраните их в массиве. Это требуется для сглаживания выходного значения.
для (int я = 0; я <10; я ++) {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 = буфер_arr; buffer_arr = temp; }}}
Наконец, вычислите среднее из 6 аналоговых значений центральной выборки. Затем это среднее значение преобразуется в фактическое значение pH и выводится на ЖК-дисплей.
для (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 6,5. Затем, чтобы откалибровать его, просто добавьте 7-6,5 = 0,5 в калибровочную переменную « калибровочное_значение» в коде. т.е. сделать значение 21,34 + 0,5 = 21,84 . После внесения этих изменений снова загрузите код в Arduino и повторно проверьте pH, погрузив электрод в эталонный раствор. Теперь на ЖК-дисплее должно отображаться правильное значение pH, например 7 (небольшие отклонения значительны) . Точно так же отрегулируйте эту переменную, чтобы откалибровать датчик. Затем проверьте все другие решения, чтобы получить точный результат.
Тестирование pH-тестера Arduino
Мы опробовали этот pH-метр Arduino, погрузив его в чистую воду и лимонную воду, вы можете увидеть результат ниже.
Чистая вода:
Лимонная вода:
Вот как мы можем построить датчик pH с помощью Arduino и использовать его для проверки уровня pH различных жидкостей.
Полный код и демонстрационное видео приведены ниже.