Zostań w domu, zamów taniej!
Nie wychodź z domu i zamów online swoje ulubione pisma 20% taniej. Skorzystaj z kodu rabatowego: czytajwdomu

Systemy dla Internetu Rzeczy (39). Pomiary czujnikami jakości gazu SGP30, SPGPC3 oraz dwutlenku węgla SCD30 firmy Sensirion

Systemy dla Internetu Rzeczy (39). Pomiary czujnikami jakości gazu SGP30, SPGPC3 oraz dwutlenku węgla SCD30 firmy Sensirion
Pobierz PDF Download icon

Monitorowanie jakości powietrza nabiera dużego znaczenia w czasach epidemii choroby górnych dróg oddechowych COVID-19. Doskonale się do tego nadają małe, dokładne ale tanie czujniki jakości gazu serii SGP3xx oraz czujnik dwutlenku węgla SCD30 firmy Sensirion. Pierwsze próby w tej dziedzinie bardzo ułatwia zestaw narzędzi SEK – Sensing Evaluation Kit firmy Sensirion składający się z modułu bazowego SEK-SensorBridge oraz dołączanych do niego zestawów ewaluacyjnych z czujnikami. Czujniki firmy Sensirion zapewniają szczegółowe i wiarygodne dane dotyczące kluczowych parametrów środowiskowych, takich jak wilgotność, temperatura, lotne związki organiczne (VOC), pyły zawieszone (PM2,5) i CO2. Całość jest obsługiwana przez firmową aplikację SEK-ControlCenter.

Podziękowania dla pana Cezarego Rodziewicza, inżyniera aplikacyjnego w firmie Arrow Electronics Poland za udostępnienie modułu bazowego SEK-SensorBridge, zestawów SEK-SGP30-Sensor i SEK-SGPC3-Sensor, modułów SVM30 i SCD30 oraz modułów sprzętowych „SHT31 Smart Gadget Development Kit”.

Wprowadzenie do tematyki pomiarów gazów zostało zamieszczone w jednym z poprzednich odcinków kursu [S35]. Zostały tam omówione zagadnienia dotyczące lotnych związków organicznych (VOC) i ich pomiarów, zagadnienia pomiarów równoważnika dwutlenku węgla eCO2 (CO2eq) oraz określania jakości powietrza w pomieszczeniach (IAQ). Zostały przedstawione wiodące technologie pomiarów oraz reprezentatywne układy scalone różnych producentów z interfejsem cyfrowym. Również we wcześniejszym odcinku kursu były omówione scalone czujniki cyfrowe wilgotności i temperatury [S32].

Teraz zajmiemy się praktyczną pracą z czujnikami gazów serii SG3xx firmy Sensirion. Seria najmniejszych na świecie cyfrowych czujników gazu SGP firmy Sensirion stwarza duże możliwości pomiaru jakości powietrza w pomieszczeniach [1]. Istotnym uzupełnieniem będzie praca z czujnikiem dwutlenku węgla SCD30.

Czujnik jakości powietrza SGP30

Układy serii SGP są zintegrowane w bardzo małej wodoodpornej i pyłoszczelnej obudowie DFN 2,45×2,45×0,9 mm z interfejsem I2C i w pełni skalibrowanymi sygnałami wyjściowymi informującymi o jakości powietrza [1]. Firma Sensirion dostarcza darmowy kod sterownika do obsługi łącza I2C układów serii SGP3xx zarówno z wykorzystaniem sprzętowego modułu peryferyjnego mikrokontrolera jak również z zastosowaniem wyprowadzeń GPIO.

Rysunek 1. Schemat blokowy czujnika SGP30 firmy Sensirion [2]

Czujnik jakości powietrza SGP30 firmy Sensirion integruje cztery elementy czujnikowe (piksele) w jednym układzie scalonym (rysunek 1). Mikropłytka z kontrolowaną temperaturą zapewnia stabilną pracę czterech pojedynczych pikseli czujnikowych. Zastosowane w układzie algorytmy przetwarzania do kalibracji poziomu odniesienia (baseline), temperatury i wilgotności przekształcają sygnały pikseli czujnika we wstępnie przetworzone i skalibrowane sygnały cyfrowe, takie jak stężenie VOC w otoczeniu i równoważne stężenie CO2 [2].

Parametry układu SGP30:

  • metoda pomiarowa: półprzewodnikowy scalony czujnik gazu w technologii MOXSens oraz CMOSens,
  • wyjście: TVOC [ppb], CO2eq [ppm] oraz sygnały surowe (Ethanol i H2),
  • zakres: TVOC: 0...60000 ppb, CO2eq: 400...60000 ppm,
  • dokładność: 15% wartości mierzonej typ.,
  • rozdzielczość: 0,2% wartości mierzonej typ.,
  • stabilność długoterminowa: typ 1,3% wartości maksymalnej na rok,
  • typowa częstotliwość pomiarów: 1 sps,
  • maksymalna częstotliwość pomiarów: 40 sps,
  • kompensacja poziomu odniesienia: wewnętrzny algorytm kompensacji (dla typowej częstotliwości pomiarów),
  • kompensacja zmian wilgotności: tak, przy zastosowaniu zewnętrznego czujnika,
  • napięcie zasilania: 1,62...1,98 V (1,8 V typ.),
  • prąd w trakcie pomiaru: 48 mA typ. (przez czas ok. 40 ms),
  • prąd uśpienia: 2 μA typ.,
  • interfejs cyfrowy: I2C 1,8 V typ.,
  • słowo danych: 16 bitów plus CRC.

