Winsen ZE15-CO

sadman41
Offline
Зарегистрирован: 19.10.2016

Как не угореть, имея Arduino - изучаем способы.

sadman41
Offline
Зарегистрирован: 19.10.2016
Большая просьба не комментировать этот пост, так как возможны дополнение и актуализация сведений, приведенных в нем.
 
Угарный газ (CO), что следует из определений Wikipedia - совсем не тот газ, что помогает весело проводить время, изменяя голос вдохнувшего, а хитрый и опасный  враг здоровью как Homo ullis, так и многих Non hominibus.
 
Забыл открыть заслонку в печи, не проверил тягу газовой колонки или в плоховентилируемом гараже завел ласточку: он тут, как тут - проникает из легких в кровеносную систему, где соединяется с гемоглобином. В результате кровь утрачивает способность переносить и доставлять тканям кислород, и организм очень быстро начинает испытывать его недостаток. 
 
Не успел при этом быстро отползти на свежий воздух - и вот ты уже на собеседовании у апостола Петра. 
 
Поговаривают, конечно, что все там будем. Но, ежели торопиться некуда, а хочется узнать кто победит в эпической битве за Марс - Илон Маск или Рогозин, либо дождаться окончания производства восьмибитных чипов, то без помощи умных приборов не обойтись никак.
 
В борьбе с угаром нам помогают разнообразные датчики, один из которых попал ко мне. Собственно, это даже не датчик, а готовый к использованию модуль ZE15-CO (https://www.winsen-sensor.com/sensors/co-sensor/ze15-co.html) с установленным на нём датчиком ME2-CO (https://www.winsen-sensor.com/sensors/co-sensor/me2-co.html). Обе единицы производены Zhengzhou Winsen Electronics Technology Co., выпускающей множество других интересных датчиков и модулей, таких как MH-Z19B, ZE08-CH2O и пр.(https://www.winsen-sensor.com/sensors/)
 
(извините, если картинки с Aliexpress перестали отображаться)
 
Сам по себе электрохимический сенсор ME2-CO, который мы видим на фото в виде бочонка, общается со внешним  миром на "аналоговом" уровне, но микроконтроллер модуля ZE15-CO делает волшебство и отдает наружу цифровое представление концентрации целевого газа. Таким образом - среднестатистическому ардуинщику можно пользоваться показаниями датчика почти не используя серое вещество. 
 
Если же этот ардуинщик заинтересуется принципом работы электрохимического датчика, то я ему помогу мультиком: "How do electrochemical-type sensors detect gas?"
 
Если по принципу работы уже немного понятно, то стоит определиться по поводу значений метрики - когда начинать переживать, а когда - уже спасаться.
 
По нормам ACGIH (American Conference of Governmental Industrial Hygienists) предельная пороговая концентрация TWA - 25 ppm (29 мг/м3). 
 
Из документа "Acute Exposure Guideline Levels for Selected Airborne Chemicals" следует, что "Environmental exposure to CO can occur while traveling in motor vehicles (9-25 ppm and up to 35 ppm); visiting urban locations with heavily traveled roads (up to 50 ppm); or cooking and heating with domestic gas, kerosene, coal, or wood (up to 30 ppm); as well as in fires and by environmental tobacco smoke."
 
U.S. Environmental Protection Agency по поводу норм в жилых помещениях высказывается так: "Average levels in homes without gas stoves vary from 0.5 to 5 parts per million (ppm). Levels near properly adjusted gas stoves are often 5 to 15 ppm and those near poorly adjusted stoves may be 30 ppm or higher."
 
Directive 2000/39/EC содержит более строгие лимиты: 20 ppm (23 мг/м3) TWA и 100 ppm (117 мг/м3) STEL.
 
Аббревиатуры означают: TWA (Time-Weighted Average) - за 8-часовую рабочую смену при 40-часовой рабочей неделе, STEL (Short-Term Exposure Limit) - не более 15 минут. 
 
Российские стандарты в частности, для рабочих зон (ПДКрз, аналог TWA) "ГН 2.2.5.3532-18", гласят, что ПДК при нахождении в атмосфере, содержащей оксид углерода:
- В течении рабочей смены - 20 мг/м3 (~17 ppm).
- Не более 1 ч - до 50 мг/м3;
- Не более 30 мин - до 100 мг/м3, 
- Не более 15 мин - 200 мг/м3. 
Повторные работы при условиях повышенного содержания оксида углерода в воздухе рабочей зоны могут проводиться с перерывом не менее, чем в 2 ч.
 
Для бытовых условий норматив таков (информация с сайтов газоснабжающих организаций, официального документа пока не нашёл):
- Максимальная разовая (ПДКмр) - 5 мг/м3 (~4.3 ppm);
- Среднесуточная (ПДКсс) - 3 мг/м3 (~2.5 ppm).
 
Где:
ПДКрз - предельно допустимая концентрация вредного (загрязняющего) вещества в воздухе рабочей зоны. Это такая концентрация вещества в воздухе, которая не вызывает у работающих людей при ежедневном вдыхании в пределах 8 часов в течение всего рабочего стажа заболеваний или отклонений от состояния здоровья, обнаруживаемых современными методами исследования непосредственно в процессе работы или в отдаленной перспективе.
ПДКсс - Предельно допустимая среднесуточная концентрация вредного (загрязняющего) вещества в воздухе населенных мест. Это такая концентрация вещества в воздухе населенного пункта, которая не оказывает на человека прямого или косвенного действия в условиях непосредственно долгого круглосуточного вдыхания
ПДКмр - Предельно допустимая максимальная разовая концентрация вредного (загрязняющего) вещества в воздухе населенных мест. Это такая концентрация, которая не вызывает рефлекторных реакций в организме человека.
 
Последствия вдыхания CO в разнообразных концентрациях:
- 0,01-0,02% (100-200 ppm) может вызвать легкое отравление. 
- 0,1% (1000 ppm) в течение часа приводит к острому отравлению средней тяжести; 
- 0,3% (3000 ppm) в течение получаса влечёт тяжелое отравление; 
- 0,4% в течение 30 мин или 0,5% на протяжении всего одной минуты приводит к смерти.
 
При интенсивном горении топлива в помещении с нарушенным воздухообменом (при герметично закрытых окнах и дверях, отсутствии тяги) смертельная концентрация угарного газа иногда достигается за считанные минуты.
 
Размышляя о всех этих цифрах, приходим к выводу: обнаружили дома CO в концентрации более, чем 4 ppm - начинаем вентилировать помещение; поняли, что за сутки ниже, чем 2.5 ppm не бывает - начинаем думать о переезде.
 
Для подключения модуля достаточно одного сигнального провода, представляющего собой передающую часть интерфейса UART, так как, по умолчанию, режим работы - "initiative upload mode". 
 
Однако, как всегда, с физическим подключением не всё так просто. ZE15-CO оборудован соединительной гребенкой с шагом 2mm, что делает невозможным его использование на "стандартных" 2,54mm макетках, бредбордах и пр. Будьте готовы к работе паяльником.
 
Как упоминалось выше, модуль начинает свою работу в режиме "initiative upload mode", т.е. сам, примерно раз в секунду, передает значение метрики  "Концентрация CO" в PPM (Parts Per Million). Дальше начинается веселый китайский треш: вы можете перевести модуль в режим "Запрос-ответ" путем посылки пакета определенного формата, на который будет выдан другой пакет, содержащий значение концентрации газа CO.  Однако, если в течении 30 секунд пакет с запросом не будет повторно передан модулю, он вновь переходит в режим "initiative upload mode" и начинает безостановочно спамить. Причём, форматы пакетов с концентрацией в этих двух режимах - различны. Небольшой компенсацией за такое безобразие служит бит #8 в значении концентрации. Он отображает мнение модуля о набортном датчике ME2-CO: 1 - неисправен, 0 - исправен. За индикацию исправности сенсора так же отвечает PIN3 - при возникновении проблемы на нём должен появиться "блинк" (1Hz, 10% duty cycle).
 
Надо отметить, что датчик достаточно селективен. При включении и прогоне в обычных бытовых условиях он постоянно выдавал мне значение в 0.5 PPM, чем даже заставил усомниться в своей работоспособности. В попытках его раскачать я применял разнообразные подручные средства, включая одеколон "Тройной". Реакции от ZE15-CO я не дождался, чего нельзя сказать о параллельно тестируемом MQ-7 - "Тройной" ему, к примеру, понравился.
 
После безрезультатных экспериментов с летучими веществами пришлось изыскать стеклянную банку, быстро опустошить её и, в последствии, выжечь внутри кислород. На это ZE15-CO отреагировал мгновенно.
 
 
 
D1mannnnn
Offline
Зарегистрирован: 17.11.2020

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

Подскажите Пожалуйста (дайте наводку), с чего начать... 

Хочу использовать данный модуль  ZE15-CO  для контроля угарного газа в деревне. Имеется контроллер, который понимает аналоговый сигнал (0-5V, 0-20 mA, 4-20mA). 

Что мне нужно чтобы получить сигнал 4-20mA с этого модуля?

Или как запрограммировать ардуино так, чтобы при значении, допустим, 200 ppm в течении 2 минут срабатывал контакт NC или NO.

расскажите пожалуйста к каким выводам модуля вы подключались?

Извините что вопросы глупые, но пока я не силен в этой теме((( Помогите прояснить ситуацию Пожалуйста.)

sadman41
Offline
Зарегистрирован: 19.10.2016

Исходя из документации, прямого выхода "4-20mA" у данного модуля нет.  Есть PIN10 - Analog Voltage Output (0.4~2V is corresponded to 0~500ppm). Я не знаю, линейная ли на нём зависимость напряжения от концентрации, лаборатории для подтверждения либо опровержения не имею. Полагаю, что, теоретически, можно сигнализацию сделать на компараторе типа LM393, не используя Arduino вовсе - вопрос только в способе проверке готового изделия заранее известной концентрацией газа.

Если не связываться с поверочными смесями и разными газовыми камерами, то, конечно, остается только UART с получением уже посчитанной концентрации от модуля. Это должен быть PIN8 - UART (TXD) TTL 3V Electric Level. Если действовать аккуратно, то данный выход можно подключить напрямую к Nano / Mini Pro / etc без преобразователей уровней. Далее - слушать вход МК, например, через SotwareSerial, разбирать пакет, доставать оттуда число, сравнивать с заданным. Я не писал понятную для постороннего человека отдельную процедуру чтения/обработки данных. Если разберетесь в этом коде, то используйте его фрагменты свободно. Ну, или можем договорится - напишу под заказ.

В вышеописанном случае с UART минимально необходимое физическое подключение таково: PIN15 - VCC, PIN14 - GND, PIN8 - данные с датчика.

Но, предупреждаю ещё раз - "стандартные" 2.54 разъёмы, гребенки, коннекторы - не подходят. Гребенка на модуле слишком мелкая, что по питчу, что по высоте контактов. Или искать соответствующие ответные части или тупо паяться к ней/вместо нее.

D1mannnnn
Offline
Зарегистрирован: 17.11.2020

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

Если не получиться, то обращусь за заказом, только как Вам написать напрямую? (что то не вижу такой возможно на этом форуме...) 

sadman41
Offline
Зарегистрирован: 19.10.2016

Лички нет не форуме, email: wrk.sadman@gmail.com