با استفاده از ماژول L298 DMotor Driver، به راحتی می توان دو موتور DC و یا یک موتور Stepper دو قطبی را راه اندازی نمود. این محصول یک برد بسیار با کیفیت است و در ابعاد کوچک ساخته شده و بدین سبب برای طراحی مداراتی که صرفه جویی در فضا در آنها اهمیت دارد، بسیار پرکاربرد است.
توجه داشته باشید که این ماژول دارای یک منبع تغذیه 5 ولت جهت استفاده خارجی می باشد. بنابراین ولتاژ ورودی را به پین 5V آن متصل نکنید. این پین تنها جهت تولید خروجی است.
مشخصات:
- دارای دو کانال جهت راه اندازی موتور
- تراشه: L298N
- ولتاژ منطقی: 5 ولت
- ولتاژ راه اندازی: 5 تا 35 ولت
- جریان منطقی: 0 تا 36 میلی آمپر
- جریان راه اندازی: 2 آمپر
- دما: 20- تا 135+
- حداکثر توان: 25 وات
- وزن: 30 گرم
- اندازه: 43*43*27 میلی متر
- سازگار با درایور L297/L298
شماتیک مدار جهت راه اندازی موتور DC:
مثال آردوینو جهت راه اندازی موتور DC:
کد:
/*
# Be name Khoda!
# Example code for L298N Motor Driver Module to driving dc
# Company : AftabRayaneh
# Website : http://shop.aftabrayaneh.com
# Editor : Elham Rasekh
# Date : 09.09.2013
# Version : 1.0
# Connect the pins as follow:
in1 -> Pin analog 0
in2 -> Pin analog 1
enA -> Pin pwm 5
*/
//motor pins
int motor1A=A0;
int motor1B=A1;
int en1=5;
int motorSpeed = 250;
void setup(){
pinMode(motor1A, OUTPUT);
pinMode(motor1B, OUTPUT);
pinMode(en1, OUTPUT);
}
void loop()
{
Go();
delay(5000);
Stop();
delay(5000);
}
void Stop()
{ //to stopping the motor:
//set both of pins A AND B to the same value (HIGH or LOW)
// or set en to 0 -> analogWrite(en1,0);
digitalWrite(motor1A,LOW);
digitalWrite(motor1B,LOW);
}
void Go()
{
digitalWrite(motor1A,HIGH);
digitalWrite(motor1B,LOW);
analogWrite(en1,motorSpeed);
}
شماتیک مدار جهت راه اندازی stepper:
مثال آردوینو جهت راه اندازی stepper:
کد:
/*
# Be name Khoda!
# Example code for L298N Motor Driver Module to driving stepper
# Company : AftabRayaneh
# Website : http://shop.aftabrayaneh.com
# Editor : Reza Najafi
# Date : 09.09.2013
# Version : 1.0
*/
int ENA=2;//connected to Arduino's port 2
int IN1=3;//connected to Arduino's port 3
int IN2=4;//connected to Arduino's port 4
int ENB=5;//connected to Arduino's port 5
int IN3=6;//connected to Arduino's port 6
int IN4=7;//connected to Arduino's port 7
int _step = 0;
boolean dir = false; //gre
void setup()
{
pinMode(ENA,OUTPUT);
pinMode(ENB,OUTPUT);
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
digitalWrite(ENA,HIGH);//enable motorA
digitalWrite(ENB,HIGH);//enable motorB
}
void loop()
{
switch(_step){
case 0:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
break;
case 1:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
break;
case 2:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
break;
case 3:
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
break;
case 4:
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
case 5:
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
case 6:
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
case 7:
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
break;
default:
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
break;
}
if(dir){
_step++;
}
else{
_step--;
}
if(_step>7){
_step=0;
}
if(_step<0){
_step=7;
}
delay(10);
}
توجه: جهت راه اندازی موتور در جهت عکس، کافیست مقدار dir را برابر true قرار دهید.
البته موتورهای Stepper را می توان با استفاده از کتابخانه مربوطه نیز استفاده کرد که در این لینک اطلاعات جامعی راجع به این کتابخانه موجود است.
ضمناً، اطلاعات مفیدی نیز در این لینک موجود است که با مراجعه به آن اشراف خوبی نسبت به این ماژول خواهید یافت.
جهت سفارش این کالا، به این بخش در فروشگاه آفتاب رایانه مراجعه نمایید.