Variable Pitch Tricopter Using APM

I have been building a variable pitch tricopter and wanted to share my results so far.

Basically - I chose a tri and not a quad, because the tri geometry is the same as a traditional heli 120 deg swash plate. Since I can't write a firmware on my own, I wanted to use an off the self solution.

I used a home made simple frame

3 e-flite park 370 hollow shaft motors with their variable pitch props

3 castle ESCs that I had laying around.


Here is a video of the tri on a table

https://www.youtube.com/watch?v=XI_8KCJyjcA


Here is a list of my various attempts

  1. radio programed as 120 deg swash and used airplane stabilizer - worked but not great
  2. used a commercial heli flybarless system - it flew , but could not set gains low enough
  3. used my ardupilot mega - with traditional heli firmware - worked, but could not remove oscillations
  4. I retried the APM with heli firmware and reduced the swash upper and lower limits to 1400 to 1550 and lowered rate p to 0.8 and stabilize p to 3.5 no I term and stabilize D of 0,07

 This allowed me to fly and hover, but very touchy

Check out the video above - and now I need suggestions .

I think one point is I need to redesign the pitch servo so that I use more of the servo throw, but mechanically reduce the movement - I have lost a lot of resolution using such a narrow pitch range in mission planner

suggestions welcome

Al

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • I messaged Al about adding the code to directly support this, but haven't had a response from him.

  • Sounds like my throttle governor code I'm working on is almost exactly what he needs for throttle control.

  • Good job so far. I haven't used APM for a tri but have used 4 gyros several times with good success. Basically, you need a gyro on each swash channel then another for yaw control. The gyros are in-line between the receiver and speed controllers. With a LOT of trial and error tuning it can be done. There are some great tutorials out there on how to do it this way. 

    FYI... rig a tripod base  to attach the tri to while working out the gyro geometry and use much smaller props than normal. Been there done that and have the scars to prove it. 

  • Thanks Guys for your support !!

    I'll keep plugging away but certainly any help on the firmware side would be great.

    Yes the single motor with belt driven rotors would be a step up for sure. I am looking at using 450 size tail rotors. Will keep you posted

    Al

  • Great Project Al, I have been thinking about this for some time for a quad, especially if one makes a really big one, capable of lifting 5-10kg. was thinking about using 450 heli heads with a locked swash for pitch on the blades, because larger props have more inertia, and therefore more difficult to respond quickly enough for crisp stabilisation.

    Keep at it, were following you with great interest...

  • Very nice, we should write a special motors code for Al.  Basically, I see that instead of setting the motor speeds based on yaw/pitch/roll, we just set the throttle, and control the servos.  One channel for throttle, and 3 channels for servos.  A variant on Y3 config.

    I'll take a stab at it, if you want to alpha test, Al.

  • Developer

    @Al,

         Re making very small P values - it gets difficult to set them through the mission planner if they're less than 0.001 (it only displays 3 decimal places) but internally there's no particular limit as they're all stored as floats.

  • Moderator

    Hi Al,

    Just a quick thumbs-up for a very cool project! Next rev. single motor belt-drive? ;)

  • Hi Randy

    Thanks for the tip on rate p and your interest in this.

    I have set it up so that throttle goes directly to a 3 way divider cable and then to the speed controllers. I then set a throttle curve in the radio to allow the motors to shut down at zero throttle (for safety) and to ramp up to the desired speed fairly quickly.I have yaw currently controlled with a separate heli tail gyro.

    I wanted to see if I could do it with  the APM. I initially failed because I had some settings wrong, then moved to an airplane stabilizer, then a beastx flybarless system, then back to APM traditional heli. all "worked" but the APM was the best option and allowed much greater control over servo travel and p gain

    The thing is from my experimentation - it is almost there. The geometry similarity with traditional heli swash suggests that modifying the firmware for the traditional heli may be the starting point to getting this more stable. the variable pitch responds instantly so gains and servo travel need to be much lower than I anticipated

    I am hoping you guys may take an interest in this (time permitting of course) and see if mods to the firmware could be made. Also a question - with the current firmware is there a bottom to the stabilize P.  I am using very low P's - is there a point were the p is outside the range expected by the stabilization algorithm?

    Thanks

    Al

  • Developer

    Very impressive.  I'm slightly delighted and amazed that you got it working as well as you did without modifying the firmware.

    Presumably the engine speed is controlled directly from a switch on the transmitter so it always spins at the same speed or is the channel 3 throttle sent to the engines as well as the APM?

    BTW the Rate P is not used for the trad heli so that shouldn't make things better or worse.  Reducing your stabilize roll and pitch Ps until it stops wobbling should help.

    For the yaw control do you have external gyro check on or off?

     

This reply was deleted.