The RoboClaw 2x7a, manufactured by Basic Micro (Part ID: IMC404), is a dual-channel motor controller designed for driving DC motors. It supports up to 7 amps per channel and offers advanced control features, including speed and direction control, encoder feedback, and PWM input. This versatile motor controller is ideal for robotics, automation systems, and other applications requiring precise motor control.
Parameter | Specification |
---|---|
Manufacturer | Basic Micro |
Part ID | IMC404 |
Channels | 2 (dual-channel) |
Continuous Current | 7A per channel |
Peak Current | 15A per channel (for short durations) |
Input Voltage Range | 6V to 34V |
Control Interfaces | USB, TTL Serial, RC (PWM), Analog |
Encoder Support | Quadrature encoders |
Communication Protocols | Packetized Serial, Simple Serial |
Dimensions | 2.5" x 2.0" x 0.5" (63.5mm x 50.8mm x 12.7mm) |
Weight | 1.5 oz (42.5g) |
Pin Name | Description |
---|---|
M1A, M1B | Motor 1 output terminals (connect to DC motor 1) |
M2A, M2B | Motor 2 output terminals (connect to DC motor 2) |
B+ | Positive battery input (6V to 34V) |
B- | Negative battery input (ground) |
S1, S2 | Encoder inputs for Motor 1 (A and B channels) |
S3, S4 | Encoder inputs for Motor 2 (A and B channels) |
GND | Ground reference for control signals |
5V Out | 5V regulated output (can power external devices, max 100mA) |
RX, TX | TTL Serial communication pins (for UART interface) |
A1, A2 | Analog input pins (for speed and direction control) |
RC1, RC2 | RC (PWM) input pins (for remote control signals) |
USB | USB interface for configuration and control |
B+
and B-
terminals. Ensure the power supply can handle the current requirements of your motors.M1A/M1B
and M2A/M2B
terminals. Ensure proper polarity for desired motor direction.RX
and TX
pins to a microcontroller (e.g., Arduino).RC1
and RC2
.A1
and A2
.S1/S2
(Motor 1) and S3/S4
(Motor 2) pins.Below is an example of controlling the RoboClaw 2x7a using an Arduino UNO via TTL Serial communication:
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
#define ROBOCLAW_RX 10 // Arduino pin connected to RoboClaw TX
#define ROBOCLAW_TX 11 // Arduino pin connected to RoboClaw RX
// Create a SoftwareSerial object
SoftwareSerial roboclaw(ROBOCLAW_RX, ROBOCLAW_TX);
void setup() {
// Initialize serial communication with RoboClaw
roboclaw.begin(38400); // Default baud rate for RoboClaw
Serial.begin(9600); // For debugging with Serial Monitor
// Send a command to stop both motors
sendCommand(0x00, 0); // Command 0x00 stops the motors
}
void loop() {
// Example: Set Motor 1 to 50% forward speed
sendCommand(0x01, 64); // Command 0x01 sets Motor 1 speed (0-127)
delay(2000);
// Example: Set Motor 2 to 50% reverse speed
sendCommand(0x02, 64); // Command 0x02 sets Motor 2 speed (0-127)
delay(2000);
// Stop both motors
sendCommand(0x00, 0);
delay(2000);
}
// Function to send a command to the RoboClaw
void sendCommand(uint8_t command, uint8_t value) {
roboclaw.write(command); // Send command byte
roboclaw.write(value); // Send value byte
roboclaw.write(0x00); // Send checksum (for simplicity, set to 0)
}
sendCommand
logic with the appropriate checksum calculation for robust communication.Motors Not Running:
Overheating:
Communication Errors:
Encoder Feedback Not Working:
S1/S2
or S3/S4
pins.Q: Can the RoboClaw 2x7a control brushless motors?
A: No, the RoboClaw 2x7a is designed for brushed DC motors only.
Q: What happens if I exceed the current rating?
A: The RoboClaw has built-in overcurrent protection, but exceeding the rating may cause thermal shutdown or permanent damage.
Q: Can I power the Arduino from the RoboClaw's 5V output?
A: Yes, but ensure the total current draw does not exceed 100mA.
Q: How do I update the RoboClaw firmware?
A: Use the Basic Micro Motion Studio software and follow the firmware update instructions provided by the manufacturer.