The MDD10A Dual Channel 10A DC Motor Driver (Manufacturer Part ID: MDD10A REV2.0) is a robust and versatile motor driver designed by Cytron. It is capable of controlling two DC motors simultaneously, with each channel supporting a maximum continuous current of 10A. The driver allows for bidirectional control and speed regulation, making it ideal for robotics, automation systems, and other motor control applications.
The MDD10A has two sets of input pins for motor control and two sets of output terminals for connecting motors. Below is the pin configuration:
Pin Name | Description | Voltage Level |
---|---|---|
DIR1 | Direction control for Motor 1 | 0V (CW) / 5V (CCW) |
PWM1 | Speed control for Motor 1 (PWM signal) | 0V to 5V |
DIR2 | Direction control for Motor 2 | 0V (CW) / 5V (CCW) |
PWM2 | Speed control for Motor 2 (PWM signal) | 0V to 5V |
GND | Ground reference for control signals | 0V |
VCC | Logic voltage input (3.3V or 5V) | 3.3V / 5V |
Terminal Name | Description |
---|---|
MOTOR1+ | Positive terminal for Motor 1 |
MOTOR1- | Negative terminal for Motor 1 |
MOTOR2+ | Positive terminal for Motor 2 |
MOTOR2- | Negative terminal for Motor 2 |
Terminal Name | Description |
---|---|
VIN+ | Positive terminal for motor power supply |
VIN- | Negative terminal for motor power supply |
Below is an example of how to control two DC motors using the MDD10A and an Arduino UNO:
// Define control pins for Motor 1
const int dir1Pin = 7; // Direction control for Motor 1
const int pwm1Pin = 6; // Speed control (PWM) for Motor 1
// Define control pins for Motor 2
const int dir2Pin = 5; // Direction control for Motor 2
const int pwm2Pin = 4; // Speed control (PWM) for Motor 2
void setup() {
// Set motor control pins as outputs
pinMode(dir1Pin, OUTPUT);
pinMode(pwm1Pin, OUTPUT);
pinMode(dir2Pin, OUTPUT);
pinMode(pwm2Pin, OUTPUT);
}
void loop() {
// Example: Run Motor 1 forward at 50% speed
digitalWrite(dir1Pin, HIGH); // Set direction to forward
analogWrite(pwm1Pin, 128); // Set speed (128/255 = 50%)
// Example: Run Motor 2 backward at 75% speed
digitalWrite(dir2Pin, LOW); // Set direction to backward
analogWrite(pwm2Pin, 192); // Set speed (192/255 = 75%)
delay(5000); // Run for 5 seconds
// Stop both motors
analogWrite(pwm1Pin, 0); // Stop Motor 1
analogWrite(pwm2Pin, 0); // Stop Motor 2
delay(2000); // Wait for 2 seconds before repeating
}
Motors Not Running:
Overheating:
No Response to PWM Signals:
Motor Running in the Wrong Direction:
Can I use the MDD10A with a 3.3V microcontroller? Yes, the MDD10A is compatible with both 3.3V and 5V logic levels.
What happens if the current exceeds 10A? The MDD10A has built-in thermal protection and will shut down temporarily to prevent damage.
Can I control only one motor with the MDD10A? Yes, you can use just one channel if needed. Leave the unused channel unconnected.
Is the MDD10A suitable for stepper motors? No, the MDD10A is designed for DC motors and is not compatible with stepper motors.