This motor driver shield is based on L298N.It is more powerful than Arduino motor drive shield- L293D. L298N is a kind of high voltage, heavy current motor drive chip,maximum working voltage is 46V,constant working current is 2A,transient peak electric current is 3A.This chip contain high voltage heavy current bridge driver of two H-bridge,it can drive two DC motor directly.
This shield should firstly consider how to supply power to motor when linking to the circuit,if your Arduino adopt external power,and this power supply mode that can fit your motor driver,then link the motor to MA or MB:
then link jumper wire of VM to VIN port.
Another way is supply less than 35V voltage to motor by itself,separately link to GND and VEX wire holder of motor shield,the motor link to MA or MB as the same:
but jump wire of VM should link to VEX:
when talking about controlling principle,L298N are the same as L293D on function,they both control the direction of motor by two direction pin,and control the speed of motor by one enable pin。When to this shields,the motor MA direction pin is Arduino's 13 and 12 pin,speed pin is Arduino's 10 pin;while the motor MB direction pin is Arduino's 11 and 8 pin,speed pin is Arduino's 9 pin;the test code show as below:
// motor A
int dir1PinA = 13;
int dir2PinA = 12;
int speedPinA = 10;
// motor B
// motor A
int dir1PinB = 11;
int dir2PinB = 8;
int speedPinB = 9;
unsigned long time;
int speed;
int dir;
void setup() {
pinMode(dir1PinA, OUTPUT);
pinMode(dir2PinA, OUTPUT);
pinMode(speedPinA, OUTPUT);
pinMode(dir1PinB, OUTPUT);
pinMode(dir2PinB, OUTPUT);
pinMode(speedPinB, OUTPUT);
time = millis();
speed = 0;
dir = 1;
}
void loop() {
analogWrite(speedPinA, speed);
analogWrite(speedPinB, 255 - speed);
// set direction
if (1 == dir) {
digitalWrite(dir1PinA, LOW);
digitalWrite(dir2PinA, HIGH);
digitalWrite(dir1PinB, HIGH);
digitalWrite(dir2PinB, LOW);
} else {
digitalWrite(dir1PinA, HIGH);
digitalWrite(dir2PinA, LOW);
digitalWrite(dir1PinB, LOW);
digitalWrite(dir2PinB, HIGH);
}
if (millis() - time > 5000) {
time = millis();
speed += 20;
if (speed > 255) {
speed = 0;
}
if (1 == dir) {
dir = 0;
} else {
dir =1;
}
}
}
4 LEDs standard for the motor direction of rotation,the illumination represent the motor speed:
moreover,there is a VL jumper wire on this shield ,it is used for choosing logic level for L298N,we will choose V5V usually,that's to say get logic voltage from Arduino。
If the VL jumper wire connect with VEX,it get the corresponding logic voltage through motor external power VEX after partial pressure and the voltage bleeder is LM3940, its highest voltage value is 35V, it also decide that the highest voltage of this shield is 35V on some procedure.
L298N Motor Driver Shield for Arduino
- Product Code:PRC-Motor-Driver-Shield-Arduino
- Reward Points:14
- Availability:Out Of Stock
-
रo 1,350.00
- Price in reward points:1350