ویژگی های درایور استپر موتور A4988
از درایور استپر موتور A4988 برای کنترل استپر موتورهای دو قطبی استفاده میشود. تنها با استفاده از دو پین این ماژول میتوان جهت چرخش و گامهای چرخش استپر موتور را کنترل نمود. با ارسال هر سیگنال از طرف پین گام چرخش، موتور به اندازه یک گام جابهجا میشود.
برخی ویژگی های این ماژول در زیر آمده است:
- گام کامل این درایور 200 گام (هر گام 1.8 درجه) به ازای هر چرخش میباشد.
- جریان مجاز پیوسته عبوری به ازای هر فاز بدون خنک سازی : 1 آمپر
- ماکزیمم جریان به ازای هر فاز با خنک سازی : 2 آمپر
- ولتاژ موتور : 8 تا 35 ولت
- حداقل بازه پالس پین STEP بایستی 1us باشد.
- محافظت در برابر جریان بیش از حد
نکته
تعداد گامهای آن از گام کامل تا گام 1/16 میباشد.
دیتاشیت آی سی A4988 را می توانید از اینجا دانلود کنید.
معرفی پایه های (Pinout) درایور استپر موتور A4988
این درایور دارای پایههایی به شرح زیر است:
پایه های تغذیه:
- VDD: ولتاژ تغذیه ماژول – 3 تا 5.5 ولت
- GND: زمین
- VMOT: ولتاژ تغذیه موتور – 8 تا 35 ولت
نکته
برای محافظت درایور از جرقههای ولتاژ VMOT، میتوانید از خازن استفاده کنید.
پایه های سیمپیچی موتور:
- 1A: پایه اول کویل 1 موتور
- 1B: پایه دوم کویل 1 موتور
- 2A: پایه اول کویل 2 موتور
- 2B: پایه دوم کویل 2 موتور
پایه های کنترل حرکت موتور:
- DIR: سیگنال دیجیتال برای کنترل جهت حرکت موتور
- STEP: سیگنال دیجیتال برای کنترل گام های چرخش
- SLP: این سیگنال برای زمانی که از موتور ها استفادهای نمیشود، کاربرد دارد – Active-Low
- RST: سیگنال ریست – Active-Low
- EN: با فعال شدن این سیگنال، خروجیهای درایور غیرفعال میشوند.
پایه های انتخاب دقت گام:
- MS1: پایه اول دقت گام
- MS2: پایه دوم دقت گام
- MS3: پایه سوم دقت گام
با تغییرات این سه پایه، میتوان تغییرات گام را از گام کامل تا گام 1/16 تغییر داد. جدول زیر بیانگر چگونگی این تغییرات میباشد:
پین اوت (Pinout) درایور A4988 در شکل آمدهاست.
لوازمی که به آن احتیاج دارید
Hardware Components
نرم افزارهای مورد نیاز
Note
دقت کنید برای راهاندازی این موتور توسط درایور A4988 به منبع تغذیه (آداپتور، باتری و ….) بالاتر از 8 ولت نیاز دارید. منبع تغذیه در لیست فوق ذکر نشده است. خودتان یکی از انواع آن را تهیه کنید.
راه اندازی درایور استپر موتور A4988 با آردوینو
گام اول: سیم بندی
عکس زیر نشان دهنده نحوه اتصال درایور به دیگر قطعات میباشد.
نکته
پایه SLP و RST به یکدیگر متصل شدهاند.
گام دوم: محدودسازی جریان
قبل از اتصال موتور، بایستی محدویت جریان درایور را اعمال کنیم تا مطمئن شویم این جریان به درایور و موتور آسیب نمیزند. این جریان از طریق اندازه گیری ولتاژ مرجع پتانسیومتر مانند فرمول زیر اندازه گیری میشود. هرچند نمیتوان گفت که این رابطه همواره برقرار است.
Current Limit = VRef * 2
ابتدا سر مثبت مولتیمتر را به پتانسیومتر و سر منفی مولتیمتر را به GND متصب کنید. ولتاژی که اندازهگیری شده است، همان VRef میباشد. با ضرب آن در عدد 2، محدودیت جریان مشخص میشود. در ادامه نیز با توجه به دیتاشیت، جریان کویلها 70% جریان محدود شده میباشد:
Winding Current = Current Limit * 0.7
گام سوم : کد
کد زیر را روی آردوینو خود آپلود کنید.
/*
A4988-Reprap-Stepper-Driver
made on 29 Nov 2020
by Amir Mohammad Shojaee @ Electropeak
Home<iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" title="“Home” — Electropeak" src="https://electropeak.com/learn/embed/#?secret=RM4NykfrTz" data-secret="RM4NykfrTz" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
*/
#define DIR 6
#define STEP 5
void setup(){
pinMode(DIR,OUTPUT); // Set DIR pin as output
pinMode(STEP,OUTPUT); // Set STEP pin as output
}
void loop(){
digitalWrite(DIR,HIGH); // Set the direction of the stepper motor to HIGH (clockwise)
// Rotate the stepper motor 100 steps clockwise
for(int x=0; x<100; x++){
digitalWrite(STEP,HIGH); // Send a high pulse to the STEP pin
delayMicroseconds(500); // Wait for a short duration
digitalWrite(STEP,LOW); // Send a low pulse to the STEP pin
delayMicroseconds(500); // Wait for a short duration
}
delay(1000); // Pause for 1 second
digitalWrite(DIR,LOW); // Set the direction of the stepper motor to LOW (counter-clockwise)
// Rotate the stepper motor 100 steps counter-clockwise
for(int x=0; x<100; x++){
digitalWrite(STEP,HIGH); // Send a high pulse to the STEP pin
delayMicroseconds(500); // Wait for a short duration
digitalWrite(STEP,LOW); // Send a low pulse to the STEP pin
delayMicroseconds(500); // Wait for a short duration
}
delay(1000); // Pause for 1 second
}
ابتدا پایه 5 و 6 را به عنوان پایه های STEP و DIR تعریف میکنیم. در ادامه با یک برنامه ساده توسط حلقه for، موتور نیمدور در جهت ساعتگرد و نیمدور نیز در جهت پادساعتگرد میچرخد.
Comments (9)
سلام
کدنویسی برای ماژول درایور tb6560 نیز چه تفاوت های دارد
سلام،
تفاوت اصلی که بین درایور tb6560 و a4988 وجود داره اینه که تو درایور tb6560 نیازی ندارید که حتما با کمک یک مولتیمتر محدودسازی جریان رو انجام بدید و این کار به کمک میکروسوییچ روی ماژول درایور به راحتی انجام میشه. تفاوت اصلیشون در استفاده با آردوینو هم به طور اجمالی این هست که به جای 2 پین، برای استفاده درایور tb6560 نیاز هست که از 3 پین آردوینو کمک گرفته بشه. برای شناخت بهتر استفاده از ماژول درایور tb6560 و استفاده اون با آردوینو میتونید از لینک زیر هم کمک بگیرید:
“https://www.youtube.com/watch?v=g-xnanD7vUs”
سلام میشه کدنویسی هارو توضیح بدین ک هر خط مربوط ب چی هست و ترتیب ب چ صورته
با سلام
کد کامنت گذاری شد.
ممنون از سایت خوبتون لطف کنید و شبیه سازی پروتئوس رو قرار بدید
درود
پایه های سیمپیچی موتور:
1A: پایه اول کویل 1 موتور
2A: پایه دوم کویل 1 موتور
1B: پایه اول کویل 2 موتور
2B: پایه دوم کویل 2 موتور
این اطلاعاتی که در باره پایه ها گذاشتید غلط هستند.
درستش اینشکلیه
1A&1B مربوط به سیم پیچ شماره یک و
2A&2B مربوط به سیم پیچ شماره دو
کمی مطالعه قبل از انتشار مطلب آموزشی !!!!!
با سلام
ممنون از اطلاع رسانی شما.
مطلب اصلاح شد.
سلام
خیلی ممنونم سایتتون خیلی مفیده
فقط اگه امکان داره راه اندازی موتور براشلس با اردویینو و ریموت irرو هم بزارید
این پروژه رو من هیچ جایی ندیدم همه جارو هم سرچ کردم متاسفانه نیست که نیست
با سلام
این آموزش که درخواست داده اید ترکیب 2 عدد از آموزش ها می باشد و ترکیب کردن آموزش ها اکثرا انجام نمیشود و با توجه به دانشی که از 2 آموزش بدست آورده اید می توانید پروژه مورد نظر خود را اجرا نمایید.