ویژگی های ماژول درایور دو کاناله L9110S
امروزه ماژولهای درایور موتور بسیار پرکاربرد هستند و برای کنترل سرعت و جهت موتورها استفاده میشوند. ماژول دو کاناله L9110S نیز یکی از آنها میباشد. از این ماژول میتوان برای کنترل دو موتور DC و یک استپر موتور استفاده کرد. این ماژول بر مبنای آیسی L9110 است. ویژگی های این آیسی عبارتاند از:
- جریان مجاز پیوسته برای هر کانال حدود 800 میلیآمپر است.
- حداکثر جریان مجاز 1.5 آمپر است.
- ولتاژ تغذیه آن 2.5 تا 12 ولت میباشد.
توجه
دو پین اتصالی به هر موتور DC، میتوانند PWM و یا دیجیتال باشند. در صورتی که به صورت دیجیتال تعریف شوند، فقط میتوانند جهت حرکت موتورها را کنترل کنند.
دو ماژول تقریبا یکسان بر مبنای آیسی L9110 را در تصاویر زیر مشاهده میکنید.
دیتاشیت آی سی L9110 را می توانید از اینجا دانلود کنید.
L9110S Dual-Channel Driver Module Datsheet
معرفی پایه های (Pinout) ماژول درایور دو کاناله L9110S
ماژولهای درایور موتور دو کاناله L9110S دارای پایههایی به شرح زیر هستند:
- VCC: ولتاژ تغذیه ماژول
- GND: زمین
- M-A: پایه موتور A
- M-B: پایه موتور B
- A-1: سیگنال کنترلی موتور A
- A-2: سیگنال کنترلی موتور A
- B-1: سیگنال کنترلی موتور B
- B-2: سیگنال کنترلی موتور B
پین اوت (Pinout) دو ماژول زیر که هر دو بر مبنای آیسی L9110S هستند، در تصاویر زیر مشخص شدهاند.
توجه شود که با حالتهای مختلف سیگنالهای کنترلی، عملکرد موتورها متفاوت میشود. برای مثال حالتهای مختلف پایههای کنترلی موتور A (A-1 , A-2) با ورودی دیجیتال در تصویر زیر بیان شدهاند.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
تذکر
برای ادامه آموزش راهاندازی، تهیه یکی از دو ماژول درایور موتور زیر کافی میباشد.
نرم افزارهای مورد نیاز
راه اندازی ماژول درایور دو کاناله L9110S با آردوینو
گام اول: سیم بندی
در تصاویر زیر نحوه اتصال دو ماژول درایور موتور، جهت راهاندازی با آردوینو را مشاهده می کنید.
توجه
GND برد آردوینو را به GND منبع تغذیه متصل کنید.
هشدار
دقت کنید به دلیل اینکه موتورهای شما 6 ولت میباشد از منبع تغذیه با ولتاژ بالاتر از 6 ولت استفاده نکنید.
گام دوم : کد
کد زیر را روی برد آردوینوی خود آپلود کنید.
/*
L9110S-Stepper-DC-motor-Driver-Module
made on 28 oct 2020
by Amir Mohammad Shojaee @ Electropeak
Home
*/
#define A1 5 // Motor A pins
#define A2 6
#define B1 10 // Motor B pins
#define B2 11
int incomingByte = 0; // for incoming serial data
void setup() {
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(B1, OUTPUT);
pinMode(B2, OUTPUT);
digitalWrite(A1, LOW);
digitalWrite(A2, LOW);
digitalWrite(B1, LOW);
digitalWrite(B2, LOW);
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
Serial.println("select direction of movement");
Serial.println("1.forward");
Serial.println("2.backward");
Serial.println("3.stop");
}
int input = 0;
void loop() {
// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();
input = incomingByte - 48; //convert ASCII code of numbers to 1,2,3
switch (input) {
case 1: // if input=1 ....... motors turn forward
forward();
break;
case 2: // if input=2 ....... motors turn backward
backward();
break;
case 3: // if input=1 ....... motors turn stop
Stop();
break;
}
delay(200);
input=0;
}
}
void forward() { //function of forward
analogWrite(A1, 255);
analogWrite(A2, 0);
analogWrite(B1, 255);
analogWrite(B2, 0);
}
void backward() { //function of backward
analogWrite(A1, 0);
analogWrite(A2, 210);
analogWrite(B1, 0);
analogWrite(B2, 210);
}
void Stop() { //function of stop
digitalWrite(A1, LOW);
digitalWrite(A2, LOW);
digitalWrite(B1, LOW);
digitalWrite(B2, LOW);
}
توسط این برنامه میتوان از طریق سریال مانیتور، جهت حرکت موتورها را کنترل کرد. به نحوی که اگر کلید شماره 1 وارد شود، موتور با حداکثر سرعت در جهت مستقیم حرکت میکند. اگر کلید شماره 2 وارد شود، موتور با سرعتی کمتر از حداکثر در جهت معکوس حرکت میکند. در آخر نیز با فشردن کلید شماره 3، موتور میایستد.
Comments (3)
سلام خیلی ممنون از مطالبتون فقط یه سوال دارم
من وقتی باتری رو به درایور وصل میکنم کامل روشن میشه میخواستم بدونم اگه بخام اردوینو را با باتری روشن کنم باید چیکار کنم؟
سلام.
منظورتون رو کامل متوجه نشدم. میخواید با یک باتری علاوه بر درایور، آردوینو رو هم روشن کنید؟ برای این کار کافیه که سر مثبت باتری رو به پایه vin و سر منفی باتری رو به GND آردوینو متصل کنید.
سلام خسته نباشید
بنده دو تا مشکل دارم
۱. وقتی به باتری وصل میکنم نمیتونم کنترلی روی ماژول داشته باشم یعنی نمیتونم با استفاده از برد nodemcu esp8266 موتور رو روشن کنم اما وقتی به خروجی 3 ولت mcu8266 متصل میکنم موتور روشن میشه
۲. نویز الکتریکی ایجاد میشه صدایی مثل بازر از تو آرمیچر میاد
لطفا کمکم کنید ۳ روزه سفارش دادم تو این ۳ روز هر چی میگردم نمیتونم مشکل رو حل کنم