Servo Behavior In Different Flight Modes On The Bench

I am setting up a Pixhawk 6C Mini on a 600 size scale heli using Arducopter 4.6.3 . After setting up swash and tail, I set flight modes on channel 5 - Loiter, AltHold, and Drift.

I notice the servos only respond to Tx input in the AltHOLD mode. In the Drift mode, my roll stick input only moves the tail servo (not the swash), and in Loiter, none of the servos respond.

Is this the correct behavior?

Bench testing in this manner is almost always ill advised. The control loops quickly saturate due to lack of physical movement/response, and the results are not valuable information.

Start here and work through all steps.

1 Like

Yes, I’ve done all those things. Everything seems to be working correctly. Now I am at the Flight Mode setup, which is pretty straight forward. The servos behave correctly when in Stabilize and AltHold modes. The servo behavior doesn’t seem right when in Loiter or Drift modes. This is just sitting, powered up but motor off. The servos are doing what I described above.

Is this the correct behavior?

What make you think the servo response is not right in loiter and drift? As @Yuri_Rage says, bench testing is not advised for anything other than acro and stabilize modes. With most of the other modes, the servo movement is limited or not activated until takeoff.

As described in the wiki, it is best to start off in stabilize mode. Ensure that you tune the aircraft and then move to althold flight mode to ensure that the vertical axis is doing what it should to command vertical rate and hold altitude. Only after you have successfully completed those steps should you switch to loiter and finally RTL to test the autonomous behavior.

2 Likes

BTW, initial swash plate servos adjustment (specially directions) is done on bench with H_SV_MAN=1 (0 for flying), but documentation says Do not set this manually!.

Why? Doing so initial servo adjustment is easy, but a first time user may be afraid of using it.

1 Like

It’s not unreasonable for a user to test servos and discover something like this on the bench during initial setup. The servos behave correctly when in Stabilize and AltHold modes.

On the bench, the servos do not respond at all when in Loiter. Is that right?

In Drift, the aileron control moves the rudder servo instead, and no other servos respond. This is not expected behavior. Why does the aileron channel move the tail servo?

I just need to know if this is as designed, and if I should ignore it or troubleshoot it.

IIRC drift is a pretend to be a plane mode, the described behavior matches what I would expect in hover. It along other position control modes like loiter should not be used before you have completed tuning.

Position controller has various protections to prevent attempts to slide along the ground, ground testing is meaningless for it.

Wiki describes heli configuration process pretty well. Just go step by step and test what is described on the wiki.

2 Likes

Per the documentation, preflight servo/control validation is done in stabilize mode. Any other mode is irrelevant and does not provide any useful information on the bench. You can keep asking the same question, but the answer will not change!

3 Likes

So far, no one has answered my question. I guess I have to interpret your statement and hope you meant to say “yes, that is normal behavior in those conditions”, because that would have been an appropriate answer.

The thing is, bench testing in modes more assisted than stabilize provides ill defined/undocumented results. So I gave you the best answer, which is that the test itself is irrelevant, and the results not useful.

Bench testing in stabilize and getting expected, defined results is what gives confidence to proceed to first flight, given that all other configuration is complete.

2 Likes

@Webillo i went to look for this statement and couldn’t find this. Can you direct me to where you saw this.

It seems corrected now:

image

It was (as I found with a Google search):

image