Tlenek węgla (CO) powstaje między innymi podczas niecałkowitego spalania substancji węglowych. Głównymi źródłami tlenku węgla w pomieszczeniach zamkniętych są nieszczelne piece, palenie wyrobów tytoniowych, a także inne procesy spalania. Symptomy łagodnego zatrucia obejmują bóle i zawroty głowy oraz objawy grypopodobne. Wyższe dawki mają bardzo toksyczny wpływ na centralny układ nerwowy i serce, a w skrajnych przypadkach stanowią śmiertelne zagrożenie dla przebywających w pomieszczeniach osób i zwierząt.
VOC (lotne związki organiczne) to zbiorcze określenie substancji zawierających węgiel, które odparowują w temperaturze pokojowej lub wyższej. VOC mogą być emitowane przez istoty żywe, źródła naturalne, chemikalia lub procesy spalania. Krótkotrwałe narażenie może powodować podrażnienie oczu, nosa i gardła, bóle i zawroty głowy lub nasilenie astmy. Długotrwała ekspozycja prowadzi do raka płuc, uszkodzenia wątroby, nerek lub centralnego układu nerwowego. Lotne związki organiczne są najczęstszymi substancjami w fazie gazowej, które powodują zanieczyszczanie powietrza w pomieszczeniach zamkniętych.
Tlenki azotu (NOx) powstają w wyniku spalania paliw kopalnych i przyczyniają się do powstawania zanieczyszczeń cząstkami stałymi. Gotowanie na kuchenkach gazowych lub zanieczyszczone powietrze zewnętrzne, dostające się do wnętrza z ruchliwych dróg, wpływa na jakość powietrza w pomieszczeniach. Jednakże tlenki azotu powstają również w wyniku naturalnych procesów atmosferycznych. Substancje z grupy NOx – zwłaszcza dwutlenek azotu – podrażniają i uszkadzają układ oddechowy.
Cząstki stałe, w skrócie PM (Particulate Matter), nazywane też pyłem zawieszonym, obejmują drobiny o wielkości od 0,1 do 10 μm. Wartości PM są mierzone w μg/m³ jako „stężenie masowe”. Pył zawieszony to głównie mieszanina kurzu, roztoczy, pleśni lub pyłków, które mogą prowadzić do reakcji alergicznych i chorób układu oddechowego.
Moduł ULPSM z analogowym czujnikiem CO
Firma SPEC Sensors udostępnia analogowy moduł pomiarowy ULPSM (Ultra-Low Power Sensor Module), umożliwiający dołączenie dowolnego firmowego czujnika gazu w obudowie z wyprowadzeniami goldpin 2,54 mm. ULPSM przekształca liniowy sygnał prądowy z czujnika tlenku węgla na liniowy sygnał napięciowy, utrzymując przy tym sensor w optymalnych warunkach pracy. Moduł ULPSM z analogowym czujnikiem CO o bardzo małej mocy pracuje z zasilaniem nominalnym (V+) równym 3 V (2,7…3,3 V) i dostarcza napięcie wyjściowe 0…3 V. Dokładny opis czujnika i modułu pomiarowego został zamieszczony w artykule „Moduł ULPSM-CO z czujnikiem tlenku węgla firmy SPEC Sensors”.
Wyprowadzenia V+, Vgas, Vref oraz Vtemp modułu zostały dołączone do wejścia przetwornika ADS1115 o impedancji wejściowej 6 MΩ (w zakresie 2…4 V). Poszczególne kanały są pojedynczo dołączane do wejść ADC. Warto dodać, że podpięcie ADC do wyprowadzenia Vref powodowało skok napięcia na wyjściu Vgas o amplitudzie pełnego zasilania. Dlatego pomiędzy V+, Vref oraz GND został dołączony zewnętrzny dzielnik 2×10 kΩ z rezystorami 0,1%, co zlikwidowało zakłócenia dynamiczne.
Pozostał natomiast dosyć wysoki poziom zakłóceń Vgas spowodowanych sygnałem sieci energetycznej 50 Hz. Próby prowizorycznego ekranowania płytki modułu nie poprawiły sytuacji. Dlatego został zastosowany najdłuższy okres próbkowania przetwornika ADC (8 Sps) oraz uśrednianie 10 kolejnych odczytów.
Czujnik SEN5x
Czujnik SEN55 mierzy stężenie cząstek stałych, VOC, wilgotności, temperatury oraz NOx. Został on dokładnie opisany w artykule „Moduł czujników środowiska SEN5x firmy Sensirion”. Układ dostarcza w pełni skalibrowane dane za pośrednictwem interfejsu cyfrowego. Sygnały i zasilanie są dostępne na dosyć nietypowym złączu komunikacyjnym (6-pinowym z rozstawem 1,25 mm). Razem z modułem SEN5x w zestawie dostarczany jest kabel z wtyczką do gniazdka złącza komunikacyjnego, zakończony z drugiej strony wtyczkami typu goldpin.
Napięcie zasilania czujnika SEN55 wynosi 5 V (4,5...5,5 V). Przy zasilaniu bateryjnym modułu Enviro Weather dostępne napięcie zasilania z akumulatora wynosi od ok. 3,7 V do 4,2 V, czyli plasuje się poniżej wymaganego zakresu pracy SEN55. Dodatkowo wymagane jest zasilanie o niskim poziomie zakłóceń.
Dlatego została zastosowana płytka EVL3424A-G-00A z przetwornicą podwyższająca MP3424A firmy Monolithic Power Systems. Układ może pracować z napięciem wejściowym 2,0...5,5 V i daje napięcie wyjściowe 3,0…5,5 V (@ 3,1 A).Wartości rezystorów płytki zostały tak zmodyfikowane, aby ustawić napięcie wyjściowe 5,5 V. Układ pracował bardzo stabilnie, lecz na wyjściu występowały zakłócenia w postaci szpilek. Dlatego do wyjścia została dołączona płytka SCP-LT3045-1-EVALZ z układem LT3045 firmy Analog Devices. Jest to układ LDO o bardzo niskim poziomie szumów (0,8 μV RMS) oraz bardzo wysokim PSRR: 76 dB dla 1 MHz. Wyjściowe napięcie 5 V całego toru zasilania jest dzięki temu pozbawione zakłóceń w bardzo szerokim pasmie.
Czujnik SEN55 udostępnia wyniki pomiaru VOC w postaci indeksu VOC w zakresie od 1 do 500. Powietrze w każdym pomieszczeniu zamkniętym zawiera określone tło VOC pochodzące ze źródeł stale wydzielających się gazów. Na skali indeksu VOC to przesunięcie jest odwzorowywane na wartość 100. Indeks VOC powyżej 100 oznacza, że jest więcej VOC w porównaniu ze średnią (np. w wyniku gotowania, sprzątania, oddychania itp.), natomiast wskaźnik VOC poniżej 100 oznacza, że jest mniej VOC w porównaniu do średniej (np. co może być spowodowane świeżym powietrzem z otwartego okna, użyciem oczyszczacza powietrza itp.).
Analogicznie do pomiaru VOC moduł SEN55 udostępnia wyniki pomiaru NOx w postaci indeksu NOx w zakresie od 1 do 500. Indeks NOx powyżej 1 oznacza, że istnieje więcej związków NOx w porównaniu do średniej (np. powstałych podczas gotowania na gazie). Wskaźnik NOx bliski 1 oznacza, że nie ma (prawie) żadnych gazów NOx, co ma miejsce w większości przypadków. Gdy indeks NOx przekracza 20, należy otworzyć okno lub uruchomić oczyszczacz powietrza.
Zmodyfikowany moduł DFRobot I²C ADS1115
Moduł DFR0553 firmy DFRobot zawiera układ przetwornika analogowo-cyfrowego typu ADS1115 z interfejsem I²C, zasilanego za pomocą stabilizatora LDO typu LP5907MFX-3.3. Oryginalny moduł został trochę zmodyfikowany, a jego dokładny opis został zamieszczony w artykule „Czujnik UV z fotodiodą GUVA-S12SD”. Do pracy z układem ADS115 została zastosowana biblioteka języka MicroPython opracowana przez Wolfganga (Wolle) Ewalda w języku Python na ESP32.
Dołączanie czujników do modułu Enviro Weather
Sposób połączenia Raspberry Pi Pico W, modułu Enviro Weather, wyświetlacza Pico Inky Pack Pack (PIM634) firmy Pimoroni oraz ekspandera i pozostałych czujników środowiskowych opisano szczegółowo we wcześniejszych odcinkach niniejszego cyklu. Moduł ULPSM został dołączony do zmodyfikowanego modułu DFRobot I²C ADS1115. Napięcie 3,3 V do zasilania modułu jest pobierane z płytki przetwornika.
Na płytce Enviro Weather zostały praktycznie zrealizowane zalecenia dotyczące ograniczania poboru mocy procesora RP2040.
Płytka została zaprojektowana tak, aby działała dobrze przy zasilaniu bateryjnym. Na płytce Enviro Weather został zastosowany scalony układ zegara czasu rzeczywistego (RTC) o bardzo niskim poborze mocy, dzięki czemu można okresowo budzić mikrokontroler, odczytywać dane z czujników, a następnie ponownie wyłączyć procesor i zasilanie układów na płytce.
Jeśli jest obecne zasilanie na szynie VBUS, to jest ono podawane na szynę VSYS i przetwornica RT6150A płytki Pico W zasila procesor RP2024. W przeciwnym wypadku napięcie z gniazdka BATT jest – poprzez tranzystor MOS – przekazywane na szynę VSYS, do której dołączone są też układy zasilania czujnika SEN55 oraz modułu I²C ADS1115.
Układ RTC jest zasilany cały czas (pobór prądu 18 μA) przez osobną przetwornicę AP2138N (prąd upływu 1,0 μA) dołączoną do gniazdka BATT (lub VSYS w przypadku zasilania z USB). Dokładny opis organizacji zasilania płytki Raspberry Pi Pico W oraz Enviro Waether został omówiony w artykule „Optymalizacja poboru mocy urządzenia IoT z płytką Raspberry Pi Pico W”.
Wszystkie układy scalone zostały dołączone do tej samej szyny I²C (piny 4 i 5).