Автоматизація pH і EC на Arduino: чому EC-датчик глушить pH і що з цим робити

UAOrganic
1 хв читання
Автоматизація pH і EC на Arduino: чому EC-датчик глушить pH і що з цим робити

Автоматизацію pH і EC на Arduino можна зібрати за вечір: плата, два аналогові модулі, пара перистальтичних насосів і реле. Проблеми починаються, коли обидва датчики опиняються в одному баку. DFRobot, який продає ці модулі під Arduino, пише про це прямо в інструкції до свого ізолятора сигналу: датчик провідності випромінює у воду високочастотний сигнал, і pH-датчик у тій самій ємності отримає серйозні перешкоди. Ізолятор коштує $19,90, а без нього pH-автоматика дозує кислоту за хибними показами.

Нижче про залізо: з чого складається контролер, звідки перешкоди і як їх прибрати, які модулі брати, чим ESP32 відрізняється від Arduino Uno, як калібрувати в прошивці і коли час переходити на PLC. Логіку дозування (PID, мертва зона, ліміти дози і аварійна зупинка) розібрано у вікі автоматизація pH і EC, тут її не повторюємо. Чи потрібна автоматика взагалі, чи вистачить ручної корекції раз на добу, розібрано в статті ручне чи автоматичне дозування pH.

Контролер pH і EC на Arduino: з чого він складається

Мінімальний набір для одного бака:

  • Плата: Arduino Uno або ESP32, якщо потрібен Wi-Fi.
  • Модуль pH з електродом і модуль EC із зондом. Модуль перетворює слабкий сигнал зонда в напругу, яку читає плата.
  • Термодатчик у розчині. Без нього EC не перерахувати на 25 °C.
  • Ізолятор для EC-модуля.
  • Перистальтичні насоси (кислота, концентрати A і B) і реле, через які плата їх вмикає.
  • Датчик рівня, щоб насоси не дозували в порожній бак.

Для орієнтира за ціною: у проєкті SMART GROW (журнал HardwareX, 2024) усе залізо автоматизованої домашньої гідропоніки коштувало 314,48 малайзійського рингіта, приблизно $72. Автори зіткнулися з тими самими перешкодами: EC-датчик довелося перенести на окрему плату ESP32, щоб, за їхніми словами, уникнути електричних перешкод для pH-датчика і отримати стабільні покази.

EC-датчик глушить pH: навіщо гальванічна розвʼязка

EC-модуль міряє провідність, пропускаючи через розчин змінний струм між двома електродами зонда. pH-електрод тим часом міряє напругу в мілівольтах: близько 59 мВ на одиницю pH при 25 °C. Струм від EC-зонда йде через воду, заходить у pH-електрод і повертається до плати через спільну землю. Кожні 6 мВ стороннього сигналу це вже 0,1 pH, хоча з розчином нічого не відбувається.

Atlas Scientific у даташиті свого EC-модуля EZO формулює так само: вимірювання провідності вносить у воду значні електричні перешкоди, і вони впливають на датчики pH, ORP і розчиненого кисню. Про те, як ORP-електрод реагує на стан розчину і чому його покази легко зіпсувати, є у вікі ORP / Redox. Гальванічна розвʼязка, за словами Atlas, прибирає ці перешкоди на 100%. Друга причина ставити її: EC-зонд дає воді низькоомний шлях до електроніки, і стрибок напруги в баку піде прямо в контролер. Висновок виробника: «ніколи не збирайте комерційний продукт без електричної ізоляції».

Варіанти розвʼязки:

  • Ізолятор аналогового сигналу між EC-модулем і платою. У DFRobot це DFR0504 за $19,90: живлення 5 В, відгук близько 4 с, розбіжність між входом і виходом до ±20 мВ. Ставиться на EC, бо саме він шумить.
  • Ізольована плата-носій для цифрових модулів Atlas EZO. Модуль видає готове число, а живлення і лінії звʼязку розвʼязані на платі.
  • Окрема плата під EC, як у SMART GROW. Працює, але двох контролерів на одному баку можна уникнути ізолятором за $20.

Автори SMART GROW, крім того, підʼєднали pH-датчик і ультразвуковий датчик рівня до різних виводів землі, щоб не утворювався контур заземлення. На першому тесті EC і ультразвук на одній платі теж не працювали разом.

Модулі для Arduino: DFRobot чи Atlas Scientific

У DIY-проєктах найчастіше трапляються дві лінійки: аналогові Gravity від DFRobot і цифрові EZO від Atlas Scientific. Характеристики і ціни з сайтів виробників на вересень 2026 року:

МодульТочністьРесурс зондаЦіна, $
DFRobot pH SEN0161-V2, лабораторний±0,1 pH при 25 °Cпонад пів року39,50
DFRobot pH SEN0169-V2, промисловий, для роботи 24/7±0,1 pH при 25 °Cпонад пів року64,90
DFRobot EC DFR0300, K 1±5% від повної шкалипонад пів року69,90
Atlas Scientific pH, набір±0,002 pH (зонд)~2,5 року174,99
Atlas Scientific EC K 1.0, набір±2% від показу~10 років229,99

Найважливіша різниця в EC. DFRobot дає ±5% від повної шкали, а шкала DFR0300 сягає 20 мСм/см. У перерахунку це до ±1 мСм/см у будь-якій точці діапазону. Робочий розчин для зелені має EC близько 1,5 мСм/см, тож похибка може дорівнювати двом третинам самого значення. Вікі про автоматизацію вважає налаштованою систему, яка тримає EC у межах ±0,1 мСм/см від рецепта. Модуль із такою паспортною точністю цього не гарантує. У Atlas ±2% від показу, тобто при 1,5 мСм/см близько ±0,03.

З pH картина мʼякша: ±0,1 pH у DFRobot для гідропоніки достатньо. Слабке місце там зонд. Навіть промисловий варіант SEN0169-V2 виробник оцінює як «понад пів року» роботи 24/7 залежно від якості води. Для лабораторного pH-зонда Atlas називає близько 2,5 року. Скільки живуть різні датчики і що в них міняють, розібрано в статті датчики для гідропоніки.

Модулі Atlas EZO працюють по UART або I2C, живляться від 3,3 до 5 В і віддають готове значення з температурною компенсацією. Аналого-цифровий перетворювач плати при цьому не потрібен, а з ним відпадають і пастки з наступного розділу.

ESP32 чи Arduino Uno: вхід 3,3 В і шумний АЦП

ESP32 зручніший через Wi-Fi, але з аналоговими модулями в нього три пастки.

Перша: входи ESP32 приймають до 3,3 В. pH-плата DFRobot V2 видає до 3,0 В, це в межах. EC-плата DFR0300 видає до 3,4 В і у верхній частині шкали виходить за межу. У SMART GROW pH-датчик видавав до 5 В, і напругу знижували дільником із двох резисторів по 1000 Ом.

Друга: опорна напруга АЦП. Espressif пише, що за проєктом вона 1100 мВ, але від чипа до чипа коливається від 1000 до 1200 мВ. Без калібрувального драйвера з ESP-IDF дві однакові плати покажуть різне для однієї напруги. Калібрування pH по буферах цю похибку частково поглинає, але тільки для тієї плати, на якій калібрували.

Третя: шум. За документацією Espressif, АЦП ESP32 чутливий до шуму, і покази сильно розходяться. Виробник радить конденсатор 100 нФ на вхід і усереднення кількох вимірів (на їхньому графіку 64). Ще одна деталь: другий блок АЦП, ADC2, використовує Wi-Fi, тому датчики вішай на виводи ADC1.

Arduino Uno працює від 5 В і без Wi-Fi, тому цих конфліктів у нього менше. Але і його вбудований АЦП шумить: у тесті Nandi і Shrestha (Sensors, 2024) сигнал датчика вологості на вбудованому АЦП Arduino гуляв приблизно на 27 мВ, а на зовнішньому 16-бітному ADS1115 менше ніж на 1 мВ. Для аналогових модулів pH і EC зовнішній АЦП за кілька доларів дає більше, ніж заміна плати.

