Major Issue with individual Helicopter Engine Control due to N2 Values not being independent

Version: all

Frequency: Consistently

Severity: Blocker
(Low - quality of life, workflow optimization, rare enough to not impact production, etc…
High - critical but workarounds are available, important feature not working as expected, frequent enough to impact production
Blocker - prevents from working on the project, prevents from releasing the product)

Marketplace package name: if applicable

Context: What package? When editing or mounted from Community? In main menu or in flight? etc…

Similar MSFS 2020 issue: the same problem exists in msfs20

Bug description: When trying to control the engines of a twin engine helicopter separately there is currently a major issue that prevents this individual engine control from working as intended. The issue behind is the same one I have already reported in relation to autorotation behavior. Helicopter rotor clutch broken
The N2 values of both engines and the rotor RPM are glued together and cannot change independent from each other, however exactly that would be required in many situations. This bug report is supposed to show the major consequnces this has, not only for autorotations but for individual engine control as well. With the the current problem it is impossible to properly control two engines independently, no matter if the “use custom throttles” option via lvars is used or the engine governor targets are chanded individually as demonstrated in the first video.

The second video demonstrates that only a sychronized engine control can avoid this issue.

Repro steps: as shown in video

Attachments:

Private attachments: Send a PM to @PrivateContent with the link to this topic and the link to download your content

3 Likes

Please allow me to back Ben up here,

There seems to be major flaws in the engine setup and the videos above are clearly showing the challenges we are facing to natively bring double engine helicopters to the sim.

Regards,

Taog

Bene’s analysis and bug report is spot on!

This issue has been persistent since MSFS 2020 (and I believe it was already reported back then).

The impact of this bug is critical, as it has a major influence on developers’ decisions regarding which helicopter to build next. As far as I know, only HPG has managed to circumvent this bug by completely custom-coding their own logic.

But every other developer with less coding experience is left to deal with this bug.

Bene already proposed a solution for this issue in his video: we need a so-called “freewheeling unit” in each engine’s N2 shaft. What it does is compare the engine’s N2 RPM (in percent) with the main rotor RPM (also in percent). If the difference exceeds a certain threshold (usually around 2%), the freewheeling unit opens up, allowing the N2 shaft to spin independently from the main rotor.

Real-world examples of freewheeling unit usage:

Startup:

When the first engine is started, its N2 begins to accelerate the rotor, since the N2 shaft is directly connected to the main rotor — there is no RPM difference because N2 is actually driving the rotor.

When the second engine is started, its N2 begins to increase gradually from 0% N2. As it approaches the rotor RPM (within 2%), the freewheeling unit closes and engages a mechanical connection between the second engine’s N2 shaft and the main rotor.

If there were no freewheeling unit, the first engine would have to spool up the internal components of the second engine as well, leading to a significantly higher power demand. This is the misbehavior we’re currently observing in the sim.

Engine failure:

If one engine fails, its N1 — and consequently its N2 — drops. To preserve as much power as possible from the remaining engine, the freewheeling unit opens up and decouples the failed N2 shaft from the rotor. This allows the remaining engine to transmit maximum torque to the rotor without mechanical drag from the failed engine.

Currently, this behavior is not possible in the sim.

Autorotation (even in single-engine helicopters):

In the event of an engine failure (or dual engine failure in multi-engine helicopters), a portion of the energy from the freely spinning main rotor would be lost if it were still mechanically connected to the N2 shafts of the failed engines. This additional drag would reduce autorotation efficiency.

To prevent this, and to extract as much energy from the rotor as possible, the freewheeling unit opens and disconnects both engines.


In summary:

What we need is a freewheeling logic between each engine’s N2 drive shaft and the main rotor, ideally with a configurable threshold value (e.g., a rotor/N2 RPM delta in percent) in the flight_model.cfg.

If you need more information, please feel free to ask any time.

Kind regards!

1 Like