Gebruik een kleine vochtigheids- en temperatuursensor om op doeltreffende wijze essentiële milieugegevens te verzamelen
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2021-04-07
Gezien het effect dat temperatuur en vochtigheid hebben op de structurele integriteit van gebouwen en elektronische systemen, is het vermogen om nauwkeurige en betrouwbare metingen van deze parameters te verkrijgen van fundamenteel belang voor ontwerpen voor een breed scala van consumenten-, industriële en medische toepassingen. De effecten van vochtigheid en temperatuur op de gezondheid zijn bijzonder zorgwekkend, aangezien uit studies is gebleken dat variaties in deze parameters effecten hebben die variëren van ongemak tot infectie door in de lucht verspreide virussen.
De behoefte aan temperatuur- en vochtigheidsmeting in een groot aantal toepassingen is zo groot geworden dat ontwerpers, om aan de vraag te voldoen, een kosteneffectieve oplossing met een kleine vormfactor nodig hebben die gemakkelijk kan worden toegepast. Voor een lange levensduur van de batterij op afgelegen of anderszins moeilijk toegankelijke locaties moeten oplossingen wellicht ook zeer weinig stroom verbruiken, terwijl toch de nodige nauwkeurigheid en stabiliteit worden gehandhaafd.
In dit artikel wordt ingegaan op het effect van de omgevingstemperatuur en -vochtigheid op de infrastructuur, elektronische systemen en de menselijke gezondheid. Vervolgens wordt een miniatuur vochtigheids- en temperatuursensor van TE Connectivity Measurement Specialties geïntroduceerd en getoond, die ontwerpers kunnen gebruiken om gemakkelijker te voldoen aan de vereisten voor kritische metingen in een uiteenlopende reeks toepassingen.
Het belang van nauwkeurige vochtigheids- en temperatuurmeting
Het vermogen om de vochtigheids- en temperatuurniveaus nauwkeurig te bewaken en aan te passen, speelt een sleutelrol in een breed scala van gebieden, waaronder verwarming, ventilatie en airconditioningsystemen (HVAC), continue positieve luchtwegdrukapparatuur (CPAP) voor slaapapneu, en zelfs fundamenteel menselijk welzijn.
De bekende term, relatieve vochtigheid (RH), drukt het watergehalte van de lucht uit als een percentage van de maximale hoeveelheid water die lucht bij een bepaalde temperatuur kan bevatten. Net als de temperatuur kan een te hoge of te lage vochtigheidsgraad oncomfortabel zijn voor de mens en zelfs schade toebrengen aan constructies en mechanische en elektronische apparatuur.
Hoge vochtigheidsniveaus in gebouwen kunnen leiden tot corrosie, schimmel- en meeldauwgroei en afbraak van beton en andere materialen. In elektronische apparatuur kan een hoge vochtigheidsgraad leiden tot kortsluiting als gevolg van condensatie, vooral wanneer apparatuur vanuit een koelere locatie in een vochtige omgeving wordt gebracht.
Een lage vochtigheidsgraad kan leiden tot krimpen van materialen, beschadiging van papierproducten en de opbouw van statische elektriciteit. Wanneer de elektrostatische ontlading toeneemt, kan deze schade toebrengen aan elektronische apparatuur en brand veroorzaken in omgevingen met hoge concentraties vluchtige organische stoffen (VOS) in de lucht. RH-sensors spelen dan ook een belangrijke rol bij het verschaffen van een veilige, gezonde omgeving in gebouwen. Bij het bevorderen van de gezondheid en het welzijn van de mens komen steeds meer soortgelijke problemen naar voren.
Mensen merken een onaangename temperatuur eerder op dan een te hoge vochtigheidsgraad, maar een te lage of te hoge vochtigheidsgraad heeft wel degelijk een invloed op de gezondheid. Een hoge of lage luchtvochtigheid kan de symptomen bij astma- en allergiepatiënten verergeren en zelfs bij verder gezonde mensen leiden tot een slechtere slaapkwaliteit. Bij een zeer lage vochtigheidsgraad droogt het menselijk weefsel uit, waardoor oog- of neusirritatie kan ontstaan. CPAP-fabrikanten vertrouwen doorgaans op vochtigheidssensors om ervoor te zorgen dat hun apparatuur de gebruikers van voldoende vochtige lucht voorziet.
De behoefte aan meting en regeling van de vochtigheidsgraad speelt een bredere rol in de volksgezondheid. Onderzoekers hebben ontdekt dat de vochtigheidsgraad geen extremen van droogte of vochtigheid hoeft te bereiken om een rol te spelen in de menselijke fysiologie. Normaal gesproken helpt vocht in de neusholten bij het verdrijven van aërosolvirussen (virussen die in microscopisch kleine druppeltjes zweven). Wanneer de neusholten droog zijn, kunnen aërosolvormige ziekteverwekkers dieper doordringen in het ademhalingsstelsel en gemakkelijker een infectie veroorzaken [1]. Als gevolg van deze en andere fysiologische factoren is de besmettelijkheid van het aërosolvormige influenzavirus aanzienlijk hoger bij een relatieve vochtigheid van minder dan 40% (Afbeelding 1) [2]. Recentere studies suggereren dat RH tussen 40% en 60% ook een rol speelt in het verminderen van COVID-19 infectie, en zelfs in het afbreken van het SARS-CoV-2 virus dat COVID-19 veroorzaakt [3].
Afbeelding 1: Onderzoek waaruit blijkt dat er een verband bestaat tussen lage RV-niveaus en een verhoogde besmettelijkheid van in de lucht verspreide virussen, blijft de vraag naar nauwkeuriger meetoplossingen doen toenemen. (Afbeelding bron: TE Connectivity Measurement Specialties)
Hoewel nauwkeurige meting van vochtigheid en temperatuur van cruciaal belang is in zo veel verschillende toepassingen, hebben de overeenkomstige ontwerpeisen de mogelijkheden van de ontwikkelaars beperkt om gemakkelijk doeltreffende oplossingen te bouwen. Naast de noodzaak van een hoge nauwkeurigheid met een zeer lage drift op lange termijn, vereisen veel toepassingen sensoren die snel meten en met een laag stroomverbruik werken met een minimale voetafdruk, zodat de sensor gemakkelijker op het ideale meetpunt kan worden geplaatst, of dat nu in een HVAC-vochtigheidsregelaar, CPAP-vochtigheidsregelaar of een precisie omgevingsmonitoringsysteem is. De HTU31D digitale vochtigheids- en temperatuursensor van TE Connectivity voldoet aan de eisen voor een groeiende lijst van toepassingen die afhankelijk zijn van nauwkeurige gegevens.
Een oplossing voor kritische meetbehoeften
Met zijn kleine voetafdruk en hoge nauwkeurigheid is de HTU31D geoptimaliseerd voor toepassingen variërend van consumentenproducten tot medische en professionele bewakingssystemen. Hij wordt geleverd in een 6-pins behuizing van 2,5 x 2,5 x 0,9 millimeter (mm), is volledig gekalibreerd en vereist geen extra veldkalibratie. Dankzij zijn kleine voetafdruk kunnen ontwikkelaars de sensor plaatsen op locaties die te klein zijn voor eerdere detectieoplossingen, en een op afstand geplaatste HTU31D via zijn I²C seriële interface verbinden met zijn hostcontroller met behulp van gemakkelijk verkrijgbare I²C-buffers of level shifters.
De HTU31D meet de RV van 0 tot 100% met een typische nauwkeurigheid van ±2%, ±0,7% RV hysterese, en een typische lange termijn afwijking van minder dan 0,25% RV/jaar. Het temperatuurmeetbereik van het toestel is -40 tot 125 °C met een typische nauwkeurigheid van ±0,2 °C en een typisch langetermijnverloop van 0,04 °C/jaar. Om de betrouwbaarheid op peil te houden, is de sensor voorzien van een verwarmingselement om condensatie bij hoge vochtigheidsniveaus te voorkomen, en van interne diagnostiek om meetfouten, fouten in het verwarmingselement en fouten in het interne geheugen op te sporen.
In de basismodus voor vochtigheids- en temperatuurmeting biedt de sensor een resolutie van 0,020% relatieve vochtigheid en 0,040 °C, met een omzettingstijd van respectievelijk 1 milliseconde (ms) en 1,6 ms. Voor veeleisender toepassingen biedt het toestel werkingsmodi waarmee ontwikkelaars de resolutie kunnen verhogen ten koste van een langere conversietijd. Bij de maximale resolutiemodus voor elke sensor kan de HTU31D 0,007% relatieve vochtigheid leveren met een omzettingstijd van 7,8 ms en 0,012 °C met een omzettingstijd van 12,1 ms.
Voor sommige toepassingen, zoals producten die op batterijen werken, is het lage stroomverbruik van het toestel een even belangrijke eigenschap. Werkend in de basisresolutiemodus en één RV- en temperatuurmeting per seconde, verbruikt het toestel typisch slechts 1,04 microamperes (μA). Tijdens niet-actieve perioden kan het apparaat in de slaapstand worden gezet, waar het gewoonlijk 0,13 μA verbruikt. Het kortstondig gebruik van het interne verwarmingselement om condensatie te verwijderen of de werking van de temperatuursensor te testen, leidt uiteraard tot een even korte maar significante toename van de stroomsterkte.
Eenvoudige hardware- en software-interfaces
De HTU31D digitale vochtigheids- en temperatuursensor biedt eenvoudige interfaces voor hardware- en software-integratie in de ontwerpen van ontwikkelaars. Naast de voedingsspanning van 3 tot 5,5 volt (VDD) en aardingspinnen (GND), bevat de hardware-interface van het apparaat pinnen voor I²C-standaard Serial Data (SDA) en Serial Clock-lijnen (SCL). De overige twee pennen zijn een reset-pen (RST) en een adres-pen (IC_ADD). Wanneer IC_ADD aan GND of VDD is gebonden, reageert het apparaat op I²C-adres 0x40 of 0x41, respectievelijk, zodat twee HTU31D-apparaten dezelfde I²C-bus kunnen delen zonder conflicten.
Een hostprocessor zendt commando's en leest de resultaten met behulp van basis I²C seriële transacties. Commando's gebruiken een twee-byte reeks bestaande uit het I²C-adres, gevolgd door een commando byte met individuele bits ingesteld om ondersteunde functies te specificeren, inclusief gecombineerde temperatuur- en vochtigheidsmeting, vochtigheidsmeting alleen, reset, verwarming aan of uit, apparaat serienummer, en diagnostiek.
Om een gecombineerde temperatuur- en RV-meting (T & RV) uit te voeren, zou de host de adresbyte zenden en een byte die de conversiebevel-bit bevat en bits die de gewenste resolutie voor de temperatuur- en RV-metingen specificeren. Het apparaat ondersteunt een eenvoudige polling-methode, dus na het verzenden van de conversie-opdrachtsequentie van twee bytes zou de hostprocessor de resolutie-afhankelijke duur afwachten die in het gegevensblad wordt gespecificeerd, alvorens een sequentie van twee bytes te verzenden met de adresbyte (0x40 of 0x41), gevolgd door de T & RH lees-opdrachtbyte (0x0) (Afbeelding 2, bovenste rij). De HTU31D zou antwoorden door de bovenste en onderste bytes van ruwe waarden voor elke gevraagde temperatuur- en vochtigheidsmeting te verzenden (Afbeelding 2, onderste twee rijen). De ruwe waarden worden omgezet in de overeenkomstige fysieke temperatuur- en vochtigheidswaarden met behulp van een paar vergelijkingen die in het HTU31D-gegevensblad zijn opgenomen.
Afbeelding 2: De digitale vochtigheids- en temperatuursensor HTU31D biedt een eenvoudige interface voor het snel verkrijgen van temperatuur- en RH-metingen. (Afbeelding bron: TE Connectivity Measurement Specialties)
Zoals in Afbeelding 2 wordt getoond, volgt de HTU31D elke 16-bits gegevensreeks met een byte die de door het apparaat gegenereerde CRC-waarde (Cyclic Redundancy Check) van de gegevens bevat. Deze CRC-8-controlesom maakt detectie mogelijk van afzonderlijke bitfouten of dubbel-bitfouten overal in de gegevenstransmissie, of clusters van bitfouten binnen een 8-bitvenster. Door deze verzonden CRC-waarde te vergelijken met de CRC-waarde die hij uit de ontvangen gegevens berekent, kan de hostprocessor snel een mislukte transmissie identificeren en de nodige actie ondernemen, zoals het herhalen van de meetopdracht, het kortstondig inschakelen van het geïntegreerde HTU31D-verwarmingselement, het geven van een reset of het waarschuwen van de gebruiker voor een mogelijke storing in het meetsysteem.
Een andere eigenschap van de transmissiesequentie stelt de host in staat de antwoordsequentie te stoppen vóór de normale voltooiing ervan wanneer zich een dwingende noodzaak voordoet. In een normale transactie verwacht de HTU31D een bevestiging (ack) na de eerste databyte met een laatste niet-bevestiging (nack) en stopsequentie helemaal op het einde van de datasequentie (zie Afbeelding 2 opnieuw). Ontwikkelaars kunnen deze functie gebruiken om verdere transmissie te stoppen wanneer CRC-gegevens of vochtigheidsgegevens niet nodig zijn, of wanneer een nieuw commando zoals apparaat-reset of verwarmingactivering dringend nodig is. Hier kan de host, in plaats van de verwachte ack na een data- of CRC-byte te zenden, de laatste nack/stop-sequentie zenden om de datatransmissie van de sensor onmiddellijk te beëindigen.
De HTU31D van TE biedt een eenvoudige elektrische en functionele interface, maar het gebruik van elke zeer gevoelige sensor vereist een zorgvuldig fysisch ontwerp om meetartefacten te vermijden die het gevolg zijn van elektrische of thermische interactie met andere toestellen aan boord. Evenzo kunnen fouten bij de uitvoering van het protocol voor de commandosequentie of bij de omzetting van waarden de evaluatie en de prototypeontwikkeling van een vochtigheids- en temperatuurdetectiefunctie in een evoluerend product vertragen. Met een add-on-bord en bijbehorende software van MikroElektronika kunnen ontwikkelaars potentiële implementatieproblemen omzeilen en direct beginnen met ontwerp en ontwikkeling.
Snelle prototyping en versnelde ontwikkeling
De MikroElektronika MIKROE-4306 HTU31D gebaseerde Temp & Hum 14 Click add-on-bord biedt een volledige implementatie van de elektrische interface van de sensor (Afbeelding 3, links), gemonteerd op een bord van 28,6 x 25,4 mm (Afbeelding 3, rechts).
Afbeelding 3: Het MikroElektronika Temp & Hum 14 Click-bord (rechts) dient niet alleen als referentieontwerpschema (links) voor ontwikkeling op maat, maar biedt ook een platform voor onmiddellijke evaluatie en snelle prototyping van meetoplossingen op basis van de HTU31D-sensor. (Afbeelding bron: MikroElektronika)
Net als andere mikroBUS Click add-on-borden van MikroElektronika en andere aanbieders, is het MikroElektronika Temp & Hum 14 Click-bord ontworpen om te worden aangesloten op een hostprocessorbord, zoals een MikroElektronika Fusion-ontwikkelingsbord, en te worden gebruikt met MikroElektronika's open-source mikroSDK software-ontwikkelframework.
MikroElektronika vult de mikroSDK omgeving aan met software pakketten die drivers en bordondersteuning leveren voor specifieke Click-borden en ontwikkelborden. Voor het Temp & Hum 14 Click-bord levert MikroElektronika bindings van haar Temp-Hum 14 Click softwarepakket voor haar Fusion en andere MikroElektronika-bordfamilies.
Het Temp-Hum 14 Click-softwarepakket ondersteunt de ontwikkeling met behulp van een HTU31D-specifieke functiebibliotheek die toegankelijk is via een toepassingsprogrammaverbinding (API). Een begeleidende voorbeeldtoepassing demonstreert de werking van de HTU31D-sensor met behulp van een eenvoudige set API-functies, waaronder:
- temphum14_set_conversion, dat de eerder genoemde conversiesequentie uitvoert
- temphum14_get_temp_and_hum, die de T & RH-gegevensreeks van de sensor uitvoert
- temphum14_get_diagnostic, dat de foutstatus uit het on-chip diagnoseregister van de HTU31D leest
De voorbeeldtoepassingscode demonstreert systeeminitialisatie, toepassingsinitialisatie, en uitvoering van een toepassingstaak. Lijst 1 toont een fragment uit het softwarepakket dat is ontworpen om te draaien op de MikroElektronika Fusion voor KINETIS v8 MIKROE-3515 ontwikkelingsbord, die is gebaseerd op NXP's MK64FN1M0VDC12 Arm®Cortex®-M4 Kinetis K60-microcontroller.
Kopieer
#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( );
}
}
Lijst 1: Dit fragment uit de MikroElektronika-voorbeeldtoepassing demonstreert de basis ontwerppatronen voor het initialiseren en uitvoeren van een eenvoudige taak om temperatuur- en RV-metingen te verkrijgen van de HTU31D-sensor. (Bron code: MikroElektronika)
De voorbeeldtoepassing in het softwarepakket demonstreert de basisontwerppatronen voor het implementeren van een softwaretoepassing met behulp van de TE HTU31D-sensor. Zoals geïllustreerd in Lijst 1, begint de hoofdroutine met het aanroepen van een systeeminitialisatiefunctie (system_init()) om stuurprogramma's op laag niveau in te stellen, waaronder de HTU31D-sensor, en met het aanroepen van een functie (application_init()) om de toepassingsbronnen te initialiseren. In dit geval initialiseert application_init() de I²C-driver van het systeem met een instantie van een sensorobject alvorens een sensor-reset uit te voeren en een functie-oproep (temphum14_get_diagnostic()) om de diagnostiek van de sensor op te halen en de diagnostische informatie weer te geven (display_diagnostic()).
Na de korte initialisatiefase komt de voorbeeldtoepassing in een eindeloze lus die elke drie seconden een toepassingstaak aanroept. In de voorbeeldcode in Lijst 1 vraagt de toepassingstaak om een conversie met een resolutie van 0,020% RV en 0,040 °C, de basisbedrijfsmodus van de HTU31D zoals eerder vermeld. In deze basislijnmodus heeft de HTU31D slechts 1 ms nodig om de RV te meten en 1,6 ms om de temperatuur te meten. De voorbeeldtoepassing vult de wachttijd aan met een vertraging van 10 ms (delay_ms(10)) alvorens de API-functie temphum14_get_temp_and_hum() aan te roepen om de temperatuur- en vochtigheidswaarden op te halen. Omdat de bibliotheek de transformatie uitvoert die nodig is om de ruwe waarden van de HTU31D om te zetten in fysieke temperatuur- en vochtigheidsmeetwaarden, kunnen de resulterende meetwaarden rechtstreeks worden gebruikt, in dit geval volstaat het de resultaten te loggen.
Met behulp van dit hardwareplatform en de bijbehorende softwareomgeving kunnen ontwikkelaars snel HTU31D-sensortoepassingen evalueren en als prototype gebruiken om nauwkeurige RV- en temperatuurmetingen te verkrijgen bij uiteenlopende resoluties. Voor de ontwikkeling van aangepaste hardware dient de MikroElektronika Temp & Hum 14 Click-bord als een compleet referentie-ontwerp, inclusief volledig schema en fysiek ontwerp. Voor softwareontwikkeling op maat biedt het Temp-Hum 14 click-softwarepakket een basistemplate voor het bouwen van uitgebreidere toepassingen.
Conclusie
Vochtigheid en temperatuur spelen een cruciale rol in de integriteit van structuren en apparatuur, alsook in de gezondheid en het welzijn van de mens. Een goed beheer van vochtigheid en temperatuur hangt echter af van een combinatie van meetnauwkeurigheid en alomtegenwoordige meting, die moeilijk gemakkelijk te realiseren is door beperkingen in conventionele sensoroplossingen.
Een vochtigheids- en temperatuursensor van TE Connectivity Measurement Specialties biedt de unieke combinatie van nauwkeurigheid, stabiliteit, afmetingen en gebruiksgemak die nodig is om te voldoen aan de nieuwe meetvereisten in consumenten-, industriële en medische toepassingen.
Referenties
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.