Калібрування pH і EC у прошивці

Бібліотеки DFRobot зберігають параметри калібрування в EEPROM. Якщо твій скетч пише власні налаштування в ту саму комірку, калібрування «не проходить» або дає дивні числа. DFRobot у FAQ радить у такому разі одноразово стерти ці комірки. Краще одразу тримати свої налаштування в іншій частині памʼяті.

  • pH: дві точки. Спершу буфер 7,0 (нуль електрода), потім 4,0 (нахил). DFRobot радить калібрувати раз на місяць, при частому використанні раз на тиждень, і брати свіжі буфери. Процедура і типові помилки у вікі калібрування pH-метра.
  • EC: дві точки обовʼязкові, розчини 1413 мкСм/см і 12,88 мСм/см. Функція бібліотеки приймає напругу і температуру одночасно, тому без термодатчика компенсації не буде. Детальніше у вікі калібрування EC-метра.

Калібруй у зібраній схемі: з ізолятором, тим самим кабелем і на тій платі, що працюватиме на баку. Atlas окремо попереджає, що зміна довжини кабелю або контролера змінює електричні властивості кола, і EC доведеться калібрувати заново.

Насоси, реле і кислота

Перистальтичні насоси вмикають через реле. У системі на ESP32 з журналу MethodsX (2025) автори окремо пояснюють навіщо: реле відділяють низьковольтну електроніку плати від напруги насосів, і їх треба підбирати під напругу і струм конкретних насосів. Там же в обмеженнях названо дрейф калібрування датчиків у реальних умовах.

У насос кислоти заливай розведений коректор. Яку кислоту брати (ортофосфорну, азотну чи лимонну) і чому вибір залежить від лужності води, пояснює вікі pH-коректори. Скільки мілілітрів знадобиться на бак, порахує калькулятор кислоти для гідропоніки. Ліміт дози за сесію і зупинка при неможливих показах датчика обовʼязкові, про них у вікі про автоматизацію вище.

Arduino чи PLC: коли переходити на промислове

Промисловий контролер (PLC) з датчиками-перетворювачами розвʼязує ті самі задачі іншими засобами. Перетворювачі передають сигнал струмовою петлею 4-20 мА або цифрою по RS-485 (Modbus), і довгий кабель від бака до шафи їм не заважає. Входи PLC розраховані на шафу з контакторами і насосами. Модулі з вбудованою гальванічною розвʼязкою тут звичайна річ, але перевіряй це в даташиті конкретного модуля: шукай слово isolated.

Для домашньої системи або малої ферми з одним-двома баками ESP32 з модулями Atlas EZO і розвʼязкою на EC цілком достатньо. PLC варто розглядати, коли від автоматики залежить урожай комерційної теплиці, датчики стоять далеко від шафи або систему обслуговує людина, яка не писала прошивку. Аргумент Atlas «ніколи без ізоляції» до PLC стосується так само.

Автоматизація pH і EC на Arduino: головне

  • EC-датчик у тому самому баку заважає pH, ORP і DO. Гальванічна розвʼязка на EC обовʼязкова: ізолятор DFRobot коштує $19,90.
  • Дешевий EC-модуль DFR0300 має ±5% від шкали 20 мСм/см, тобто до ±1 мСм/см. Для точного утримання EC потрібен модуль із похибкою від показу.
  • pH-зонди DFRobot розраховані на пів року і довше, зонд Atlas на ~2,5 року. Закладай заміну в бюджет.
  • На ESP32 стеж за напругою входу (до 3,3 В), калібруй АЦП, став конденсатор, усереднюй і використовуй ADC1.
  • Калібруй pH по 7,0 і 4,0, EC по 1413 мкСм/см і 12,88 мСм/см, у зібраній схемі.
Поділитись:

Автор статті

UAOrganic

Команда UAOrganic - практики сіті-фермерства, гідропоніки та органічного вирощування. Ведемо каталог мікрозелені, норми висіву і освітній блог для виробників.