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.

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.

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.

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.

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:


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.

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

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.

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 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:

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.

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


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):

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:

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.

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

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.

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 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:

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 electro-hu.tomathouse.com oldalon
: