Корзина

Товар/услуга Стоимость (Руб.) Количество (Штук) Сумма(Руб.)
Оформить заказ
Закрыть корзину

8 (499) 500-14-56 | ПН. - ПТ. 12:00-18:00
ЛЕСНОРЯДСКИЙ ПЕРЕУЛОК, 18С2, БЦ "ДМ-ПРЕСС"
Магазин
Личный кабинет
Ресурсы
Указывайте в ваших постах тэг #iarduino
Видео уроки

Вверх

Купить Датчик кислотности жидкости (pH-метр) для Arduino

Датчик кислотности жидкости (pH-метр)  для Arduino
 Датчик кислотности жидкости (pH-метр) для Arduino ардуино Датчик кислотности жидкости (pH-метр) для Arduino ардуино
ID товара: 863
Наличие: 3 Шт.
Зарезервировано: 3 Шт.
Сообщить о поставке на e-mail:
Сообщить
Возможен безналичный расчёт для юридических лиц при оформлении заказа

Доставка

По Москве
  • -Самовывоз
  • -Курьерская доставка
  • -Пункты выдачи Boxberry
По России
  • -Почта России 1 классом
  • -Пункты выдачи Boxberry
  • -EMS
  • -СДЭК

Похожие товары

Инфракрасный дальномер (20-150см) GP2Y0A02YK0F  (Датчик расстояния) для ардуиныGY-30 Датчик освещенности (Люксы) BH1750FVI для ардуиныИнфракрасный датчик движения  HC-SR501 для ардуиныИК- Приемник для ардуиныДатчик состояния двери, окна для ардуиныДатчик газа MQ5 для обнаружения сжиженного, природного и угольного газа  для ардуиныЦифровой датчик температуры и влажности AM2320 для ардуиныЦифровой датчик температуры и влажности высокой точности (Trema-модуль) для ардуиныДатчик тока 20А. для ардуиныДатчик влажности почвы для ардуиныДатчик газа MQ-6 (Trema-модуль v2.0) для ардуиныДатчик звука (Trema-модуль v2.0) для ардуины

Теги

Описание
Файлы и библиотеки (0)
Уроки (0)

Описание: Датчик кислотности жидкости (pH-метр)

pH-метр - это датчик позволяющий определить pH (potentia Hydrogenii) уровень жидкостей. У чистой воды (H2O) при температуре 25 °C нейтральный уровень pH = 7. Чем выше кислотность жидкости, тем ниже её уровень pH, а в щелочных растворах уровень pH выше. Принято считать что уровень pH определён диапазоном от 0 до 14, но в действительности у сильно агрессивных он может выходить за указанный диапазон.

Видео:

Общие сведения:

pH уровень (водородный показатель) является отрицательным десятичным логарифмом концентрации ионов водорода в жидкости: pH = - lg[H+]. В воде помимо молекул H2O имеются ионы водорода [H+] и гидроксид-ионы [OH]. Если их количество равно (нейтральная среда), то концентрация ионов водорода [H+] составляет 10−7 моль/л, следовательно pH = -lg[10-7] = 7.

  • Если в воду добавить кислоту, то концентрация ионов водорода [H+] увеличится, а гидроксид-ионов [OH−] упадет, следовательно уменьшится pH. Например при увеличении концентрации ионов водорода [H+] до 10−6 моль/л (степень отрицательная), pH упадёт до -lg[10-6] = 6.
  • Если в воду добавить щелочь, то концентрация водорода [H+] упадёт, а гидроксид-ионов [OH−] увеличится, следовательно увеличится pH. Например при уменьшении концентрации ионов водорода [H+] до 10−9 моль/л (степень отрицательная), pH увеличится до -lg[10-9] = 9.

В основу работы pH-метра заложен ионометрический метод определения pH. Этот метод заключается в измерении ЭДС гальванической цепи включающей специальный стеклянный электрод, потенциал которого зависит от концентрации ионов водорода [H+] в окружающем растворе, см таблицу в разделе «примечание».

Калибровка и измерения:

При первом включении pH-метра (и в дальнейшем примерно раз в пол года) его нужно откалибровать. Опустите сенсор pH-метра в нейтральный раствор (раствор хлорида калия KCL, его pH = 7.0), который находится в колпачке pH-метра и поворотом многооборотного потенциометра на плате добейтесь напряжения на выходе модуля в 2 В.

