Czujniki pomiarowe przekształcają mierzone wielkości ciśnienia, wilgotności i temperatury na sygnał elektryczny. Może to być zmiana napięcia proporcjonalna do zmian mierzonej wartości, lub zmiana rezystancji i w konsekwencji również zmiana napięcia. Sygnał napięciowy z czujnika można mierzyć przetwornikami analogowo cyfrowymi, a potem cyfrowo obrabiać i prezentować. Jednym z problemów pomiarowych są odchyłki od liniowej charakterystyki przetwarzania w całym zakresie pomiarowym, a co za tym idzie degradacja precyzji pomiaru. Cyfrowa reprezentacja wielkości mierzonej pozwala na relatywnie prostą kompensację pomiaru na podstawie danych kalibracyjnych dostarczanych razem z czujnikiem, lub wyznaczanych samodzielnie.
W ostatnim czasie popularne stały się czujniki z cyfrowymi interfejsami komunikacyjnymi (SPI, I2C, 1-wire itp.). Wtedy konwersja analogowo cyfrowa jest wykonywana przez dedykowany przetwornik umieszczony w strukturze sensora, a wynik konwersji można odczytać przez interfejs komunikacyjny. Konwersja analogowo cyfrowa jest również obarczona błędami, w tym błędami nieliniowości. Producent sensora zna charakterystyki swojego czujnika oraz przetwornika i może uzyskać lepsze parametry pomiaru niż w układach z uniwersalnymi przetwornikami stosowanymi w mikrokontrolerach.
Na rynku dostępnych jest bardzo wiele czujników z wyjściami analogowymi, lub cyfrowymi. Zdecydowana większość służy do pomiaru temperatury, ale są także takie, które mierzą jednocześnie kilka parametrów. Jednym z nich jest czujnik BME280 oferowany przez firmę BOSCH Sensortec, mierzący jednocześnie temperaturę ciśnienie i wilgotność. Umieszczony jest w metalowej obudowie o wymiarach 2,5×2,5 mm z wyprowadzeniami LIG – rysunek 1. Taka konstrukcja jest przeznaczona do profesjonalnego montażu i bardzo utrudnia zastosowanie w konstrukcjach amatorsko-hobbystycznych. Jednak czujnik stał się na tyle popularny, że pojawiły minimoduły w postaci małych płytek z przylutowanym układem i sygnałami wyprowadzonymi w przystępny sposób.
Parametry czujnika
Sensor BME280 przy zasilaniu w zakresie od 1,7...3,6 V charakteryzuje się małym poborem energii. Przy pomiarach co 1 sekundę pobór prądu wynosi:
• 1,8 mA dla wilgotności i temperatury,
• 2,8 mA dla ciśnienia i temperatury,
• 3,6 mA dla wilgotności, temperatury i ciśnienia.
Poszczególne sekcje pomiaru temperatury ciśnienia i wilgotności mogą być niezależnie programowo wyłączane. Przy wyłączeniu wszystkich czujników pobór prądu spada do 0,1 mA. Te parametry sprawiają, że może być stosowany w układach zasilanych bateryjnie na przykład w urządzeniach końcowych IoT.
Zakresy pomiarowe wynoszą:
• dla temperatury jest to przedział –40...+85°C. Pomiar z największą dokładnością dotyczy przedziału 0...65°C. Przy 25°C dokładność pomiaru wynosi ±0,5°C przy rozdzielczości pomiaru 0,01°C. Wartość temperatury jest stosowana do kompensacji pomiarów ciśnienia oraz wilgotności i może służyć do pomiaru temperatury otoczenia;
• dla wilgotności jest to pełny zakres 0...100%, czas pomiaru 1 sekunda, dokładność pomiaru ±3% a zakres temperaturowy dla pomiaru wynosi 0...60°C;
• dla ciśnienia jest to przedział 300...1100 hPa, dokładność pomiaru ±1 hPa.
Dokładne dane techniczne zawierające między innymi informacje na temat nieliniowości pomiaru, szumów, dryftów itp. można znaleźć w dokumentacji układu.
Na rysunku 3 pokazano schemat blokowy sensora. Wydzielono tu trzy niezależne tory czujników przekształcających ciśnienie, temperaturę i wilgotność na sygnał napięciowy. Każdy z sygnałów napięciowych jest kolejno konwertowany przez jeden wspólny przetwornik analogowo cyfrowy ADC. Dane z wyjścia ADC są kierowane do bloku logiki a z niego trafiają do układów interfejsu komunikacyjnego. Układ oscylatora OSC generuje sygnał zegara taktującego pracę układu, układ POR jest przeznaczony do generowania sekwencji zerowania w trakcie załączania napięcia zasilającego. W bloku nieulotnej pamięci NVM są zapisane dane niezbędne do wyliczania kompensacji pomiarów.