Меню

Датчик водородного показателя рн

pH-метр (измеритель кислотности) на Arduino Uno и ЖК дисплее

Скала pH используется для измерения кислотности и валентности жидкостей. Диапазон pH составляет 1-14, где 1 соответствует наиболее кислотной жидкости, а 14 – основной жидкости. 7 pH соответствует нейтральным веществам (субстанциям), которые не являются ни кислотными, ни основными. Параметр pH играет достаточно важную роль в жизни людей. Например, его можно использовать для определения качества воды в бассейне. Также параметр pH имеет большое число разнообразных применений в сельском хозяйстве, очистке сточных вод, промышленности, мониторинге состояния окружающей среды и т.п.

В данной статье мы рассмотрим создание pH-метра (pH Meter) на основе платы Arduino Uno и гравитационного датчика pH. Значение pH мы будем показывать на экране ЖК диcплея 16×2. Также мы рассмотрим вопросы калибровки датчика pH чтобы повысить точность его измерений.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. ЖК дисплей 16х2 (купить на AliExpress).
  3. Модуль I2C для ЖК диcплея (купить на AliExpress).
  4. Аналоговый гравитационный датчик pH (Gravity Analog pH sensor) (купить на AliExpress).
  5. Соединительные провода.
  6. Макетная плата.

Что такое значение pH?

Параметр, который мы используем для измерения кислотности веществ, называется pH. Термин “H” здесь обозначает концентрацию ионов водорода. Диапазон pH содержит значения от 0 до 14. Значение pH равное 7 обозначает нейтральную, чистую жидкость. Чистая вода имеет pH точно 7. Значения меньшие 7 обозначают кислотность, а большие 7 – основной или щелочной характер жидкости.

Как работает аналоговый гравитационный датчик pH

Аналоговый датчик pH предназначен для измерения значения pH и показывает кислотность или щелочность (щелочные свойства) вещества. Датчик содержит в своем составе встроенный чип регулятора напряжения, который поддерживает широкий диапазон питающих напряжений — 3.3-5.5V DC (постоянного тока), что позволяет его подключать к контактам 5V и 3.3V любых плат Arduino. Выходной сигнал фильтруется аппаратным фильтром.

Технические характеристики модуля преобразования:

5.5V;

  • BNC-соединитель (стандартный байонетный соединитель);
  • высокая точность: ±0.1@25°C;
  • диапазон измерений pH: 0

    Технические характеристики pH электрода датчика:

      диапазон рабочих температур: 5

    60°C;

  • точка нуля (нейтральная точка): 7±0.5;
  • простая калибровка;
  • внутреннее сопротивление: Назначение контактов (распиновка) платы датчика pH:
    V+ : вход напряжения 5V постоянного тока (DC);
    G : контакт земли (Ground pin, общий контакт);
    Po : аналоговый выход pH;
    Do : выход напряжения 3.3V постоянного тока (DC);
    To : выход температуры.

    Внешний вид конструкции электрода показан на следующем рисунке.

    Электрод pH выглядит обычно как трубка, сделанная из стекла, с наконечником в виде стеклянной мембраны. Эта мембрана наполняется буферным раствором с известным pH (обычно pH = 7). Электрод спроектирован таким образом, что на стеклянной мембране всегда поддерживается постоянная концентрация ионов H+. Когда электрод погружается в тестируемое вещество, ионы водорода этого вещества начинают обмен с другими позитивно заряженными ионами стеклянной мембраны, в результате чего создается электрохимический потенциал на концах мембраны, который подается на модуль электронного усиления — он измеряет разность потенциалов между двумя электродами и преобразует ее в значения pH. Преобразование разности потенциалов в значение pH осуществляется на основе уравнения Нернста.

    Уравнение Нернста

    Уравнение Нернста — уравнение, связывающее окислительно-восстановительный потенциал системы с активностями веществ, входящих в электрохимическое уравнение, и стандартными электродными потенциалами окислительно-восстановительных пар (википедия).

    Также уравнение Нернста может быть использовано для расчета общей электродвижущей силы (ЭДС) электрохимической ячейки. В нашем случае мы его используем для расчета значения 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 = ионный заряд

    Схема проекта

    Схема pH метра на основе платы Arduino Uno представлена на следующем рисунке.

    Соединения между платой Arduino и платой преобразования сигнала pH показаны в следующей таблице.

    Плата Arduino Плата преобразования сигнала pH
    5V V+
    GND G
    A0 Po

    Внешний вид конструкции проекта показан на следующем рисунке.

    Объяснение программы для Arduino

    Полный код программы для нашего pH метра на основе Arduino приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

    Первым делом в программе мы должны подключить все используемые библиотеки. В нашем случае мы подключили библиотеку “ LiquidCrystal_I2C.h ” для использования интерфейса I2C с целью обмена данными с ЖК дисплеем и библиотеку “ Wire.h ” для использования функционала интерфейса I2C в плате Arduino.

    Источник

    Датчик кислотности жидкости (pH-метр): инструкция, схемы и примеры использования

    Используйте pH-сенсор для определения уровня кислотности жидкости. Сенсор поможет контролировать комфортную среду для выращивания растений, мониторить уютные условия для рыбок в аквариуме и приготовить настоящий квас.

    Принцип работы

    В состав pH-датчика входит измерительный щуп и плата управления.

    Щуп сенсора выполнен в пластиковом герметичном цилиндре с двумя электродами на конце. При погружении в измеряемый раствор или воду между электродами возникает разность потенциалов, которое фиксирует и обрабатывает плата управления. А теперь немного подробнее.

    Плата управления считывает разность потенциалов между электродами. При погружении в жидкость, между электродами возникает сопротивления, которое пропорционально электропроводности раствора. Далее сигнал стабилизируется и усиливается с помощью операционных усилителей. На выходе сигнал проходит фильтрацию и поступает на выходной сигнал платы.

    Датчик измеряет водородный показатель рН (лат. _potentia Hydrogenii_) — мера кислотности, которая отражает концентрацию ионов водорода в жидкости. Различают три степени кислотности водных растворов:

    Пример работы для Arduino и XOD

    В качестве мозга для считывания показаний с датчика рассмотрим платформу из серии Arduino, например, Arduino Uno.

    Источник

    Электронный рН-датчик

    Что такое pH знает каждый, ещё из школьного курса химии, где рН замеряли при помощи лакмусовых бумажек и фенолфталеина. Но для измерения уровня рН существуют и электронные способы определения, которые позволяют определить уровень рН с точностью до второго знака после запятой. Электронные датчики рН состоят из двух электродов: измерительного электрода и электрода сравнения.

    Представляет собой трубку, в которой содержится раствор хлорида калия и серебряный электрод покрытый хлоридом серебра. С измеряемым раствором измерительный электрод обменивается ионами водорода через стеклянную мембрану.

    Очень похож на измерительный электрод, так же содержит серебряную проволоку покрытую хлоридом серебра и в качестве раствора используется хлорид калия, но с измеряемым веществом контактирует не через стеклянную мембрану, а через пористую керамическую диафрагму. Через эту диафрагму раствор хлорида калия может вытекать или из него может испаряться вода, поэтому электрод сравнения имеет специальное отверстие, через которое можно заполнить электрод свежим раствором хлорида калия. У меня был бытовой электронный рН-метр РН-009(I), у которого за 5 лет высох электрод сравнения. А поскольку отверстие для заполнения электрода сравнения в бытовых рН-метрах не предусмотрено, то по назначению я его применять больше не могу (зато смог разобрать и использовать его с внешними рН-электродами)

    Читайте также:  Датчик включения вентилятора geely emgrand ec7

    Представляет собой измерительный электрод и электрод сравнения в одном корпусе. Две трубки, одна вставлена в другую. В остальном ничем не отличается от раздельных электродов представленных выше.

    Бытовые электронные рН-метры позволяют измерять уровень кислотности с точностью до одного знака после запятой и выглядят так.

    Если же вам необходимо построить какую-либо автоматическую систему управления, например аквариумом или гидропонной установкой, то такой рН-метр в свою автоматическую систему вы встроить не сможете. Вам понадобится вот такой датчик:

    Обыкновенный комбинированный рН-электрод с платой-усилителем сигнала. На плате расположен усилитель рН-датчика, компаратор и термодатчик. Фото платы с разных ракурсов.

    Именно такой рН-электрод с усилителем достались мне на обзор от сайта cxem.net за что огромное спасибо.

    Кратко о характеристиках

    • Напряжение питания: 5±0.2 В
    • Рабочий ток: 5-10mA
    • Рабочая температура: -10…50 С
    • Срок службы: 3 года
    • Размеры: 42 мм x 32 мм x 20 мм
    • Вес: 25 г
    • Диапазон рН: 0-14 рН
    • Диапазон температур измеряемого раствора: 0-60 ℃
    • Нулевая точка: 7 ± 0.5PH
    • Время ответа: ≦1min
    • BNC разъем.

    Для ясности, сенсором (рН-сенсором) я буду называть комбинированный электрод, а датчиком – комбинированный электрод, работающий в паре с платой-усилителем.

    Давайте же разберемся, как подключить этот датчик и считать с него показания.

    Первым делом смотрим схему, которую приложил к датчику продавец.

    Во-первых, усилительный каскад датчика рН.

    Во-вторых, цепочка из повторителя, резисторного моста с термистором в одном из плеч, дифференциального усилителя и не инвертирующего усилителя составляют датчик температуры.

    В-третьих, компаратор, который выдает логический сигнал, если уровень рН превышает какое-либо значение.

    На печатной плате находятся 2 подстроечных резистора, один для калибровки нулевой точки датчика рН, второй для компаратора. Настраивать показания рН можно и программно, а резистор использовать только для того, чтобы настроить нулевую точку (то есть настроить датчик так, что бы при рН=7.0 на выходе датчика рН было 0 мВ).

    Сенсор рН можно представить как батарейку, которая вырабатывает очень низкое напряжение, которое строго линейно кислотности измеряемой жидкости. При этом напряжение, вырабатываемое сенсором, может быть любой полярности. При рН=0 напряжение равно 413 мВ, при рН=1 – 354 мВ. Так при изменении рН на одну единицу напряжение изменяется на 59,16 мВ (это число называют мВ/рН фактор). Это значение характеризует наклон прямой графика. Стоит заметить, что значение 59,16 это теоретическое расчетное значение. На деле же это число может отклоняться как в меньшую, так и в большую сторону из-за изменения температуры и особенностей конкретного сенсора (например, может меняться из-за износа стеклянной мембраны или из-за особенностей изготовления данной партии сенсоров). Поэтому это значение мы будем считать переменной, что бы производить программную коррекцию показаний датчика.

    Зависимость мВ/рН фактора выражена в следующей таблице.

    Из нее следует, что мВ/рН фактор изменяется примерно на 0,2 мВ на один градус. Поэтому значение мВ/рН фактора можно записать как 59,16+(T-25)*0,2, где Т – температура по шкале Цельсия.

    Второй переменной будет значение сдвига нулевой точки. Как я уже упоминал, у идеального теоретического сенсора при рН=7 на выходе будет напряжение 0 мВ. А на деле сенсор у нас не идеальный, и поэтому значение напряжение при рН=7 может отличаться как в меньшую, так и в большую сторону. Поэтому значение сдвига будет второй переменной в нашей формуле.

    Читайте также:  Какая температура срабатывания датчика

    О какой формуле вообще идет речь? О формуле прямой: x=a*y+b, где вместо a подставляем мВ/рН фактор 59,16 (здесь и далее я не учитываю поправку на температуру), а вместо b напряжение смещения. О чем ещё надо знать — чем выше рН тем ниже напряжение на выходе, поэтому получается вот такая функция: Uвых=-59,16*(рН-7)+0 (формула 1), согласно этой формуле получается вот такая вот табличка:

    Теперь преобразуем эту формулу так, что бы вычислять значение рН по полученному напряжению: рН=(Uвых-a)/(-b)+7 (формула 2).

    Но напряжение на выходе мало того, что с низким напряжением, так ещё и двуполярное. Поэтому усилительный каскад на плате должен сдвинуть напряжение, получаемое с сенсора так, что бы даже при самом максимальном отрицательном значении оно было положительным, а затем усилить его. Поскольку опорное напряжение на микроконтроллерах зачастую 5 вольт, и напряжения, получаемые с датчика рН в граничных значениях равны, то после сдвига и усиления нулевая точка должна составлять 2,5. Так же необходимо знать коэффициент усиления. Я провел небольшой опыт, подключал вместо рН-сенсора разряженные батарейки с различным напряжением и измерял напряжение на выходе после усилителя, и в итоге выявил закономерность, которую представил в виде таблицы. В левом столбце напряжение, подаваемое на вход платы, в правом – напряжение после усилителя.

    Как видите при напряжении 0 вольт на входе, напряжение на выходе составляет 2,5 вольт, это и есть наша сдвинутая нулевая точка. В левом столбце указано напряжение в мВ с шагом в 10 мВ. В правом столбце напряжение в вольтах, и мы видим, что разница между соседними значениями составляет 0,03 вольта или 30 мВ. Таким образом, сигнал усиливается в 3 раза и сдвигается в моем случае на 2,5 вольт. Поскольку с АЦП мы получаем не напряжение, то полученное с АЦП значение первым делом необходимо привести к напряжению при помощи формулы (5/1024)*ADC, затем отнять 2,5 и поделить на 3 [Uвых=((5/1024)*ADC-2,5)/3]. Таким образом, мы получим реальное значение напряжения, которое присутствует на рН сенсоре. А затем, используя формулу 2, вычисляем значение рН.

    Какой либо код приводить не буду, задача тривиальная и справиться с ней сможет даже начинающий ардуинщик, а матерый программист и подавно.

    P.S. Надо сказать ещё о том, что сенсоры рН приходят не активированными. Для того что бы активировать рН сенсор необходимо выдержать сенсор в слабом растворе соляной кислоты (достаточно и 1%) в течение суток. Определить активирован ли сенсор легко, у не активированного сенсора показания скачут, довольно сильно. Я активировал сенсор в самодельной соляной кислоте. Для этого я поставил в пол-литровую банку рюмку с холодной водой, на дно банки насыпал обыкновенной поваренной соли и налил на соль аккумуляторную кислоту. Банку закрыл крышкой и оставил на несколько дней. Вода впитывает пары соляной кислоты. Я не знаю, какая концентрация соляной кислоты у меня получилась, но её было достаточно для того, чтобы после двух дней вымачивания сенсора в ней значения, выдаваемые сенсором, стабилизировались.

    Ну и в заключении. Полученным датчиком и приобретенным при работе с ним опытом я очень доволен.

    Источник

  • Adblock
    detector