ویژگی های ماژول درایور استپر موتور ULN2003
زمانی که نیاز به کنترل دقیق شفت موتور داریم، عموما از استپر موتورها استفاده میکنیم. این موتورها در بازوی ربات، پرینترهای سه بعدی، ماشینهای CNC و …. کاربرد دارند. 28BJY-48 یکی از انواع استپر موتور میباشد. در مد full step این موتورها هر چرخش را با 32 گام طی میکنند و داری یک گیربکس کاهش سرعت 1 به 64 هستند. عموما برای کنترل این موتورها از درایور ULN2003 استفاده میشود.
آیسی ULN2003 از 7 جفت ترانزیستور دارلینگتون (Darlington) تشکیل شدهاست که هر جفت قابلیت تحمل 500 میلیآمپر و 50 ولت را دارد. 4 عدد از این 7 جفت ترانزیستور در این ماژول در دسترس است. این ماژول دارای 4 عدد LED جهت نشان دادن فعالیت 4 پایه کنترلی موتور میباشد.
دیتاشیت آی سی ULN2003 را می توانید از اینجا دانلود کنید.
BTS7960 43A Motor Driver Datasheet
معرفی پایه های (Pinout) ماژول درایور استپر موتور ULN2003
ماژول درایور استپر موتور ULN2003 دارای پایههایی به شرح زیر است:
- VIN: ولتاژ تغذیه ماژول- 5تا12 ولت
- GND: زمین
- IN1: پایه کنترلی 1
- IN2: پایه کنترلی 2
- IN3: پایه کنترلی 3
- IN4: پایه کنترلی 4
- MOTOR: سیگنال های اتصالی به موتور
پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول درایور استپر موتور ULN2003 با آردوینو
گام اول: سیم بندی
مطابق مدار زیر ماژول را به آردوینو و استپ موتور وصل کنید.
توجه
پایه GND آردوینو را به GND منبع تغذیه متصل کنید.
هشدار
به دلیل اینکه ولتاژ کاری موتور 5 ولت است، هرگز از منبع تغذیه بالاتر از 5 ولت استفاده نکنید.
گام دوم : کد
کد زیر را روی آردوینو خود آپلود کنید.
/*
ULN2003-Stepper-Motor-Driver
modified on 25 Nov 2020
by Amir Mohammad Shojaee @ Electropeak
Home
based on Arduino library Example
*/
#include <Stepper.h>
const int stepsPerRevolution = 2048;
const int rpm = 12;
Stepper stepper1 = Stepper(stepsPerRevolution, 8, 10, 9, 11);
void setup() {
stepper1.setSpeed(rpm);
}
void loop() {
stepper1.step(stepsPerRevolution);
delay(100);
stepper1.step(-stepsPerRevolution);
delay(100);
}
در کد فوق، ابتدا کتابخانه موتور پیوست میشود. در مرحله بعدی دو متغیر گام چرخش و سرعت موتور بر حسب RPM تعیین میشوند. موتور 28BJY-48 داری یک گیربکس 64 به 1 و گام چرخش 32 میباشد. بنابراین گام به ازای هر چرخش موتور با احتساب این دو شرط 32×64=2048 میشود. سرعت آن را نیز 12RPM قرار میدهیم. سپس پایه های کنترلی طبق ترتیب بالا تعیین میگردند. در آخر نیز موتور ابتدا 5 ثانیه در جهت عقربههای ساعت و 5 ثانیه در خلاف جهت عقربه های ساعت میچرخد.
Comments (3)
سلام
سوالی از خدمتتون داشتم
5 ثانیه گردش بر اساس کدوم سطر تعریف شده و چطور میتونم افزایشش بدم
سلام،
همونطور که در متن پس از کد توضیح داده شده، موتوری که در این آموزش استفاده شده یک گیربکس 1 به 64 داره و گام چرخش اون هم 32 هست. در نتیجه هر دور چرخش به تعداد 32*64 یعنی 2048 گام لازم داره.
در خط 11 کد هم تعداد گامهای چرخش تعریف شده که 2048 هست. یعنی در هر دستور چرخش، موتور یک دور میچرخه. در خط 12 هم سرعت چرخش تعریف شده که 12 دور بر دقیقه هست.
در نتیجه در هر دستور چرخش، موتور یک دور میچرخه و ازونجایی که سرعت چرخش 12 دور بر دقیقه هست، هر دور چرخش 5 ثانیه طول میکشه. برای اینکه این مدت زمان رو تغییر بدید میتونید در خطهای 11 و 12، تعداد گام چرخش و سرعت رو تنظیم کنید.
سلام من کد کتابخانه پروتئوس ماژول uln2003 را چطور می توانم دانلود کنم ،کد ماژول نه کد آی سی