Tilt-Rotor VTOL Transition Throttle Behavior

Hello all,

I am currently working on a tilt-rotor VTOL QuadPlane having an AUW of 15 lb. (6.8 Kg).
It is set up for vectored yaw using independent tilt servos. It currently uses a large Li-Ion battery to drive the front motors, with a smaller Lipo to power the rears.

I have completed two transition tests, and have successfully executed an autotune in fixed-wing flight.

Now that it is time for refinements, I have been reviewing the logs for feasibility of putting a low discharge-rate battery on the front tilt motors, to take advantage of higher energy density.

In doing so, I found something very alarming - during transition, the plane sends full throttle (1950us) to the front motors, breifly before and after reaching transition airspeed. In my second transition, it hits 90A (the peak for both ESCs at 1950us) for just a split second before ramping down to a throttle value which seems more reasonable - this is illustrated below.

In my first transition test (and autotune) the high power period is considerably longer, beginning before the transition airspeed was met. See below.

I am trying to see if this behavior can be tracked down to a set of parameters or optimizations.

Part of my difficulty is understanding how different parameters for the normal plane code and VTOL parameters interact.

For example, does setting THR_MAX for a tilt-rotor VTOL work as expected, lowering the maximum throttle of the forward motors when in forward flight? When is control of the front motors “handed over” to the fixed wing exclusive parameters? I suspect any such parameters may be overridden by the Q_ subset of parameters, as they would interfere with the motors’ operation during Q modes.
The same question applies to TKOFF_THR_MAX - as it is intended for fixed wing, does it do anything on a VTOL plane where two of the four motors are also the forward motors?
It seems that even setting PWM limits may be overridden by Q_THR_MAX_PWM and Q_M_SPIN_MAX.
I could set up BATT_WATT_MAX or Q_M_BATT_CURR_MAX, but I don’t know how this may interfere with controls, as it limits the power only for half of the plane depending on which power module it’s set for.

Essentially, I am asking if there exists a good way to reduce this “punch -out” throttle during transition. I am perfectly fine with drawing out the transition for a longer duration, if only I could get it to not automatically send 100% throttle to the forward motors.

I have attached the dataflash logs (in .log) for the two transition flights via Google Drive links.
First transition flight and AutoTune
Second transition flight

EDIT: An important note is that these flights had two batteries onboard - the front motors on one LiPo and battery monitor (BAT), the rear motors on a second LiPo and battery monitor (BAT2). I did the tests with LiPo batteries just in case the current was much higher than expected - it is a good thing I did so!

Hi Evan,

Great write-up and I would love to see some photos of your project!

I can’t download your logs at work (blocked) but I believe that the setting you want to change is THR_MAX. In previous versions of Plane, like 3.6 and 3.7, the default was set to 75. Since v3.8, the default is now 100. Depending upon your setup, it may work for you or against you so try setting it to 75 for an initial test and see if it lowers your max current during transition.

As far as I know, TKOFF_THR_MAX is only used during automatic takeoff.

Good luck!

Thanks Greg,

I will be doing another test flight today, and first on my test list will be an adjustment to 75% for THR_MAX.
I’ll work from there, experiment as needed, and report back with the results.

Fingers crossed!

Finally had a flight test today - delayed a while for weather considerations.

I can confirm that THR_MAX has no effect on forward motors’ peak throttle during transition.

I also found that Q_M_BATT_CURR_MAX was not an effective means of limiting current, presumably as it reacts too slowly to current peaks - its a reactive system not preventative. The transition was also nearly a failure - the pilot had to make a moderate dive to gain sufficient airspeed.

I believe at this point I come to the same conclusion others have - that two separate power systems are required, beyond just separate batteries for the front and back motors. The Foxtech PG20 seems to be the only COTS product to accomplish switching the whole system - I just have to evaluate whether the PG20’s 80A “rating” can handle 90A for 2 seconds . . .

I still believe that there ought to be a way to specify transition throttle limits for tilt-motor quadplanes, but in my case the high current spike seems to be unavoidable.

are you flying on master? There have been several changes to the way tilt-rotors work in the background recently. I’m sure we can fix tilt-rotor to stick to the limits give abit of time and testing.

I have been sticking to stable releases (currently at 3.9.3, pending update to 3.9.5), as I am admittedly hesitant to use the dynamic code of Master on a heavy aircraft.

That said I hope to eventually have a less laden airframe purely for feature testing along those lines.


I found this in the APM Wiki here under key parameters for Quadplanes. Did you lower both Q_THR_MAX_PWM and THR_MAX to 75%?

  • The Q_THR_MIN_PWM and Q_THR_MAX_PWM parameters used to set the PWM range of the quad motors (this allows them to be different from the range for the forward motor). These need to be set to the range your ESCs expect.

Also, there is this note:

  • The Q_THR_MID parameter is important for smooth transitions. It defaults to 500 which means 50% throttle for hover. If your aircraft needs more or less than 50% throttle to hover then please adjust this. That will prevent a throttle surge during transition as the altitude controller learns the right throttle level


1 Like

I had not changed Q_THR_MAX_PWM, as this was set to the full PWM range for the ESCs. I feared lowering this (and thus reducing peak thrust of all quad/tilt motors would negatively impact stability. I could try lowering it more conservatively (Say 90% or so, I have seen 1800us peaks in quad flight). That’s part of the complication of a tilt-rotor - any behavioral change I want on the front motors in transition also applies during Q modes.

Q_THR_MID is one I’ve not thought about. I’ll look into adjusting that as needed, though looking through my parameters now I can’t seem to find it . . . was Q_THR_MID perhaps replaced with a newer alternative? I do see Q_M_THST_HOVER, for example. It is currently set to 0.35 (35%).

You have a good airpseed result, what kind of airspeed do you use?

I have been using the Sensirion SDP33 module from Drotek:

I’ve had repeated issues with the 4525DSO and MS5525 (Noise + Drift and I2C errors, respectively) so I sided with the SDP33 despite its oddities (Slower response time due to an on-board averaging filter, and fixed (unchangeable) tube length).

That said, I plan to migrate to a dual UAVCAN airspeed sensor setup soon.