kategória: Mikrovezérlő áramkörök
Megtekintések száma: 9996
Megjegyzések a cikkhez: 0

Hőmérséklet és páratartalom mérése az Arduinón - számos módszer

 

Hazai időjárási állomás vagy hőmérő létrehozásához meg kell tanulnia, hogyan kell párosítani az Arduino táblát és a hőmérsékletet és a páratartalmat mérő készüléket. A hőmérséklet mérését termisztor vagy DS18B20 digitális érzékelő segítségével lehet megoldani, de a páratartalom mérésére bonyolultabb eszközöket használjon - DHT11 vagy DHT22 érzékelőket. Ebben a cikkben megmutatjuk, hogyan lehet mérni a hőmérsékletet és a páratartalmat az Arduino és ezek az érzékelők segítségével.

Hőmérséklet és páratartalom mérése az Arduinón - számos módszer

Termisztor mérése

A hőmérséklet meghatározásának legegyszerűbb módja a felhasználás termisztor. Ez egy olyan ellenállás, amelynek ellenállása a környezeti hőmérséklettől függ. Vannak olyan termisztorok, amelyek pozitív és negatív ellenállási együtthatóval rendelkeznek - a PTC (más néven poszisztorok) és az NTC termisztorok.

Az alábbi grafikonon látható az ellenállás hőmérsékleti függősége. A szaggatott vonal a negatív TCS termisztor (NTC) és a folytonos vonal a pozitív TCS termisztor (PTC) függvényét mutatja.

Az ellenállás hőmérsékletfüggése

Mit látunk itt? Az első dolog, ami felhívja a figyelmét, hogy a PTC termisztor ütemezése megsérül, és nehéz vagy lehetetlen mérni számos hőmérsékleti értéket, de az NTC termisztor ütemezése többé-kevésbé egységes, bár egyértelműen nem lineáris. Mit jelent ez? Az NTC termisztor használatával könnyebb megmérni a hőmérsékletet, mert könnyebb megtalálni azt a funkciót, amellyel az értékek megváltoznak.

A hőmérséklet ellenálláshoz való konvertálásához manuálisan eltávolíthatja az értékeket, ám ezt otthon nehéz megtenni, és hőmérőre van szükség a közeg hőmérsékletének tényleges értékeinek meghatározásához. Egyes összetevők adatlapjaiban szerepel egy ilyen táblázat, például a Vishay-i NTC termisztorok sorozatára vonatkozóan.

Datashit Vishay TC termisztorok

Ezután a fordítást az ágakon keresztül is megszervezheti, ha a ... más funkciót vagy a kapcsolótárat használja. Ha azonban az adatlapokban nincs ilyen tábla, akkor ki kell számolnia azt a funkciót, amellyel az ellenállás megváltozik a hőmérséklet növekedésével.

A változás leírására létezik a Steinhart-Hart egyenlet.

Steinhart-hart egyenlet

ahol A, B és C a termisztorállandók, amelyeket három hőmérséklet mérésével határoznak meg legalább 10 Celsius fok különbséggel. Ugyanakkor különböző források jelzik, hogy egy tipikus 10 kΩ NTC termisztor esetén ezek egyenlők:

Termisztor állandók

A B - béta együtthatót két különböző hőmérsékleti ellenállás mérése alapján számítják ki. Ezt vagy az adatlapban jelöljük (az alább látható módon), vagy függetlenül számoljuk.

B - béta együttható az adatlapból

Ebben az esetben a B-t a következő formában kell feltüntetni:

béta arány

Ez azt jelenti, hogy az együtthatót az ellenállás 25 és 100 Celsius fokos hőmérsékleten történő mérésekor kapott adatok alapján számították ki, és ez a leggyakoribb változat. Akkor ezt a képlettel számítják ki:

B = (ln (R1) - ln (R2)) / (1 / T1 - 1 / T2)

A termisztor és a mikrovezérlő tipikus csatlakoztatási diagramját az alábbiakban mutatjuk be.

A termisztor csatlakozási rajza a mikrovezérlőhöz

Itt az R1 állandó ellenállás, a termisztor az áramforráshoz van csatlakoztatva, és az adatokat a köztük lévő középpontból veszik, a diagram feltételesen jelzi, hogy a jelet az A0 tűre továbbítják - ez analóg bemenet Arduino.

A termisztor csatlakozási rajza a mikrovezérlőhöz

A termisztor ellenállásának kiszámításához az alábbi képletet használhatja:

A termisztor R értéke = R1⋅ ((Vcc / Voutput) −1)

Az arduino számára érthető nyelvre történő fordításhoz ne feledje, hogy az arduino 10 bites ADC-vel rendelkezik, tehát a bemeneti jel (5 V feszültség) maximális digitális értéke 1023 lesz. Ezután feltételesen:

  • Dmax = 1023;

  • D a jel tényleges értéke.

majd:

A termisztor R értéke = R1⋅ ((Dmax / D) −1)

Most ezt használjuk az ellenállás kiszámításához, majd a béta-egyenlet segítségével kiszámoljuk a termisztor hőmérsékletét programozási nyelven Arduino számára. A vázlat a következő lesz:

vázlat

DS18B20

Még népszerűbb a hőmérséklet mérésére.Arduino megtalálta a DS18B20 digitális érzékelőt. Az 1-vezetékes interfészen keresztül kommunikál a mikrovezérlővel, több érzékelőt (akár 127) csatlakoztathat egy vezetékhez, és ezek eléréséhez meg kell határoznia az egyes érzékelők azonosítóját.

Megjegyzés: akkor ismernie kell az azonosítót, ha csak 1 érzékelőt használ.

DS18B20 digitális érzékelő

A ds18b20 érzékelő és Arduino csatlakozási diagramja így néz ki:

A ds18b20 érzékelő csatlakoztatási rajza az Arduino-hoz
A ds18b20 érzékelő csatlakoztatási rajza az Arduino-hoz

Van egy parazita energiamód is - a csatlakozási diagramja így néz ki (három helyett két vezetékre van szüksége):

Arduino érzékelő csatlakoztatási diagramja

Ebben az üzemmódban a helyes működés nem garantált, ha a hőmérsékletet 100 Celsius fok fölé mérik.

A DS18B20 digitális hőmérséklet-érzékelő csomópontok teljes készletéből áll, mint bármely más SIMS. Az alábbiakban megtekintheti a belső eszközét:

Digitális hőmérséklet-érzékelő DS18B20

Ahhoz, hogy vele dolgozzon, le kell töltenie az Onewire könyvtárat az Arduino számára, és maga az érzékelő számára ajánlott a DallasTemperature könyvtár használata.

vázlat

Ez a kódpélda bemutatja az 1 hőmérséklet-érzékelővel végzett munka alapjait, az Celsius-fokban kifejezett eredményt minden olvasás után a soros porton adják ki.


DHT11 és DHT22 - páratartalom és hőmérséklet érzékelők

DHT11 és DHT22 - páratartalom és hőmérséklet érzékelők

Ezek az érzékelők népszerűek és gyakran használják a páratartalom és a környezeti hőmérséklet mérésére. Az alábbi táblázatban feltüntettük fő különbségeiket.

 
DHT11
DHT22
Páratartalom meghatározása a tartományban
20-80%
0-100%
Mérési pontosság
5%
2-5%
Hőmérséklet meghatározása
0 ° C és + 50 ° C között
-40 ° C és + 125 ° C között
Mérési pontosság
2,5%
plusz vagy mínusz 0,5 Celsius fok
Lekérdezési gyakoriság
Másodpercenként egyszer
1 alkalommal 2 másodperc alatt
Páratartalom-érzékelő csatlakoztatási diagramja az arduino-hoz

A csatlakozási diagram meglehetősen egyszerű:

  • 1 következtetés - táplálkozás;

  • 2 következtetés - adatok;

  • 3 következtetés - nem használt;

  • 4 következtetés - az általános huzal.

Ha az érzékelő modul formájában készül, akkor három kimenete lesz, de nincs szükség ellenállásra - már be van forrasztva a táblához.

A páratartalom-érzékelő csatlakoztatási diagramja modul formájában az arduino-hoz

A működéshez szükségünk van a dht.h könyvtárra, ez nincs a szabványkészletben, ezért letölteni és telepíteni kell az arduino IDE mappában található könyvtárak mappájába. Támogatja a család összes érzékelőjét:

  • DHT 11;

  • DHT 21 (AM2301);

  • DHT 22 (AM2302, AM2321).

Példa könyvtárhasználatra:

Példa könyvtárhasználatra

következtetés

Manapság az Arduino platformnak köszönhetően saját hőmérsékleti és páratartalom-mérő állomást lehet létrehozni. Az ilyen projektek költsége 3-4 száz rubel. Használhatja az akkumulátor élettartamát, és nem a számítógépre továbbítja karakter kijelző (egy nemrégiben írtuk le őket), akkor készíthet egy hordozható eszközt otthoni és autós használatra egyaránt. Írja meg a megjegyzésekbe, mit szeretne még többet megtudni az arduino egyszerű házi készítéséről!

Lásd még ebben a témában:Népszerű érzékelők az Arduino-hoz - csatlakozás, diagramok, vázlatok

Lásd még az bgv.electricianexp.com oldalon:

  • Arduino legnépszerűbb érzékelői
  • Analóg érzékelők csatlakoztatása Arduino-hoz, olvasási érzékelők
  • A Wheatstone-híd használata nem elektromos mennyiségek mérésére
  • Hőmérséklet-érzékelők. Második rész termisztor
  • Páratartalom-érzékelők - azok felépítése és működése

  •