====== Monster Shield ======
{{:materiel:monstershield:monstershield.jpg?400|}}
[[http://www.instructables.com/id/Monster-Motor-Shield-VNH2SP30/|Instructables]]
* Voltage Range : 5.5V - 16V
* Maximum Current rating : 30A
* Practical Continuous Current: 14 A
* Current sense output proportional to motor current
* MOSFET on-resistance: 19 mΩ (per leg)
* Maximum PWM frequency: 20 kHz
* Thermal Shutdown
* Undervoltage and Overvoltage shutdown
// Test Monster shield - UNO
// Réf : http://www.instructables.com/id/Monster-Motor-Shield-VNH2SP30/
// Enable : monster shield A0 et A1 : 5V Arduino
// Alim 6-12VCC
// Mapping UNO Monster Shield
// D5 D5 (M1 pwm)
// D7 D7 (M1 Clockwise CW) digital
// D8 D8 (M1 Counterclockwise CCW) digital
// D6 D6 (M2 pwm)
// D4 D4 (M2 Clockwise CW) digital
// D9 D9 (M2 Counterclockwise CCW) digital
// motor 1
#define PWM1 5
#define CW1 7
#define CCW1 8
// motor 2
#define PWM2 6
#define CW2 4
#define CCW2 9
void setup()
{
pinMode(PWM1, OUTPUT);
pinMode(CW1, OUTPUT);
pinMode(CCW1, OUTPUT);
pinMode(PWM2, OUTPUT);
pinMode(CW2, OUTPUT);
pinMode(CCW2, OUTPUT);
}
void loop()
{
// direction CW
digitalWrite(CW1, HIGH);
digitalWrite(CCW1, LOW);
digitalWrite(CW2, HIGH);
digitalWrite(CCW2, LOW);
analogWrite(PWM1, 0);
analogWrite(PWM2, 0);
delay(3000);
analogWrite(PWM1, 120);
analogWrite(PWM2, 120);
delay(3000);
analogWrite(PWM1, 255);
analogWrite(PWM2, 255);
delay(3000);
// direction CCW
digitalWrite(CW1, LOW);
digitalWrite(CCW1, HIGH);
digitalWrite(CW2, LOW);
digitalWrite(CCW2, HIGH);
analogWrite(PWM1, 0);
analogWrite(PWM2, 0);
delay(3000);
analogWrite(PWM1, 120);
analogWrite(PWM2, 120);
delay(3000);
analogWrite(PWM1, 255);
analogWrite(PWM2, 255);
delay(3000);
}
++++ Code avec 4 pins seulement pour les 2 moteurs |
// Test Monster shield - UNO
// Juste deux pins pour la direction des deux moteurs au lieu de 4.
// direction inversée
// Ref : http://www.instructables.com/id/Monster-Motor-Shield-VNH2SP30/
// Enable : monster shield A0 et A1 : 5V Arduino
// Alim 12VCC
// Mapping UNO Monster Shield
// D5 D5 (M1 pwm)
// D7 D7 (M1 Clockwise CW) digital
// D8 D8 (M1 Counterclockwise CCW) digital
// D6 D6 (M2 pwm)
// D4 D4 (M2 Clockwise CW) digital
// D9 D9 (M2 Counterclockwise CCW) digital
// 5V 5V
// GND GND
// monster pins
#define PWM1 5
#define PWM2 6
#define CW 7 // CW1 7 + CCW2 9 (inversé)
#define CCW 8 // CCW1 8 + CW2 4 (inversé)
void setup()
{
pinMode(PWM1, OUTPUT);
pinMode(PWM2, OUTPUT);
pinMode(CW, OUTPUT);
pinMode(CCW, OUTPUT);
}
void loop()
{
// direction CW
digitalWrite(CW, HIGH);
digitalWrite(CCW, LOW);
analogWrite(PWM1, 0);
analogWrite(PWM2, 0);
delay(2000);
analogWrite(PWM1, 80);
analogWrite(PWM2, 80);
delay(2000);
analogWrite(PWM1, 150);
analogWrite(PWM2, 150);
delay(2000);
// direction CCW
digitalWrite(CW, LOW);
digitalWrite(CCW, HIGH);
analogWrite(PWM1, 0);
analogWrite(PWM2, 0);
delay(2000);
analogWrite(PWM1, 80);
analogWrite(PWM2, 80);
delay(2000);
analogWrite(PWM1, 150);
analogWrite(PWM2, 150);
delay(2000);
}
++++