AHT10 és AM2301 összehasonlítás NodeMcu alatt

Kedves Blogolvasó!

 

Ebben a leírásban két népszerű és hő és páratartalom mérő szenzor kerül a terítékre, az AHT10 és AM2301 összehasonlítás. Azért gondoltam erre a két szenzorra, mert árban és elterjedtségben is a két végletet testesítik meg, annak ellenére, hogy a gyártó ugyanaz.

AHT10

AHT10 Hő és páratartalo mérő szenzor

Az AHT10 egy I2C szenzor, egyetlen egy hátránya az, hogy egy vasra maximum 2 ilyen szenzor integrálható, mert csak a 0x38 és 0x39-es BUS címen elérhető. Ráadásul a második szenzor illesztésénél forrasztani is kell mert a 0x38 az alapértelmezett cím. Mérési tartományát és felbontását tekintve szerintem egy rendkívül jól alkalmazható szenzor, és még pontos is. A pontos mérési tartománnyal nem is fárasztanék senkit sem, mert elérhető akár a webshop termék adatlapján, vagy a google segít nekünk. 

 

AM2301

AM2301 Hő és páratartalom mérő szenzor

Az AM2301 paramétereit tekintve hasonlít az AHT10-re, viszont egy nagy előnye van, az AHT10-el szemben. A DHT szenzorokhoz hasonlóan csak egy kimenetet használ el, mert egy „single-bus” protokolt használ az adatok továbbítására. 

AHT10 és AM2301 összehasonlítás - AM2301 átviteli protokol

A mérési tartományokat itt sem részletezném, mert elérhető a termék adatlapon. A minőség és megbízhatóság tekintetében szerintem az sem véletlen, hogy a Sonoff ezen típus mellett tette le a voksát. Szerencsére erre a szenzorra már annyira nem jellemző, hogy elhasználodik idővel, mint a DHT11-ek.

Teszt környezet

Teszt környezetnek én a már meglévő dolgaimat használtam, Home Assistant alá egy NodeMcu segítségével toltam fel az mérési adatokat. Erre a leggyorsabb fejlesztői környezet az ESPhome volt.

A szenzorok bekötése faék egyszerűségű. Komolyabb részletezésbe itt sem bocsátkoznék bele, mert az alábbi konfig fájlból kiderül, hogy mit hova kötöttem. Talán még annyit még megjegyeznék, hogy az AM2301 adat lábát egy 10k-s ellenállással a tápra kell húzni, mert ez még fontos. Ezt leszámítva szerintem a kapcsolás összeállítása gyerekjáték.

i2c:
  sda: D1
  scl: D2
  scan: True
  id: bus_a


sensor:
  - platform: dht
    pin: D7
    temperature:
      name: "AM2302 Temperature"
    humidity:
      name: "AM2302 Humidity"
    update_interval: 300s
  - platform: aht10
    temperature:
      name: "AHT10 Temperature"
    humidity:
      name: "AHT10 Humidity"
    update_interval: 300s

Ezek után pedig az ESPhome-ból feltöltöttem szokásosan a binary-t, és vártam. Számomra itt jött a meglepetés. Az AM2301 az 5 perces mérési tartományban olyan kilengéseket produkált, hogy az teljességgel alkalmatlanná tette automatizálásra. Képes volt 1,5 °C-okat ugrálni.

AHT10 és AM2301 összehasonlítás

 

Tudom a képen nem AM2302 a neve a szenzornak, de ez csak egy elírás. 

Itt jött el az a pillanat, hogy felcsúsztam az ESPhome honlapjára, ahol sajnos az összes DHT alapú szenzornak egy rövid kis lapocska az összefoglalója. Nem sokat segített rajtam, de Arduino-s tesztelgetős emlékeim alapján, eszembe jutott, hogy a DHT szenzoroknak mindig kellett egy kis késleltetés, hogy összekapják magukat. Ezért a következőt találtam ki: Mi lenne, ha „foglalkoztatnám a szenzort?” Megnéztem a reference-ben, hogy mit érdemes csinálni, és milyen filtert tudok alkalmazni. Így hát, abban az 5 percben amíg nem küldöm az AM2301 mérési adatait, sajnos „közmunkára” kellett fognom a szenzort. 

A viccet és a konyha nyelvet félre téve, azt tapasztaltam, hogy abban az esetben ha 5 percen keresztül nem olvasom ki az AM2301 mérési adatait, akkor az első kiolvasásnál 5-ből 2 alkalommal fals mérési adatokat tudok csak kiolvasni. Gondolom („ez csak tipp”) a megfelelő késleltetés hiánya okozza ezt. 

Az eredmény pedig az lett, hogy a „debounce” filtert használom a mérések alkalmával. Ez a filter azt teszi lehetővé, hogy adott intervallumonként kiolvassa a mért adatokat, és csak akkor posztolja a mérési adatot, ha az eltér az előző kiolvasottól. 

- platform: dht
    pin: D7
    temperature:
      name: "AM2302 Temperature"
      filters:
      - debounce: 5s
    humidity:
      name: "AM2302 Humidity"
      filters:
      - debounce: 5s

 

A mért adatok így már a helyükre kerültek.

 

Itt azért már lehet látni, hogy a hatalmas kilengések után az AM2301 maximum csak tizedes eltéréseket produkál az előző mért adatokhoz képest.

Az AHT10 ebből a szempontból nagyon megbízhatóan teszi a dolgát.

AHT10 és AM2301 összehasonlítás

AHT10 és AM2301 összehasonlítás

Összegzés

Nálam a két szenzorból egyértelműen az AHT10 vizsgázott jelesre. Problémamentes könnyen integrálható, és pontos. Az AM2301 szerintem egy kicsit pontatlanabb, és az ESPhome alá történő integrálása is macerásabb. Ez még nem is lenne probléma, ha az ára feleannyi lenne, mint az AHT10 ára, de pont hogy fordított a helyzet.

 

AHT10 és AM2301 összehasonlítás

A képen jól látható, hogy a két szenzor között több mint 1 °C eltérés van. Sajnos azt kell hogy mondjam, hogy az AHT10 van közelebb a valósághoz. Nem tudom mi lenne a helyzet például kültéren, viszont lakásban az AHT10 bizonyult megbízhatóbbnak. 

Ha tetszett a leírás Like-old facebook oldalunkat, hogy értesülj a további hasonló leírásokról!

Mikrokontroller Blog és Webáruház – Facebook

 

(Statisztika: 962 megtekintés)