Układ SGP30 nie obsługuje wyższego napięcia zasilania (np. 3,3 V) co w takim przypadku powoduje konieczność stosowania translatora poziomów. Na rok 2020 planowane jest udostępnienie wersji układów z wyższym napięciem pracy.

Czujnik jakości powietrza SGP3

Firma Sensirion wprowadziła niedawno na rynek wielopikselowy czujnik gazu SGPC3 niskiej mocy [3]. Czujnik mierzy tylko poziom VOC (rysunek 2).

Rysunek 2. Schemat blokowy czujnika SGPC3 firmy Sensirion [3]

Jest umieszczony w takiej samej małej obudowie co SGP30 ale wyróżnia się bardzo niską mocą zasilania. Średni prąd SGPC3 wynosi 0,98 mA w trybie niskiej mocy (pomiar co 2 s) oraz 0,065 mA w trybie ultra niskiej mocy (pomiar co 30 s). Pozostałe parametry są takie same jak dla SGP30.

Cyfrowy czujnik wilgotności i temperatury serii SHTC1

Dzięki opatentowanej technologii CMOSens firma Sensirion jako pierwsza zaoferowała cyfrowy czujnik wilgotności klasy motoryzacyjnej ze skalibrowanym i zlinearyzowanym sygnałem wyjściowym. Co trzeci samochód ma zainstalowany czujnik wilgotności względnej firmy Sensirion [7].

SHTC1 to cyfrowy czujnik wilgotności zaprojektowany specjalnie do zastosowań w elektronice użytkowej [8]. Obejmuje zakres pomiaru wilgotności od 0 do 100% RH oraz zakres pomiaru temperatury od –30°C do 100°C z typową dokładnością ±3% RH i ±0,3°C.

Moduł pomiaru jakości powietrza SVM30

SVM30 to wielofunkcyjny moduł czujnika gazu, wilgotności i temperatury [5] zawierający czujnik gazu SGP30 [6] oraz czujnik wilgotności i temperatury SHTC1 [7]. Zastosowanie obu czujników pozwala na linearyzację i skalibrowanie sygnału jakości powietrza, a także kompensację krzyżowej czułości wilgotności (rysunek 3).

Rysunek 3. Schemat blokowy modułu SVM30 firmy Sensirion [6]

Moduł ma wymiary 39×15×7,2 mm z zamontowanym 4 wyprowadzeniowym gniazdkiem dla I2C. Moduł dostarczany jest w pełni przetestowany i skalibrowany. Czujnik RH/T jest zamontowany na izolowanej „wyspie” płytki drukowanej (fotografia 1, po prawej).

Fotografia 1. Moduł SVM30 firmy Sensirion [5]

Zalecane jest takie zorientowanie modułu, aby powietrze napływało od strony czujnika RH/T. Pozwala to uniknięcia efektu podgrzewania powietrza przez pozostałą elektronikę (w tym czujnik gazu). Moduł pracuje z typowym napięciem zasilania 5 V i prądem średnim 49 mA. Wyprowadzenia SCL i SDA modułu są wewnętrznie podciągnięte do zasilania 5 V. Moduł nie obsługuje układów zewnętrznych o niższym napięciu zasilania (np. 3,3 V).

Moduł SCD30 czujnika CO2

Moduł SCD30 firmy Sensirion to wysokiej jakości czujnik CO2 z zastosowaniem pomiaru metodą niedyspersyjnej podczerwieni (NDIR) [9]. Firma Sensirion opracowała termostos (thermopile) w oparciu o technologię CMOSens. Technologia ta umożliwia integrację funkcji cyfrowych i analogowych CMOS z bardzo cienką membraną wykonaną w warstwie metalowej. Technologia czujnika gazu CO2 obejmuje nie tylko struktury w krzemie. Obudowa i filtry podczerwieni są również bardzo ważne dla dokładności pomiaru. Dzięki dwukanałowemu pomiarowi stężenia dwutlenku węgla (wbudowany kanał referencyjny) czujnik automatycznie kompensuje zmiany długoterminowe. Mikrokontroler o bardzo niskiej mocy firmy STMicroelectronics steruje modułem i komunikacją [11].

Aby poprawić dokładność, SCD30 ma wbudowane najlepsze w swojej klasie czujniki temperatury i wilgotności SHT31. Dodatkową dokładność można uzyskać przy uwzględnieniu odczytów ciśnienia otoczenia przez zewnętrzny czujnik. Czujnik jest dostarczany w pełni skalibrowany i zlinearyzowany. SCD30 oferuje też procedurę automatycznej autokalibracji.

