Pic ile voltaj ölçme ve ölçüme göre karar verme döngüleri için Örnek varmı ?

Başlatan sinancnc, 04 Şubat 2013, 15:44:29

sinancnc

Arkadaşlar ben bir elektronik cetvel satın alacağım.. Cetvel 0 mm iken 5 volt  100 mm ise 0 volt veren bir aralığa sahip bunu pic16f628a bağlayıp gelen voltaja göre örnek 2.5 volt var ise 50 mm olduğunu anlayan bir proğram yada proje düşüncem var... Bu gibi projelerin adı nedir ne diye araştırarak öğrenmeye başlamamı önerirsiniz. yada buna yakın örnek nereden bulabilirim.. Saygılar...
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

sinancnc

Arkadaşlar Yukarıda yazdığım örneğin karşılığı adc midir ? Ben anladığım kadarı ile bu mantıkta yapılabilecek bir şey..
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

İlyas KAYA

Sinan bey; Evet ADC dir. Analog girişten okuduğunuz veriyi dilediğiniz gibi işleyebilirsiniz.
0v ile 5v arasında ADC kanalından okuyacağınız 8 bit çözünürlülükte 0-255 arası bir değerdir.
Yani 0 mm 'de 5volt veriyor ise ADC kanalından 255 rakamını okuruz.
100mm de 0 volt veriyorsa ADC den 0 rakamı okuruz.


Örneğin PBP 'de

ADCIN 0,DEGER

yazıp metreden gelen analog veriyi aldık.
Normalden ters geliyor. Öyle ise bunu düzleyelim.

DEGER=255-DEGER

Böylece mm arttıkca deger artacak, düştükce düşecektir.
Şimdi durum şu şekilde oldu ; DEGER = 255 ise 100mm ,DEGER=0 ise 0 mm .

DEGER=25 olduğunu var sayar isek hesabımız tam olarak şudur ;
Oran orantıdan formül : mm=(Deger*100)/255
Yerine koyalım.

mm=(25*100)/255 olur ve buda = 9,8 mm dir.

eğer bir ekrana yazdıracak olsa idik ;

LCDOUT $fe,1,#mm ' olacaktı

Sağlama yapalım;

Değerimiz 255 geldi

mm=(255*100) / 255 = 100mm

DEGER = 0 olsa idi sağlama yapalım ;

mm=(0*100) /255 = 0






Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

ete

İstediğin hesap karşılığı alabilmen için voltajı ADC girişi olan bir PİC'e okutman gerekiyor.
5V (maksimum) karşılığı 10 bit ADC okunacak ise bunun rakam karşılığı 1023 dür.
Sıfır ile birlikte bu 1024 kademe (çözünürlük) edecektir.
Senin mesafe aralığın  0-100 mm ise hesabını buna göre yapman gerekir.
Ancak ne hikmetse senin değerlerin ters verilmiş. genelde 0 mm için ADC 0 okur, 100mm için 5V okunur. Şayet dediğin doğru ve okuma değerleri ters çıkıyor ise formülü ona göre oluşturmak gerekir.
1024 kadeye 100mm düşüyor ise 1 kademeye 100/1024 =0,09765625 değeri bulunur. Bu senin aslında sabit çarpanındır. Ama pic küsüratlı işlemler yapamadığı için, Biz */ (32 bit çarpma) işlemi yaptıracağız. Bu *7 operatörü bize çarpma sonucunda bulunan sayının 256 ya bölünmüş halini verir. O halde eşitlik bozulmasın diye sayıyı önce256 ile çarpmak gerekir.  256 * 0,09765625 =25 olarak bulunur.
Şimdi formülü yaratabiliriz.
MM=(1024 - (Okunan_ADC+1) */25
formülü sana direk mm cinsinden değeri verecektir.
Hemen bir önekle sağlama yapalım.
Okunan adc değerin 511 olsun bu tam tamına 2,5V için okunacak değerdir.
MM=(1023-511)*25/256= 50 mm olarak hesaplanır.

Ete

sinancnc

Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

Powered by EzPortal