Jump to content

Updated FDE to Twin Otter - updated 28/4/2015


Capt. Crash

Recommended Posts

Hey everyone,

I love the twin otter. I am using it extensively with my company AOM to maintain proficiency in the slow season. To that end, I felt the turbine side of things were a bit lacking and I decided to see if I could help. I fly in one of the hottest parts of the US with the twin otter and never have we over temped an engine like I have in the sim.

I did some tweaking on the airfile and cfg to more accurately represent the twin-otter 4 bladed hartzell props.

To modify the airfile, download: http://www.difusco.de/ootb/AAMV22.zip

AirFile updates:

[509] - change the first 2 values to -10, -0.2 and 10, 0.2
[1526] - Scale factor 0.92

CFG updates:

increased the prop MOI to the correct physical value,

increased the prop tc to compensate and prevent overspeed.

changed the fuel flow gain to better match the aircraft to 0.4. I think I saw that mentioned on the forum somewhere after I made my change. YAY for independent validation

(I wish FSX used all the turbine tables in the air file for turboprops but oh well)

updated the turbine rpm to reflect 100% in the aircraft

known limitations with this update

1) the props do surge a bit when powering up to takeoff power. increasing the prop_TC any more makes too much adverse yaw when feathering an engine. (see 2)

2) the props do hunt slightly when changing rpm, this can be solved by very slowly changing the prop lever. In the aircraft we don't yank on the levers at all, ever. Plus there is about a foot of travel in the actual aircraft.

result: prop spin up and spin down are accurate and prop maintains rpm on the ground much better. It feels much more like the actual aircraft.

1)Np is now accurate at 100% and is 2200 rpm, this means you will need to pull the levers back to 96% Np for the proper prop RPM at takeoff. The prop lever input for this is 84.5%. see the fix below to that addresses the Prop Reset caution light

2)Ng is now accurate.

3)Battery voltage is correct

4)min gov rpm set to 71%Np

The changes can be made manually, I will not be providing the files. Use at your own risk.

[Flaps]
drag_scalar = 1.10

[GENERALENGINEDATA]
fuel_flow_scalar = 1.2 //new 28/4/2015

[TURBINEENGINEDATA]
 fuel_flow_gain = 0.4  // -300 // 
rated_N2_rpm   = 36576 // 96% of 38,100 // -100 // rated_N2_rpm   = 38100 // 100% of 38,100 rated_N2_rpm   = 37537 // 100% of 101.5% 38,100 
PowerSpecificFuelConsumption  = 0.8 //.687 //new 28/4/2015 

[PROPELLER] 
propeller_blades = 4 
propeller_moi = 135.2 // 18 
min_gov_rpm = 26651 // 26667 
prop_tc = 0.008 //0.00005 
gear_reduction_ratio = 17.0623 
min_rpm_for_feather = 100

[ELECTRICAL]
max_battery_voltage = 24.0

Changes for the Hartzell 58%Ng idle is accomplished in the TW_SYS2.xml back up this file. The changes are extensive and completely rewrite the N2 code.

The effect of the changes are as follows from start up to shut down:

1) Battery starts are now voltage dependent and the voltage affects the maximum Ng the starter will spool to (max of 16%),

2) light off is smoother and the gauge will transition to settle and an idle of 58% Ng with a max of 101.5

3) spool down Ng is a bit more accurate.

4)External Starts are not voltage dependent and will spool up to 20% Ng but you really have to want to wait for it to get there.

Delete the original (>L:Custom_Eng1/2_N2, number) equation, it should be something along the lines of

(A:TURB ENG N1:1, Percent) (A:TURB ENG N1:1, Percent) * 100 / ...

found under the <!-- Reverse N2 add eng2 --> and <!-- Reverse N2 add eng1 --> sections and change it with the following, the code section has both engine 1 and 2 so pay attention and copy one engine at a time.

<!-- Eng 1 External Power start scaling -->
(A:GENERAL ENG STARTER:1, bool) 1 ==
(L:TW_DC_Source_sw, number) -1 == &amp;&amp;
if{
1 (&gt; L:Start1, number)
}

