ویژگیهای درایور استپر موتور EasyDriver
اگر در انجام پروژههای خود از استپر موتور استفاده میکنید، قطعا به کنترلکننده آن نیاز پیدا میکنید. یکی از درایورها برای کنترل استپر موتورها، درایور EasyDriver میباشد. این ماژول بر مبنای آیسی A3967 میباشد. این ماژول برای کنترل استپر موتورهای دو قطبی استفاده میشود.
ویژگیهای این ماژول عبارت اند از:
- جریان مجاز پیوسته عبوری: 0.750 آمپر
- ماکزیمم جریان مجاز عبوری: 0.850 آمپر
- حداکثر ولتاژ مجاز: 30 ولت
- محافظ حرارتی
- حفاظت جریان زیاد
- دارای پتانسیومتر جهت محدود کردن جریان
نکته
گام های آن از گام کامل تا گام 1/8 میباشد.
دیتاشیت آی سی A3967 را میتوانید از اینجا دانلود کنید.
EasyDriver Stepper Motor Driver Datasheet
معرفی پایه های (Pinout) درایور استپر موتور EasyDriver
این درایور دارای پایههایی به شرح زیر است:
پایه های تغذیه:
- GND: زمین
- +V: ولتاژ تغذیه موتور – حداکثر 30 ولت
- 5V+: ولتاژ تغذیه درایو
پایه های سیمپیچی موتور:
- A1: پایه اول کویل 1 موتور
- A2: پایه دوم کویل 1 موتور
- B1: پایه اول کویل 2 موتور
- B2: پایه دوم کویل 2 موتور
پایه های کنترل حرکت موتور:
- DIR: سیگنال دیجیتال برای کنترل جهت حرکت موتور
- STEP: سیگنال دیجیتال برای کنترل گام های چرخش
- RDF: مُد current decay
- SLP: زمانی که این سیگنال LOW شود، خروجی ها غیرفعال میشوند.
- RST: سیگنال ریست
- ENABLE: با فعال شدن این سیگنال، درایور غیرفعال میشود.
پایه های انتخاب دقت گام:
- MS1: پایه اول دقت گام
- MS2: پایه دوم دقت گام
با تغییرات این دو پایه، میتوان تغییرات گام را از گام کامل تا تا گام 1/8 تغییر داد. جدول زیر بیانگر چگونگی این تغییرات میباشد:
نکته
از طریق پتانسیومتری که بر روی ماژول قرار دارد میتوانید جریان عبوری از ماژول را محدود کنید.
پین اوت (Pinout) درایور EasyDriver در تصویر زیر آمدهاست.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
تذکر
اخطار
راه اندازی درایور استپر موتور EasyDriver با آردوینو
گام اول: سیم بندی
عکس زیر نشان دهنده نحوه اتصال درایور به دیگر قطعات میباشد.
گام دوم: کد
کد زیر را روی آردوینو خود آپلود کنید.
/*
EasyDriver-Stepper-Motor-Driver Module
made on 20 Dec 2020
by Amir Mohammad Shojaee @ Electropeak
Home
*/
#define stp 2
#define dir 3
#define MS1 4
#define MS2 5
int x;
void setup() {
pinMode(stp, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(MS1, OUTPUT);
pinMode(MS2, OUTPUT);
digitalWrite(MS1,LOW);
digitalWrite(MS2,LOW);
}
void loop() {
digitalWrite(dir, HIGH);
for(x= 0; x<1000; x++)
{
digitalWrite(stp,HIGH);
delay(1);
digitalWrite(stp,LOW);
delay(1);
}
delay(1000);
digitalWrite(dir, LOW);
for(x= 0; x<1000; x++)
{
digitalWrite(stp,HIGH);
delay(1);
digitalWrite(stp,LOW);
delay(1);
}
delay(1000);
}
در این برنامه برای راهاندازی استپر موتور از چهار پایه STP و DIR و MS1 و MS2 استفاده شده است. MS1 و MS2 را LOW میکنیم تا استپر موتور در حالت گام کامل بچرخد.
زمانی که برنامه اجرا میشود، استپر موتور 5 دور در جهت مستقیم و 5 دور در جهت معکوس میچرخد.
Comments (2)
سلام
با تشکر از مطالب خوبتون
اگر امکان دارد در خصوص برنامه ریزی آردینو به طوری که از طریق کامپیوتر و پایتون قابل کنترل باشد و همچنین حلقه بسته کردن موتور و آردینو راهنمایی بفرمایید
سلام. ممنون از لطف شما.
امکان برنامه ریزی آردوینو با پایتون وجود نداره ولی جدیدا زبان برنامه نویسی جدیدی تحت پایتون برای میکروکنترلرها طراحی شده به اسم میکروپایتون. برخی از میکروکنترلرها مثل برخی میکروکنترلرهای STM32، تمامی میکروکنترلرهای سری ESP32 و ESP8266 و برخی دیگر میکروکنترلرها توانایی برنامه نویسی به زبان میکروپایتون رو دارن. میتونید برای یادگیری نحوه برنامه نویسی میکروکنترلرها با زبان میکروپایتون از آموزشهای زیر استفاده کنید.
https://thecaferobot.com/learn/micropython-programming-tutorial-w-esp8266/
https://thecaferobot.com/learn/getting-started-with-micropython-on-esp32-a-full-beginners-guide/
در رابطه با حلقه بسته کردن موتور و آردوینو هم، اگر منظورتون کنترل کردن سرعت موتور با گرفتن فیدبک از اون هست، لازمه که از انکودرها استفاده کنید. با دادن خروجی انکودر به آردوینو، سرعت موتور رو محاسبه میکنید و بر اساس اون میتونید سرعت موتور رو با کم یا زیاد کردن کنترل کنید. در رابطه با استفاده از انکودرها هم آموزشهای زیر میتونن براتون مفید باشن.
https://thecaferobot.com/learn/how-to-interface-a-rotary-encoder-with-arduino/
https://thecaferobot.com/learn/interfacing-lm393-infrared-speed-sensor-with-arduino/
https://thecaferobot.com/learn/interfacing-photoelectric-encoder-speed-sensor-with-arduino/