BME688 – czujnik gazu, wilgotności, temperatury i ciśnienia z wbudowaną sztuczną inteligencją

Firma Bosch Sensortec jest znana z produkcji wysokiej klasy czujników środowiskowych. Popularnymi produktami firmy są wielofunkcyjne czujniki BME280 oraz BME680. Oba zawierają sensor temperatury, wilgotności oraz ciśnienia. BME680 ma też dodatkową funkcję, a jest nią możliwość wykrywania stężenia gazów w powietrzu. Sensor reaguje na tzw. lotne związki organiczne, takie jak aceton czy formaldehyd, obecne w farbach, lakierach, klejach itd.

Oba czujniki opisaliśmy na łamach portalu w artykułach: BME280 – czujnik temperatury, wilgotności oraz ciśnienia oraz BME680 – czujnik gazu, ciśnienia, wilgotności oraz temperatury. Zapraszamy do lektury!

Dzięki tak bogatej funkcjonalności czujniki te są powszechnie stosowane m.in. w stacjach pogodowych. Dodatkowy czujnik lotnych związków organicznych w BME680 może się przydać podczas pomiaru jakości powietrza oraz poziomu zanieczyszczeń.

Czujnik BME688

Najnowszym czujnikiem z tej grupy w ofercie Bosch Sensortec jest BME688. Podobnie jak wyżej wymienione układy łączy w sobie czujniki wilgotności, temperatury oraz ciśnienia atmosferycznego. Jednak czwarty element, czujnik gazu jest już o wiele bardziej zaawansowany niż w BME680. Jest bowiem w stanie wykrywać nie tylko lotne związki organiczne, ale także lotne związki siarki (VSC) oraz inne gazy takie jak tlenek węgla czy wodór w zakresie cząstek na miliard (ppb).

Rys. 1. Czujnik BME688

W kwestii czujników temperatury, wilgotności oraz ciśnienia czujnik BME688 oferuje bardzo podobne parametry co BME280 oraz BME680. Pomiar temperatury ma zakres od -40°C do +85°C i dokładność ±1,0°C. Ciśnienie można mierzyć w zakresie od 300 do 1100 hPa z dokładnością w typowych warunkach ±0,6 hPa. Natomiast czujnik wilgotności ma zakres od 0% do 100% i dokładność ±3%.

Dodatkową funkcją czujnika BME688 jest tzw. skaner gazów. Dzięki szerokiemu zakresowi wykrywanych gazów moduł jest w stanie wykryć obecność specyficznych związków chemicznych w powietrzu oraz wyciągnąć z tego faktu wnioski. Przykładowo obecność związków siarki może służyć jako wskaźnik rozwoju bakterii. Pracę czujnika gazów można dostosować do potrzeb aplikacji i ustalić selektywność, czułość, częstotliwość pomiarów, a także pobór mocy.

Czujnik jest dostępny w obudowie LGA o wymiarach 3,0 x 3,0 x 0,93 mm z metalową pokrywą. Układ można zasilać napięciem od 1,71 V do 3,6 V. Udostępnia komunikację I2C do 3,4 MHz oraz SPI, 3- lub 4-przewodową, do 10 MHz. Dopuszczalne napięcie logiczne interfejsów zawiera się od 1,2 V do 3,6 V.

Oprogramowanie Bosch AI-Studio

Bosch Sensortec umożliwia także wykorzystanie możliwości sztucznej inteligencji do wykrywania substancji za pomocą wydzielanych przez nią związków lotnych. W prostszych słowach – może działać jak nos i identyfikować substancję po „zapachu”. Do tego celu producent udostępnia oprogramowanie Bosch AI-Studio.

Oprogramowanie jest w stanie zebrać dane z czujnika, na ich podstawie wytrenować model i zaimplementować algorytm , który umożliwi czujnikowi wykrycie zaprogramowanego zapachu. Program umożliwia odpowiedni dobór profilu grzania sensora MOX, co z kolei pozwala na dostosowanie parametrów do potrzeb aplikacji. Mało tego, oprogramowanie umożliwia testowanie różnych profili grzania i samodzielne sprawdzenie jak zachowuje się czujnik przy różnych ustawieniach.

Rys. 2. Oprogramowanie Bosch AI-Studio – ustawianie profilu grzania

Kolejną opcją jest możliwość ustawienia sekwencji okresów pomiarów oraz okresów oczekiwania. Dobór odpowiedniej kolejności umożliwia oszczędność energii oraz ustalenie długości sekwencji pomiarów.

Aktualnie, oprogramowanie AI-Studio współpracuje jedynie z płytką rozwojową BME Board x8 z ośmioma czujnikami BME688 oraz płytką główną Adafruit Huzzah32 z układem ESP32. Tym niemniej producent zapowiada, że już w najbliższej przyszłości wprowadzona zostanie obsługa również innych modułów z sensorem.

Rys. 3. Moduł BME Board x8

Biblioteka BSEC

Do obsługi czujnika producent udostępnia bibliotekę BSEC (Bosch Sensortec Environmental Cluster). Biblioteka umożliwia przetwarzanie danych uzyskiwanych z sensora oraz łatwą integrację z resztą oprogramowania. Pobiera skompensowane wartości danych z czujnika za pomocą API sensora. Jest też w stanie dzięki innym sensorom dokonać dodatkowej kompensacji danych.

Biblioteka BSEC pozwala dokonać precyzyjnych obliczeń poza sensorem, np. współczynnika IAQ dotyczącego jakości powietrza. Pracuje na platformach 8-, 16- i 32-bitowych, w tym AVR, ESP32, ARM, a także Raspberry Pi.

Więcej informacji na stronie https://www.bosch-sensortec.com/software-tools/software/bsec/

Moduł BME688 Breakout Board firmy pi3g

Aby przetestować możliwości czujnika możesz zaopatrzyć się w moduł BME688 Breakout Board produkowany przez niemiecką firmę pi3g. Moduł umożliwia stworzenie prototypu aplikacji wykorzystującej sensor.

Rys. 4. Moduł z czujnikiem BME688

Moduł zaprojektowano do współpracy z minikomputerami Raspberry Pi w taki sposób, aby czujnik znajdował się jak najdalej od elementów emitujących ciepło, co eliminuje w znacznym stopniu zakłócenia pomiaru temperatury. Zawiera specjalne złącze umożliwiające nałożenie na złącze Raspberry Pi i komunikację przez interfejs I2C.

Rys. 5. Moduł BME688 nałożony na Raspberry Pi

Na płytce zainstalowano także przelotowe złącze Grove. Pozwala to na dołączenie czujnika do systemów wyposażonych w złącza Grove I2C firmy Seesd Studio. Natomiast nakładki ze złączami, takie jak Base Shield V2, pozwalają na połączenie modułu z płytkami rozwojowymi Arduino, STM32 Nucleo i innymi ze złączami w standardzie Arduino.

Moduł zawiera także standardowe złącze szpilkowe pozwalające na połączenie z modułami lub płytką stykową za pomocą standardowych przewodów. Dodatkową zaletą tego złącza jest kompatybilność z płytką Raspberry Pi Pico, co oznacza, że czujnik można łatwo dołączyć bezpośrednio przez płytkę stykową w sposób zaprezentowany poniżej.

Rys. 6. Moduł pi3g z czujnikiem BME688 dołączony do Raspberry Pi Pico

Moduł udostępnia magistralę I2C. Domyślny adres sensora to 0x77. Adres można zmienić na 0x76 lutując zworkę w miejscu J1, lub zwierając wyprowadzenie ADDR (obecne na złączu szpilkowym) do masy.

Złącze szpilkowe na płytce jest asymetryczne – otwory na płytce nie są ułożone równo w linii, ale są delikatnie przesunięte względem siebie. Po włożeniu w te otwory złącza szpilkowego trzyma się ono dość mocno nawet bez lutowania. Daje to możliwość wypróbowania różnych złącz i proste testowanie modułu.

Rys. 7. Otwory na złącze szpilkowe na module BME688

Podsumowanie

Sensor BME688 to wielofunkcyjny moduł MEMS ze zintegrowanym czujnikiem gazów, ciśnienia, temperatury i wilgotności umieszczony w jednej obudowie. Opracowano go specjalnie z myślą o aplikacjach mobilnych i urządzeniach wearables, gdzie rozmiar i niskie zużycie energii są kluczowymi wymaganiami. Czujnik gazu może wykrywać szeroki zakres gazów do pomiaru jakości powietrza, w tym lotne związki organiczne (VOC) z farb (takich jak formaldehyd), lakiery, produkty do usuwania farby, środki czyszczące, meble, sprzęt biurowy, kleje, alkohol. Moduł ma też możliwości pracy w systemach wykorzystujących algorytmy sztucznej inteligencji np. do wykrywania zapachów. W tym celu producent przygotował oprogramowanie Bosch AI-Studio.

Moduł pi3g BME688 Breakout Board umożliwia łatwe skorzystanie z możliwości czujnika. Pozwala on na podłączenie do dowolnej platformy, przetestowanie możliwości oraz zaprojektowanie prototypu aplikacji.

Moduł pi3g BME688 Breakout Board jest dostępny w ofercie sklepu Kamami.pl

O autorze