P3D v3 Modelling a helicopter's engine (several questions)

#1
A turbine-powered helicopter is in question.

I would like to simulate slow acceleration of the engine and its power deficit at high collective.

  1. The behavior of the sim helicopters is weird in this regard as I was able to get into a situation when the gas generator RPM reached 100% and did not increase any more, but I still could raise the collective safely and gain altitude without losing main rotor RPM, which is clearly unrealistic: if you get 100% and keep increasing the collective, then you'll just start to reduce your main rotor RPM, but hardly gain any more lift. Is it possible to simulate situations of MR RPM loss due to engine power deficit?
  2. Also it seems like you may yank the collective as hard as you want, the engine will follow. I would like to simulate a setup where above some rate of the collective increase the engine cannot keep up and the rotor RPM would decrease momentarily. Is it at all possible?
 

Heretic

Resource contributor
#4
No, there aren't. The default FDE is simplified because MSFS is a simulator aimed at the Average Joe/Jane and not Mike McHardcoresimmer.
 

Roy Holmes

Resource contributor
#6
There are two turbine helicopter types, the Bell and the EH-101.
The latter type will exhibit rotor RPM drop if you have full torque and too much collective.
Roy

PS I tried HTR and it grossly exaggerated everything so I disabled it.
 
Last edited:
#7
There are two turbine helicopter types, the Bell and the EH-101.
Roy, thank you. Can you, please, give a bit more detailed information? Do you mean that in regard to the sim there are two type of turbine helicopters? If so, then where can I get the EH-101 to have a look at how it works?
 

Roy Holmes

Resource contributor
#12
The type1 asm helicopter air file is for the multi engined turbine helo like the EH101, but it only deals with the engines. Everything else is covered in the aircraft.cfg and is to be found in the Helicopter section of the SDK coverage of aircraft configuration files. If you do a search in this forum you will find discussion of the subject.
Roy

PS forgot to say that the Virtavia H-60 which comes with P3D is built on the very old Bell model. But there are quite a few out there built to the newer model. That model is not without its issues, development was rushed and not quite finished to meet the FSXA launch schedule. For example, you can not easily simulate having two engines and starting one without the rotor turning.
 
Last edited:
#13
Everything else is covered in the aircraft.cfg and is to be found in the Helicopter section of the SDK coverage of aircraft configuration files.
Yes, I studied these pages thoroughly, but not everything seems to work as intended. For instance, these parameters in the [Helicopter] section don't affect the behaviour in the sim.

Code:
right_trim_scalar=
governed_pct_rpm_ref=
tail_rotor_translating_scalar=
 

Roy Holmes

Resource contributor
#14
For instance, these parameters in the [Helicopter] section don't affect the behaviour in the sim.
You need to be more specific, what type of helicopter do they not affect?
The SDK, as often is the case, does a bad job of explaining the situation.
There are actually three types of helo, the Bell, the EH101 and the Robinson which I did not mention earlier because it has a piston engine.
The Bell [helicopter] section in its config file has one entry "low_realism_stability_scale = 1.0, 1.0, 1.0 //Pitch , Bank, Yaw Scalars on Stability in Low Realism Settings"
Therefore none of the other entries in the SDK helicopter sections have any effect on the Bell model because it does everything except the scalars in the air file.

All of the other entries affect the EH101 and Robinson. The P3D SDK only mentions the Robinson because the sim does not come with a version of a Multi Engine Helicopter like the EH101.

For example, here is that section in the EH101


[Helicopter]
reference_length = 74.1
reference_frontal_area = 125.0
reference_side_area = 308
side_aero_center = -38.0
lift_aero_center = -34.0
right_trim_scalar = 0.0
correlator_available = 0
governed_pct_rpm_ref = 1.0
governor_pid = 0.25, 0, 0.9, 0.01, 0.15
rotor_brake_scalar = 10.0
torque_scalar = 20.0
tail_rotor_translating_scalar = 0.5
cyclic_roll_control_scalar =1.5
cyclic_pitch_control_scalar =2.0
pedal_control_scalar =0.4
collective_on_rotor_torque_scalar = 0.4

[fuselage_aerodynamics]
drag_force_cf = 0.52
side_drag_force_cf = 10.0
pitch_damp_cf = -4.0
pitch_stability_cf = 0.5
roll_damp_cf = -6.0
yaw_damp_cf = -0.8
yaw_stability_cf = 0.27

[MainRotor]
Position = -30.5, 0, 13.9 //Longitudinal, Lateral, Vertical feet from datum
Radius = 30.51 //feet
max_disc_angle = 7.0
static_pitch_angle = 4
static_bank_angle = 0
RatedRpm = 210
Number_of_blades = 5
Weight_per_blade = 286.0
inflow_vel_reference = 56.0
weight_to_moi_factor=0.577000

[SecondaryRotor]
Position = -67.6, -3.7, 11.6 //Longitudinal, Lateral, Vertical feet from datum
TailRotor = 1
Radius = 6.56 //feet

[Sling.0]
hoist_extend_rate = 5 //Feet per second
hoist_retract_rate = -5 //Feet per second
position = -34.7, 6.7, 7.0 //Feet from datum
max_stretch = 2.0 //Max stretch distance at ultimate load
damping_ratio = 0.6 //0 for no damping to 1.0 for critically damped.
rated_load = 600 //Characteristics tension of cable in pounds
ultimate_load = 2250 //Breaking force in pounds
tolerance_angle=45 //Angle, in degrees, used to determine lateral breaking force limit
auto_pickup_range = 8 //Max Range, in feet, for auto-pickup
auto_pickup_max_speed = 8.5 //Maximum speed (feet per second) for auto-pickup
hoist_payload_station = 4 //Payload station in which the hoist will load in and out of. 1 is first station.
hoist_door=2 //Door associated with hoist. Must be open for use.

[Sling.1]
position = -30.5, 0.0, 0.0 //Feet from datum
max_stretch = 2.0 //Max stretch distance at ultimate load
damping_ratio = 0.75 //0 for no damping to 1.0 for critically damped.
rated_load = 10000 //Characteristics tension of cable in pounds
ultimate_load = 25000 //Breaking force in pounds
tolerance_angle=70 //Angle, in degrees, used to determine lateral breaking force limit
auto_pickup_range = 8 //Max Range, in feet, for auto-pickup
auto_pickup_max_speed = 8.5 //Maximum speed (feet per second) for auto-pickup

Hope that clarifies things
Roy
 
#15
You need to be more specific, what type of helicopter do they not affect?
Yes, Roy, you are absolutely right! I could finally fetch myself an EH101-based helicopter model, I tried to change the numbers in the aircraft.cfg and the effects were obvious. Thank you, you've been very helpful!

Now I have only one question left (so far). I would like to model a twin-engine turbine helicopter of an EH101 sim-type. How does the sim engine distinct helicopter types from one another? I mean, what parameter (or a set of parameters) make it "think" my helicopter is Bell206 type or EH101 type?
 

Roy Holmes

Resource contributor
#16
Essentially it is the air file. But with the EH101 type you must have the helicopter sections present in the aircraft.cfg. For a Bell type the helicopter section is not essential, it just makes the model easier to fly.
There are a few things not so good about the EH101 as it stands. The PID constants in the stock version are awful, the engine hunts because the N1 is constantly changing. You can get it stable, but it takes a load of work and is specific to your design it seems. It should be possible to work out what constants you need, but I have not got there yet.
The engine control on start up is also unrealistic. It can be improved with SimConnect or one of the similar tools available.
I have not done any helo work for a couple of years so there probably are guys out there who could help better than I can.
Roy
 
Top