اطلاعیه

Collapse
No announcement yet.

[ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

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

    #16
    پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

    ترجمه فایل PDF ابتدای تاپیک . . .
    2.2.6

    تأثیر مقاومت منبع سیگنال آنالوگ ورودی

    امپدانس منبع سیگنال ورودی یا مقاومت سری ( RAIN ) بین منبع سیگنال ورودی و پین میکرو به دلیل مختصر جریان کشی پین میکرو باعث افت ولتاژ روی مقاومت
    و در نتیجه کاهش ولتاژ پین میشه .
    شارژ شدن خازن نمونه برداری داخلی میکرو ( CADC ) به وسیله ی یه سویچ الکترونیکی ( ترانزیستور) با مقاومت سری ( RADC ) کنترل میشه .
    با اضافه شدن مقاومت منبع سیگنال ورودی ( RAIN ) به مسیر جریان کشی پین میکرو و سری شدن ( RADC ) و مقاومت منبع سیگنال ورودی ( RAIN ) زمان بیشتری لازم هست
    تا خازن نمونه برداری داخلی
    به طور کامل شارژ بشه و به ولتاژ منبع سیگنال ورودی برسه .

    شکل 15 گویای این مسئله هست .


    شارژ شدن خازن داخلی ADC تابع مقاومت های ( RAIN ) + ( RADC ) هست بنابراین ثابت زمانی شارژ شدن خازن داخلی از فرمول زیر بدست میاد :
    tc = ( RADC + RAIN ) × CADC
    اگر زمان لازم برای نمونه برداری کمتر از زمان لازم برای پر شدن خازن ( CADC ) توسط دو مقاومت ( RAIN ) + ( RADC ) باشه ، مقدار دیجیتالی تبدیل شده توسط ADC کمتر از مقدار واقعی خواهد شد.

    ادامه داره . . .
    جدیدترین ویرایش توسط rezamajdi; ۲۳:۰۹ ۱۳۹۷/۰۵/۱۳.
    آرزوی سرافرازی برای ایران عزیز . . .


    دیدگاه


      #17
      پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

      ترجمه فایل PDF ابتدای تاپیک . . .
      2.2.7

      اثر ظرفیت خازنی منبع تولید سیگنال و ظرفیت خازنی پارازیتی PCB


      هنگام تبدیل سیگنال های آنالوگ ، لازمه که ظرفیت خازنی منبع تولید سیگنال و ظرفیت خازنی پارازیتی دیده شده از پین ورودی میکرو ( پین متصل شده به ADC میکرو ) را حساب کنیم .
      به شکل 16 صفحه 19 فایل PDF مراجعه شود .
      مقاومت و ظرفیت خازنی منبع یه شبکه ( فیلتر ) RC رو تشکیل میدن .
      نتیجه تبدیل ADC ممکنه دقیق نباشه، مگر این که خازن خارجی ( CAIN + Cp ) به طور کامل تا سطح ولتاژ ورودی شارژ بشه .
      هر چه ظرفیت خازن خارجی بیشتر باشه ، دامنه فرکانس منبع تولید سیگنال بیشتر تضعیف میشه .

      خودم : خازن به عبارتی مقاومت متغیر وابسته به فرکانس هست ؛ و هر چه فرکانس افزایش پیدا کنه خازن از خودش مقاومت کمتری نشون میده .
      از همین خاصیت خازن برای فیلتر کردن فرکانس ها و جدا کردن یک محدوده ی فرکانس از یک بازه فرکانسی استفاده میشه .


      خازن خارجی منبع با نماد CAIN ، و خازن پارازیتی با نماد Cp مشخص میشه .

      ادامه داره . . .
      جدیدترین ویرایش توسط rezamajdi; ۲۰:۲۱ ۱۳۹۷/۰۵/۱۴.
      آرزوی سرافرازی برای ایران عزیز . . .


      دیدگاه


        #18
        پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

        ترجمه فایل PDF ابتدای تاپیک . . .
        2.2.8

        اثر تزریق جریان

        جریان تزریقی منفی در هر پین ورودی آنالوگ ( یا یه پین ورودی دیجیتالی نزدیک ) ممکنه جریان نشتی رو به ورودی ADC میکرو وارد کنه .
        بدترین حالت میتونه یه کانال آنالوگ مجاور باشه .
        جریان تزریقی منفی وقتی VAIN < VSS باشه بوجود میاد و باعث میشه جریان از پین ورودی خروجی میکرو ( I/O ) به سمت بیرون سرازیر بشه .
        این مسئله در شکل 17 به تصویر کشیده شده.

        2.2.9
        اثر دما

        دما اثر قابل توجهی در دقت ADC میکرو داره .
        که عمدتاً به دو خطای مهم مربوط میشه :
        1_خطای رانش ( جابجایی و تغیرات ) آفست
        2_خطای رانش گین


        این خطا ها رو میشه در firmware میکروکنترلر جبرانش کرد.
        ( به بخش 3.2.8 ، روش های جبران سازی دما مراجعه بشه )

        دوستانی که در مورد firmware اطلاعات مناسبی ندارن میتونن به آدرس زیر مراجعه شود .
        https://dictionary.abadis.ir/entofa/f/firmware/
        http://www.shahrsakhtafzar.com/forum...-%D8%9F-15265/

        ادامه داره . . .
        جدیدترین ویرایش توسط rezamajdi; ۱۱:۵۹ ۱۳۹۷/۰۵/۱۸.
        آرزوی سرافرازی برای ایران عزیز . . .


        دیدگاه


          #19
          پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

          ترجمه فایل PDF ابتدای تاپیک . . .
          2.2.10
          تداخل پین ورودی خروجی ( I/O )

          سوییج شدن پین های ورودی خروجی ممکنه نویزهایی رو به ورودی آنالوگ ADC میکرو وارد کنه که علتش وجود خاصیت خازنی بین پین های ورودی خروجی هست .

          منظور از Crosstalk دقیقا چیه :
          1_منظور ترکها و مسیر هایی هست که از کنار هم رد میشن
          یا
          2_ ترک ها و مسیرهایی که از روی هم رد میشن

          سیگنال های دیجیتالی سویچینگ داخلی یا ورودی خروجی های میکرو ( I/O ) نویز های فرکانس بالایی رو تولید میکنند که میتونه در دقت اندازه گیری ADC مشکل ایجاد کنه .
          سویچ کردن high-sink ورودی خروجی های میکرو ( I/O ) ممکنه باعث افت ولتاژ در منبع تغذیه بشه که ناشی از جریان های هجومی (Surge) هست .
          دوستان منظور از
          high-sink رو خودمم متوجه نشدم !! اگه کسی اطلاع داره دریغ نکنه . . . ؟؟؟؟
          در صورتی که یک مسیر دیجیتالی از روی یک مسیر آنالوگی ورودی ( مثلا ورودی ADC ) عبور کنه ممکنه مسیر آنالوگ تحت تأثیر قرار بگیره و دچار نویز بشه .

          به شکل 18 توجه کنید .
          در این شکل دو مورد رو به تصویرکشیده که به بیان گر دو مورد ذکر شده بالا هست
          در مورد اول دو ترک رو نشون داده که از کنار هم رد میشن که یکیش مسیر دیجیتالی و یکیش مسیر آنالوگ ( ورودی مثلا ADC میکرو ) هست .
          در مورد دوم دو ترک رو نشون داده با خصوصیات مورد قبلی اما با این تفاوت که یکیش این طرف PCB و یکیش اون طرف هست . در واقع این مورد در برد های حداقل دورو رخ میده .

          2.2.11
          نویز ناشی از EMI

          انتشار امواج الکترومغناطیسی از مدار های مجاور ممکنه نویز های فرکانس بالایی رو به سیگنال های آنالوگ مدار القا کنه .
          علت این امر اینه که مسیر ها و ترک های PCB ممکنه به صورت یه آنتن عمل کنن و نویز های منتشر شده رو دریافت کنند .
          به شکل 19 توجه کنید .

          در این جا بخش شماره 2 از این فایل PDF که بیشتر جنبه مقدماتی و آشنایی داشت خوشبختانه به پایان رسید . . .

          ان شاءالله بخش شماره 3 از پست بعدی شروع میشه که حاوی مهم ترین مفاهیم ، در این فایل PDF هست .
          در واقع اصل مطلب همین بخش شماره 3 هست که به زودی ترجمه و قرار داده میشه .

          ادامه داره . . .
          جدیدترین ویرایش توسط rezamajdi; ۱۸:۰۵ ۱۳۹۷/۰۵/۱۸.
          آرزوی سرافرازی برای ایران عزیز . . .


          دیدگاه


            #20
            پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

            ترجمه فایل PDF ابتدای تاپیک . . .
            بخش 3
            چطور به بهترین دقت ADC دست پیدا کنیم
            3.1
            کاهش اثرات خطاهای مرتبط با خود ADC

            همان طور که قبلا هم گفته شد TUE حاصل جمع نماد های EO _EG_EL_ED نیست .
            این نماد درواقع بیشترین انحرافی هست که بین مقدار دیجیتالی ایده آل و مقدار دیجیتالی واقعی عملیات تبدیل ADC ، میتونه رخ بده .
            این نماد میتونه نتیجه یک یا تعداد زیادی خطا که به صورت همزمان رخ میدن باشه .
            همون طور که ILE انتگرال DLE هست ، میتونه به عنوان شاخص بیشترین میزان خطا مطرح بشه .
            برای محاسبه ی ماکزیمم خطایی که ممکنه درهر پله دیجیتالی رخ بده نباید دو مقدار ILE و DLE رو با هم جمع کرد.

            ماکزیمم مقدار خطا که در دیتاشیت میکرو مشخص شده ، در واقع بیشترین مقدار خطایی هست که در محیط آزمایشگاه در محدوده ولتاژ و دمای ذکر شده اندازه گیری شده .
            مقادیر خطاهای ILE و DLE به طراحی ADC وابسته هستند که کالیبره کردن اون ها مقداری سخت هست .
            با اندازه گیری و بدست آوردن منحنی ADC و ذخیره اون در حافظه میکرو و پردازش های لازم این مقادیر میتونن کالیبره بشن اما لازمه ی این کار اینه که برای هر میکرو به صورت انفرادی صورت بگیره .

            اما خطای آفست و گین به راحتی قابل جبران سازی هست که این کار به دو صورت انجام میگیره :
            1_ استفاده از خاصیت خود کالیبراسیونی میکرو
            2_ استفاده از firmware میکرو


            ان شاءالله ادامه داره . . .
            جدیدترین ویرایش توسط rezamajdi; ۱۹:۴۸ ۱۳۹۷/۰۵/۱۹.
            آرزوی سرافرازی برای ایران عزیز . . .


            دیدگاه


              #21
              پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

              ترجمه فایل PDF ابتدای تاپیک . . .
              3.2

              کاهش خطاهای ADC که به محیط خارجی ADC مرتبط هست
              ولتاژ مرجع/ کمینه شدن نویز منبع تغذیه

              منبع تغذیه

              همون طور که میدونید رگولاتور های خطی از نظر میزان نویز ، دارای خروجی بهتری ( به نسبت رگولاتور های سوییچینگ ) هستند .
              شیوه کار اینه که ابتدا برق رو باید کاهش داد ، سپس یکسو و فیلتر بشه ( صاف بشه ) سپس به ورودی رگولاتور های خطی داده بشه .
              به شدت توصیه میشه که از خازن ( خازن صافی ) در خروجی یکسو کننده استفاده کنید .
              ( به دیتاشیت های رگولاتور های خطی مراجعه کنید )
              اگه از منبع تغذیه سویچینگ استفاده میکنید توصیه میشه که از رگولاتور های خطی برای تغذیه قسمت های آنالوگ استفاده کنید .


              ​ادامه داره . . .
              جدیدترین ویرایش توسط rezamajdi; ۲۳:۳۳ ۱۳۹۷/۰۵/۲۹.
              آرزوی سرافرازی برای ایران عزیز . . .


              دیدگاه


                #22
                پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

                سلام به دوستان
                خوشبختانه بعد از دوهفته بالاخره فرصتی شد ترجمه فایل آموزشی رو از سر بگیرم و در اختبار شما دوستان قرار بدم


                ترجمه فایل PDF ابتدای تاپیک . . .
                ادامه ترجمه بخش 3.2.1

                پیشنهاد میشه بین خطوط مثبت و زمین از خازن هایی با مشخصه فرکانس بالای خوب استفاده کنید .

                بهتره یه خازن 100 نانو فاراد و یه خازن بین 1 تا 10 میکرو فاراد در نزدیکی منبع تغذیه قرار بدید .
                خازن ها این امکان رو فراهم میکنن که سیگنال AC از طریق خط مثبت به زمین وارد بشه و در واقع با این کار نویز ها رو فیلتر میکنه .
                خازن های با ظرفیت کم سیگنال های فرکانس بالا و خازن هایی با ظرفیت زیاد سیگنال های فرکانس پایین رو فیلتر میکنن .
                این مسئله به دلیل ایده آل نبودن خازن ها صورت میگیره در حالی که در حالت ایده آل یه خازن بزرگ به راحتی میتونه سیگنال های
                فرکانس بالا رو فیلتر کنه .

                خازن های سرامیکی ( عدسی ) معمولا در ظرفیت های پایین از 1 پیکو تا 100 نانو و در ولتاژ های 16 تا 50 ولت در دسترس هستند .
                پیشنهاد میشه که این خازن ها رو در نزدیکی منبع تغذیه اصلی و همینطور منبع تغذیه آنالوگ قرار بدید .
                این خازن ها نویز ایجاد شده در ترک های PCB رو فیلتر میکنند .

                ادامه داره . . .
                جدیدترین ویرایش توسط rezamajdi; ۱۹:۴۵ ۱۳۹۷/۰۶/۱۴.
                آرزوی سرافرازی برای ایران عزیز . . .


                دیدگاه


                  #23
                  پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

                  سلام به دوستان

                  بعد از حدود 4 ماه اومدم که نزارم این تاپیک مثل بعضی تاپیک های دیگه زیر گرد و خاک مدفون بشه
                  اما انتظاری که از دوستان و اساتید میره این نیست که تنها نظاره گر تاپیک های این چنینی باشن !!!


                  ترجمه فایل PDF ابتدای تاپیک . . .

                  ادامه ی ترجمه بخش 3.2.1

                  خازن های با ظرفیت کم میتونن نسبت به جریان های لحظه ای هجومی سریع واکنش نشون بدن و در مواقع لازم جریان بار لازم رو با دشارژ سریع فراهم کنن .
                  میشه خازن های تانتالیوم رو به موازات خازن های سرامیکی استفاده کرد .
                  خودم : شاید هدف از این کار کاهش هر چه بیشتری ESR برآیند باشه . . .

                  برای فیلتر کردن نویز های فرکانس پایین میشه از خازن های با ظرفیت نسبتا بالا ( 10 تا 100 میکرو فاراد ) که عموما الکترولیتی هستن استفاده کرد .
                  که پیشنهاد میشه برای عملکرد بهتر، بایستی این خازن ها رو در مجاورت منبع توان قرار داد .

                  برای فیلتر کردن فرکانس های بالا میتوان از فریت به صورت سری با منبع تغذیه استفاده کرد .
                  در این روش ولتاژ DC ناچیزی ( بستگی به جریان داره ) روی فریت افت خواهد کرد مگر این که جریان عبوری زیاد باشه .
                  در فرکانس های بالا هم ( با توجه به خاصیت قطعات سلفی ) امپدانس فریت افزایش پیدا خواهد کرد .

                  ادامه داره . . .
                  جدیدترین ویرایش توسط rezamajdi; ۰۹:۵۸ ۱۳۹۷/۱۰/۰۴.
                  آرزوی سرافرازی برای ایران عزیز . . .


                  دیدگاه


                    #24
                    پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

                    ادامه ترجمه بخش 3.2.1

                    در خصوص میکروکنترلر های STM32

                    در بیشتر میکروکنترلر های STM32 پایه های VDD و VSS کنار همدیگر قرار داده شدند همینطور پایه های VREF+ و VSSA .
                    بنابراین با توجه به مجاورت این دوپایه ها در میکروکنترلر میشه یه خازن رو ترجیحا بسیار نزدیک به میکرو قرار داد.
                    برای پین های VSS و VDD چند گانه باید از خازن های مجزا استفاده کرد .
                    در بعضی میکرو ها چند تا پایه + و چند تا پایه زمین داریم که داره میگه برای هر جفت + و زمین باید خازن قرار داد .
                    توجه کنید هرچه پایه های خازن رو کوتاه تر در نظر بگیرید تاثیر گذاری عملکرد خازن بیشتر خواهد بود .
                    در خصوص میکرو های STM32 برای پایه VDDA باید از دوخازن دیکوپلینگ به صورت موازی استفاده کرد
                    یکی 10nf و دیگری 1uf .

                    برای میکروکنترلر های STM32 که در پکیج های 100 یا 144 پایه تولید شدن این امکان وجود داره که با متصل کردن ولتاژ ورودی رفرنس ADC خارجی مجزا دقت اندازه گیری رو در ورودی های ولتاژ پایین بهبود بخشید .
                    در واقع میخواد بگه که اگه برای پین VREF+ یه منبع خارجی مجزا از VDDA در نظر بگیریم به افزایش دقت اندازه گیری ADC کمک خواهد کرد
                    به شکل 20 صفحه 23 فایل PDF(در ابتدای تاپیک قرار داده شده) مراجعه شود .

                    محدوده تنظیم ولتاژ رفرنس از 2.4 تا VDDA میتونه متغیر باشه .
                    در صورت تامین ولتاژ رفرنس مجزای خارجی بایستی دوخازن 10 نانو و 1 میکرو فاراد رو به موازات هم بین پایه VREF+ و VSSA قرار داد

                    ادامه داره . . .
                    آرزوی سرافرازی برای ایران عزیز . . .


                    دیدگاه


                      #25
                      پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

                      3.2.2

                      ولتاژ رفرنس و رگولاسیون منبع تغذیه

                      اگه قصد داریم از ADC میکرو استفاده میکنیم و پایه VREF+ رو به عنوان رفرنس در نظر گرفتیم بهتره منبع تامین ولتاژ رفرنس ما
                      از رگولاسیون بار و خط مناسبی برخوردار باشه .
                      مخصوصا زمانی که رفرنس ADC رو ( VREF+ ) از VDD میگیریم با توجه به تغییرات مکرر بار در VDD و نوسانات ولتاژی که در این نقطه به دنبال داره
                      بیشتر باید روی رگولاسیون مناسب بار و خط حساسیت به خرج بدیم .
                      به عنوان مثال رگولاتور LD1086 زمانی که ورودی بین 2.8 تا 16.5 ولت باشه و جریان بار هم 10 میلی آمپر باشه دارای رگولاسیون خط برابر 0.035% میباشد که مناسب هست .
                      و در خصوص رگولاسیون بار هم دارای دقتی معادل 0.2% هست زمانی که جریان بین 0 تا 1.5 آمپر باشه .


                      بنابراین مبحث این بخش اینه که هرچه دقت رگولاسیون خط و بار بیشتر باشه ، خروجی رگوله شده و پایداری بهتری رو خواهیم داشت که برای کاربرد های ADC بسیار مناسب خواهد بود .
                      جدیدترین ویرایش توسط rezamajdi; ۰۰:۱۳ ۱۳۹۷/۱۰/۰۶.
                      آرزوی سرافرازی برای ایران عزیز . . .


                      دیدگاه


                        #26
                        پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

                        ترجمه فایل PDF ابتدای تاپیک . . .

                        3.2.3

                        حذف نویز سیگنال آنالوگ ورودی

                        1_روش میانگین گیری


                        روش میانگین گیری یه تکنیک ساده ی نرم افزاری در راستای کاهش اثرات نویز در سیگنال های آنالوگ هست .
                        به این صورت که از سیگنال چند بار نمونه برداری صورت میگیره و سپس میانگین کل نمونه ها به عنوان نتیجه نهایی مد نظر قرار میگیره
                        این روش زمانی موثر هست که ولتاژ ورودی ما با سرعت زیاد ( نسبت به سرعت نمونه برداری ) تغیر نکنه .
                        میانگین ولتاژی که حاصل میشه باید حاصل از نمونه هایی باشه که از یه ولتاژ مشخص برداشته شده ( اشاره به جمله قبلی داره ).
                        باید اطمینان حاصل کرد که ولتاژ آنالوگ ورودی در هنگام اجرای عملیات تبدیل ثابت باقی میمونه در غیر این صورت مقادیر دیجیتالی مطابق با ولتاژ های
                        آنالوگ ورودی متفاوتی بدست خواهد آمد و این میتونه میزان خطا رو افزایش بده .

                        در میکرو های STM32L0 و STM32L4 بخش oversampling ( بیش از یک نمونه برداری ) قسمت adc میتونه برای عملیات میانگین گیری مورد استفاده قرار بگیره .
                        این ویژگی تعداد نمونه مشخص شده ی خام adc رو جمع میزنه و به یک نمونه نهایی تبدیل میکنه .
                        خودم : یعنی مثلا بهش گفتیم 4 تا نمونه خام رو که گرفتی جمع بزن و نتیجه رو بگو .
                        این نمونه نهایی بعدا میتونه به سمت راست شیفت پیدا کنه ( عملیات تقسیم ) تا پهنای بیت این نمونه که به وسیله جمع آوری نمونه های adc به وجود اومده کم بشه .
                        خودم : منظورش اینه که تقسیم به تعداد نمونه ها بشه
                        از همین جا مشخصه که تعدا نمونه برداری ها توانی از عدد 2 هست . . .

                        همه ی این عملیات ها ( جمع آوری نمونه های خام و شیفت دادن به راست ( تقسیم کردن ) ) به وسیله بخش سخت افزاری مشخصی انجام میشه .

                        خودم : یکی از فواید میکرو های جدید مثلا همین stm32 نسبت به میکرو های قدیمی مثل avr همین فراوانی بخش های متعدد سخت افزاری مختلفی هست
                        که در کنار بخش های جانبی اصلی میکرو ( مثل adc یا dac یا spi یا . . . ) به ایفای نقش میپردازن و امکانات بهتر و بیشتری در اختیار ما قرار میدن و همین طور بار پردازشی رو از روی cpu کم میکنند .


                        بخش سخت افزاری oversampling در میکرو های STM32L0 و STM32L4 تا 256 ( 28 ) نمونه ورودی رو پشتیبانی میکنه .

                        ادامه داره . . .
                        جدیدترین ویرایش توسط rezamajdi; ۱۴:۰۴ ۱۳۹۷/۱۰/۰۹. دلیل: تکمیل
                        آرزوی سرافرازی برای ایران عزیز . . .


                        دیدگاه


                          #27
                          پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

                          ترجمه فایل PDF ابتدای تاپیک . . .

                          2_روش اضافه کردن فیلتر خارجی


                          با اضافه کردن فیلتر RC خارجی امکان تضعیف و حذف فرکانس های بالا ( که در سیگنال آنالوگ ورودی وجود داره ) به وجود خواهد آمد .
                          در این خصوص یه فیلتر پایین گذر نسبتا ساده با فرکانس قطع fc که بالاتر از رنج فرکانسی مورد نظر ما قرار داره کافیه تا نویز ها رو محدود کنه .
                          نرخ نمونه برداری مطابق با بالاترین فرکانس مورد نظر کافی هست ، معمولا 2 تا 5 برابر fc .
                          آرزوی سرافرازی برای ایران عزیز . . .


                          دیدگاه


                            #28
                            پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

                            ترجمه فایل PDF ابتدای تاپیک . . .
                            3.2.4
                            اضافه کردن نویز سفید یا یک نوسان مثلثی شکل برای بهبود بخشیدن به تفکیک پذیری adc

                            خودم : برای کسب اطلاعات بیشتر در خصوص مبحث نویز سفید به آدرس زیر مراجعه کنید یا عبارت نویز سفید رو گوگل کنید

                            نویز سفید به طور معمول و در اصطلاح عامیانه به آن چه که با نام برفک تلویزیون می‌شناسیم گفته می‌شود. البته در این تعریف بیش از تصویر دانه‌های سیاه و سفید برفک تلویزیون، صدایی که در پس زمینه‌ی تصویر به گوش می‌رسد مد نظر قرار دارد. با این حال تعاریف مربوط به نویز سفید یا سر و صدای سفید فراتر از این اصطلاح عامیانه می‌رود.

                            روش پیش رو تکنیک ها و روش های سخت افزاری و نرم افزاری رو ترکیب میکنه تا دقت اندازه گیری رو بهتر کنه .
                            از نقطه نظر نرم افزاری این روش از میان گیری و ( oversampling که در پست 26 توضیح داده شد ) استفاده میکنه و
                            از دیدگاه سخت افزای این روش از اصلاح ، گسترش و تغیر سیگنال استفاده میکنه .

                            استفاده از روش میانگین گیری زمانی صورت میگیره که سیگنال ورودی ما نویزی باشه ( دارای نویز باشه ) ( مقداری تغیرات در دامنه سیگنال ورودی لازمه تا بتونیم
                            مقدار میانگین سیگنال رو محاسبه کنیم که در ادامه بهتر و شفاف تر توضیح داده میشه ) و لازمه که مقدار میانگین سیگنال محاسبه بشه .

                            ادامه داره . . .
                            جدیدترین ویرایش توسط rezamajdi; ۲۳:۲۵ ۱۳۹۷/۱۰/۱۱.
                            آرزوی سرافرازی برای ایران عزیز . . .


                            دیدگاه


                              #29
                              پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

                              ترجمه فایل PDF ابتدای تاپیک . . .

                              ادامه بخش 3.2.4

                              مشکل وقتی پیش میاد که ورودی سیگنال آنالوگ ما خیلی پایدار هست و در واقع نویزی در اون وجود نداره .
                              در چنین مواقعی وقتی سیگنال ورودی توسط adc اندازه گیری میشه هر نمونه ای که گرفته میشه با دیگر نمونه ها برابر هست

                              خودم : این جا فرض شده که مثلا ولتاژ آنالوگ ورودی ما به هر دلیلی فعلا ثابت هست و تغیری نمیکنه حالا داره میگه در چنین شرایطی
                              هر چه شما نمونه برداری کنی قطعا مقادیر دیجیتالی بدست اومده با دیگری برابر هست . دقت کنید که این مسئله زمانی رخ میده که
                              تغذیه میکروی شما ثابت و پایدار باشه و همینطور ورودی سیگنال .
                              که اغلب مواقع به دلیل ناپایداری جزیی مقادیر بدست اومده با اختلاف چند تایی در مقادیر دیجیتال همراه هست مثلا ممکنه مقادیر بین 1068 و 1071 تغییر کنه .


                              این اتفاق به این دلیل هست که سیگنال ورودی یه جایی بین دو سطح مجاور دیجیتالی adc هست . ( مثلا بین دومقدار 0x14A و 0x14B ).
                              در چنین مواقعی که سیگنال ورودی ما بین دو سطح دیجیتالی قرار داره و تغیری هم نمیکنه دیگه بیشتر از این نمیشه رزولوشن رو بالا برد و مقدار دقیق تر
                              سیگنال رو بدست آورد .

                              حالا راهکار چیه ؟؟
                              راهکار اینه که بیایم با اضافه کردن نویز یا یه سری تغیرات و نوسانات ( نوسانات یک شکل و یک دست مثل نوسانات مثلثی شکل ) سطح سیگنال ورودی رو
                              به اندازه 1bit تغیر بدیم . ( بنابراین اگه سیگنال ما بین دو سطح 0x14A و 0x14B باشه با این کار حالا دیگه از کمتر از 0x14A تا بیشتر از 0x14B تغییر میکنه )
                              و این باعث میشه نتیجه خروجی تبدیل adc متغیر باشه ( به اندازه 1 بیت )
                              و با به کارگیری عملیات میانگین گیری روی نتایج متغیری که از adc بدست میاد ، مقدار میانگین سیگنال اصلی حاصل میشه .

                              خودم :
                              یه مثلا ساده :
                              یه ترازو دیجیتال داریم که دقت اندازه گیریش 1 کیلو گرم هست
                              حالا شما مثلا با وزن مثلا 65.7 کیلو گرم رو این ترازو ایستادی . با توجه به دقت ترازو عدد نشان داده شده یا 65 هست یا 66
                              یعنی از این دقیق تر دیگه نمیتونه نشون بده .
                              حالا تو این پست راهکاری که ارائه کرده اینه که بیایم مثلا یه فشار نوسانی کم به ترازو وارد کنیم طوری که وزن لحظه ای به اندازه مشخصی
                              کمتر و بیشتر از وزن اصلی یعنی 65.7 برسه
                              با این کار اگه ترازو به سیستم میانگین گیری مجهز باشه وزن شما رو با دقت بیشتری نشون خواهد داد .
                              به همین سادگی


                              در میکرو کنترلر های STM32L0 و STM32L4 که از سخت افزار oversampling بهره مند هستندبرای انجام عملیات میانگین گیری دیگه نیازی به عملیات نرم افزاری
                              و برنامه نویسی نیست .

                              به عنوان یک مثال :
                              این راهکار که در این پست بهش اشاره شد میتونه به وسیله ی یه مولد سیگنال مثلثی که به وسیله یه مقاومت و یه خازن انجام میشه صورت بگیره
                              و سیگنال مثلثی شکل رو به ورودی سیگنال تزریق کنه . ( تولید سیگنال نویز سفید به مراتب پیچیده تر از تولید سیگنال مثلثی هست ) .
                              باید توجه کرد که در بکارگیری این روش مقدار میانگین سیگنال اصلی دست خوش تغییر قرار نگیره .( بنابراین کوپلینگ خازنی باید مورد استفاده قرار بگیره )

                              یه مثال خیلی ساده از اجرای این روش و تولید یه سیگنال شبه مثلثی که میتونه توسط خود میکروکنترلر STM32 تولید بشه به صورت شماتیک در شکل 22 نشون داده شده .
                              آرزوی سرافرازی برای ایران عزیز . . .


                              دیدگاه


                                #30
                                پاسخ : [ آموزشی ] چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

                                ترجمه فایل PDF ابتدای تاپیک . . .

                                3.2.5

                                مطابقت دادن دامنه ولتاژ کاری ADC با ماکزیمم دامنه سیگنال ورودی

                                این روش با انتخاب مناسب ولتاژ مرجع یا با استفاده از یک طبقه پیش تقویت کننده دقت رو بهبود میده تا بیشترین رزولوشن ممکن از تمام تفکیک پذیری
                                خروجی ADC ( در ADC هایی با رزولوشن 12 بیت نهایت قدرت تفکیک پذیری برابر 212 است ) بدست بیاد .

                                انتخاب ولتاژ مرجع ( این روش برای قطعات (میکرو های STM32) با پکیج های 100/144 پین هست )

                                ولتاژ مرجع ، در محدوده ی سیگنال مورد نظر برای اندازه گیری تنظیم میشه . اگه ولتاژ اندازه گیری شده دارای آفست باشه بنابراین ولتاژ مرجع هم بهتره مشابه همون
                                آفست رو داشته باشه . اگه سیگنال مورد اندازه گیری یه ماکزیمم دامنه مشخصی داشته باشه بهتره برای افزایش تفکیک پذیری سیگنال ، دامنه ولتاژ مرجع رو به اندازه ماکزیمم دامنه سیگنال بالا برد .

                                بنابراین با تطابق قرار دادن رنج ولتاژ ورودی با ولتاژ رفرنس میشه به بیشترین دقت تفکیک پذیری و رزولوشن رسید .

                                خودم :
                                با توجه به این که استفاده از واژه ی قطعا یا مطمئنا یا صد در صد در خیلی از موارد به خصوص در الکترونیک بسیار سخت و در مواردی غیر ممکن هست بنابراین در عمل همیشه باید یه حاشیه ایمنی در نظر گرفت .
                                یعنی خیلی سخته که شما بتونی تضمین کنی که سیگنال ورودی صد در صد از این حد بیشتر نمیشه مخصوصا به صورت لحظه ای !!!
                                معمولا شرکت های سازنده قطعات و آی سی ها با توجه به آزمایش های بسیار و دارا بودن سطح بالایی از دانش الکترونیک در بعضی موارد میتونن پارامتر هایی
                                رو در خصوص قطعه ی تولیدی در یک محدوده مشخص تضمین کنند که به صورت دقیق تر به دو صورت لحظه ای یا پیوسته مشخص میشه .
                                در خیلی از موارد شرایطی غیر قابل پیش بینی و خارج از انتظار ما ممکنه صورت بگیره و این مسئله هست که اطمینان پذیری رو به شدت کاهش میده

                                دوستان حتما اطلاع دارن که بین تئوری و عملی اختلاف وجود داره
                                در تئوری معمولا فرض بر این هست که قطعات همیشه طبق آنچه ما انتظار داریم رفتار خواهند کرد یا در بعضی موارد فرض بر این هست که قطعات ایده آل هستند
                                با توجه به این فرض اشتباه ممکنه در طراحی PCB نکات لازم در نظر گرفته نشه و در نهایت مداری خواهیم داشت که در بعضی مواقع آسیب پذیر بوده و عکس العمل
                                مناسبی نخواهد داشت به همین دلیل بایستی تمام موارد احتمالی رو در عمل در نظر گرفت و در طراحی شماتیک مد نظر قرار داد .
                                به عنوان مثال : تلورانس مقاومت ها _ خازن ها _ سلف ها _ عملکرد متفاوت قطعات در دماهای مختلف _ فیک بودن قطعات و در نتیجه غیر قابل انتظار بودن عملکرد اونها و . . .
                                بنابراین با توجه به موارد ذکر شده بهتره همیشه یه حاشیه ایمنی در نظر گرفت

                                مثلا اگه شما به فرض مطمئن هستید که ماکزیمم ولتاژ ورودی شما از 3 ولت بیشتر نمیشه بهتره ولتاژ رفرنس رو کمی بیشتر از 3 ولت در نظر بگیرید مثلا 3.3 ولت
                                این که چقدر حاشیه ایمنی درنظر گرفته بشه به دقت کار ما و درصد اطمینان پذیری مدار بر میگرده
                                به فرض اگه برای تقسیم ولتاژ سیگنال از مقاومت های خیلی دقیق استفاده کنید میتونید حاشیه ایمنی رو مقدار کمتری در نظر بگیرید
                                اما اگه از مقاومت های با تلورانس بالا استفاده کنید قطعا حاشیه ایمنی که شما در نظر میگیرید باید افزایش پیدا کنه .



                                دوستان موفق و موید باشید
                                ادامه داره . . .
                                جدیدترین ویرایش توسط rezamajdi; ۱۵:۱۷ ۱۳۹۷/۱۰/۱۴.
                                آرزوی سرافرازی برای ایران عزیز . . .


                                دیدگاه

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