Internet Rzeczy w pomiarach środowiskowych (2). Czujnik dwutlenku węgla XENSIV PAS CO2 firmy Infineon

Internet Rzeczy w pomiarach środowiskowych (2). Czujnik dwutlenku węgla XENSIV PAS CO2 firmy Infineon

W lutowym numerze „Elektroniki Praktycznej” kontynuujemy tematykę zastosowań gotowych modułów sensorycznych w pomiarach parametrów środowiska. Tym razem bierzemy na warsztat czujnik marki Infineon, przeznaczony do badania zawartości dwutlenku węgla w powietrzu atmosferycznym.

Autor składa podziękowania Pani Dorocie Herman-Kucharskiej z Infineon Technologies Austria AG za udostępnienie modułów sprzętowych XENSIV PAS CO2 Shield2Go Board, KIT_CSK_PASCO2 oraz Shield2Go Adapter for Raspberry Pi.

Czujnik dwutlenku węgla XENSIV PAS CO2 (PASCO2V01) firmy Infineon zawiera przetwornik fotoakustyczny z detektorem, źródłem podczerwieni i filtrem optycznym na małej płytce drukowanej. Firma udostępnia kilka modułów sprzętowych, umożliwiających rozpoczęcie pracy z tym czujnikiem. Płytka ewaluacyjna XENSIV PAS CO2 Mini Evaluation Board zapewnia dostęp do wszystkich wyprowadzeń czujnika i oferuje wszystkie niezbędne komponenty, potrzebne do jego prawidłowej pracy.

Moduł Shield2Go Adapter for Raspberry Pi umożliwia łatwe dołączanie płytek z serii Shield2Go do komputera jednopłytkowego Raspberry Pi. Zestawy ewaluacyjne EVAL_PASCO2_SENSOR2GO oraz KIT_CSK_PASCO2 pozwalają natomiast na bezpośrednie dołączenie do komputera poprzez gniazdko USB.

Dostarczone darmowe oprogramowanie daje możliwość natychmiastowego rozpoczęcia pracy.

Jakość powietrza we wnętrzach odgrywa kluczową rolę w ochronie zdrowia, gdyż patogeny - przy typowym współczynniku wymiany powietrza w budynkach mieszkalnych i biurowych - pozostają w pomieszczeniach przez wiele godzin. W aplikacjach związanych z monitorowaniem i kontrolą jakości powietrza innowacyjne czujniki CO2 bazujące na spektroskopii fotoakustycznej, zapewniają precyzyjne i ekonomiczne rozwiązania przy małych rozmiarach.

W słabo wentylowanych pomieszczeniach stężenie CO2 gwałtownie wzrasta. Na przykład, na powierzchni około 4 m², zajmowanej przez tylko jedną osobę, wartość CO2 wzrasta z 500 ppm (0,05%) do ponad 1000 ppm (0,1%) w ciągu zaledwie 45 minut. Na tym poziomie bezwonny i bezbarwny gaz może powodować bóle głowy, senność i słabą koncentrację. Począwszy od 2000 ppm (0,2%) wpływa to nawet na zdolności poznawcze człowieka, a wyższe stężenia stwarzają znaczne ryzyko dla zdrowia. W salach lekcyjnych i biurach stężenie CO2 nie powinno przekraczać 1000 ppm. Dla porównania, na świeżym powietrzu na zewnątrz stężenie CO2 wynosi 400 ppm [1].

Jeśli w powietrzu występuje duża ilość wydychanego CO2, znajduje się w nim również duża liczba aerozoli. Wysokie stężenie aerozoli zwiększa z kolei ryzyko infekcji dla wszystkich osób znajdujących się w pomieszczeniu. Szczególnie w czasach covid-19 nabiera to kluczowego znaczenia w biurach, szkołach, sklepach i tym podobnych. Kiedy osoba zarażona koronawirusem kaszle, mówi lub kicha, powstaje spray, składający się z kropelek i aerozoli, który przedostaje się do powietrza w pomieszczeniu, a następnie rozprzestrzenia się.

Ograniczenia istniejących rozwiązań

Dotychczas stosowane były dwa sposoby pomiaru poziomu CO2. Niedyspersyjne czujniki podczerwieni (NDIR) składają się ze źródła światła podczerwonego, komory próbki, filtra spektralnego oraz referencyjnych i absorpcyjnych detektorów podczerwieni (np. SCD30 firmy Sensirion [2]). Drugim typem są czujniki elektrochemiczne (wiele typów).

Sensory otoczenia (typowo w technologii MEMS) wykonują dodatkowo oszacowanie poziomu CO2 i obliczają jego poziom ekwiwalentny eCO2, CO2eq itp. (np. BME688 firmy Bosch [3]).

