Dual VNH3ASP30 Monster Moto Shield H-Bridge Motor Driver

SKU: TH0628
$39.00 Out of Stock
Ships Today - If you order within hrs mins!


Quality
First

Awesome
Support

Secure
Checkout

Worldwide
Shipping

Monster Moto Shield for Arduino boards hosts a high-performance, fully integrated VNH2SP30 H-Bridge Motor Driver, ideal for automotive and industrial applications.

Features:

  • 5.5 to 16V Power Supply
  • 14A Continuous Current
  • Current Sensing
  • Undervoltage & Overvoltage Shutdown 
  • Thermal Shutdown
Read more details

Bulk Order?

Contact sales on WhatsApp and get bulk order discount!
or, mail us on support

Contact Sales

Out of Stock!

We will email you when this item is back in stock. Please enter your email

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.

OK