Monster Moto Dual-Channel Motor Driver VNH2SP30 High-current up to 30A
- Was RM85.00
-
RM65.00
- Product Code: Monster Dual VNH2SP30
- Availability: In Stock
This is essentially a ramped up version of motor driver / shield
Features
Specification
Packaging Included
Note:When using this board in extreme high-demand applications it may be necessary to improve thermal performance with a heat-sink or fan and to solder the wires directly to the board instead of using a screw terminal (in addition to the myriad other complications present in a high-current system) However,when using the board at currents up to 6A the chips will barely become noticeably warm.
PWM: Value between "0" and "255" to control the speed of the motor
/* MONSTER MOTOR SHIELD TEST CODE */ #define MtrBrake 0 #define ClockWise 1 #define CClockWise 2 #define GndBreak 3 #define CounterSenseThresHold 100 /* VNH2SP30 pin definitions xxx[0] controls '1' outputs xxx[1] controls '2' outputs */ int inApin[2] = {7, 4}; // INA Clockwise Controll int inBpin[2] = {8, 9}; // INB Counter-clockwise Controll int pwmpin[2] = {5, 6}; // PWM (Pulse with modulation ) Input int cspin[2] = {2, 3}; // CS Current sense for analog input int enpin[2] = {0, 1}; // EN Status of switches output (Analog pin) int statpin = 13; void setup() { Serial.begin(9600); pinMode(statpin, OUTPUT); // Initialize digital pins as outputs for (int i=0; i<2; i++) { pinMode(inApin[i], OUTPUT); pinMode(inBpin[i], OUTPUT); pinMode(pwmpin[i], OUTPUT); } // Initialize braked for (int i=0; i<2; i++) { digitalWrite(inApin[i], LOW); digitalWrite(inBpin[i], LOW); } // motorGo(0, ClockWise, 255); // motorGo(1, CClockWise, 255); } void loop() { motorGo(0, ClockWise, 255); motorGo(1, CClockWise, 255); delay(500); motorGo(0, CClockWise, 255); motorGo(1, ClockWise, 255); delay(500); if ((analogRead(cspin[0]) < CounterSenseThresHold) && (analogRead(cspin[1]) < CounterSenseThresHold)) digitalWrite(statpin, HIGH); } void motorOff(int motor) { // Initialize the brake for (int i=0; i<2; i++) { digitalWrite(inApin[i], LOW); digitalWrite(inBpin[i], LOW); } analogWrite(pwmpin[motor], 0); } /* Monster Motor will set a motor going in a specific direction the motor will continue turns in that direction, at that speed until told to do otherwise. Motor: this should be either 0 or 1 will selet which of the two motors to be controlled Direct Should be between 0 and 3, with the following result 0 - Brake to VCC 1 - Clock wise 2 - Counter Clockwise 3 - Brake to GND PWM (Pulse with Moduleation) should be a value between 0and 1024, higher the number, the faster turns */ void motorGo(uint8_t motor, uint8_t direct, uint8_t pwm) { if (motor <= 1) { if (direct <=4) { // Set to INA[motor] if (direct <=1) digitalWrite(inApin[motor], HIGH); else digitalWrite(inApin[motor], LOW); // Set to INB[motor] if ((direct==0)||(direct==2)) digitalWrite(inBpin[motor], HIGH); else digitalWrite(inBpin[motor], LOW); analogWrite(pwmpin[motor], pwm); } } }
Related:
|
Single Channel VNH2SP30 Monster Moto Single-Channel Motor Driver VNH2SP30 High-current up to 30A |
Tags: Motor Driver