Czujniki CO2 ze spektroskopią fotoakustyczną

Metoda spektroskopii fotoakustycznej (PAS, ang. Photoacoustic spectroscopy) opiera się na efekcie fotoakustycznym, odkrytym po raz pierwszy przez Alexandra Grahama Bella w 1880 roku [4]. Impulsy światła ze źródła podczerwieni przechodzą przez filtr optyczny, dostrojony specjalnie do długości fali absorpcji CO2 (λ=4,2 μm). Cząsteczki dwutlenku węgla wewnątrz komory pomiarowej absorbują część wypromieniowanego światła, podczas gdy inne cząsteczki nie oddziaływają ze światłem o tym spektrum. Energia pochłonięta przez cząsteczki badanego gazu powoduje ich szybkie nagrzewanie i chłodzenie, generując falę ciśnienia przy każdym impulsie. Nazywa się to efektem fotoakustycznym. Komora absorpcyjna jest akustycznie izolowana od hałasu zewnętrznego (rysunek 1).

Rysunek 1. Zasada działania spektroskopii fotoakustycznej (PAS) [4]

W nowoczesnych aplikacjach tego zjawiska bardzo czuły detektor akustyczny MEMS wykrywa zmianę ciśnienia, wytwarzaną przez cząsteczki CO2 we wnęce czujnika, zaś odpowiednio przetworzony sygnał z mikrofonu służy jako miara liczby cząsteczek CO2, obecnych w komorze pomiarowej. Im wyższe stężenie dwutlenku węgla, tym silniejszy sygnał. Zaletą tej metody jest bezpośredni odczyt rzeczywistego poziomu CO2.

Metoda spektroskopii fotoakustycznej została zastosowana w czujnikach SCD40/41 firmy Sensirion [3] oraz XENSIV PAS CO2 (PASCO2V01) firmy Infineon [5].

Czujnik XENSIV PAS CO2

Czujnik XENSIV PAS CO2 (PASCO2V01) firmy Infineon zawiera przetwornik fotoakustyczny z detektorem, źródłem podczerwieni i filtrem optycznym na małej płytce drukowanej [5] (rysunek 2).

Rysunek 2. Czujnik XENSIV PAS CO2 firmy Infineon [7]

Wbudowany mikrokontroler realizuje zaawansowane algorytmy przetwarzania sygnału, zaś tranzystor MOSFET obsługuje źródło podczerwieni. Na metalowej komorze umieszczony jest filtr zabezpieczający przed kurzem. Obudowa XENSIV PAS CO2 jest 4 razy mniejsza (14×13,8×7,5 mm) i 3 razy lżejsza (2 gramy) niż typowy czujnik NDIR, co pozwala na oszczędność miejsca w systemach o ponad 75%. Co więcej, podczas gdy większość dostępnych na rynku czujników NDIR jest wyposażona w złącza niezgodne ze standardami montażu masowego (co prowadzi do czasochłonnego procesu produkcyjnego), XENSIV PAS CO2 jest pakowany na taśmach, z myślą o automatyzacji produkcji SMD na dużą skalę i szybką integrację z systemami.

Parametry czujnika PASCO2V01 [6]:

  • Zakres pracy: 0 ppm...32000 ppm
  • Dokładność: ±(30 ppm +3%) odczytu pomiędzy 400 ppm a 5000 ppm
  • Rozdzielczość: 1 ppm
  • Interfejsy: I²C, UART i PWM
  • Zasilanie układu cyfrowego (typ.): 3,3 V (3...3,6 V), 10 mA (maks. 20 mA)
  • Zasilanie emitera IR (typ.): 12 V (10,8…13,2 V), 130 mA (maks 150 mA)
  • Pobór mocy (średni): 11 mW (1 odczyt na minutę)
  • Gotowość do pracy: 1 s
  • Czas próbkowania (min./typ./maks.): 5/60/4095 s
  • Wilgotność otoczenia: 0...85% (bez kondensacji)
  • Temperatura otoczenia: 0...50°C
  • Ciśnienie: 750...1150 hPa
  • Obudowa SMD (DxSxW): 14×13,8×7,5 mm
  • Czas pracy: 10 lat
  • Zaawansowane algorytmy kompensacji i autokalibracji
  • Różne opcje konfiguracji (np. częstotliwość próbkowania, kalibracja bazowa).

Układ wyprowadzeń na obudowie SMD czujnika PASCO2V01 został pokazany na rysunku 3.

Rysunek 3. Wyprowadzenia czujnika PASCO2V01 [6]

