Sensor suhu I2C LM75

Sensor suhu I2C LM75

Sensor suhu I2C LM75

LM75 I2C Sensor Suhu Termometer bus I2C

Daftar Isi

    Prinsip operasi

    El IC LM75 adalah sensor suhu celah pita semikonduktor silikon.

    Dalam semikonduktor, band terlarang Ini adalah zona energi elektron yang tidak dapat ditingkatkan dengan peningkatan medan listrik karena tidak ada keadaan yang dapat bergerak lebih cepat. Ini band terlarang termasuk di antara pita valensi (energi lebih rendah) dan pita konduksi (energi lebih tinggi). Eksitasi termal (peningkatan suhu, untuk tujuan yang kita minati) dapat menyebabkan beberapa elektron memperoleh energi yang cukup untuk masuk ke dalam elektron. pita konduksi.

    Seperti yang telah dijelaskan pada artikel sebelumnya tentang pengukuran suhu elektronik, pada logam, walaupun jumlah pembawa tidak bergantung pada suhu (semua elektron selalu tersedia), mobilitasnya dipengaruhi oleh suhu, sehingga hambatan pada logam meningkat seiring dengan suhu karena menurunnya kecepatan elektron akibat peningkatan mereka agitasi termal dan hamburan elektron yang dihasilkannya.

    Dalam kasus semikonduktor, karena adanya hal ini band terlarang Jumlah pembawa bergantung pada suhu (tergantung pada suhu). Distribusi Fermi – Dirac) menyebabkan konduktivitas meningkat seiring suhu. Dalam semikonduktor, peningkatan suhu menghasilkan peningkatan resistensi tetapi juga menghasilkan peningkatan konduktivitas (lebih lanjut).

    Los sensor suhu celah pita semikonduktor silikon, seperti halnya LM75, bekerja berdasarkan prinsip ini, memungkinkan suhu ditentukan dengan mengukur pengaruhnya terhadap tegangan dalam dioda silikon.

    Komponen Perangkat Keras LM75

    LM75 juga memiliki konverter analog-digital dengan modulasi Sigma-Delta yang bertanggung jawab untuk memperoleh nilai numerik (digital) suhu, nilai yang selanjutnya disimpan (setiap 100 ms) di salah satu registernya yang dapat dibaca melalui bus I2C.

    Sensor suhu LM75 I2C. Diagram sederhana dari blok operasi

    Selain register yang berisi suhu terukur, LM75 juga memiliki register yang dapat menyimpan suhu maksimum serta komparator yang mampu menghasilkan sinyal jika suhu terukur melebihi yang disimpan pada register kedua ini. Agar tidak meluncurkan peringatan lagi hingga suhu yang diukur turun di bawah tingkat tertentu, register ketiga memungkinkan penyimpanan nilai suhu histeresis.

    Konfigurasi operasi LM75 disimpan dalam register keempat yang menentukan kondisi di mana peringatan dihasilkan, cara meluncurkan sinyal peringatan ini (mode interupsi atau mode perbandingan) serta aktivasi perangkat (mode). .operasi normal atau konsumsi rendah) di antara parameter lainnya.

    Spesifikasi teknis dan implementasi LM75

    Kisaran suhu yang mampu diukur oleh LM75 bervariasi dari −55 °C hingga +125 °C dan resolusi numeriknya adalah 0.125 °C meskipun presisinya hanya ±2 °C dalam kasus terbaik, ketika suhu berada di antara − 25 °C dan +100 °C dan akurasi ±3 °C dengan suhu paling ekstrim, antara −55 °C dan +125 °C.

    LM75. Sensor suhu I2C. Pinout

    Implementasi (hardware) LM75 dalam suatu rangkaian sangat sederhana, tidak memerlukan komponen lebih banyak dari pada resistor tarik ke atas itu bis I2C dan dapat diberi daya dengan tegangan antara 2,8 V dan 5,5 V. Sama bis I2C Hingga delapan termometer LM75 dapat diatur dengan mengonfigurasi alamatnya pada tiga pin A0, A1, dan A2 pada level tinggi atau rendah, seperti biasa dalam kasus ini.

    LM75. Sensor suhu I2C. Sirkuit aplikasi

    Di sisi lain, penggunaan LM75 sebagai probe tidak nyaman karena paket yang disajikan, TSSOP (TSSOP 8) Atau DETIK (SO8) dan biasanya digunakan untuk mengukur suhu lingkungan atau untuk mengukur suhu komponen-komponen yang tersusun dalam lingkungan tersebut PCB dimana termometer LM75 berada.

    Saat startup, LM75 dikonfigurasi untuk mendeteksi suhu maksimum +80°C, suhu histeresis +75 °C dan mode pengoperasian komparator, yaitu mode yang mengemulasikan pengoperasian termostat: mengaktifkan peringatan ketika suhu maksimum tercapai dan hanya jika suhu turun di bawah suhu histeresis Membuat ulang pemberitahuan.

    Eksploitasi LM75 dari mikrokontroler melalui bus I2C

    Berkat penggunaan bis I2C Pengoperasian LM75 sangat sederhana, cukup akses alamat yang ditempati di bus untuk menyimpan atau membaca konfigurasi dan mendapatkan nilai suhu yang diukur.

    Alamatnya I2C basis LM75 adalah 0B01001XXX dan dilengkapi, seperti dijelaskan di atas, dengan tiga bit alamat terakhir yang diatur oleh perangkat keras dengan pin A0, A1 dan A2 tinggi (nilai satu) atau rendah (nilai nol).

    LM75 sebagai termometer

    Register yang menyimpan suhu terakhir yang diukur (TEMP) terletak di alamat 0x00, register konfigurasi (CONF) berada di alamat 0x01, register yang menyimpan suhu histeresis di alamat 0x02 dan maksimum atau suhu berlebih (TOS) memiliki alamat 0x03. Kecuali suhu saat ini (TEMP), semuanya berfungsi sebagai baca dan tulis.

    Menggunakan beberapa contoh kode yang dikembangkan untuk Arduino (yang hampir menjadi referensi universal) pengoperasian LM75 dapat diperjelas lebih lanjut. Contoh paling mendasar yang berguna adalah menggunakan LM75 sebagai termometer dengan membaca catatan suhu terakhir yang diukur.

    Prosesnya seperti biasa saat bekerja dengan perangkat I2C:

    1. Tambahkan perpustakaan I2C ke kode dengan #include <Wire.h>
    2. Inisialisasi perpustakaan I2C menggunakan Wire.begin();
    3. Akses sensor suhu LM75 menggunakan Wire.beginTransmission(DIRECCION_LM75)
    4. Kirim alamat registri yang diakses menggunakan Wire.write(REGISTRO)
    5. Lepaskan bis I2C dengan Wire.endTransmission()
    6. Akses kembali LM75
    7. Minta nilai registri dengan Wire.requestFrom(DIRECCION,CANTIDAD)
    8. Verifikasi bahwa data telah diterima menggunakan Wire.available()
    9. Baca nilai yang diminta Wire.read() (sebanyak byte yang dibuatnya)
    10. Meski tidak penting, setelah selesai lepaskan bis I2C

    Selain protokol biasa untuk memperoleh atau menyimpan informasi dalam log perangkat menggunakan bis I2C, untuk memanfaatkan data yang disediakan LM75, perlu mempertimbangkan format yang mewakili suhu internalnya.

    Memperoleh nilai yang disimpan dalam catatan suhu LM75

    Pada baris 22 kode pada contoh sebelumnya Anda dapat melihat cara memuat informasi yang disimpan oleh tiga register suhu LM75. Ia menggunakan dua byte (16 bit) yang hanya 11 bit paling signifikan yang valid. Untuk membaca suhu sebagai bilangan bulat (dengan tanda yang dikodekan pelengkap dua) byte paling signifikan dimuat terlebih dahulu ke dalam variabel int de Arduino dan diputar 8 bit ke kiri, meninggalkannya di bagian paling signifikan int. Byte kedua kemudian dibaca dan ditambahkan ke variabel. int dengan operasi OR

    Interpretasi nilai suhu yang dimuat pada LM75

    Pada baris 24 Anda dapat melihat cara menginterpretasikan nilai suhu. Pertama-tama, Anda perlu membaginya dengan 32 sebagai bilangan bulat (memutar 11 bit yang relevan tanpa kehilangan tandanya) dan membaginya dengan 8, yang merupakan jumlah "langkah" yang mewakili suhu (oktaf satu derajat) untuk mendapatkan nilai tipe float dengan desimal yang sesuai. Sejak kompiler (termasuk toolchain de Arduino) mengoptimalkan pembagian bilangan bulat dengan 32, tidak perlu mempertahankan tanda dan memutar bit "secara manual", karena operasinya tidak (jauh) lebih cepat.

    Verifikasi penerimaan data dari bus I2C

    Meskipun kode sebelumnya akan berfungsi tanpa masalah meskipun tidak memverifikasi apakah data yang diminta perangkat telah tiba. bis I2C, hal yang paling ortodoks (dan disarankan) adalah menunggu data tiba dalam jumlah yang sesuai. Karena kecepatan transmisi dan ketahanan terhadap kesalahan lebih dari cukup, biasanya ditemukan kode yang datanya hanya diminta dan dibaca tanpa menunggu. Untuk contoh-contohnya ada gunanya melakukannya dengan cara ini karena tidak mengganggu maksud utama tetapi untuk kode produksi disarankan untuk melakukannya seperti yang disarankan pada poin ketujuh dari daftar proses komunikasi. I2C. Kode dalam contoh berikut menyoroti perubahan yang disarankan untuk menggunakan LM75 dalam fase eksploitasi.

    Konfigurasikan pengoperasian LM75

    Konfigurasi paling dasar dari LM75 terdiri dari penetapan suhu maksimum untuk menghasilkan peringatan dan histeresis, yang akan menentukan kapan dinonaktifkan dan dapat diulang. Untuk mengonfigurasi nilai-nilai ini Anda hanya perlu menyimpannya di register yang sesuai.

    Seperti catatan suhu saat ini, suhu maksimum (peringatan) dan histeresis Mereka menggunakan dua byte tetapi tidak seperti yang pertama, mereka tidak mempertimbangkan 11 bit (seperdelapan derajat) tetapi 9 (setengah derajat) sehingga, meskipun nilai yang lebih kecil disimpan, hanya interval resolusi ini yang akan dipertimbangkan.

    Karena pada kode sebelumnya hanya konfigurasi suhu yang terkait dengan peringatan yang diubah, operasi selanjutnya sesuai dengan konfigurasi default.

    Dalam konfigurasi default ini terdapat dua karakteristik yang relevan, pertama mode peringatan, secara default disebut "mode termostat" yang terdiri dari mengaktifkan peringatan ketika suhu (atau peringatan) maksimum tercapai dan tidak menonaktifkannya hingga lebih rendah ke suhu suhu histeresis. Alternatifnya adalah "mode interupsi", di mana sinyal diaktifkan ketika melebihi nilai maksimum atau ketika mencapai nilai yang lebih rendah dari nilai maksimum. histeresis dan diatur ulang dengan membaca catatan apa pun, biasanya suhu saat ini.

    Ciri kedua adalah sinyal peringatan diaktifkan pada level rendah, yaitu pin OS berada pada level tinggi hingga suhu peringatan maksimum tercapai. Karena polaritas sinyal peringatan (tingkat pengaktifannya) dapat dikonfigurasi, dalam beberapa instalasi sederhana cukup menggunakan sinyal ini (perangkat keras) untuk mengeksploitasi LM75, misalnya, menyambungkan atau melepaskan kipas saat sistem mencapai suhu tertentu.

    Dimungkinkan juga untuk mengkonfigurasi pengoperasian LM75 sehingga tidak memberikan peringatan segera setelah mencapai suhu peringatan tetapi memberikan peringatan setelah beberapa insiden. Perilaku ini sangat berguna ketika bekerja pada batas suhu atau ketika suhu berubah dengan sangat cepat. LM75 dapat dikonfigurasi untuk memperingatkan setelah melebihi suhu maksimum satu, dua, empat atau enam kali.

    Pada register konfigurasi juga terdapat bit untuk menonaktifkan ("mematikan") LM75 dan memasuki mode konsumsi rendah, yang keluar dengan mengubah bit ini lagi atau cukup dengan membaca register berikutnya.

    Anda mungkin melewatkannya