avatar_ete

PIC Basic Ders-05 (Analog Digital Çevirici Kullanımı)

Başlatan ete, 28 Ağustos 2011, 16:11:16

sinancnc

#45
ete hocam ve diğer üstadlar  eğer çok zahmetli bir iş değilse dersinizi  çift adcli yapabilirmiyiz. örneği bire bir değiştirmek uzun bir işse yöntem ile ilgili yardımcı olmanızı rica ederim.

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

pwm3434

ne  anlatmak  istediğini anlayamadım sinan.  pıc'e  bağlı iki tane anolog  girişmi  olsun  istiyorsun. yani  port.0  ve  porta.1 pinlerinden  analog girişmi  yapılsın istiyorsun

ADCON1=%10000100    bu  komut ile porta.1,porta.1  ve porta.3  pinleri analog  diğerleri dıgıtal dir

sinancnc

#47
evet aslında şöyle bir değişimde similasyonda oldu fakat gerçek devre üzerinde sıkıntı yaratırmı bilmiyorum..

birden çok pot ile adc uygulaması yapmak istiyorum aslında
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

pwm3434

sinan  ADCON1 register  bilgi  değerleri en  azından şununla   değiştirmelisin  yani  bir önceki   mesajımla
ADCON1=%10000100    bu  komut ile porta.1,porta.1  ve porta.3  pinleri analog  diğerleri dıgıtal dir

sinancnc

#49
16f877a porta.1 ve porta.3 mu a\d çevirici diğer a portlarında olmuyor anladığım. Saygılar
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

Mucit23

Meseleyi ben anlayamadım. Kaç adet analog giriş lazım?

photo hosting sites
Bu tabloya baktınızmı hiç?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

sinancnc

Hepinize teşekür ederim şimdilik 2 adet gerekliydi konuyu anladım...
Paylaşmayı seven insan toprak olup gitmez. Bir şeyler bırakır...!

yusuf.ozyer

hocam benim sorum bu çeviricileri nerede kulanırız bu konu biraz bana karmaşık geldi saat devrelerindeki ds18b20 veya voltmetre gibi yerlerdemi kullanırız

ete

Analog bilgi sayısal hale gelmemiş bir bilgidir. Digital bilgi ise tamamen sayısallaşmış bir bilgidir.
Bir voltaj kaynağı analog bir bilgidir. Onun kaç volt olduğunu ancak sayısal hale getirirsen anlar veya o bilgiyi kullanma imkanın olur. İşte analog bir voltaj kaynağını sayısal hale getirmek için kullanıyoruz bu çeviricileri. Hala anlamadın ise analog bilgi ile digital bilgi konularını araştır.
Sensörlerin bazıları digital çalışır. Mesela DS18B20 sonucu digital ( sayısal) verir. Ama bir LM35 sensörü sonucu analog verir. Bu durumda LM35 çıkışını adc ile sayısal hale getirip kullanmak gerekir.

Ete

kılıckaya

Ete Hocam, ADC örneğinize göre 10 bit ölçüm sonucu okuduğum değeri 0-1023 değerleri arasında LCD ye yazdırıyorum,sorun yok. Ben LCD ekranda ölçmüş olduğum direncin değerini görmek istiyorum. Bir başka ifadeyle 0- 2k arasında ölçüm yapabilen bir ohmmetre yapmaya çalışıyorum. Siz ADC dersinizde okunan değeri LCD de Volt cinsinden görmek için şöyle bir ifade kullanmıştınız:
"'Okunan değer 0-5 volt için 0-1024 olacağından okunacak değer başına volt değeri
' 5/1024 =0,0048828 olacaktır. Sayı çok küçük olduğundan bu değeri 1000 ile
'çarpmalıyız. O halde (Okuma/V)= 4,8828 bu değeri 256 ile çarpar isek
'4,8875 x 256 = 1250 değerini buluruz. Bu değeri kullanarak 32 bit işlem yapabiliriz.
'1250 değeri (5/1024)*256 değerine karşılık gelmektedir.
'sonuçta ADC HAM değerini bu sayı ile çarpıp 256'ya bölersek sonucu elde etmiş oluruz.
'ancak sonuç 32 bitlik sınırda olduğundan bu işi 32 bit çarpma ile yapıyoruz ve orta
'baytı aldığımızda ise zaten sayının 256'ya bölünmüş halini aldığımızdan başka bir
'işlem yapmadan sonucu elde etmiş oluruz.
Volt=(ham */ 1250)/100 'Ham ile 1250 yi 32 bit olarak çarp ve 100'böl
Mvolt=Volt // 10 'Mvolt= Volt MOD 10"
Benzer bir formül kullanılarak okumuş olduğum 0-1023 aralığındaki değeri LCD de direnç değeri olarak gösterebilirmiyiz?
Teşekkürler.

