This post is a summary of what is going on with the X-Plane 10 starters. I am working on a more comprehensive X-Plane 10 aircraft update check-list that will include starters.
How the Starters Used to Work
In X-Plane 9.70 and 10.05r1, the starter motor applies a constant torque to the engine to increase its RPM. As you motor the starter without adding fuel and spark, the engine’s drag will increase (due to its higher RPM – pretty much all engines move air when turned and thus have higher drag at higher RPM) and eventually you’ll hit an equilibrium: the torque of the starter exactly matches the drag of the engine and you sit there at a constant RPM. This RPM can be quite high because the starter motor can deliver its torque at any RPM.
The torque of the starter is decided by X-Plane using a formula known only to Austin and a few highly trained monkeys that have secure access to the X-Plane source code. The starter “ratio” you set in Plane-Maker is a scaling factor on that ratio. A scaling factor of 2.0 doubles the torque, and a scaling factor of 0.5 halves it.
Note that the default torque (1.0 scaling factor) varies by engine type and engine size! The justification by this is that if you don’t want to have to deal with starters, you set the starter ratio to 1.0 and X-Plane’s “natural” choice is strong enough to start your engine. In practice, the default torque is surprisingly high for jet engines, but at least they start!
How the Starters Work in X-Plane 10.10 Beta 11
Pay no attention to X-Plane 10.10 beta 11 – the changes for RC1 are quite significant.
How the Starters Work in x-plane 10.10 rc1 (coming soon!)
X-Plane 10.10 rc1 is also a torque-based model, with the starter putting out constant torque. There are two key changes:
- The torque is expressed as a ratio of maximum engine torque, not a ratio of an arbitrary default torque. This change the numbering scheme! When you open your aircraft in 10.10 you’ll see the new numbering scheme. For example, the default torque in X-Plane 9 for a jet engine was 50% of engine max torque (see above that jets started really fast), so if you set a starter ratio of 0.6, the net result was 30% of max engine torque. In X-plane 10.10 you will just see 0.3. In other words, what used to be a ‘secret scaling factor’ is now baked in to your starter value.
- The starter now has a maximum design RPM; past this RPM its torque will fall off – very very quickly for electric starters, less so for bleed-air starters. The default will be 100% of engine RPM, so for old planes the starter will continue to motor up to equilibrium. You can turn this number down to model the real world: real starters generally can’t put out their maximum torque up to really high RPMs.
For piston engines with electric starters, I recommend setting the maximum RPM very low and the torque fairly high; a real electric starter for a piston engine is going to put out a ton of torque to get your engine to turn over, but it just can’t run that fast.
For turbines, make sure your design RPM is well above your fuel introduction point. From what a number of people have told me, the starter can often be motored quite a bit past the fuel introduction point.
The net of all of this is: no change from 10.05 for existing aircraft, but the potential to fix a number of weird starter behaviors in 10.10 by limiting RPM. (One advantage of the RPM limit is that you can increase the starter torque without getting an absurdly high terminal RPM.)
So then this sound great, but is the ratio also an editable dataref i can change via plugin on the fly? Would be great to add in a simulation of bleed air pressure, and such which would have an effect on starting power… 🙂
It is editable, yes.
Yes! Bleed switches and any electrical load, ice, battery temperature, which may have had a cold soak unless it’s just been warmed by some load, etc., etc., one could go on forever filling sim holes. And the result is so much more interesting that it begs a question I won’t ask. Well, at least, I no longer have to worry about how to ‘fix’ the startling accelerations I’ve been getting before this release. One down, a thousand more to go.
I refuse to believe in 1000 bugs that have not been filed.
More like custom behaviors than bugs, I should’ve said. For example, every start on an LJ23 looks like a hot start to the uninitiated; or cutting fuel recirculation too soon after killing the engine gets the temp needles going the wrong way. Or how about having to listen to the pumps spin up as part of the test procedures. I make sound… what, 200? Thank goodness for sasl!
Nice job on the starters and the video.
Wait – bugs are now custom behaviors? In that case, why am I fixing them? 😉 😉
Seriously though, our goal is _not_ to provide completely accurate custom simulation of every airplane ever built. I’ve mused on this before that there are limits to the systems modeling native to X-Plane. In some cases we have ideas to make the flexibility of the systems model better, and in some ideas we consider some of the requests to be “out of scope”.
Now, any way i can persuade you to add in a dataref for base bus loads for each of the buses? Something i can change on the fly, cause right now id just love to somehow simulate the 300 amperes drain the APU starter puts on the electrical system.
Thanks.
RC is not “Request for changes!” Maybe someday…but 10.10 has left the station. Also, there are other esys bugs I found late in the game that are beyond the scope of fixing in 10.10 that would limit how much a plugin can do.
In 10.10 you get two new toys:
1. the bus load dataref is actually not wrong when read (not sure how useful this is) and
2. you have control over the battery charge (read and write).
This second one is interesting if you want to build a totally separate esys sim and integrate it with x-plane. You “slave” x-plane to your sim by:
1. Running the airplane off the battery(s) all the time – one battery per x-plane bus.
2. Charge the battery when you want the bus charged, and nuke it to zero when you want the bus off.
You now have x-plane “listening” to your esys.
I assume this is Austin logged in as Ben.
Uh, it was not!
Or is this Austin logged in as r_lynton??
Sorry Ben, I thought you focussed on scenery, and Austin did aircraft and flight modelling… but I forgot you do the SDK and XSquawkbox which covers aircraft too!
99% of the time I do – the starters were a bit off topic for my normal work.
Not only am I going to go try this new method in 10.10, but I’m going to apply the old torque rule to my 9.7 aircraft. All this time and I never knew how the starter power was measured inside XP. Thanks!
I understand you guys are all real world pilots as well as programmers but from a laymans perspective am I wrong in assuming that each airplane starter for each model of airplane would have a “fixed” setting for torque and such. I’m not understanding why you would have a setting to change torque ratio manually
I am not a pilot! Austin, Chris and Randy are though.
The setting defines the torque of the starter for a specific airplane, because different planes have different motors. There is no user preference to change the starter in x-plane itself.
Hi Ben, the refinements to the starter model are really welcome, thanks for the good job.
My question now is: what about simulating typical startup procedures for fuel-injected piston engines? The real thing is a little bit tricky because you ave to pay attention to execute the right sequence (pump on, mixture rich until fuel flow positive, then cutoff and let’s hope you haven’t flooded the engine). FSX in my opinion was an epic fail in this respect, because setting the mixture full rich was enough to let the engine start, no matter whether it was fuel-injected or not…