Parametry modułu SCD30 [10]:

  • metoda pomiarowa: pomiar CO2 metodą niedyspersyjnej podczerwieni (NDIR),
  • zakres: 0...40 000 ppm,
  • dokładność: ±30 ppm,
  • powtarzalność: ±10 ppm,
  • czas odpowiedzi (t63): 20 s,
  • stabilność temperaturowa: 2,5 ppm/°C (0...50°C),
  • stabilność długoterminowa: ±50 ppm,
  • kompensacja poziomu odniesienia: wewnętrzny kanał
  • referencyjny,
  • napięcie zasilania: 3,3...5,5 V,
  • prąd średni: 19 mA typ. (pomiar co 2s),
  • prąd w trakcie pomiaru: 75 mA max.,
  • interfejs cyfrowy: UART lub I2C, PWM,
  • słowo danych: 16 bitów plus CRC.
Fotografia 2. Moduł SCD30 firmy Sensirion [9]

Moduł SCD30 jest zbudowany w postaci zintegrowanej płytki drukowanej o wymiarach zewnętrznych 7×23×35 mm i masie 4 g (fotografia 2). Bardzo mała wysokość modułu umożliwia łatwą integrację w różnych aplikacjach.

Moduł bazowy SEK-SensorBridge

Zestaw narzędzi SEK – Sensing Evaluation Kit firmy Sensirion składa się z modułu bazowego SEK-SensorBridge oraz dołączanych do niego zestawów ewaluacyjnych [12]. Każdy zestaw składa się z kabla adaptera RJ45 (1 m) z wtyczką pasującą do złącza modułu czujnika. W zestawie jest też jeden moduł czujnika (lub trzy) [13]. Całość jest obsługiwana przez firmową aplikację SEK-ControlCenter [14].

Fotografia 3. Widok SEK-SensorBridge: z lewej gniazdka komunikacji z komputerem, z prawej strony gniazdka RJ45 portów dołączania czujników [12]

Moduł SEK-SensorBridge ma dwa porty akwizycji danych ze złączami RJ45 (fotografia 3 prawa). Nie mają one nic wspólnego z siecią komputerową – zostały tylko zastosowane do dołączenia do ośmiu linii sygnałowych łącza SPI i I2C oraz zasilania.

Każdy port modułu SEK-SensorBridge reprezentuje osobny kanał akwizycji i posiada następujące cechy:

  • obsługa szyny I2C z zegarem do 1 MHz,
  • ustawiane napięcie zasilania w zakresie 1,2...5,5 V,
  • prąd zasilania do 250 mA dla 5 V,
  • wejście analogowe 0...5,5 V,
  • obsługa szyny SPI z zegarem do 2 MHz.

Standardowym interfejsem między modułem SensorBridge a komputerem jest USB Virtual COM Port, wykorzystujący standardowe złącze micro USB (fotografia 3 lewa). Zapewnia to szybki interfejs plug-and-play do komputera i działa bezproblemowo z oprogramowaniem SEK-ControlCenter. Do komputera można podłączyć kilka modułów SensorBridge w celu równoczesnej akwizycji danych z wielu czujników. Moduł SensorBridge można również podłączyć do komputera poprzez interfejs RS485. Umożliwia to podłączenie kilku modułów SensorBridge na jednej magistrali i zasilanie ich tylko jednym zasilaniem. Ponadto interfejs RS485 może obsługiwać duże odległości między urządzeniami a komputerem.

Moduł SEK-SensorBridge obsługuje wiele typów czujników: SHTC3, SHTW2, SHT31, SCC30, SHT35, SGP30, SGPC3 oraz moduły SCD30 i SVM30. Moduł może pracować z więcej niż jednym czujnikiem dołączonym do tego samego kanału. Jednak w praktyce występują ograniczenia. Dołączane czujniki muszą:

  • posiadać różny adres szyny I2C,
  • pracować z tym samym napięciem zasilania,
  • obsługiwać odpowiedni zakres częstotliwości pracy szyny I2C.

Moduł jest łatwy w użyciu jednak poważnym ograniczeniem jest mała liczba portów, brak sygnalizacji podłączenia zasilania oraz stosunkowo wysoka cena.

Czujnikowe zestawy ewaluacyjne

Na firmowej stronie kompletowania indywidulanych zestawów narzędzi SEK – Sensing Evaluation Kit jest pokazanych 9 zestawów ewaluacyjnych z czujnikami, przydatnych do dołączenia do modułu bazowego SEK-SensorBridge [13]. Obejmują one pomiar temperatury, wilgotności względnej, jakości powietrza i CO2. Jednak na internetowych stronach dystrybutorów jest pokazanych 5 dodatkowych firmowych zestawów do pomiaru przepływu. I tutaj zaczynają się problemy – obie firmowe strony dotyczące zestawu SEK są bardzo nieczytelne [12, 13].