Opis wszystkich wyprowadzeń czujnika jest zamieszczony w tabeli 1. Dostępne są dwa interfejsy komunikacji szeregowej: poziom niski na wejściu PSEL ustawia interfejs I²C, poziom wysoki uruchamia interfejs UART (zaleca się podłączenie na stałe pinu konfiguracyjnego do VDD lub GND, w zależności od wybranego interfejsu). Drugą linię sterującą - PWM_DIS - należy natomiast na stałe podłączyć do GND, aby uaktywnić wyjście PWM (warto dodać, że moduł uruchomi się w trybie ciągłym, a nie w trybie bezczynności, co należy wziąć pod uwagę przy zmianie okresu pomiaru).

Bardzo ważna jest jakość napięcia 12 V zasilającego emiter IRED, a szczególnie niski poziom tętnień. Stabilne zasilanie 12 V dla emitera podczerwieni na płytce XENSIV PAS CO2 Shield2Go [9] jest generowane z napięcia wejściowego 5 V za pomocą konwertera podwyższającego napięcie typu LT3580 firmy Analog Devices. Jest to typowy układ stosowany na płytkach modułów uruchomieniowych firmy Infineon.

Schemat blokowy czujnika jest widoczny w górnej części rysunku 4.

Rysunek 4. Schemat blokowy płytka XENSIVTPAS CO2 Shield2Go [9]

Działanie czujnika XENSIV PAS CO2 podczas pomiaru stężenia CO2

Moduł czujnika obsługuje trzy tryby pracy:

  • Tryb bezczynności (Idle): układ nie wykonuje pomiarów stężenia CO2 i pozostaje nieaktywny przez większość czasu (z wyjątkiem krótkich cykli pomiarowych, związanych z obsługą przerwań).
  • Tryb ciągły (Continuous): W tym trybie urządzenie okresowo uruchamia sekwencję pomiaru stężenia CO2. Po zakończeniu sekwencji pomiarowej urządzenie powraca do stanu nieaktywnego i automatycznie budzi się dopiero do kolejnej sekwencji pomiarowej. Okres pomiaru można programować w zakresie od 5 do 4095 s (domyślnie 60 s).
  • Tryb pojedynczego pomiaru (Single-shot): W tym trybie urządzenie wyzwala pojedynczą sekwencję pomiarową, a po jej zakończeniu automatycznie powraca do trybu spoczynku.

Aby nie uszkodzić czujnika ani innych elementów, należy zachować określoną kolejność włączania zasilania:

  • skonfiguruj ustawienia poziomów na wejściach PWM_DIS i PSEL,
  • włącz mikrokontroler (zasilanie 3,3 V do komunikacji),
  • włącz zasilanie emitera IRED napięciem 12 V,
  • uruchom kod obsługi czujnika (skonfiguruj ustawienia, rozpocznij pomiar).

Przy wyłączaniu czujnika należy odwrócić kolejność.

Na rysunku 5 pokazano pobór prądu z uwzględnieniem sekwencji pomiarów i stanu bezczynności. Skalowanie wykresu nie jest prawidłowe i służy wyłącznie celom wizualizacyjnym. Pierwszy impuls reprezentuje załączenie urządzenia [7].

Rysunek 5. Pobór mocy w różnych stanach układu [7]

Podczas pracy układ w dowolnym momencie może znajdować się w jednym z dwóch stanów: aktywnym i nieaktywnym [7]:

  • W stanie aktywnym procesor sterujący urządzeniem pracuje i może wykonywać sekwencje pomiarowe (0,7 s, 3,3 V, 8 mA), obsługiwać przerwania (0,2 s, 12 V, 70 mA) itp.
  • W stan nieaktywny urządzenie przechodzi, gdy nie ma konkretnego zadania do wykonania (3,3 V 6 mA; 12 V 0,5 mA). Przejście ze stanu aktywnego do nieaktywnego może nastąpić na końcu sekwencji pomiarowej. W stanie nieaktywnym procesor czujnika znajduje się w trybie uśpienia, aby zoptymalizować zużycie energii. Ze stanu nieaktywnego sensor może być wybudzony przez kilka zdarzeń: odbiór komunikatu na interfejsie komunikacji szeregowej, zbocze opadające na pinie PWM_DIS, wewnętrzne wygenerowanie żądania pomiaru w trybie pomiaru ciągłego.

Po zebraniu danych o stężeniu CO2 można zastosować kilka schematów przetwarzania końcowego w celu wykorzystania różnych funkcjonalności modułu.

Kompensacja zmian ciśnienia atmosferycznego

Wartość stężenia CO2 zmierzona przez czujnik zależna jest od zewnętrznego ciśnienia atmosferycznego. Aby skompensować ten efekt, host (procesor nadrzędny) może wpisać wartość ciśnienia atmosferycznego do odpowiednich rejestrów, tj. PRESSREF_H i PRESSREF_L. Na koniec sekwencji pomiarowej urządzenie odczytuje wartość ciśnienia i wnioskuje o kompensację wartości stężenia CO2 przed zapisaniem jej do rejestrów wyników.

