1.Amaç

Bu belgenin amacı STM hal kütüphanesi yardımı ile LM75 sıcaklık sensörünü kontrol etmek ve entegre hakkında bilgiler vermektir.

2.LM75 Sıcaklık Entegresi

LM75 sıcaklık entegresi ortam sıcaklığını I2C üzerinden iletebilen bir entegredir. Sıcaklık hassasiyeti 0.125 C. Ayrıca OS çıkışı comparator ya da interrupt modlarına göre kullanılır. Comparator modunda IC daha öncesinden ayarlanan aşırı sıcaklık seviyesini aşar ise OS çıkışını aktif yapar. Yine daha öncesinden ayarlanmış hysteresis değerinin altına inerse pasif yapar. Aktif ya da pasifik 1 ya da 0 olarak yorumlanmamalı. Çünkü entegrenin kontrol registeri ile OS çıkışı default olarak HIGH ya da LOW olarak ayarlanabilir. Eğer HIGH yapılmış ise aşırı sıcaklık değerinin üzerinde LOW ‘a çekiliyor. Ayrıca OS çıkışı her ne kadar direk çıkış olarak görülse de entegrenin iç yapısına baktığımızda OPEN-DRAIN olarak kullanıldığını görüyoruz. Dolayısı ile open-drain üzerinden çıkış aktif ya da pasif olur.  Aşağıdaki resmi inceleyebiliriz.

3.LM75 Registerları Ve Açıklamaları

LM75 kontrol registerine yazılan değerler ile farklı şekilde çalışması sağlanır. Aşağıdaki resimde tüm registerlar ve adresleri görülmektedir.

3.1.Temperature Register

Temperature registeri entegrenin ortam sıcaklığını sakladığı alandır. I2C üzerinden bu alanı okuyarak ortam sıcaklığı bilgisine ulaşılır. Entegre shutdown modunda bu alanı yenilemez, o yüzden güncel sıcaklık bilgisine ulaşmak için entegrenin shutdown modundan çıkarılması gerekir.

3.2.Configuration Register

Entegrenin çalışma modları ve diğer ayarları bu register üzerinden değiştirilir. Aşağıda hangi bitinin ne anlama geldiği açıklanmıştır.

[BO]: 0 ise 100 ms de bir ölçüm yapar ve temperature register bu değer yazılır.
  1 ise ölçüm yapmaz ve temperature register ölçüm yapılan en son değerde kalır. Min akım çeker.

[B1]: 0 ise aşırı sıcaklık değeri aşıldığında OS aktif olur ve hysteresis değerinin altına inildiğinde tekrardan OS pasif olur.
         1 ise aşırı sıcaklık değeri aşıldığında OS aktif olur ve entegrenin herhangi bir registeri okunana kadar bu çıkış bu şekilde kalır. Ayrıca sıcaklık hysteresis altına inince de OS aktif olur ve entegrenin herhangi bir registeri okunana kadar bu çıkış bu şekilde kalır.

[B2]: 0 ise OS çıkışı başlangıç olarak LOW durumunda olur. (OPEN DRAIN yapısını unutmamak gerekir.)
      1 ise OS çıkışı başlangıç olarak HIGH durumunda olur.

[B3-4]: Bu alana yazılacak değer hata sayısını belirler. Sıcaklık ölçümünde sıcaklığın kaç defa aşırı sıcaklığın üzerinde görülmesinde OS çıkışının aktif edileceğini belirler. Örneğin 4 seçilir ise entegre 4 defa aşırı sıcaklık üzerinde ölçüm yapması sonrası OS aktif yapar. Bu sayede gürültü ya da ani değişimleri filtreler

3.3.Hysteresis Register

Aşırı sıcaklık durumundan sonra sıcaklığın hangi değerin altına inmesi sonrasında OS çıkışının kapatılacağını belirler. Bu sebeple hysteresis değeri aşırı sıcaklık değerinden küçük olmalıdır.

3.4.Overtemperature Register

Aşırı sıcaklık değerini içeren registerdir.

LM75′ i STM’ in HAL_I2C ile kontrol eden driver kodlarına bu linkten ulaşabilirsiniz.

bicycle holland ile ilgili görsel sonucu