Brug en miniature fugtigheds- og temperaturføler til effektivt at indsamle kritiske miljødata

Af Stephen Evanczuk

Bidraget af DigiKeys nordamerikanske redaktører

I betragtning af den indflydelse, temperatur og fugtighed har på bygningers og elektroniske systems strukturelle integritet, er evnen til at opnå nøjagtige og pålidelige målinger af disse parametre grundlæggende for design til en bred vifte af forbruger-, industri- og medicinske anvendelser. Virkningerne af fugtighed og temperatur på helbredet er af særlig bekymring, idet undersøgelser viser variationer i disse parametre, der spænder fra ubehag til infektion via aerosoliserede vira.

Dette behov for at registrere temperatur og fugtighed på tværs af forskellige applikationer er blevet sådan, at designere har brug for en omkostningseffektiv løsning med lille formefaktor der gør det let at implementere for at imødekomme efterspørgslen. For lang batterilevetid på fjerntliggende eller på anden måde svært tilgængelige steder, kan løsninger muligvis også forbruge meget lidt strøm, alt imens de opretholder den nødvendige nøjagtighed og stabilitet.

Denne artikel diskuterer indvirkningen af miljøtemperatur og fugtighed på infrastruktur, elektroniske systemer og menneskers sundhed. Derefter introducerer og viser, hvordan man anvender en miniature fugtigheds- og temperaturføler fra TE Connectivity Measurement Specialties som designere kan bruge til lettere at imødekomme kravene til kritisk måling på tværs af en række applikationer.

Vigtigheden af nøjagtig fugtigheds- og temperaturmåling

Evnen til nøjagtigt at overvåge og justere fugtigheds- og temperaturniveauer spiller en nøglerolle i en lang række områder inklusive varme-, ventilations- og klimaanlægssystemer (HVAC), kontinuerligt positivt luftvejstryk (CPAP) udstyr til søvnapnø og endda grundlæggende menneskelig velvære.

Det velkendte udtryk, relativ luftfugtighed (RH), udtrykker vandindholdet i luft som en procentdel af den maksimale mængde vand, som luft ved en given temperatur kan holde. Ligesom temperatur kan fugtighedsniveauer, der er for høje eller for lave, være ubehagelige for mennesker og endda skade strukturer såvel som mekanisk og elektronisk udstyr.

Høje fugtighedsniveauer i bygninger kan føre til korrosion, vækst af skimmel og meldug og nedbrydning af beton og andre materialer. I elektronisk udstyr kan høje fugtighedsniveauer resultere i kortslutning på grund af kondens, især når udstyr bringes i et fugtigt miljø fra et køligere sted.

Lavt fugtighedsniveau kan forårsage krympning i materialer, beskadigelse af papirprodukter og ophobning af statisk elektricitet. Med øget ophobning kan den resulterende elektrostatiske udladning forårsage skader på elektroniske enheder og antænde brande i miljøer med tunge niveauer af luftbårne flygtige organiske forbindelser (VOC). Derfor spiller RH-sensorer en vigtig rolle i at skabe et sikkert, sundt miljø i bygninger. I stigende grad opstår lignende bekymringer i forbindelse med fremme af menneskers sundhed og velvære.

Mennesker bemærker typisk ubehagelige temperaturer snarere end fugtighedsniveauer, men alt for lave eller høje fugtighedsniveauer vides at påvirke sundheden. Høj eller lav luftfugtighed kan forværre symptomerne for astma og allergikere og resultere i lavere søvnkvalitet selv for ellers raske personer. Ved meget lave fugtighedsniveauer tørrer menneskeligt væv ud og forårsager irritation i øjet eller næsepassagerne. CPAP-producenter er typisk afhængige af fugtighedssensorer for at sikre, at deres udstyr leverer fugtig luft til brugerne.

Behovet for måling og kontrol af fugtighedsniveauer spiller en bredere rolle i folkesundheden. Forskere har fundet ud af, at fugtighedsniveauer ikke behøver at nå ekstreme tørhed eller fugt for at spille en rolle i menneskets fysiologi. Normalt hjælper fugt i næsepassagerne med at udvise aerosoliserede vira (vira suspenderet i mikroskopiske dråber). Når næsepassagerne er tørre, kan aerosoliserede patogener trænge dybere ind i luftvejene og lettere forårsage infektion [1]. På grund af disse og andre fysiologiske faktorer er infektionsevnen af aerosoliseret influenzavirus signifikant højere ved fugtighedsniveauer under 40 % RF (figur 1) [2]. Nyere undersøgelser antyder, at RH mellem 40 % og 60 % også spiller en rolle i reduktion af COVID-19-infektion og endog nedbryder SARS-CoV-2-virus, der forårsager COVID-19 [3].

Graf over forholdet mellem lave RF-niveauer og øget infektivitet af aerosoliserede vira Figur 1: Forskning, der viser en sammenhæng mellem lave RF-niveauer og øget infektivitet af aerosoliserede vira, fortsætter med at drive voksende efterspørgsel efter mere nøjagtige måleløsninger. (Billedkilde: TE Connectivity Measuring Specialties)

Selvom nøjagtig måling af fugtighed og temperatur er kritisk i så mange forskellige applikationer, har de tilsvarende designkrav begrænset udvikleres evne til let at opbygge effektive løsninger. Udover behovet for høj nøjagtighed med meget lav langvarig drift, kræver mange applikationer sensorer, der tilbyder hurtig måling og drift med lav effekt i et minimalt fodaftryk, hvilket giver lettere sensorplacering på det ideelle målepunkt, uanset om det kan være i en HVAC-humidistat, CPAP-fugtreguleringsenhed eller præcisions miljøovervågningssystem. TE Connectivity’s HTU31D fugtigheds- og temperaturføler opfylder kravene til en voksende liste over applikationer, der afhænger af nøjagtige data.

En løsning til kritiske målekrav

HTU31D har et lille fodaftryk og høj nøjagtighed og er optimeret til applikationer lige fra forbrugerprodukter til medicinske og professionelle overvågningssystemer. Den leveres i en 6-benet pakke, der måler 2,5 x 2,5 x 0,9 millimeter (mm), er fuldt kalibreret og kræver ingen yderligere feltkalibrering. Takket være det lille fodaftryk kan udviklere placere sensoren på steder, der er for små til tidligere sensingløsninger og tilslutte en eksternt placeret HTU31D gennem den serielle I²C-grænseflade til sin værtscontroller ved hjælp af let tilgængelig I²C buffere eller niveauskiftere.

HTU31D måler RH fra 0 til 100 % ved en typisk nøjagtighed på ±2 %, ±0,7 % RH hysterese og typisk langvarig drift mindre end 0,25 % RH/år. Enhedens temperaturmåleområde er -40 til 125 °C med en typisk nøjagtighed på ±0,2 °C og typisk langvarig drift på 0,04 °C/år. For at hjælpe med at opretholde pålidelighed integrerer sensoren et varmeelement til eliminering af kondens ved høje fugtighedsniveauer samt intern diagnostik til at detektere målefejl, varmeelementfejl og interne hukommelsesfejl.

I baseline-tilstand til måling af fugtighed og temperatur har sensoren en opløsning på 0,020 % RH og 0,040 °C med konverteringstider på henholdsvis 1 millisekund (ms) og 1,6 ms. For mere krævende krav leverer enheden driftsformer, der giver udviklere mulighed for at øge opløsningen på bekostning af øget konverteringstid. Ved den maksimale opløsningstilstand for hver sensor kan HTU31D give 0,007 % RH med en konverteringstid på 7,8 ms og 0,012 °C med en konverteringstid på 12,1 ms.

For nogle applikationer såsom batteridrevne produkter er enhedens lave strømforbrug en lige så vigtig egenskab. Enheden, der fungerer i baseline-opløsningstilstand og udfører en RF og temperaturmåling pr. sekund, kræver typisk kun 1,04 mikroampere (μA). I ikke-aktive perioder kan enheden placeres i dvaletilstand, hvor den typisk bruger 0,13 μA. Selvfølgelig resulterer kort brug af det interne varmelegeme til at fjerne kondens eller test temperaturfølerfunktion i en lige så kort, men signifikant stigning i strømmen.

Enkle hardware- og softwaregrænseflader

HTU31D fugtigheds- og temperaturføler giver enkle grænseflader til hardware- og softwareintegration i udvikleres design. Sammen med 3 til 5,5 volt forsyningsspænding (VDD) og GND-ben, enhedens hardware-grænseflade inkluderer ben til I²C standard Serial Data (SDA) og Serial Clock (SCL) linjer. De resterende to ben inkluderer et RST-ben (reset) og et IC_ADD)-ben (adresse). Når IC_ADD er bundet til GND eller VDD, reagerer enheden på henholdsvis I²C-adresse 0x40 eller 0x41 og tillader to HTU31D-enheder at dele den samme I²C-bus uden konflikt.

En værtsprocessor sender kommandoer og læser resultater ved hjælp af grundlæggende I²C serielle transaktioner. Kommandoer bruger en to-bytesekvens, der består af I²C-adressen, efterfulgt af en kommandobyte med individuelle bits indstillet til at specificere understøttede funktioner inklusive kombineret temperatur- og fugtighedsmåling, kun fugtighedsmåling, nulstilling, varmelegeme til eller fra, enhedens serienummer og diagnostik.

For at udføre en kombineret temperatur og RH (T & RH) måling, for eksempel, ville værten sende adressebyte og en byte indeholdende konverteringskommandobit og bits, der specificerer den ønskede opløsning til temperatur- og RH-målingerne. Enheden understøtter en simpel afstemningsmetode, så efter transmission af to-byte-konverteringskommando-sekvensen vil værtsprocessoren vente på den opløsningsafhængige varighed, der er angivet i databladet, før der udstedes en to-bytesekvens med adressebyte (0x40 eller 0x41) efterfulgt af T & RH-læs kommandobyte (0x0) (figur 2, øverste række). HTU31D ville reagere ved at transmittere de øvre og nedre byte af rå værdier til hver anmodet temperatur og fugtighedsmåling (figur 2, nederste to rækker). De rå værdier konverteres til de tilsvarende fysiske temperatur- og fugtighedsværdier ved hjælp af et par ligninger, der er angivet i HTU31D-databladet.

Diagram over TE Connectivity HTU31D fugtigheds- og temperatur digital sensor (klik for at forstørre) Figur 2: HTU31D fugtigheds- og temperaturføler giver en ligetil grænseflade til hurtig opnåelse af temperatur- og RF-målinger. (Billedkilde: TE Connectivity Measuring Specialties)

Som vist i figur 2 følger HTU31D hver 16-bit datasekvens med en byte, der indeholder datas cykliske redundanskontrol (CRC) -værdi genereret af enheden. Denne CRC-8 kontrolsum tillader detektion af individuelle bitfejl eller dobbeltbitfejl hvor som helst i datatransmissionen eller klynger af bitfejl i et 8-bit vindue. Ved at sammenligne denne transmitterede CRC-værdi med den CRC-værdi, den beregner ud fra de modtagne data, kan værtsprocessoren hurtigt identificere en mislykket transmission og tage passende handling, såsom at gentage målekommandoen, kort tænde for det integrerede HTU31D-varmeelement, udstede en nulstilling, eller at advare brugeren om en mulig fejl i målesystemet.

Et andet træk ved transmissionssekvensen tillader værten at stoppe responssekvensen inden dens normale afslutning, når der opstår et altovervejende behov. I en normal transaktion forventer HTU31D en kvittering (ack) efter den første databyte med en endelig ikke-kvittering (nack) og stop-sekvens i slutningen af datasekvensen (se figur 2 igen). Udviklere kan bruge denne funktion til at stoppe yderligere transmission, når CRC-data eller fugtighedsdata ikke er påkrævet, eller når en hurtig kommando som f.eks. Nulstilling af enheden eller aktivering af varmelegeme er påkrævet. I stedet for at sende den forventede ack efter en data- eller CRC-byte, kan værten udstede den endelige nack/stop-sekvens for straks at afslutte datatransmission fra sensoren.

TE's HTU31D tilbyder en ligetil elektrisk og funktionel grænseflade, men brug af en meget følsom sensor kræver omhyggeligt fysisk design for at undgå måleartefakter, der skyldes elektrisk eller termisk interaktion med andre enheder om bord. Tilsvarende kan fejl ved implementering af protokol for kommandosekven eller ligninger med værdikonvertering forsinke evaluering og prototyping af en fugtigheds- og temperaturfølerfunktion i et produkt i udvikling. Et tilføjelseskort og tilhørende software fra MikroElektronika tillader udviklere at omgå potentielle problemer med implementering og begynde øjeblikkelig design og udvikling.

Hurtig prototyping og accelereret udvikling

MikroElektronika MIKROE-4306 HTU31D-baseret Temp & Hum 14 Click-tilføjelseskort giver en komplet implementering af sensorens elektriske grænseflade (figur 3, venstre) monteret på et kort, der måler 28,6 x 25,4 mm (figur 3, højre).

Billede af MikroElektronika Temp & Hum 14 Click-kort og designskema (klik for at forstørre) Figur 3: Udover at tjene som et referenceskema (til venstre) til brugerdefineret udvikling, tilbyder MikroElektronika Temp & Hum 14 Click-kort (til højre) en platform til øjeblikkelig evaluering og hurtig prototyping af måleløsninger baseret på HTU31D-sensoren. (Billedkilde: MikroElektronika)

Som med andre mikroBUS Click add-on kort fra MikroElektronika og andre udbydere, MikroElektronika Temp & Hum 14 Click-kortet er designet til at blive tilsluttet et værtsprocessorkort, såsom et MikroElektronika Fusion udviklingskort og bruges med MikroElektronikas open source mikroSDK ramme til softwareudvikling.

MikroElektronika supplerer mikroSDK-miljøet med softwarepakker, der giver drivere og kortunderstøttelse til specifikke Click- og -udviklingskort. Til Temp & Hum 14 Click-kort leverer MikroElektronika bindinger af dens Temp-Hum 14 Click softwarepakke til sine Fusion og andre MikroElektronika kort-serier.

Temp-Hum 14 Click-softwarepakken understøtter udvikling ved hjælp af et HTU31D-specifikt funktionsbibliotek, der er tilgængeligt via en API. En ledsagende prøveapplikation demonstrerer drift af HTU31D-sensoren ved hjælp af et simpelt sæt API-funktioner, herunder:

  • temphum14_set_conversion, som udfører den tidligere nævnte konverteringssekvens
  • temphum14_get_temp_and_hum, som udfører sensorens T & RH datasekvens
  • temphum14_get_diagnostic, som læser fejlstatus fra HTU31D's on-chip diagnostiske register

Eksempelapplikationskoden viser systeminitialisering, applikationsinitialisering og udførelse af en applikationsopgave. Liste 1 viser et uddrag fra softwarepakken designet til at køre på MikroElektronika Fusion til KINETIS v8 MIKROE-3515 udviklingskort, som er baseret på NXP'er MK64FN1M0VDC12 Arm® Cortex®-M4 Kinetis K60 mikrokontroller.

Kopi 
#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: Dette uddrag fra MikroElektronika-prøveprogrammet demonstrerer de grundlæggende designmønstre til initialisering og udførelse af en simpel opgave for at opnå temperatur- og RH-målinger fra HTU31D-sensoren. (Kode kilde: MikroElektronika)

Eksempelapplikationen inkluderet i softwarepakken viser de grundlæggende designmønstre til implementering af en softwareapplikation ved hjælp af TE HTU31D-sensoren. Som illustreret i liste 1 starter hovedrutinen med at kalde en systeminitialiseringsfunktion (system_init ()) for at opsætte drivere på lavt niveau inklusive HTU31D-sensoren og kalde en funktion (application_init ()) for at initialisere applikationsressourcer. I dette tilfælde initialiserer application_init () systemets I²C-driver med en forekomst af et sensorobjekt, før der udføres en sensorindstilling og et funktionsopkald (temphum14_get_diagnostic ()) for at hente sensorens diagnostik og vise diagnostisk information (display_diagnostic ()).

Efter den korte initialiseringsfase går prøveapplikationen ind i en endeløs sløjfe, der kalder en applikationsopgave hvert tredje sekund. I prøvekoden vist i liste 1 anmoder applikationsopgaven om en konvertering ved 0,020 % RF-opløsning og 0,040 °C, HTU31D's baseline-driftstilstand som nævnt tidligere. I denne baseline-tilstand har HTU31D kun brug for 1 ms for at måle RH og 1,6 ms for at måle temperatur. Eksempelapplikationen minimere ventetiden ved hjælp af en forsinkelse på 10 ms (delay_ms (10)), inden der kaldes API-funktionen temphum14_get_temp_and_hum () for at hente temperatur- og fugtighedsværdierne. Da biblioteket udfører den nødvendige transformation til at konvertere råværdier fra HTU31D til måleværdier for fysisk temperatur og fugtighed, kan de resulterende måleværdier bruges direkte - bare logge resultaterne i dette tilfælde.

Ved hjælp af denne hardwareplatform og det tilknyttede softwaremiljø kan udviklere hurtigt evaluere og prototype HTU31D-sensorapplikationer for at opnå nøjagtige RF- og temperaturmålinger ved en række opløsninger. Til brugerdefineret hardwareudvikling fungerer MikroElektronika Temp & Hum 14 Click-kort som et komplet referencedesign inklusive komplette skemaer og fysisk design. Til tilpasset softwareudvikling giver Temp-Hum 14 Click-softwarepakken en grundlæggende skabelon til opbygning af mere omfattende applikationer.

Konklusion

Fugtighed og temperatur spiller en afgørende rolle i integriteten af strukturer og udstyr samt menneskers sundhed og velvære. Egnet styring af fugtighed og temperatur afhænger imidlertid af en kombination af målenøjagtighed og gennemgribende måling, der har været vanskelig at opnå let på grund af begrænsninger i konventionelle sensorløsninger.

En fugtigheds- og temperaturføler fra TE Connectivity Measurement Specialties tilbyder den unikke kombination af nøjagtighed, stabilitet, størrelse og brugervenlighed, der er nødvendig for at imødekomme nye målekrav i forbrugere, industrielle og medicinske applikationer.

Referencer

  1. Lav luftfugtighed nedsætter barrierefunktionen og den medfødte modstandsdygtighed mod influenzainfektion
  2. Høj luftfugtighed fører til tab af infektiøs influenzavirus fra simuleret hoste
  3. Effekten af temperatur og fugtighed på stabiliteten af SARS-CoV-2 og andre omsluttede vira
DigiKey logo

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.

Om denne forfatter

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk has more than 20 years of experience writing for and about the electronics industry on a wide range of topics including hardware, software, systems, and applications including the IoT. He received his Ph.D. in neuroscience on neuronal networks and worked in the aerospace industry on massively distributed secure systems and algorithm acceleration methods. Currently, when he's not writing articles on technology and engineering, he's working on applications of deep learning to recognition and recommendation systems.

Om udgiveren

DigiKeys nordamerikanske redaktører