Laserowy czujnik pyłu to jedna z najprzyjemniejszych rzeczy, jakie można podłączyć do płytki z ESP. Dziesięć minut po włączeniu masz wykres PM2.5 na żywo, a gdy pierwszy raz podsmażysz cebulę albo zapalisz świeczkę, widzisz, jak linia skacze w górę. Trudność nie polega na zdobyciu liczby. Chodzi o to, żeby wiedzieć, co ona oznacza, na ile jej ufać i jak długo czujnik wytrzyma.

Ten poradnik porównuje cztery moduły, które pojawiają się w większości domowych projektów: Plantower PMS5003, Nova Fitness SDS011, Sensirion SPS30 i nowszą rodzinę Sensirion SEN6x. Potem omawia sprawy, o których karty katalogowe wspominają tylko mimochodem: wilgotność, PM10, zużycie wentylatora i miejsce montażu.

Co te czujniki naprawdę mierzą

Wszystkie cztery to optyczne liczniki cząstek. Wentylator przeciąga powietrze przez małą komorę, laser je oświetla, a fotodetektor wychwytuje światło rozproszone na przelatujących cząstkach. Na podstawie impulsów czujnik szacuje, ile cząstek danej wielkości przeleciało.

Stężenie masowe w µg/m³ to obliczenie wykonane na podstawie tego zliczenia. Sensirion w dokumencie o swoich specyfikacjach wyjaśnia, dlaczego to istotne. Przeliczenie zależy od właściwości optycznych cząstek, takich jak współczynnik załamania światła i kształt, więc czujnik optyczny z natury odbiega od metody grawimetrycznej, w której waży się cząstki zebrane na filtrze. Sensirion dodaje, że nawet drogie przyrządy referencyjne potrafią różnić się między sobą o ponad 20% wartości mierzonej, jeśli nie są właściwie skonfigurowane i serwisowane.

Stąd sposób, w jaki producenci podają parametry. Główną wartością u Sensiriona jest precyzja, czyli odchylenie pojedynczego czujnika od średniej z partii, a nie dokładność względem bezwzględnego wzorca. Instrukcja Plantowera do PMS5003 mówi to jeszcze wprost: producent gwarantuje tylko zgodność między czujnikami Plantower i zastrzega, że czujnika nie należy sprawdzać sprzętem innych firm.

Amatorski czujnik pyłu najlepiej więc pokazuje, czy powietrze się poprawia, czy pogarsza, i mniej więcej o ile. Traktuj go jak dobrze skalibrowany wskaźnik trendu, a nie przyrząd laboratoryjny.

Cztery popularne moduły obok siebie

Plantower PMS5003 Nova Fitness SDS011 Sensirion SPS30 Sensirion SEN6x
Zasilanie 4,5-5,5 V 4,7-5,3 V 5 V ±10% 3,15-3,6 V
Prąd podczas pomiaru ≤100 mA 70 mA ±10 mA 45-65 mA zależnie od wersji
Interfejs UART, logika 3,3 V UART, logika 3,3 V UART lub I2C I2C
Wyniki PM PM1, PM2.5, PM10, liczba cząstek PM2.5, PM10 PM1, PM2.5, PM4, PM10, liczba cząstek PM1, PM2.5, PM4, PM10
Deklarowana żywotność MTTF ≥3 lata laser do 8000 godzin ponad 10 lat pracy całodobowej 10 lat (czujnik formaldehydu ponad 6)

Wszystkie wartości pochodzą z kart katalogowych producentów. Kilka szczegółów kryjących się za tabelą ma znaczenie w praktyce.

PMS5003. Ma wymiary 50 x 38 x 21 mm. Wentylator potrzebuje 5 V, ale piny danych pracują w logice 3,3 V, co pasuje bezpośrednio do ESP32 i ESP8266. W domyślnym trybie aktywnym czujnik wysyła dane co 2,3 sekundy, gdy powietrze jest stabilne, i częściej, gdy stężenie szybko się zmienia. Ma pin SET do usypiania, a Plantower podaje, że stabilne odczyty pojawiają się co najmniej 30 sekund po wybudzeniu, ze względu na wentylator. Deklarowana zgodność wynosi ±10 µg/m³ w zakresie 0-100 µg/m³ i ±10% w zakresie 100-500 µg/m³. Skuteczność zliczania to 50% dla cząstek 0,3 µm i 98% dla cząstek od 0,5 µm w górę.

SDS011. Przy wymiarach 71 x 70 x 23 mm jest największy z czwórki i to właśnie on trafia do zestawu airRohr projektu Sensor.Community. Karta katalogowa podaje maksymalną wilgotność pracy 70% oraz maksymalny błąd względny ±15% i ±10 µg/m³ przy 25 °C i wilgotności 50%. Laser ma żywotność do 8000 godzin. To mniej niż rok ciągłej pracy, dlatego Nova zaleca pracę przerywaną, na przykład 30 sekund pomiaru na minutę, jeśli dane w czasie rzeczywistym nie są potrzebne.

