مدولاسیون پهنای پالس (PWM) یک اصطلاح فانتزی برای نوعی سیگنال دیجیتال است. PWM ها در کاربردهای متنوعی از جمله مدارهای کنترل پیچیده استفاده میشوند. یک روش رایج که ما در SparkFun از آنها استفاده میکنیم، کم نور کردن یک LED RGB یا کنترل جهت یک سروو موتور است. ما میتوانیم در هر دوی این کاربردها به طیف وسیعی از نتایج دست یابیم زیرا PWM به ما امکان میدهد مدت زمان بالا بودن یک سیگنال را به صورت آنالوگ تغییر دهیم. در حالی که یک سیگنال فقط میتواند در هر زمان معین بالا (معمولاً 5 ولت) یا پایین (زمین) باشد، میتوانیم نسبت زمانی که سیگنال بالا است را در مقایسه با پایین بودن در یک بازه زمانی ثابت تغییر دهیم.
وقتی یک سیگنال بالا است، آن را «به موقع» مینامیم. برای توصیف میزان «به موقع» بودن، از مفهوم چرخه وظیفه استفاده میکنیم. چرخه وظیفه با درصد اندازهگیری میشود. درصد چرخه وظیفه به طور خاص درصد زمانی را که یک سیگنال دیجیتال در یک بازه یا دوره روشن است، توصیف میکند. دوره، معکوس فرکانس شکل موج است. اگر یک سیگنال دیجیتال نیمی از زمان روشن و نیمی دیگر خاموش باشد، میگوییم سیگنال دیجیتال چرخه وظیفه ۵۰٪ دارد، مشابه یک موج مربعی ایدهآل. اگر درصد بالاتر از ۵۰٪ باشد، سیگنال دیجیتال زمان بیشتری را در حالت بالا نسبت به حالت پایین سپری میکند و اگر چرخه وظیفه کمتر از ۵۰٪ باشد، برعکس است. نمودار زیر این سه حالت را نشان میدهد:

چرخه کاری ۱۰۰٪ معادل تنظیم ولتاژ روی ۵ ولت (بالا) است. چرخه کاری ۰٪ معادل اتصال سیگنال به زمین است.
مثال
با تنظیم چرخه کار (duty cycle) میتوانید میزان روشنایی LED را کنترل کنید.

با LED های RGB (قرمز، سبز و آبی)، میتوانید میزان هر یک از سه رنگ مخلوط شده را با کم کردن نور آنها به میزانهای مختلف کنترل کنید.

اگر هر سه به مقدار مساوی روشن شوند، نتیجه سایههای مختلفی از نور سفید خواهد بود. ترکیب یکسان آبی و سبز، رنگ سبز مایل به آبی ایجاد میکند. برای یک مثال کمی پیچیدهتر، سعی کنید قرمز را کاملاً روشن، سبز را با چرخه کاری ۵۰٪ کاملاً روشن و آبی را کاملاً خاموش کنید تا رنگ نارنجی ایجاد شود.

هنگام کنترل LEDها، فرکانس موج مربعی باید به اندازه کافی بالا باشد تا به یک اثر کم نور مناسب دست یابد. یک موج با چرخه کاری 20٪ در 1 هرتز، به وضوح روشن و خاموش شدن آن را به چشم شما نشان میدهد، در حالی که یک چرخه کاری 100٪ در 20 هرتز یا بالاتر، کم نورتر از حالت کاملاً روشن به نظر میرسد. اساساً، اگر هدف شما دستیابی به یک اثر کم نور با LEDها است، دوره تناوب نمیتواند خیلی بزرگ باشد. همچنین میتوانید از مدولاسیون پهنای پالس برای کنترل زاویه یک موتور سروو متصل به یک دستگاه مکانیکی مانند یک بازوی رباتیک استفاده کنید. یک سروو دارای شفتی است که بر اساس خط کنترل خود به یک موقعیت خاص میچرخد. موتورهای سروو ما تقریباً 180 درجه برد دارند.
فرکانس/دوره برای کنترل یک سروو موتور خاص، خاص است. یک سروو موتور معمولی انتظار دارد هر 20 میلیثانیه بهروزرسانی شود، با پالسی بین 1 میلیثانیه و 2 میلیثانیه - به عبارت دیگر، چرخه کاری بین 5% و 10% در یک شکل موج 50 هرتز. با یک پالس 1.5 میلیثانیه، سروو موتور در موقعیت طبیعی 90 درجه خود قرار خواهد گرفت. در یک پالس 1 میلیثانیه، سروو موتور در 0 درجه و در یک پالس 2 میلیثانیه، سروو موتور در 180 درجه خواهد بود. میتوانید با بهروزرسانی سروو موتور به مقادیر بین این دو، دامنه حرکتی کامل را به دست آورید.
مدولاسیون پهنای پالس در کاربردهای متنوعی، به ویژه کنترل، استفاده میشود. اکنون که میدانید میتوان از آن برای کم کردن نور LEDها و کنترل زاویه سروو موتورها استفاده کرد، میتوانید شروع به بررسی سایر کاربردهای ممکن کنید. اگر احساس سردرگمی میکنید، میتوانید کیت مخترع SparkFun را بررسی کنید که شامل مثالهایی با استفاده از مدولاسیون پهنای پالس است. اگر آمادهاید که فوراً کدنویسی را شروع کنید و یک آردوینو دارید، نمونههای کدنویسی PWM را اینجا بررسی کنید.
زمان ارسال: ۳۱ ژوئیه ۲۰۲۵