Trudno jest znaleźć dokładne informacje, oprócz odnośników do stron, czujników oraz miejsc zakupu. Na liście zestawów ewaluacyjnych znajduje się też zestaw SEK-SPS30, który wcale nie wymaga modułu SEK-SensorBridge.

Zestaw SEK-SGP30-Sensor oraz SEK-SGPC3-Sensor

Zestaw składa się z kabla adaptera zakończonego z jednej strony wtyczką RJ45 a z drugiej strony złączem czterosygnałowym przeznaczonym do złącza powierzchniowego na elastycznej płytce drukowanej (FPCB). Obok niego jest równolegle podłączone czterosygnałowe gniazdko z rozstawem 1 mm. Do zestawu są dołączone trzy moduły czujnikowe (oznaczone na opakowaniu jako SGPxx on FPCB) z układem scalonym SGP30 (SGPC3) zamontowanym na elastycznej płytce drukowanej [13]. Oba zestawy wyglądają tak samo (fotografia 4).

Fotografia 4. Zestawy SEK-SGPC3-Sensor oraz SEK-SGP30-Sensor dołączone do modułu bazowego SEK-SensorBridge [13]

Moduły czujnikowe na elastycznej płytce drukowanej nie mają dokumentacji, ani nie są dostępne do kupienia osobno. Kolejnym problemem jest brak czytelnego oznaczenia typu czujnika na płytce drukowanej. Oznaczenia na obudowie układu scalonego są w praktyce nieczytelne.

Zestaw SEK-SVM30-Sensor

Zestaw składa się z kabla adaptera zakończonego z jednej strony wtyczką RJ45 a z drugiej strony jest złącze do gniazdka na module SVM30 (fotografia 5). Dołączony jest też jeden moduł czujnikowy [13].

Fotografia 5. Zestaw ewaluacyjny SEK-SVM30-Sensor z modułem czujnikowym SVM30-J [13]

Zestaw SEK-SCD30-Sensor

Zestaw składa się z kabla zakończonego z obu stron wtyczką RJ45 oraz modułu SCD30 nałożonego na specjalną płytkę drukowaną adaptera (fotografia 6).

Fotografia 6. Zestaw ewaluacyjny SEK-SCD30-Sensor z modułem czujnikowym SCD30 [13]

Na złączu modułu SCD30 są używane tylko cztery wyprowadzenia zawierające zasilanie oraz dwie linie standardu I2C [13]. Dużym utrudnieniem jest brak dokumentacji do adaptera.

Aplikacja ControlCenter

Aplikacja ControlCenter firmy Sensirion jest przeznaczona do pracy z modułem SEK i dołączonymi do niego czujnikami tej firmy. Plik instalacyjny dla różnych systemów operacyjnych jest dostępny do pobrania ze strony głównej aplikacji [14]. Obecnie (czerwiec 2020) jest dostępna wersja 1.22.0 programu. Podczas instalacji dodawane są sterowniki dla portu wirtualnego oraz dla modułu SEK-SensorBridge.

Moduł SEK-SensorBridge jest identyfikowany w aplikacji jako EKS2. Podczas uruchomienia programu i znalezienia modułu SEK-SensorBridge sprawdzana jest wersja zainstalowanego oprogramowania firmowego oraz dostępność jego nowszej wersji i może zostać zaproponowana jego aktualizacja. Obecnie (Czerwiec 2020) jest dostępna wersja 5.8 tego oprogramowania. Po wpisaniu nowego oprogramowania firmowego ControlCenter zgłasza brak połączenia z czujnikami. Wymagane jest ponowne uruchomienie.

Rysunek 4. Okno główne aplikacji ControlCenter po uruchomieniu

Po uruchomieniu programu wyświetlane jest okno główne aplikacji (rysunek 4) i wykonywane jest skanowanie wszystkich dostępnych portów USB w celu znalezienia dołączonych modułów SEK-SensorBridge. Ich lista wraz z wykrytymi czujnikami jest wyświetlana w lewym rogu okna aplikacji. Program obsługuje imponującą listę czujników: SHTC1, SHTW2, SHTC3, SHT3x, SHT2x, SHT85, STS3x, SGP30, SGPC3, SCD30, SPS30.

W menu Tools jest pozycja Manage firmware, która otwiera okno dialogowe z informacją o numerze modułu SEK-SensorBridge i wersji jego oprogramowania firmowego. Możliwe jest też wskazanie pliku z nową wersją do aktualizacji. W menu Help są dostępne linki do przydatnych stron: strona główna aplikacji [14], strona dokumentacji aplikacji [15] strona często zadawanych pytań (FAQ) [16]. Jest też link błędny, który według nazwy miał dawać dostęp do strony głównej modułu SEK-SensorBridge [12]. Przycisk Refresh służy do ponownego skanowania portów USB. Jest on aktywny tylko wtedy, gdy nie jest wykonywana akwizycja danych. Powoduje także powrót do domyślnego skonfigurowania aranżacji i parametrów wykresów danych.

Kliknięcie na linię czujnika na liście powoduje zamruganie diodą LED umieszczoną koło gniazdka danych używanego portu modułu SEK-SensorBridge do niego dołączonego. Powoduje też wyświetlenie w panelu Additional Information ustawień konfiguracyjnych tego czujnika. Na liście, obok nazwy jest pole zaznaczania czy dane mają być zapisywane do pliku dyskowego (log). Ustawienia logów są dostępne z menu File. Wybranie pozycji Data Logging Settings otwiera okno dialogowe z wyborem katalogu roboczego oraz możliwości zapisu danych czujnika w osobnym lub wspólnym pliku. Można też ustawić znaczniki czasowe reprezentowane w formie czytelnej tekstowo. Pozostałe pozycje służą do otwierania pliku logu w programie Excel oraz otwierania pliku błędów.

Na liście czujników, w kolumnie Config, znajduje się ikonka w postaci koła zębatego. Po kliknięciu na nią otwierane jest okno konfiguracyjne wybranego czujnika lub modułu SEK-SensorBridge. Przykład skonfigurowania modułu do pracy z modułem SDC30 (Port 2) oraz SVM30 (Port 1) jest pokazany na rysunku 5. Okno umożliwia ustawienie napięcia zasilania (od 1,2 do 5,5 V) oraz częstotliwości zegara szyny I2C (od 100 kHz do 2 MHz). Zakres dostępnych ustawień jest dopasowany do wymogów dołączonych czujników.

Rysunek 5. Okno konfiguracyjne modułu SEK-SensorBridge

Okno konfigurowania czujnika umożliwia ustawienie częstotliwości wykonywania pomiaru (czasami ustalone na stałe, bez możliwości edycji), liczby pomiarów do uśredniania (1, 2, 5, 10, 100, 1000), zapisu logu z przerzedzaniem lub z uśrednianiem. Dla niektórych czujników są dodatkowe ustawienia, np. kompensacja pomiarów TVOC i eCO2 czujnika SGP30 modułu SVM30 z wykorzystaniem pomiaru wilgotności wykonywanej przez czujnik SHTC1 tego modułu (rysunek 6).

Rysunek 6. Okno konfiguracyjne czujnika SGP30 modułu SVM30

W oknie ustawiania parametrów czujnika SHTC1 jest opcja Heater z wyborem on/off ale nie wiadomo co ona oznacza. W lewym panelu okna aplikacji jest przycisk Add Module ale jego działanie nie jest do końca znane. Jest też przycisk Add custom plot. W oknie dialogowym można wybrać sygnał i nazwę, co spowoduje otworzenie nowej zakładki o tej nazwie z wykresem wybranego sygnału.

Wykresy odczytanych danych z czujników są pokazywane w prawym panelu okna aplikacji. Wykresy danych z czujników są zgrupowane w osobne zakładki. Po prawej stronie każdego wykresu znajduje się ikonka w postaci koła zębatego. Udostępnia ona okno Plot Settings z możliwością ustawienia przedziału czasu pokazywanego przebiegu (typowo 600, 300 lub 120 s) częstotliwości aktualizacji wykresu (typowo 1 Hz), wyboru automatycznego skalowania oraz ustawienia formatu skali czasowej: w sekundach (czas bieżący od początku akwizycji) lub czas zegarowy. Dodatkowo można ustawić zakres skali wartości. Po kliknięciu na pole wykresu można go przeciągać w górę i w dół oraz pokrętłem myszy zmieniać zakres skali wartości.

Pola wykresów TVOC oraz CO2eq czujnika SGP30 pokazują, zaznaczone różnymi kolorami, przedziały skali jakości powietrza z nazwami. Bardzo ułatwia to interpretację wyników. Jednak oznaczenia liczbowe skali wartości tych wykresów są pokazywane tylko na granicach przedziałów jakości. Oznacza to iż nie ma żadnego opisu aż do 66 ppb dla wykresu TVOC oraz 800 ppm dla wykresu CO2eq. Stwarza to istotne utrudnienie w odczycie bieżącej wartości na wykresie dla typowo niskich wartości tych parametrów w dobrze wentylowanych pomieszczeniach.

Skala czasowa dla różnych czujników jest domyślnie ustawiona na różne wartości. Dla SGP30 jest to 600 s, dla SHTC1 300 s a dla SCD30 120 s. Również opis skali czasu jest dla SGP30 ustawiony jako czas zegarowy a dla SHTC1 i SCD30 czas bieżący. Bardzo utrudnia to porównanie wyników w trakcie pomiarów.

Przyciśnięcie ikonki w prawym górnym rogu każdego wykresu powoduje odłączenie wykresu od zakładki i utworzenia okienka „pływającego” ponad oknem aplikacji. Pozwala to na zmianę organizacji wykresów na zakładce oraz oglądanie wybranych wykresów (jednego czujnika) na tle wykresów danych z innego czujnika.

Przy uruchamianiu aplikacji ControlCenter wyświetlane jest okno Potential SVM30 Module Detected. Daje ono wybór, czy czujniki są dołączone osobno, czy też jest to moduł SVM30.

Wybór jest bardzo istotny, gdyż moduł wymaga zasilania 5 V, dużo wyższego niż napięcie pracy samych czujników.

Przyciśnięcie przycisku Start rozpoczyna akwizycję danych. Jednocześnie są one zapisywane do plików.

Połączenia sprzętowe

Do prób praktycznych został zastosowany jeden moduł bazowy SEK-SensorBridge oraz zestawy ewaluacyjne z kablami adaptacyjnymi oraz modułami czujnikowymi: SEK-SGP30-Sensor, SEK-SGPC3-Sensor oraz SEK-SHT35-Sensor. Z braku dedykowanych kabli adaptacyjnych (oraz problemów ich pozyskania w czasach epidemii COVID-19) pozostałe moduły zostały dołączone poprzez przejściówki wykonane samodzielnie (jak na fotografii tytułowej). Bardzo pomocna była dokładna firmowa dokumentacja modułów.

Moduł SVM30 został dołączony do kabla adaptacyjnego wykonanym samodzielnie kablem składającym się z wtyczki z przewodami oraz złącza z rozstawem 1 mm. Strona główna modułu bazowego SEK-SensorBridge zawiera schemat rozmieszczenia sygnałów na złączu RJ45 portów danych modułu. Miernikiem można łatwo ustalić rozmieszczenie sygnałów na złączach po drugiej stronie kabla adaptera. Moduł SCD30 został dołączony do standardowej płytki stykowej (do montażu próbnego) a następnie poprzez kabel ze złączem rozstawu 1 mm do kabla adaptacyjnego.

Wykonano próby dołączenia do jednego kanału pomiarowego modułu bazowy SEK-SensorBridge kilku czujników. Pomocne w tym celu było zestawienie adresów szyny I2C dla posiadanych czujników (tabela 1). Wydaje się, że można dołączyć tylko dwa czujniki do jednego portu.

Badania

Porównanie działania czujników jest bardzo trudne ze względu na konieczność zapewnienia stabilnych warunków pracy. Do referencyjnego pomiaru warunków pomiarowych zostały zastosowane zestawy SHT31 Smart Gadget firmy Sensirion z czujnikami SHT31. Poprzednie próby z nimi, opisane w artykule „Scalone czujniki cyfrowe wilgotności i temperatury”, pokazały bardzo stabilne, precyzyjne i wiarygodne działanie zestawu [S32].

Początkowo próby były wykonywane z czujnikami umieszczonymi na biurku. Okazało się, że w takim przypadku bardzo silnie na pomiary oddziaływają zmiany w otoczeniu jak otworzenie drzwi, okna lub nawet przejście obok. Z drugiej strony pokazuje to dobrą czułość sensorów. Porównanie pomiarów CO2 było wykonywane dla czujników przykrytych częściowo przezroczystą pokrywą. Spowodowało to zdecydowane ograniczenie przepływu powietrza wokół czujników. Poprawiło to stabilność pomiarów. Jednak spowodowało także efekt samopodgrzewania się modułów pomiarowych. Typowe warunki pomiarów pod częściowym przykryciem są pokazane na fotografii tytułowej:

  • SHT31 Smart Gadget 22,35°C/41,48% RH
  • SHTC1 24,1°C/34,5% RH (na module SVM30)
  • SCD30 24,3°C/34,8% RH
  • SHT31 Smart Gadget 20,65°C/46,23% RH (na swobodnym powietrzu)

Porównanie pomiaru TVOC

Wykonano porównanie pomiarów TVOC wykonywanych jednocześnie przez czujniki SGP30 oraz SGPC3. Zestawy SEK-SGPC3-Sensor oraz SEK-SGP30-Sensor były podłączone do modułu bazowego SEK-SensorBridge tak jak na fotografii 4. Zostało ustawione przerzedzanie/uśrednianie 10× dla obu czujników (rysunek 7).

Rysunek 7. Eksperymenty z pomiarami jakości powietrza dla czujników SGP30 oraz SGPC3

Pierwsza różnica dotyczy szybkości wykonywania pomiarów 1 Hz i 0,5 Hz (odpowiednio). Na wykresie TVOC widać wyraźnie niższą wartość odczytu dla czujnika SGPC3 niż SGP30. Sygnał z czujnika SGP30 wykazuje dosyć dużą zmienność. Trzeba pamiętać że mówimy o bardzo niskich poziomach rzędu 60 ppb co i tak mieści się w najniższym przedziale jakości powietrza (Excellent). Po długim czasie działania czujników i ustaleniu stabilnych warunków pracy w pomieszczeniu została wykonana seria eksperymentów:

  • ok. godziny 23:11:00, na odległość ok. 1 m zbliżyła się osoba, która przed chwilą używała wody kolońskiej. Zauważalny był duży, szybki i krótki wzrost poziomu TVOC dla czujnika SGP30. Poziom TVOC obu czujników powrócił do wartości bliskiej zero.
  • ok. godziny 23:12, na odległość ok. 1 m zbliżyła się osoba po spożyciu ok. 2 godz. wcześniej 1,5 małego kieliszka wina.
  • ok. godziny 23:14, pojedyncze dmuchnięcie z odległości ok. 20 cm przez czas ok. 1 s. Duży i krótki wzrost poziomu TVOC.

