ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 32
  1. #1
    2015/08/27
    1,741
    993

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

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

    با توجه به استفاده گسترده از میکروکنترلر های STM32 و کاربرد بسیاری که در صنعت دارند تصمیم دارم در این تاپیک به طور اختصاصی به بحث در خصوص
    مبحث پرکاربرد ADC و عواملی که در دقت اندازه گیری این بخش تاثیر گزار هست بپردازم .
    در این راستا یک فایل PDF بسیار خوب و پر محتوا که در این خصوص به تفکیک توضیحاتی رو ارائه کرده در نظر گرفتم که ان شاءالله به یاری خدا تمام این فایل که 49 صفحه
    هست رو ترجمه کرده و به زبان روان برای دوستان و علاقه مندان به کار با این نوع از میکرو کنترلر ها ( STM32 ) قرار میدهم .
    امید است که با ترجمه این PDF اشتیاق بیشتری برای مطالعه ی این مبحث بوجود بیاد .
    ضمنا در صورتی که ایرادهایی وجود داشت امیدوارم که دوستان تذکر بدن
    در همین جا از تمامی اساتید و صاحب نظران درخواست میشه که سهم خودشون رو در این خصوص در این تاپیک ایفا کنند و پیشاپیش از تمامی کسانی که قدمی بر میدارند تشکر میکنم .

    آدرس فایل PDF :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت




    بســــــم الله . . .

    ابتدا یه توضیح اجمالی و مختصر راجع به ADC میکروهای STM32

    میکروهای STM32 تا 4 ماژول ADC با رزولوشن 12 بیت رو دارا هستند که به عنوان مثال یک میکروی پرکاربرد از این نوع STM32F103 دارای 3 ماژول ADC هست
    self-calibration یا خاصیت خود کالیبراسیون این ماژول (ADC) این امکان رو فراهم میکنه که دقت ADC رو حتی با وجود تغیرات شرایط محیطی افزایش بدیم .
    باتوجه به اهمیت دقت اندازه گیری در بسیاری از کاربرد ها میبایست خطاهای ADC و پارامتر هایی که بر اندازه گیری این ماژول تاثیر گزار هست رو مطلع بود که در ادامه ذکر میشه .
    دقت ADC تنها به عملکرد خودش وابسته نیست بلکه به طراحی PCB مدار که مرتبط و تاثیر گذار بر این بخش هم هست بستگی داره .
    در ادامه ترجمه این فایل آموزشی به ما کمک میکنه که بدونیم خطاهایی که ممکنه ADC دچارشون بشه چیه و چطور باید دقت اندازه گیری این بخش رو افزایش بدیم
    که به سه بخش تقسیم میشه :
    1_یه توصیف ساده از ساختار داخلی ADC و دونستن عملکرد این بخش
    2_تشریح مدل های مختلف و منابع مختلفی که باعث خطای این بخش میشن که به طراحی PCB و پارامتر های خارجی ADC مرتبط میشه
    3_پیشنهادهایی ارائه شده که چطور این خطا ها رو به کمترین حد برسونیم که تمرکز بر طراحی سخت افزار ( PCB ) و کدهای نوشته شده برای ADC هست .

    بخش 1
    مبادی و اصول داخلی ADC
    1.1
    ساختار داخلی ADC که براساس نوع SAR ( به معنی رجیستر تقریب متوالی ) می باشد
    ماژول های ADC که در میکروهای STM32 جاسازی شده از مدل SAR برای اندازه گیری مقادیر استفاده میکنند
    هر عمل تبدیل در چند سیکل و استپ انجام میشه که تعداد استپ ها برابر هست با تعداد بیت های مبدل ADC
    هر استپ کلاکش رو از کلاک متصل شده به بخش ADC میگیره
    هر کلاک ADC یه بیت از کل بیت هایی که در رزولوشن 12 بیتی باید 1 بشن تا نتیجه نهایی بدست بیاد رو تولید میکنه
    طراحی داخلی این مدل از ADC براساس تکنولوژی سویچ کردن و 0 و 1 شدن خازن ها انجام شده که شکلش رو میتونید تو صفحه 6 فایل ببینید

    ادامه داره . . .
    ویرایش توسط rezamajdi : 2018/07/07 در ساعت 22:24
    آرزوی سرافرازی برای ایران عزیز . . .


  2. #2
    2015/08/27
    1,741
    993

    پاسخ : چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

    بخش 2
    در بخش 2 لیست ارور های اصلی که در دقت تبدیل آنالوگ به دیجیتال موثر هستند رو ارائه میکنیم .
    این مدل از ارور ها که در ادامه توضیح داده میشه در همه مبدل های آنالوگ به دیجیتال اتفاق میوفته و کیفیت تبدیل بستگی داره به اینکه چقدر از این ارور ها
    رو رفع کنیم .
    مقادیر این ارور ها در دیتاشیت میکروکنترلر های stm32 در قسمت مشخصات adc مشخص شده .
    به عنوان یه نمونه ساده : دقت خطاها به صورت مضربی از 1LSB بیان میشه .
    رزولوشن ولتاژ به ولتاژ رفرنس انتخابی وابسته هست .
    ارور ولتاژ محاسبه میشه به وسیله ضرب کردن عدد LSB ها در ولتاژ 1LSB که ولتاژ 1LSB از رابطه زیر بدست میاد :
    1LSB = Vref+ / 2^12
    2.1
    ارورهایی که به خود adc مرتبط هست
    2.1.1
    ارور آفست
    ارور آفست یه انحراف هست بین اولین انتقال واقعی و اولین انتقال ایده آل . این معنی انتقال رو خودم درست متوجه نشدم ؟؟
    اولین انتقال وقتی که خروجی adc که دیجیتالی هست از 0 به 1 تغییر میکنه اتفاق میوفته .
    در حالت ایده آل و به لحاظ تئوری وقتی ورودی آنالوگی که به adc وصل کردیم از نظر بخش دیجیتال بین 0.5LSB و 1.5LSB باشه خروجی دیجیتال باید برابر 1LSB بشه .
    همچنین در حالت ایده آل اولین انتقال در 0.5LSB اتفاق میوفته .
    ارور آفست از این به بعد با نماد Eo نام گزاری میشه .
    ارور آفست توسط کد برنامه نویس به آسونی قابل کالیبره کردن هست .

    ادامه داره . . .
    ویرایش توسط rezamajdi : 2018/07/07 در ساعت 11:40
    آرزوی سرافرازی برای ایران عزیز . . .


  3. #3
    2012/12/30
    بوشهر
    3,204
    1,105

    پاسخ : چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

    ADC میکرو STM32 بسیار عالی هستش فقط کافیه خوب شناخته بشه. من قبلا توضیحاتی داده بودم که ارورها توی این میکرو چطور هستش.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    البته وقت نکردم کامل و بیشتر توضیح بودم. الان هم همین طور ولی قسمت مشخصات ADC توی دیتاشیت رو بفهمید کامل دستتون میاد. خصوصا نمودار ارورها و فرمول مربوطه و دیاگرام اتصال عمومی
    واقعا ADC میکرو قسمتی هستش که قبل از کار کردن باید خوب شناختش. خصوصا این STM32
  4. #4
    2015/08/27
    1,741
    993

    پاسخ : چطور به بهترین دقت ADC در میکروکنترلر های STM32 دست پیدا کنیم

    به عنوان نمونه :
    در خصوص adc میکرو stm32 کوچکترین تغیر قابل توجهی در ولتاژ رو LSB میگن :
    1LSB = Vref+ / 4096
    که در بعضی پکیج ها Vref+ = Vdda
    اگه ولتاژ رفرنس برابر 3.3 ولت باشه مقدار ولتاژ402.8uV با توجه به عبارت داخل پرانتز (0.5LSB = 0.5 * 805.6uV ) به صورت ایده آل باید منجر به تولید
    خروجی دیجیتالی 1 بشه .
    البته در عمل ممکنه که ADC در چنین شرایطی ( ولتاژ ورودی 402.8 میکرو ولت ) خروجی دیجیتالی صفر رو تولید کنه !
    یه مثال ساده در خصوص اندازه گیری مقدار آفست :
    فرض کنیم خروجی دیجیتالی 1 از ولتاژ ورودی 550 میکرو ولت بدست اومده . با این حساب داریم :
    مقدار انتقال ایده آل - مقدار انتقال واقعی = ارور آفست
    Eo = 550uV - 402.8uV = 141.2uV
    Eo = 141.2uV / 805.6uV = 0.17 LSB
    وقتی یه ولتاژ آنالوگ ورودی بیشتر از 0.5LSB اولین انتقال رو تولید میکنه ارور آفست مقداری مثبت هست .
    به شکل 7 در صفحه ی 11 فایل PDF مراجعه کنید
    آدرس فایل PDF :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    حالا وقتی یه ولتاژ آنالوگ ورودی کمتر از 0.5LSB اولین انتقال رو تولید میکنه مقدار ارور آفست منفی هست
    به شکل 8 مراجعه شود

    اگه ولتاژ آنالوگ ورودی برابر باشه با Vssa و ADC خروجی دیجیتالی غیر صفر رو تولید کنه ارور آفست مقدار منفی هست
    این به این معنی هست که ولتاژ منفی اولین انتقال رو تولید میکنه .

    ادامه داره . . .
    ویرایش توسط rezamajdi : 2018/07/07 در ساعت 17:21
    آرزوی سرافرازی برای ایران عزیز . . .


  5. #5
    2018/03/30
    44
    4

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

    سلام
    جناب مجدی از آموزشی که گذاشتید تشکر میکنم
    من که منتظرم آموزش adc تکمیل بشه بتونم با اطلاعات کامل با adc میکرو کار کنم
  6. #6
    2015/08/27
    1,741
    993

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

    نقل قول نوشته اصلی توسط Fake

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

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

    2.1.2
    ارور گین

    خطای ارور گین در واقع انحراف بین آخرین انتقال واقعی ( انتقالی که در عمل رخ داده ) و آخرین انتقال ایده آل هست .
    که این ارور گین با نماد EG نشون داده میشه . . .
    آخرین انتقالی که در عمل رخ داده ( انتقال واقعی ) در واقع انتقالی از 0XFFE به 0XFFF هست
    در حالت ایده آل باید از مقدار 0XFFE به 0XFFF انتقالی وجود داشته باشه وقتی که ولتاژ ورودی برابر Vref+ - 0.5LSB هست
    بنابراین برای ولتاژ رفرنس 3.3 ولت آخرین انتقال واقعی باید در ولتاژ 3.299597 ولت اتفاق بیوفته .
    در صورتی که Vain < Vref+ - 0.5LSB باشه و ADC مقدار 0XFFF رو بخونه اون وقت ارور گین منفی بدست میاد .

    مثال :

    ارور گین از فرمول زیر بدست میاد :
    EG = last actual transition - ideal transition
    اگه ولتاژ رفرنس برابر 3.3 و ولتاژ آنالوگ ورودی برابر 3.298435 ولت باشه و این باعث بشه که عمل انتقال از
    0XFFE به 0XFFF صورت بگیره داریم :
    EG = 3.298435 V - 3.299597 V
    EG = -1162 uV
    EG = ( -1162 uV / 805.6 uV )
    LSB = - 1.44 LSB
    اگه مقدار 0X FFF از ولتاژ ورودی که برابر ولتاژ رفرنس هست بدست نیاد ارور گین مثبت میشه .
    این به این معنی هست که ولتاژی بیش از ولتاژ رفرنس باعث آخرین انتقال و بدست اومدن مقدار 0X FFF خواهد شد

    شکل 9 در صفحه 12 فایل PDF ارور گین مثبت رو نشون میده .
    شکل 10 در صفحه 13 فایل PDF ارور گین منفی رو نشون میده .

    آدرس فایل PDF :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت




    ویرایش توسط rezamajdi : 2018/07/10 در ساعت 15:35
    آرزوی سرافرازی برای ایران عزیز . . .


  7. #7
    2015/08/27
    1,741
    993

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

    2.1.3
    خطای خطی تفاضلی

    خطای خطی تفاضلی که به اختصار DLE نوشته میشه بیشترین انحراف بین مقدار واقعی و مقدار ایده آل پله های تبدیل هست .
    منظور از پله (STEP) رو با یه مثال میگم مثلا یه ADC با رزولوشن 12 بیت دارای 12^2 پله هست
    دقت کنید که در این جا کلمه ایده آل به منحنی انتقال ایده آل اشاره نمیکنه بلکه منظور رزولوشن ADC هست .
    DLE رو با نماد ED مشخص میکنیم که در شکل 11 نشان داده شده .
    ED = actual step width - 1LSB
    در حالت ایده آل اگه تغیرات ولتاژ ورودی به اندازه 1LSB باشه باید باعث تغیرات در خروجی ADC بشه .
    اگه برای ایجاد تغیر در خروجی دیجیتالی ADC مقدار ولتاژ آنالوگی بیشتر از 1LSB لازم بود به این معنی هست که DLE باید در نظر گرفته بشه .
    بنابراین در خصوص DLE میشه این طوری گفت : بیشترین ولتاژ آنالوگ ورودی اضافی ( بیشترین تغیرات ولتاژ ورودی ) که لازمه تا خروجی دیجیتال رو به اندازه 1 واحد تغیر بده .
    DLE همچنین به عنوان خطای غیر خطی تفاضلی شناخته میشه ( DNL )

    مثال :

    مقدار خروجی دیجیتالی ADC باید (به عبارتی میشه گفت) ترجمه ولتاژ آنالوگ ورودی باشه
    در حالت ایده آل پهنای هر پله 1LSB هست .
    فرض کنیم ولتاژ ورودی بین دو مقدار 1.9998 و 2.0014 هست و مقدار خروجی دیجیتال ADC در این بازه ولتاژ ورودی مقداری ثابت هست بدون کوچکترین تغیری
    با این فرض داریم :

    2.0014v - 1.9998v = 1.6mv

    یعنی با فرض ذکر شده پهنای هر پله 1.6 میلی ولت هست
    ED اختلاف ولتاژ بین بیشترین و کمترین ولتاژ آنالوگ منهای ولتاژی به اندازه 1LSB هست .
    اگه ولتاژ رفرنس برابر 3.3 ولت باشه ولتاژ آنالوگ ورودی 1.9998 می تونه خروجی دیجیتالی بین دو مقدار 0X9B0 و 0X9B2 رو تولید کنه .
    به طور مشابه برای ولتاژ ورودی 2.0014 خروجی میتونه بین دومقدار 0X9B2 و 0X9B4 تغیر کنه .
    نتیجه :
    تغیرات کلی ولتاژی که برابر 0X9B2 هست به قرار زیر میباشد

    0X9B3 - 0X9B1 که یعنی 1.6 = 1.9998 - 2.0014
    ED = 1660 uV - 805.6 uV
    ED = 854.4 uV
    ED = (854.4 uV / 805.6 uV) LSB
    ED = 1.06 LSB


    *** این قسمت پایین فکر کنم خوب ترجمه نکردم اگه دوستان اطلاع دارن تذکر بدن درستش کنم ***
    Let us assume that no voltage greater than 2.0014 V will result in the 0x9B2 digital code when the step width is less than 1 LSB, ED is negative
    فرض کنیم که هیچ ولتاژی بیشتر از 2.0014 ولت نتیجه 0X9B2 رو نمیده وقتی که پهنای پله کمتر از 1LSB هست ED منفیه .

    ادامه داره . . .
    ویرایش توسط rezamajdi : 2018/07/13 در ساعت 19:07
    آرزوی سرافرازی برای ایران عزیز . . .


  8. #8
    2015/08/27
    1,741
    993

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

    2.1.4
    خطای خطی انتگرالی

    خطای خطی انتگرالی بیشترین انحراف بین هر انتقال واقعی و خط ارتباطی پایانی ( در ادامه توضیح میدم که دقیقا چیه ؟ ) هست .
    این خطا که به اختصار ILE نامیده میشه با نماد EL مشخص میشه .
    که در شکل 12 نشان داده شده .
    حالا خط ارتباط پایانی چیه ؟
    یه خط در منحنی انتقال آنالوگ به دیجیتال هست که اولین انتقال واقعی رو به آخرین انتقال واقعی وصل میکنه .
    EL انحرافی هست بین این خط و هر انتقال صورت گرفته ( در واقع به زبان ساده تر انحراف و فاصله ای که بین این خط و لبه ی هر پله وجود داره EL میگن )
    این خط مطابق با منحنی مقدار انتقال واقعی رسم میشه که در شکل هم مشخصه و ربطی به انتقال ایده آل نداره
    ILE همچنین به عنوان خطای غیر خطی انتگرالی INL شناخته میشه .
    ILE در واقع انتگرال DLE در کل محدوده منحنی انتقال هست .

    مثال :

    اولین انتقال از 0 به 1 در 550uV و آخرین انتقال ( 0XFFE به 0XFFF ) در ولتاژ 3.298435 صورت میگیره ( خطای گین ) حالا خطی که در منحنی انتقال مقدار واقعی دیجیتالی 0X1
    و 0XFFF رو به هم وصل میکنه خط ارتباط پایانی هست .

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


  9. #9
    2015/08/27
    1,741
    993

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

    2.1.5

    مجموع خطاهای غیر قابل تنظیم

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

    TUE با نماد ET معرفی میشه که در شکل 13 صفحه 16 فایل PDF نشون داده شده .
    نکته : TUE جمع EO , EG , EL , ED نیست.
    نکته :ارور آفست روی مقدار خروجی دیجیتالی ADC تاثیر میزاره وقتی که ولتاژ در پایین ترین حد خودش قرار داره
    در حالی که ارور گین روی مقدار خروجی دیجیتالی ADC تاثیر میزاره وقتی که ولتاژ در بالاترین حد خودش قرار داره

    مثال :

    اگه ولتاژ رفرنس برابر 3.3 ولت باشه و ولتاژ ورودی برابر 2 ولت نتیجه خروجی ایده آل ADC برابر 0X9B2 میشه .
    بهر حال اگه نتیجه تبدیل 0X9B4 بدست بیاد مقدار انحراف ممکنه بدست بیاد از مقدار آفست زمانی که خطاهای DLE و ILE به صورت همزمان اتفاق بیوفته .

    TUE = absolute (actual value ideal case value) = 0x9B4 0x9B2 = 0x2 = 2 LSB

    آدرس فایل PDF :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    دوستان آموزش همچنان ادامه داره . . .
    ویرایش توسط rezamajdi : 2018/07/15 در ساعت 22:30
    آرزوی سرافرازی برای ایران عزیز . . .


  10. #10
    2018/03/30
    44
    4

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

    سلام
    با تشکر از آموزشی که گذاشتید
    میشه بخش نویزهای ناشی از طراحی مدار رو توضیح بدید؟
صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 32

موضوعات مشابه

  1. پاسخ: 10
    آخرين نوشته: 2018/05/04, 17:19
  2. پاسخ: 45
    آخرين نوشته: 2015/11/11, 13:08
  3. پاسخ: 8
    آخرين نوشته: 2013/09/15, 20:05
  4. بعد از انتخاب بهترین ساختارشبکه چطور این شبکه رو ذخیره کنیم؟
    توسط پیام آ در انجمن هوش مصنوعی و شبکه های عصبی
    پاسخ: 1
    آخرين نوشته: 2013/04/20, 20:12
  5. الفا و بتای یک ترانزیستور رو چطور پیدا کنیم؟
    توسط soltanisoft در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 5
    آخرين نوشته: 2013/02/20, 09:28

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •