کنترل ماجیول درایور موتور DC BTS7960 با استفاده از آردوینو

کنترل ماجیول درایور موتور DC BTS7960 با استفاده از آردوینو

در این آموزش، یاد خواهیم گرفت که چگونه می‌توانیم ماجیول درایور موتور DC BTS7960 را با استفاده از یک آردوینو کنترل کنیم. این تنظیم به شما امکان می‌دهد که جهت و سرعت یک موتور DC را با استفاده از مدولاسیون عرض پالس (PWM) کنترل کنید. در پایان این آموزش، شما یک سیستم کنترل موتور کارامد خواهید داشت که می‌توانید به راحتی آن را برای پروژه‌های خود تغییر دهید. برای راهنمایی بصری دقیق‌تر، حتماً ویدئو را در (در ویدئو در 00:00) مشاهده کنید.

BTS7960_ماجیول-1

سخت‌افزار توضیح داده شده است

BTS7960 یک درایور موتور DC با جریان بالا است که قادر به تحمل تا 43 آمپر می‌باشد. این درایور از دو مدار مجتمع (IC) تشکیل شده است که امکان کنترل یک موتور در دو جهت عقربه‌های ساعت (CW) و خلاف عقربه‌های ساعت (CCW) را فراهم می‌کند. این درایور از سیگنال‌های PWM برای تغییر سرعت موتور استفاده می‌کند که برای برنامه‌های نیازمند کنترل دقیق ضروری است.

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

جزئیات برگه داده

سازنده اینفینئون تکنولوژی‌ها
شماره قطعه BTS7960
ولتاژ منطق/ورودی-خروجی ۵ ولت
ولتاژ تغذیه ۶-۲۷ وی
جریان خروجی (برای هر کانال) ۴۳ A حداکثر
جریان اوج (به ازای هر کانال) ۶۰ آ
راهنمایی فرکانس PWM ۲۵ کیلوهرتز
آستانه‌های منطقی ورودی 0.8 ولت (بالا)، 0.3 ولت (پایین)
کاهش ولتاژ / RDS(on)/ اشباع 16 میلی اهم
محدودیت‌های حرارتی حداکثر 125 درجه سانتیگراد
بسته PTO-263-7
یادداشت‌ها / انواع پیکربندی دوگانه H-Bridge

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

دستورالعمل‌های سیم‌کشی

BTS7960-_motor_wiring

برای اتصال ماجیول درایور موتور BTS7960 به آردوینو خود، باید به درستی پایه های برق، زمین، کنترل و موتور را متصل کنید. ابتدا با متصل کردن منبع تغذیه به ماجیول شروع کنید.B+وB-پایه‌ها، اطمینان حاصل می‌کنند که قطبیت صحیح است.B+پایه جایی است که منبع مثبت متصل می‌شود، در حالی کهB-به زمین متصل می‌شود.

بعدی، موتور را به... وصل کنیدM+وM-پایه‌ها بر روی ماجیول. این‌ها جهت موتور را کنترل خواهند کرد. برای پایه‌های کنترل، پایه‌های آردوینو را به ماجیول به صورت زیر متصل کنید:RPWMبه پایه ۳،R_ENبه پایانه ۴،R_ISبه پایه ۵،LPWMبه پایه 6،L_ENبه پایه 7، وL_ISبه پایه ۸. مطمئن شوید که زمین آردوینو را نیز به زمین ماجیول متصل کنید.

BTS7960_module-2

کتابخانه مورد نیاز را نصب کنید

برای نصب therobojax_BTS7960_motor_driver_libraryدر محیط برنامه‌نویسی آردوینو، ابتدا فایل ZIP کتابخانه را از واصل ارائه‌شده دانلود کنید. پس از ذخیره فایل، محیط آردوینو خود را باز کرده و به بخش موردنظر برویدطرح > شامل کتابخانه > اضافه کردن کتابخانه .ZIP.... در کادر انتخاب فایل، به فایل ZIP دانلود شده بروید، آن را انتخاب کنید و روی "باز کردن" کلیک کنید. سپس IDE کتابخانه را نصب خواهد کرد. می‌توانید با بررسی وضعیت نصب، موفقیت‌آمیز بودن نصب را تأیید کنید.فایل > مثال‌هامنو، جایی که یک دسته جدید به نام "کتابخانه درایور موتور Robojax BTS7960" باید ظاهر شود. شما اکنون می‌توانید هدر کتابخانه را در شِفر (کود) خود بگنجانید با#include <RobojaxBTS7960.h>.

