Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: hasanuslu - 23 Mayıs 2005, 19:37:44

Başlık: ADC'nin Referansı
Gönderen: hasanuslu - 23 Mayıs 2005, 19:37:44
16F877'de ADC kullanmak istiyorum
bunun için 10 kanal ADC kullanıyorum...
referansı hangi voltaja göre ayarlanabilir
sadece besleme gerilimine göremi bunu biraz anlatabilirmisiniz
çok acil teşekkür ederim
Başlık: ADC'nin Referansı
Gönderen: uysali - 23 Mayıs 2005, 19:47:16
16 f 877 nin türkçe datasheet'i burda buradan bulabilirsin :)

http://rapidshare.de/files/1935630/_16F877tr.pdf.html

başarılar :)
Başlık: ADC'nin Referansı
Gönderen: Erol YILMAZ - 23 Mayıs 2005, 20:35:08
@hasanuslu
10 bit demek istedin heralde. Ayrica istersen ayri bir pinden referans gerilim verebilirsin-ki 10 biti  hakkiyla kullanacagim diyorsan referansi beslemeden değil, ayri pinden al derim.
Boylece o beslemeyi kullanan diger elemanlarin enerji ihtiyaclarindan etkilenmezsin. Sase de onemli.
Hatta hatta kullanilan 16 bit ADC, kartina gore manali olarak 10 - 12 - 13 bitlik ADC cevabi uretebiliyor.
Başlık: ADC'nin Referansı
Gönderen: quack - 23 Mayıs 2005, 22:18:45
16F877 kendi icinde maksimum 8 analog kanalı 10 bit dijitale cevirecek ADC ye sahip. Besleme gerilimini kullanırsan bu 8 kanalıda kullanman mümkün. bu benim tercihim. + ref icin bir kanaldan - ref icin ikinci kanaldan vazgecmelisin kanal sayın düser yani. datasheeti iyi okursan yanılmıyorsam pic icin referans geriliminide -5 0 +5 V arası vermeni tavsiye ediyor... yani - ref kullanmayacaksan besleme gerilimi bence en ideali...ekstra kaynaktan kurtarır seni.. erolun dedigine katılmıyorum... bir 7805 ve uygun devre sana yeterli beslemeyi saglıyor...su an üzerinde ugrastıgım devrede bu sekilde kullanıyorum. .
Başlık: Re: ADC'nin Referansı
Gönderen: psiko - 24 Mayıs 2005, 22:19:37
Alıntı yapılan: "hasanuslu"16F877'de ADC kullanmak istiyorum
bunun için 10 kanal ADC kullanıyorum...
referansı hangi voltaja göre ayarlanabilir
sadece besleme gerilimine göremi bunu biraz anlatabilirmisiniz
çok acil teşekkür ederim

ADCON1 register'ından ayarlayabiliyorsun referans gerilimi seçimini. datasheet'ini aç bak. orda ADCON1 register'ını nasıl ayarlayacağını çok güzel gösteriyor.
Başlık: Selam
Gönderen: hasanuslu - 30 Mayıs 2005, 19:38:48
Özellikle verdiğniz bilgiler için tsk ederim şiimdiki sorum özellikle erola
erol, 10 bit 1023'e karşılık geliyor ben ADC çıışını LCDye versem
5/1023 değerinde bir artış gözlermiyim...Bana bu çevrim işlemini açarmısın..Bilen arkadaşlarda yazabilir teşekkürler
Başlık: ADC'nin Referansı
Gönderen: bmutlu - 31 Mayıs 2005, 12:11:17
Adc referansını 5 v secersen bunu gorursun daha hassas okumak istersen referan değerini dışarıdan verip daha hassas okuma yapabilirsin. Örneğin ADC max degerin 2v olsun sen de ref. degerini 2 v girersen ADC de okudun değer 2v karşılık gelen 1203 degeri olur.
Başlık: ADC'nin Referansı
Gönderen: Erol YILMAZ - 31 Mayıs 2005, 19:56:13
@hasanuslu
ADC nin isi zaten bolup vermektir.
Ref. gerilimini 5.12 Volt verirsen LSB bitin 5 mV u temsil eder. Yani her 5 mV ta ADC sonucun 1 artar. (5.12V/1024) = 5 mV

ADC cikisini LCD ye aktarirsan tabii ki degisimleri gorebilirsin.
Başlık: TSKLER
Gönderen: hasanuslu - 31 Mayıs 2005, 20:53:14
Verdiğiniz bilgiler için tsk ederim
erol, 10 bit hepsi 1 olduğunda değer 1023 olmaz mı?
bir karışıklık var...
dışardan nasıl vereceğim hangi pine bağlamalıyım ve
pic'e nasıl anlatacağım hangi pine bağladığımı bir örnek verebilirmisin!
yardımların için tskler
iyi çalışmalar....
Başlık: ADC'nin Referansı
Gönderen: Erol YILMAZ - 31 Mayıs 2005, 22:12:20
@hasanuslu

Bu konular datasheet inde ayrintili olarak anlatiliyor.
Veya CCS orneklerinden birini dahi incelesen sonuca gidebilirsin

#include <16F877.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

void main()
{

  int value;

  setup_port_a( ALL_ANALOG );
  setup_adc( ADC_CLOCK_INTERNAL );
  set_adc_channel( 0 );

  value = Read_ADC();

  printf(" Value: %2X ",value);

}


Burada en basit okuma islemi var. ADC yi oku ve RS232 den gonder...
Bu fonksiyonlar sana yol gosterecektir. Ayrintili bilgi almak istersen 16F877.h dosyasini incele, baska ne gibi seceneklerin varmis, onlari da gorursun. Yardimci olabilmisimdir heralde.
Başlık: EROL
Gönderen: hasanuslu - 02 Haziran 2005, 19:01:04
erol burada rs232den gönderme komutu hangisi
ben bunu herhangi bir dil ile örneğin c# veya vusual basic ile alabilirmiyim bu konu öğrenmek istediğim bir şeydi yardım edersen sevinirim...
yardımların için tsk ederim
Başlık: ADC'nin Referansı
Gönderen: quack - 02 Haziran 2005, 20:02:25
printf(" Value: %2X ",value); gönderme komutu
ör:  printf("Değer : %4X,1234);
bu komut 1234 değerini uygun parametereye göre (%4X) arka arkaya seri porttan gönderir. ancak pic c icinde bu parameterelere dikkat etmen lazım...
vb de mscomm objesi var ... bunu vb de herhangi bir forma ekleyip daha sonra ayarlarını yapman lazım da bu forumlarda o başlık altında daha detaylı hali var sanırım...
neyse gelen veri inbuff (vb de buffer) oraya aktarılıyor sende onu görüntülüyorsunda...
hevesini kırmak istemem ama işin çok zor .. bence ilk olarak pic c yi öğrenemeye ve proteusta adc denemeleri yapmaya çalış sonra seri iletişime geçersin