BME280 – czujnik temperatury, wilgotności oraz ciśnienia (część 1)
Tryby pracy
BME280 może pracować w trzech trybach pracy związanych z poborem energii:
- Sleep,
- Normal,
- Forced.
Tryb Sleep
Po włączeniu zasilania i wykonaniu się sekwencji POR, układy logiczne sensora automatycznie wprowadzają tryb uśpienia Sleep – rysunek 4.
W tym trybie nie są wykonywane pomiary, a pobór mocy jest ograniczany do minimum. Wszystkie rejestry układu są dostępne, można odczytywać ID układu, rejestry kompensacji, a także rejestry wyniku pomiarów. Nie ma ograniczeń prędkości przesyłania danych przez interfejs komunikacyjny.
Tryb Forced
W trybie Forced wykonywany jest pojedynczy pomiar wszystkich włączonych czujników z właściwymi im ustawieniami nadpróbkowania i filtra IIR. Po wykonaniu pomiaru układ przechodzi automatycznie w tryb Sleep, a wyniki pomiaru są dostępne w rejestrach wyniku. Można je odczytać w dowolnym momencie przed następnym pomiarem. Kolejny pomiar wymaga programowego wymuszenia trybu Forced.
Tryb ten jest rekomendowany w aplikacjach dopuszczających małą prędkość pomiarów, na przykład w stacjach pogodowych, gdzie pomiary można wykonywać co kilka minut. Zależności czasowe pomiarów w trybie Forced zostały pokazane na rysunku 5. Czas cyklu pomiaru jest wyznaczany przez kolejne programowe wymuszanie pomiarów.
Rysunek 5. Pomiar w trybie Forced
Tryb Normal
W trybie Normal pomiary z włączonych czujników są wykonywane cyklicznie co zaprogramowany czas i nie ma potrzeby wymuszania kolejnych pomiarów tak, jak w trybie Forced. Cykl pomiaru składa się z czasu t_measure przeznaczonego na wykonanie pomiaru przez sensory i czasu t_standby, w którym układ przechodzi w stan Standby – rysunek 6. W stanie Standby układ pobiera nieco większy prąd w porównaniu z trybem Sleep. Czas stanu Standby jest programowany w rejestrze o adresie 0xF5 config (rysunek 7) i można go ustawić w zakresie od 0,5 ms do 1000 ms. Tryb Normal jest rekomendowany w aplikacjach, które wymagają szybkich pomiarów filtrowanych cyfrowym filtrem IIR, na przykład w układach wysokościomierzy.
Rysunek 6. Pomiar w trybie Normal
Rysunek 7. Programowanie czasu t_standby
Każdy z pomiarów można w czasie konwersji poddać procesowi nadpróbkowana w celu redukcji szumów. Wynik pomiaru temperatury i ciśnienia można filtrować opcjonalnym filtrem cyfrowym IIR, który ma za zadanie redukować krótkoterminowe wahania ciśnienia, na przykład w czasie trzaskania drzwi w pomieszczeniu.
Pomiar temperatury
Pomiar temperatury można odblokować lub wyłączyć (pominąć). Wyłączenie tego pomiaru pozwala na bardzo szybki pomiar ciśnienia w aplikacjach tego wymagających. Tym niemniej nie ma wtedy możliwości kompensacji temperaturowej. Włączony pomiar temperatury ma możliwość ustawienia kilku opcji nadpróbkowania i filtrowania IIR przez zapisanie rejestru ctrl_meas o adresie 0xF4 – rysunek 8. Wartość 000B wpisana do osrs_t powoduje pominiecie pomiaru.
Rysunek 8. Ustawienie nadpróbkowania pomiaru temperatury
Nadpróbkowanie redukuje szum pomiaru zwieszając jego dokładność, ale wtedy sensor pobiera więcej energii. Z funkcją filtra IIR powiązana jest rozdzielczość wyniku. Przy włączonym filtrze rozdzielczość pomiaru temperatury wynosi 20 bitów, a kiedy filtr jest wyłączony, to rozdzielczość zależy od zaprogramowanego nadpróbkowania i jest równa 16 bitów + (osrs_t-1). Na przykład dla osrs_t =3 (oversampling x 4), wynik pomiaru jest 18 bitowy.
Rysunek 9. Programowanie filtra IIR dla pomiaru temperatury i ciśnienia
Filtr IIR programuje się w rejestrze o adresie 0xF5 config. Zostało to pokazane na rysunku 9.
Tryb pracy ustawiamy przez zapisanie bitów mode[1:0] w rejestrze o adresie 0xF4 ctrl_meas – rysunek 10.
Rysunek 10. Programowanie trybu pracy
Pomiar wilgotności
Podobnie jak w przypadku temperatury, pomiar wilgotności można włączyć lub wyłączyć. Dostępne są ustawienia nadpróbkowania w celu redukcji szumów, ale filtrowanie cyfrowe nie jest przewidziane. Rozdzielczość pomiaru jest ustalona na stałe na 16 bitów. Do programowania nadpróbkowania wykorzystuje się specjalny rejestr ctrl_hum o adresie 0xF2 – rysunek 11.
Rysunek 11. Programowanie nadpróbkowania pomiaru wilgotności
Pomiar ciśnienia
Tak jak w przypadku pozostałych czujników, pomiar ciśnienia można wyłączyć (pominąć). Opcje programowania nadpróbkowania, filtra IIR i rozdzielczości pomiarów są takie same jak dla pomiaru temperatury. Na rysunku 12 pokazano programowanie nadpróbkowania pomiaru ciśnienia.
Rysunek 12. Programowanie nadpróbkowania pomiaru ciśnienia


Koniec ery defiladowej. Cykl życia technologii na froncie skrócił się do kilku tygodni
Czym jest czytnik e-booków i jak działa?
O suwerenności Europy mówią gen. Sławomir Żakowski, gen. Paweł Bielawny, dr. Jacek Pawlak, Adam Cudny i dr Daniel Więzik 




