آردوینو آموزش آردوینو پروژه های آردوینو

راه اندازی موتور براشلس با تابع analogWrite آردوینو

نوشته شده توسط حسین فهیمی

برای راه اندازی موتورهای براشلس نیاز به پالس PWM داریم. برای تولید این پالس و مدیریت آن، روش‌های مختلفی وجود دارد. من قصد دارم ۴ روش معمول را معرفی کنم. در این پست روش اول راه اندازی موتور براشلس با کمک برد آردوینو را توضیح خواهم داد. در ادامه با وب سایت تخصصی آردوینو ، دیجی اسپارک همراه باشید.در این پست موتور براشلس را با استفاده از اسپید کنترل و برد آردوینو Arduino uno راه اندازی می‌کنیم. لازمه ساخت رادیو کنترل یا فلایت کنترل برای ربات‌های پرنده (مثلا ساخت کوادکوپتر با آردوینو Arduino) اطلاع از نحوه راه اندازی و درایو کردن موتورها و نحوه‌ی پالس دادن به اسپید کنترل است. برای کنترل موتور براشلس Brushless ، چند راه مختلف وجود دارد. تمام راه‌ها را در جلسات آینده توضیح خواهیم داد. قبل از شروع آموزش ، پست آموزش راه اندازی موتور براشلس با برد آردوینو Arduino را مطالعه کنید.

 

t-motor-mt3506-pro-short-shaft-brushless-motor-650kv-2-left-in-stock-2-329-p

 


موتور براشلس و کاربرد آن


موتور براشلس (Brushless motor) یک نوع موتور الکتریکی است که بدون استفاده از برس‌ها (brushes) عمل می‌کند. موتورهای براشلس به عنوان موتورهای DC (جریان مستقیم) عمل می‌کنند و از یک سیستم الکترونیکی پیچیده برای کنترل چرخش آنها استفاده می‌کنند.بروشلس موتورها از برس‌ها استفاده نمی‌کنند که در موتورهای DC سنتی یا موتورهای AC (جریان متناوب) به کار می‌روند. برس‌ها به عنوان واسطه‌ای بین منبع تغذیه و بخش‌های متحرک موتور وظیفه انتقال جریان الکتریکی و تغذیه قسمت‌های متحرک موتور را برعهده دارند. اما در موتورهای براشلس، این برس‌ها حذف شده و جریان الکتریکی به صورت مستقیم به بخش‌های متحرک موتور ارسال می‌شود.مزایای موتورهای براشلس شامل بهره‌وری بالا، عمر مفید بلندتر، عدم فرسودگی برس‌ها، سرعت و کارایی بالاتر، و کاهش نویز و اهتزاز هستند. به عنوان نتیجه‌ای از این ویژگی‌ها، موتورهای براشلس در انواع برندها و کاربردها از رباتیک تا ابزارهای الکتریکی خانگی و اتومبیل‌های الکتریکی استفاده می‌شوند. از تابع analogWrite برای روشن و خاموش کردن بسیار سریع یک پین دیجیتال استفاده می‌شود. برای ایجاد افکت از جمله کم کردن نور از PWM یا Pulse Width Modulation استفاده می‌کند. این تابع، یک تکنیک جهت گرفتن خروجی آنالوگ از دنیای دیجیتال است.

 


وسایل مورد نیاز


 


کدهای برنامه


کد زیر را روی برد آردوینو Arduino خود آپلود کنید و بعد اتصالات را طبق توضیحات انجام دهید.

#define ESC 9

void setup() {
 pinMode(ESC, OUTPUT);
}

void loop() {
 analogWrite(ESC, 15);
}

سیم سفید از دسته سیم‌های ۳ تایی اسپید کنترل را به پین دیجیتال آردوینو Arduino متصل کنید. سپس سیم قرمز از همان دسته را به پین Vin اتصال دهید. سیم مشکی را هم به پین Gnd برد آردوینو متصل کنید. سه رشته سیم موتور را به سه سیم خروجی اسپید کنترل متصل کنید.

 


تحلیل کد آردوینو


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

#define ESC 9

خروجی قرار دادن پین متصل به ESC

  pinMode(ESC, OUTPUT);

ایجاد PWM بر روی پین ۹

 analogWrite(ESC, 15);

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

درباره نویسنده

حسین فهیمی

تبادل نظر و رفع عیب با ثبت دیدگاه

۶ دیدگاه

  • سلام
    یجاد PWM بر روی پین ۹

    Arduino

    analogWrite(ESC, 15);

    ۱
    analogWrite(ESC, 15);

    من متوجه این نشدم، می شه بیشتر لطفا توضیح بدید، ۱۵ چی هست؟

  • سلام ببخشید میشه موتور براشلس رو بدون اسپید کنترل راه اندازی کرد ؟ شنیدم با درایور L293 میشه اینکارو انجام داد شما تایید میکنید این روش رو ؟

    • با سلام
      این مورد توسط تیم فنی تست نشده است و بایستی در این خصوص فقط و فقط به دیتاشیت درایور موتورها اکتفا کنید تا انتخاب صحیح داشته باشید.