Automatyczna kompensacja przesunięcia linii bazowej (ABOC)

Aby skorygować powolne dryfty spowodowane starzeniem się podczas eksploatacji, urządzenie obsługuje automatyczną kompensację przesunięcia linii bazowej. Co tydzień pracy urządzenie oblicza przesunięcie, aby skorygować linię bazową. Sensor musi mieć kontakt ze stężeniem referencyjnym (np. świeżym powietrzem przy stężeniu CO2, wynoszącym 400 ppm) przez co najmniej 30 minut w tygodniu, aby zapewnić właściwą kompensację linii bazowej. Urządzenie obsługuje różne konfiguracje w celu kompensacji. Wartość zadaną ABOC można ustawić wyłącznie w zakresie od 350 do 1500 ppm.

Kompensacja wymuszona (FCS)

Wymuszona kompensacja umożliwia przyspieszenie procesu kompensacji przesunięcia. Przed włączeniem wymuszonej kompensacji użytkownik musi wystawić czujnik na stałą ekspozycję referencyjnego stężenia CO2. Układ użyje 3 kolejnych pomiarów do obliczenia przesunięcia kompensacji. Podczas stosowania schematu wymuszonej kompensacji zaleca się pracę przy 1 pomiarze na 10 sekund. Po wykonaniu 3 sekwencji pomiarowych urządzenie automatycznie dokonuje ponownej konfiguracji z nowo obliczonym offsetem, stosowanym do kolejnych pomiarów stężenia CO2.

Interfejs I²C

Główne cechy interfejsu:

  • tryb slave,
  • częstotliwość zegara I²C: 100 kHz lub 400 kHz,
  • 7-bitowy adres slave: 0x28,
  • brak CRC,
  • urządzenie obsługuje rozciąganie zegara (clock stretching),
  • obsługiwany tryb adresowania 8-bitowego (adres 7-bitowy + RW),
  • obsługa masowego odczytu i zapisu (urządzenie automatycznie zwiększa adres),
  • adres 0x00 nie jest obsługiwany,
  • wymagane rezystory podciągające (np. 10 kΩ) na liniach SCL i SDA.

Interfejs UART

Główne cechy interfejsu:

  • praca punkt-punkt - brak obsługi magistrali,
  • tylko tryb slave,
  • częstotliwość zegara UART - 9,6 kHz,
  • format: 1 bit startu, 8 bitów danych, brak bitu parzystości, 1 bit stopu,
  • obsługa bezpośredniego połączenia z programem terminalowym.

Interfejs PWM

Wyjście PWM oferuje możliwość odczytu wyników pomiaru za pomocą sygnału o modulowanej szerokości impulsu, reprezentującej wartość stężenia CO2 - współczynnik wypełnienia jest aktualizowany na końcu każdej sekwencji pomiarowej. Aby włączyć wyjście PWM, muszą być spełnione dwa warunki:

  • funkcja PWM musi być włączone programowo w rejestrze konfiguracji trybu pomiarowego,
  • pin PWM_DIS musi być ustawiony na GND.

Po włączeniu zasilania (ale nie po miękkim resecie) sprawdzany jest stan na linii PWM_DIS - w przypadku wykrycia stanu niskiego, wewnętrzna procedura przerwania konfiguruje urządzenie w trybie ciągłym i rozpoczyna się sekwencja pomiarowa. Na końcu każdej sekwencji odpytywany jest pin PWM_DIS.

Jeśli wtedy znajdzie się on w stanie wysokim, moduł zostaje skonfigurowany z powrotem do trybu bezczynności, a wyjście PWM zostaje wyłączone.

Sygnał wyjściowy można przekształcić na wartość poziomu stężenia CO2, albo bezpośrednio mierząc czas trwania impulsu, albo alternatywnie stosując filtr dolnoprzepustowy i mierząc napięcie wyjściowe.

Moduły uruchomieniowe

Firma Infineon udostępnia kilka modułów, umożliwiających rozpoczęcie pracy z czujnikiem XENSIV PAS CO2 [4]:

  • XENSIV PAS CO2 Shield2Go Board (SHIELD_PASCO2_SENSOR) - płytka wyposażona w omawiany czujnik CO2,
  • EVAL_PASCO2_SENSOR2GO (EVAL_PASCO2_SENSOR2GO) - zestaw składający się z płytki bazowej oraz płytki PAS CO2 Mini Evaluation Board (EVAL_PASCO2_MINIBOARD), zawierającej czujnik,
  • KIT_CSK_PASCO2 (PASCO2V01BUMA1) - zestaw składający się z płytki bazowej Rapid IoT connect developer kit (CYSBSYSKIT-DEV-01) oraz z płytki XENSIV PAS CO2 wing (EVAL_PASCO2_Wing) z czujnikiem XENSIV PAS CO2 oraz DPS368.