Zwraca uwagę dosyć długi czas podwyższonego poziomu odczytu po wystawieniu na działanie wykrywanego czynnika. Na wykresie CO2eq widać dolne ograniczenie poziomu do 400 ppm.

Widać też wyraźną odpowiedź na trzy eksperymenty z ich kształtem zgodnym jak dla TVOC. Podobny kształt ma zmiana poziomu surowego sygnału Ethanol Raw Signal oraz H2 Raw Signal czujnika SGP30.

Rysunek 8. Pomiar TVOC przez czujniki SGP30 (na module SVM30) oraz SGPC3

Porównanie pomiaru TVOC przez czujniki SGP30 (na module SVM30) oraz SGPC3 w warunkach stabilnych i bez uśredniania pokazuje dużą zgodność wartości oraz kształtu zmian (rysunek 8). Porównanie pomiaru wartości temperatury przez czujniki SHT35 (SEK-SHT35-Sensor) oraz SHT31 (SHT31 Smart Gadget) wykazało pełną zgodność.

Porównanie pomiaru CO2 oraz CO2eq

Warunki pomiaru z czujnikami pod częściowym przykryciem są pokazane na rysunku tytułowym.

Ustawienia:

  • SGP30 – pomiary: 1 Hz, co 10-ta próbka, zapis średniej, kompensacja HR. Wykres: 600 s, 1 Hz, 200 ppm;
  • SCD30 – pomiary: 0,5 Hz, co 10-ta próbka, zapis średniej. Wykres: 600 s, 1 Hz, 200 ppm.

Wejście do pokoju z czujnikami, po całej nocy pracy zestawu, spowodowało powolny wzrost poziomu CO2 (rysunek 9).

Rysunek 9. Wykres pomiaru CO2 i CO2eq

Trend zmian się zgadza, podobnie zakres wartości. Jednak poziom wyliczonego CO2 jest niższy o ok. 50 ppm. Większe są też fluktuacje tego pomiaru. Poziom wyliczonego CO2 przez układ SGP30 bardzo zależy też od czasu pracy czujnika. Po włączeniu działania czujnika wyliczony poziom CO2eq jest bardzo niski oscyluje w granicach teoretycznego minimum 400 ppm (zaniżony nawet o 150 ppm). W odróżnieniu, pomiar CO2 wykonywany przez czujnik SCD30 od razu pokazuje poprawną wartość.

Sporym problemem są zagadnienia kalibracji czujników gazu. W zasadzie oba czujniki wymagają od użytkownika przeprowadzenia jakiś działań w celu kalibracji linii bazowej. Dla czujnika SCD30 jest w aplikacji SEK-ControlCenter w oknie ustawiania parametrów pracy układu opcja Automatic Self Callibration. Jednak w dokumentacji brak opisu co ona powoduje, jaki ma wpływ na wartość pomiarów ani w jakich warunkach należy ją wykonywać. Podobnie dla czujnika SGP30 jest w oknie ustawiania parametrów pracy układu sekcja Baseline Data i ponownie brak opisu.

Rysunek 10. Log danych pomiaru CO2 i CO2eq (ramka)

Dane zapisane w logu dla pomiaru CO2 (SCD30) zostały pokazane na rysunku 10. Obejmują one zakres czasowy taki jak na wykresach z rysunku 8. Zawierają pełne dane o konfiguracji sprzętu pomiarowego, czas bieżący, czas zegarowy i wartości pomiaru. Dane z czujnika SCD30 były zapisywane w osobnym pliku dla tego zostały przeniesione do tabeli (ramka) dane z pomiaru CO2eq (SGP30). Widać problem z synchronizacją czasową próbek pomiarowych. O ile oba wykresy są rysowane co 1 s to dane pomiarowe są odczytywane z dwukrotną różnicą szybkości. O ile czas dla pierwszej próbki pomiarów z obu czujników się zgadza (wiersz 11) to dalej już nie bardzo. Powstaje pytanie jak rozumiane jest przerzedzanie próbek pomiarowych a jak ich uśrednianie? Oraz, jak rysowane są dane na wykresie z taką samą podstawą czasową a różnym odstępem czasowym odczytu próbek? A także, czy włączenie uśredniania dla zapisu do logu powoduje też uśrednianie danych do rysowania wykresu?

Rysunek 11. Log danych jednoczesnego pomiaru wielu parametrów czujników modułu SVM30 oraz SCD30

