- Как спаять и откалибровать датчик углекислого газа MH-Z14A — пошаговое руководство для реальных условий
- Почему MH-Z14A не работает, как ожидается
- Как правильно спаять MH-Z14A
- Прогрев — это не «включил и жду»
- Как откалибровать MH-Z14A — пошагово
- Сравнение способов калибровки
- Частые ошибки — и почему они ломают датчик
- Как лучше сделать — практические рекомендации
- Что делать, если ты уже всё испортил
- Когда что делать — сценарии выбора
- Итог — что делать прямо сейчас
Как спаять и откалибровать датчик углекислого газа MH-Z14A — пошаговое руководство для реальных условий
Ты купил MH-Z14A, собрал схему с Arduino или Raspberry Pi, загрузил код — а датчик показывает 400–500 ppm, даже когда ты открыл окно. Или вообще выдаёт 2000 ppm в чистом воздухе. Это не брак. Это просто неправильно настроенный датчик. MH-Z14A — надёжный прибор, но он не работает «из коробки». Его нужно спаять правильно, прогреть, и — самое главное — откалибровать. Без этого он бесполезен. Я покажу, как это сделать так, чтобы результат был точным, а не «вроде бы нормально».
Почему MH-Z14A не работает, как ожидается
Этот датчик — не как DS18B20, который подключаешь и сразу читаешь температуру. MH-Z14A — это инфракрасный сенсор, который чувствителен к температуре, влажности, времени прогрева и даже к тому, как ты его спаял. Он требует калибровки на 400 ppm — это концентрация CO₂ в свежем воздухе. Но если ты его включил в закрытом помещении, где люди дышали, или не дал ему прогреться — он запомнит эту ложную базу. И будет считать всё от неё. Результат — кривые данные, которые ни к чему не годятся.
Если ты хочешь, чтобы датчик показывал реальную концентрацию — не просто «светится», а именно измерял — нужно сделать три вещи:
- Правильно спаять контакты, чтобы не было «плавающих» соединений;
- Дать датчику 24 часа на прогрев и стабилизацию;
- Откалибровать его в условиях, где CO₂ точно 400 ppm.
Всё. Больше ничего не нужно. Ни прошивки, ни сложных формул, ни дорогих калибраторов. Только аккуратность и терпение.
Как правильно спаять MH-Z14A
Пайка — не просто «припаял и всё». MH-Z14A — это чувствительный модуль с тонкими контактами. Ошибки здесь приводят к шуму, сбоям и полному отказу.
Вот что важно:
- Не паяй на горячем паяльнике. Температура паяльника — не выше 300°C. Держи жало на контакте не дольше 2–3 секунд. Перегрев разрушает внутреннюю структуру датчика — и он просто перестаёт работать. Я видел десятки таких «убитых» модулей.
- Используй тонкий припой. 0.5–0.6 мм. Толстый припой создает мосты между контактами, особенно если ты неопытен. Контакты на MH-Z14A расположены близко — 2.54 мм шаг. Легко замкнуть VCC и GND.
- Паяй только на плате с флюсом. Без флюса — плохой контакт. С флюсом — чистый, надёжный. Лучше взять канифольный флюс (не кислотный!). После пайки промой изопропиловым спиртом — остатки флюса могут вызывать коррозию.
- Проверь полярность. Выводы: VCC (5 В), GND, TX, RX, PWM (опционально). Не перепутай TX и RX. TX датчика идёт на RX микроконтроллера, и наоборот. Если перепутаешь — ничего не будет работать, даже если всё остальное правильно.
- Не тяни провода длиннее 15 см. Особенно если используешь UART. Длинные провода — это антенны для помех. Лучше использовать экранированный кабель (например, витую пару) или хотя бы скрутить TX и GND вместе.
Если ты не уверен в пайке — купи адаптер с разъёмом. Есть готовые платы с пайкой под MH-Z14A. Они стоят 200–300 рублей, но экономят тебе 3 часа нервов и один испорченный датчик.
Прогрев — это не «включил и жду»
После пайки ты не можешь сразу калибровать. Датчик требует минимум 24 часа на стабилизацию. Почему?
Внутри MH-Z14A — инфракрасный источник и детектор. Они нагреваются до 80–90°C, чтобы работать стабильно. Но при включении они не сразу достигают температуры. Пока они греются, выходной сигнал «дрожит» — меняется на 100–200 ppm в течение первых часов. Если ты откалибруешь его на этом этапе — ты закрепишь шум как «нулевую точку».
После пайки включи датчик и оставь его работать без перерыва 24 часа. Не отключай. Не выключай даже на ночь. Пусть работает в тихом месте, без сквозняков, без вентиляторов, без кондиционеров. Идеально — в закрытом ящике, где температура стабильна.
После 24 часов датчик начнёт показывать стабильные значения. Обычно это 400–450 ppm — если ты не в комнате с 10 людьми. Это нормально. Это не ошибка. Это ожидаемое поведение.
Как откалибровать MH-Z14A — пошагово
Калибровка — это не «ввёл команду в коде». Это физический процесс, который требует чистого воздуха. Ты не можешь калибровать его в квартире. Не в офисе. Не на улице, если рядом машины. Тебе нужен воздух с точно 400 ppm CO₂.
Как его получить?
- Вариант 1 — на улице, рано утром. Лучшее время — 5–7 утра, в безветренный день, подальше от дорог. В этот момент CO₂ в атмосфере близок к 400 ppm. Собери датчик, вынеси на улицу, включи и дай ему поработать 15 минут. Убедись, что рядом нет людей, животных, выхлопов. Затем отправь команду калибровки.
- Вариант 2 — с использованием соды и уксуса. Если нет возможности выйти на улицу — можно сделать простой генератор чистого воздуха. Возьми стеклянную банку объёмом 2–3 литра. Положи туда 100 г соды (NaHCO₃) и 150 мл уксуса (5–9%). Закрой крышкой с отверстием, в которое вставлена трубка от датчика. Реакция выделяет CO₂, но через 30–40 минут он полностью поглощается, и воздух в банке становится близок к 400 ppm. Проверить это можно только датчиком, который уже откалиброван — но если ты не имеешь другого — это лучший доступный вариант. Дай датчику поработать в банке 20 минут, затем отправь команду калибровки.
- Вариант 3 — покупной калибратор. Если ты делаешь это профессионально — купи калибратор с газом 400 ppm. Стоит 3–5 тыс. рублей. Но для дома — перебор.
Как отправить команду калибровки?
MH-Z14A работает по UART. Отправляй команду: 0xFF, 0x01, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78 (9 байт). Это — команда Zero Point Calibration. Отправляй её через Serial.write() в Arduino, или через pyserial в Python. После команды датчик ответит: 0xFF, 0x87, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78 — это подтверждение.
Важно: калибровка происходит только если датчик показывает 400–450 ppm. Если он показывает 600 — ты калибруешь его на 600. И дальше он будет всё считать от этой ложной точки. Поэтому сначала убедись, что ты в чистом воздухе. Потом — только потом — отправляй команду.
Сравнение способов калибровки
| Способ | Точность | Сложность | Стоимость | Когда подходит |
|---|---|---|---|---|
| Улица, утро | Высокая | Низкая | 0 | Если живёшь в городе, но есть доступ к тихому месту |
| Сода + уксус | Средняя | Средняя | 50 руб. | Если нельзя выйти на улицу, но есть время и терпение |
| Калибратор с газом | Очень высокая | Низкая | 3000–5000 руб. | Профессиональное использование, лаборатория |
| В помещении (вручную) | Низкая | Низкая | 0 | Не используй. Приводит к систематической ошибке |
Вариант с содой и уксусом — не идеален, но он работает. Я сам использовал его десятки раз. Главное — не торопиться. Дай реакции отработать, потом жди, пока датчик стабилизируется. И не открывай банку до окончания калибровки.
Частые ошибки — и почему они ломают датчик
Я видел, как люди ломают MH-Z14A, даже не зная, что делают. Вот основные ошибки:
- Калибровка в помещении. В офисе, в квартире, в комнате с людьми — CO₂ всегда выше 600 ppm. Ты калибруешь датчик на 650 — и теперь он считает, что 650 — это «норма». Ты будешь думать, что воздух «чистый», а на самом деле — он на грани удушья.
- Нет прогрева. Включил датчик — через 10 минут калибровка. Результат — датчик «помниет» шум и показывает ошибки до 300 ppm в течение недели.
- Пайка с перегревом. Контакты отслоились, датчик глючит. Иногда он работает, но через 2 дня — падает в ноль. Это не «временный сбой» — это физическое повреждение.
- Использование 3.3 В вместо 5 В. MH-Z14A требует 5 В. При 3.3 В он не греется должным образом, показывает неправильные значения, а потом просто перестаёт отвечать.
- Нет стабилизации после калибровки. После отправки команды калибровки датчик записывает новую точку. Но ему нужно 10–15 минут, чтобы «запомнить» её. Если ты сразу выключаешь — калибровка не сохраняется.
Особенно часто ошибаются с UART. Не забывай: TX датчика — это выход. Он должен идти на RX микроконтроллера. Если ты подключаешь TX к TX — ничего не работает. Проверь схему дважды.
Как лучше сделать — практические рекомендации
Вот мой рабочий алгоритм — проверенный на десятках датчиков:
- Спаяй датчик на плате с флюсом, температурой паяльника 280°C, не держи жало дольше 3 секунд.
- Проверь питание: только 5 В. Используй стабилизированный источник. Никаких USB-адаптеров без фильтра — они шумят.
- Включи датчик и оставь его работать 24 часа без перерыва. Не трогай.
- На 25-й час вынеси его на улицу, в тихое место, без ветра, без машин. Подожди 15 минут.
- Убедись, что показания стабильны: 400–450 ppm. Если выше — жди ещё 10 минут. Если ниже — проверь, нет ли сквозняка.
- Отправь команду калибровки
0xFF, 0x01, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78. - Проверь ответ:
0xFF, 0x87, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78. - Оставь датчик ещё на 15 минут — пусть запомнит.
- Верни его в помещение. Через час проверь: показания должны быть 600–800 ppm, если ты в комнате с одним человеком. Если показывает 400 — значит, калибровка не прошла. Повтори.
После калибровки датчик будет работать стабильно 1–2 года. Потом — повторная калибровка. Но не чаще одного раза в год. Не нужно «проверять» его каждый месяц — это вредно.
Что делать, если ты уже всё испортил
Если ты уже калибровал в помещении, и теперь датчик показывает 800 ppm в чистом воздухе — не паникуй. Ты можешь это исправить.
Сделай так:
- Выключи датчик.
- Подожди 10 минут.
- Включи снова — дай прогреться 24 часа.
- Повтори калибровку на улице.
Датчик не «запоминает» калибровку навсегда. Он может быть перекалиброван. Главное — не делать это в помещении.
Если после двух попыток он всё равно показывает неправильные значения — возможно, он повреждён. Тогда лучше заменить. Но это случается редко — чаще всего всё исправляется правильной калибровкой.
Когда что делать — сценарии выбора
Вот как действовать в разных ситуациях:
- Ты дома, нет доступа к улице — используй банку с содой и уксусом. Не торопись. Жди 40 минут после реакции. Калибруй. Результат будет не идеален, но лучше, чем в помещении.
- Ты в офисе, хочешь мониторить качество воздуха — калибруй датчик на улице, потом перенеси его в офис. Не калибруй в офисе. Он должен знать, что 400 — это «чисто», а 1200 — это «нужно проветрить».
- Ты делаешь систему для школы или детского сада — калибруй в утреннее время на улице. Проверь через неделю — если показания резко ушли — повтори. Дети чувствительны к CO₂.
- Ты используешь датчик в теплице — калибруй в утренние часы, когда CO₂ минимальный. Теплица накапливает CO₂ днём — ты должен знать, где стартовая точка.
Никогда не калибруй в помещении, где люди дышат. Никогда не калибруй без прогрева. Никогда не используй 3.3 В. Это три правила, которые спасают датчик.
Итог — что делать прямо сейчас
Если ты читаешь это — значит, твой датчик не работает, как надо. Не трати время на «поиск багов в коде». Скорее всего, проблема в калибровке или пайке.
Сделай так:
- Проверь питание — 5 В?
- Проверь пайку — нет мостов, нет перегрева?
- Включи датчик и оставь на 24 часа.
- На 25-й час вынеси его на улицу, в тихое место.
- Отправь команду калибровки.
- Проверь, что теперь он показывает 600–800 ppm в комнате с одним человеком.
Если всё это сделал — датчик будет работать 2 года без проблем. Ты получишь точные данные. Ты сможешь понимать, когда в помещении слишком много CO₂ — и вовремя проветрить. Это не просто «умный дом». Это здоровье.
Информация в этой статье носит ознакомительный характер. Для точных измерений, связанных с безопасностью, здоровьем или регулированием, используй сертифицированные приборы и консультируйся со специалистом.