Изменение уровня pH исследуемого раствора на 1 pH приводит к изменению напряжения на выходе модуля на 2/7 В. Значит после калибровки напряжение на выходе модуля 2 В соответствует pH = 7, напряжение 0 В соответствует pH = 0, а напряжение 4 В соответствует pH = 14, см. таблицу в разделе «Примечание». Значит для преобразования считанного с модуля уровня напряжения в уровень pH исследуемой жидкости, достаточно разделить это напряжение на 2/7 или умножить на 3,5: U/(2/7) = U*7/2 = U*3,5.

Для измерения pH исследуемого раствора опустите в него сенсор pH-метра и слегка помешайте, подождите стабилизации показаний в течении 30-60 секунд.

Не опускайте сенсор pH-метра в калибровочную жидкость (раствор хлорид калия KCL в колпачке датчика) после проведения измерений щелочных и кислых сред, так как остатки этих жидкостей на сенсоре pH-метра могут изменить pH калибровочной жидкости. Сначала промойте сенсор в проточной воде и стряхните её остатки, после чего оденьте колпачок с калибровочной жидкостью на датчик pH-метра.

Подключение:

Синий провод шлейфа, с которого будут сниматься показания, подключается к любому аналоговому выводу Arduino.

Питание:

Напряжение питания 5 В постоянного тока подаётся на красный (Vcc) и чёрный (GND) провод шлейфа pH-метра.

Спецификация:

  • Напряжение питания модуля: 5 В постоянного тока.
  • Диапазон измерений: 0...14 pH.
  • Зависимость напряжения на выходе модуля от pH растворов: 1 pH = 2/7 В.
  • Температура измеряемых растворов: 0...60 ℃.
  • Точность измерений: ± 0.1 pH (при температуре 25 ℃).
  • Время измерений: до 1 мин.
  • Длина кабеля от датчика до разъема BNC на плате модуля: 660 мм.
  • Размер модуля: 43x32 мм.
  • Размер датчика: 143,7 мм.

Комплектация:

  • 1x Датчик с кабелем, колпачком и контрольным раствором.
  • 1x Модуль с разъемом BNC.
  • 1x Трёхпроводной шлейф для подключения к Arduino

Дополнительно:

Зависимость напряжений от уровня pH исследуемой жидкости:
pH 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
В 0 0,2857 0,5714 0,8571 1,1429 1,4286 1,7143 2 2,2857 2,5714 2,8571 3,1428 3,4286 3,7143 4
мВ 414,12 354,96 295,8 236,64 177,48 118,32 59,16 0 -59,16 -118,32 -177,48 -236,64 -295,8 -354,96 -414,12

В вольтах указано напряжение на выходе модуля (после калибровки) которое подаётся на вход Arduino. В милливольтах указано напряжение на выходе датчика (разъема BNC) который подключается к разъему BNC модуля.

Скетч для Arduino от производителя:
#define SensorPin        A0                                                                   // pH meter Analog output to Arduino Analog Input 0
#define Offset           -0.00                                                                // Компенсация смещения
#define LED              13                                                                   // Номер вывода светодиода, который является индикатором нормальной работы скетча
#define samplingInterval 20                                                                   // Интервал в мс между измерениями
#define printInterval    800                                                                  // Интервал в мс между выводами показаний
#define ArrayLenth       40                                                                   // Количество выборок
int pHArray[ArrayLenth];                                                                      // Массив для определения среднего показания напряжения считанного с датчика
int pHArrayIndex=0;                                                                           // Индекс элемента массива pHArray значения которого требуется изменить
                                                                                              //
