FireFLY6 VTOL with APM Plane

The disarmed PWM for the motors isn’t controlled by the per-servo MIN/MAX values. Instead it is controlled by Q_M_PWM_MIN and Q_M_PWM_MAX. I had my min set to 1050, so if you loaded my parameter file yours will be the same. It may be a bit high for your ESCs.
Cheers, Tridge

Thanks, Tridge, that was it!

I changed Q_M_PWM_MIN from 0 to 950 (because 1000 didn’t work) and now all 6 ESCs are silent and ready to go!

I’ll verify the hover angle tomorrow (it already looks good) and do a test hover in my backyard.

Thanks again!

great. Make sure you set a good MAX value as well.
Normally you should do an ESC calibration, but I’m guessing your ESCs are already calibrated, in which case you should slowly raise Q_M_PWM_MIN until it is a value which is about 25 PWM below the point at which the motors start turning.

This is what I love about this community - members taking time to share lessons learned, best-practicies,parm settings, ETC. I am grateful to all the folks that contribute to this project.

Thanks to all,

Dave

1 Like

Dave,

Tridge wrote the book on APM and he shares his knowledge unselfishly.

I leveled the FF6 per the manual and then calibrated the ACC for level. Next, I straightened out my compensation direction issue making changes to my Taranis and the Radio Calibration Reverse boxes in Mission Planner. Lastly, RC1_TRIM and RC2_TRIM settings were changed to make the 5/8" elevon offset required in the manual. I also set SERVO11_MIN and SERVO11_MAX to provide correct tiltrotor orientation for hover and forward flight modes. Again, the correct positions are described in the FF6 AvA manual.

The result was my first successful hover in QSTABILIZE mode in my backyard. I need a larger field to test QHOVER and QLOITER before trying my first transition to forward flight. So far, so good!

GregsFF6wAPM_Hover1.param (16.0 KB)

you shouldn’t use RC trim for that, use SERVO1_TRIM and SERVO2_TRIM.
The RC1_TRIM should be set according to your transmitter, and has nothing to do with the servo outputs. The SERVO1_TRIM and SERVO2_TRIM are what control trim of the elevons.
Alternatively you could use SERVO_AUTO_TRIM=1 and it will learn the correct trim while flying.

Tridge,

Let me see if I got this correct. By using RC1_TRIM and RC2_TRIM settings instead of SERVO1_TRIM and SERVO2_TRIM, if I decide to re-calibrate the radio settings in Mission Planner, I will lose my alignment?

SERVO_AUTO_TRIM is set to one based on using your .param file. According to the Wiki, that makes me an Advanced User. :grinning:

Cheers!

changing RC1_TRIM changes the roll trim from the transmitter. That makes no difference at all in AUTO mode, and very little difference in FBWA. It is telling ArduPilot that when your stick is a bit off-center that its actually centered. So it is about pilot input, not servo output.
The right parameters to use to trim a servo position is the SERVOn_TRIM value.
Cheers, Tridge

Tridge,

Ok, this new mapping for v3.8.x has me confused again.

So, for quadcopter ESC settings, don’t use the SERVOx_ outputs but use Q_M_PWM settings.

For plane control surface settings, don’t use the RCx settings, use the SERVOx output settings.

I assume the exception here is when a QuadPlane has a forward thrust motor like the mini Talon…then you use the RC3 settings.

How does Manual Mode work then for the FireFLY6? I can trim it in flight and use TRIM_AUTO to pass the settings to FBWA mode?

Thanks!

I re-calibrated my radio in mission planner and adjusted the elevons using SERVO1_TRIM and SERVO2_TRIM. Very little change was needed. I then had another nice hover in my backyard so I am ready to test different modes this weekend. I’ll save these files in the first post.

GregsFF6wAPM_Hover2.param (16.0 KB)

Taranis X9D+ with 6-position Flight Mode Switch (ZIPed .eepe file)
FireFLY6withAPM.zip (6.9 KB)

The reason we don’t use SERVO* for multi-rotor ESC settings is you really want all ESCs to have the same range. Otherwise users would end up with different ranges on their motors and it would fly badly.
I’m guessing that you were thinking of using RC* values because that is what was used for trim in 3.7.x and earlier. It was a terrible idea, as it meant that changing your transmitter settings changed how the plane would fly. It really made no sense, especially when we try to provide parameter files for particular airframes. You and me both have a FireFly6, but we very likely have different transmitters.
So we split the throw and trim into separate parameters - the RC parameters are just for your radio inputs. The SERVO* parameters are for servo outputs.

no, RC settings are only for your radio (RC == “radio control”).

you can, but I don’t recommend it. If you did use TRIM_AUTO then it would copy the servo trims at the time you switch from MANUAL to another mode into SERVO1_TRIM and SERVO2_TRIM.
The reason I don’t recommend it is twofold. First off, flying a FireFly6 in MANUAL is not something I recommend. You would have no safety with Q_ASSIST and I suspect it will be a pretty tricky plane to fly in full manual with no stability at all.
The 2nd reason I don’t recommend it is that SERVO_AUTO_TRIM will already be learning the trim for you. Whenever you are flying it will slowly learn what trims you need and adjust SERVO1_TRIM and SERVO2_TRIM. So if you did switch to MANUAL it should already be trimmed for you if you have flown for a couple of minutes.
Cheers, Tridge

sounds like you are good to go!
I assume you’ve checked it is stabilising in the right direction in FBWA? (ie. roll and pitch plane, and it should try to correct with elevons).

Yes, thanks, Tridge. It is stabilizing correctly.

I’m really starting to like the SERVO_AUTO_TRIM feature. On my mini Talon, using v3.8.0, I had no need to try Manual Mode. It hovered great in QSTABILIZE after some PID tuning and flew great in FBWA mode the first time! I’ll use the same approach for the FireFLY6 after I first test the BARO and GPS hover modes.

Hi @GregCovey, I just realised I forgot to tell you about my last flight test with my FF6. I had three issues.
The first issue was the chain mechanism caught up a bit during the fwd transition. There was a loud “thunk” as the servo pulled it free. Testing later on the ground shows the links are catching on the cog somehow. It didn’t affect flight (as the period when the motor tilt was stuck was quite short), but I will need to try to sort it out, as if the servo didn’t have enough power it would have been stuck half transitioned.
The second issue was that it didn’t have enough pitch authority in forward flight in AUTO mode to climb to the 1st waypoint. I had PTCH2SRV_P set to 1.1, and after looking at the logs I plan to use 1.8 for the next flight. I’d recommend you use 1.8 as well. We may need a higher value based on more flights.
The 3rd issue was when it was coming in for the auto landing, and something fell off the plane, and the plane rolled over badly, then recovered. It ended up landing fine, and after landing we saw this:
New photo by Andrew Tridgell
the rear-top prop had come off! The Y6 stability code did amazingly well to continue the flight and land OK. I really should pay more attention to making sure everything is tightened up on the plane. I couldn’t find the prop, but I ordered some more and will fly again soon.
Cheers, Tridge

Tridge,

Thanks for the information. I have not had a chain issue with the COG (on either FF6) so check the alignment between the servo spline and the main transition spline. One other possibility is that the nylon servo spline is worn on the inside where it meets the metal servo gear. I have replaced those splines after a crash that jams the tilt rotors.

My DIY25 with 6s SunnySky motors uses t-style carbon props so I don’t have to tighten them. However, my DIY15 model that I converted to use APM uses the stock 3s power system like yours. I have been diligent about checking those prop adapters so far.

Somewhere I have the specs for altitude changes along with others so I’ll look for them and report back. In Mission Planner, you can use a maximum gradient that I used to know. I’ll find it and report back…

Tridge,

Here is some information I had from the stock FF6 with AvA. I ordered two of the same packs that you did, in the last bullet, since the 3s setup draws more current and my hover test times for demos are much longer than a typical autonomous flight. It’s a nice compromise.

  • In zero wind condition, the plane can maintain about a 38-40% climb gradient with payload
  • The FireFLY6 will hover at around 600 watts on 6s.
  • The 6s setup (DIY25) is more efficient than the 3s (DIY15) setup.
  • On 6s, the current draw is 30amps total for all 6 motors combined.
  • The 6s current is about 19amps in FF mode.
  • A 5200mAh 3S 10C Multistar pack is $32, weighs only 331 grams, and fits nicely in the stock battery bays.
  • You can also use a Turnigy 4000mAh 3S 30C Lipo Pack w/XT-60 for $26 that weighs 347g.

My first flight was a total success! My video guy was sick so no video but I’ll post the log later this week.

I took off from a very small open area in QSTABILIZE mode and then switched to QLOITER once I was high enough and clear of the trees. This small area is next to a large wild field with no trees so I love to make use of my VTOL aircraft in this area because it’s only 5 minutes drive from my house. My Bix3 and mini Talon QuadPlanes have also had successful flights here.

The FireFLY6 QLOITERed well and the transition to FBWA was flawless! I’m used to the AvA firmware and it seemed that the transition took longer this time but it was fine. The wing flew great! I can finally turn sharper than the AvA firmware would ever allow so I felt more in control. It’s time to add an air speed sensor.

Transition back to QSTABILZE mode seemed great. The only issue I had was when I switched from QSTABILZE to QLOITER on the return trip, the slight wind was at the tail and the plane swung side to side until I switched back to QSTABILIZE mode, then it was fine. One disadvantage of my little clearing area is that the take-offs and landings are both to/from the East so I often catch a breeze and sometimes back my way into a hover landing.

Great job with the firmware, Tridge! I’ll post the log and get more flights in soon. The flight only used 50% of my new Turnigy 3s 30C Lipo packs and they were not even warm!

great!

you can control that by setting Q_TILT_RATE_DN to a higher value. I had it set to a very conservative 20 degrees per second, but it will probably work fine with 40 or more. If you transition too fast then you can get some instability, so increase it incrementally until you are happy with it.

yes, the FireFly really doesn’t like wind on its tail. I think we could improve that a bit by disabling the elevons when wind is from behind, but it’s a surprisingly tricky problem to get right (especially without an airspeed sensor).
So glad it went well for you!
Cheers, Tridge

Greg,

Thanks for the update. I started the transistion to Ardupillot last night, so I am happy to hear everything went well.

A few questions as I am new to Qplane;

  1. Why use Qstablize instead of Qhover?
  2. Why do you need more space in qloiter than in qstablize? I am inferring that from a previous post. It seems a GPS stabilized mode would take less space.

@tridge,

Does RTL include any logic that positions the drone downwind of the homepoint?

What airspeed do you recommend for forward flight?

Recommended settings for Q_WVANE_GAIN and Q_WVANE_MINROLL?

Thanks Gents. I appreciate your help,

Dave

Hi David,

  1. QSTABILIZE (like Copter STABILIZE) does not use BARO or GPS so the pilot has full control. It’s always best to use this mode first before testing sensors. It also gives you real-time control of the throttle level so if you have both copter and plane flying skills then you are in your comfort zone. QHOVER (like Copter ALT_HOLD) does hold Altitude using the BARO sensor (once you’ve tested it) but it greatly softens the throttle control so that center throttle means keep the same altitude and max throttle is rise up slowly. In close quarters or windy conditions, this can be problematic.

  2. It all depends upon your GPS conditions, wind conditions, and room for error. Unlike symmetrical copters, QuadPlanes and tilt-rotors may not like wind from all directions. My mini Talon and Bix3 are pretty good in some rear wind but the FireFLY6 wing isn’t happy if it is in QLOITER mode with wind at its back. I crashed my AvA FireFLY6 in the same area because I didn’t account for a take-off with wind at its back. It took off in copter mode fine but turned 180 degrees before transitioning to forward flight and flew into a 80’ pine tree. Lesson learned the hard way! Always copter out to a clear area before transitioning. :cry:

To give you an idea of where I flew my test from today, watch this video that I made using the AvA firmware.

https://vimeo.com/175120121

1 Like