<!-- Engine 1 Battery Start Scaling -->
(A:GENERAL ENG STARTER:1, bool) 1 ==
(L:TW_DC_Source_sw, number) 1 == &amp;&amp;
if{
-1 (&gt; L:Start1, number)
}

<!-- Starter Scaling for External/Battery Start -->
(A:TURB ENG N1:1, Percent) 12 &lt;
if{
(L:Start1, number) 1 ==
if{
20 12 / (A:TURB ENG N1:1, Percent) * (&gt; L:Custom_Eng1_N2, number)
}
(L:Start1, number) -1 ==
if{
(L:TW_Main_Bat_voltage, number) 1.5 * 20.5 - 12 / (A:TURB ENG N1:1, Percent) * (L:Eng1_Beta_addX, number) + (&gt;L:Custom_Eng1_N2, number)
}
(L:Start1, number) 0 ==
if{
58 66 / (A:TURB ENG N1:1, Percent) * (L:Eng1_Beta_addX, number) + (&gt;L:Custom_Eng1_N2, number)
}
}
<!-- Post Start scaling up to idle else scaling above idle -->
(A:TURB ENG N1:1, Percent) 12 &gt;
if{
(A:TURB ENG N1:1, Percent) 66 &lt;
if{
(L:Start1, number) 1 ==
if{
38 54 / (A:TURB ENG N1:1, Percent) 12 - * 20 + (L:Eng1_Beta_addX, number) + (&gt;L:Custom_Eng1_N2, number)
0 (&gt; L:Start1, number)
}

(L:Start1, number) -1 ==
if{
42 54 / (A:TURB ENG N1:1, Percent) 12 - * 16 + (L:Eng1_Beta_addX, number) + (&gt;L:Custom_Eng1_N2, number)
0 (&gt; L:Start1, number)
}
(L:Start1, number) 0 ==
if{
58 66 / (A:TURB ENG N1:1, Percent) * (L:Eng1_Beta_addX, number) + (&gt;L:Custom_Eng1_N2, number)
}
}
els{
43.5 35.5 / (A:TURB ENG N1:1, Percent) 66 - * 58 + (L:Eng1_Beta_addX, number) + (&gt;L:Custom_Eng1_N2, number)
}
}
<!-- ENGINE 2 N2 SECTION STARTS HERE -->
<!-- Eng 2 External Power start scaling -->
(A:GENERAL ENG STARTER:2, bool) 1 ==
(L:TW_DC_Source_sw, number) -1 == &amp;&amp;
if{
1 (&gt; L:Start2, number)
}

<!-- Engine 2 Battery Start Scaling -->
(A:GENERAL ENG STARTER:2, bool) 1 ==
(L:TW_DC_Source_sw, number) 1 == &amp;&amp;
if{
-1 (&gt; L:Start2, number)
}

<!-- Starter Scaling for External/Battery Start -->
(A:TURB ENG N1:2, Percent) 12 &lt;
if{
(L:Start2, number) 1 ==
if{
20 12 / (A:TURB ENG N1:2, Percent) * (&gt; L:Custom_Eng2_N2, number)
}
(L:Start2, number) -1 ==
if{
(L:TW_Main_Bat_voltage, number) 1.5 * 20.5 - 12 / (A:TURB ENG N1:2, Percent) * (L:Eng2_Beta_addX, number) + (&gt;L:Custom_Eng2_N2, number)
}
(L:Start2, number) 0 ==
if{
58 66 / (A:TURB ENG N1:2, Percent) * (L:Eng2_Beta_addX, number) + (&gt;L:Custom_Eng2_N2, number)
}
}
<!-- Post Start scaling up to idle else scaling above idle -->
(A:TURB ENG N1:2, Percent) 12 &gt;
if{
(A:TURB ENG N1:2, Percent) 66 &lt;
if{
(L:Start2, number) 1 ==
if{
38 54 / (A:TURB ENG N1:2, Percent) 12 - * 20 + (L:Eng2_Beta_addX, number) + (&gt;L:Custom_Eng2_N2, number)
0 (&gt; L:Start2, number)
}

(L:Start2, number) -1 ==
if{
42 54 / (A:TURB ENG N1:2, Percent) 12 - * 16 + (L:Eng2_Beta_addX, number) + (&gt;L:Custom_Eng2_N2, number)
0 (&gt; L:Start2, number)
}
(L:Start2, number) 0 ==
if{
58 66 / (A:TURB ENG N1:2, Percent) * (L:Eng2_Beta_addX, number) + (&gt;L:Custom_Eng2_N2, number)
}
}
els{
43.5 35.5 / (A:TURB ENG N1:2, Percent) 66 - * 58 + (L:Eng2_Beta_addX, number) + (&gt;L:Custom_Eng2_N2, number)
}
} 

