Bu devre ile her türlü analog sensörü okunabilir. referans ayarlarını VREF+ ve VREF- potlarından ayarlayabilirsiniz. VREF+ girişindeki gerilim displeyin göstereceği en büyük değeri ayarlar. en büyük sayı 1023 dür. örnek olarak VREF+ yı 2,5v ayarlarsanız analog girişten 2,5v okuduğunuzda displey en büyük sayı olan 1023 ü gösterir. bu girişi +5v a bağlarsanız analog girişten 5 volt okuduğunuzda 1023 ü güsterir. 1023 10 bitlik sayıdır.
10 Bit ADC Devre şeması
VREF- ise ekranın göstereceği en küşük sayı yani 0 ı ayarlar. örnek olarak bu girişi 1v ayarlarsanız analog girişten okuduğunuz gerilim 1v veya altında ise ekranda 0 sayısı gözükür. Bu girişleri kullanmak istemiyorsanız VREF+ yı +5v a VREF- yi GND ye bağlayınız. yada ADCON1 registerinden gerekli ayarları yapınız.
Ölçmek istediğiniz değeri hesaplamak için şu yolu izleyin :
Örnek olarak VREF+ = 3v VREF- = 0v ise (3v – 0v)/1023= 0,00293v bu değer her sayıya denk gelen gerilimdir.bu durumda ekranda 1000 sayısını okuyorsak 1000 * 0,00293= 2,93v analog girişteki gerilimi gösterir. bu yöntemle istediğiniz ayarı yapabilirsiniz. portb ye bağlı jojik problar ekrandaki sayının ikili (binary) dönüşümünü gösterir. Devreyi Deney amaçlı tasarladım 10bitlik dönüşüme örnek olarak gösterdim. devre 10 bit olduğu için çok hassas. potla deneyecekseniz mutlaka kondansatörle filitreleyin. Displeyi ORTAK KATOT kullandım. kristal 10 Mhz.
ASM, HEX, proteus isis simülasyonu ve tüm kaynak;
Şifre-Pass: 320volt.com
Yayım tarihi: 2008/03/18 Etiketler: 10 bit adc, adc, adc otomasyon, display adc, lcd adc, microchip pic projeleri, PIC16F877 örnekleri
pot ile ölçümlerde kondansatör ile firtleyin demişsiniz. acaba ne kadar bir kondansatör yeterli olacaktır.
Verdiğin bilgiler için çok teşekkurler…Vref+ ve Vref- in hassasiyetle bagıntısını anlamamda oldukca faydalı oldu..
Genelde analog girişlere 100nF filtre kapasitesi ve 5.1V zener koruması yapıyoruz. Filtre için 100nF yeterli olacaktır.
Selam arkadaşlar bu devre üste bulunan 1-2-4-8……512 nedir ne işe yarar?
Diyelim ki farklı bir kaynaktan 2.3v verdelim bunu 300 olarak ekranda göstermek için yapılacak ayarlar ve bu 2.3v artı ve eksi olarak devrenin neresine bağlıyoruz şimdiden teşekkürler.
herkese slm ben end.elektronik programlama mezunuyum mezuniyetim üzerinden bayağı bir zaman geçti şuan için pişman olduğum kısımları(pıc’ı daha iyi öğrenmeyi ) telafi etmeye çalışıyorum
aklımda sesle aktive anahtarı adlı bir proje varkapı aç pencere aç misali en kapa tabirle. ancak dediğim gibi pişman olduğum kısım mezunum ama kodlarla aram iyi değil hocam aşağıdaki kodlarda çok yanlışımvar amacım şu analog girişten dijital veri almak ben anlamak için en kaba tabiriyle sadece bir sesle çalışmasını istedim ancak çözemedim çok araştrıdım adcon0,adcın,adcon1 tabirleri nedir biliyorum ama açıklarsanız yinede çok yararlı olur ,ayrıca bu saydıklarım hangi portları temsil ediyor girişinde sesle ilgili misal 5 voltluk giriş uyguladığımda çıkışataki değerin hesabı nasıl yapılıyor benim anlatmak istediklerimi anlamışsınızdır umarım sizin kaynakalrı indirdim ancak fazla birşey çıkaramadım benzetme yaptım ısı ile olan adc cevrimini yine uyarlayamadım
TRISA=%00000001
TRISB=0
TRISC=0
TRISD=0
@ DEVICE pic16F877
@ DEVICE pic16F877, WDT_on
@ DEVICE pic16F877, PWRT_ON
@ DEVICE pic16F877, PROTECT_OFF
@ DEVICE pic16F877, XT_OSC
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 100
ADCON1=%10001110
ALGI var word
SYMBOL LED=PORTC.2
BASLA:
ADCIN 0,ALGI
BAK: IF ADCON0.2=1 THEN
HIGH LED
ENDIF
PAUSE 50
GOTO BASLA