Są też udostępniane moduły pomocnicze:

  • Shield2Go Adapter for Raspberry Pi (SHIELDBGT60LTR 11AIPTOBO1) - płytka ewaluacyjna jako adapter płytki Shield2Go do Raspberry Pi,
  • My IoT adapter - adapter płytki Shield2Go w formie nakładki Arduino Shield.

Wieloczłonowe nazwy modułów uruchomieniowych mogą stanowić pewien kłopot ze względu na znaczne podobieństwo, dlatego jednoznaczna ich identyfikacja jest możliwa poprzez identyfikatory produktu (podane w nawiasach).

Płytka XENSIV PAS CO2 Shield2Go Board

Zestaw XENSIV PAS CO2 Shield2Go jest wyposażony w czujnik XENSIV PAS CO2 (PASCO2V01) [9] i zawiera wszystkie niezbędne komponenty, potrzebne do pracy sensora. Oprócz wspomnianej wcześniej przetwornicy typu boost (LT3580, Vin=2,5...32 V), na płytce znajduje się także stabilizator LDO typu IFX54211MBV33 firmy Infineon, dostarczający napięcie zasilania 3,3 V dla obwodu sterowania czujnika. Stabilizator pracuje z napięciem wejściowym 2,7...18 V, ze spadkiem napięcia do 25 mV dla 10 mA. Napięcie 3,3 V jest sygnalizowane diodą LED (oznaczenie PWR). Do zasilania płytki wymagane jest pojedyncze napięcie 5 V.

Dostępne są dwa interfejsy komunikacyjne. Domyślnie skonfigurowany jest interfejs I²C. Do wejścia PSEL jest dołączony rezystor 10 kΩ do masy (R5, oznaczenie pull-down) - po podłączeniu rezystora do 3,3 V (R6, pole lutownicze oznaczone jako pull-up) można wybrać interfejs UART.

Do wyprowadzeń SDA oraz SCL złącza płytki (S2) są dołączone rezystory podciągające 2,2 kΩ do szyny 3,3 V. Współpracują one z wyprowadzeniami TX_SDA oraz SCL czujnika poprzez domyślnie połączone zworki (oznaczenia J1 i J2 na rysunku 6). Razem z ustawieniem rezystora R5 oznacza to domyślne włączenie komunikacji I²C. Wejście PWM_DIS jest podłączone przez rezystor 10 kΩ do masy, co oznacza włączone wyjście PWM po podaniu zasilania na czujnik. Wyjście to jest dodatkowo dołączone przez rezystor 680 Ω do diody LED (oznaczenie LED1). Opis wyprowadzeń złączy znajduje się na spodniej stronie płytki drukowanej.

Rysunek 6. Wyprowadzenia płytki XENSIV PAS CO2 Shield2Go [9]

Płytka została podzielona na dwa obszary odseparowane od siebie podłużnymi otworami, co pozwala na  rozdzielenie i używanie obu części PCB osobno. Większy obszar zawiera układy zasilania oraz dwa złącza w rastrze 2,54 mm. Na nich udostępnione są wszystkie wyprowadzenia czujnika XENSIV PAS CO2 oraz wejściowe napięcie zasilania (5 V) i wyjściowe napięcie stabilizowane (3,3 V), przy czym 6 pinów pozostaje niepodłączone.

Mniejsza część modułu zawiera przylutowany powierzchniowo czujnik XENSIV PAS CO2 wraz z kondensatorami. Na dole tej części płytki udostępnione są dodatkowo wszystkie wyprowadzenia czujnika XENSIV PAS CO2. Na dwóch osobnych pinach zostało wyprowadzone złącze debugowe Serial Wire Debug (SWD, ARM Standard). Na złączach płytki typowo montowane są standardowe męskie goldpiny, skierowane do dołu. Można ją wtedy bezpośrednio wtykać do płytki XMC 2Go Kit, My IoT Adapter lub płytki Shield2Go Adapter for Raspberry Pi. Lepszym rozwiązaniem jest zastosowanie słupków o większej wysokości (np. 13,55 mm). Wtedy oprócz standardowego złącza skierowanego do dołu, wciąż pozostanie łatwo dostępne złącze na górze płytki drukowanej.

Płytka XENSIV PAS CO2 Shield2Go umożliwia bezpośrednie dołączenie do płytki procesorowej XMC 2Go Kit firmy Infineon z mikrokontrolerem XMC1100 (z gotowym oprogramowaniem do komunikacji poprzez USB). Przy zastosowaniu adaptera My IoT można ją bezpośrednio dołączyć do Aduino Uno [11].

Możliwe jest też podłączenie płytki XENSIV PAS CO2 Shield2Go do Arduino Due. Infineon dostarcza gotową do użycia bibliotekę Arduino (za pośrednictwem GitHub [9]). Udostępnia ona przykłady do pracy płytek z czujnikiem XENSIV PAS CO2 (np. XENSIV PAS CO2 Shield2Go lub XENSIV PAS CO2 Miniboard) z płytkami procesorowymi XMC 2Go lub Boot Kit XMC1100 firmy Infineon oraz z płytką Arduino Uno Rev3. Firma dostarcza też darmową bibliotekę w języku Python dla wielu płytek Shield2Go. Jednak obecnie nie jest dostępne oprogramowanie w tym języku dla płytki XENSIV PAS CO2 Shield2Go Board.

Płytka ewaluacyjna Shield2Go Adapter for Raspberry Pi

Płytki Shield2Go firmy Infineon mają wspólny układ pinów, tj. piny są zakodowane na stałe dla określonych funkcji, takich jak SPI lub I²C. Umożliwiło to zaprojektowanie ogólnej płytki ewaluacyjnej adaptera do pracy z Raspberry Pi [10]. Płytka zawiera tylko pola do wlutowania gniazdek (w tym 40-pinowego gniazda kompatybilnego z Raspberry Pi 1B/2B/3B/4B/5) i połączenia, bez elementów elektronicznych (fotografia 1). Na płytce dołączonych jest większość wyprowadzeń RPi, w tym linie zasilania 5 V oraz 3,3 V.

Fotografia 1. Płytka ewaluacyjna Shield2Go Adapter for Raspberry Pi [10]

Główne cechy płytki Shield2Go Adapter for Raspberry Pi [10]:

  • napięcie zasilania 5 V oraz 3,3 V (typ.),
  • obsługa do 3 płytek Shield2Go jednocześnie,
  • obowiązują następujące ograniczenia:
    • gniazda Socket 1 i 2 nie obsługują I²S, ale SPI
    • Socket 3 obsługuje I²S, ale nie SPI,
    • linie A1 i A2 nie są podłączone do Raspberry Pi, ponieważ nie ma ono przetwornika ADC,
    • magistrala I²C jest równoległa pomiędzy gniazdami Socket 1, 2, 3, dlatego urządzenia nie mogą mieć wspólnego adresu I²C,
    • magistrala UART jest równoległa pomiędzy gniazdami Socket 1, 2, 3.

Płytka ewaluacyjna Shield2Go Adapter for Raspberry Pi jest dostarczana bez zamontowanych złączy. Załączone jest tylko złącze 40-pinowe. Na początku należy wlutować złącza żeńskie w polu SocketX (9-pinowe oraz 8-pinowe) na płytce ewaluacyjnej i złącze 40-pinowe.

Po włożeniu płytki XENSIV PAS CO2 Shield2Go do złącza SocketX na płytce ewaluacyjnej i wpięciu całości do RPI... nic nie działa. Okazuje się, że przyczyną jest konflikt na szynie 3,3 V na płytce ewaluacyjnej. Do tej szyny jest dołączone wyjście LDO płytki XENSIV PAS CO2 Shield2Go oraz jednocześnie wyjście LDO płytki RPI. Rozwiązaniem jest podzielenie listwy żeńskiego gniazdka 9 pin na dwa odcinki, z pominięciem pozycji „3,3V” (fotografia 2).

Fotografia 2. Poprawiony montaż listwy złącza żeńskiego gniazdka Socket 1 (9-pin) na płytce ewaluacyjnej

Płytka ewaluacyjna My IoT Adapter

Płytki Shield2Go firmy Infineon są wyposażone w jeden układ scalony Infineona i wspierane przez gotową do użycia bibliotekę Arduino. Wszystkie moduły Shield2Go mają wspólny układ wyprowadzeń, tj. piny są zakodowane na stałe dla określonych funkcji, takich jak SPI lub I²C. Umożliwia to zaprojektowanie ogólnej płytki ewaluacyjnej PCB dla portfolio firmy Infineon, takiej jak DPS310 Pressure Shield2Go, TLV493D-A1B6 3DMagnetic Shield2Go, TLI4970-D050T4 CurrentSense Shield2Go lub OPTIGA Trust E i X Security Shield2Go.

Płytka ewaluacyjna My IoT Adapter firmy Infineon to brama do zewnętrznych rozwiązań sprzętowych, takich jak Arduino. Płytka umożliwia łatwe łączenie różnych płytek Shield2Go w celu szybkiego prototypowania rozwiązań z zakresu IoT.