So your new sys2 should have the sections in this order for the engines where # = the engine number (1 or 2)

<!--******************************-->
<!-- N2 Custom animation engine # -->
<!--******************************-->
...
<!-- Reverse N2 add eng# -->
...
<!-- Eng # External Power start scaling -->
...
(new code from above)
...
<!-- Reverse and Trq T5 add eng# -->
...
<!-- Idle Condition lever eng# --> 

additionally you can delete the following for engines 1 and 2 as those variables aren't used anymore

<!-- Starter N2 add eng1 -->	
	(A:GENERAL ENG STARTER:1, bool) 1 ==
	(L:Starter1_N2_add, number) 8 &lt; &amp;&amp;
	if{
		(L:Starter1_N2_add, number) 8 (L:Starter1_N2_add, number) - 100 / + (&gt; L:Starter1_N2_add, number)
	}
	(A:GENERAL ENG STARTER:1, bool) 0 ==
	(L:Starter1_N2_add, number) 0 &gt; &amp;&amp;
	if{
		(L:Starter1_N2_add, number) 0.2 - (&gt; L:Starter1_N2_add, number)
	}

<!-- Starter N2 add eng2 -->	
	(A:GENERAL ENG STARTER:2, bool) 1 ==
	(L:Starter2_N2_add, number) 8 &lt; &amp;&amp;
	if{
		(L:Starter2_N2_add, number) 8 (L:Starter2_N2_add, number) - 100 / + (&gt; L:Starter2_N2_add, number)
	}
	(A:GENERAL ENG STARTER:2, bool) 0 ==
	(L:Starter2_N2_add, number) 0 &gt; &amp;&amp;
	if{
		(L:Starter2_N2_add, number) 0.2 - (&gt; L:Starter2_N2_add, number)
	}

28/4/2015

An update to have a correctly functioning autofeather can be also accomplished in sys2.xml my completely overwriting the section with the following code. The real autofeather has no idea if the engine is combusting so the combustion variable was removed and replaced with the proper torque switches and Ng parameters to arm and feather the system in the event of a failure

<!--*************************************-->
<!-- Engine1 and 2 Autofeather functions -->
<!--*************************************-->
(A:PROP AUTO FEATHER ARMED:1, bool) 1 ==
(A:PROP AUTO FEATHER ARMED:2, bool) 1 == &amp;&amp;
(L:TW_Leftmain_bus_voltage, number) 20 &gt; &amp;&amp;
(L:Custom_Eng1_N2, number) 80 &gt; &amp;&amp;
(L:DHC6_Eng1_PSI, number) 12 &lt; &amp;&amp;
if{
1 (&gt; L:Autofeather1_force, bool)


}
(L:Autofeather1_force, bool) 1 ==
if{
-4096 (&gt; K:PROP_PITCH1_SET)
}
(A:GENERAL ENG COMBUSTION:1, bool) 0 ==
(L:Custom_Eng1_N2, number) 80 &gt; &amp;&amp;
(L:TW_Startlatch1, bool) 0 == &amp;&amp;
(L:Autofeather1_force, bool) 1 == &amp;&amp;
(L:DHC6_Eng1_PSI, number) 12 &lt; &amp;&amp;
if{
0 (&gt; L:Autofeather1_force, bool)
<!-- -4096 (&gt; K:PROP_PITCH1_SET) -->
}


(L:Autofeather_Test_Sw, bool) 1 ==
(L:Autofeather1_force, bool) 1 == ||
if{
1 (&gt; L:Autofeather_Operat1, bool)
}
els{
0 (&gt; L:Autofeather_Operat1, bool)
}


(A:PROP AUTO FEATHER ARMED:1, bool) 1 ==
(A:PROP AUTO FEATHER ARMED:2, bool) 1 == &amp;&amp;
(L:TW_Leftmain_bus_voltage, number) 20 &gt; &amp;&amp;
(L:Custom_Eng2_N2, number) 80 &gt; &amp;&amp;
(L:DHC6_Eng2_PSI, number) 12 &lt; &amp;&amp;
if{
1 (&gt; L:Autofeather2_force, bool)


}
(L:Autofeather2_force, bool) 1 ==
if{
-4096 (&gt; K:PROP_PITCH2_SET)
}
(L:Custom_Eng2_N2, number) 80 &gt;
(L:TW_Startlatch2, bool) 0 == &amp;&amp;
(L:Autofeather1_force, bool) 1 == &amp;&amp;
(L:DHC6_Eng2_PSI, number) 12 &lt; &amp;&amp;
if{
0 (&gt; L:Autofeather2_force, bool)
<!-- -4096 (&gt; K:PROP_PITCH2_SET) -->
}


(L:Autofeather_Test_Sw, bool) 1 ==
(L:Autofeather2_force, bool) 1 == ||
if{
1 (&gt; L:Autofeather_Operat2, bool)
}
els{
0 (&gt; L:Autofeather_Operat2, bool)
}

To get an accurate PROP RESET light in the annunciator panel

open TW_Ann.xml and replace with

<!-- ** Reset Props ** -->
	(A:TURB ENG N1:1, Percent) 75 &lt;
	(A:GENERAL ENG PROPELLER LEVER POSITION:1, percent) 66.7 &lt; &amp;&amp;
	(L:TW_Startlatch1, bool) 0 == &amp;&amp;
	(A:TURB ENG N1:2, Percent) 75 &lt;
	(A:GENERAL ENG PROPELLER LEVER POSITION:2, percent) 66.7 &lt; &amp;&amp; 
	(L:TW_Startlatch2, bool) 0 == &amp;&amp; ||
	if{
		1 (&gt; L:Twot_Ann_Reset_Props, bool)
	}
	els{
		0 (&gt; L:Twot_Ann_Reset_Props, bool)
	}

Blue Skies and tailwinds

Link to comment
Share on other sites

Update: Tested in Multiplayer and the Prop RPM spin up and down is fine.

I'm not entirely sure how to get the props to govern to a 96% Np without implementing some xml tom-foolery, which is quite possible but would still mess with the prop lever animation and the Reset Props caution light.

The Ng at idle for the Hartzell props is 58 +/-2 but right now it idles at 45% I believe. I am working on that right now see OP

additionally you can leave the prop section number of blades at 3 to keep the 3 bladed functionality, it won't hurt the modifications at all. All of our planes have to be 4 bladed for noise. Although the Mccauley props seem to do nothing but make noise (especially in reverse beta) I swear they speed you up sometimes. :P

Link to comment
Share on other sites

Hello Capt.Crash,

I would want to try your modifications but I do not know how to open the file .air ?...Please let me know how do you do for reading this kind of file.

Many tahnks in advance.

Jean-Pierre

Link to comment
Share on other sites

Hi Dieter,

I am happy to provide a link to the file if the Mods say it is okay to publish the files since the FDE is the basis for the aircraft behavior. Some companies are okay with it and some are not.

Mike

Link to comment
Share on other sites

I will check up with Mathijs if it´s ok. But he won´t be available before next week.

Basicly it´s not Ok, since the files are property of Aerosoft (Buying a product, means buying a license to use that one copy without approval to distribute the files in any way).

But on the otherhand we won´t restrict people from making, what they regard as enhancements.

The deal could be that You provide us he altered files and we can pin them in this forum, clearly telling that the files can be used, but that we cannot give any kind of support for issues they may cause.

Please hold back until we get that cleared !!

Finn

Link to comment
Share on other sites

I will check up with Mathijs if it´s ok. But he won´t be available before next week.

Basicly it´s not Ok, since the files are property of Aerosoft (Buying a product, means buying a license to use that one copy without approval to distribute the files in any way).

But on the otherhand we won´t restrict people from making, what they regard as enhancements.

The deal could be that You provide us he altered files and we can pin them in this forum, clearly telling that the files can be used, but that we cannot give any kind of support for issues they may cause.

Please hold back until we get that cleared !!

Finn

Thanks Finn!

Will do. Please let me know where I can send the files when you hear back from Mathijs.

MIke

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...
  • 2 weeks later...

Thank you Capt crash.

I have chnaged everything, but would you be so kind to be a bit more specific on the section to delete.

"Delete the original (&gt;L:Custom_Eng1/2_N2, number) equation, it should be something along the lines of"


(A:TURB ENG N1:1, Percent) (A:TURB ENG N1:1, Percent) * 100 / ...


It is a bit difficult to delete "something along the lines of"

i would be much more comfortable knowing exactly what to delete.

Much appreciated

Link to comment
Share on other sites

  • 3 months later...

Thank you Capt crash.

I have chnaged everything, but would you be so kind to be a bit more specific on the section to delete.

"Delete the original (&gt;L:Custom_Eng1/2_N2, number) equation, it should be something along the lines of"

(A:TURB ENG N1:1, Percent) (A:TURB ENG N1:1, Percent) * 100 / ...


It is a bit difficult to delete "something along the lines of"

i would be much more comfortable knowing exactly what to delete.

Much appreciated

Sorry about the delay. I got back to work flying the twin otter and have been really busy for the past several months.
The actual code is of no real value, you just need to find the lines which contain "(&gt;L:Custom_Eng1/2_N2, number)" in and delete it as specified. the code will look like:
(A:TURB ENG N1:1, Percent) (A:TURB ENG N1:1, Percent) * 100 / ...(&gt;L:Custom_Eng1/2_N2, number) where 1/2 just means there is a line with ENG1_N2 and a line for ENG2_N2. Hope this helps!

Link to comment
Share on other sites

Hi Capt Crash,

Thanks for the adopted FDE. I use the Twin Otter under P3D 2.5. I changed the values according to your guide. Most of them work fine. But the two values "propeller_moi" and "prop_tc" make the plane unflyable during the takeoff. You can't keep the plane on the runway between 40-60 knots. Changing them back to the original values and everything works fine again. Maybe there is a difference between P3D and FSX, how they handle These values.

Rgds

Reinhard

Link to comment
Share on other sites

@aua668,

That is true, the P3D v2 handles the system a bit differently, can you provide specifics as to what happens exactly? the propeller_moi is a calculated value based on the physical parameters of the actual 4 bladed hartzell props we use. the prop_tc is an inferred value of how many seconds/degree the prop changes 1 degree of pitch.

Try changing one value at a time and let me know of the results, screenshots or video help a lot.

thanks

Link to comment
Share on other sites

Hi,

If I power up for takeoff, the plane starts to roll, when you reach a speed of about 40 knots, the plane starts to break-out to one side (typically to the right side) and is completely uncontrollable. No chance to correct it with the rudder. Of course all the settings (torque, rpm, etc.) are within the limits at that time. If you have luck and you are able to take-off without damaging the plane, it swings from left to right. When you reduce to normal climb power or cruise power later, it's getting better but you are not able to get a stable flight. Also landing with these settings are nearly impossible when you are near the ground.

All these phenomenons I get without any weather influence. If I add wind or something, it's most of the time unpossible to takeoff.

I will change these settings seperately and will report back. From tzhe description in the post I thought, they are in some way related to each other.

From your guide, how you takeoff, climb and cruise in another thread I have learned a lot more about this nice bird and the techniques how to fly it. Really great help.

Rgds

Reinhard

Link to comment
Share on other sites

I'd love to be able to do these changes but, i can't even open or find the aircraft file manager.And i'm with Dieter about having the changes ready for use .These days i don't fly to many aircraft but i really do like this one and cleaned out all my freeware -they just don't compare with what the developers are putting out with custom coding.

Link to comment
Share on other sites

DieterK and Louis8m

I would love to toss the files up and have them available for download, however I can not without the authorization of Aerosoft as the contents of the FDE (cfg and air file) and xml files represent the intellectual property (IP) of Aerosoft. I have spoken with them. I would suggest contacting Finn to let him know you want the files.

Sorry everyone my hands are tied from a legal standpoint. It isn't that it can't be released but people who have not paid for the product would be able to duplicate the operation of the aircraft with the completed files I would need to release. I am allowed to release the specific snippets of code I generated as they are not the IP of Aerosoft. I know it sounds a bit like legalese and before anything comes up, Finn and Aerosoft have in no way tried to put a gag order or employed any method of coercion to keep me from publishing the files. I asked if I could and they said they would talk about it. How long that takes is totally up to them.

Trust me when I say, "Stay tuned" :D

To download AAM v2.2 http://www.difusco.de/ootb/AAMV22.zip

Link to comment
Share on other sites

Hi Capt Crash,

I changed now the two values seperately. It's the "propeller_moi" value which behaves different than in FSX. By setting the value proposed the plane gets uncontrollable during the takeoff roll when reaching more than about 40 kn. Then the plane breaks out to the right and even with max rudder you can't keep the plane on track. The other value had no influence on the flight dynamics for me.

I had updated to the latest version of your settings before my tests. I tested without wind and with wind influence. As long as I kept the original value for "propeller_moi" the plane reacted as expected. Thanks for the nice improvements.

One question about the settings for other types: Which of these changes can be transferred also to the amphibian or float version? The changes in the XML gauges are in anyway automatically available as these files are shared. And I assume, that the engine related parameters can be used there too - correct?

Rgds

Reinhard

Link to comment
Share on other sites

Today I got the go-ahed from Mathijs to allow Capt. Crash to upload his files in this forum.

The files must not be uploaded anywhere else, because the files infact are the properties of Aerosoft and distribution of such files normally violates the EULA (End User Legal Agreement).

I have asked Capt Crash to post the files in a new thread inorder to keep that clean. I will then pin his thread to the top of this forum.

DO NOTE !!!!

Those files will be regarded as 3rd party "Alternative" FDE files for which Aerosoft will not give any kind of support.

We have in no way used any resources to test whether this alternative FDE is more accurate than the default ones or what other impact the files will have on Your installment.

Should customers who use these files regret they installed them, the best (and most probably only) soulition is a complete re-install of the Twin Otter + Hotfixes, where it is up to the customer to ensure that any remaining files er removed before re-install.

Apart from the above statement I wish on behalf of Aersoft to thank Capt. Crash for his contribution.

Finn

Link to comment
Share on other sites

Finn,

Great approach. Thanks! Maybe you work together with Capt Crash and include some of the improvements in future hotfixes ;-)

Rgds

Reinhard

Link to comment
Share on other sites

Finn,

Great approach. Thanks! Maybe you work together with Capt Crash and include some of the improvements in future hotfixes ;-)

Rgds

Reinhard

I will be happy to support Capt. Crash in his efforts, but since the Twin Otter Extended now is 1½ years old, additional features or enhancements are not scheduled for the time being.

The Beta testers group has alos moved on, so testing will not be executet on changes.

Therefore will Capt. Crash's changes be "Alternative" 3rd party only, with no official support from Aerosoft.

At some point we simply must move on.

The lates hotfixes has been done by me because they where easy fixes and I found they where worth doing.

I hope the community have a understanding for this.

Finn

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy & Terms of Use