Sensörler ve Mikroişlemciler – 3
Analog-Dijital çevirici ve mikroişlemci kullanarak bir adım daha ileri giderek sıcaklık ölçümü nasıl yapılır?
Sevgili okurlar size geçen ay Analog Dijital Dönüştürücü kullanarak üç dirençle nasıl voltaj sensörü oluşturur ve nasıl PIC ile birleştirerek batarya voltajı gibi +5V üzeri voltajları okuruz, picbasic pro programlama örnekleriyle anlatmaya çalışmıştım.
Bu ay ise gene analog dijital çevirici ve mikroişlemci kullanarak bir adım daha ileri giderek sıcaklık ölçümü gerçekleştireceğiz. Sıcaklık ölçümünü gerçekleştirmek için özel bir sensöre ihtiyacımız olacak. Bu amaçla LM35 sıcaklık sensörünü kullanacağız.
LM35 National Semiconductor firmasının bir ürünü.Bu sensör piyasada kolaylıkla bulunabilecek en hassas ve ucuz senörlerden biri.
LM35’in özelliklerini içeren datasheet indirebilirsiniz.
LM35 –50 ile +150 dereceler arasında ölçüm yapabilmektedir. Ölçüm hassasiyeti her 10mV/C yani her bir derece yükselmeye karşılık analog volatj çıkışı 10mV artar.Bu durumda eğer 25 santigrad oda sıcaklıgını ölçmek istersek LM35 çıkışında 250 mV okuruz.
Şimdi diyelimki PIC kullanıyoruz ve 8 bitlik ADC kullanmaya karar verdik. Vref yani ADC referans karşılaştırma voltajımızda 5 volt olsun.Bu durumda bir evvelki yazımızdan hatırlayacağınız gibi 5volt /8 bit yani 255 = 0.016 volt =19.6 mV olur. Şimdi 25 dereceye karşılık sensörümüz 250 mV üretti. 19.6 mV yerine hesap kolaylığı açısından 20 mV’a yuvarlarlayalım. 250mV / 20 bize yaklaşık olarak yaklaşık 12.5 sayısını verir.Bunu 2 ile çarparsak 25 sayısını yani oda sıcaklığını ölçmüş oluruz.
Peki diyelim ki oda sıcaklğımız 0.5 derece arttı bu durumda LM35 çıkışından 255 mV verdi.Bunu 20,ye böldük 255/20 = 12.75 bulunur.Ondalık işlem aritmetigi yapmadığından işlemci bunu 13 sayısına yuvarlar. Bu durumda 13 * 2 = 26 sayısı bize oda sıcaklığını verir.
Dikkat ederseniz ölçme hassasiyetimiz 1 derece ile sınırlı.Yani 25.5 derece olursa ortam biz bunu ya 26 derece yada 25 derece okuruz bu 5volt refereans ve 8 bitlik ADC resolusyonu ile elde edebileceğimiz en yüksek hassasiyettir. .
Peki daha hassas okumalar için ne yapmalıyız. İki şey yapabiliriz.ya Vref voltajımızı düşürürüz böylece hassasiyetimiz artar. Yada ADC resolusyonumuzu arttırız. PIC içindeki ADC 8 bit veya 10 bit olarak kullanılabilir.Vref voltajını düşürmek dışarıdan ekstra malzeme eklenmesi anlamına gelir.Benim felsefem genellikle az hırdavat bol softavattır! Yani PIC içinde olayı çözmek daha masrafsız bir çözüm.
Şimdi gene Vref voltajımız 5 Volt olsun.Bu durumda 10 bit bize ne kazandırır? Full skalada 5Volt/10 bit yani 1024 = 4.88 mV olur yani yuvarlarsak 5mV. Dikkat ederseniz full skala resolusyonumuz 4 kat arttı. Bu da bize 4 kat daha hassas okuma yapmamızı saglar.
Şimdi oda sıcaklığımız 25.5 derece olsun ve LM35 255 mV analog voltajı çıkış bacağından iletir PIC’e. PIC bu voltajı aldı 255mV/5 = 51 decimal sayısı olarak okudu Analog dijital dönüştürücüsü vasıtasıyla.
Bunu gerçek oda sıcaklığı değerine dönüştürmek artık kolay 51 * 5 = 255 olur. Gerisi artık gösterme süslemesinden öte değildir. 255 sayısını alır hanelerine parçalarız. 2 5 5 gibi daha sonra diyelim ki LCD göstergede kullanacağız. 25.5 DERECE gibi gösterebiliriz.
Gelecek ay bu ayın teorisini pratik bir devrede,LCD li bir oda sıcaklık temometresinde birleştireceğiz.
Başarılar,
Barbaros