اطلاعیه

Collapse
No announcement yet.

ADC در LPC1788

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

    ADC در LPC1788

    سلام
    من از یک برد 1788 استفاده می کنم
    برای تست adc مقدار ولتاژ پتانسیومتر روی برد را خواندم. مقادیر خوانده شده خیلی نوسانی هستند. کانال 4 هم تست کردم همینطور هست
    نوسان غیر عادی هست.در ضمن از پتانسیومتر روی خودبرد استفاده میکنم.از لحاظ نویز نباید مشکلی باشه
    گفتم شاید از اداپتور باشه که سوییچینگ هست از اداپتور ترانسی استفاده کردم فایده نداشت.این کد را برای برد LPC1788 استفاده کردم:

    کد:
    PINSEL_ConfigPin(1,31,1);//port 1.31 for adc0[5]
     PINSEL_SetAnalogPinMode(1,31,ENABLE);//port 1.31 for adc0[5]
     PINSEL_SetFilter(1,31,0);
     ADC_Init(LPC_ADC,400000);
    
    
     ADC_IntConfig(LPC_ADC,ADC_ADINTEN5,DISABLE);
     ADC_BurstCmd(LPC_ADC,DISABLE);
     ADC_ChannelCmd(LPC_ADC,ADC_CHANNEL_5,ENABLE);
     ADC_EdgeStartConfig(LPC_ADC,0);
     ADC_StartCmd(LPC_ADC,ADC_START_NOW);
    
     while(!(ADC_ChannelGetStatus(LPC_ADC,ADC_CHANNEL_5 ,ADC_DATA_DONE)))
     {
     }
     adc_value=ADC_ChannelGetData(LPC_ADC,ADC_CHANNEL_5 );
    از روش میانگین استفاده کردم اما نوسان خیلی زیاده.
    برای کانال 4 هم برای تست یک ولوم به همراه خازن جهت نویز گیری استفاده کردم فایده نداشت
    چیزی به ذهنم نمیرسه

    من از emwin هم استفاده کردم.ربطی داره؟
    دوستان ایراد کار کجاست؟
    لطفا راهنمایی فرمایید
    تشکر

    #2
    پاسخ : ADC در LPC1788

    نوشته اصلی توسط fazel459
    سلام
    من از یک برد 1788 استفاده می کنم
    برای تست adc مقدار ولتاژ پتانسیومتر روی برد را خواندم. مقادیر خوانده شده خیلی نوسانی هستند. کانال 4 هم تست کردم همینطور هست
    نوسان غیر عادی هست.در ضمن از پتانسیومتر روی خودبرد استفاده میکنم.از لحاظ نویز نباید مشکلی باشه
    گفتم شاید از اداپتور باشه که سوییچینگ هست از اداپتور ترانسی استفاده کردم فایده نداشت.این کد را برای برد LPC1788 استفاده کردم:

    کد:
    PINSEL_ConfigPin(1,31,1);//port 1.31 for adc0[5]
     PINSEL_SetAnalogPinMode(1,31,ENABLE);//port 1.31 for adc0[5]
     PINSEL_SetFilter(1,31,0);
     ADC_Init(LPC_ADC,400000);
    
    
     ADC_IntConfig(LPC_ADC,ADC_ADINTEN5,DISABLE);
     ADC_BurstCmd(LPC_ADC,DISABLE);
     ADC_ChannelCmd(LPC_ADC,ADC_CHANNEL_5,ENABLE);
     ADC_EdgeStartConfig(LPC_ADC,0);
     ADC_StartCmd(LPC_ADC,ADC_START_NOW);
    
     while(!(ADC_ChannelGetStatus(LPC_ADC,ADC_CHANNEL_5 ,ADC_DATA_DONE)))
     {
     }
     adc_value=ADC_ChannelGetData(LPC_ADC,ADC_CHANNEL_5 );
    از روش میانگین استفاده کردم اما نوسان خیلی زیاده.
    برای کانال 4 هم برای تست یک ولوم به همراه خازن جهت نویز گیری استفاده کردم فایده نداشت
    چیزی به ذهنم نمیرسه

    من از emwin هم استفاده کردم.ربطی داره؟
    دوستان ایراد کار کجاست؟
    لطفا راهنمایی فرمایید
    تشکر
    دقت کنید ولتاژ بیشتر از 3/3 روی پایه های میکرو نذارید.
    توی برنامه تون بیایید تعداد زیادی نمونه مثلا 500 تا نمونه بگیرید و سپس میانگینش را بدست بیارید. در این حالت دیگه نباید نوسان داشته باشید .
    ولتاژ رفرنس میکروتون را هم چک کنید شایداون تغییرات داره که خروجی شما را خراب کرده...

    دیدگاه


      #3
      پاسخ : ADC در LPC1788

      با سلام
      منم یکبار استفاده کردم البته خیلی دقت لازم نداشتیم، نوسان زیاد داشت(ربط که بعیده اما منم emwin داشتم)
      The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

      دیدگاه


        #4
        پاسخ : ADC در LPC1788

        ممنون که جواب دادید.میانگین گرفتم بهتر شده. اما نباید اینقدر نوسان داشته باشه
        ولتاژ رفرنس هم ثابته

        یک سوال دیگه: از تایمرها در مد کانتر برای شمارش پالس خارجی استفاده کردید؟

        دیدگاه


          #5
          پاسخ : ADC در LPC1788

          شمارش پالس خارجی برای چی ؟

          دیدگاه


            #6
            پاسخ : ADC در LPC1788

            به عنوان پالس کانتر

            دیدگاه

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