I2C temperatūros jutiklis LM75

I2C temperatūros jutiklis LM75

I2C temperatūros jutiklis LM75

LM75 I2C temperatūros jutiklio termometro I2C magistralė

Turinys

    Veikimo principas

    El IC LM75 yra a Silicio puslaidininkinis juostos temperatūros jutiklis.

    Puslaidininkiuose, draudžiama juosta Tai yra elektronų energijos zona, kurios negalima padidinti didėjant elektriniam laukui, nes nėra būsenų, kurios galėtų judėti greičiau. Tai draudžiama juosta yra įtrauktas tarp valentinė juosta (mažesnė energija) ir laidumo juosta (didesnė energija). Dėl terminio sužadinimo (temperatūros padidėjimo mums svarbiais tikslais) kai kurie elektronai gali įgyti pakankamai energijos, kad galėtų patekti į laidumo juosta.

    Kaip paaiškinta ankstesniame straipsnyje apie elektroninis temperatūros matavimas, metaluose, nors nešiklių skaičius nepriklauso nuo temperatūros (visi elektronai yra visada), jų judrumą veikia temperatūra, todėl atsparumas metaluose didėja didėjant temperatūrai dėl elektronų greičio mažėjimo dėl jų padidėjimas terminis maišymas ir jos sukuriamų elektronų sklaida.

    Puslaidininkių atveju dėl to draudžiama juosta Nešiklių skaičius priklauso nuo temperatūros (priklausomai nuo Fermi-Dirac pasiskirstymas), todėl laidumas didėja didėjant temperatūrai. Puslaidininkiuose didėjanti temperatūra padidina atsparumą, bet taip pat (toliau) padidina laidumą.

    Los silicio puslaidininkiniai juostos temperatūros jutikliai, kaip ir LM75 atveju, veikia pagal šį principą, leidžiantį nustatyti temperatūrą kiekybiškai įvertinant jos įtaką įtampai silicio diode.

    LM75 aparatūros komponentai

    LM75 taip pat turi a analoginis-skaitmeninis keitiklis su Sigma-Delta moduliacija kuri yra atsakinga už skaitinės (skaitmeninės) temperatūros vertės gavimą, kuri vėliau išsaugoma (kas 100 ms) viename iš jos registrų, iš kurio ją galima nuskaityti per magistralę. I2C.

    LM75 I2C temperatūros jutiklis. Supaprastinta valdymo blokų schema

    Be registro, kuriame yra išmatuota temperatūra, LM75 turi registrą, kuriame galima įrašyti maksimalią temperatūrą, taip pat lyginamąjį įrenginį, galintį generuoti signalą, jei išmatuota temperatūra viršija saugomą šiame antrame registre. Kad įspėjimas nebūtų paleistas, kol išmatuota temperatūra nukris žemiau tam tikro lygio, trečiasis registras leidžia išsaugoti temperatūros vertę isterezė.

    LM75 veikimo konfigūracija saugoma ketvirtame registre, kuriame nustatomos sąlygos, kuriomis generuojamas įspėjimas, šio įspėjamojo signalo paleidimo būdas (pertraukimo režimas arba palyginimo režimas), taip pat įrenginio įjungimas (režimas). . normaliam veikimui arba mažoms sąnaudoms) tarp kitų parametrų.

    LM75 techninės specifikacijos ir įgyvendinimas

    Temperatūros diapazonas, kurį gali išmatuoti LM75, svyruoja nuo –55°C iki +125°C, o skaitmeninė skiriamoji geba yra 0.125°C, nors tikslumas geriausiu atveju yra tik ±2°C, kai temperatūra yra tarp – 25 °C ir +100 °C, o tikslumas ±3 °C esant ekstremaliausioms temperatūroms, nuo –55 °C iki +125 °C.

    LM75. I2C temperatūros jutiklis. Pinout

    LM75 įdiegimas (aparatinė įranga) grandinėje yra labai paprastas, jai nereikia daugiau komponentų nei rezistorių prisitraukimas del autobusas I2C ir gali būti maitinamas nuo 2,8 V iki 5,5 V įtampa autobusas I2C Galima išdėstyti iki aštuonių LM75 termometrų, sukonfigūravus jų adresą su trimis kaiščiais A0, A1 ir A2 aukštame arba žemame lygyje, kaip įprasta šiais atvejais.

    LM75. I2C temperatūros jutiklis. Taikymo grandinė

    Kita vertus, naudoti LM75 kaip zondą yra nepatogu dėl pakuotės, kurioje jis pateikiamas, TSSOP (TSSOP8) o SEC (SO8) ir paprastai naudojamas aplinkos temperatūrai arba komponentų, esančių įrenginio aplinkoje, temperatūrai matuoti. PCB kuriame yra termometras LM75.

    Paleidžiant LM75 yra sukonfigūruotas aptikti maksimalią +80°C temperatūrą, isterezė +75 °C ir lyginamąjį darbo režimą, tai yra režimą, kuris imituoja termostato veikimą: jis įjungia įspėjimą, kai pasiekiama maksimali temperatūra ir tik tada, kai ji nukrenta žemiau isterezė Atkuria pranešimą.

    LM75 išnaudojimas iš mikrovaldiklio per I2C magistralę

    Ačiū naudoti autobusas I2C LM75 valdymas yra labai paprastas, tereikia pasiekti adresą, kurį jis užima magistrale, kad išsaugotumėte arba nuskaitytumėte konfigūraciją ir gautumėte išmatuotos temperatūros vertę.

    Adresas I2C LM75 bazė yra 0B01001XXX ir, kaip paaiškinta aukščiau, yra papildyta paskutiniais trimis adreso bitais, kuriuos nustato aparatinė įranga su kaiščiais A0, A1 ir A2 aukštu (viena reikšmė) arba žemu (nulio reikšmė).

    LM75 kaip termometras

    Registras, kuriame saugoma paskutinė išmatuota temperatūra (TEMP), yra adresu 0x00, konfigūracijos registras (CONF) yra adresu 0x01, registras, kuriame saugoma temperatūra isterezė adresu 0x02, o maksimali arba per didelė temperatūra (TOS) turi adresą 0x03. Išskyrus esamą temperatūrą (TEMP), visi jie veikia kaip skaitymas ir rašymas.

    Naudojant keletą kodų pavyzdžių, sukurtų Arduino (tapo beveik visuotine nuoroda) LM75 veikimą galima patikslinti. Pats paprasčiausias naudingas pavyzdys yra naudoti LM75 kaip termometrą, nuskaitant paskutinės išmatuotos temperatūros įrašą.

    Procesas yra įprastas dirbant su įrenginiu I2C:

    1. Pridėti biblioteką I2C prie kodo su #include <Wire.h>
    2. Inicijuoti biblioteką I2C naudojant Wire.begin();
    3. Pasiekite LM75 temperatūros jutiklį naudodami Wire.beginTransmission(DIRECCION_LM75)
    4. Siųskite registro, prie kurio prisijungėte, adresą Wire.write(REGISTRO)
    5. Atleiskite autobusas I2C su Wire.endTransmission()
    6. Iš naujo pasiekite LM75
    7. Paprašykite registro vertės su Wire.requestFrom(DIRECCION,CANTIDAD)
    8. Patikrinkite, ar duomenys buvo gauti naudojant Wire.available()
    9. Perskaitykite prašomą vertę Wire.read() (tiek kartų, kiek baitų sudaro)
    10. Nors tai nėra būtina, baigę atleiskite autobusas I2C

    Be įprasto informacijos gavimo arba saugojimo įrenginio žurnaluose protokolo naudojant autobusas I2C, norint išnaudoti LM75 teikiamus duomenis, būtina atsižvelgti į formatą, kuriuo jis viduje rodo temperatūrą.

    LM75 temperatūros įrašuose saugomos vertės gavimas

    Ankstesnio pavyzdžio kodo 22 eilutėje galite pamatyti, kaip įkelti informaciją, saugomą trijuose LM75 temperatūros registruose. Jis naudoja du baitus (16 bitų), iš kurių galioja tik 11 reikšmingiausių bitų. Norėdami nuskaityti temperatūrą kaip sveikąjį skaičių (su užkoduotu ženklu dviejų papildymas) į kintamąjį pirmiausia įkeliamas reikšmingiausias baitas int de Arduino ir jis pasuktas 8 bitais į kairę, paliekant jį svarbiausioje dalyje int. Tada antrasis baitas nuskaitomas ir pridedamas prie kintamojo. int su ARBA operacija

    LM75 pakrautos temperatūros vertės aiškinimas

    24 eilutėje galite pamatyti, kaip interpretuoti temperatūros reikšmę. Visų pirma, reikia padalyti iš 32 kaip sveiką skaičių (pasukti atitinkamus 11 bitų neprarandant ženklo) ir padalinti iš 8, tai yra „žingsnių“, kuriais atvaizduojama temperatūra, skaičius (laipsnio oktavos) gauti tipo reikšmę float su atitinkamais dešimtainiais skaičiais. Kadangi kompiliatoriai (įskaitant įrankių grandinė de Arduino) optimizuoti sveikųjų skaičių padalijimą iš 32, nebūtina išsaugoti ženklo ir „rankiniu būdu“ sukti bitų, nes operacija nėra (apčiuopiamai) greitesnė.

    Patikrinkite duomenų priėmimą iš I2C magistralės

    Nors ankstesnis kodas veiks be problemų, nepaisant to, kad nepatikrinsite, ar įrenginio prašomi duomenys atkeliavo. autobusas I2C, ortodoksiausia (ir patartina) yra palaukti, kol atkeliaus atitinkamas skaičius duomenų. Kadangi perdavimo greitis ir atsparumas klaidoms yra daugiau nei pakankami, įprasta rasti kodą, kuriame duomenų tiesiog prašoma ir nuskaitoma nelaukiant. Pavyzdžiams naudinga tai padaryti taip, nes jie neatitraukia dėmesio nuo pagrindinės intencijos, tačiau gaminant kodą patartina tai padaryti taip, kaip siūloma komunikacijos proceso sąrašo septintame punkte. I2C. Šiame pavyzdyje pateiktas kodas pabrėžia rekomenduojamus pakeitimus, kad būtų galima naudoti LM75 eksploatavimo etape.

    Konfigūruokite LM75 veikimą

    Paprasčiausią LM75 konfigūraciją sudaro maksimalios temperatūros nustatymas, kad būtų generuojamas įspėjimas ir isterezė, kuris nustatys, kada jis bus išjungtas ir gali būti kartojamas. Norėdami sukonfigūruoti šias reikšmes, tereikia jas išsaugoti atitinkamuose registruose.

    Kaip ir dabartinis temperatūros rekordas, maksimali (įspėjamoji) temperatūra ir isterezė Jie naudoja du baitus, tačiau skirtingai nei pirmieji, jie atsižvelgia ne į 11 bitų (aštuntą laipsnio), o į 9 (pusę laipsnio), todėl, net jei būtų saugoma mažesnė reikšmė, būtų atsižvelgiama tik į šios skiriamosios gebos intervalus.

    Kadangi ankstesniame kode keičiama tik su įspėjimu susijusių temperatūrų konfigūracija, likusios operacijos dalis atitinka numatytąją konfigūraciją.

    Šioje numatytojoje konfigūracijoje yra svarbios dvi charakteristikos, pirma, įspėjimo režimas, pagal numatytuosius nustatymus vadinamas "termostato režimu", kurį sudaro įspėjimo įjungimas, kai pasiekiama maksimali temperatūra (arba įspėjimas), o ne išjungimas, kol nukris iki temperatūra isterezė. Alternatyva yra „pertraukimo režimas“, kai signalas įjungiamas, kai jis viršija maksimumą arba kai pasiekia mažesnę reikšmę nei isterezė ir nustatoma iš naujo nuskaitant bet kokį įrašą, paprastai dabartinę temperatūrą.

    Antroji charakteristika yra ta, kad įspėjamasis signalas įjungiamas žemu lygiu, tai yra, OS kaištis yra aukšto lygio, kol pasiekiama maksimali įspėjimo temperatūra. Kadangi įspėjamojo signalo poliškumas (lygis, kuriuo jis įjungiamas) yra konfigūruojamas, kai kuriuose paprastuose įrenginiuose pakaks naudoti šį signalą (aparatinę įrangą), kad būtų galima išnaudoti LM75, pavyzdžiui, prijungiant arba atjungiant ventiliatorių, kai sistema pasiekia tam tikrą temperatūrą.

    Taip pat galima sukonfigūruoti LM75 veikimą taip, kad jis neperspėtų iš karto pasiekęs perspėjimo temperatūrą, o tai padarytų po kelių incidentų. Šis elgesys labai naudingas dirbant esant ribinei temperatūrai arba kai ji labai greitai kinta. LM75 gali būti sukonfigūruotas taip, kad perspėtų vieną, du, keturis ar šešis kartus viršijus maksimalią temperatūrą.

    Konfigūracijos registre taip pat yra šiek tiek deaktyvuoti ("išjungti") LM75 ir pereiti į mažo suvartojimo režimą, iš kurio išeinama dar kartą pakeitus šį bitą arba tiesiog nuskaitant kitą registrą.

    Rašyti komentarą

    Galbūt praleidote