Brushed Motors¶
ArduPilot supports multiple methods to control brushed motors
Brushed motor ESCs that support RC PWM input (PWM signals that are 1ms to 2ms in width) are the easiest to use because no special configuration is required and the rest of this document can be ignored. Most hobby grade RC Car ESCs are of this type
“Brushed With Relay” motor drivers accept a duty cycle to control the speed and also have a separate pin used to control direction
“Brushed BiPolar” motor drivers accept a duty cycle where 0% duty cycle means full speed in one direction, 100% duty cycle is full speed in the other direction and 50% duty cycle is stopped
Verified Motor Drivers¶
Sabertooth Dual 32A Motor Driver supports “Normal” when the Sabertooth is in RC Mode
Pololu G2 High-Power Motor Driver supports “BrushedWithRelay”
Pololu DRV8838 Motor Driver supports “BrushedWithRelay”
RoboClaw 2x7A Motor Controller supports “Normal” when the Roboclaw is in RC Mode
L298N Motor Driver . See also these setup instructions
SkyRocket drones use “Brushed” motors
Connection and Configuration¶
Connect the motor drivers / ESCs to the autopilot’s output pins just as you would for regular brushless ESCs but note the warning at the bottom regarding mixing brushed outputs with servos
If using “Brushed With Relay” connect the Relay pin(s) to the motor driver’s direction pin(s). For skid-steering vehicles Relay1 is for the left motor, Relay2 for the right motor
Set MOT_PWM_TYPE = 3 for “BrushedWithRelay” or “4” for “BrushedBIPolar” and reboot the autopilot
MOT_PWM_FREQ defaults to 16000 but can be changed to any value from 1000 to 20000 to change the output frequency
Note
in some ground control stations, attempting to set this parameter above its normal 50 to 490hz range will require the user to acknowledge this “out of range” setup in order to set the parameter. This is to prevent accidental miss-configuration for brushless ESCs.
Warning
If the autopilot will also control servos (which use regular RC PWM) take care that the servos are not in the same “PWM output group” as any motor outputs. The grouping is only documented on some of the AutoPilot Hardware Options pages but for a regular Pixhawk or Cube autopilot MAIN OUT 1 ~ 4 are in group1 meaning that if any brushed motors are configured for MAIN OUT 1 to 4 then servos must be connected to output 5 or higher
Warning
ArduPilot does not currently support controlling both brushed and brushless motors at the same time