Dane zapisane w pojedynczym pliku logu dla pomiaru wielu parametrów czujników modułu SVM30 oraz SCD30 zostały pokazane na rysunku 11. Dane obejmują wyniki pomiarów bezpośrednio po uruchomieniu akwizycji. Bardzo szybko uzyskiwane są rozsądne wartości pomiarów z modułu SCD30 (w tym CO2) oraz temperatury i wilgotności modułu SVM30. Wartości parametrów jakości gazu modułu SVM30 nie są wiarygodne, ponieważ trwa 60 sekundowy okres wygrzewania. Potem wartości tych parametrów powoli dochodzą do poziomów stabilnych. Znaczniki pomiarów parametrów są dokładne ale widać niedokładności czasowe powtarzalności pomiarów wykonywanych (teoretycznie) ze stałym odstępem czasowym.

Pomiary wilgotności

Pomiar wilgotności i temperatury został wykonany czujnikiem SHTC1 (na module SVM30). Po długim czasie stabilnej pracy w pomieszczeniu zostały uchylone drzwi. Odpowiedź czujnika została pokazana na rysunku 12.

Rysunek 12. Odpowiedź czujnika SHTC1 na zmianę warunków otoczenia

Widać pełną zgodność zmian wszystkich trzech parametrów wilgotności dostarczanych przez czujnik.

Podsumowanie

Zastosowanie zestawu narzędzi SEK – Sensing Evaluation Kit firmy Sensirion składającego się z modułu bazowego SEK-SensorBridge oraz dołączonych do niego zestawów ewaluacyjnych i obsługiwanego przez firmową aplikację SEK-ControlCenter pozwala na natychmiastowe i profesjonalne rozpoczęcie pracy z czujnikami gazu. Jest to bardzo pomocne ze względu na bardzo skomplikowaną obsługę interfejsu cyfrowego czujników i konieczności spełnienia wymagań sprzętowych, np. zasilania i poziomów logicznych sygnałów. Dodatkowym trudnym zagadnieniem jest przetwarzanie surowych danych odczytanych z czujników. Ta wygoda jest okupiona ograniczeniami w skonfigurowaniu zestawu pomiarowego oraz w dopasowaniu skonfigurowania aplikacji do potrzeb.

Powyższy opis jest relacją z pierwszych prób użycia zestawu narzędzi SEK – Sensing Evaluation Kit. Pomimo łatwości rozpoczęcia pracy i szybkiego uzyskania wyników pomiarów ich interpretacja wymaga już sporej wiedzy dotyczącej metodologii pomiarów parametrów środowiska, technologii pomiarowej czujników oraz metod i procedur kalibracji czujników.

Porównanie działania czujników parametrów powietrza wymaga zapewnienia stabilnych warunków, co w warunkach domowych (wymuszonych ze względu na epidemię COVID-19) jest bardzo trudne.

Henryk A. Kowalski
Instytut Informatyki
Politechnika Warszawska
Zdjęcia: Piotr T. Kowalski

Wybrane pozostałe artykuły kursu „Systemy dla Internetu Rzeczy”
[S32] Scalone czujniki cyfrowe wilgotności i temperatury, EP 12/2019
[S35] Cyfrowe czujniki gazu, EP 3/2020

Literatura
[1] Multi-Pixel Gas Sensors SGP, Sensirion, http://bit.ly/39MjIaZ
[2] Datasheet SGP30, Sensirion, https://bit.ly/2BlhAea
[3] Datasheet SGPC3, Sensirion, https://bit.ly/30SLK3f
[4] Total Volatile Organic Compounds (TVOC) and Indoor Air Quality (IAQ), SGP30 TVOC and CO2eq Sensor, Sensirion, https://bit.ly/3dcyuc3
[5] Multi-Gas, Humidity and Temperature Module SVM30, Sensirion, https://bit.ly/3ehKsCF
[6] Datasheet SVM30, Sensirion, https://bit.ly/3egXTTg
[7] Digital Humidity Sensor SHTC1 (RH/T), Sensirion, https://bit.ly/3ef3TvP
[8] Datasheet SHTC1 Humidity and Temperature Sensor IC. Sensirion, https://bit.ly/30XKBqX
[9] CO2 and RH/T Sensor Module, SCD30 – Sensor Module for HVAC and Indoor Air Quality Applications, Sensirion, https://bit.ly/2AFYDDd
[10] Datasheet SCD30, Sensirion, https://bit.ly/2Bo90ex
[11] Interface Description SCD30, Sensirion, https://bit.ly/3ehnWd1
[12] SEK-SensorBridge, Sensirion, https://bit.ly/2UTZRBu
[13] Compile Your Own Evaluation Kit with Sensirion’s Toolbox, Sensirion, https://bit.ly/2BncRsk
[14] ControlCenter Home Page, Sensirion, https://bit.ly/2N79aKa
[15] Documentation Control Center, Sensirion, https://bit.ly/2YcmJOL
[16] Sensirion ControlCenter FAQ, Sensirion, https://bit.ly/2UTZWVO
Artykuł ukazał się w
Elektronika Praktyczna
lipiec 2020
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik luty 2021

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec 2021

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka Podzespoły Aplikacje luty 2021

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna luty 2021

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich luty - marzec 2021

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów