16f876 A/D ÇEVRİM İÇİN PORT AYARLARI

Başlatan eatakan, 18 Kasım 2015, 14:06:43

eatakan

Hocam  merhaba , derslerinizi  zevk ile  takip  ediyorum. Yaptığım  bir  devreyi  pil ile çalıştırmak  amaçlı  pil  göstergesi  yapmak istiyorum,ancak  port ayarlarında bir  noktada takıldım.
16f876  ile  yaptığım devrede   sadece  RA3  portunu  analog olarak kullanacağım  ve ölçüceğim değer  pil  voltajı  , vref olarak bu  portu  ayarlamak için   ADCON satırları nasıl  olmalı . 4mhz xtall kullanıyorum.

Burak

Ra3 portunu analog ölcum pini olarak mi yoksa pozitif referans olarak mi kullanacaksin ?

Burak
Ω Gens Una Sumus Ω

ete

16F876 ve 16F876A işlemcilerde tek pin Analog kullanmak için An0 yani PORTA.0 pini uygundur.
Bu işlemcilerde her istediğini tek kullanamıyorsun. Yeni nesil işlemcilerde bu ANSEL  registeri ile mümkün olabiliyor ama bunda değil.
Üstelik AN3 bacağı genelde REF bacağı olarak kullanılan bir bacak.
Elbette ADC girişi olarak kullanılabilir ama yanında başka pinleride Analaog yapman şartı ile. Alternatifler şunlar;
1. Bütün analog pinler aktif   ADON1=%10000000
2. An0-An4 arası analog diğerleri digital ADCON1=%10000001
3. An0-An1 ve An3 analog diğerleri digital ADCON1=%10000100
4. An0-An5 arası analog diğerleri digital ADCON1=%10001001
En mantıklısı 3. şık bence bu şıkta yalnızca 3 analog pin mevcut.

Yapman gereken;
Programın baş taraflarına;
DEFINE ADC_BITS 10     ' ADCIN resolution  (Bits)
DEFINE ADC_CLOCK 1     ' ADC clock source  (Fosc/8)
DEFINE ADC_SAMPLEUS 20 ' ADC sampling time (uSec)
ADCON1=%10000100

Hepsi bu kadar. Bu durumda zorunlu analog olan An0 - An1 pinlerini başka amaçla kullanamazsın buna dikkat et.

Ete


eatakan

Geri  bildirim için teşekkürler. Burak  beyin sorusuna  istinaden ,yaptığım devrede ileriye dönük pil  ölçme ihtiyacı  için sadece RA3 pini 'ni  boşta  bıraktım ,diğer portlar buton  ,LCD  , verici  ve  ds1307  ve  18b820  nedeni  ile  dolu.

RA3  pinini  devreyi  pille  çalıştırdığım zaman , pil seviyesini  ölçmek ve  sonucu LCD ye  aktarabilmek  amaçlı ayırdım.

Tam  olarak yapmak istedğim şey  bir  veya iki  pili step-up  ile  5v  a  yükseltip devrenin ihtiyacı olan çalışma  voltajını  üretmek, bu  arada pilin  durumunu da izleyebilmek.

ete

Bu durumda kullanamayacaksın demektir. En güzeli PORTA.0 ile PORTA.3 pinlerini yer değiştir. Kart basmış isen tadilatı da zor olmaz bunun. Böylece yalnız PORTA.0 pinini analog kullanırsın diğerlerinide digital kullanabilirsin.

Ete

Burak

Pil ölcumu uygulamalarinda FVR donanimi olan bir islemci tercih edilmeli .. bu islemci buna uygun degil ...

Burak
Ω Gens Una Sumus Ω

ete

#6
Normalde ADC si olan her işlemci ile pil ölçülür. ADC ölçümlerinde bir ref voltajı esas alınır. Bu harici bir voltaj olabileceği gibi işlemcinin kendi besleme voltajıda olabilir.  Şayet işlemcinin kendi voltajın ADC ölçümü için referans olarak kullanırsanız ortaya bazı aksaklıklar çıkar. Bu aşamdan sonrasını örnekle açıklamak daha doğru olur.
Diyelimki 5V piliniz var ve bununla yine pilin voltajını ölçüyorsunuz. ADC ölçümü 10 bit üzerinden pil voltajını 1023 olarak size verir. Referansınız 5V luk besleme voltajıdır. Bir müddet sonra pil kullanımdan dolayı biraz boşalır ve diyelimki 4V ta düştü. Bu durumda referans voltajınızda 4V olacaktır. Pil voltajını ölçtüğünüz zaman ADC karşılığı size yine 1023 olarak gelir ve sizde pil hiç boşalmamış yada tükenmemiş zannedersiniz. Çünki Ref voltajınız 4V ve sizde 4V ölçünce adc karşılığı 1023 olur. Pil 3V ta düştüğü zamanda aynı olay meydana gelir ve sizde hiç bir zaman doğru voltaj ölçememiş olursunuz.

Peki ne yapmak lazım? Bu gibi durumlarda ya ref voltajını harici bir kaynaktan ve genelde pil voltajının boşalma seviyelerinin biraz üzerinde tespit etmek yada bazı işlemcilerde bulunan Sabit Voltaj Referans özelliği olan bir işlemci kullanmak gerekir.
Yukarıdaki örnekte diyelimki pil ile 2V luk bir voltaj regülatörünü besledik ve ondan 2V luk sabit bir çıkış alabildik. Bu pil seviyesi 2,5V ta düşünceye kadar size 2V referans verecek anlamınada gelebilir. Bu durumda her konumda ref voltajınız 2 V olacağı için siz orantılama yolu ile pilin azaldığını tespit edebilirsiniz. Unutmayın pil voltajı 5V iken siz ölçülecek gerilimi gerilim bölerek ADC girişine en fazla 2V olacak şekilde girmeniz gerekir. ADC ölçümlerinde ölçülecek gerilim Referans gerilimini hiç bir zaman aşmamalıdır. Pil voltajı düştükçe başlangıçta 2V olan ölçülecek gerilimde düşerek ölçüm sonucu size pilin voltaj seviyesi konusunda bilgi vermiş olur.

FVR modülü olan işlemcilerde ise ADC ref gerilimi FVR den alınabiliyor. Böylece harici bir bağlantı yapmadan seçtiğiniz bir FVR ile ölçüm yapabilir ve böylece pilin voltaj değerinin azalmasından sisteminiz etkilenmemiş olur.

Ete

tekniker çağdaş

merhaba hocam.
ben 16f876a  nın a.0 ve a.1 pinlerini adc için geriye  kalan a portu pinlerini de çıkış için kullanmak istiyorum. adc tanımlamalarını nasıl yapacam bana yardım edebilirmisiniz. şimdiden teşekkür ederim

F®T

Dediğin gibi olmuyor ancak. 0.1.3. pinleri adc diğerlerini dijital kullanabilirsin.referans olarak vdd vss kullanırsan.
ADCON1=%10000100
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Powered by EzPortal