- Как собрать и спаять модуль измерения pH на основе ADS1115: пошаговое руководство для практиков
- Почему именно ADS1115?
- Что тебе понадобится
- Как подключить всё вместе: схема без воды
- Почему температура так важна
- Калибровка: как не превратить модуль в гадалку
- Таблица: как выбрать электрод и ADS1115
- Частые ошибки — и как их избежать
- Что выбрать в зависимости от ситуации
- Как лучше сделать: 5 правил от практика
- Итог: что делать прямо сейчас
Как собрать и спаять модуль измерения pH на основе ADS1115: пошаговое руководство для практиков
Если ты хочешь измерять pH в воде — будь то аквариум, гидропоника, лабораторный опыт или прототип системы очистки — и тебе не нужен дорогой коммерческий прибор, то собрать модуль на ADS1115 и электроде pH — это не просто возможно, это разумно. Я делал это десятки раз: для клиентов, для своих проектов, для тестов в условиях, где коммерческие решения либо слишком дороги, либо не выдерживают влажности. Сегодня я покажу, как сделать это правильно, без лишней теории и с учётом реальных ошибок, которые ловят даже опытных.
Почему именно ADS1115?
Многие начинают с Arduino и аналогового входа — и сразу сталкиваются с шумом, нестабильностью и низкой точностью. Аналоговый вход Arduino — 10-битный, работает на 5 В, а сигнал с электрода pH — это микровольты. Разница в 1000 раз. ADS1115 — это 16-битный АЦП с усилителем, который можно настроить на коэффициент усиления до 16. То есть он превращает твой слабый сигнал в чёткий, стабильный и точный.
Кроме того, ADS1115 работает по I2C — тебе нужно всего два провода (SDA и SCL) и питание. Никаких лишних контактов, никаких сложных схем. И он устойчив к помехам — если собрать всё правильно.
Что тебе понадобится
- ADS1115 (любой модуль — на плате с конденсаторами и pull-up резисторами, лучше с латунными контактами)
- Электрод pH (например, E-201-C, или любой с BNC-разъёмом и температурным компенсатором)
- Температурный датчик (DS18B20 — обязательно, без него точность падает на 30–50%)
- Питание: 3,3 В или 5 В (ADS1115 работает и на том, и на другом)
- Медные провода 0,5 мм² (не тонкие, не толстые — идеально для монтажа)
- Паяльник, олово, канифоль, изолента или термоусадка
- Микроконтроллер: Arduino Nano, ESP32, Raspberry Pi Pico — всё подойдёт
- Калибровочные растворы: pH 4,01 и pH 7,00 (не экономь — дешёвые растворы дают погрешность до 0,5 ед.)
Не берите дешёвые электроды с AliExpress без маркировки производителя. Я видел, как «pH-электрод» из Китая, купленный за 300 рублей, давал сдвиг на 1,2 единицы за неделю. Потом выяснилось — это был просто стеклянный баллон с куском провода. Потрать 1500–2000 рублей на нормальный — это дешевле, чем пересобирать модуль 5 раз.
Как подключить всё вместе: схема без воды
Вот реальная схема подключения — без лишних деталей, только то, что работает.
- Подключи питание ADS1115: VDD → 3,3 В или 5 В (если используешь ESP32 — лучше 3,3 В, чтобы не перегрузить его входы)
- GND → общий минус всех устройств (и электрода, и датчика, и платы)
- SCL → SCL микроконтроллера (на Arduino Nano — A5)
- SDA → SDA микроконтроллера (на Arduino Nano — A4)
- На электроде pH: выход сигнала (обычно центральный контакт BNC) → подключи к A0 ADS1115
- Земля электрода (экран BNC) → подключи к GND ADS1115
- DS18B20: VDD → 3,3 В, GND → GND, DATA → любой цифровой пин (например, D2), с резистором 4,7 кОм между DATA и VDD
Важно: не соединяй землю электрода с землёй платы через разные точки. Это — главная причина шума. Всё заземление должно идти в одну точку — к GND ADS1115. Потом оттуда — к GND Arduino. Это называется «одноточечное заземление» — и оно спасает сигнал.
Почему температура так важна
Электрод pH не измеряет pH напрямую — он измеряет напряжение, которое зависит от температуры. При 25 °C коэффициент — 59,16 мВ на единицу pH. При 15 °C — уже 55,2 мВ. При 35 °C — 63,1 мВ. Если ты не компенсируешь температуру, то погрешность — до 0,4 единиц pH. Это значит: если у тебя в аквариуме 28 °C, а ты считаешь, что температура 25 °C, ты ошибаешься на 0,3–0,4 единицы. Для рыб это критично.
DS18B20 — датчик с цифровым выходом, он не боится помех, работает на одной линии с несколькими датчиками, и его легко считывать. Он не нужен «для красоты» — он нужен для точности. Без него — твой модуль не годится для серьёзных задач.
Калибровка: как не превратить модуль в гадалку
Калибровка — это не «включил и пошёл». Это процесс, который нужно делать минимум раз в месяц, а если электрод в агрессивной среде — раз в неделю.
Ты должен иметь два калибровочных раствора: pH 4,01 и pH 7,00. Не берёшь pH 10 — не нужно. Он не нужен на этапе калибровки, если ты измеряешь воду в диапазоне 4–8 pH.
Алгоритм калибровки:
- Промой электрод дистиллированной водой, промокни салфеткой (не тряпи, не бумажкой — специальная безворсовая).
- Погрузи в pH 7,00. Подожди 2 минуты. Запиши показание ADS1115 — это твой «ноль».
- Промой. Погрузи в pH 4,01. Подожди 2 минуты. Запиши показание — это твой «наклон».
- В коде рассчитай: наклон = (V4 — V7) / (4 — 7), ноль = V7 — (наклон * 7)
- Сохраняй эти коэффициенты в EEPROM микроконтроллера — они не должны сбрасываться при выключении.
Если после калибровки ты видишь, что при pH 7,00 у тебя 7,2 — значит, электрод старый или загрязнён. Не пытайся «заправить» его в коде. Замени. Это не программная ошибка — это физическая.
Таблица: как выбрать электрод и ADS1115
| Параметр | Низкокачественный вариант | Рекомендуемый вариант | Почему важно |
|---|---|---|---|
| Электрод pH | Без температурного компенсатора, китайский, без маркировки | ET-110, E-201-C, Hanna HI1230B | Без компенсации — погрешность до 0,5 ед. при смене температуры |
| ADS1115 | Без конденсаторов, без pull-up, с паяными проводами | Модуль с SMD-компонентами, золотистые контакты, 2,2 кОм pull-up | Плохой модуль — шум, сбои, дрейф. Стабильность важнее цены. |
| Питание | USB-адаптер без фильтрации, без стабилизации | Линейный стабилизатор 3,3 В (например, AMS1117) + конденсатор 10 мкФ | Пульсации от зарядки телефона — прямой путь к дрейфу сигнала |
| Кабель от электрода | Провод с экранированием, но без заземления экрана | Экранированный кабель с заземлённым экраном на стороне ADS1115 | Незаземлённый экран — антенна для помех. Результат — рандомные скачки |
Частые ошибки — и как их избежать
- Забыл заземлить экран электрода. — Сигнал превращается в шум. Решение: экран кабеля — только к GND ADS1115, никуда больше.
- Используете кабель длиной больше 1 метра. — Длинный кабель — антенна. Помехи от света, Wi-Fi, розеток. Решение: максимум 50 см. Если нужно дальше — используй буферный усилитель (OPA2333).
- Калибровка на «средней» температуре. — Ты калибруешь при 22 °C, а потом измеряешь при 28 °C — погрешность 0,3–0,4. Решение: всегда измеряй температуру и корректируй в коде.
- Не чистишь электрод. — Соли, водоросли, жир — всё это покрывает стекло. Решение: раз в неделю — промывка в 3% растворе KCl (не в воде!), потом — дистиллированная вода.
- Питание от USB без фильтра. — Шум от зарядки — 100–200 мВ. ADS1115 улавливает это как сигнал. Решение: добавь LC-фильтр (дроссель 10 мкГн + конденсатор 100 нФ) на вход питания ADS1115.
Что выбрать в зависимости от ситуации
- Если ты делаешь аквариум для рыбок — берёшь нормальный электрод, ADS1115, DS18B20, калибруешь раз в 2 недели. Не нужно мониторинга в реальном времени — достаточно раз в день проверять. Достаточно Arduino Nano + OLED-дисплей.
- Если ты делаешь систему гидропоники — тебе нужна автоматика. Бери ESP32, Wi-Fi, отправляй данные в MQTT. Калибровка — раз в неделю. Обязательно включи защиту от замерзания и перегрева (электроды разрушаются при температуре выше 40 °C).
- Если ты тестируешь воду в полевых условиях — берёшь портативный вариант: ADS1115 + ESP32 + батарейка 18650 + экран. Калибровка — перед каждым измерением. Электрод — с защитным колпачком. И всегда бери с собой калибровочные растворы в маленьких флаконах.
- Если ты инженер и делаешь прототип для продажи — не экономь на корпусе. Используй IP67-корпус, герметичный разъём для электрода, встроенный термодатчик и автоматическую калибровку по времени (раз в 24 часа). И обязательно — логирование данных на SD-карту.
Как лучше сделать: 5 правил от практика
- Собирай всё на одной плате. — ADS1115, датчик температуры, питание — всё в одном корпусе. Чем меньше соединений — тем меньше шума.
- Используй только медные провода с оловом. — Никаких алюминия, никеля, «паяльных» проводов. Они окисляются — и сигнал теряется.
- Никогда не включай питание, пока не подключил всё. — Короткое замыкание на ADS1115 — и ты теряешь чип. Это не ремонт — это замена.
- Делай тесты в тишине. — Выключи свет, Wi-Fi, телефон. Проверь, что показания стабильны. Если они «прыгают» — ищи помехи. Часто это просто плохая земля.
- Записывай всё. — Дата калибровки, температура, показания, растворы, кто делал. Это не «для памяти» — это для того, чтобы в будущем понять, почему результат изменился.
Итог: что делать прямо сейчас
Если ты хочешь собрать модуль pH — не жди «идеального момента». Возьми ADS1115, купи электрод E-201-C (или аналог), возьми DS18B20, собери всё по схеме выше, калибруй на pH 4 и 7 — и проверь на чистой воде. Если показания — 7,0 ± 0,1 — ты сделал всё правильно.
Не трать время на «улучшения» до тех пор, пока базовый модуль не работает стабильно. Не ищи «супер-алгоритмы» в коде — если сигнал плохой, алгоритм не спасёт. Сначала — физика. Потом — программирование.
Если после сборки ты видишь, что показания «плавают» на 0,5 единицы — не вини Arduino. Вини землю. Вини кабель. Вини питание. Пересмотри подключение. Перепаяй. Это нормально. Я сам перепаивал по 7 раз, пока не понял, что экран электрода должен быть подключён только к одному месту — и только к ADS1115.
Сделай один модуль. Проверь его. Запиши результаты. Через неделю — снова проверь. Если он стабилен — ты умеешь. И теперь можешь делать серию. Не надо покупать дорогой прибор. Ты уже сделал его сам.
Информация в этой статье носит ознакомительный характер. Измерение pH может быть критично для здоровья, экосистем или промышленных процессов. Для точных и безопасных решений всегда консультируйтесь с профильным специалистом.



