Steering servo throws a fit when MOT_PWM_TYPE is set to “Brushed BiPolar”


Trying to get my brushed motor to go both forward and backward. With a servo tester, it stands still around 1500, reverses below, and goes forward above.

If I understand the documentation correctly, I should set MOT_PWM_TYPE to “Brushed BiPolar” but if I do that (and reboot) the steering servo (SERVO1) turns hard left and jitters, while the motor is unresponsive. In SEROV-OUTPUT_RAW they are both locked at 1500.

MRO Pixracer
Ardupilot Rover 4.1.0 (Dev Master, due to No RC input using Sperctrum Satellite RC Receiver on Pixracer)
Traxxas XL5 ESC

Greatfull for enlightenment!

You need to split PWM output types over the groups. Outputs in a single group must all be the same type.

If your ESC/Motor combo works with a servo tester, you do not need to set the MOT_PWM_TYPE to brushed bipolar. Leave it at standard PWM.

Ok, thanks @count74, but how do I get the Servo to be proportional to the RC? Right now, with SERVO3_FUNCTION set to Throttle, I get servo3_raw reading of 1500 when the RC chan3_raw is at 1070, i.e. the stick all the way down.

I guess your rover is not armed and/or the safety button is not pressed. This keeps the throttle output at neutral (1500us). The safety button feature is not really needed for a rover, you can disable it by setting BRD_SAFETYENABLE to 0. Arming can be set to a switch on your remote, or you can arm/disarm via the GCS software. Arming may be prevented by prearm checks. For testing indoors, you can set ARMING_CHECK to 0.

Thanks! But no, theses are the values with the rover armed, and with the BRD_SAFETYENABLE at 0. If I move the stick up the rover moves forward. Only problem is that the output PWM is 430 higher than the input. Neutral, which is at 1500 is what I get with the stick all the way down.

First, I would do the radio calibration again. Use a spring loaded stick on your TX for throttle and steering. If you are using MP, ignore the message to put the throttle down at the end of calibration. Calibration for rover needs the throttle in the middle/neutral position at the end. After calibration, check the values for the servo_output and RC input you are using for throttle. Both should have 1500us as trim values.