اطلاعیه

Collapse
No announcement yet.

مشکل با ADC

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با ADC

    سلام
    من قبلا با ADC کار کردم ولی اینبار یه مشکلی دارم. اونم اینه که پایه های ADC ولتاژ دارن(بیشتر از 3 ولت) و وقتی میخوام ولتاژ رو اندازه بگیرم ولتاژ پایه از ولتاژی که بهش دادم کم میشه و ولتاژ به دست اومده رو اندازه میگیره!
    DDR ها و PORT ها رو هم صفر کردم.
    از ولتاژ مرجع داخلی استفاده کردم ولی از بقیه هم که استفاده کردم درست نشد.
    البته یه چیزم بگم چون توی بوردم ADC رو پیشبینی نکرده بودم از سلف و خازن برای AVCC , AREF استفاده نکردم فقط میخوام فعلا کار کنه حتی با خطا.
    AVCC رو مستقیم زدم به VCC
    AREF هم رو هواست. البته یه بار با خازن 100 نانو وصلش کردم به زمین ولی باز هم پایه ها ولتاژ داشتن.

    #2
    پاسخ : مشکل با ADC

    نوشته اصلی توسط redown
    سلام
    من قبلا با ADC کار کردم ولی اینبار یه مشکلی دارم. اونم اینه که پایه های ADC ولتاژ دارن(بیشتر از 3 ولت) و وقتی میخوام ولتاژ رو اندازه بگیرم ولتاژ پایه از ولتاژی که بهش دادم کم میشه و ولتاژ به دست اومده رو اندازه میگیره!
    DDR ها و PORT ها رو هم صفر کردم.
    از ولتاژ مرجع داخلی استفاده کردم ولی از بقیه هم که استفاده کردم درست نشد.
    البته یه چیزم بگم چون توی بوردم ADC رو پیشبینی نکرده بودم از سلف و خازن برای AVCC , AREF استفاده نکردم فقط میخوام فعلا کار کنه حتی با خطا.
    AVCC رو مستقیم زدم به VCC
    AREF هم رو هواست. البته یه بار با خازن 100 نانو وصلش کردم به زمین ولی باز هم پایه ها ولتاژ داشتن.
    سلام
    من فکر میکنم که Pullup داخلی شما فعال هست
    چون من قبلا هم همچین مشکلی برخورده بودم
    اگه میشه برنامه رو هم بزارید
    (خواهشا مثل بعضی از دوستان کدتون رو به صورت مستقیم کپی نکنید تو تاپیک . روی # (قرار دادن کد)کلیک کنید و کدتون رو بیت اون دو کروشه بزارید . ممنون)
    موفق باشی
    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
    معرفی نرم افزار Codewizard PWM
    با من بیشتر آشنا شوید

    دیدگاه


      #3
      پاسخ : مشکل با ADC

      ای کاش این فرهنگ جا بیفته که قبل از زدن تاپیک یه سرچ تو انجمن بزنیم اگه نبود تاپیک بزنیم
      غریب به یقین 30 تاپیک در رابطه با همین راه اندازی adc وجود داره.
      .The best question deserves a better answer
      =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
      «پناه»می برم «به خدا»
      از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
      محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

      دیدگاه


        #4
        پاسخ : مشکل با ADC

        نوشته اصلی توسط •.´™ مَسِِــــح`.•
        ای کاش این فرهنگ جا بیفته که قبل از زدن تاپیک یه سرچ تو انجمن بزنیم اگه نبود تاپیک بزنیم
        غریب به یقین 30 تاپیک در رابطه با همین راه اندازی adc وجود داره.
        آره :agree:
        تخم کاش رو کاشتند سبز نشد !!!! oo: :redface:
        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
        معرفی نرم افزار Codewizard PWM
        با من بیشتر آشنا شوید

        دیدگاه


          #5
          پاسخ : مشکل با ADC

          نوشته اصلی توسط •.´™ مَسِِــــح`.•
          ای کاش این فرهنگ جا بیفته که قبل از زدن تاپیک یه سرچ تو انجمن بزنیم اگه نبود تاپیک بزنیم
          غریب به یقین 30 تاپیک در رابطه با همین راه اندازی adc وجود داره.
          والا تا همین یکی دو روز پیش سرچ انجمن رو میزدم میگفت برای جلوگیری از فشار به سرور و بانک و فلان، سرچ غیر فعاله الان فهمیدم که ظاهرا درست شده.
          گذشته از اون خوب توی این 500 صفحه عنوان تاپیک قطعا راجع به همه قسمت های میکرو گفته شده ولی خوب سوالات فرق میکنه. راجع به adc سوال پرسیده شده ولی من الان هم که گشتم جوابم رو پیدا نکردم.
          من قبل از اینکه این تاپیک رو ایجاد کنم کتابام رو گشتم و کلی تست کردم ولی جواب نگرفتم.

          دیدگاه


            #6
            پاسخ : مشکل با ADC

            نوشته اصلی توسط SAMAN.ASADI
            سلام
            من فکر میکنم که Pullup داخلی شما فعال هست
            چون من قبلا هم همچین مشکلی برخورده بودم
            اگه میشه برنامه رو هم بزارید
            (خواهشا مثل بعضی از دوستان کدتون رو به صورت مستقیم کپی نکنید تو تاپیک . روی # (قرار دادن کد)کلیک کنید و کدتون رو بیت اون دو کروشه بزارید . ممنون)
            موفق باشی
            البته پایه ها ولتاژ دارن ولی زیاد در مورد نظریه ای که ولتاژا از هم کم میشن مطمئن نیستم ولی در هر صورت نتایجش اینطوریه وقتی مرجع رو داخلی انتخاب میکنم نتیجه همون 2.56 ولت میشه. ولی وقتی مرجع رو AVCC انتخاب میکنم 2.10 میشه در صورتی که ولتاژ من 0.63 ولته.
            خوب وقتی port,ddr رو صفر کردم باید pull up غیر فعال بشه دیگه! اینم کدام:
            کد:
            #include <mega32.h>
            #include <delay.h>
            #include <string.h>
            #include <stdio.h>
            #include <stdlib.h>
            #define ADC_VREF_TYPE 0xC0
            unsigned int read_adc(unsigned char adc_input)
            {
            ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
            delay_us(10);
            ADCSRA|=0x40;
            while ((ADCSRA & 0x10)==0);
            ADCSRA|=0x10;
            return ADCW;
            }
            void main(void)
            {
            float a;
            char voltage[4];
            
            PORTA=0x00;
            DDRA=0x00;
            PORTB=0x00;
            DDRB=0x00;
            PORTC=0x00;
            DDRC=0x00;
            PORTD=0x00;
            DDRD=0x00;
            
            UCSRA=0x00;
            UCSRB=0x18;
            UCSRC=0x86;
            UBRRH=0x00;
            UBRRL=0x0C;
            
            ACSR=0x80;
            SFIOR=0x00;
            
            ADMUX=ADC_VREF_TYPE & 0xff;
            ADCSRA=0x81;
            
            a=(read_adc(7)*2.56/1024);
            printf("%3.2f\n",a);
            
            while (1)
               {
            
               }
            }

            دیدگاه

            لطفا صبر کنید...
            X