Throttle trim - potentially dangerous!

General Help and support for the Taranis Radio.
Post Reply
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Throttle trim - potentially dangerous!

Post by pchristy »

Sorry for the subject header, but I gave myself quite a fright recently due to an unexpected behaviour of the throttle trim function! My transmitter is an original X9D and using OpenTx-2.1.9

For the first time, I've been setting up an i/c powered helicopter on the Taranis. I don't know how familiar the devs are with helicopter set-ups, so I'm going to go into this in some detail so that non-heli flyers can understand the issue.

The helicopter in question is quite an old design, and doesn't need any of the special helicopter functions for swashplate mixing, so all these are ignored. However, like most helicopters, it does need a throttle curve to simplify starting, take-off and landing.

A typical "Normal" throttle curve will have five points. On a helicopter, it is important to get the rotor-head up to speed quite quickly, so the throttle curve rises quite quickly initially, then flattens off across the middle of the range, before rising quite steeply at the end again (the "get me out of here!" portion of the curve). For example, in my case, because I was using a modern engine in an older design and needed to reduce the power in the hover as well, I started off at 0, 35, 40, 50 and 100 as my five points. 0 represents a fully shut throttle that will kill the engine, but with the trim advanced from the bottom, this should give a reasonable tickover. I found that I needed to advance the trim up to about 75% to get a decent tickover.

The first test flight indicated that I had set the throttle curve a bit low across the middle, so I landed, shutdown, and then advanced the pitch curve to 0, 40, 45, 55 and 100.

When I restarted the engine, I had the fright of my life, as the throttle was now way too far open, the engine was revving very high and the clutch engaged!!!

Luckily, I had a firm grip on the rotor head, but there followed a frantic few seconds while I dis-engaged the starter (the wand flew off across the pits!) and pulled the fuel line off!

Moving the throttle curve had affected the idle setting, despite the trim being set to "idle-only" in the model setup page!

This is NOT expected behaviour, and completely different from every other helicopter radio out there. It is also potentially dangerous. A "hot start" is not a pleasant experience on a helicopter!

The issue appears to be that when a curve is applied, the trim acts to move the lower point of the throttle stick position - moving the "cursor" along the X axis of the curve. As a result, any alteration to the curve affects the idle.

What is ideally required is that the trim moves the first point on the curve up and down the Y axis by a small amount, thereby affecting the idle only. Ideally, with the trim right back, 0 should be 0 (stopping the engine), and increasing the trim should raise this from 0 by a small amount, allowing a steady idle to be set. This would make the trim independent of the throttle curve.

Now I accept that it may be possible to achieve this by some clever programming - and if anyone could tell me how to do it, I would be very grateful! However, this is not the default behaviour, and is completely at odds with accepted standards! It is also, as I found out, potentially dangerous!

It probably doesn't affect electric helicopters, as the speed controller will refuse to arm if the throttle is open beyond a certain point. But "wet-fuel" engines have no such safety catch!

It caught me out, and I've been flying helis for over 40 years!

My era of programming ended on 8-bit 6502s, so I can't really help with the programming, but if any of the devs wants me to explain this in greater detail, or has any other questions, I'll do my best to answer them.

OpenTx is a great piece of software, and I would like to help to make it even better.

Cheers,

--
Pete

User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: Throttle trim - potentially dangerous!

Post by jhsa »

I do not use openTX nor fly helicopters, but please, do yourself a favor and program a "Kill Switch" using the special functions.. This will bypass any other setting if you want to kill the engine in an emergency like that one you had. :)

Next go to the model setup page and scroll down to "Trim Idle Only" and tick that option. The trim will now only operate at the lower part of the channel movement maintaining the full throttle range. This was implemented specially for IC engines. You can also turn the trim OFF in the mixes that do not need it.

João
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

Joao,

Both already done! I already had a "kill switch" programmed - but didn't have enough hands to reach it quickly! One was hanging on to the rotor-head, the other trying to chuck the starter away! It was quickest and easiest to pull the fuel line!

I also already had the "Trim Idle Only" option checked - but the throttle curve makes this act in the way I described!

As I say, not what I expected at all!

--
Pete
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: Throttle trim - potentially dangerous!

Post by jhsa »

The issue appears to be that when a curve is applied, the trim acts to move the lower point of the throttle stick position - moving the "cursor" along the X axis of the curve. As a result, any alteration to the curve affects the idle.
Hmm, if you are applying a curve, you are changing the values of the channel for a given position of the stick.. I believe the trims are applied to the stick, before you apply the curve.
So, yes, if you change the curve to accelerate the engine, you will have to decrease the trim to keep the idle at the same speed as before..
That is how I understand it, and it looks correct to me..

