I2C sıcaklık sensörü LM75

I2C sıcaklık sensörü LM75

I2C sıcaklık sensörü LM75

LM75 I2C Sıcaklık Sensörü Termometre I2C veri yolu

İçindekiler

    Çalışma prensibi

    El IC LM75 bir silikon yarı iletken bant aralığı sıcaklık sensörü.

    Yarı iletkenlerde, yasak bant Daha hızlı hareket edebilecek durumlar olmadığından, elektrik alanındaki artışla artırılamayan elektronların enerji bölgesidir. Bu yasak bant arasında yer alır değerlik bandı (düşük enerji) ve sürüş bandı (daha yüksek enerji). Termal uyarılma (ilgilendiğimiz amaçlar doğrultusunda sıcaklığın artması), bazı elektronların enerjinin ortama geçmesine yetecek kadar enerji kazanmasına neden olabilir. sürüş bandı.

    Konuyla ilgili önceki makalede açıklandığı gibi elektronik sıcaklık ölçümümetallerde taşıyıcı sayısı sıcaklığa bağlı olmasa da (tüm elektronlar her zaman mevcuttur), hareketlilikleri sıcaklıktan etkilenir, böylece elektronların hızının azalması nedeniyle metallerdeki direnç sıcaklıkla artar. onların artışı termal çalkalama ve ürettiği elektronların saçılması.

    Yarı iletkenler söz konusu olduğunda bunun varlığı nedeniyle yasak bant Taşıyıcıların sayısı sıcaklığa bağlıdır (bağlı olarak) Fermi-Dirac dağılımı) iletkenliğin sıcaklıkla artmasına neden olur. Yarı iletkenlerde artan sıcaklık, dirençte bir artışa neden olur, ancak aynı zamanda iletkenlikte (daha fazla) bir artışa da neden olur.

    Jardines de Viveros silikon yarı iletken bant aralığı sıcaklık sensörleriLM75'te olduğu gibi, bu prensibe göre çalışır ve sıcaklığın silikon diyottaki voltaj üzerindeki etkisinin ölçülmesiyle belirlenmesine olanak tanır.

    LM75 Donanım Bileşenleri

    LM75 ayrıca bir Sigma-Delta modülasyonuyla analog-dijital dönüştürücü sıcaklığın sayısal (dijital) değerinin elde edilmesinden sorumludur; bu değer daha sonra (her 100 ms'de bir) veri yolu aracılığıyla okunabilen kayıtlarından birinde saklanır I2C.

    LM75 I2C sıcaklık sensörü. Çalıştırma bloklarının basitleştirilmiş diyagramı

    Ölçülen sıcaklığı içeren kayıt defterine ek olarak LM75, maksimum sıcaklığın depolanabileceği bir kayıt defterine ve ayrıca ölçülen sıcaklığın bu ikinci kayıtta depolanan sıcaklığı aşması durumunda sinyal üretebilen bir karşılaştırıcıya sahiptir. Ölçülen sıcaklık belirli bir seviyenin altına düşene kadar uyarının tekrar başlamaması için üçüncü bir kayıt, sıcaklığın değerinin saklanmasına olanak sağlar. histerezis.

    LM75 işleminin konfigürasyonu, uyarının oluşturulduğu koşulların, bu uyarı sinyalini başlatma yolunun (kesinti modu veya karşılaştırma modu) yanı sıra cihazın aktivasyonunun (mod) belirlendiği dördüncü bir kayıtta saklanır. diğer parametrelerin yanı sıra normal çalışma veya düşük tüketim).

    LM75'in teknik özellikleri ve uygulaması

    LM75'in ölçebildiği sıcaklık aralığı -55 °C ile +125 °C arasında değişir ve sayısal çözünürlük 0.125 °C'dir, ancak sıcaklık - - arasında olduğunda en iyi durumda hassasiyet yalnızca ±2 °C'dir. 25 °C ve +100 °C ve −3 °C ile +55 °C arasındaki en ekstrem sıcaklıklarda ±125 °C doğruluk.

    LM75. I2C sıcaklık sensörü. Pin yapısı

    LM75'in bir devredeki uygulaması (donanımı) çok basittir, dirençlerden daha fazla bileşene ihtiyaç duymaz çekme del otobüs I2C ve 2,8 V ile 5,5 V arasındaki voltajla çalıştırılabilir. Aynı zamanda otobüs I2C Bu durumlarda genellikle olduğu gibi, adresleri A75, A0 ve A1 üç pimi yüksek veya düşük seviyede yapılandırılarak sekiz adede kadar LM2 termometre düzenlenebilir.

    LM75. I2C sıcaklık sensörü. Uygulama devresi

    Öte yandan LM75’in prob olarak kullanımı, sunulduğu paketler nedeniyle sakıncalıdır, TSBOP (TSSOP8) o SEC (SO8) ve normalde ortam sıcaklığını ölçmek veya cihazın ortamında düzenlenmiş bileşenlerin sıcaklığını ölçmek için kullanılır. PCB LM75 termometrenin bulunduğu yer.

    Başlangıçta, LM75 maksimum +80°C sıcaklığı algılayacak şekilde yapılandırılmıştır. histerezis +75 °C ve karşılaştırıcı çalışma modu, yani bir termostatın çalışmasını taklit eden mod: maksimum sıcaklığa ulaşıldığında ve yalnızca sıcaklığın altına düştüğünde uyarıyı etkinleştirir. histerezis Bildirimi yeniden oluşturur.

    LM75'in bir mikrodenetleyiciden I2C veri yolu aracılığıyla kullanılması

    Kullanımı sayesinde otobüs I2C LM75'in çalışması çok basittir; yapılandırmayı saklamak veya okumak ve ölçülen sıcaklığın değerini elde etmek için veriyolunda bulunduğu adrese erişmeniz yeterlidir.

    Adres I2C LM75'in tabanı 0B01001XXX'tir ve yukarıda açıklandığı gibi, A0, A1 ve A2 pinleri yüksek (bir değer) veya düşük (sıfır değeri) olan donanım tarafından ayarlanan son üç adres biti ile desteklenir.

    Termometre olarak LM75

    Son ölçülen sıcaklığı (TEMP) saklayan kayıt 0x00 adresinde bulunur, konfigürasyon kaydı (CONF) 0x01 adresindedir, sıcaklığı saklayan kayıt ise XNUMXxXNUMX adresindedir. histerezis 0x02 adresinde ve maksimum veya aşırı sıcaklığın (TOS) 0x03 adresi vardır. Mevcut sıcaklık (TEMP) dışında hepsi okuma ve yazma işlevi görmektedir.

    için geliştirilen bazı kod örneklerini kullanma Arduino (neredeyse evrensel bir referans haline geldi) LM75'in çalışması daha da açıklığa kavuşturulabilir. En temel kullanışlı örnek, son ölçülen sıcaklığın kaydını okuyarak LM75'i termometre olarak kullanmaktır.

    İşlem, bir cihazla çalışırken olağan işlemdir I2C:

    1. Kitaplığı ekle I2C olan koda #include <Wire.h>
    2. Kütüphaneyi başlat I2C kullanma Wire.begin();
    3. LM75 sıcaklık sensörüne aşağıdakileri kullanarak erişin: Wire.beginTransmission(DIRECCION_LM75)
    4. Kullanılarak erişilen kayıt defterinin adresini gönderin. Wire.write(REGISTRO)
    5. Bırakın otobüs I2C ile Wire.endTransmission()
    6. LM75'e yeniden erişin
    7. Kayıt defteri değerini şununla isteyin: Wire.requestFrom(DIRECCION,CANTIDAD)
    8. kullanılarak verinin alındığını doğrulayın. Wire.available()
    9. İstenilen değeri okuyun Wire.read() (bayt sayısı kadar)
    10. Çok önemli olmasa da, işiniz bittiğinde serbest bırakın. otobüs I2C

    kullanarak cihaz günlüklerinde bilgi almak veya depolamak için olağan protokole ek olarak otobüs I2CLM75'in sağladığı verilerden yararlanmak için sıcaklığı dahili olarak temsil ettiği formatın dikkate alınması gerekir.

    LM75 sıcaklık kayıtlarında saklanan değerin elde edilmesi

    Önceki örnekteki kodun 22. satırında LM75'in üç sıcaklık kaydı tarafından saklanan bilgilerin nasıl yükleneceğini görebilirsiniz. Yalnızca en önemli 16 bitinin geçerli olduğu iki bayt (11 bit) kullanır. Sıcaklığı bir tamsayı olarak okumak için (işaret kodlanmış olarak) Ikisinin tamamlayıcısı) en anlamlı bayt ilk önce bir değişkene yüklenir int de Arduino ve 8 bit sola döndürülerek dizinin en önemli kısmında bırakılır. int. Daha sonra ikinci bayt okunur ve değişkene eklenir. int VEYA işlemiyle

    LM75'in yüklü sıcaklık değerinin yorumlanması

    24. satırda sıcaklık değerinin nasıl yorumlanacağını görebilirsiniz. Öncelikle 32'ye tamsayı olarak bölmek (ilgili 11 biti işareti kaybetmeden döndürün) ve sıcaklığın temsil edildiği "adım" sayısı olan (bir derecenin oktavı) 8'e bölmek gerekir. türünde bir değer elde etmek için float karşılık gelen ondalık sayılarla. Derleyicilerden bu yana (dahil araç zinciri de Arduino) tam sayı bölümünü 32'ye kadar optimize ettiğinizde, işlem (kayda değer ölçüde) daha hızlı olmadığından, işareti korumak ve bitleri "manuel olarak" döndürmek gerekli değildir.

    I2C veriyolundan veri alımını doğrulayın

    Her ne kadar önceki kod, cihazın istediği verinin gelip gelmediği doğrulanmasa da sorunsuz çalışacaktır. otobüs I2C, en ortodoks (ve tavsiye edilen) şey, verilerin uygun sayıya ulaşmasını beklemektir. İletim hızı ve hatalara karşı dayanıklılık fazlasıyla yeterli olduğundan, verilerin basitçe istendiği ve beklemeden okunduğu kod bulmak yaygındır. Örnekler için bu şekilde yapmak, asıl amaçtan uzaklaşmamaları açısından faydalıdır ancak üretim kodu için, iletişim süreci listesinin yedinci noktasında önerildiği gibi yapılması tavsiye edilir. I2C. Aşağıdaki örnekteki kod, LM75'in kullanım aşamasında kullanılması için önerilen değişiklikleri vurgulamaktadır.

    LM75'in çalışmasını yapılandırma

    LM75'in en temel konfigürasyonu, uyarıyı oluşturmak için maksimum sıcaklığın belirlenmesinden oluşur ve histerezisne zaman devre dışı bırakılacağını ve tekrarlanabileceğini belirleyecektir. Bu değerleri yapılandırmak için bunları yalnızca ilgili kayıtlarda saklamanız gerekir.

    Mevcut sıcaklık kaydı gibi, maksimum (uyarı) sıcaklık ve histerezis İki bayt kullanırlar, ancak ilkinden farklı olarak 11 bit (bir derecenin sekizde biri) yerine 9'u (yarım derece) dikkate alırlar, böylece daha küçük bir değer depolansa bile yalnızca bu çözünürlükteki aralıklar dikkate alınır.

    Önceki kodda yalnızca uyarıyla ilgili sıcaklıkların konfigürasyonu değiştirildiğinden, işlemin geri kalanı varsayılan konfigürasyona karşılık gelir.

    Bu varsayılan konfigürasyonda ilgili iki karakteristik vardır; birincisi, varsayılan olarak "termostat modu" olarak adlandırılan ve maksimum sıcaklığa (veya uyarıya) ulaşıldığında uyarının etkinleştirilmesinden ve sıcaklık sıcaklığının altına inene kadar devre dışı bırakılmamasından oluşan uyarı modudur. sıcaklığı histerezis. Bunun alternatifi, sinyalin maksimum değeri aştığında veya daha düşük bir değere ulaştığında etkinleştirildiği "kesme modu"dur. histerezis ve herhangi bir kaydın (normalde mevcut sıcaklık) okunmasıyla sıfırlanır.

    İkinci özellik ise uyarı sinyalinin düşük seviyede devreye girmesi yani OS pininin maksimum uyarı sıcaklığına ulaşılıncaya kadar yüksek seviyede kalmasıdır. Uyarı sinyalinin polaritesi (etkinleştirildiği seviye) yapılandırılabilir olduğundan, bazı basit kurulumlarda, LM75'ten yararlanmak için bu sinyali (donanımı) kullanmak, örneğin sistem çalışırken bir fanı bağlamak veya bağlantısını kesmek yeterli olacaktır. belli bir sıcaklığa ulaşır.

    LM75'in çalışmasını, uyarı sıcaklığına ulaştıktan hemen sonra uyarı vermeyecek, ancak bunu birkaç olaydan sonra yapacak şekilde yapılandırmak da mümkündür. Bu davranış, sıcaklık sınırında çalışırken veya sıcaklığın çok hızlı değiştiği durumlarda çok faydalıdır. LM75, maksimum sıcaklığın bir, iki, dört veya altı kez aşılması durumunda uyarı verecek şekilde yapılandırılabilir.

    Konfigürasyon kaydında ayrıca LM75'i devre dışı bırakmak ("kapatmak") ve düşük tüketim moduna girmek için bir bit vardır; bu bit tekrar değiştirilerek veya sadece bir sonraki kayıt okunurken çıkılır.

    Yorum Ekle

    Kaçırmış Olabilirsiniz