PIC Mikrodenetleyicilerinde FVR Modülünün Kullanımı

fvr

Yeni nesil PIC mikrodenetleyicilerde dahili olarak bulunan FVR modülü (Fixed Voltage Reference- Sabit Referans Voltajı),  ADC okumada büyük kolaylık ve kararlılık sağlamaktadır. ADC okumada referans gerilimi genellikle VDD besleme gerilimi, kısmen de harici referans gerilimi entegreleri kullanılmaktadır. Ancak içinde FVR modülü bulunan bir PIC ile referans gerilimi elde edilmesi büyük kolaylık sağlamaktadır.

VDD geriliminin referans gerilimi olarak kullanıldığında çözünürlük (değer başına mVolt)

Çözünürlük=(Vref+  –  Vref-) / 2^10 =5000mV/1024= 4,8828125  olmaktadır.

Dikkat edilirse çözünürlük float tipinde bir değerdir. Dolayısı ile PIC  ile FPU donanım modülü olmadan işlem süreci uzun olmakta ve hesaplarda sapmalar meydana gelmektedir.

Ayrıca besleme gerilimindeki dalgalanmalar ADC değerinde değişimlere sebep olmaktadır. Bunun çözümü ise Referans gerilimi entegreleridir.

Harici referans entegreleri kullanarak kararlı bir ADC okuma yapılabilir. Ancak maliyet ve malzemenin devre üzerinde yer kaplaması bir dezavantaj.

FVR modülü ile 1024mV, 2048mV ve 4096mV değerlerinden biri seçilerek referans gerilimi olarak kullanılabilmektedir. Hatta kademeli ölçümler için yazılımla istenilen değer seçilerek üçü de aynı devre üzerinde kullanılabilmektedir.

Yukarıdaki şekilde  PIC16F1826/27 için FVR blok şeması görülmektedir. Blok şemada görüldüğü gibi FVR modül çıkışında iki referans gerilimi oluşmaktadır. Biri ADC için diğeri DAC, Karşılaştırıcılar ve CPS (kapasitif algılama modülü) içindir. Her iki çıkış farklı referans voltajını kullanabilir. Ayarlamalar FVRCON registeri ile yapılmaktadır. Aşağıda registerin içeriği görülmektedir.

fvrreg

ADC okuma blok şeması görülmektedir.

adcblokADC okuma işleminde eğer dahili referans kullanılacaksa ADCON1 registerinin ADPREF<1:0> değeri 3 yapılmalıdır. (A/D Positive Voltage Reference Configuration bits)  


ADCON1|=3; // Dahili referans seçildi.

ADC Referans gerilimi olarak 1024mV olarak kullanmak istediğimizde FVRCON register ayarı şöyle olmalı;

fvrregset

Bu durumda çözünürlük değerimiz “1” olacaktır. Hem hesaplamalarda kolaylık hem de hız elde edilecektir. LM35 sensörü ile sıcaklık ölçtüğümüzü düşünürsek derece başına 10mV gerilim artışı olmaktadır.  Bu durumda ondalık artışları da ölçebiliriz. Yani 10.5 C demek 105 değere karşılık gelmektedir.

 

Not: MikroC ADC fonksiyonu bu ayarlamalara göre okuma yapmamaktadır.

Kaynaklar:

http://embedded-lab.com/blog/?p=3045

http://microchip.wikidot.com/8bit:fvr

http://edeca.net/wp/electronics/measuring-pic-vdd-with-no-external-components-using-the-fvr/

 

Reklamlar

5 thoughts on “PIC Mikrodenetleyicilerinde FVR Modülünün Kullanımı

  1. Yanlış bir ayarlama yapmışsınız. 16F1827 kataloğunda “ADC için FVR referans seçildiğinde 1.024 olarak ayarlanmamalı. “2048 ve 4096 olarak ayarlanabilir. 4096’da LF modellerinde tercih edilemez” diye açıkça belirtmiş. İnsanları yanlış yönlendirmeyelim. Siz yaptınız çalıştı diye her yerde çalışacağı anlamına gelmez.

    • Uyarınız için teşekkürler. Dediğiniz gibi bir bilgiye ulaşamadım. Eğer gözümden kaçmış bir durum varsa lütfen resim olarak gösteriniz inceleyeyim.

      Ben bizzat bu devreyi kurdum. Bu ayarları kullandım. Doğru olarak çalıştı. Aksi bir durumla karşılaşmadım.

      Elektronik sistemler kişiye özel çalışmaz.

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