Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: bulut_01 - 06 Haziran 2017, 18:01:40

Başlık: 18f87k22 adc problemi
Gönderen: bulut_01 - 06 Haziran 2017, 18:01:40
iyi günler picproje ailesi 18f87k22 nin adc aktif edip veri okuyamadım proteusda hata msj ile karsılasıyorum hatamı göremedim yardımcı olursanız sevinirim.

void main(){

setup_adc(ADC_CLOCK_DIV_32|ADC_TAD_MUL_4);

setup_adc_ports(sAN0|VSS_VDD);

setup_comparator(NC_NC_NC_NC);

..................

while(true){

ham=input(pin_a0);
set_adc_channel(0);
delay_us(30);
ham=Read_adc();}}


(https://i.hizliresim.com/kWYkdy.jpg)
Başlık: Ynt: 18f87k22 adc problemi
Gönderen: bulut_01 - 06 Haziran 2017, 22:09:54
Bir fikri olan yok mu arkadaslar  :)
Başlık: Ynt: 18f87k22 adc problemi
Gönderen: sadogan - 06 Haziran 2017, 23:02:21
Trisden adc girisini input. Yapmayi deneyin
Başlık: Ynt: 18f87k22 adc problemi
Gönderen: bulut_01 - 06 Haziran 2017, 23:30:06
Sadogan hocam input yaptım ve ne yaptıysam resimdeki hatayla karşılasıyorum bir yolunu bulamadım nerde hata yaptıgımın.
Başlık: Ynt: 18f87k22 adc problemi
Gönderen: tekosis - 06 Haziran 2017, 23:59:20
Problem Referans ayarlarından kaynaklanıyor gibi. Setup_vref komutunu bir inceleyin.
Başlık: Ynt: 18f87k22 adc problemi
Gönderen: ete - 07 Haziran 2017, 08:07:20
Sorunun kaynağı kesinlikle ADC ref voltajı. + ref voltajı 0V diyor bağıra bağıra. İşlemcinin data sheet'ini açarsanız ADCON1 registerinin bu işi ayarladığını görebilirsiniz. Register bitlerine bakacak olursak;
Bit7-6    Trigger Select yapıyor. Bilmediğim bir özellik Ancak sanırım RTCC seçilmeli ve bu bitler %11 yapılmalı
Bit 5-4   00 verilerek VDD seçilmeli (ADCON1=%1100...... oldu)
Bit 3       0 verilerek VSS negatif voltaj ref olarak seçilmeli (ADCON1=%11000....)
Bit2-0     Analog negatif kanal seçim bitleri.  000 verilerek negatif tarafı VSS ye bağlanmış oluyor. Böylece tek kanal ADC ölçümü yapabiliyorsunuz. Sonucta ADCON1 değeriniz %11000000 şeklinde verilmelidir.
Ete
Başlık: Ynt: 18f87k22 adc problemi
Gönderen: bulut_01 - 07 Haziran 2017, 09:01:13
@ete hocam öncelikle tsk ederim verdiğiniz bilgiler için ref seçim işini asagıdaki komut yapmıyor mu vss_vdd demişim.
setup_adc_ports(sAN0|VSS_VDD);
Başlık: Ynt: 18f87k22 adc problemi
Gönderen: ete - 07 Haziran 2017, 09:03:13
Bana kalırsa o komut pek çok standart pic için seçim yapar ama bu özel bir işlemci. Bunda çalışırmı emin değilim ve zaten çalışmadığıda görülüyor öyle değilmi.
Ete
Başlık: Ynt: 18f87k22 adc problemi
Gönderen: Ersin - 07 Haziran 2017, 10:00:39
output_float(PIN_A1);


ADC pinin  hangisi ise ınu yaz setup_adc den sonra.
Başlık: Ynt: 18f87k22 adc problemi
Gönderen: bulut_01 - 07 Haziran 2017, 10:21:15
Tşk ederim arkadaşlar problem AVDD pinini +5v baglamadıgım içinmiş bu pic ile ilk defa ugrasıyorum acemilikler oluyor herkeze çok tşk ederim  :)