ete

Elbette münkün. Okunan maksimum değer 1023 olacaktır. Bu ise sizin 2K direncinize karşılık gelen değer olacaktır. O halde bu varsayımdan yola çıkarak;
2/1024=0,001953125 , bunu 256 ile çarparsak  0,5 rakamını buluruz. Bunuda sıfırdan kurtarmak için 10 ile çarparız. sonuçta 5 rakamı bizim sabit çarpanımız olacaktır.
O halde formül R=((ADC+1)*/5) / 10 şeklinde olacaktır.
Hemenbir deneme yapalım diyelimki 511 okuduk ADC den.
R=((511+1) */5 ) / 10 = 512 * 5 /10 x 256 = 1 çıkacaktır. Dikkat edersen 512 değeri 1024 ün tam yarısıdır. O halde 1024 2 k ya karşılık gelirse 512 1 K olacaktır kesinlikle. Sonucumuz doğrudur demektir.

Burada bir şey daha söylemek lazım. Sonucu 10'a bölmez isek, sonucu ondalıklı hesaplamamız da mümkün olur.
O halde formülümüzü yeniden düzenlersek,
R= (ADC+1)*/5
Rtam=R/10
ROnda=R//10
şeklinde formülleri elde etmiş oluruz.
Bir başka örnek yapalım.
Diyelimki 680 okuduk. Hemen hesaplarımızı yapalım.
R=(680+1)*/5  (yani R=681*5/256) = 13 olarak sonuç hesaplanacaktır.
Bu durumda RTam=13/10=1 çıkacak
Ronda=13//10=3 çıkacaktır.
Ekrana verirken
LCDOUT $FE,$C0,"R=", dec1 Rtam,",",DEC1 Ronda, "KOhm "
şeklinde gösterebilirsiniz erkanda R=1,3  KOhm  şeklinde bir ifade çıkacaktır.

Ete


emrecelik3673

Ete hocam merhaba,

Ben forumunuza bugün üye oldum. Bende PIC programlama öğrenmek istiyorum. Bilgisayarıma microcode studio ve pbp diye olan programları indirdim. Sizin ders notlarınızı da indirdim. Bana tavsiyeniz nedir? Nasıl başlamalıyım programlamaya? Desteğinizi rica ederim. Sağ olun.

ete

Aramıza hoş geldin.
Öncelikle sitede yer alan Önemli Bilgiler başlığı altında yer alan iki linki dikkatlice okumanı öneriyorum.

http://etepic.com/index.php/topic,300.0.html

http://etepic.com/index.php/topic,26.0.html

Daha sonra dersleri 1 den başlayarak okumanı ve kendine bir şeyler kavradıktan sonra örnek projeleri sırası ile yapmanı ve sonuçlarını görmeni öneriyorum.
Anlamadığın yerleri burada konu açarak sorabilirsin ben veya bilen diğer arkadaşlar yardımcı olacaklardır.
Simulasyon denemelerinden sonra artık kenbiden güvenirsen bir programlayıcı alıp devreler yapmaya başlayabilirsin.
Elbette işin asıl zevki oradadır. Yaptığın bir şeyin çalışmasını görmek insana haz ve guru veriyor. Bu tadı aldıktan sonra eminim çabaların artacak ve çok çalışarak iyi bir konuma geleceksin.
Şimdiden başarılar dilerim.

Ete

emrecelik3673

Hoşbulduk hocam, teşekkür ederim. Programlayıcı kartım da var Pickit2 almıştım. Dediğiniz dersleri çalışacağım. Çok teşekkür ederim tekrar.

Powered by EzPortal