SPS30. Ma tylko 41 x 41 x 12 mm, a na złączu JST ZHR-5 udostępnia zarówno UART, jak i I2C. Przy przewodach dłuższych niż 20 cm Sensirion zaleca UART, bo jest odporniejszy na zakłócenia. Czujnik jest kalibrowany względem przyrządów referencyjnych TSI, a precyzję PM1 i PM2.5 producent podaje jako ±(5 µg/m³ + 5% wartości mierzonej) w zakresie 0-100 µg/m³. SPS30 sam się też czyści: domyślnie raz w tygodniu wentylator przez 10 sekund pracuje na pełnych obrotach i wydmuchuje kurz, a odczyty w tym czasie się nie aktualizują.

SEN6x. Nowsza platforma Sensiriona działa przy 3,3 V na I2C i zależnie od wersji łączy pomiar pyłu z innymi pomiarami. SEN62 mierzy pył, wilgotność i temperaturę, SEN63C dodaje CO2, SEN65 dodaje wskaźniki VOC i NOx, SEN66 łączy pył, wilgotność, temperaturę, VOC, NOx i CO2, a SEN68 zamiast CO2 mierzy formaldehyd. Jeśli szukasz jednego modułu do całej domowej stacji jakości powietrza, warto zacząć od tej rodziny.

PM10 to słaby punkt

W kartach katalogowych SPS30 i SEN6x jest przypis: wartości PM4 i PM10 są obliczane z rozkładu wszystkich zmierzonych cząstek. Nikt ich osobno nie mierzy. Deklarowana precyzja tych wyników jest też dużo luźniejsza i w obu rodzinach wynosi ±25 µg/m³ w zakresie 0-100 µg/m³.

Plantower z kolei podaje parametry zgodności PMS5003 wyłącznie dla wyniku PM2.5. Za główną wartość przyjmij więc PM2.5, a PM10 z tych modułów traktuj jako przybliżoną wskazówkę.

Wilgotność zawyża odczyty

Wilgotność wpływa na to, jak cząstki rozpraszają światło, na co zwracają uwagę badacze EPA cytowani niżej. Czujniki optyczne w wilgotnym powietrzu zwykle pokazują za dużo.

Najlepiej udokumentowany przykład to ocena czujników PurpleAir, w których pracują moduły Plantower, przeprowadzona przez amerykańską agencję EPA. Badacze porównali prawie 12 000 średnich dobowych z wynikami przyrządów urzędowych w 16 stanach i stwierdzili, że surowe dane PurpleAir zawyżały PM2.5 o około 40% w większości regionów USA. Opracowali poprawkę, która korzysta z wartości PM2.5 z czujnika i wilgotności względnej:

PM2.5 = 0.524 × PA_cf1 - 0.0862 × RH + 5.75

PA_cf1 to wartość PM2.5 Plantowera w wariancie CF=1 w µg/m³, a RH to wilgotność względna w procentach. Poprawka zmniejszyła błąd (RMSE) danych dobowych z 8 do 3 µg/m³.

Z tego wynikają dwie praktyczne rzeczy. Po pierwsze, do korygowania odczytów potrzebujesz pomiaru wilgotności tuż obok czujnika pyłu. Po drugie, sprawdź, z którego wyniku korzystasz. PMS5003 podaje dwa zestawy wartości masowych: „CF=1, standard particle” oraz „under atmospheric environment”. Według publikacji EPA są one równe mniej więcej do 25 µg/m³, a powyżej tej wartości wynik atmosferyczny wynosi około dwóch trzecich wyniku CF=1. W komponencie pmsx003 w ESPHome pm_2_5_std to wartość CF=1, a pm_2_5 to wartość atmosferyczna. Wzór EPA zakłada CF=1.

Poprawkę dopasowano do amerykańskich danych z zewnątrz, uśrednionych w skali doby. To rozsądny punkt odniesienia, a nie uniwersalna kalibracja dla każdego salonu.

Wentylator się zużywa, więc zaplanuj tryb pracy

Czujnik pyłu to mały wentylator i laser pracujące bez przerwy, a oba się starzeją. Deklarowane żywotności w tabeli bardzo się różnią, a dokumenty nie zawsze są ze sobą zgodne. Instrukcja Plantowera podaje dla PMS5003 MTTF co najmniej trzy lata, a dokumentacja komponentu pmsx003 w ESPHome mówi, że laser wytrzymuje około 8000 godzin, czyli prawie rok.

Jeśli nie potrzebujesz danych co sekundę, uruchamiaj czujnik okresowo:

  • W ESPHome komponent pmsx003 zatrzymuje wentylator między odczytami, gdy update_interval jest dłuższy niż 30 sekund, a pin tx_pin w konfiguracji UART jest podłączony. Dokumentacja sugeruje 120 sekund lub więcej, żeby wydłużyć życie czujnika.
  • Dla SDS011 karta katalogowa Novy zaleca pracę przerywaną przy monitorowaniu powietrza, na przykład 30 sekund pomiaru na minutę.
  • Po wybudzeniu odrzucaj pierwsze odczyty. Plantower wymaga co najmniej 30 sekund, a Sensirion podaje dla SEN6x czas rozruchu pomiaru pyłu 30 sekund.

