Unstable Servo Gimbal

I’m working on a novel config where a servo motor is used to gimbal the entire centerbody of my quad relative to the rotor frame. The idea is to keep the centerbody (which is streamlined) parallel to the flow at all flight speeds for optimal aerodynamics. The rotor frame is mechanically attached to the centerbody via ball bearings and a servo linkage. A photo of this config is shown here: Ardupilot Forum Pics - Google Slides

The gimbal (configured per Servo Gimbal — Copter documentation) works well for gradual changes in pitch, but goes unstable during quick changes in pitch direction (postive to negative) as show in the video here (when I’m rocking it back and forth): Servo Stability Issue Vid.MOV - Google Drive

Note that the servo motor can be programmed to adjust output power, neutral position, travel and damping. I tried maxing out the damping factor, but this didn’t fix the issue. Any thoughts on what could be done here to resolve this issue would be much appreciated.

Servo Specs:

Ardupilot params file (for gimbal settings): Gimballed_Centerbody.param (19.8 KB)

The servo is powered by a 25V to 7V UBEC that taps off from the battery at the ESC and it’s pwm pin is connected to the M5 port of the flight controller:

I think for that to work, you would have to mount the flight controller onto the part of the frame that has the motors on it.

Flight controller is mounted on the rotor frame. The wire harness routing to Rx, VTX and servo is gimballed

Indeed. It reminds me of the guy who built an Antenna Tracker and located the FC on the fixed side and wondered why it wasn’t working.

OK, I didn’t see that.

the gimbal outout does not have PID control its just setting the servo position relative to the frame so im not surprised you get oscillations when you do that as your essentially getting out of phase with the servo due to the delay between detected rotation and the servo moving.

1 Like

That makes sense. Do you have any suggestions on the best way to go about implementing PID control?

I forgot that you have been working on this for a few months. That’s why it sounded familiar :slight_smile:

1 Like

im not sure, I dont know if you will get a servo to operate fast enough to make it as smooth and as fast as you want. you might need something like a gimbal motor with a reduction gear.

I see servo’s billed as “high speed” that have rates almost 3X faster than the one you have.
But, not the same torque capacity.

Which one’s are you looking at? Original servo was selected based on a combination of weight, torque and speed - but looks like I may need something faster .

Copy. Sitcking with a servo motor makes the packaging much simpler so I’d prefer that if possible. The gimbal motors are much heavier as well.

Savox. They actually do have one with 0.05 s/60 deg and big torque. Also big money and it weighs 80g

1 Like

True. Looks like the dimensions are almost identical (+30g heavier), so would be a drop in replacement

What if the servo was under PID control with a flight stabilizer module on the frame? I had a tiny one of those on a small wing before we had tiny Ardupilot flight controllers.

Interesting idea. By flight stabilizer module do you just mean an imu which you could use for feedback?

Would you use an arduino to set up the controller? Or is there a way to do via ardupilot?

I was thinking of one of the flight stabilizers used for heli’s and planes that have gyro’s and accels but actually these are not PID controllers. The one I had did have adjustable gain but that’s pretty simplistic. I wonder what you could do with one of the small 20x20 Ardupilot supported boards. All you are doing is pitch leveling right?

1 Like

Correct just pitch leveling

Hey Dave can you elaborate on how you would use another FC board to set up the controller? I’m not following exactly.

I’m not sure either actually. I think @geofrancis observation about needing PID control is right but honestly not sure how to implement it. Just spitballing but the FC running Plane with the servo on an elevator output…