Wykorzystanie miniaturowych czujników wilgotności i temperatury do skutecznego zbierania krytycznych danych środowiskowych
Przekazane przez: Północnoamerykańscy redaktorzy DigiKey
2021-04-07
Biorąc pod uwagę wpływ temperatury i wilgotności na integralność strukturalną budynków i systemów elektronicznych, możliwość uzyskania dokładnych i wiarygodnych pomiarów tych parametrów ma fundamentalne znaczenie dla szerokiego wachlarza zastosowań konsumenckich, przemysłowych i medycznych. Szczególnie istotny jest wpływ wilgotności i temperatury na zdrowie, a badania wykazały, że różnice w tych parametrach mogą mieć wielorakie skutki, od odczuwania dyskomfortu, po zakażenie wirusami przenoszonymi drogą kropelkową.
Potrzeba pomiaru temperatury i wilgotności w różnych zastosowaniach stała się tak duża, że aby sprostać wymaganiom, projektanci potrzebują ekonomicznego rozwiązania o niewielkich rozmiarach, które byłoby łatwe do wdrożenia. Z myślą o długim czasie pracy baterii w odległych lub trudno dostępnych miejscach potencjalne rozwiązania powinny również wymagać bardzo niewielkiego zużycia energii, a wszystko to przy zachowaniu niezbędnej dokładności i stabilności.
W artykule omówiono wpływ temperatury i wilgotności otoczenia na infrastrukturę, systemy elektroniczne i zdrowie ludzi. W dalszej części zademonstrowano, jak wdrożyć miniaturowy czujnik wilgotności i temperatury firmy TE Connectivity Measurement Specialties, który projektanci mogą wykorzystać, aby łatwiej spełnić wymagania krytycznych pomiarów w różnorodnych zastosowaniach.
Istota precyzyjnego pomiaru wilgotności i temperatury
Możliwość precyzyjnego monitorowania i regulacji poziomów wilgotności i temperatury odgrywa kluczową rolę w wielu dziedzinach, w tym w systemach ogrzewania, wentylacji i klimatyzacji (HVAC), aparatach CPAP do leczenia bezdechu sennego, a nawet w podstawowym samopoczuciu człowieka.
Znany termin, wilgotność względna (RH), wyraża zawartość wody w powietrzu jako procent maksymalnej ilości wody, jaką może pomieścić powietrze w danej temperaturze. Podobnie jak w przypadku temperatury, zbyt wysoki lub zbyt niski poziom wilgotności może być przyczyną dyskomfortu u ludzi, a nawet szkodliwy dla konstrukcji oraz sprzętu mechanicznego i elektronicznego.
Wysoki poziom wilgotności w budynkach może prowadzić do korozji, rozwoju pleśni oraz niszczenia betonu i innych materiałów. W sprzęcie elektronicznym wysoki poziom wilgotności może skutkować zwarciami spowodowanymi kondensacją, szczególnie gdy sprzęt jest przenoszony z chłodniejszego miejsca do wilgotnego środowiska.
Niski poziom wilgotności może powodować kurczenie się materiałów, uszkadzanie produktów papierowych i gromadzenie się ładunku elektrostatycznego. Przy zwiększonym nagromadzeniu ładunków elektrostatycznych powstają wyładowania, które mogą spowodować uszkodzenie urządzeń elektronicznych i pożar w środowiskach o dużym stężeniu lotnych związków organicznych (LZO) w powietrzu. W związku z tym czujniki wilgotności względnej odgrywają ważną rolę w zapewnianiu bezpiecznego i zdrowego środowiska w budynkach. Coraz częściej podobne obawy pojawiają się w kontekście dbania o ludzkie zdrowie i dobre samopoczucie.
Ludzie częściej zwracają uwagę na niesprzyjające komfortowi temperatury niż poziomy wilgotności, ale wiadomo, że zbyt niski lub wysoki poziom wilgotności także ma wpływ na zdrowie. Wysoka lub niska wilgotność może zaostrzać objawy astmy i alergii oraz pogarszać jakość snu, nawet u osób zdrowych. Przy bardzo niskiej wilgotności tkanka ludzka wysycha, co powoduje podrażnienie oczu i dróg nosowych. Producenci aparatów wytwarzających stałe dodatnie ciśnienie w drogach oddechowych (CPAP) zazwyczaj polegają na czujnikach wilgotności, aby zapewnić, że ich sprzęt dostarcza użytkownikom odpowiednio wilgotne powietrze.
Potrzeba pomiaru i kontroli poziomów wilgotności odgrywa szerszą rolę w zdrowiu publicznym. Naukowcy odkryli, że poziomy wilgotności nie muszą być skrajne, aby odgrywać rolę w fizjologii człowieka. Zwykle wilgoć w drogach nosowych pomaga wydalać wirusy przenoszone drogą kropelkową (zawieszone w mikroskopijnych kropelkach). Gdy przewody nosowe są suche, patogeny mogą wnikać głębiej do układu oddechowego i łatwiej powodować infekcję [1]. Z powodu tych i innych czynników fizjologicznych zakaźność wirusa grypy drogą kropelkową jest znacznie wyższa przy wilgotności względnej poniżej 40% (ilustracja 1) [2]. Nowsze badania sugerują, że wilgotność względna między 40% a 60% również odgrywa rolę w ograniczaniu infekcji COVID-19, a nawet degradacji wirusa SARS-CoV-2, który powoduje COVID-19 [3].
Ilustracja 1: badania wykazujące zależność między niskimi poziomami wilgotności względnej a zwiększoną zakaźnością wirusów drogą kropelkową napędza rosnące zapotrzebowanie na dokładniejsze rozwiązania pomiarowe. (Źródło ilustracji: TE Connectivity Measurement Specialties)
Chociaż dokładny pomiar wilgotności i temperatury ma kluczowe znaczenie w tak wielu różnych sytuacjach, pewne wymagania konstrukcyjne ograniczają możliwości projektantów w zakresie łatwego tworzenia skutecznych rozwiązań. Oprócz potrzeby wysokiej dokładności przy bardzo niskim dryfcie długoterminowym, wiele zastosowań wymaga czujników, które oferują szybki pomiar i działanie przy niskim poborze mocy na minimalnej powierzchni, co pozwala na łatwiejsze umieszczenie czujnika w idealnym punkcie pomiarowym, niezależnie od tego, czy jest to regulator wilgotności w układzie klimatyzacji i wentylacji (HVAC), sterownik wilgotności w urządzeniach wytwarzających stałe dodatnie ciśnienie w drogach oddechowych (CPAP), czy precyzyjny system monitorowania środowiska. Cyfrowy czujnik wilgotności i temperatury HTU31D firmy TE Connectivity jest idealny do wielu zastosowań, które wymagają dokładnych danych.
Rozwiązanie spełniające krytyczne wymagania pomiarowe
Dzięki niewielkim rozmiarom i wysokiej dokładności czujnik HTU31D jest zoptymalizowany pod kątem wielu zastosowań, począwszy od produktów konsumenckich, skończywszy na medycznych i profesjonalnych systemach monitorowania. Jest dostarczany w 6-wtykowej obudowie o wymiarach 2,5 x 2,5 x 0,9mm, jest w pełni skalibrowany i nie wymaga dodatkowej kalibracji w miejscu instalacji. Dzięki niewielkim rozmiarom deweloperzy mogą umieścić czujnik HTU31D w odległych miejscach zbyt małych dla wcześniejszych czujników i podłączyć go za pośrednictwem interfejsu szeregowego I²C do kontrolera hosta przy użyciu łatwo dostępnych buforów I²C lub translatorów napięć logicznych.
Czujnik HTU31D mierzy wilgotność względną w zakresie od 0 do 100% z typową dokładnością ±2%, histerezą ±0,7% wilg. wzgl. i typowym dryftem długoterminowym mniejszym niż 0,25% wilg. wzgl. na rok. Zakres pomiaru temperatury urządzenia wynosi od -40 do 125°C z typową dokładnością ±0,2°C i typowym dryftem długoterminowym 0,04°C na rok. Dla zapewnienia niezawodności czujnik wyposażono w element grzejny, który eliminuje kondensację przy wysokich poziomach wilgotności, a także funkcję wewnętrznej diagnostyki do wykrywania błędów pomiaru, błędów elementów grzejnych i błędów pamięci wewnętrznej.
W podstawowym trybie pomiaru wilgotności i temperatury czujnik posiada rozdzielczość 0,020% wilg. wzgl. i 0,040°C, z czasami konwersji odpowiednio 1ms i 1,6ms. W przypadku bardziej wymagających zastosowań urządzenie dysponuje trybami pracy, które pozwalają deweloperom zwiększyć rozdzielczość kosztem wydłużonego czasu konwersji. W trybie maksymalnej rozdzielczości dla każdego czujnika, HTU31D może zapewnić 0,007% wilg. wzgl. z czasem konwersji 7,8ms oraz 0,012°C z czasem konwersji 12,1ms.
W przypadku niektórych zastosowań, takich jak produkty zasilane bateryjnie, równie ważną cechą jest niski pobór prądu przez urządzenie. Działając w podstawowym trybie rozdzielczości i wykonując jeden pomiar wilgotności względnej i temperatury na sekundę, urządzenie zwykle wymaga jedynie 1,04μA. W okresach nieaktywności urządzenie można przełączyć w tryb uśpienia, w którym zwykle pobiera 0,13μA. Oczywiście krótkie użycie wewnętrznego podgrzewacza w celu usunięcia kondensacji lub sprawdzenie działania czujnika temperatury skutkuje równie krótkim, ale istotnym wzrostem natężenia prądu.
Proste interfejsy sprzętowe i programowe
Cyfrowy czujnik wilgotności i temperatury HTU31D posiada proste interfejsy pozwalające deweloperem na integrację sprzętu i oprogramowania. Interfejs sprzętowy urządzenia posiada wtyki napięcia zasilania od 3 do 5,5V (VDD) i uziemienia (GND), oraz wtyki dla przewodów szeregowych danych (SDA) i zegara (SCL) w standardzie I²C. Pozostałe dwa wtyki to wtyk resetowania (RST) i pin adresu (IC_ADD). Gdy wtyk IC_ADD jest połączony z GND lub VDD, urządzenie odpowiednio reaguje na adres I²C 0x40 lub 0x41, umożliwiając dwóm urządzeniom HTU31D współdzielenie tej samej magistrali I²C bez konfliktów.
Główny procesor wysyła polecenia i odczytuje wyniki przy użyciu podstawowych transakcji szeregowych I²C. Polecenia używają dwubajtowej sekwencji składającej się z adresu I²C, po którym następuje bajt polecenia z indywidualnymi bitami ustawionymi w celu określenia obsługiwanych funkcji, w tym pomiaru temperatury i wilgotności, pomiaru samej wilgotności, resetowania, włączania lub wyłączania grzałki, numeru seryjnego urządzenia i diagnostyki.
Na przykład, aby wykonać jednoczesny pomiar temperatury i wilgotności względnej (T i RH), host przesyła bajt adresu i bajt zawierający bit polecenia konwersji oraz bity określające pożądaną rozdzielczość dla pomiarów temperatury i wilgotności względnej. Urządzenie obsługuje prostą metodę odpytywania, więc po przesłaniu dwubajtowej sekwencji poleceń konwersji procesor hosta czeka przez zależny od rozdzielczości czas określony w arkuszu danych, po czym emituje dwubajtową sekwencję z bajtem adresu (0x40 lub 0x41), a następnie bajt polecenia odczytu T i RH (0x0) (ilustracja 2, górny wiersz). Czujnik HTU31D odpowiada przesyłając górne i dolne bajty nieprzetworzonych wartości dla każdego żądanego pomiaru temperatury i wilgotności (ilustracja 2, dolne dwa wiersze). Nieprzetworzone wartości są konwertowane na odpowiednie fizyczne wartości temperatury i wilgotności przy użyciu pary równań podanych w arkuszu danych HTU31D.
Ilustracja 2: cyfrowy czujnik wilgotności i temperatury HTU31D wyposażono w prosty interfejs pozwalający szybko uzyskiwać pomiary temperatury i wilgotności względnej. (Źródło ilustracji: TE Connectivity Measurement Specialties)
Jak pokazano na ilustracji 2, czujnik HTU31D śledzi każdą 16-bitową sekwencję danych z bajtem zawierającym wartość cyklicznej kontroli nadmiarowej (CRC) danych wygenerowaną przez urządzenie. Ta suma kontrolna CRC-8 umożliwia wykrycie błędów jedno- lub dwubitowych w dowolnym miejscu transmisji danych lub klastrów błędów bitowych w 8-bitowym oknie. Porównując tę przesłaną wartość CRC z wartością CRC obliczaną na podstawie odebranych danych, procesor główny może szybko zidentyfikować nieudaną transmisję i podjąć odpowiednie działania, takie jak powtórzenie polecenia pomiaru, krótkie włączenie zintegrowanego elementu grzejnego czujnika HTU31D, wydanie polecenia resetu, lub ostrzeżenie użytkownika o potencjalnej awarii układu pomiarowego.
Inna cecha sekwencji transmisji umożliwia hostowi zatrzymanie sekwencji odpowiedzi przed jej normalnym zakończeniem, gdy wystąpi określona potrzeba nadrzędna. W normalnej transakcji czujnik HTU31D oczekuje potwierdzenia (ack) po pierwszym bajcie danych z końcowym brakiem potwierdzenia (nack) i sekwencji zatrzymania na samym końcu sekwencji danych (patrz ponownie ilustracja 2). Deweloperzy mogą wykorzystać tę funkcję, aby zatrzymać dalszą transmisję, gdy dane CRC lub dane dotyczące wilgotności nie są wymagane lub gdy pilnie potrzebne jest nowe polecenie, takie jak reset urządzenia lub aktywacja elementu grzejnego. Tutaj zamiast wysyłać oczekiwane potwierdzenie po bajcie danych lub CRC, host może wydać ostatnią sekwencję nack/stop, aby natychmiast zakończyć transmisję danych z czujnika.
Czujnik HTU31D firmy TE charakteryzuje prosty interfejs elektryczny i funkcjonalny, ale wykorzystanie każdego bardzo czułego czujnika wymaga starannego projektu fizycznego, aby uniknąć artefaktów pomiarowych wynikających z interakcji elektrycznych lub termicznych z innymi urządzeniami na płytce. Podobnie błędy we wdrażaniu protokołu sekwencji poleceń lub równań konwersji wartości mogą opóźnić ewaluację i prototypowanie funkcji pomiaru wilgotności i temperatury w rozwijanym produkcie. Płytka dodatkowa i powiązane oprogramowanie firmy MikroElektronika pozwalają deweloperom na uniknięcie potencjalnych problemów z implementacją i natychmiastowe rozpoczęcie projektowania i rozwoju.
Szybkie prototypowanie i przyspieszony rozwój
Płytka dodatkowa Temp & Hum 14 Click MIKROE-4306 firmy MikroElektronika oparta na czujniku HTU31D stanowi kompletną implementację interfejsu elektronicznego czujnika (ilustracja 3, po lewej) umiejscowioną na płytce o wymiarach 28,6 x 25,4mm (ilustracja 3, po prawej).
Ilustracja 3: poza tym, że służy jako referencyjny schemat budowy (po lewej) do rozwoju rozwiązań niestandardowych, płytka Temp & Hum 14 Click firmy MikroElektronika (po prawej) stanowi platformę do natychmiastowej ewaluacji i szybkiego prototypowania rozwiązań pomiarowych opartych na czujniku HTU31D. (Źródło ilustracji: MikroElektronika)
Podobnie jak w przypadku innych płytek dodatkowych mikroBUS Click firmy MikroElektronika i innych dostawców, płytka Temp & Hum 14 Click firmy MikroElektronika została zaprojektowana do podłączania do płytki procesora głównego, np. płytki rozwojowej Fusion firmy MikroElektronika i do stosowania z otwartoźródłową platformą programistyczną mikroSDKfirmy MikroElektronika.
Firma MikroElektronika uzupełnia środowisko mikroSDK o pakiety oprogramowania, które zapewniają sterowniki i obsługę określonych płytek Click i rozwojowych. W przypadku płytki Temp & Hum 14 Click firma MikroElektronika zapewnia powiązania pakietu oprogramowania Temp-Hum 14 Click dla grupy Fusion i innych grup płyt firmy MikroElektronika.
Pakiet oprogramowania Temp-Hum 14 Click obsługuje programowanie przy użyciu biblioteki funkcji czujnika HTU31D dostępnej przez interfejs programowania aplikacji (API). Dołączona przykładowa aplikacja demonstruje działanie czujnika HTU31D przy użyciu prostego zestawu funkcji API, w tym:
- temphum14_set_conversion, która wykonuje wspomnianą wcześniej sekwencję konwersji
- temphum14_get_temp_and_hum, która wykonuje sekwencję danych T i RH czujnika
- temphum14_get_diagnostic, która odczytuje status błędu z rejestru diagnostycznego na chipie HTU31D
Przykładowy kod aplikacji demonstruje inicjalizację systemu, inicjalizację aplikacji i wykonanie zadania aplikacji. Listing 1 przedstawia fragment pakietu oprogramowania przeznaczony do uruchamiania na płytce Fusion firmy MikroElektronika dla płytki rozwojowej KINETIS v8 MIKROE-3515, która bazuje na mikrokontrolerze Cortex®-M4 Kinetis K60 MK64FN1M0VDC12 Arm firmy NXP.
Kopiuj
#include "Click_TempHum14_types.h"
#include "Click_TempHum14_config.h"
#include "Click_TempHum14_other_peripherals.h"
temphum14_diagn_t status_data;
uint32_t ser_numb;
float temperature;
float humidity;
char log_text[ 50 ];
[code deleted]
void system_init ( )
{
mikrobus_gpioInit( _MIKROBUS1, _MIKROBUS_RST_PIN, _GPIO_OUTPUT );
mikrobus_i2cInit( _MIKROBUS1, &TEMPHUM14_I2C_CFG[0] );
mikrobus_logInit( _LOG_USBUART, 9600 );
Delay_ms( 100 );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
mikrobus_logWrite( " Temp-Hum 14 click ", _LOG_LINE );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
Delay_ms( 100 );
}
void application_init ( )
{
temphum14_i2c_driver_init( (temphum14_obj_t)&_MIKROBUS1_GPIO,
(temphum14_obj_t)&_MIKROBUS1_I2C,
TEMPHUM14_I2C_SLAVE_ADDR_GND );
Delay_ms( 100 );
mikrobus_logWrite( " Hardware Reset ", _LOG_LINE );
temphum14_hw_reset( );
Delay_ms( 100 );
ser_numb = temphum14_get_serial_number( );
LongWordToStr( ser_numb, log_text );
Ltrim( log_text );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
mikrobus_logWrite( " Serial Number : ", _LOG_TEXT );
mikrobus_logWrite( log_text, _LOG_LINE );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
mikrobus_logWrite( " Software Reset ", _LOG_LINE );
temphum14_soft_reset( );
Delay_ms( 100 );
temphum14_get_diagnostic( &status_data );
Delay_ms( 10 );
display_diagnostic( );
Delay_ms( 100 );
}
void application_task ( )
{
temphum14_set_conversion( TEMPHUM14_CONVERSION_HUM_OSR_0_020,
TEMPHUM14_CONVERSION_TEMP_0_040 );
Delay_ms( 10 );
temphum14_get_temp_and_hum( &temperature, &humidity );
Delay_ms( 10 );
FloatToStr( temperature, log_text );
mikrobus_logWrite( " Temperature : ", _LOG_TEXT );
mikrobus_logWrite( log_text, _LOG_TEXT );
mikrobus_logWrite( " C", _LOG_LINE );
FloatToStr( humidity, log_text );
mikrobus_logWrite( " Humidity : ", _LOG_TEXT );
mikrobus_logWrite( log_text, _LOG_TEXT );
mikrobus_logWrite( " %", _LOG_LINE );
mikrobus_logWrite( "-----------------------------", _LOG_LINE );
Delay_ms( 3000 );
}
void main ( )
{
system_init( );
application_init( );
for ( ; ; )
{
application_task( );
}
}
Listing 1: ten fragment przykładowej aplikacji firmy MikroElektronika przedstawia podstawowe wzorce projektowe do inicjalizacji i wykonywania prostego zadania w celu uzyskania pomiarów temperatury i wilgotności względnej z czujnika HTU31D. (Źródło kodu: MikroElektronika)
Przykładowa aplikacja zawarta w pakiecie oprogramowania demonstruje podstawowe wzorce projektowe do implementacji aplikacji wykorzystującej czujnik TE HTU31D. Jak pokazano na listingu 1, główna procedura rozpoczyna się od wywołania funkcji inicjalizacji systemu (system_init ()) w celu skonfigurowania sterowników niskiego poziomu, w tym czujnika HTU31D, i wywołania funkcji (application_init ()) w celu zainicjowania zasobów aplikacji. W tym przypadku funkcja application_init () inicjuje sterownik I²C systemu za pomocą instancji obiektu czujnika a następnie wykonywany jest reset czujnika i następuje wywołanie funkcji (temphum14_get_diagnostic ()) w celu pobrania danych diagnostycznych czujnika i wyświetlenia informacji diagnostycznych (display_diagnostic ()).
Po krótkiej fazie inicjalizacji przykładowa aplikacja wchodzi w nieskończoną pętlę, która co trzy sekundy wywołuje zadanie aplikacji. W przykładowym kodzie przedstawionym na listingu 1 aplikacja żąda konwersji przy rozdzielczości 0,020% wilg. wzgl. i temp. 0,040°C, w podstawowym trybie działania czujnika HTU31D, jak wspomniano wcześniej. W tym podstawowym trybie czujnik HTU31D potrzebuje zaledwie 1ms na pomiar wilgotności względnej i 1,6ms na pomiar temperatury. Przykładowa aplikacja wypełnia czas oczekiwania, używając opóźnienia 10ms (delay_ms (10)) przed wywołaniem funkcji API temphum14_get_temp_and_hum () w celu pobrania wartości temperatury i wilgotności. Ponieważ transformację potrzebną do konwersji wartości nieprzetworzonych z czujnika HTU31D na fizyczne wartości pomiaru temperatury i wilgotności przeprowadza biblioteka, uzyskane wartości pomiarów mogą być użyte bezpośrednio - w tym przypadku poprzez rejestrację wyników.
Korzystając z tej platformy sprzętowej i powiązanego środowiska oprogramowania, deweloperzy mogą przeprowadzić szybką ewaluację i prototypowanie aplikacji czujników HTU31D do uzyskiwania pomiarów wilgotności względnej i temperatury w różnych rozdzielczościach. W przypadku opracowywania sprzętu niestandardowego, płytka Temp & Hum 14 Click firmy MikroElektronika służy jako kompletny projekt referencyjny zawierający także schematy i projekt fizyczny. W przypadku tworzenia oprogramowania niestandardowego pakiet oprogramowania Temp-Hum 14 Click stanowi podstawowy szablon do tworzenia bardziej wszechstronnych aplikacji.
Podsumowanie
Wilgotność i temperatura odgrywają kluczową rolę dla integralności konstrukcji i wyposażenia, a także dla zdrowia i dobrego samopoczucia ludzi. Jednak odpowiednie zarządzanie wilgotnością i temperaturą zależy od połączenia dokładności oraz ciągłości pomiaru, co było trudne do osiągnięcia w łatwy sposób ze względu na ograniczenia konwencjonalnych czujników.
Czujnik wilgotności i temperatury firmy TE Connectivity Measurement Specialties oferuje unikalne połączenie precyzji, stabilności, kompaktowości i łatwości użytkowania, które są niezbędne do spełnienia pojawiających się wymagań dotyczących pomiarów w środowiskach konsumenckich, przemysłowych i medycznych.
Źródła
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




