Servers by jDrones

Esc will not work with my pixhawk

Hello,
I just tried hooking up my Motors to my pixhawk 2.4.8.
However they don’t want to spin. Neither After arming (which does work) nor with the Motor Test in Mission planner.

I’m actually using 2 Motors in skid steer mode and Set my params to servo1_function=73 and servo3_function=74
Pilot_steer_type=1 and my radio is calibrated.

What Brothers me, is that my esc Outputs 5.5v via the + wire. After connecting the esc to main Out 1 (or 3) the pixhawk will start flashing red and blue instead of just blue.

Whenever I remove the plus wire from the esc, it will only flash blue.
My esc also will beep 3 times according to my battery. But the last 2 beeps are missing.

I’ve been thinking about it being the voltage on the power rail. But can’t pin it down to that. I even used a small resistor to drop the voltage. But that didn’t help.

I’m not experienced with pixhawk or ardupilot whatsoever. So I would appreciate any help :slight_smile:

Edit: I did read the ardupilot wiki from top to bottom by the way. However I seem to overlook something.

Pilot steer type 1 is only needed if you want to use two stick input. One stick for the left side motor(s), one for the right side motor(s), like in a tank. With a standard or a car type rc transmitter, choose pilot_steer_type 2 or 3, depending on what you prefer.
Do your ESCs support bidirectional operation? Does the servo_trim value match the neutral/zero input the ESCs expect?

Thanks for the tip about the steering type. I will change that.

My esc does support 2 directions… they say. But i have to admit that i’m struggling a little bit with the calibration. I have not been able to get the motor turn backwards.

Would that be a dealbreaking thing, why the pixhawk would not spin the motors?

Ardurover expects bidirectional ESCs.
While for arducopter/plane the throttle trim is set to throttle min, rover sets throttle trim to half way between min and max. This means on startup it outputs i.e. 1500us to the ESC. If the ESC is set for unidirectional operation, the ESC will not arm itself for safety reasons. If you hear only three beeps from your ESCs, these are probably the lipo cell beeps. There should be an additional beep/melody when the ESCs arm.
Try to connect the ESCs directly to the RC receiver to test them.
What make/model of ESC are you using?

So i just calibrated my esc again with a servo tester and they are bidirectional now.
However, when i hook them up to my pixhawk the esc will not beep. Not even the 3 cell count beeps appear.

With my servo tester everything works well.

I’m using the shark 50A boat esc. https://www.ztwoem.com/product/shark-series/

Here is a manual for programming.
And here is another manual

I’m still concerned about the pixhawk always flashing red whenever i connect the esc. Could that have something to do with that? I couldn’t figure out yet why it flashes red.

Even when i turn off all LED brightness. The led would show a solid red.

So, i could make it work.

My motor reacts to radio input through the pixhawk. So the motor will actually spin when the pixhawk is armed and change throttle.

However, now my motor starts spinning in full speed whenever i disarm :smiley:
And the red light still flashes

Remove the red wires from the ESCs servo connectors. Just lift the plastic tab with a knife and pull the wire out.
I would also meassure if the ESCs BEC really outputs 5.5V. The max voltage for the Pixhawk servorail is 5.7V.
Check if the servo1/3_trim values are set to center PWM (around 1500us) and not to servo1/3_min.

Thanks for your input.
I had tried the motor without the red + wire several times. Without luck

However, since i changed MOT_PWM_TYPE from normal to oneshot, the motors are spinning.
When i now remove the red wire it still works and the red LED on my pixhawk is gone.
So everything is fine :slight_smile:

I also tried wiggling around with different values for SERVO_TRIM and RC_TRIM.
Untill now the motor is still suddenly spinning after disarming. But i’m positive i’ll solve this too.

So thanks for your help.

Edit: measuring the esc output definitely showed 5.5v. It also says in the ESC specs.
I was not aware of this when i bought the ESC. That’s how you learn, i guess.

Do not change RC trim, it should only be changed by RC calibration. Servo1 and servo3 trim values are what you are looking for. When disarmed ardurover sends the servo_trim value to the ESCs, so when those values are at or around 1000us (instead of around 1500us), the motors will start to spin. The wiki says RC_Trim values are send to the ESCs, but I guess that is a typo/relict from past versions.
You can also change this behaviour to send no PWM pulses at all when disarmed with the MOT_SAFE_PWM parameter set to 1. You will have to test how your ESCs react to no input pulses.

1 Like

Thanks a lot. I will try to find the correct pwm value.
If nothing works, i will probably switch over to changing MOT_SAFE_PWM.

Until now neither 1500pwm nor 1010 or anything else seem to work.
Gotta find that small spot between turning forward and turning backward.

Servers by jDrones