Powering off servos while booting up to prevent breaking rods

Hi,

I’m using fc Matek H743-Wing with Arduplane 4.1. When I power on the plane, it takes about 14 seconds for the fc to boot up. While booting, no pulse signal is sent to the servos (I checked with a scope) and once boot finished, Ardupilot starts sending the pulse.

My problem is that if my servos receive no pulse, they go violently to a maximum position and for one of them (the steering for my front wheel plane) it breaks the rod; so I have to find a solution so that the servo stays at the neutral position during boot-up.

Is there a way with Ardupilot to disable voltage on servos during boot-up and power on servos only when ardupilot is ready to send pulse?

Else, is there a way to tell a servo its default position when powered on and no pulse received?

Thank you for any help.

1 Like

Who makes the servos your using . I’ve seen this with futaba

Tower Pro
MG90S Micro Servo
Kind of Chinese servos :blush:

I could buy Futaba or any other respectable make if I find a servo that allows it.

I’m using EMAX servos . I can only speak for the 9gr metal gear units but they never behave this way .

Try using different servos. Servos should not move without a PWM signal at all. It is also possible, that you have a (somewhat) defective unit.
I am not sure if it would make a difference, but one thing you could try is to connect a pull down resisor to the PWM signal. Maybe it doesn´t like it if you leave it floating.

1 Like

I tried with a couple of different servos I had here (different make/models) and I’m getting the same behavior.
I also tried to put the signal pin to ground and I’m getting the same behavior as well.
So, finally, I managed to adjust it mechanically so that it will not break the rod anymore even if it is going to the maximum position.

Thanks!

What happens if you power the servos without connecting anything to the signal wire?

It`s possible, that on bootup the pixhawk sends the servoX_trim value to the servo until it starts processing the signals from your receiver (and internally).

I’m getting the same behavior no matter if I connect the signal wire to ground or I do not connect the signal at all.

I seams that ardupilot does not send anything until it has boot-up. I verified with my scope.

@gplante2 Did you find a solution to this? I have just done a setup with a h743 wing and have the same issue. Super annoying. Also my esc gets disabled when it receives power but no pulses. It does not come back alive once the pwm is back. I need to power up the fc first and then the esc.

No I did not find any answer for this problem and I do not have this plane anymore. So, my H743-WING is not used in any plane for now. Sorry to not be able to help you more about this.

1 Like

If the servo consistently start in the same position you could move the servo horn so that nothing breaks at startup and then adjust the trim.

Based on the most recent discussion here, it sounds like the servos were moving independent of any autopilot or receiver input at power-up. In that case, there is no software solution. It is a hardware problem.

3 Likes

Maybe use an “open by default” electronic power switch to keep power to the servos disabled until the FC triggers the switch?

1 Like