But it is impossible to see what is happening without seeing your setup. I suggest you post your eeprom here so someone can have a look at your programming.

João
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

jhsa wrote: Tue Apr 04, 2017 11:38 am Hmm, if you are applying a curve, you are changing the values of the channel for a given position of the stick.. I believe the trims are applied to the stick, before you apply the curve.
So, yes, if you change the curve to accelerate the engine, you will have to decrease the trim to keep the idle at the same speed as before..
That is how I understand it, and it looks correct to me.
Yes, but that is not how every other helicopter radio works! On every set I've come across (mainly JR and Futaba, but a few others as well) changing the throttle curve does NOT change the idle position - nor should it.

I do not like changing curves whilst the engine is running - which would have revealed the problem - for obvious reasons. But if you do shut the engine down, you have no idea where the idle will be when you restart!. If you have moved the curve down, then the engine will probably just refuse to start, which is safe, at least. However, if you move it up - even by a small amount - you get a hot start.

I know and appreciate that OpenTx works in a different way to all other radios, and that is one of the attractions of it. However, this is an issue that is likely to catch out anyone programming in an i/c powered helicopter, and really needs to be addressed, IMHO.

--
Pete

User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: Throttle trim - potentially dangerous!

Post by jhsa »

Pete, please post your programming so people can have a look at it and see what is happening. Download your radio's eeprom to your computer using companion, then attach it to your post.

João
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

OK, I'm attaching both a full backup of the radio, and separately the model in question (HeliBoy).

(I had to zip them before I could attach them)

Enjoy! ;)

--
Pete
Attachments
HeliBoy-2017-04-04.bin.zip
(733 Bytes) Downloaded 307 times
X9D-20170404.bin.zip
(3.57 KiB) Downloaded 278 times
User avatar
MikeB
9x Developer
Posts: 17993
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: Throttle trim - potentially dangerous!

Post by MikeB »

I appreciate your concerns. I believe there isn't anyone working on openTx who flies helis, or at least not IC ones. I don't either so I don't know what might be required in ersky9x.
The other consideration is that neither ersky9x nor openTx includes much in the way of dedicated functions, all is general purpose and you set your requirements. They don't have a dedicated "heli" mode, just some swash settings to produce swash outputs that would not be possible to get any other way.

The "Trim idle only" option is present to make choosing that feature easy, even though it is possible to do this with mixes. What is does, probably for fixed wing only, is to allow the trim to adjust the "bottom end" of the throttle, and reduce the effect of the trim linearly over the full throttle range. So if the throttle is at -100% the trim has full effect, if the throttle is at 0% (half open) the trim only has half the effect and at 100% throttle the trim has no effect.

If you are using a 5-point curve for your throttle curve, then I believe you would like the throttle trim to affect the output fully if the throttle is at -100%, reducing to having no effect when the throttle is at -50% (a quarter open and so at the first point of your 5-point curve).

To achieve this, you need to separate the throttle and throttle trim in the mixer. First, the trim may be removed from the throttle by removing the tick by "Include trim" in the mix.
OpenTx does have the ability to select the throttle trim as an input to a mix. I don't have this on ersky9x, but the trim value may be extracted with a couple of mixes.

So, I've done this for ersky9x, but openTx would be very similar.

First two mixes on the throttle channel:
+100% Thr
-100% Thr noTrim Offset(25%)
The first one selects the throttle with trim, the second removes the throttle, leaving just the trim, and adds on an offset so the trim adjusts from 0 to 50% instead of -25% to +25%. OpenTx might do this in a single mix, if you define the throttle trim as an input.

Next, you need to make this reduce in effect as you open the throttle.
* +100% Thr noTrim Curve(c2) [a multiply multiplex]
and set Curve 2 to: 100, 0, 0, 0, 0
This mix scales the trim from 100% of trim a -100% throttle to 0% of trim at -50% throttle.

Finally add in the actual throttle:
+100% Thr noTrim Curve(c1)
So you end with:
+100% Thr
-100% Thr noTrim Offset(25%)
* +100% Thr noTrim Curve(c2) [a multiply multiplex]
+100% Thr noTrim Curve(c1)

This avoids needing a special "heli" setting, and you could change both curves to 9-point (or higher) curves and still get the same effect.
What I might look at (for ersky9x) is an option to define how quickly the "throttle idle only" is reduced in effect. Currently it is over the full throttle range, but perhaps a value could be set as to how quickly the throttle trim effect is reduced to zero.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

Hi Mike, and thanks for your input! I suspected that not many of the devs fly i/c helis, which is why I tried to describe the issue in detail! With JR now seemingly withdrawing from the model market - and with most UK heli flyers using JR - I can see a few more FrSky sets being sold to i/c heli flyers in the future, and getting caught out like I did!

I'm not a programmer, but to my mind, perhaps the simplest way to address the problem would be to uncheck all the "trim" options for the throttle wherever they occur, and then check a new "trim" option on the curve menu. This option would allow just the bottom point to be moved up and down the Y axis by a small amount in response to the trim. By doing this, the throttle trim would become completely independent of the other points on the curve.

Of course, pilots would still need to be aware of it when setting up, but at least they would then have a scenario with which they are familiar!

In the meantime, I'll have a go at your idea and see how I get on. I've just had one of the servos fail in the HeliBoy (luckily during post-flight checks!), so it will be a few days before a replacement arrives. I already have about 6 or seven curves set up (Throttle normal, idle-up-1, idle-up-2, pitch normal, pitch idle-up-1, pitch idle-up-2, pitch autos, plus a kill switch and a hold switch for the throttle), so the set-up is already very complex. Having to add more curves in to produce the desired throttle mix is probably going to fry my brain! :shock: But I'll give it a go!

Cheers,

--
Pete
User avatar
MikeB
9x Developer
Posts: 17993
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: Throttle trim - potentially dangerous!

Post by MikeB »

In the meantime, I've changed ersky9x to provide a setting for the "throttle trim only" where the throttle trim amount is progressively reduced as the throttle increases and becomes 0 by the chosen setting. So if the setting is 100%, it behaves as before.
If the setting is 25%, then it has the effect of moving the first point of a 5-point curve! Set to 12% (12.5 really) and it just moves the first point of a 9-point curve).
This was quite easy to add, so it should be possible to add to openTx.

Mike.
Edit: I've raised an issue on openTx.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

Thanks Mike! Much appreciated! You can clearly see where I was coming from, and my concerns!

It was the unexpectedness of having the throttle curve affect the idle, when the option for "throttle trim - idle-only" was selected!

Cheers,

--
Pete
User avatar
Kilrah
Posts: 11109
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Throttle trim - potentially dangerous!

Post by Kilrah »

pchristy wrote: Tue Apr 04, 2017 11:54 am But if you do shut the engine down, you have no idea where the idle will be when you restart!
You should have a reasonable idea simply by looking at the output value in the channel monitor.

Also note that there is a difference in behavior whether you apply your curve in the Inputs or the mixer, normally you'd do so in the Inputs. In the former case trim is independent from the curve, with the latter it "goes through" the curve.

Trim idle only leaves the top point alone but changes everything else, i.e. see it as a 2-point curve on which you move the -100% point. Any other behavior you might want can be set up by disabling built-in trim handling and setting it up yourself, for example using a curve.
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

Kilrah: Thanks for your input! I must admit that it never occurred to me to apply the curves at the input stage. I was under the impression that adjustments for throw of any kind were best done in the mixers. I will give that a try!

Yes, you are right, you can check the idle by checking the channel monitor - provided you are aware of the problem, and remember to look at it *before* making any adjustments! ;) However, my point was that having the idle affected by moving points 2+ is an *unexpected* effect - at least to those of us used to other systems. I appreciate that OpenTx is different in many ways, but this is a bit like getting in a new car and finding the brakes and accelerator swapped around! It is hazardous, and even once you know about it, easy to forget! Old habits, etc.....

The heli in question is grounded at the moment due to a servo problem, but when I get a replacement - hopefully before the week-end - I shall certainly investigate the alternatives suggested by Mike and yourself.

Many thanks!

--
Pete
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

Kilrah: I've been playing around with your idea on the companion simulator, but I can't get it to work properly.

The problem is that the throttle stick on the transmitter serves two functions on a helicopter - throttle and collective pitch - each of which requires a different curve.

If I apply a throttle curve to the input, as you suggested, this also gets carried over into the "Pitch" channel, which is not what is required. I thought there was some means of using the raw data from a particular stick for a given function, rather than using (for example) throttle as the input to the 2nd channel. So far I've failed to find it!

Any hints? If I can make it work, yours sounds a simpler solution than Mike's suggestion, but so far I've failed!

--
Pete
User avatar
Kilrah
Posts: 11109
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Throttle trim - potentially dangerous!

Post by Kilrah »

The "correct" way of doing things would be to create a separate input for Pitch.

Image
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

Hm! That's what I tried doing, but it seems to carry the throttle curve (1) over into the pitch channel as well. Mind you, I hadn't applied any curve to the pitch channel. I was expecting it to just go from -100 to +100 as I moved the throttle stick, but instead it followed the throttle curve.

I will have another play......

--
Pete
User avatar
Kilrah
Posts: 11109
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Throttle trim - potentially dangerous!

Post by Kilrah »

Remember to use the right source in the mixer (the input, not the raw stick) and not apply a curve there.
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

OK, I think I can see light at the end of the tunnel! I had mistakenly applied the input to the "pitch" mixer (ch6) to be "Thr" instead of "Ptch". Once I corrected that, things started to behave more rationally!

I've still got a bit of fiddling to do, but I think I now have a solution in sight. A new servo is winging its way to me to replace a faulty one, so hopefully I can get the model set up and re-programmed before the week-end. Once I'm convinced I have a viable solution, I'll try and write up a "How-to" to post here for others facing a similar issue!

Thanks to Kilrah and Mike B for your assistance!

--
Pete
pchristy
Posts: 33
Joined: Fri Jan 08, 2016 9:44 am
Country: United Kingdom
Location: Paignton, Devon

Re: Throttle trim - potentially dangerous!

Post by pchristy »

Update:

I think I now have a setup that meets my requirements. The idle speed is no longer affected by changes to the throttle curve, and I seem to have the full range of functions normally expected. I'm attaching a copy of my file, all comments gratefully received!

I'll get around to writing up a full description of the how's and why's at some point, but it might take a while, as its quite complicated! However, for quick guidance: "Kill" is a total over-ride to stop the engine, regardless of the position of any other switches or sticks. "Hold" takes the throttle to a pre-set idle position, and invokes the "Auto" pitch curve for auto-rotations. "Norm" is for take-off and landing. "IdleUp-1" and "IdleUp-2" are aerobatic settings.

Flight modes are used to allow different trim settings in different modes of flight. The Gyro gain is also switched between "heading hold" and "rate", and the gains adjusted according to the selection of SF and SE.

NOTE: I haven't actually flown it yet - hope to this week-end - but it all looks good on the bench!

I ran into a couple of things that have puzzled me slightly. I've worked around them, but they may be of interest to the devs!

1) In order to over-ride other settings in the "input" section, the commands need to be entered with the over-ride function nearest the top. This was particularly true of the throttle! The pitch function didn't seem so sensitive to the order, except when another switch was involved, but I kept all functions in "reverse" order for consistency!

In the "mixing" section, the reverse is true, with the over-riding function needing to be placed last in the list! There is an inconsistency between the input and mixer sections, but I suspect this may be unavoidable!

2) Although I could persuade the "Pitch" function to respond correctly to switch SF for auto-rotations in the "input" section, I couldn't make the throttle do the same, and had to resort to putting the "Hold" and "Kill" throttle functions in the "mixer" stage. I have no idea why it worked for "Pitch" and not "Throttle"!

Anyway, have a look at the attached file and see if I've made any obvious errors. It all seems to work as required on the ground, the moment of truth is yet to come......

--
Pete
Attachments
Heliboy-new.eepe
(76.03 KiB) Downloaded 330 times
stephendevelop
Posts: 3
Joined: Tue May 01, 2018 7:48 pm
Country: -

Re: Throttle trim - potentially dangerous!

Post by stephendevelop »

I think, another way to fix this, is via the Global variables:

What you actually want is, you want to change the lower limit of the output on the trottle chanel.
So on the "outputs" screen, you need to change the min into a global variable, let say, GV9
Next you give GV9 a reasonable value, let's say you engine idles nice around -80.

Next, switch off the trim on the "input" screen for the trottle, so in the trim field, select OFF.
Next, make a special functions, on the "special functions" screen select Tu / Adjust / GV9 / += 3 ( long press on the value and select in/decrement )
Next, make a special functions, on the "special functions" screen select Td / Adjust / GV9 / -= 3

Now you can use trottle curves, the lower limit will always be set by this global value.
And it will not shift along your curve ...
And the global value is saved when you switch the taranis off.

Post Reply

Return to “General help (FrSky Taranis radio)”