PWM چیست؟ آموزش انواع پالس PWM
محتویات
- PWM چیست؟
- PWM چطور کار میکند؟
- چرخه وظیفه PWM، یا همان Duty Cycle
- محاسبه فرکانس PWM
- برخی از سوالات متداول در مورد PWM
- تفاوت بین دوره ی کاری و فرکانس سیگنال PWM چیست؟
- چگونه سیگنال های PWM را به ولتاژ آنالوگ تبدیل کنیم؟
- چگونه ولتاژ خروجی سیگنال PWM را محاسبه کنیم؟
- مدار نمونه ایجاد سیگنال PWM
- استفاده از PWM در میکروکنترلر ها
معکوس کننده ها (اینورتر)، مبدل ها، مدارهای SMPS و کنترل کننده های سرعت… نکته ای که در همه این مدار ها رایج است، این است که سوئیچ های الکترونیکی زیادی در داخلشان است. این سوئیچ ها چیزی نیستند جز دستگاه های الکترونیکی قدرت مانند MOSFET، IGBT، TRIAC و … برای کنترل چنین سوئیچ های الکترونیکی قدرت، ما معمولا از چیزی به نام سیگنال های PWM استفاده می کنیم (مدولاسیون پهنای پالس).
جدا از این، سیگنال های PWM برای هدایت سروو موتور و همچنین برای کار های ساده دیگر مانند کنترل روشنایی یک LED نیز استفاده می شوند. در مقاله قبلی در مورد آنالوگ به دیجیتال آموختیم، از ADC برای خواندن سیگنال های آنالوگ توسط دستگاه دیجیتال مانند میکروکنترلر استفاده می شود. PWM را می توان دقیقا نقطه مقابل آن دانست. (PWM) برای تولید سیگنال های آنالوگ از یک دستگاه دیجیتال مانند میکروکنترلر، استفاده می شود.
در این مقاله ما با PWM، سیگنال های PWM و پارامتر های مختلف مرتبط با آن آشنا می شویم تا در استفاده از آنها در طراحی های خود اطمينان داشته باشیم.
PWM چیست؟
کلمه ی PWM مخفف Pulse Width Modulation است؛ بعدا دلیل این نام گذاری را خواهیم فهمید. اما فعلا PWM را به عنوان نوعی سيگنال که می تواند از یک IC دیجیتال مانند میکروکنترلر یا تایمر 555 تولید شود، بشناسید. سیگنالی که از این راه تولید شده، یک رشته از پالس خواهد داشت و این پالس ها به شکل موج مربع خواهند بود. یعنی در هر زمان معینی موج یا بالا خواهد بود یا پایین. برای درک بهتر اجازه دهید، سيگنال 5 ولت PWM را در نظر بگیریم، در این حالت سیگنال PWM یا 5 ولت (بالا) یا 0 ولت در سطح زمین (پایین) خواهد بود.
مدت زمانی که سیگنال ها بالا می مانند به عنوان “On time” نام گذاری می شوند و مدت زمانی که سیگنال پایین می ماند به عنوان “off time” نام گذاری می شود. برای یک سیگنال PWM باید به دو پارامتر مهم مرتبط با آن، یکی دوره ی کاری PWM و دیگری فرکانس PWM توجه کنیم.
مدولاسیون پهنای پالس یا PWM، یک روش دیجیتالی است که می تواند کنترل متناسب دستگاه های آنالوگ را با کارایی بیشتری انجام دهد. این مدل پالس هایی با عرض متغیر را برای نمایش دامنه سیگنال ورودی آنالوگ تولید می کند. ترانزیستور سوئیچینگ خروجی بیشتر زمان برای سیگنال با دامنه بالا روشن و برای سیگنال با دامنه پایین خاموش است. ساخت دیجیتال (کاملاً روشن یا خاموش) مدار PWM نسبت به یک مدار آنالوگ که با گذشت زمان از بین نمی رود هزینه کمتری دارد. دستگاه هایی که از این ها استفاده می کنند، موتور های DC، بخاری، چراغ ها، LED ها، موتور های اتومبیل هیبریدی، اجاق ها، کوره ها، پنکه ها و … هستند.
PWM چطور کار میکند؟
در گذشته، چنین دستگاه هایی ممکن است توسط یک مقاومت خطی ساده کنترل شده باشند. اما طبق قانون اهم، این مساله باعث ایجاد مقدار زیادی گرما در سطح مقاومت می شود. بنابراین قطاری از پالس ها در یک فرکانس نسبتا بالا از طریق ترانزیستور درایو مناسب یا MOSFET در سیستم دیجیتال به دستگاه اعمال می شود. اکنون، از آنجا که درایو کاملاً روشن یا کاملاً خاموش است، تلفات توان (I^2×R) در دستگاه وجود ندارد (در واقع، MOSFET ممکن است دارای یک مقاومت کوچک حدود چند میلی اهم باشد).
اگر درایور نیمی از زمان را روشن و نیمی از زمان را خاموش کند، منطقی خواهد بود که متوسط توان در بخاری فقط نصف یا 50 درصد باشد. اگر نسبت روشن به خاموش متغیر باشد، می توان درجه کنترل را بدست آورد.
در شکل بالا می بینیم که پالس برای 8 میلی ثانیه روشن است و برای 13 میلی ثانیه خاموش است. دوره تناوب جمع این دو 8 + 13 = 21mS است. فرکانس معکوس دوره تناوب است که 1 / 21mS = 47.6Hz است. دوره کاری یا نسبت علامت به فاصله (عرض ÷ دوره تناوب) * 100= (8/21) * 100 =38% است.
اگر ولتاژ پالس 5 ولت باشد، ولتاژ متوسط DC دوره کاری V = (38/100) * 5 = 1.9 ولت خواهد بود.
چرخه وظیفه PWM، یا همان Duty Cycle
همانطور که قبل تر گفته شد، یک سیگنال PWM برای زمان مشخصی روشن، و سپس برای بقیه ی دوره خاموش می ماند. چیزی که این سیگنال PWM را خاص و کاربردی می سازد این است که ما می توانیم بوسیله ی کنترل کردن دوره ی کاری سیگنال PWM، آن را برای مدت زمانی که باید روشن بماند، تنظیم کنیم.
دوره ی کاری = Duty Cycle = چرخه وظیفه
درصد زمانی که در آن سیگنال PWM همچنان بالا (HIGH) باقی میماند (on time) را دوره ی کاری می گویند. اگر سیگنال همیشه روشن (on) است، آن در 100% دوره ی کاری است و اگر آن همیشه خاموش (off) است، آن 0% دوره ی کاری است. فرمول محاسبه ی دوره ی کاری، در پایین نشان داده شده است.
چرخه وظیفه = زمان روشن / (زمان روشن + زمان خاموش)
Duty Cycle =Turn ON time/ (Turn ON time + Turn OFF time)
تصویر زیر یک سیگنال PWM را با 50% دوره ی کاری نشان می دهد. همانطور که میتوانید ببینید با در نظر گرفتن یک دوره ی زمانی کل (زمان روشن + زمان خاموش)، سیگنال PWM تنها در 50٪ از مدت زمان، روشن باقی می ماند.
بوسیله ی کنترل کردن دوره ی کاری از 0% تا 100% ما می توانیم زمان روشن و در نتیجه پهنای سیگنال PWM را کنترل کنیم. از آنجایی که ما می توانیم پهنای پالس را تعدیل کنیم (مدوله کنیم)، آن نام نمادین ” Pulse width Modulation ” را گرفته است.
محاسبه فرکانس PWM
فرکانس یک سیگنال PWM تعیین میکند که چقدر طول میکشد تا یک PWM یک دوره را کامل کند . یک دوره یعنی مدت زمان کامل روشن و خاموش شدن یک سیگنال PWM است که در بالا نشان داده شده است.
فرکانس = 1 / زمان دوره
زمان دوره = زمان روشن + زمان خاموش
Frequency = 1/Time Period Time Period = On time + Off time
به طور معمول سیگنال های PWM تولید شده توسط میکروکنترلر در حدود 500 هرتز خواهند بود ، از چنین فرکانس های بالا در دستگاه های سوئیچینگ با سرعت بالا مانند اینونتر یا مبدل استفاده می شود . اما همه ی برنامه ها به سرعت بالا نیار ندارند . به عنوان مثال برای کنترل یک موتور servo نیاز به تولید سیگنال PWM با فرکانس 50 هرتز داریم ، بنابراین فرکانس سیگنال PWM نیز توسط برنامه برای همه میکروکنترلرها قابل کنترل است.
برخی از سوالات متداول در مورد PWM
در اینجا بعضی از سوالات مربوط به مبحث PWM را توضیح میدهیم.
تفاوت بین دوره ی کاری و فرکانس سیگنال PWM چیست؟
دوره ی کاری و فرکانس های سیگنال PWM معمولا اشتباه می شوند . همانطور که می دانیم سیگنال PWM موج مربعی با زمان روشن و خاموش شدن مشخص است. مجموع این زمان روشن و خاموش ، به عنوان یک دوره زمانی گفته می شود. معکوس یک دوره زمانی فرکانس گفته می شود. در حالی که مقدار زمانی که سیگنال PWM باید در یک دوره زمانی روشن بماند ، توسط دوره ی کاری و PWM تصمیم گرفته می شود .
به بیان ساده ، سرعت روشن خاموش شدن سیگنال PWM توسط فرکانس سیگنال PWM و مدت زمان روشن ماندن سیگنال PWM در این سرعت ، توسط دوره ی کاری سیگنال PWM مشخص می شود.
چگونه سیگنال های PWM را به ولتاژ آنالوگ تبدیل کنیم؟
برای کاربردهای ساده مانند کنترل سرعت موتور DC یا تنظیم روشنایی یک LED ، ما باید سیگنال های PWM را به ولتاژ آنالوگ تبدیل کنیم. این کار با استفاده از فیلتر RC به راحتی قابل انجام است و معمولاً در مواردی که یک ویژگی DAC لازم باشد استفاده می شود. مدار آن در زیر نشان داده شده است :
در نمودار بالا نشان داده شده که رنگ زرد، سیگنال PWM و رنگ آبی یک ولتاژ آنالوگ خروجی است. مقدار مقاومت R1 و خازن C1 را می توان بر اساس فرکانس سیگنال PWM محاسبه کرد اما معمولا از مقاومت 5.7K یا 10K و خازن 0.1u یا 1u استفاده می شود.
چگونه ولتاژ خروجی سیگنال PWM را محاسبه کنیم؟
پس از تبدیل شدن ولتاژ خروجی سیگنال PWM به آنالوگ ، درصد دوره ی کاری خواهد بود. به عنوان مثال اگر ولتاژ عامل 5 ولت باشد ، سیگنال PWM نیز در صورت زیاد شدن 5 ولت خواهد شد. در چنین شرایطی برای دوره ی کاری 100٪، ولتاژ خروجی 5 ولت و برای دوره ی کاری 50٪ ، 2/5ولت خواهد بود.
ولتاژ خروجی = درصد چرخه وظیفه * 5
Output Voltage = Duty cycle (%) * 5
مدار نمونه ایجاد سیگنال PWM
در مدار بالا، ما یک 555 را به عنوان یک اسیلاتور پایدار PWM می بینیم. ترانزیستور Q1 یک MOSFET است (یک IRF540 خوب است) و D1 یک LED است (یا به عنوان مثال، یک موتور کوچک DC). D2 از EMF ناشی از بار القایی (اگر به جای LED موتور باشد) برای آسیب رساندن به MOSFET جلوگیری می کند. فرکانس ثابت است و تابعی از R1 ،R2 و R4 با C3 است و حدود 595 هرتز است. R4 (حدود 20k) دوره کاری را تنظیم می کند و همانطور که از دو نمایشگر اسیلوسکوپ زیر می بینید، این از 78uS تا 1.6mS است. مانند قبل، دوره تناوب 78 + 1600us = 1678uS و فرکانس 1 / P = 596Hz بدست می آید.
عملکرد دوره کاری در مثال 1، (عرض ÷ دوره تناوب) * 100 = (1678 ÷ 9/77) * 100 = 4،6٪ و در مثال 2، (1678 ÷ 1570) * 100 = 93،5٪ است.
بنابراین می بینید که ما می توانیم LED D1 را به زیبایی کم نور کنیم یا سرعت یک موتور کوچک را کنترل کنیم.
اگر بخواهید تا 0٪ پایین بیایید، در 0 ولت یک خط مستقیم و برای 100٪ در 5 ولت یک خط مستقیم خواهید داشت.
یک سوال خوب برای پرسیدن در این مرحله این است که، با توجه به هر دوره کاری، فرکانس چه تاثیری دارد؟ در واقع، هیچ تاثیری ندارد. با این وجود، اگر فرکانس خیلی کم باشد، LED سوسو می زند و اگر خیلی زیاد باشد، دستگاه کنترل یا بار نمی تواند با سرعت کافی روشن و خاموش شود.
ما یک اسیلاتور پایدار 555 ساده دیدیم که یک LED را کنترل می کند. بسیاری از میکروکنترلر ها مانند آردوینو دارای عملکرد PWM هستند تا کنترل دستگاه را آسان کنند. توجه داشته باشید که همه پین ها نمی توانند PWM را انجام دهند. به عنوان مثال UNO فقط می تواند PWM را در 3، 5، 6، 9، 10 و 11 انجام دهد. فرکانس سیگنال PWM در پایه های 5 و 6 حدود 980 هرتز و در سایر پایه ها 490 هرتز خواهد بود.
استفاده از PWM در میکروکنترلر ها
ما نحوه استفاده از PWM را در انواع میکروکنترلر ها توضیح داده ایم :
- پروژه کنترل سرعت موتور DC با STM32
- آموزش راه اندازی PWM با آردوینو – جلسه دوم
- چگونه از PWM در رزبری پای استفاده کنیم؟ با پایتون
- آموزش کامل استفاده از PWM برای میکروکنترلر AVR در اتمل استودیو
- آموزش کامل کنترل سرعت موتور DC با Arduino ، پتانسیومتر و PWM
سلام
مطالب عالی بود
دم شما گرم
سلام عزیز
خوشحالم که براتون مفید بوده
عالی بود
سلام عزیز
خوشحالم که رضایت داشتین
سلام وقت بخیر ، بر روی یک دستگاه کار میکردم ک برای گرم کردن کابین دستگاه از هیتر استفاده میکنن ، هیتر هم داری یک فن هست ، سیمهایی ک ب فن خورده یکی 24 مثبت و دیگری از برد کنترل دستگاه میاد که توی نقشه با pwm نشون داده شده ، اصولا این موتور چه موتوری هست ؟ برای اندازه گیری ولتاژ ورودی موتور ، ولتاژ رو dc لحاظ کنم یا ac ؟