Czujniki z serii MQ
Czujniki gazu z serii MQ są przeznaczone głównie do wykrywania gazów palnych. Zasada działania sensorów opiera się na wykrywaniu zmian przewodności elektrycznej, gdy określone gazy wchodzą w kontakt z elementem pomiarowym czujnika. Materiał elementu pomiarowego charakteryzuje się długoterminową stabilnością dzięki właściwościom samokompensującym, które chronią go przed różnymi czynnikami środowiskowymi, w tym przed zmianami temperatury, wahaniami ciśnienia powietrza i chemicznym wpływem zanieczyszczeń.
Czujniki są oferowane przez różnych producentów chińskich, takich jak Henan Hanwei Electronics czy Winsen [2]. Poniżej zamieszczono listę kilku czujników gazu z serii MQ:
- MQ-2 – metan, butan, LPG, dym, wodór,
- MQ-3 – alkohol, etanol, dym,
- MQ-4 – metan, gaz CNG,
- MQ-5 – gaz ziemny, LPG,
- MQ-6 – LPG, gaz butanowy,
- MQ-7 – tlenek węgla (wymaga kluczowania grzałki),
- MQ-8 – wodór,
- MQ-9 – tlenek węgla, gazy łatwopalne (wymaga kluczowania grzałki),
- MQ131 – ozon,
- MQ135 – CO, amoniak, benzen, alkohol, dym,
- MQ136 – siarkowodór,
- MQ137 – amoniak, CO,
- MQ138 – benzen, toluen, alkohol, aceton, propan, formaldehyd, wodór.
Czujniki z serii MQ są umieszczone w okrągłej obudowie, z ustandaryzowanym ułożeniem wyprowadzeń (6 pinów) i mają niewielkie wymiary – wysokość to około 13 mm, średnica – ok. 20 mm [2]. Obudowa ma wbudowaną metalową siatkę, na którą może być nałożona tworzywowa osłona w różnych kolorach.
Prawie wszystkie wymienione powyżej czujniki z serii MQ wymagają napięcia zasilania 5±0,1 V. Przy typowej rezystancji grzejnika ok. 30 Ω wymagają zatem ok. 150 mA prądu, czyli ok. 0,8 W. Trochę inaczej wygląda sytuacja w przypadku czujników MQ-7 i MQ-9 – te potrzebują dodatkowo kluczowania zasilania grzejnika pomiędzy 5 V oraz 1,5 V, z odpowiednim cyklem pomiarowym. W artykule „Zastosowanie czujnika MQ-7 do pomiaru tlenku węgla (CO)” [1] został dokładnie opisany czujnik MQ-7 oraz moduł pomiarowy modMQ-7, wraz z konieczną jego modyfikacją.
Czujnik MQ-2
MQ-2 jest jednym z powszechnie używanych czujników gazu należących do serii MQ. Jest to sensor typu Metal Oxide Semiconductor (MOS), znany również jako chemorezystor, ponieważ wykrywanie opiera się na zmianie rezystancji materiału chemoczułego, gdy gaz wchodzi z nim w kontakt. Stężenia gazu można wykrywać za pomocą prostego dzielnika napięcia.
Czujnik gazu MQ-2 wymaga zasilania 5±0,1 V DC i zużywa około 800 miliwatów energii. Wykrywa kilka rodzajów gazów, w tym LPG (gaz płynny), dym, alkohol, propan, wodór, metan i tlenek węgla.
Typowe zakresy pomiarowe:
- od 200 ppm do 5000 ppm (LPG, propan),
- od 300 ppm do 5000 ppm (butan),
- od 100 ppm do 2000 ppm (etanol C2H5OH),
- od 5000 ppm do 20000 ppm (metan),
- od 300 ppm do 5000 ppm (wodór H2).
Rezystancja elementu pomiarowego (Rs) wynosi 3...30 kΩ przy stężeniu butanu równym 1000 ppm.
Ważne jest, aby pamiętać, że chociaż czujnik MQ-2 może wykrywać wiele różnych gazów, to nie jest w stanie wskazać dokładnie, który z nich ma określone stężenie lub jaki jest skład mieszaniny.
MQ-2 wymaga użycia wewnętrznej grzałki do wykrywania gazów. Ponieważ ma do czynienia z gazami palnymi, bardzo ważne jest bezpieczeństwo – dlatego sensor ma dwie warstwy bardzo cienkiej siatki ze stali nierdzewnej, owinięte wokół niego i znane jako „sieć antywybuchowa” (fotografia tytułowa). Siatka ta zapobiega spowodowaniu przez grzałkę pożaru lub wybuchu, jeśli pracuje ona w obecności gazów łatwopalnych. Oprócz zapewnienia bezpieczeństwa, siatka działa również jako filtr ochronny, blokujący przedostawanie się kurzu i cząstek stałych i pozwalając jedynie na penetrowanie wnętrza czujnika przez gazy. Siatka jest mocno utrzymywana na miejscu przez miedziany pierścień, który zaciska się wokół niej i łączy się z resztą korpusu czujnika.
Po ostrożnym usunięciu zewnętrznej siatki można zobaczyć wnętrze czujnika (rysunek 1). W jego sercu znajduje się element czujnikowy przymocowany do sześciu metalowych nóżek, które wystają z okrągłej, plastikowej podstawy. Nóżki są ułożone w gwiazdę. Spośród sześciu pinów dwie (oznaczone jako H) służą do podgrzewania elementu pomiarowego i są połączone z cewką wykonaną ze stopu niklowo-chromowego. Ta specjalna mieszanka metali dobrze przewodzi prąd i może wytrzymać bardzo wysokie temperatury bez topienia się lub pękania.
Pozostałe cztery wyprowadzenia (oznaczone A i B) odpowiadają za przenoszenie sygnałów elektrycznych z elementu pomiarowego do zewnętrznej elektroniki. Łączą się one z elementem pomiarowym za pomocą przewodów platynowych. Platyna jest stosowana ze względu na jej doskonałą przewodność elektryczną.
Sam element pomiarowy wygląda jak mała rurka (rysunek 2). Wykonany jest z ceramiki tlenku glinu (Al2O3), z cienką warstwą dwutlenku cyny (SnO2). Kluczowym materiałem jest tutaj dwutlenek cyny, ponieważ reaguje chemicznie z gazami łatwopalnymi, powodując zmiany rezystancji, które czujnik może zmierzyć. Ceramiczna obudowa również spełnia ważną funkcję. Zapewnia równomierne rozprowadzanie ciepła z grzejnika i utrzymuje czujnik w odpowiedniej temperaturze roboczej.
Jak działa czujnik MQ-2?
Po włączeniu czujnik gazu MQ-2, zaczyna podgrzewać wewnętrzną warstwę półprzewodnika – dwutlenku cyny (SnO2) – do wysokiej temperatury. W tych warunkach cząsteczki tlenu z powietrza adsorbują do powierzchni dwutlenku cyny. Te zaadsorbowane cząsteczki tlenu odciągają wolne elektrony od dwutlenku cyny, co tworzy „obszar zubożenia elektronów” w pobliżu powierzchni. To zaś sprawia, że dwutlenek cyny ma wysoką oporność.
Gdy gazy palne dostają się do czujnika, reagują z cząsteczkami tlenu, na powierzchni dwutlenku cyny. Taka reakcja chemiczna uwalnia elektrony, które były dotąd utrzymywane przez tlen. Gdy elektrony wracają do dwutlenku cyny, obszar zubożenia elektronów staje się mniejszy, a to redukuje opór, umożliwiając przepływ większego prądu przez czujnik.
Czujnik MQ-2 działa poprzez wykrywanie tych zmian w oporności elektrycznej. Im więcej jest gazu palnego, tym więcej cząsteczek tlenu reaguje, a oporność maleje. Umożliwia to nie tylko wykrywanie zarówno obecności, ale i pomiar stężenia gazu w powietrzu.
Moduły z czujnikami serii MQ
Moduły z czujnikami MQ są oferowane przez wielu producentów i dystrybutorów, zarówno krajowych, jak i zagranicznych. Z uwagi na jednakowy układ wyprowadzeń wymagają (w zasadzie) takiego samego, zewnętrznego układu elektrycznego. Dlatego ta sama płytka drukowana jest zwykle stosowana z wlutowanymi różnymi czujnikami z tej serii.
Niektóre moduły mają zastosowaną podstawkę, do której wkładany jest czujnik. Wtedy moduł może stanowić uniwersalną platformę dla różnych sensorów MQ. Oferowane są również same płytki drukowane (adaptery) do wlutowania omawianych elementów.
Moduł Analog Gas Sensor MQ-2 (SEN127) firmy DFRobot [4] zawiera na płytce tylko czujnik, rezystor obciążenia (potencjometr 10 kΩ), kondensator odsprzęgający zasilanie 5 V i złącze w standardzie Gravity (fotografia 1). Moduły z czujnikami MQ3/4/6/7/8/9 są lutowane na takiej samej płytce drukowanej.
Moduł Grove – Gas Sensor (MQ-2) firmy SeeedStudio [5] zawiera to samo, co na poprzednio opisanej płytce, a dodatkowo ma podstawkę do włożenia czujnika oraz przetwornicę DC/DC, dostarczającą napięcie 5 V (fotografia 2).
Moduł modMQ-2 firmy Kamami [6] z czujnikiem MQ-2 (fotografia 3) ma wyjście analogowe oraz wyjście cyfrowe, wyzwalane przekroczeniem ustalonego progu czułości.
Najwięcej spośród oferowanych płytek zapewnia zgodność z modułem modMQ-2. Typowo różnią się one tylko nadrukami, czasami są w nich zastosowane trochę inne wersje elementów pasywnych. Standardowo nie jest także dostępny schemat ideowy. Układ elektryczny jest jednak taki sam, jak w przypadku modułu modMQ-7, opisanego w poprzednim artykule [1]. Sygnał wyjściowy z czujnika MQ-2, z obciążenia 4,7 kΩ, jest podawany na wyjście analogowe i wejście komparatora LM393 z regulacją poziomu komparacji za pomocą potencjometru 10 kΩ. Grzejnik jest zasilany napięciem 5 V z szeregowym rezystorem 5,1 Ω.
Moduł MQ-2 Gas Sensor (SKU: 9532) firmy Waveshare [6] (fotografia 4) ma w zasadzie taki sam układ, jak moduł poprzedni. Tym razem jest jednak dostępna dokumentacja ze schematem. Dodatkowo układ ma zamontowaną przetwornicę DC/DC. Przy napięciu wejściowym 2,5…5 V daje ona stałe napięcie 5 V, niezbędne do zasilania czujnika. Niestety przetwornica ma bardzo duży prąd rozruchu (1,17 A), a pobór prądu w trakcie pracy z obciążeniem 150 mA ma formę szpilek prądowych 0,8 A. Powoduje to wprowadzanie sporych zakłóceń wstecznych (do źródła zasilania). Taka praca przetwornicy powoduje w sygnale wyjściowym zakłócenia szpilkowe o amplitudzie kilkudziesięciu mV. Oznacza to praktycznie nieprzydatność modułu do jakichkolwiek rzetelnych pomiarów.
Moduł modMQ-9 firmy Kamami z czujnikiem MQ-9 wykonuje pomiar stężenia metanu, propanu oraz tlenku węgla (10...10 000 ppm). Ma taki sam schemat i płytkę, jak moduł modMQ-2.
Czujniki z serii Fermion
Seria Fermion firmy DFRobot obejmuje wiele różnych typów czujników gazu, opracowanych z zastosowaniem technologii MEMS (HCHO, H2, CO, CH4, VOC, NH3, NO2, H2S, EtOH, dym, różne zapachy). Charakteryzują się one niskim napięciem zasilania i małymi rozmiarami. Moduły SEN563-SEN574 mają taki sam układ płytki oraz pełną dokumentację czujnika oraz PCB.
Fermion: Detektor wielogazowy MEMS (SEN0440)
Moduł detektora wielogazowego MEMS (SEN0440) firmy DFRobot [7] opiera się na układzie MiCS-5524 firmy Amphenol SGX Sensortech, wykonanym w technologii MEMS (fotografia 5). Czujnik wykrywa stężenie i wyciek gazów, takich jak czad (CO), metan (CH4), etanol (C2H5OH), propan (C3H8), butan (C4H10), wodór (H2), siarkowodór (H2S) i amoniak (NH3). Czujnik wykrywa jedynie stężenie gazów w powietrzu, ale nie rozróżnia ich typu. Korzystając z niego, nie można zatem ustalić, który z gazów został wykryty.
Parametry czujnika MiCS-5524 [7]:
- zasilanie elementu pomiarowego: 4,9… 5,1 V,
- rezystancja elementu pomiarowego w czystym powietrzu (min./max.): 100/1500 kΩ,
- typowe zakresy pomiarowe:
- od 1 ppm do 1000 ppm (tlenek węgla CO),
- od 10 ppm do 500 ppm (etanol C2H5OH),
- od 1 ppm do 1000 ppm (wodór H2),
- od 1 ppm do 500 ppm (amoniak NH3),
- > 1000 ppm (metan CH4),
- czas odpowiedzi: < 20 s,
- zakres napięcia wyjściowego: 0…5 V,
- zasilanie grzejnika (typ): 2,4 V,
- rezystancja grzejnika (typ): 66 Ω,
- prąd grzejnika (typ): 32 mA,
- wymiary: 5×7×1,5 mm,
- trwałość: ≥ 2 lat (ciągłego stosowania).
Przy zastosowaniu typowego napięcia zasilania 5 V, do zasilania grzejnika wystarczy szeregowy rezystor 82 Ω. Rezystor obciążenia elementu pomiarowego musi natomiast mieć rezystancję większą niż 820 Ω.
Producent podaje, że czujnik jest przydatny do monitorowania jakości powietrza we wnętrzach, monitorowania oddechu oraz wczesnego wykrywania ognia. Producent nie podaje wymagania wstępnego wygrzewania czujnika po dłuższym magazynowaniu. Na forach dyskusyjnych zalecany jest jednak czas 3 minut.
Moduł SEN0440 ma tranzystor pracujący jako klucz zasilania 5 V (wyłączanie wysokim poziomem logicznym). Moduł pracuje z rezystancją obciążenia 91 kΩ (z równoległym kondensatorem 100 nF). Czujnik bardzo szybko reaguje na zmiany stężenia gazów pomiarowych.
Napięcie wyjściowe może wzrosnąć nawet powyżej 4 V. Producent – firma DFRobot – podaje nawet zakres napięcia wyjściowego 0…5 V. Oznacza to kłopoty dla przetworników ADC z zasilaniem 3,3 V. Wysoka rezystancja wyjściowa powoduje zwiększoną wrażliwość na zakłócenia zewnętrzne.
Fermion: Detektor dymu MEMS (SEN0570)
MEMS Smoke Gas Detection Sensor (SEN0570) firmy DFRobot [8] bazuje na układzie GM-202B firmy Winsen (fotografia 6). Moduł wykrywania dymu (i alkoholu CH5OH) korzysta z najnowocześniejszej technologii MEMS, dzięki której czujnik oferuje kompaktowe wymiary (13×13×2,5 mm), niskie zużycie energii, minimalną ilość wytwarzanego ciepła, a także krótkie czasy nagrzewania wstępnego i odpowiedzi na zmiany stężeń.
Parametry czujnika GM-202B [8]:
- zasilanie elementu pomiarowego: ≤ 24 V (standardowo 2,5 V),
- rezystancja elementu pomiarowego (Rs): 1...30 kΩ (przy 200 ppm CH5OH),
- zakres pomiarowy: 10...1000 ppm (CH5OH),
- zasilanie grzejnika (typ): 2,5±0,1 V,
- rezystancja grzejnika (typ): 80 Ω,
- prąd grzejnika (typ): ok. 17 mA (zmierzony),
- wymiary: 5×5×1,55 mm,
- trwałość: ≥ 5 lat (w powietrzu).
Moduł SEN0570 pracuje z rezystancją obciążenia 4,7 kΩ. Przy wzroście koncentracji w powietrzu dymu (lub alkoholu) rezystancja czujnika Rs maleje. Oznacza to wzrost napięcia wyjściowego.
Moduł ma układ LDO dostarczający napięcie 2,5 V do zasilania grzejnika. Umożliwia to zasilanie modułu w zakresie 3,3…5 V. Należy jednak pamiętać, że element pomiarowy pracuje z napięciem wejściowym zasilania, a zatem wyjściowe napięcie pomiarowe jest zależne proporcjonalnie od napięcia zasilania. Oznacza to konieczność zastosowania stabilnego i czystego zasilania modułu.
Po długotrwałym przechowywaniu bez podłączonego napięcia należy wstępnie podgrzać czujnik, aby osiągnąć wewnętrzną równowagę chemiczną. Po przerwie krótszej niż miesiąc sugerowane jest wstępne podgrzewanie o czasie nie krótszym niż 48 godzin.
Fermion: Detektor tlenku węgla MEMS (SEN0564)
MEMS Carbon Monoxide CO Gas Detection Sensor (SEN0564) firmy DFRobot [9] jest wyposażony w układ GM-702B firmy Winsen (fotografia 7). Moduł wykrywania tlenku węgla (CO) z czujnikiem w technologii MEMS oferuje małe wymiary (13×13×2,5 mm), niskie zużycie energii (<20 mA), minimalne wytwarzanie ciepła, krótkie czasy nagrzewania wstępnego i odpowiedzi sygnałowej.
Parametry czujnika GM-702B [9]:
- zasilanie elementu pomiarowego: 2,5±0,1 V,
- rezystancja elementu pomiarowego (Rs): 1...30 kΩ (przy 100 ppm CO),
- zakres pomiarowy: 5...5000 ppm (CO),
- zasilanie grzejnika (typ.): grzanie 2,5±0,1 V; pomiar 0,5±0,1 V,
- rezystancja grzejnika (typ.): 80 Ω,
- czas grzania: 60±1 s,
- czas pomiaru: 60±1 s,
- wymiary: 5×5×1,55 mm.
Moduł SEN0564 ma układ LDO dostarczający napięcie 2,5 V do zasilania grzejnika i elementu pomiarowego, co pozwala na zasilanie modułu w zakresie 3,3…5 V. Czujnik pracuje z rezystancją obciążenia 10 kΩ.
Po długotrwałym przechowywaniu bez zasilania należy wstępnie podgrzać czujnik przez minimum 48 godzin.
Modyfikacja modułu SEN0564
Niestety moduł SEN0564 nie umożliwia wymaganego przełączania napięcia zasilania grzejnika czujnika GM-702B. Można to zrealizować poprzez dodanie dwóch tranzystorów MOSFET oraz trzech rezystorów (rysunek 3). Przy niskim poziomie na wejściu CTRL oba tranzystory są wyłączone i grzejnik czujnika GM-702B jest zasilany poprzez rezystor R3 (411 Ω), dzięki czemu napięcie na grzałce wynosi około 0,5 V. Podanie wysokiego napięcia na wejście CTRL włącza oba tranzystory i zasilanie grzałki jest pobierane bezpośrednio z LDO 2,5 V. Warto dodać, że grzałka ma nieliniową charakterystykę rezystancji względem napięcia.
Elementy zostały położone bezpośrednio na płytkę drukowaną i dolutowane do pól lutowniczych. Dodatkowe połączenia zostały wykonane przewodami.
Moduł SEN0564 po modyfikacji pobiera z zasilania 3,3 V:
- w fazie grzania (H) ok. 17 mA – tranzystory włączone,
- w fazie pomiaru (L) ok. 5 mA prądu – tranzystory wyłączone.
Płytka RPi Pico 2 firmy Rasberry Pi
Mikrokontroler RP2350 zawiera dwa rdzenie Arm Cortex-M33, 150 MHz z obsługą obliczeń zmiennoprzecinkowych i DSP oraz dwa rdzenie RISC-V Hazard 3, 150 MHz. Nowe płytki Pico 2 i Pico 2W firmy Raspberry Pi z procesorem RP2350A są zgodne elektrycznie z płytkami Pico z pierwszej serii (Pico/Pico W). Dokładny opis jest zamieszczony w artykule „Płytka Raspberry Pi Pico 2/2W z procesorem RP2350” [10].
Pico 2 ma wbudowaną przetwornicę buck-boost, która dostarcza 3,3 V (do zasilania RP2350 i obwodów zewnętrznych) z szerokiego zakresu napięć wejściowych (od 1,8 do 5,5 V). Umożliwia to znaczną elastyczność w zasilaniu urządzenia z różnych źródeł, takich jak pojedyncze ogniwo litowo-jonowe lub 3 ogniwa AA połączone szeregowo. Najprostszym sposobem zasilania Pico 2 jest podłączenie kabla do gniazdka micro USB. W nocie katalogowej Pico 2/2W jest pokazane, jak poprzez dodanie tranzystora MOS można zrealizować potrzymanie bateryjne zasilania płytki.
Zmodyfikowany moduł DFRobot I²C ADS1115
Moduł DFRobot I²C ADS1115 (DFR0553) firmy DFRobot [11] zawiera układ przetwornika analogowo-cyfrowego ADS1115. Zasilanie układu ADS1115 jest realizowane przez układ LDO typu LP5907MFX-3.3, dostarczający do 250 mA prądu przy napięciu 3,3 V. Przy spadku napięcia na tym układzie wynoszącym 50/250 mV dla 100/250 mA układ można zasilać napięciem z przedziału 3,55…5,5 V. Doskonale pasuje on do typowego zakresu zasilania z jednego ogniwa Li-Po. Układ ADS1115 obsługuje transmisję na łączu I²C. Moduł został nieco zmodyfikowany:
- na dolnej stronie płytki drukowanej należy przeciąć ścieżkę idącą do pinu 4 („+”) gniazdka P1,
- przewodem należy połączyć nóżkę 1 przełącznika S1 (oznaczenie 0x49) oraz katodę diody D1.
Wtedy pin 4 („+”) gniazdka P1 oraz piny 1–4 („+”) gniazdka P4 wyprowadzają regulowane, czyste napięcie 3,3 V. Do pracy z układem ADS115 została zastosowana biblioteka języka MicroPython [12].
Pico Inky Pack – moduł z wyświetlaczem e-Paper
Pico Inky Pack (PIM634) firmy Pimoroni to moduł z czarno-białym wyświetlaczem e-Paper o przekątnej 2,9” i rozdzielczości 296×128 pikseli, dedykowany do minikomputerów Raspberry Pi Pico oraz Raspberry Pi Pico W. Ma wbudowany kontroler, który realizuje komunikację za pomocą interfejsu SPI. Wyświetlacze e-Paper cechują się wysokim kontrastem wyświetlanego obrazu i pobierają prąd tylko podczas zmiany wyświetlanej treści. Moduł ma wbudowane trzy przyciski. Jest zasilany z szyny 3V3 modułu Pico. Sterowanie wyświetlaczami z poziomu RPi Pico w języku MicroPython jest możliwe przy użyciu zmodyfikowanej biblioteki graficznej Pico Graphics.
Ekspander szyny RPi Pico
Ekspandery szyny RPi Pico firmy Pimoroni wyposażone zostały w jedno standardowe złącze żeńskie do bezpośredniego wpięcia płytki z serii RPi Pico oraz zestawy męskich listew 2×20 pinów, które umożliwiają podłączenie dodatkowych modułów rozszerzeń. Etykiety pinów, umieszczone na górnej stronie płytki, znacznie ułatwiają prototypowanie. Ekspander Pico Decker (Quad Expander) (PIM555) ma cztery zestawy męskich listew, a Pico Omnibus (Dual Expander) PIM556 – dwa zestawy.
Dołączanie elementów do płytki RPi Pico 2
Układ został skompletowany z użyciem płytki Raspberry Pi Pico 2, modułu ADS1115, ekspandera szyny Pico Omnibus oraz wyświetlacza e-Paper typu Pico Inky Pack.
Do płytki Raspberry Pi Pico 2 można wlutować złącza goldpin. Najlepiej zastosować złącza z dłuższymi pinami. Wtedy po wpięciu płytki do ekspandera (Pico Omnibus) jest dodatkowo zachowany pełny dostęp do wszystkich zasobów płytki. Bezpośrednio do męskich listew ekspandera został dołączony moduł Pico Inky Pack.
Moduł ADS1115 został dołączony do ekspandera z zastosowaniem standardowych kabelków BLS. Linie I²C modułu zostały dołączone do szyny I2C0 płytki Pico 2 (GP4 SDA, GP5 SCL).
Praca płytki Pico 2 z czujnikami serii MQ i Fermion
Przygotowanie środowiska programowego jest dokładnie opisane w artykule „Płytka Raspberry Pi Pico 2/2W z procesorem RP2350” [10]. W celu samodzielnego zbudowania opisywanego systemu należy pobrać i zainstalować najnowszy interpreter MicroPythona dla Pico 2 oraz kod aplikacji z pliku Gas_sensors.zip (https://ep.com.pl/files/mrl/13733-internet_rzeczy_w_pomiarach_srodowiskowych_18.zip).
W prototypie zostały zastosowane moduły SEN0564 (GP2, AIN3) i SEN0440 (GP3, AIN0), zasilane napięciem 3,3 V dostarczanym przez moduł ADS1115 oraz moduły MQ-7 (GP1, AIN2) i MQ-9 (GP1, AIN4), zasilane z szyny VBUS (5 V). Zastosowano sterowanie kluczowania modułów (GP1…3) z fazą grzania 60 s i fazą pomiaru 90 s. Przetwornik ADC pracuje w trybie pojedynczego pomiaru z najdłuższym możliwym czasem przetwarzania (125 ms). Każdy pomiar jest powtarzany 10 razy i uśredniany. Wyniki pomiarów w czterech kanałach są wysyłane do aplikacji Thonny i w postaci liczbowej pokazywane do okna Shell oraz (w postaci wykresu) do okna Plot. Przykładowy widok środowiska Thonny w trakcie pracy aplikacji pomiarowej pokazano na rysunku 4.
Dodatkowo wyniki są zapisywane do pliku CO_gas_data.txt. Umożliwia to późniejszą pełną analizę – szczególnie że pomiary są wykonywane w odstępach ponad 2,5 minuty, co oznacza długi czas zbierania danych.
Zastosowanie przetwornika ADS1115 ograniczyło liczbę kanałów jednoczesnego pomiaru do czterech. Pomiary były wykonywane co 2 min 35 s. Praca przetwornika ADC jest sygnalizowana diodą LED na płytce Pico 2.
Napięcia wyjściowe modułów z czujnikami z obu serii, po długim czasie magazynowania mogą być bardzo duże i wynosić ponad 4 V, co powoduje przekroczenie zakresu wejściowego napięcia przetwornika ADS1115, który wynosi maksymalnie VCC+0,3 V (czyli 3,6 V).
Jednak po kilkugodzinnym wygrzewaniu czujników napięcie początkowe jest zdecydowanie niższe. Przykładowe wyniki pomiarów po 12 godzinach wstępnego wygrzewania i jednej dobie wyłączenia zasilania czujników pokazano na rysunku 5. Wydaje się, że najprostszym rozwiązaniem problemu po dłuższym nieużywaniu czujników jest ich wstępne wygrzewanie bez podłączania do wejść przetwornika ADC.
Podczas prac nad prototypem został przeprowadzony test czujników z zastosowaniem testera czujników CO w aerozolu [13], przeznaczonego do testowania detektorów tlenku węgla oraz czujników dymu tytoniowego. Umożliwia on proste i szybkie sprawdzenie prawidłowości działania czujnika CO.
Testy przeprowadzono po 12 godzinach ciągłej pracy. Cztery czujniki zostały umieszczone obok siebie. W pierwszym teście gaz był rozpylany w powietrzu tuż obok czujników, bezpośrednio przed pomiarem nr 8 (rysunek 6). Następnie czujniki zostały umieszczone w woreczku strunowym z pozostawieniem małego otworu na rurkę zamocowaną na dozowniku. W drugim teście gaz był podawany do woreczka przez 3 sekundy bezpośrednio przed pomiarem nr 17. Do wizualnego obserwowania eksperymentów na bieżąco bardzo pomocny okaże się wykres (Plot) dostępny w środowisku Thonny.
Każdy z czujników reagował inaczej. Najszybciej na zmiany odpowiadał MQ-9. Napięcie pomiarowe szybko wracało także do wartości bliskiej początkowej. Podobnie sprawnie reagował sensor MQ-7. Czujnik SEN0440 zareagował na pierwszy test ze sporym opóźnieniem.
Po obu testach raportował on przez długi czas podniesiony poziom stężenia (sztucznie zawyżone napięcie pomiarowe). Zmodyfikowany moduł czujnika SEN0564 w obu testach nie zareagował na CO. Dodatkowa próba z oryginalnym modułem zakończyła się tak samo.
Wymaga to dokładniejszych badań. Za to dodatkowa próba z czujnikiem MQ-2 wypadła pozytywnie.
Tak bardzo proste warunki umożliwiają tylko sprawdzenie, czy czujnik reaguje na obecność CO. Wydaje się, że odpowiedź czujników dla małego stężenia CO może być różna przy różnej czułości.
Podsumowanie
Czujniki z serii MQ można bardzo tanio (za kilka złotych) kupić na chińskich portalach sprzedażowych. Ale już wiarygodne zastosowanie modułu z takim czujnikiem nie jest łatwe. Sensor wymaga czystego i dokładnego napięcia zasilania 5±0,1 V, przy dosyć dużym prądzie na poziomie ok. 160 mA. W obecnych systemach mikroprocesorowych z typowym zasilaniem 3,3 V nie jest to łatwe do zrealizowania. Czujniki MQ-7 i MQ-9 wymagają ponadto kluczowania zasilania grzałki, a fabryczne moduły w ogóle tego nie umożliwiają. Moduły z przetwornicami DC/DC na płytce w zasadzie nie nadają się do rozsądnego zastosowania z uwagi na poziom szumów.
Czujniki z serii Fermion w technologii MEMS są prostsze do zasilenia (3,3 V). Dane katalogowe obiecują też szybką i silną odpowiedź na wystąpienie mierzonych gazów. Jednak to również wymaga dokładniejszego sprawdzenia, zwłaszcza w testach porównawczych.
Przeprowadzone zostały bardzo proste eksperymenty z wykrywaniem gazu CO. Kolejny planowany eksperyment pomoże sprawdzić zachowanie tych czujników w porównaniu z nowoczesnym czujnikiem środowiskowym BME688.
Czujniki z serii MQ i Fermion mierzą stężenie gazu lub dymu w praktyce niemalże tylko w sposób jakościowy. Producenci ostrzegają, że moduły są przeznaczone do celów edukacyjnych i hobbystycznych. Nie ma gwarancji ich prawidłowego działania w zastosowaniach medycznych, ochronnych lub podobnych.
Warto dodać, że sensory reagują tylko na skład powietrza docierającego bezpośrednio do wnętrza czujnika. Tak więc czas i poziom reakcji czujnika zależy od miejsca jego umieszczenia, przepływu powietrza i innych czynników zewnętrznych.
Henryk A. Kowalski
Instytut Informatyki
Politechnika Warszawska
Literatura:
[1] Zastosowanie czujnika MQ-7 do pomiaru tlenku węgla (CO), EP 5/2025, https://ep.com.pl/projekty/moduly-w-aplikacjach/16506-internet-rzeczy-w-pomiarach-srodowiskowych-17-zastosowanie-czujnika-mq-7-do-pomiaru-tlenku-wegla-co
[2] Winsen MQ Sensor, https://www.winsen-sensor.com/mq-sensor.html
[3] How MQ2 Gas/Smoke Sensor Works? & Interface it with Arduino, 2025, Last Minute Engineers, https://lastminuteengineers.com/mq2-gas-senser-arduino-tutorial/#google_vignette
[4] Air Sensors, https://www.dfrobot.com/category-85.html
[5] Grove – Gas Sensor(MQ2) (SKU 101020055), https://www.seeedstudio.com/Grove-Gas-Sensor-MQ2.html
[6] modMQ-2 – moduł z czujnikiem stężenia gazów palnych oraz dymu, Kamami, https://kamami.pl/czujniki-gazow/211357-modmq-2-modul-z-czujnikiem-stezenia-gazow-palnych-oraz-dymu-5906623441082.html
[6] MQ-2 Gas Sensor (SKU:9529), Waveshare, https://www.waveshare.com/MQ-2-Gas-Sensor.htm
[7] Fermion: MEMS Multi-Gas Detector – CO/CH4/Ethanol Sensor (SEN0440), DFRobot, https://www.dfrobot.com/product-2419.html
[8] Fermion: MEMS Smoke Gas Detection Sensor (SEN0570), DFRobot, https://www.dfrobot.com/product-2698.html
[9] Fermion: MEMS Carbon Monoxide CO Gas Detection Sensor (SEN0564), DFRobot, https://www.dfrobot.com/product-2697.html
[10] Pytka Raspberry Pi Pico 2/2W z procesorem RP2350, „Elektronika Praktyczna” 3/2025, https://ep.com.pl/projekty/moduly-w-aplikacjach/16453-internet-rzeczy-w-pomiarach-srodowiskowych-15-plytka-raspberry-pi-pico-2-2w-z-procesorem-rp2350
[11] Gravity: I²C ADS1115 16-Bit ADC Module, DFR0553, DFRobot, https://www.dfrobot.com/product-1730.html
[12] ADS1115_mpy, A MicroPython module for the ADS1115 ADC. Wolfgang (Wolle) Ewald, https://github.com/wollewald/ADS1115_mpy
[13] AG Tester czujników CO, aerozol 400ml, AG Termopasty ART.AGT-212, https://kamami.pl/sprezone-powietrze/1184228-artagt-212-tester-czujnikow-co-400ml-5901764325000.html