اطلاعیه

Collapse
No announcement yet.

مشکل با ADC و خطی نبودن آن (Gain Eror)

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

    مشکل با ADC و خطی نبودن آن (Gain Eror)

    با سلام خدمت دوستان گرامی
    در یک مدار ساده هنگام خواندن یک ولتاژ آنالوگ از Mega32 استفاده میکنم
    دقت 10 بیت ، Ref=Vref=5.00V
    مشکل اینجاست که در ولتاژ های بالا دقت خوبه ولی هر چی ولتاژ کمتر میشه خطا بیشتر میشه و عدد کمتری قرائت میشه
    تا حدی که در ولتاژ 0.2 بجای عدد 40 یا 41 عدد 22 خوانده میشود یعنی حدود نصف مقدار واقعی یعنی 100% خطا :cry2:
    و هرچه ولتاژ بیشتر میشه نتیجه دقیق تر در میاد - مثلا در 2.5 ولت بجای 511 یا 512 عدد 504 خوانده میشود که 2% خطا دارد :nice:

    خلاصه هرچی ولتاژ کم تر میشه بد تر میشه و از شانس هم محدوده 0 تا 5 رو لازم دارم و هم 10 بیت دقت . حالا چه باید کرد؟

    ضمنا از فیلتر تغذیه هم استفاده کردم و از پورت ها اصلا استفاده نکردم و خلاصه نویز و اعداد رندوم و تصادفی هم ندارم و اعداد خوانده شده کاملا مطمئن و ولتاژ اندازه گیری شده کاملا DC بوده و در مد Single تبدیل میشود و خلاصه از مدار مطمئن هستم

    منتظر یاری سبزتان هستیم :applause:

    #2
    پاسخ : مشکل با ADC و خطی نبودن آن (Gain Eror)

    در تنظیمات ورودی ADC دو گزینه اتصال GND و ولتاژ Band gap به ورودی ADC وجود دارد که از طریق انتخاب این دو گزینه و بدست آوردن دو نقطه از منحنی مشخصه ADC، می توانید مقدار صحیح برای سایر نقاط را تخمین بزنید. یک روش دیگر هم اعمال دو ولتاژ مختلف بصورت خارجی و قرائت مقدار ADC است که از این طریق مشخصه واقعی آن قابل حصول است. ضمنا برای دقت 10 بیتی باید کلاک ADC در محدوده 50 تا 200 کیلوهرتز باشد که در صورت عدم رعایت این محدوده، دقت مورد نظر حاصل نخواهد شد.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #3
      پاسخ : مشکل با ADC و خطی نبودن آن (Gain Eror)

      نوشته اصلی توسط fakheri


      هرچه ولتاژ بیشتر میشه نتیجه دقیق تر در میاد - مثلا در 2.5 ولت بجای 511 یا 512 عدد 504 خوانده میشود که 2% خطا دارد :nice:

      خلاصه هرچی ولتاژ کم تر میشه بد تر میشه و از شانس هم محدوده 0 تا 5 رو لازم دارم و هم 10 بیت دقت
      فکر نکنم اینطوری باشه حتما مدار شما اشکال داره 99.9 درصد
      اولا من آخرین بار با Avr چند سال پیش از adc استفاده کردم از نزدیک صفر ولت تا 5 ولت دقیق دقیق بود حتی دقیق تر از ولت متر
      ثانیا با توجه به ساختار adc عدم دقت ممکن نیست
      تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
      داشتن عقله زيادتر از دیگر آدم ها است

      دیدگاه


        #4
        پاسخ : مشکل با ADC و خطی نبودن آن (Gain Eror)

        با تشکر از آقای کی نژاد بابت پاسخی که دادن
        وقتی ورودی را به Vbg دادم متوجه شدم که باز هم عدد اشتباه خوانده میشود
        گفتم دیگه الان همه چی توی میکرو هست - پس عوضش کرذم ودرست شد
        جالبه که همه جای میکرو درست کار میکرد و فقط ADC بد کار میکرد -
        چند ثانیه بعد میکرو به بیرون پرتاب شد تا دیگه کسی رو سر کار نذاره و درس عبرتی باشد برای سایر میکرو ها :mrgreen:
        الان خیلی خوب کار میکنه با اینکه Vref خارجیه :wow:
        البته وقتی روی 2.56 داخلی هست دیدم خطا داره ولی بازم خوب و خطی کار میکنه
        در این حالت پایه Vref خارجی رو گرفتم 2.74 بود و با گذاشتن 2.74 توی برنامه همه چی درست شد
        فقط یه سوال : آیا امکان داره میکرو های مختلف ولتاژ های مختلفی درست کنن؟ چون 0.18 ولت اختلاف زیادی هست
        یا بهتره از VREF خارجی استفاده کنم؟

        دیدگاه

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