Skip to content

Latest commit

 

History

History
54 lines (39 loc) · 3.43 KB

common-brushed-motors.rst

File metadata and controls

54 lines (39 loc) · 3.43 KB

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 [site wiki="copter"] - "Brushed" motors accept a duty cycle to control the speed but only spin in one direction [/site] [site wiki="rover"] - "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 [/site]

Verified Motor Drivers

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

[site wiki="copter"] - Set MOT_PWM_TYPE <MOT_PWM_TYPE> = 3 for "Brushed" and reboot the autopilot - Set RC_SPEED <RC_SPEED> = 16000 to set the refresh rate to 16k (other values from 1000 to 20000 are possible) [/site] [site wiki="rover"] - If using "Brushed With Relay" connect the Relay <common-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 <MOT_PWM_TYPE> = 3 for "BrushedWithRelay" or "4" for "BrushedBIPolar" and reboot the autopilot - MOT_PWM_FREQ <MOT_PWM_FREQ> defaults to 16000 but can be changed to any value from 1000 to 20000 to change the output frequency [/site]

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 <common-autopilots> 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

[copywiki destination="copter,rover"]