Adapter oferuje wiele dodatkowych gniazd, umożliwiających swobodne i elastyczne łączenie różnych płytek Shield2Go. Dzięki temu użytkownicy nie muszą martwić się o przydzielanie pinów czy zmianę poziomu logicznego.

Główne cechy płytki ewaluacyjnej My IoT Adapter [11]:

  • sprawne połączenie serii Shield2Go firmy Infineon z ekosystemem Arduino,
  • napięcie zasilania 5 V (typ.) jako napięcie wspólne dla nakładek kompatybilnych z Arduino Uno,
  • translacja poziomu logicznego sygnałów pomiędzy 5 V TTL oraz CMOS 3,3 V wszystkich płyt Shield2Go,
  • dostępność mostków lutowniczych, umożliwiających selektywne wyłączenie zmiany poziomu,
  • dodatkowe piny do ustawienia napięć odniesienia dla przesunięcia poziomu oraz części analogowej,
  • obsługa rozdzielnej kontroli zasilania gniazd 1 i 2: oba gniazda można włączać i wyłączać,
  • całkowicie niezależne sterowanie gniazda 1, podczas gdy gniazda 2 i 3 mają wspólne styki z podstawową płytą sterującą.

Płytka ewaluacyjna My IoT Adapter jest dostarczana bez zamontowanych złączy.

Zestaw ewaluacyjny XENSIV PAS CO2 Sensor2Go Evaluation Kit

Zestaw XENSIV PAS CO2 Sensor2Go Evaluation Kit (EVALPASCO2SENSOR2GOTOBO1) składa się z płytki bazowej oraz płytki PAS CO2 Mini Evaluation Board z czujnikiem XENSIV PAS CO2 (fotografia 3). Wszystkie napięcia zasilania czujnika są generowane na płytce bazowej. Zestaw umożliwia bezpośrednie dołączenie do komputera poprzez gniazdko USB.

Fotografia 3. Zestaw ewaluacyjny XENSIV PAS CO2 Sensor2Go Evaluation Kit [12]

Na płytce bazowej zamontowany jest konwerter USB - UART, regulator 5 V -> 3,3 V, przetwornica 5 V -> 12 V, 12-pinowe złącze sygnałowe 2,54 mm oraz dwa złącza dla podłączenia XENSIV PAS CO2 Mini Evaluation Board. Wejście PSEL czujnika jest podciągnięte przez rezystor 4,7 kΩ do linii 3,3 V.

Wyprowadzenia TX_SDA i RX czujnika są dołączone do konwertera oraz (przez rezystory 10 kΩ) do masy. Konwerter obsługuje też dwie diody LED.

Płytka XENSIV PAS CO2 Mini Evaluation Board zapewnia dostęp do wszystkich wyprowadzeń czujnika PAS CO2, także debugowych. Są one wyprowadzone na dwa złącza w rastrze 2,54 mm. Płytka ewaluacyjna jest wtykana w gniazdka na płytce bazowej. Płytka ma taką samą konstrukcję, jak mniejszy obszar płytki XENSIV PAS CO2 Shield2Go - jedynie sygnały debuggera są wyprowadzone inaczej.

Praca z zestawem ewaluacyjnym XENSIV PAS CO2 Sensor2Go Evaluation Kit

Pracę z zestawem należy zacząć od zainstalowania oprogramowania Infineon Developer Center Launcher [12], a następnie aplikacji XENSIV PAS CO2 Sensor2Go GUI.

Infineon Developer Center to środowisko programowe, w którym można pobierać i projektować wszystkie narzędzia programistyczne Infineon, oprogramowanie wbudowane, usługi i rozwiązania [13]. Zapewnia dwa widoki:

  • Infineon Developer Center: repozytorium online zawierające listę wszystkich dostępnych narzędzi, oprogramowania i usług,
  • Launcher: narzędzie offline do zarządzania i aktualizacji wszystkich narzędzi po pobraniu z repozytorium online IDC.

Krok 1: Zarejestruj się na stronie firmy Infineon, znajdującej się na zakładce „myInfineon”.

Krok 2: Po rejestracji zaloguj się do myInfineon. Pobierz plik instalacyjny idc-launcher-setup.exe i zainstaluj go na swoim komputerze.

Krok 3: Wyszukaj narzędzia lub oprogramowanie. Po uruchomieniu programu, na zakładce Infineon Developer Center Launcher wybierz zakładkę Manage Tools. Aplikacje są ułożone alfabetycznie.

Krok 4: odszukaj XENSIV PAS CO2 Sensor2Go GUI i kliknij na Install. Zostanie zainstalowana najnowsza wersja aplikacji (rysunek 7). Potem można tutaj aktualizować wersję programu.