Przy SPS30 jest jedna pułapka: licznik samooczyszczania zeruje się po każdym odłączeniu zasilania. Jeśli wyłączasz czujnik codziennie, Sensirion zaleca ręczne uruchamianie czyszczenia co najmniej raz w tygodniu.

Miejsce montażu i obudowa

Wskazówki montażowe Plantowera pasują do każdego z tych modułów:

  • Umieść wlot i wylot w jednej płaszczyźnie ze ścianką obudowy albo oddziel je przegrodą, żeby czujnik nie zasysał z powrotem wydmuchanego powietrza.
  • Otwór w obudowie nie powinien być mniejszy niż wlot czujnika.
  • Nie stawiaj czujnika w strumieniu powietrza z oczyszczacza albo go osłoń.
  • Zamontuj go co najmniej 20 cm nad podłogą, żeby osiadający kurz go nie zatkał.
  • W kuchni, łazience i na zewnątrz dodaj zabezpieczenie. Plantower wymienia te miejsca jako wykraczające poza zwykłe warunki wewnątrz budynku.

PMS5003 i SPS30 mają metalowe obudowy połączone z masą. Uważaj, żeby obudowa nie dotykała żadnej innej części układu.

Na zewnątrz poradnik airRohr projektu Sensor.Community proponuje montaż na wysokości 1,5-3,5 m nad ulicą, w dobrze przewietrzanym miejscu. Osłonę przed pogodą tworzą tam kolanka rury kanalizacyjnej, a antena Wi-Fi płytki ESP8266 powinna być skierowana w stronę przeciwną do czujnika. Przy rejestracji stacji projekt pyta o wysokość nad ziemią i położenie względem ulicy, bo miejsce montażu wpływa na dane.

Jak rozumieć liczby

Jako punkt odniesienia: wytyczne WHO z 2021 roku określają poziom PM2.5 na 5 µg/m³ dla średniej rocznej i 15 µg/m³ dla średniej dobowej. To długie średnie. Krótki skok podczas gotowania to coś zupełnie innego niż cały dzień podwyższonego stężenia, więc zapisuj dane i patrz na średnie godzinowe i dobowe, a nie tylko na bieżący odczyt.

Według EPA źródłami cząstek w domu są gotowanie, palenie świeczek, kominki, grzejniki bez odprowadzenia spalin, palenie tytoniu i niektóre hobby, a do tego dochodzi pył napływający z zewnątrz. W domach bez silnych źródeł wewnętrznych stężenie w środku powinno być według EPA takie samo jak na zewnątrz albo niższe. Dlatego para czujników, jeden w środku i jeden na zewnątrz, daje więcej niż każdy z osobna. Porównanie obu odczytów pomaga zdecydować, czy otworzyć okno, włączyć oczyszczacz, czy trzymać okna zamknięte.

Jak przesłać dane do swojego systemu

Oprogramowanie dobrze obsługuje te czujniki. ESPHome ma komponenty między innymi dla rodziny Plantower (pmsx003), SDS011, SPS30, SEN5x i SEN6x. Jeśli wolisz projekt otwartych danych, oprogramowanie airRohr z Sensor.Community działa na ESP8266 NodeMCU z czujnikami SDS011 i BME280, obsługuje też inne czujniki, w tym modele Plantower i SPS30, i publikuje odczyty na publicznej mapie.

Najczęstsze błędy

  • Odczytywanie PM10 z małego czujnika optycznego tak, jakby był mierzony. W SPS30 i SEN6x jest obliczany.
  • Pomijanie wilgotności. Odczyty we mgle, po prysznicu albo na zewnątrz przy wilgotnej pogodzie mogą być zawyżone. Zapisuj wilgotność razem z pyłem.
  • Ciągła praca czujnika przez wiele miesięcy. Korzystaj z usypiania albo dłuższych odstępów między pomiarami, chyba że potrzebujesz szybkiej reakcji.
  • Zasilanie wentylatora z 3,3 V. PMS5003, SDS011 i SPS30 potrzebują 5 V. Tylko SEN6x pracuje przy 3,3 V.
  • Obudowa, w której powietrze krąży w kółko. Oddziel wlot od wylotu.
  • Porównywanie dwóch marek w oczekiwaniu na tę samą liczbę. Różne algorytmy i kalibracje dają różne wartości bezwzględne. Porównuj trendy.

Moduł wybierz na podstawie tego, co jeszcze ma mierzyć i jak go zasilisz. Najwięcej wysiłku włóż potem w miejsce montażu i zapis danych, bo to od nich zależy, czy pomiary pyłu będą coś warte.