I2C hőmérséklet érzékelő LM75

I2C hőmérséklet érzékelő LM75

I2C hőmérséklet érzékelő LM75

LM75 I2C hőmérséklet érzékelő hőmérő I2C busz

Tartalomjegyzék

    Működési elve

    El IC Az LM75 egy szilícium félvezető bandgap hőmérséklet érzékelő.

    A félvezetőkben a tiltott zenekar Ez az elektronok energiazónája, amely nem növelhető az elektromos tér növekedésével, mivel nincsenek olyan állapotok, amelyek gyorsabban mozognának. Ez tiltott zenekar között szerepel vegyértéksáv (alacsonyabb energia) és a vezető szalag (nagyobb energia). A termikus gerjesztés (a hőmérséklet emelkedése az általunk érdekelt célokra) arra késztetheti az elektronokat, hogy elegendő energiát szerezzenek ahhoz, hogy a vezető szalag.

    Amint azt az előző cikkben ismertettük elektronikus hőmérsékletmérés, fémekben, bár a hordozók száma nem függ a hőmérséklettől (mindig minden elektron rendelkezésre áll), mobilitásukat a hőmérséklet befolyásolja, így a fémekben az ellenállás a hőmérséklettel együtt nő az elektronok sebességének csökkenése miatt. az ő növekedésük termikus keverés és az általa előállított elektronok szórása.

    Félvezetők esetében ennek megléte miatt tiltott zenekar A hordozók száma a hőmérséklettől függ (attól függően Fermi–Dirac eloszlás), ami a vezetőképesség növekedését okozza a hőmérséklettel. A félvezetőkben a hőmérséklet növekedése az ellenállás növekedését, de a vezetőképesség (további) növekedését is eredményezi.

    sok szilícium félvezető sávszélességű hőmérséklet-érzékelők, akárcsak az LM75 esetében, ezen elv szerint működnek, lehetővé téve a hőmérséklet meghatározását a szilíciumdióda feszültségére gyakorolt ​​hatásának számszerűsítésével.

    LM75 hardverkomponensek

    Az LM75-ben is van a analóg-digitális átalakító Sigma-Delta modulációval amely a hőmérséklet numerikus (digitális) értékének megszerzéséért felelős, amely értéket utólag (100 ms-onként) eltárol az egyik regiszterében, amelyből a buszon keresztül kiolvasható. I2C.

    LM75 I2C hőmérséklet érzékelő. A működési blokkok egyszerűsített diagramja

    A mért hőmérsékletet tartalmazó regiszteren kívül az LM75 rendelkezik egy regiszterrel, amelyben egy maximális hőmérséklet tárolható, valamint egy komparátorral, amely képes jelet generálni, ha a mért hőmérséklet meghaladja a második regiszterben tárolt értéket. Annak érdekében, hogy a figyelmeztetés ne induljon újra, amíg a mért hőmérséklet egy bizonyos szint alá nem csökken, egy harmadik regiszter lehetővé teszi a hőmérséklet értékének tárolását. hiszterézis.

    Az LM75 működésének konfigurációja egy negyedik regiszterben kerül tárolásra, amely meghatározza a figyelmeztetés generálásának feltételeit, a figyelmeztető jelzés indításának módját (megszakítási mód vagy összehasonlító mód), valamint az eszköz aktiválását (üzemmód). . normál működés vagy alacsony fogyasztás) egyéb paraméterek mellett.

    Az LM75 műszaki leírása és kivitelezése

    Az LM75 mérésére alkalmas hőmérséklettartomány -55°C és +125°C között változik, a numerikus felbontás pedig 0.125°C, bár a pontosság a legjobb esetben is csak ±2°C, ha a hőmérséklet - között van. 25 °C és +100 °C, valamint ±3 °C pontosság a legszélsőségesebb hőmérsékleten, -55 °C és +125 °C között.

    LM75. I2C hőmérséklet érzékelő. Kitűz

    Az LM75 megvalósítása (hardvere) egy áramkörben nagyon egyszerű, nem igényel több komponenst, mint az ellenállások felhúz del busz I2C és 2,8 V és 5,5 V közötti feszültséggel táplálható. Ugyanebben busz I2C Akár nyolc LM75 hőmérő is elrendezhető, ha a címüket a három A0, A1 és A2 érintkezővel magas vagy alacsony szinten konfigurálják, ahogy az ilyen esetekben szokásos.

    LM75. I2C hőmérséklet érzékelő. Alkalmazási áramkör

    Másrészt az LM75 szondaként való használata kényelmetlen a csomagolás miatt, amelyben bemutatják, TSSOP (TSSOP8) o SEC (SO8), és általában a környezeti hőmérséklet mérésére vagy a berendezés környezetében elhelyezett alkatrészek hőmérsékletének mérésére használják. PCB amelyben az LM75 hőmérő található.

    Indításkor az LM75 úgy van beállítva, hogy +80°C-os maximális hőmérsékletet érzékeljen. hiszterézis +75 °C és a komparátor üzemmód, azaz a termosztát működését emuláló üzemmód: a maximális hőmérséklet elérésekor aktiválja a figyelmeztetést, és csak akkor, ha az a hőmérséklet alá esik. hiszterézis Újragenerálja az értesítést.

    Az LM75 kiaknázása mikrokontrollerről az I2C buszon keresztül

    A használatának köszönhetően busz I2C Az LM75 működése nagyon egyszerű, csak a buszon elfoglalt címhez kell hozzáférni a konfiguráció tárolásához vagy leolvasásához és a mért hőmérséklet értékének lekéréséhez.

    A cím I2C Az LM75 alapja 0B01001XXX, és a fentiek szerint kiegészül az utolsó három címbittel, amelyeket hardver állít be magas (egyes érték) vagy alacsony (nulla érték) A0, A1 és A2 lábakkal.

    Az LM75 mint hőmérő

    Az utoljára mért hőmérsékletet tároló regiszter (TEMP) a 0x00 címen, a konfigurációs regiszter (CONF) a 0x01 címen található, az a regiszter, amely a hőmérsékletet tárolja. hiszterézis a 0x02 címen, és a maximális vagy túlmelegedés (TOS) címe 0x03. Az aktuális hőmérséklet (TEMP) kivételével mindegyik olvasási és írási funkcióként működik.

    Néhány kódpélda felhasználásával, amelyhez fejlesztették ki Arduino (ami szinte univerzális referenciává vált) az LM75 működése tovább tisztázható. A legalapvetőbb hasznos példa az LM75 hőmérőként történő használata az utoljára mért hőmérséklet rekordjának leolvasásával.

    A folyamat a szokásos, ha egy eszközzel dolgozik I2C:

    1. Adja hozzá a könyvtárat I2C a kódhoz #include <Wire.h>
    2. Inicializálja a könyvtárat I2C használatával Wire.begin();
    3. Használja az LM75 hőmérséklet-érzékelőt Wire.beginTransmission(DIRECCION_LM75)
    4. Küldje el a segítségével elért rendszerleíró adatbázis címét Wire.write(REGISTRO)
    5. Engedje el a busz I2C a Wire.endTransmission()
    6. Hozzáférés újra az LM75-höz
    7. Kérje le a rendszerleíró adatbázis értékét a Wire.requestFrom(DIRECCION,CANTIDAD)
    8. Ellenőrizze, hogy az adatok érkeztek-e a használatával Wire.available()
    9. Olvassa el a kért értéket Wire.read() (annyiszor, ahány bájt teszi ki)
    10. Bár ez nem elengedhetetlen, ha végzett, engedje el a busz I2C

    A szokásos protokollon túlmenően az eszközök naplóiban történő információszerzéshez vagy tároláshoz a busz I2C, az LM75 által szolgáltatott adatok kihasználásához figyelembe kell venni azt a formátumot, amelyben a belső hőmérsékletet reprezentálja.

    Az LM75 hőmérsékleti rekordokban tárolt érték lekérése

    Az előző példa kódjának 22. sorában láthatja, hogyan lehet betölteni az LM75 három hőmérsékletregisztere által tárolt információkat. Két bájtot (16 bitet) használ, amelyek közül csak a 11 legjelentősebb bit érvényes. A hőmérséklet egész számként történő olvasásához (kódolt előjellel kettő komplementere) a legjelentősebb bájt kerül először egy változóba int de Arduino és 8 bittel balra van elforgatva, így a legjelentősebb részében marad int. A második bájt ezután beolvasásra kerül és hozzáadódik a változóhoz. int VAGY művelettel

    Az LM75 terhelt hőmérsékleti értékének értelmezése

    A 24. sorban láthatja, hogyan kell értelmezni a hőmérsékleti értéket. Először is el kell osztani 32-vel egész számként (a vonatkozó 11 bitet el kell forgatni az előjel elvesztése nélkül) és osztani 8-cal, ami a hőmérséklet ábrázolásának „lépéseinek” száma (egy fok oktávja) típusú érték megszerzéséhez float a megfelelő tizedesjegyekkel. Mivel a fordítók (beleértve a toolchain de Arduino) optimalizálja az egész osztást 32-vel, nem szükséges megőrizni az előjelet és "kézi" forgatni a biteket, mivel a művelet nem (érzően) gyorsabb.

    Ellenőrizze az adatvételt az I2C buszról

    Bár az előző kód annak ellenére működik probléma nélkül, hogy nem ellenőrzi, hogy megérkeztek-e a készülék által kért adatok. busz I2C, a legortodoxabb (és tanácsosabb) megvárni, amíg az adatok megfelelő számban érkeznek. Mivel az átviteli sebesség és a hibákkal szembeni ellenállás több mint elegendő, gyakran találunk olyan kódot, amelyben az adatokat egyszerűen lekérjük, és várakozás nélkül kiolvassuk. A példáknál célszerű ezt így megtenni, mivel nem vonják el a figyelmet a fő szándékról, de a gyártási kódnál célszerű ezt a kommunikációs folyamat lista hetedik pontjában javasolt módon megtenni. I2C. A következő példa kódja kiemeli az LM75 használatához javasolt változtatásokat a kiaknázási fázisban.

    Konfigurálja az LM75 működését

    Az LM75 legalapvetőbb konfigurációja a maximális hőmérséklet beállításából áll a figyelmeztetés generálásához és a hiszterézis, amely meghatározza, hogy mikor van deaktiválva, és megismételhető. Ezen értékek konfigurálásához csak el kell tárolnia őket a megfelelő regiszterekben.

    Az aktuális hőmérsékleti rekordhoz hasonlóan a maximális (figyelmeztető) hőmérséklet ill hiszterézis Két bájtot használnak, de az elsőtől eltérően nem 11 bitet (egy nyolcad fokot), hanem 9-et (fél fokot) vesznek figyelembe, így kisebb érték tárolása esetén is csak ennek a felbontásnak az intervallumait veszik figyelembe.

    Mivel az előző kódban csak a figyelmeztetéssel kapcsolatos hőmérsékletek konfigurációja módosul, a művelet többi része az alapértelmezett konfigurációnak felel meg.

    Ebben az alapértelmezett konfigurációban két fontos jellemző van, először is a figyelmeztetési mód, alapértelmezés szerint az úgynevezett "termosztát üzemmód", amely abból áll, hogy a maximális hőmérséklet (vagy figyelmeztetés) elérésekor aktiválja a figyelmeztetést, és nem kapcsolja ki, amíg a hőmérséklet le nem süllyed. hőmérséklete hiszterézis. Az alternatíva a "megszakítási mód", amelyben a jel akkor aktiválódik, ha meghaladja a maximumot, vagy ha a jel értéke alacsonyabb, mint a hiszterézis és minden rekord, általában az aktuális hőmérséklet leolvasásával visszaáll.

    A második jellemző, hogy a figyelmeztető jelzés alacsony szinten aktiválódik, vagyis az OS érintkezője magas szinten van a maximális figyelmeztető hőmérséklet eléréséig. Mivel a figyelmeztető jel polaritása (az aktiválási szint) konfigurálható, néhány egyszerű telepítésnél elegendő ezt a jelet (hardvert) használni az LM75 kihasználásához, például ventilátor csatlakoztatásához vagy leválasztásához, amikor a rendszer elér egy bizonyos hőmérsékletet.

    Lehetőség van arra is, hogy az LM75 működése úgy konfigurálható legyen, hogy ne azonnal a figyelmeztetési hőmérséklet elérése után, hanem többszöri incidens után jelezzen. Ez a viselkedés nagyon hasznos, ha a hőmérsékleti határértéken dolgozik, vagy ha az nagyon gyorsan változik. Az LM75 konfigurálható úgy, hogy figyelmeztesse a maximális hőmérséklet egy, kétszer, négy vagy hatszori túllépése után.

    A konfigurációs regiszterben van még egy bit az LM75 deaktiválására ("kikapcsolására") és alacsony fogyasztású módba lépésre, amelyből a bit újbóli megváltoztatásával vagy egyszerűen a következő regiszter beolvasásával lehet kilépni.

    Hozzászólás Comment

    Lehet, hogy lemaradtál