انجمن های گفتگوی روبوایکیو

لطفا به سیستم وارد یا ثبت‌نام کنید.

لطفا برای ورود نام کاربری و رمز عبورتان را وارد نمایید

لطفا برای استفاده بهتر از انجمن، ثبت نام کنید!

نویسنده موضوع: اصول فیلتر کردن PWM برای تولید ولتاژ DC  (دفعات بازدید: 3597 بار)

0 کاربر و 1 مهمان درحال دیدن موضوع.

آفلاین مسئول فنی

  • مدیر سایت
  • یه دنگ از سایت به نامشه
  • *****
  • ارسال: 1669
  • امتیاز: 651
    • ديدن مشخصات
اصول فیلتر کردن PWM برای تولید ولتاژ DC
« : 01 اردیبهشت, 1395, 01:03:42 »
یکی از راه های ساختن یک ولتاژ آنالوگ با قابلیت کنترل پذیری به روش دیجیتال استفاده از مبدل های دیجیتال به آنالوگ است. یک روش نسبتا ساده برای ساخت چنین مبدل هایی، استفاده از موج PWM است. اغلب میکروها امکانات سخت افزاری کاملی برای ساخت آسان بدون درگیر شدن CPU در اختیار طراح قرار می دهند.

با حذف اجزای فرکانس بالای یک موج PWM با فیلتر پایین گذر می توان به یک ولتاژ DC دست یافت که اندازه آن از رابطه زیر به دست می آید:

ولتاژ DC خروجی مبدل = A X Duty Cycle

در رابطه بالا، A دامنه ی ولتاژ PWM است. به عنوان مثال، با داشتن یک PWM با سیکل وظیفه 50% و دامنه 3.3 ولت، میزان DC خروجی برابر 1.65 ولت است.

PWM در فضای فرکانسی

یک موج PWM با Duty Cucle برابر 50% و فرکانس 100KHz را در نظر بگیرید که دامنه ی آن 3.3 ولت باشد. فرض کنید که زمان های صعود و نزول این موج (Rise/fall time) در این موج نسبت به پهنای پالس (5 میکرو ثانیه) قابل صرف نظر باشند. در این صورت طیف فرکانسی این موج به شکل زیر خواهد بود. طبیعتا به دلیل آنکه  زمان های صعود و نزول 0 نیستند، طیف در فرکانس اصلی و هارمونیک ها به صورت اسپایک نخواهد بود(طیف موج مربعی ایده آل) همانطور که در شکل مشاهده می کنید، این طیف یک بخش DC به اندازه 1.65 ولت دارد و بقیه انرژی طیف در فرکانس های 100Khz و هارمونیک های بالاتر که مضرب صحیحی از این فرکانس هستند پخش شده است. (فرکانس هارمونیک ها به ترتیب 200KHz,300KHz, و... است) با تغییر Duty Cycle این موج، شکل طیف یه همین صورت خواهد ماند ولی دامنه اجزای فرکانسی آن در فرکانس های مختلف تغییر خواهد کرد.


از آنجایی که تنها قسمت DC طیف فرکانسی در این کاربرد برای ما مناسب است و سایر بخش ها باعث ایجاد ریپل در خروجی هستند، نیازمند یک فیلتر هستیم که بخش DC را عبور دهد ولی فرکانس های از 100KHz به بالا را عبور ندهد.
اگر از یک فیلتر غیر ایده آل مرتبه 1 استفاده کنیم که فرکانس قطع آن 50KHz است استفاه کنیم، خروجی این فیلتر به شکل زیر خواهد بود:


همانطور که مشاهده می کنید، مقدار زیادی ریپل در خروجی مشاهده می شود. علت راه یابی فرکانس های بالا در خروجی فیلتر آن است که فیلتر ایده آل نیست و میزان تضعیف کنندگی آن در فرکانس قطع فیلتر 3dB- است و با شیب 20dB- به ازای هر دهه فرکانسی افزوده می شود. در صورتی که از یک فیلتر مرتبه 1 با فرکانس قطع 1KHz استفاده کنیم، ریپل خروجی بسیار کاهش می یابد اما مشاهده می کنید که پاسخ فیلتر نسبتا کند است و بنابراین با تنظیم PWM در یک مقدار خاص، مدت زمان قابل توجی طول می کشد تا ولتاژ DAC به مقدار مورد نظر ما برسد که در بسیاری از کاربردها مشکل ساز خواهد بود.



انتخاب فیلتر مناسب

همانطور که مشاهده نمودید، در طراحی فیلتر برای DAC دو مصالحه (Trade-off) وجود دارد:

1- فرکانس قطع پایین در فیلتر باعث کاهش ریپل می گردد که مطلوب است ولی زمان رسیدن خروجی به مقدار مورد نظر را افزایش می دهد که نا مطلوب است.

2- افزایش مرتبه فیلتر برای داشتن تضعیف قوی تر در ناحیه قطع فیلتر ممکن است چنان پیچیدگی مدار فیلتر و یا هزینه پیاده سازی آن را زیاد کند که استفاده از یک آیسی DAC به صرفه تر باشد.

به نظر می رسد که بهتر است در روش ساخت DAC توسط PWM به فیلترهای مرتبه 1 اکتفا کنیم ولی در عوض با فزایش فرکانس PWM، فرکانس اجزای فرکانسی آن را زیاد نماییم تا به مقدار بیشتری توسط فیلتر تضعیف شوند. به عنوان مثال به جای استفاده از PWM با فرکانس 100KHz از فرکانس های چندین مگاهرتز استفاده نمایید.

دقت خروجی و راه های افزایش آن

در صورتی که از میکروکنترلر برای تولید PWM استفاده می کنید، دقت در سطح ولتاژ های پایین و بالای موج PWM تحت تاثیر عواملی است که می تواند دقت خروجی DAC را نیز تحت تاثیر قرار دهد. دقت حدود 2% در بهترین حالت برای این نوع DAC قابل دست یابی است. برای افزایش بیشتر دقت می تواند از فیدبک استفاده کرد. اکثر میکروکنترلرها دارای ADC نیز هستند در این صورت می توانید با اندازه گیری ولتاژ خروجی (بهتر است تعداد مناسبی نمونه برداری شده و میانگین گرفته شود) و اصلاح Duty Cycle به مقدار دقیق تر ولتاژ مورد نظر دست پیدا کرد. رزولوشن خروجی این نوع DAC به رزولوشن PWM بستگی دارد. در برخی از میکروکنترلرها، تایمرهای 8 و 16 و یا حتی 32 بیتی برای تولید PWM وجود دارند که رزولوشن های متفاوتی در خروجی ایجاد می کنند.
« آخرين ويرايش: 03 خرداد, 1395, 09:21:13 توسط Hesam Ahmadi »