21-Pic- LM 35 DZ Isı Sensörü

LM35: National firması tarafından üretilenLM35 sıcaklık sensörü, analog tipte olup °C derece başına 10 mili volt gerilim üretir. Yani, sıcaklığın her 1°C artışına karşılık, çıkış gerilimi 10mV artar. Örneğin, 20°C için çıkış gerilimi 200mV iken, 100°C için çıkış gerilimi 1V’dur. LM35 sıcaklık sensörünün pek çok tipi vardır. Her bir modelin sıcaklık ölçüm aralığı ve doğruluğu farklıdır. Örneğin, LM35DZ adlı sensör, 0°C ile 100°C arasındaki sıcaklıkları ölçer ve son derece doğrusal bir karakteristiğe sahiptir. Fiyatı ucuz olduğundan ve kolayca temin edilebildiğinden dolayıçoğu sistemde bu sensör tercih edilir. LM35DZ sıcaklık sensörünün bacak bağlantıları Şekil 2’de  görülmektedir [2].

Devre üzerinde bulunan LM35 sensörü dışarıdan algılanan sıcakdeğerini doğrudan kullanamaz. Çünkü bu sensor her 1dereceye karşılık 10mVanalog sinyal üretir. Bu üretilen sinyal PIC mikro denetleyicinin A0 portundan alınır ( A veya E portu olabilir). Bu alınan değer PIC 16F877 içerisinde bulunan ADC devresi tarafından sayısala dönüştürülür.  Sayısala çevirme için bir referans gerilimine ihtiyaç duyulur. Bu gerilim PIC16F877 veya PIC16f628 kullanılarak yada harici bir kaynaktan sağlanabilir. Harici kaynak kullanıldığında katsayı hesaplanmasında dikkatli olunmalıdır. 

PIC16F877 veya PIC16f628 ADC işlemi yapmasından dolayı çok tercih edilen mikrokontrollerdir.


Lm35 ile adc işlemi yapma

Bu programda üç basamaklı sayı binary(ikilik) olarak alınıp, desimal(onlu) sayıya çevrilmiştir. Bunun için basamakla alt programı kullanılmıştır. Ayrıca adc işleminden okunan sayı küçük hassasiyet hatası da olsa basit bir yöntemle bol adındaki alt programla sayı bir kaydırılarak değer bulunmuştur. Programda birçok işlem aynı anda yapılmıştır.Burada dikkat edilmesi gereken durum şudur yaklaşık 5mV 1 sayısına karşılık gelmektedir. Bizim için 1 derece 10mV karşılık gelmektedir. Yani 10mV için 2 sayısı karşılık gelir. Bizim ölçtüğümüz değer iki kat olacaktır. Yani 20oC için 40 değerini okuruz. Bunu ise bir defa sağa kaydırma işlemi ile düzeltebiliriz.

Bunlar;

  • İkilik sayının desimal(onlu) sayıya çevrilmesi

  • Üç adet 7 parçalı ekran kullanma

  • Sayılar için çevrim tablosunun kullanılması

  • Gecikme alt programı

  • ADC işlemi yapma 

  • ADC işleminin sonucunu okuma 

INCLUDE "P16F877.INC"


YKS EQU H'20'

DSK EQU H'21'

S1 EQU H'22'

S10 EQU H'23'

S100 EQU H'24'

SAYI EQU H'25'

SAYAC1 EQU H'26'

SAYAC2 EQU H'27'

SAYAC3 EQU H'28'


;******************************

BSF STATUS,5

CLRF TRISB

CLRF TRISC

CLRF TRISD

MOVLW H'01'

MOVWF TRISA

MOVLW H'8E'

MOVWF ADCON1

BCF STATUS,5

MOVLW H'41'

MOVWF ADCON0

CEVIR

BSF ADCON0,2

BEKLE

BTFSC ADCON0,2

GOTO BEKLE

MOVF ADRESH,0

MOVWF YKS

BSF STATUS,5

MOVF ADRESL,0

BCF STATUS,5

MOVWF DSK

CALL BOL

CALL BASAMAK


; MOVF DSK,0

; MOVWF PORTB

;******************1 LER BASAMAGI

MOVF S1,0

CALL TABLO

MOVWF PORTD

;*****************10 LAR BASAMAĞI

MOVF S10,0

CALL TABLO

MOVWF PORTC

CALL ZAMAN

GOTO CEVIR

;******************************* SAYIYI 2 YE BOL

BOL

BCF STATUS,0

RRF DSK,1

RETURN



;************************* SAYIYI BASAMKLARA AYIR

BASAMAK

CLRF S1

CLRF S10

CLRF S100

MOVF DSK,0

; MOVLW D'247'

MOVWF SAYI

;**************************************

TEKRAR

;**************************************

INCF S1,1

MOVLW d'10'

SUBWF S1,0

BTFSS STATUS,2

GOTO DEVAM

;*****************************

CLRF S1

INCF S10,1

MOVLW D'10'

SUBWF S10,0

BTFSS STATUS,2

GOTO DEVAM

;****************************

CLRF S10

INCF S100

DEVAM

;********************************************

DECFSZ SAYI,1

GOTO TEKRAR

;******************************************

RETURN


;********TABLO*********


TABLO

ADDWF PCL,1;

RETLW 3FH;0

RETLW 06H;1

RETLW 5BH;2

RETLW 4FH;3

RETLW 66H;4

RETLW 6DH;5

RETLW 7DH;6

RETLW 07H;7

RETLW 7FH;8

RETLW 6FH;9

RETLW 77H;A

RETLW 7CH;B

RETLW 39H;C

RETLW 5EH;D

RETLW 79H;E

RETLW 71H;F


;******************************

ZAMAN MOVLW D'200'

MOVWF SAYAC1

TIMER1 MOVLW D'100'

MOVWF SAYAC2

TIMER2

MOVLW D'100'

MOVWF SAYAC3

TIMER3

DECFSZ SAYAC3,F

GOTO TIMER3

DECFSZ SAYAC2,F

GOTO TIMER2

DECFSZ SAYAC1,F

GOTO TIMER1

RETURN

END



Kaynaklar

[1] Bil386 Mikrobilgisayarlı Sistem Tasarımı

[2] http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/5/5.pdf   (Haziran 2007)

[3] www.datasheetcatalog.com/datasheets_pdf/L/M/3/LM35DZ.shtml (Mayıs 2007)

[4] www.microchip.com


Yorumlar