Why is my servo PWM frequency like 16kHz?


Running a Matek 743 Wing V3. Building a rover. Pretty much everything is set up, compass, GPS, RC Radio, all working. The motor controller takes a standard RC PWM signal input to drive a couple big DC motors. My motors are not working. Occasionally they did work, but it seamed more like luck, next time I tested they dont.

Mission planner is arming ok.

If I connect the RC Receiver directly to the motor controller, it works, so I know the motor controller is OK. I’ve wired and set up in Mission Planner to use Servo 2 and 3. On the radio calibrate page I get the expected response. But a motor test wont work. If I go into manual mode and wiggle the sticks, the motors dont work, so I connected a cro to the PWM outputs on the 743 ( S2 and S3 ), I see a PWM signal, and this changes duration as I wiggle the RC transmitter sticks. But, its at like 16kHz! I have a cycle duration of 60uS, not the 20mS you would expect.

What is going on?


OK, so starting to realise I need to configure something. But what. Its outputting a 16kHz PWM signal to drive something like a mosfet, but my motor controller is expecting the standard RC type PWM signal, which is somewhere between 50 and 400Hz. Could someone point me in the right direction?


Did you change the motor type? it should be left at the default value. it sounds like you have changed it to brushed pwm duty cycle output.


MOT_PWM_TYPE=0: R/C pulse signal, 1-2ms (1-1.5 backwards, 1.5-2 forward) 50Hz or more (R/C receiver signal to servos). Correctly named PDM (Pulse Duration Modulation).
MOT_PWM_TYPE=3: PWM modulated signal, 0-100% duty cycle, to PWM motor controller probably requiring additionally DIR signal.

Thanks guys.

That was it, motors are now working fine.


1 Like

Glad you got it sorted, rc pwm and pwm are clearly completely different as you know

1 Like