pwm در آردوینو – آموزش آردوینو جلسه هفتم

pwm در آردوینو یا مدولاسیون عرض پالس روشی برای ایجاد سیگنال انالوگ توسط یک سیستم دیجیتاله ، در کنترل دیجیتال یک پایه فقط دو حالت صفر و یک داره .توی یک شکل موج مربعی هم مدت زمان صفر یا یک بودن سیگنال با هم برابره و مقدار متوسط موج مربعی برابر نصف دامنه هستش.حالا اگه زمان صفر یا یک بودن مساوی نباشه و تغییرش بدیم مقدار متوسط ما هم تغییر میکنه:

pwm در آردوینو

حالا با تغییر نسبت وظیفه موج (مدت زمان یک بودن یک پالسو میگن مدت وظیفه) میشه توان متوسط خروجی رو کنترل کرد ، مثلا میشه نور یک led رو تغییر داد یا دور موتور رو کنترل کرد.
توی آردوینو تابع analogWrite() برای ایجاد موج pwm استفاده میشه و قالب اون اینطوریه:

تابع analogWrite

 

توی این تابع پارامتر pin برای تعیین پایه ای هست که موج رو میخوایم روی اون ایجاد کنیم و مقدار val نسبت وظیفه شکل موج یا زمان یک بودن شکل موج هست که مقداری بین 0 تا 255 میگیره.(روی شکل بالا مقدار analogwrite ها رو کنار dutycycle ها نوشته) که باتغییر اون به عرض پالس مورد نظرمون میرسیم.

مثال میخوایم با استفاده از پتاسنیومتر مقدار نور یک LED رو تنظیم میکنیم:

وقتی مقدار آنالوگ رو میخونیم عددی بین 0 تا 1023 به ما میده اما ما میخوایم عددی بین صفر تا 255 رو توی خروجی analogWrite کنیم ، باید اون رو موقع analogWrite کردن تقسیم بر 4 کنیم،البته این کار بهترین روش نیست و بهتر بود با استفاده از دستور map این رنج رو تبدیل میکردیم.

مبحث PWM در آردوینو مبحث ساده ای هست و توضیح خاص دیگه ای به ذهنم نمیرسه.توی بخش موتور ها اگر فراموش نکنم مثال هایی برای pwm و کنترل دور موتور هم میزنم که اونم سخت نیست.

دستور map و دوستورات ریاضی رو جلسه بعد توضیح میدم.
لوینیک رو به دوستانتون هم معرفی کنید.

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

شما ممکن است این را هم بپسندید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

از لوینیک حمایت کنید