• On sale!
  • -€1.00
 Motor Control Shield
  •  Motor Control Shield
  •  Motor Control Shield
  •  Motor Control Shield
  •  Motor Control Shield

Motor Control Shield

:ARD03103
€8.09
€7.09 Save €1.00
Quantity

If you have any questions on this product please feel free to contact us.

*Disclaimer: The images are merely illustrative.

 

Overview

Motor Control Shield is capable of driving 4 DC motors or 2 stepping motors at one time.

 

Features

  • Configurable motor power supply via onboard jumper
    • when using 5V motor power supply : drives four 5V DC motors at one time
    • when using adjustable motor power supply : drives two 1.25V-6.45V DC motors at one time (9V external power supply is required)
  • Onboard dual H-bridge driver L293D x 2
    • each L293D can drive 2 DC motors or 1 stepping motor at one time
    • totally 4 channel H-bridge, with 600mA output current (peak 1.2A) per single bridge
    • ESD protection

 

What's on Board

MarS Board expansion board on board resource

  1. External power supply jack
  2. Power input/output pinheader
  3. Stepping motor interface
  4. DC motor interface
  5. M_PWR configuration : connects M_PWR (motor power) to 5V or ADJ
  6. Power selection switch
  7. Power indicator
  8. AMS1117-ADJ : onboard linear regulator with adjustable output
  9. Adjustable potentiometer : for adjusting the output voltage of ADJ (adjustable motor power)
  10. L293D : dual H-bridge driver
  11. LM2596-5.0 : onboard linear switching regulator with 5V output

Note : when in operation, it's normal that the onboard motor drivers and regulators generate lots of heat.

 

Downloads

Development resources: demo codes, schematic, datasheets, etc.
www.waveshare.com/Motor_Control_Shield

 

Arduino Code Example

int motor1_dir1 = 12;
int motor1_dir2 = 13;
int motor1_pwm  = 11;

int motor2_dir1 = 8;
int motor2_dir2 = 7;
int motor2_pwm  = 10;

int motor3_dir1 = 5;
int motor3_dir2 = 4;
int motor3_pwm  = 9;

int motor4_dir1 = 3;
int motor4_dir2 = 2;
int motor4_pwm  = 6;


void setup()
{
    pinMode(motor1_dir1,OUTPUT);
    pinMode(motor1_dir2,OUTPUT);
    pinMode(motor1_pwm,OUTPUT);
    
    pinMode(motor2_dir1,OUTPUT);
    pinMode(motor2_dir2,OUTPUT);
    pinMode(motor2_pwm,OUTPUT);
    
    pinMode(motor3_dir1,OUTPUT);
    pinMode(motor3_dir2,OUTPUT);
    pinMode(motor3_pwm,OUTPUT);
    
    pinMode(motor4_dir1,OUTPUT);
    pinMode(motor4_dir2,OUTPUT);
    pinMode(motor4_pwm,OUTPUT);
    
    digitalWrite(motor1_dir1,0);
    digitalWrite(motor1_dir2,1);
    digitalWrite(motor1_pwm,1);
    
    digitalWrite(motor2_dir1,0);
    digitalWrite(motor2_dir2,1);
    digitalWrite(motor2_pwm,1);
 
    digitalWrite(motor3_dir1,0);
    digitalWrite(motor3_dir2,1);
    digitalWrite(motor3_pwm,1);
 
    digitalWrite(motor4_dir1,0);
    digitalWrite(motor4_dir2,1);
    digitalWrite(motor4_pwm,1);
}
void loop()
{
    analogWrite(motor1_pwm, 128);
    analogWrite(motor2_pwm, 128);
    analogWrite(motor3_pwm, 128);
    analogWrite(motor4_pwm, 128);
    delay(500);
}
ARD03103

You might also like