Overview
The VNH2SP30 Monster Moto Shield hosts a high-performance, fully integrated VNH2SP30 H-Bridge Motor Driver, ideal for automotive and industrial applications. It features STMicroelectronics' advanced VIPower™ M0 technology, allowing efficient integration of a true Power MOSFET with smart signal and protection circuitry. This motor driver is versatile for controlling motor direction, speed, and braking operations. The speed of the motor can be controlled in all possible conditions by the PWM up to 20 kHz though limited by the PWM frequency of Arduino UNO which is around 490 Hz for most pins. Pins 5 and 6 have a frequency of around 980 Hz. The shield connects to Pin 5 and 6 for PWMA and PWMB respectively.
Specifications
Voltage Rating | 5.5 to 16V Power Supply |
Peak Current (A) | 30A |
Continuous Current (A) | 14A |
Current Sensing | Yes |
PWM Frequency | Upto 20kHz |
Protection | Undervoltage and Overvoltage Shutdown Thermal Shutdown Overvoltage Clamp |
Undervoltage Shutdown | 5.5V |
Undervoltage Reset | 4.7V |
Overvoltage Shutdown | 16V + |
Pinouts
Pinouts for VNH3ASP30 Monster Moto Shield for Arduino UNO.
VM | 5.5 to 16V Power Supply |
GND | Ground |
A1, B1 | Terminal to connect Motor A |
A2, B2 | Terminal to connect Motor B |
AIN1, AIN2 | Control signal for motor A |
BIN1, BIN2 | Control signal for motor B |
PWMA | Motor A speed control using PWM |
PWMB | Motor B speed control using PWM |
CSA | Current sensing pin of for motor A |
CSB | Current sensing pin for motor B |
ENA | Enable pin for motor A |
ENB | Enable pin for motor B |
Connections & Code
Power
- VM: Connect it to a 5.5V to 16V power supply.
- GND: Connect it to the power supply ground.
Signal
Connections for Arduino UNO
- AIN1: Connects to digital pin D7
- AIN2: Connects to digital pin D8
- BIN1: Connects to digital pin D4
- BIN2: Connects to digital pin ~D9
- PWMA: Connects to digital pin ~D5
- PWMB: Connects to digital pin ~D6
- ENA: Connects to analog pin A0
- ENB: Connects to analog pin A1
- CSA: Connects to analog pin A2
- CSB: Connects to analog pin A3
Code
/*
MOTORA | AIN1 / BIN1 | AIN2 / BIN2
-----------------------------------------
Forward | HIGH | LOW
-----------------------------------------
Reverse | LOW | HIGH
-----------------------------------------
STOP | LOW | LOW
-----------------------------------------
STOP | HIGH | HIGH
-----------------------------------------
*/
// Motor A, Left Side
const unit8_t AIN1 = 7
const unit8_t AIN2 = 8
const unit8_t PWMA = 5
const unit8_t ENA = A0
// Motor B, Right Side
const unit8_t BIN1 = 4
const unit8_t BIN2 = 9
const unit8_t PWMB = 6
const unit8_t ENB = A1
void stop(){
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, LOW);
analogWrite(ENA, 0);
analogWrite(ENB, 0);
analogWrite(PWMA, 0);
analogWrite(PWMB, 0);
}
void moveForward(){
analogWrite(ENA, 255);
analogWrite(ENB, 255);
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
digitalWrite(BIN1, HIGH);
digitalWrite(BIN2, LOW);
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
}
void moveReverse(){
analogWrite(ENA, 255);
analogWrite(ENB, 255);
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, HIGH);
analogWrite(PWMA, 255);
analogWrite(PWMB, 255);
}
void increaseForward(){
for (int i=0; i<256; i++){
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
digitalWrite(BIN1, HIGH);
digitalWrite(BIN2, LOW);
analogWrite(PWMA, i);
analogWrite(PWMB, i);
analogWrite(ENA, 255);
analogWrite(ENB, 255);
delay(20);
}
}
void setup() {
pinMode(AIN1, OUTPUT); //AIN1
pinMode(AIN2, OUTPUT); //AIN2
pinMode(BIN1, OUTPUT); //BIN1
pinMode(BIN2, OUTPUT); //BIN2
pinMode(ENA, OUTPUT); //ENA Enable Pin
pinMode(ENB, OUTPUT); //ENB Enable Pin
pinMode(PWMA, OUTPUT); //PWMA PWM pin for Motor A
pinMode(PWMB, OUTPUT); //PWMA PWM pin for Motor B
}
void loop(){
stop(); // Stop DC Motors
delay(3000);
moveForward(); // Drive DC Motors Forward
delay(3000);
moveReverse(); // Drive DC Motors Reverse
delay(3000);
increaseForward(); // Drive DC Motors 0 to 100 Forward
delay(3000);
}
Opps
Sorry, it looks like some products are not available in selected quantity.