PIC Analog Karşılaştırıcı Modülünün Kullanılması

 

Elektronik uygulamalarda pek çok yerde analog karşılaştırıcıları kullanırız. Analog Karşılaştırıcı iki voltaj değerini karşılaştırır ve  büyük olan değere göre çıkış verir. Karşılaştırıcılar; akü şarj devrelerinde, Sıfır tespit devrelerinde, endüstriyel sensör devrelerinde vb. pek çok yerde kullanılırlar

PIC Mikrodenetleyicilerin pek çoğunda Analog Karşılaştırıcı Donanım Modülü bulunur. Bu yazımızda bu modülü tanımaya çalışacağız.

Analog Karşılaştırıcı

Şekilde örnek bir karşılaştırıcı devresi görülmektedir. Entegre devre olarak LM393, LM339 gibi karşılaştırıcı entegreler mevcuttur. Ayrıca opamplarla da karşılaştırma yapılabilir.

Devreyi inceleyecek olursak;  karşılaştırıcının (-) girişine iki adet gerilim bölücü dirençle 2.5V voltaj uygulanmaktadır. Bu gerilime Referans gerilimi denir. Çünkü (+) girişine potansiyometre ile uygulanan ayarlı gerilim bu gerilime göre karşılaştırılacaktır.

Karşılaştırma sonucunda ne olur? Karşılaştırıcı (+) girişi büyükse çıkış yaklaşık +5V, (-) giriş büyükse yaklaşık -5V olur. Eğer ikisi de eşitse çıkış 0V olur.(simetrik besleme yapılmışsa) Eğer tek kaynak besleme yapıldıysa eşit ve küçük olma durumlarında çıkış 0V olur.

 PIC Karşılaştırıcı Modülünün Ayarlanması

PIC mikrodenetleyisinde karşılaştırıcı ayarları CMCON kaydedicisi ile yapılır. Karşılaştırıcılar 8 farklı şekilde ayarlanabilir. Aşağıda PIC16F877A mikrodenetleyicisine ait düzenleme tercihleri görülmektedir.

Mode-Selection-of-Comparator-in-PIC-Microcontroller

Not: Her PIC mikrodenetleyicinde aynı düzenleme tercihleri olmayabilir. Datasheetinden kontrol ediniz. Kısaca özetlersek; karşılaştırıcı secimi

Devre şeması

karsilastirici

 MikroC Karşılaştırıcı  Kodları

void main()
{
  CMCON=1; // Sadece 1. karşılaştırıcı ve PORTA çıkışlı
  TRISA=0x0F; // Karşılaştırıcı için PORTA 0,1,2,3 pinleri giriş yapıldı
  TRISC=0; // PORTC çıkış yapıldı
  PORTA=0;
  PORTC=0;
  do
  {
     PORTC=CMCON; //CMCON kaydedicisinin içeriğini PORTC'ye yükle
  }while(1);
}

Proje Proteus Similasyon Videosu

Proje dosyalarına buradan ulaşabilirsiniz.

Karşılaştırıcı Kesmesi (CMInterrupt)

Karşılaştırıcıların çıkışlarında bir değişiklik olduğunda kesme oluşturabilir. Bunun için kesme ayarlarının yapılması gerekir. Aşağıdaki örnekte bir önceki örneğin kesmeli kullanılışı görülmektedir.

void interrupt()
{
  if(CMIF_bit)
  {
    if(C1OUT_bit) PORTC.B6=1;
      else        PORTC.B6=0;
  }
}
void main() 
{
  CMCON=1; // Sadece 1. karşılaştırıcı ve PORTA çıkışlı
  TRISA=0x0F; // Karşılaştırıcı için PORTA 0,1,2,3 pinleri giriş yapıldı
  TRISC=0; // PORTC çıkış yapıldı
  PORTA=0;
  PORTC=0;
  INTCON.GIE=1;
  INTCON.PEIE=1;
  CMIE_bit=1;
  CMIF_bit=0;
  do
  {
   // PORTC=CMCON; //CMCON kaydedicisinin içeriğini PORTC'ye yükle
  }while(1);
}

Kaynaklar:

http://www.ermicro.com/blog/?p=1578

http://electrosome.com/analog-comparator-pic-microcontroller/

http://www.gooligum.com.au/tutorials/baseline/PIC_Base_C_6.pdf

http://www.best-microcontroller-projects.com/12F675-comparator.html

http://saeedsolutions.blogspot.com.tr/2012/09/pic12f675-comparator-code-proteus.html

http://www.tugi.4mg.com/elektronik/12/12.htm

 

Reklamlar

2 thoughts on “PIC Analog Karşılaştırıcı Modülünün Kullanılması

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s