void setup(void){                                                                             //
    pinMode(LED,OUTPUT);                                                                      // Конфигурируем вывод светодиода как выход
    Serial.begin(9600);                                                                       // Инициируем передачу данных в монитор последовательного порта на скорости 9600 бит/с
    Serial.println("pH meter experiment!");                                                   // Выводим надпись "pH meter experiment!"
}                                                                                             //
void loop(void){                                                                              //
    static unsigned long samplingTime = millis();                                             // Определяем переменную samplingTime для хранения времени прошедшего с момента старта (переменная создаётся при первом проходе цикла loop и не теряется по его завершении)
    static unsigned long printTime    = millis();                                             // Определяем переменную printTime    для хранения времени прошедшего с момента старта (переменная создаётся при первом проходе цикла loop и не теряется по его завершении)
    static float pHValue, voltage;                                                            // Объявляем переменные для хранения значений напряжения и pH
//  Проводим измерения:                                                                       //
    if(millis() - samplingTime > samplingInterval){                                           // Выполняем код в теле оператора if через каждые samplingInterval мс
        pHArray[pHArrayIndex++] = analogRead(SensorPin);                                      // Читаем данные в очередной элемент массива pHArray
        if(pHArrayIndex==ArrayLenth) pHArrayIndex=0;                                          // Если достигли последнего элемента массива pHArray, то сбрасываем номер текущего элемента этого массива в 0
        voltage = averagearray(pHArray, ArrayLenth) * 5.0 / 1023;                             // Получаем среднее напряжение в мВ из массива напряжений pHArray
        pHValue = 3.5 * voltage + Offset;                                                     // Преобразуем мВ в pH
        samplingTime = millis();                                                              // Обновляем время для переменной samplingTime
    }                                                                                         //
//  Выводим показания в монитор:                                                              //
    if(millis() - printTime > printInterval){                                                 // Выполняем код в теле оператора if через каждые printInterval мс
        Serial.print("Voltage:");                                                             // Выводим надпись "Voltage:"
        Serial.print(voltage,2);                                                              // Выводим среднее напряжение
        Serial.print("    pH value: ");                                                       // Выводим надпись "    pH value: "
        Serial.println(pHValue,2);                                                            // Выводим значение pH
        digitalWrite(LED,digitalRead(LED)^1);                                                 // Меняем состояние светодиода
        printTime = millis();                                                                 // Обновляем время для переменной printTime
    }                                                                                         //
}                                                                                             //
                                                                                              //
//  Функция определения среднего значения напряжения                                          // Эта функция возвращает среднее арифметическое значение данных массива arr без учёта одного максимального и одного минимального значения массива.
double averagearray(int* arr, int number){                                                    //
    int i,max,min;                                                                            // Объявляем переменные для цикла и экстремумов
    double avg;                                                                               // Объявляем переменную для вывода среднего значения
    long amount=0;                                                                            // Определяем переменную для подсчёта среднего значения
    if(number<=0){ Serial.println("Error number for the array to avraging!/n");  return 0;}   // В массиве arr не может быть 0 и менее элементов
    if(number< 5){ for(i=0; i<number; i++){amount+=arr[i];} avg = amount/number; return avg;  // Если в массиве arr менее 5 элементов, то среднее значение является средним арифметическим значением
    }else{                                                                                    // Если в массиве arr более 5 элементов, то среднее значение считаем иначе ...
        if(arr[0]<arr[1]){ min = arr[0]; max=arr[1];}                                         // Определяем минимальное и максимальное число из первых двух элементов массива
        else             { min = arr[1]; max=arr[0];}                                         // Определяем минимальное и максимальное число из первых двух элементов массива
        for(i=2; i<number; i++){                                                              // Проходим по остальным элементам массива
                 if(arr[i]<min){ amount+=min; min=arr[i]; }                                   // Если значение очередного элемента меньше минимального,  то добавляем к значению amount предыдущее минимальное значение  и обновляем значение min
            else if(arr[i]>max){ amount+=max; max=arr[i]; }                                   // Если значение очередного элемента больше максимального, то добавляем к значению amount предыдущее максимальное значение и обновляем значение max
            else               { amount+=arr[i];          }                                   // Если значение очередного элемента находится в пределах между min и max, то добавляем значение этого элемента к amount
        }                                                                                     //
        avg = (double) amount/(number-2);                                                     // Получаем среднее арифметическое значение (без учета значений первых двух элементов массива arr, т.к. они не добавлялись к amount)
    }                                                                                         //
    return avg;                                                                               // Возвращаем полученное среднее значение
}                                                                                             //

Ссылки:

Файлы и Библиотеки для Датчик кислотности жидкости (pH-метр)

Уроки с товаром: Датчик кислотности жидкости (pH-метр)


Гарантии и возврат
Яндекс.Метрика