Rear servo on tri not returning to centerline

So I have a new issue of my rear servo (channel 7) not returning to centerline when I deflect the servo to the left or right and let the stick return to center. For example I will go full left deflection (PWM output~1000) and it will return with a little left tilt (PWM output will read ~1400). And the same will happen for the right (PWM full right ~2000 and will return to ~1600)

This started happening after I updated from firmware 3.3.1 to 3.4.4.

I have tried diagnosing mechanical problems and electrical problems but I do think it is due to some parameters that I may not be familiar with!

Thank you so much for the help!

Is this while hovering? What direction props do you have on the three motors?

Yes sir. The issue occurs at any setting of the throttle (besides 0% because the rear servo binds). I have tried plugging in other digital servos and analog servos and they still have the same issue. If a video is prefered I can try and get one in the next day or so.

Anyother inputs/ideas? This is all on a custom made tri. I can post more info regarding it if it would be of any use! Thanks

I’ve built several Tri’s with both APM and Pixhawk. I’ve found that’s kind of normal, actually. Have you flown it yet? In flight, the autopilot takes over to correct yaw and where the servo centers in a static situation doesn’t really matter.

With APM, the tail rotor servo can be off to one side and it doesn’t go to center until you arm.

With Pixhawk it centers as soon as you press the safety button before the motors are started.

With neither controller will the tail servo respond to stick input until it is armed. Sitting on the bench with the props off and motors idling, yaw full right, return the stick to center and the motor will be off to the left a little. Yaw full left, return stick to center and the motor will be off the right a little bit.

Take the props off, arm it and throttle it up. Holding the aircraft in your hands, yaw it back and forth and observe the operation of the tail rotor servo to see if responds to changes in yaw. If it does it’s working normally. I don’t think it happened from 3.3.1 to 3.3.4. Because my APM Tri with 3.2.1 does the same thing.

If you take off and it wants to yaw one direction or the other, you can set the trim with the MOT_YAW_SV_TRIM param. But in any flight mode using the compass for heading, even that shouldn’t matter as long as the yaw P is set aggressive enough.

OK thanks for the response. We are going to test fly friday. I will take pictures and some video and if it still has the same issue we can take a deeper look into it.

Please post a picture or video anyway. Tri’s are my main interest and I enjoy seeing other people’s TriCopters fly!

Hey guys so here are the videos with my problem! One video is the rear servo plugged into the yaw output (channel 7 on pixhawk) and the other video is the rear servo plugged into the channel 9 output (auxillary output 1 on pixhawk) mirroring the RC 4 input.

Notice how when the servo while plugged into the yaw output is very sluggish and does not return to centerline. When plugged into the auxiliary 1 output the servo acts normal and is very responsive and quick.

Yaw output:

Channel 9 (Aux 1) output:

Please let me know what you think!

How does it fly? Are you noticing issues there that you’re trying to debug? If you’re not seeing any problems in flight, there’s probably nothing wrong with this behavior.

I can’t speak to ArduCopter in particular but this behavior is pretty typical of gyro stabilization controllers. The reason it doesn’t return to center is because of built up integral gain during your rate command (yaw stick deflection). In effect, it’s still trying to turn in the way you told it to, though it can’t get there because the copter isn’t flying. If it were able to turn freely in the direction of rotor tilt as it does during flight, it would center out again as it reached the intended heading. The sluggishness is also likely due to the stabilization. If the servo always moved exactly like the input channel did, the system wouldn’t be stabilized.

Thanks James. It flys poorly though as the yaw is basically uncontrollable and when I do correct, it is way too slugish for it to even be flyable. Because of this, I have been flying it on the direct RC4 and it has been working fine for RC control but I would like to solve this issue so I can start flying my autonomous missions.

Would you mind posting a link to your param file so I can take a look at it? I’m flying one Tri on 3.4, much bigger than yours with 16" props on it, and have no problems with it at all. I don’t think you got your rate PID’s set right if the yaw is uncontrollable in flight. What you’re seeing on the bench is totally normal. That tail rotor on a Tri only moves a fraction of the full travel for yaw control. If you were to snap it full travel one way in flight a Tri will go into a dizzy spin so fast you’ll likely not recover from it.

Hi Chris,

I do not have a current param file. Do I have to fly in order to get one? I am still learning how to pull the logs off and am a little confused. I am trying to figure it out though. Do you think my P setting on the Yaw is too low? Any other suggestions for me to look at without having a param file for you to look at in the immediate?

The props on this tri are 18" and I am running Tiger Motor U7’s. I am currently working on a VTOL project for the US Naval Academy and getting this Tri copter working autonomously is the first step. I am planning on posting a build thread in the future!


Oh, OK. It’s about the same size as mine then. I’m running bigger props on the wing than I am on the tail. But mine is a tail dragger and sort of a hybrid fixed wing/Tri.

Your param file should be able to be generated from your ground station software. Connect to the FC with MavLink - either USB or the radios - and go to the Full Parameter List. You’re ground station software (MP, APM Planner2 or Tower) should have an option to save the current configuration that’s in the flight controller, and generate that .param file.

That file has all the configuration settings in it for the FC.

1 Like

Ok great, I will do that tonight. Very interesting design though! How does it fly with the wings on the frame? That is the next step for my team once the Tri is flying without the wings.

Well, it’s a little more sensitive to wind, which would be obvious. But it does fly for 45 minutes on a 4S 10A battery @ 8-9m/s. It draws ~12 amps in forward flight at that speed, 21 amps in hover.

It is 100% 6061T4 aluminum construction with a monoque fuselage and sparred wing. The airfoil is a Wright airfoil, so it is concave on the underside. I briefly played with tilting the wing rotors on it but didn’t get the desired result because the wing doesn’t make enough lift for that. Overall, been quite happy with it on days with <12mph wind. It will fly ok in >12mph wind, but it pitches ahead too much going upwind and takes more power than it would without the wing. I think the ideal would be to make the wing variable angle of attack to always keep it at 4-6 deg AoA and I have a plan to do that in the future.

It has a Pixhawk with 3.4.2 in it. The wing motors are Tiger MN3510-630’s spinning 1655’s. The tail motor is a Turnigy Elite 3508-640 spinning a 1555 T-prop.

Interesting thing I discovered if you plan on doing something like this. The Tri docs say to rotate the right wing motor CW and the left wing motor CCW. I reversed that so the retreating blade on the prop is passing over the wing in the normal direction of airflow in forward flight. It didn’t change hover amps at all, but reduced my forward flight amps from 14 to 12 making that simple change, and no change required in the code.

Awesome, I will have to take note on the direction of the props for our project.

Here is a video of the Tri flying with the Yaw servo on the Yaw output (channel 7):

Here is a video on the RCinput 4 mirror and without tuning it seems to fly decent:

It sure looks to me like the servo stabilization sense is reversed. Hard to see for sure from the video resolution, but it looks like as the copter spins, the yaw motor tilts into the spin, where it should tilt away.

You can test this by rotating the copter while armed (motors off) and seeing if the tail motor tilts in a direction that opposes that rotation.

If it tilts towards the spin direction, I’d try changing MOT_YAW_SV_REV parameter. If the yaw is then stable, but goes the opposite way you control, you may need to change the reversing in your radio (I’ve never set up a tri so i can’t confirm that behavior).

Might be relevant (perhaps you upgraded from a version of Arducopter earlier than you thought?)

Ok I will try changing that parameter tomorrow when I fly. I will post a new video!

I agree that the tail servo looks reversed to me.

It takes fairly aggressive PID values to lock in the tail on a big Tri, and you have to make sure you have enough servo resolution. If the servo only moves a fraction of it’s travel, it’s going to “hunt” on yaw. Use a fairly long link on the motor mount, and a short throw (13mm) on the servo arm. I’m using a digital Futaba 52g servo on the tail with ball joints and helicopter swashplate linkage on it. It will wear out a bent wire or a small bolt in short order on metal arms.

This is the yaw rate PID’s I’m using on my 1000 size Tri:

Note the I gain is over the max allowable range that MP will allow you to set it, so you have to set that manually in the Full Parameter List if you need to go over .05. I’m running a Stabilize P of 3.8 to slow it down a little on the sticks for manual flying, because it’s way too fast at 4.5 (default). My Tri will spin at about 700 degrees/sec at full left or right rudder. And that tail rotor only has to move maybe 10-12 degrees to make it spin that fast.