Krok 5: Zakładka My Tools udostępnia wszystkie zainstalowane programy i umożliwia zarządzanie nimi.

Rysunek 7. Instalowanie programu XENSIV PAS CO2 Sensor2Go GUI

Praca z programem XENSIV PAS CO2 Sensor2Go GUI

Dołącz zestaw ewaluacyjny XENSIV PAS CO2 Sensor2Go Evaluation Kit kablem USB do komputera. Na zakładce My Tools najedź myszką na ikonkę programu Graphical User Interface (GUI) i kliknij Start (rysunek 8).

Rysunek 8. Okno startowe programu XENSIV PAS CO2 Sensor2Go GUI

Następnie kliknij na ikonkę PAS-CO2. Pojawi się informacja o łączeniu z czujnikiem, a następnie zostanie wyświetlone okno Environmental Fusion GUI. Na wykresie zostanie pokazany jeden punkt, odpowiadający wartości pojedynczego pomiaru. Kolejne pomiary będą wykonywane w regularnych odstępach, typowo co 60 s (rysunek 9).

Rysunek 9. Okno pomiarów

Podsumowanie

Czujnik dwutlenku węgla XENSIV PAS CO2 (PASCO2V01) firmy Infineon jest ciekawą propozycją, umożliwiającą pomiar istotnego parametru otoczenia. Przy zastosowaniu modułów ewaluacyjnych można szybko rozpocząć z nim pracę, a dobre oprogramowanie firmowe ułatwia uzyskanie dokładnych wyników.

Pewnym kłopotem jest konieczność dostarczania dwóch, dosyć wysokich napięć zasilania. Również pobór mocy w stanie nieaktywnym jest spory. Pojawia się także kłopot z nazwami produktów firmy Infineon. Są długie, niejednoznaczne, a dodatkowo nazwy kodowe produktów są inne i równie trudne do zapamiętania. Mamy jednak też dobre wieści. Od szefa oddziału Infineon Polska otrzymaliśmy informację, że planowane jest wprowadzenie wersji układu z jednym napięciem zasilania.

Firma Infineon dostarcza wiele układów przydatnych dla IoT, w tym sensory ciśnienia, prądu i odległości (radar 60 GHz). Moduły serii Shields2Go pozwalają na szybkie złożenie fuzji czujników o dużych możliwościach pomiarowych.

Aby zapewnić maksymalny komfort w domu, zaleca się pomiar nie tylko dwutlenku węgla (CO2), temperatury i wilgotności, ale także lotnych związków organicznych, pyłów i formaldehydu. Wysokie stężenie CO2 wiąże się z większym ryzykiem infekcji wirusowych i niższą wydajnością pracy. Kluczem do znalezienia zdrowych rozwiązań budowlanych jest więc niezawodność danych, pozyskiwanych z czujników.

Henryk A. Kowalski
Instytut Informatyki
Politechnika Warszawska

Bibliografia:
[1] CO2 Sensor Helps to Reduce the Risk of Covid-19 Transmission Indoors, November 20, 2020 Hicham Riffi, https://tiny.pl/czkh9
[2] Cyfrowe czujniki gazu, Henryk A. Kowalski, „Elektronika Praktyczna” 3/2020, https://tiny.pl/czkh1
[3] Czujnik gazu Bosch BME688 ze sztuczną inteligencją, „Elektronika Praktyczna” 11/2021, https://tiny.pl/cspv8
[4] CO2 sensor, https://tiny.pl/czkhj
[5] PASCO2V01, XENSIV PAS CO2 sensor, https://tiny.pl/czkh2
[6] XENSIV PAS CO2 sensor datasheet, V1.3, 2023-01-10, https://tiny.pl/czkhv
[7]  XENSIV PAS CO2 for low power applications, V1.1, 2022-07-01, https://tiny.pl/czkqq
[8] Programming guide for XENSIV PAS CO2 sensor, V2.1, 2022-07-01, https://tiny.pl/czkqm
[9] XENSIV PAS CO2 Shield2Go, Product Name: SHIELDPASCO2SENSORTOBO1, https://tiny.pl/czkqg
[10] Shield2Go Adapter for Raspberry Pi, Product name: SHIELDBGT60LTR11AIPTOBO1, https://tiny.pl/czkq7
[11] My IoT adapter, https://tiny.pl/czkq9
[12] XENSIV PAS CO2 Sensor2Go Evaluation Kit, Product Name: EVALPASCO2SENSOR2GOTOBO1, https://tiny.pl/czkq5
[13] Infineon Developer Center Launcher, https://tiny.pl/czkqj

Artykuł ukazał się w
Elektronika Praktyczna
luty 2024
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów