Как спаять и откалибровать датчик углекислого газа MH-Z14A

Если вы дошли до этого материала, скорее всего, у вас на столе лежит маленький модуль MH-Z14A, и вам нужно заставить его работать — реально, а не просто «проверить на ардуино из примера». Датчик хороший: недорогой, цифровой, с приличным диапазоном, но у него есть нюансы по пайке и калибровке, о которых в документации пишут скупо. Ниже — практический путь от куска плат до более-менее честных показаний.

Что за зверь MH-Z14A и зачем его вообще паять

MH-Z14A — это компактный NDIR-датчик CO₂ с цифровым выходом (UART и PWM). Внутри — источник инфракрасного излучения, приёмник и калибровочная таблица. Он умеет измерять концентрацию углекислого газа в диапазоне 0–5000 ppm (некоторые версии до 10000 ppm), и это не игрушка: датчик реально реагирует на изменения в воздухе.

Зачем его паять? Потому что в базовой комплектации это модуль с пинами и разъёмом, который не очень удобно встраивать в готовое устройство. Вам нужно:

  • впаять его в свою плату или на кабель;
  • подключить питание и UART;
  • проверить, что он вообще отвечает;
  • а потом — откалибровать, чтобы цифры не врали.

Если вы делаете монитор качества воздуха, контроллер вентиляции или что-то для теплицы — без калибровки датчик будет просто показывать «что-то». А вам, скорее всего, нужны честные ppm.

Что нужно перед пайкой

MH-Z14A — не совсем нежный модуль, но и не танк. Основные риски:

  • перегрев корпуса и внутренней оптики;
  • статическое электричество;
  • попадание флюса внутрь корпуса.

Что стоит подготовить:

  • паяльник с тонким жалом, температура около 300–320 °C;
  • припой с флюсом (например, ПОС-61 с мягким флюсом);
  • жидкий флюс без кислоты (если используете — потом обязательно отмывать);
  • провода или разъём, который вы планируете использовать;
  • мультиметр;
  • по возможности — осциллограф или хотя бы логический анализатор для проверки UART.

Важно: не используйте паяльник мощнее 40–60 Вт без температурного контроля. Долгий нагрев пина может повредить внутренние соединения.

Как правильно спаять MH-Z14A

1. Определите распиновку

На стандартном модуле MH-Z14A есть гребёнка пинов (обычно 5–6 штук). Типовые обозначения:

  • VCC (или +) — питание 5 В;
  • GND — земля;
  • TX — выход UART датчика;
  • RX — вход UART датчика;
  • PWM (иногда) — ШИМ-выход;
  • SET (в некоторых версиях) — пин для управления режимом.

У разных производителей количество пинов и их порядок могут немного отличаться. Если на вашей плате нет маркировки — сверьтесь с документацией конкретного модуля, который у вас в руках.

2. Выберите способ пайки

У вас есть два основных варианта:

  • впаять сам модуль в плату напрямую;
  • припаять к модулю кабель/разъём и уже его встраивать в устройство.

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

3. Процесс пайки шаг за шагом

  1. Закрепите модуль. Положите его на ровную поверхность или в небольшую треть-руку. Пины должны быть доступны, корпус — зафиксирован.

  2. Подготовьте провода или контакты платы. Если паяете кабель — зачистите концы и залудите их. Если плату — убедитесь, что отверстия или контактные площадки чистые и залужены.

  3. Залудите пины модуля. Аккуратно нанесите флюс на контакты и коротко прикоснитесь паяльником, чтобы покрыть припоем каждый пин. Не держите паяльник дольше 1–2 секунд на одном контакте.

  4. Припаивайте по одному пину. Не паяйте все подряд, пока модуль висит в воздухе. Начните с GND и VCC — это база. Потом TX и RX. Если используете PWM — его тоже.

  5. Проверьте отсутствие коротких замыканий. Мультиметром в режиме прозвонки проверьте соседние пины: между VCC и GND не должно быть короткого замыкания, между TX и GND тоже.

  6. Отмойте флюс. Если использовали активный флюс — протрите плату или модуль изопропиловым спиртом (или специальным средством для промывки). Остатки флюса могут влиять на контакты и даже на измерения.

4. Подключение по UART

MH-Z14A работает по UART на скорости 9600 бит/с, 8N1 (8 бит данных, без четности, 1 стоп-бит). Логические уровни — 3,3 В. Если вы подключаете его к Arduino или STM32 — проблем быть не должно. Если к Raspberry Pi — тоже, потому что его UART тоже 3,3 В.

Если у вас логика 5 В (например, старые Arduino), на линию TX датчика лучше не подавать 5 В напрямую. Хотя в большинстве примеров люди подключают напрямую и работает, но для надёжности лучше использовать делитель напряжения на RX датчика (от вашего микроконтроллера к датчику).

Минимальное подключение для проверки:

  • VCC модуля → 5 В стабилизированного источника;
  • GND модуля → общий GND;
  • TX модуля → RX вашего микроконтроллера или USB-UART адаптера;
  • RX модуля → TX микроконтроллера (если планируете отправлять команды).

Не подключайте датчик к нестабильному питанию. Он чувствителен к просадкам напряжения, и при 5,5 В и выше может выйти из строя.

Первая проверка: работает ли датчик вообще

После пайки не спешите сразу калибровать. Сначала убедитесь, что он живой.

  1. Подайте питание. На модуле обычно загорается светодиод (если он есть на вашей версии). Если светодиода нет — просто проверьте мультиметром, что на VCC и GND есть 5 В.

  2. Подключите UART. Используйте USB-UART адаптер или Arduino с загруженным простым скетчем для чтения данных.

  3. Откройте терминал. Скорость 9600, 8N1. Датчик должен начать присылать пакеты с данными каждую секунду (в стандартном режиме).

  4. Считайте значение. В пакете данных есть байты, из которых собирается значение CO₂ в ppm. Если видите числа в районе 400–1500 ppm в обычном помещении — датчик работает.

Если датчик молчит:

  • проверьте подключение TX/RX (иногда их путают местами);
  • проверьте скорость UART;
  • проверьте, что питание стабильное и не проседает ниже 4,5 В;
  • попробуйте отключить и подключить питание заново — иногда модуль «зависает» после пайки из-за микрозамыканий.

Калибровка MH-Z14A: зачем и как

Заводская калибровка MH-Z14A — это хорошо, но не идеально. Если вам нужны более-менее точные показания (с погрешностью ±50–100 ppm), датчик стоит откалибровать. Особенно если вы используете его для управления вентиляцией или мониторинга воздуха в помещении.

У MH-Z14A есть несколько режимов калибровки:

  • автоматическая калибровка (ABC — Automatic Baseline Calibration);
  • ручная калибровка по известной концентрации CO₂;
  • калибровка в нуле (zero point) — на чистом воздухе снаружи.

Автоматическая калибровка (ABC)

ABC — это встроенная функция, которая предполагает, что раз в сутки (или в другом настраиваемом интервале) концентрация CO₂ в помещении падает до уровня наружного воздуха — примерно 400 ppm. Датчик запоминает минимальное значение за период и считает его «базовой линией».

Как включить/настроить ABC:

  1. Датчик должен работать в помещении, где есть проветривание (хотя бы иногда). Если он стоит в герметичной коробке — ABC не сработает корректно.

  2. По умолчанию ABC обычно включён с периодом 24 часа. Если вы хотите изменить интервал — это делается через команду по UART.

  3. Датчик сам корректирует базовую линию. Вам нужно просто дать ему возможность «дышать» свежим воздухом.

Когда ABC уместен:

  • датчик стоит в офисе, квартире, школе — где люди проветривают помещение;
  • вам не нужна абсолютная точность, а важна динамика и относительная корректность;
  • вы не хотите заморачиваться с газовыми смесями.

Когда ABC не подходит:

  • датчик работает в постоянно закрытом пространстве;
  • в помещении всегда повышенный CO₂ и нет периодов с ~400 ppm;
  • вам нужна привязка к реальным значениям, а не к «что датчик считает нормой».

Ручная калибровка по известной концентрации

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

Алгоритм ручной калибровки:

  1. Подготовьте среду с известной концентрацией CO₂. Самый простой вариант — выйти на улицу подальше от дорог и предположить, что там ~400 ppm. Более точный вариант — использовать калибровочный газ с известной концентрацией CO₂.

  2. Поместите датчик в эту среду. Дайте ему «выстояться» хотя бы 10–15 минут, чтобы внутренняя атмосфера стабилизировалась.

  3. Отправьте команду калибровки. Через UART отправляется специальный пакет, который сообщает датчику: «сейчас концентрация вот столько ppm». Датчик запоминает эту точку и корректирует показания.

  4. Проверьте результат. Через некоторое время датчик должен показывать значение близкое к вашей референсной концентрации.

Если у вас нет калибровочного газа, а есть другой, более точный датчик — используйте его как референс. Положите оба датчика рядом, подождите стабилизации показаний и откалибруйте MH-Z14A по референсным цифрам.

Калибровка в нуле (zero calibration)

Zero calibration — это частный случай ручной калибровки, когда вы выставляете датчику точку на чистом воздухе. Обычно это ~400 ppm.

Когда это делать:

  • после долгого хранения датчика;
  • если вы заметили систематический дрейф показаний;
  • если датчик долго работал в условиях очень высокого CO₂ и сбился.

Zero calibration не заменяет полноценную калибровку по двум точкам, но помогает вернуть датчик в разумный диапазон.

Сравнение подходов к калибровке

Подход Точность Сложность Нужно оборудование Когда использовать
ABC (автоматическая) Средняя Низкая Ничего дополнительно Бытовые помещения с проветриванием
Ручная по улице (~400 ppm) Средняя-высокая Низкая-средняя Нет (или референсный датчик) Если нет калибровочного газа
Ручная по калибровочному газу Высокая Средняя-высокая Газовая смесь, редуктор, камера Для ответственных измерений
По референсному датчику Зависит от референса Средняя Другой датчик с известной точностью Если есть доступ к хорошему NDIR-датчику

Частые ошибки при пайке и калибровке

  • Перегрев при пайке. Долгое касание паяльником приводит к повреждению внутренних соединений. Если датчик после пайки не отвечает — одна из первых версий: вы его перегрели.

  • Попадание флюса внутрь корпуса. Если флюс затекает под корпус, он может влиять на оптику и показания. Используйте минимальное количество флюса и всегда мойте после пайки.

  • Нестабильное питание. Если на линии 5 В есть помехи и просадки, датчик может выдавать скачки показаний или «зависать». Используйте стабилизатор и, при необходимости, конденсаторы по питанию.

  • Калибровка без стабилизации. Если вы откалибровали датчик сразу после включения или после переноса в другое место — показания будут нечестными. Дайте датчику поработать хотя бы 10–15 минут в условиях калибровки.

  • Использование ABC в закрытом помещении. Если датчик никогда не «видит» ~400 ppm, ABC будет уводить базовую линию не туда. В итоге показания будут систематически занижены или завышены.

  • Подключение к 5 В логике без делителя. Хотя MH-Z14A часто терпит 5 В на RX, долгосрочная работа на пределе снижает надёжность. Если у вас 5 В контроллер — делитель напряжения на линии TX→RX датчика — это не прихоть.

  • Ожидание идеальной точности. MH-Z14A — это не лабораторный анализатор. Даже после калибровки стоит ожидать погрешность в пределах ±50–100 ppm. Если вам нужна точность ±10 ppm — это другой класс датчиков и другой цены.

Какой вариант калибровки выбрать под вашу задачу

Сценарий 1: Домашний мониторинг воздуха в квартире или офисе.

Вам достаточно ABC. Убедитесь, что помещение проветривается, и датчик периодически «видит» свежий воздух. Если хотите больше уверенности — раз в пару месяцев выносите датчик на улицу на полчаса и сравнивайте с ожидаемыми ~400 ppm. При сильном расхождении — делайте ручную калибровку по улице.

Сценарий 2: Управление вентиляцией в теплице или офисе.

Здесь важна относительная точность и стабильность. Включите ABC, но добавьте периодическую ручную проверку по референсному датчику или по улице. Если вентиляция включается по порогу CO₂, даже небольшой дрейф может привести к постоянной работе или, наоборот, к отсутствию проветривания.

Сценарий 3: Вы делаете учебный проект или прототип.

Если это Ардуино-проект для себя, ABC + периодическая сверка с улицой — оптимальный вариант. Не стоит заморачиваться с калибровочным газом, если вы не претендуете на метрологическую точность.

Сценарий 4: Встраивание в коммерческий продукт.

Если вы делаете серийное устройство — калибровка на производстве по референсному датчику или газовой смеси становится необходимостью. В этом случае стоит заложить в процесс тестовую камеру и референсный анализатор. ABC можно оставить как дополнительный механизм самокоррекции в поле.

Практические рекомендации

  • Всегда мойте плату после пайки. Даже если используете «безотмывочный» флюс — лучше перестраховаться. Остатки флюса могут быть слабо проводящими или влиять на емкость контактов.

  • Держите датчик подальше от прямых источников CO₂. Не ставьте его прямо перед дыханием людей или рядом с горелками. Это не убьёт датчик, но ускорит дрейф и износ.

  • Если датчик долго не использовался — дайте ему прогреться. После хранения первые показания могут быть нестабильными. Подождите хотя бы 30 минут непрерывной работы перед тем, как доверять цифрам.

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

  • Не ждите от MH-Z14A точности лабораторного прибора. Это хороший компактный датчик для своих задач, но он не заменяет анализаторы с NIST-трейсом. Для бытовых и многих коммерческих задач его возможностей более чем достаточно.

Итог

Спаять MH-Z14A — задача несложная, если соблюдать аккуратность по температуре и флюсу. Главное — не перегревать пины, не допускать коротких замыканий и обязательно мыть плату после пайки. После пайки — проверить питание, подключить UART и убедиться, что датчик отдаёт данные.

Калибровка зависит от ваших требований:

  • для бытовых задач — достаточно ABC с периодической сверкой по улице;
  • для управления вентиляцией — ABC + ручная калибровка по референсу;
  • для коммерческих продуктов — ручная калибровка на производстве с референсным оборудованием.

Если вы сделали всё по этой инструкции, ваш MH-Z14A будет показывать честные значения CO₂, а не «что-то около». А это именно то, ради чего вы его вообще паяли.

radio-blog.ru — электроника и технологии