نمونه‌های شِفر (کود) و راهنما

شِفر (کود) آردوینو برای کنترل درایور موتور BTS7960 با تعریف پایه‌های لازم آغاز می‌شود. به عنوان مثال، پایه برای سیگنال PWM سمت راست تعریف شده است.RPWMو به پایه ۳ تنظیم شده است. علاوه بر این، پایه فعال‌سازی برای سمت راست به عنوان مشخص شده استR_ENو به پایه ۴ تنظیم شد.

#define RPWM 3 // define pin 3 for RPWM pin (output)
#define R_EN 4 // define pin 4 for R_EN pin (input)

این تنظیمات اطمینان حاصل می‌کند که موتور بتواند به‌طور دقیق کنترل شود. در setup()تابع، موتور باmotor.begin()که راننده را برای عملیات آماده می‌کند.

void setup() {
  Serial.begin(9600);// setup Serial Monitor to display information
  motor.begin(); // Initialize motor
}

درloop()عملکرد، جهت و سرعت موتور با استفاده ازmotor.rotate(speed, direction)روش. به عنوان مثال، برای اجرای موتور با حداکثر سرعت در جهت عقربه‌های ساعت، شما باید ازmotor.rotate(100, CW);.

void loop() {
    motor.rotate(100,CW); // run motor with 100% speed in CW direction
    delay(5000); // run for 5 seconds
}

برای مثال‌ها و تنوع‌های دقیق‌تر، حتماً شِفر (کود) کامل بارگذاری شده در زیر مقاله را بررسی کنید.

نمایشگاه / چه انتظاری داشته باشید

زمانی که همه چیز به درستی وصل و برنامه‌ریزی شده باشد، باید انتظار داشته باشید که موتور بر اساس شِفر (کود) در هر دو جهت بچرخد. در ابتدا، موتور به مدت پنج ثانیه با سرعت کامل کار خواهد کرد، سپس به مدت سه ثانیه متوقف می‌شود و پس از آن به مدت مشابه در جهت مخالف می‌چرخد. این چرخه تکرار خواهد شد و به شما این امکان را می‌دهد که واکنش موتور به سیگنال‌های PWM را ببینید.

اشتباهات رایج شامل معکوس بودن قطبیته هنگام اتصال موتور یا منبع تغذیه است که می‌تواند به قطعات آسیب برساند. علاوه بر این، اطمینان حاصل کنید که پایه‌های PWM به درستی در شِفر (کود) اختصاص داده شده‌اند (در ویدیو در ساعت 12:34).

زمان‌بندی ویدئو

  • ۰۰:۰۰ شروع
  • ۰۰:۴۸ توضیح سخت‌افزار
  • 04:06ورقۀ اطلاعات مشاهده شد
  • 07:07 توضیحاتی درباره سیم‌کشی
  • شِفر (کود) توضیح داده شد :00
  • ۱۴:۳۳ نمایش
  • حداکثر امتحان جریان ۱۶:۴۷
  • ۱۹:۲۵ تصویر حرارتی
  • 19:27 امتحان شِفر (کود) مختلف

تصاویر

BTS7960-_motor_wiring
BTS7960-_motor_wiring
BTS7960_module-1
BTS7960_module-1
BTS7960_module-2
BTS7960_module-2
BTS7960_module-3
BTS7960_module-3
BTS7960_module-4-heat-sink
BTS7960_module-4-heat-sink
202-Arduino Code to control BTS7960 Motor Driver
زبان: C++
203-Arduino Code to control two or more DC motors using BTS7960 motor driver
زبان: C++
کپی شد!

فایل‌ها📁

کتابخانه‌های آردوینو (zip)

برگه مشخصات (pdf)

فایل فریزینگ