If there is a way of simulating Battery Voltage drop on Load, due to its
Internal resistance, it is not evident in the SDK.
If you’re making any sort of complex electrical system, I would definitely
encourage you to make it completely custom (using WASM gauges and your own
variables), so that you have full control over how deep you want to get the
simulation to be, and to make sure it “just works.”
Please, please consider: Rather than just requesting that Asobo simulates
Battery Internal Resistance, and hope that the need is understood and its
simulation figured out, here, very simply, is how to do it, in a way that
WILL NOT AFFECT any previous Simobjects that use a battery. **** Its
literally, adding one indexed A:var , and One line of code in the
"Charge to Voltage code "
========================================================= Currently, Asobo
models the CHARGE that the battery has, (as a % of its Total Capacity), and
then uses a Curve to create an internal Battery Voltage V:index , that is
put into various Battery Voltage A vars All that is needed to to create a new
indexed A:var say : A:ELECTRICAL_BATTERY_RESISTANCE:Index ) and then
modify that internal Battery Voltage V:index value that is put into these
indexed Battery Voltage A: vars to Battery Voltage V:index = _ Battery
Voltage V:index_ - ( A:ELECTRICAL_BATTERY_RESISTANCE:index *
A:ELECTRICAL_BATTERY_LOAD:index) This simple addition with save 1000’s of
lines of Dev Code trying to FAKE the effect of Battery Internal Resistance
on all circuits , and more importantly, not affect any exstiting Simobjects
that use a battery, because the new;y added
A:ELECTRICAL_BATTERY_RESISTANCE:index will default to zero (if not used
and controlled by the dev)
Hello @N6722C This is already in our roadmap. No ETA
yet, keep an eye on SDK release notes. Regards, Sylvain
FANTASTIC !!! Thank you …
Hi Sylvain, (Bold and italic used to help emphasize key words, as one might,
when verbally communicating) A Follow on question, associated with road mapped
Battery Internal Resistance , . and the desire for Correct Alternator
operation and the concept of an Alternator Voltage Regulator. With the
addition of Battery Internal Resistance , and then hopefully the
introduction of a similar A:Var for Alternator Internal Resistance , the
correct Alternator Output Voltage (and hence current), can then be simulated,
with the addition of adding the Alternator Voltage Regulator " Sense "
connection, to a definable bus, and introducing an A:var, for the Voltage
Regulator Set-Point , (A:var so it can be dynamically adjusted, and have the
possibility of failing high or low). (see, for example , Cessna POH Electrical
Diagram)
Alternator Current & Voltage with RPM, should really be “maximum outputs”
for a given rpm, with the actual outputs, within these max limits, and based
on the Battery’s currently external voltage (function of how charged the
battery is – etc etc.)., The end result would be , that starting off with a
fully charged, battery, and starting the engine with the starter motor, the
battery get discharged, and when the alternator is turned on ( assuming no
other load is placed on the electrical system ), the battery should charge
back up, to the Voltage Regulator set-point voltage , with a current that
reduces , and the battery changes up, a nd a current that is not
dependent on the alternator RPM , (provided it is rotating fast enough to
provide the required re-changing current & voltage). Currently, the ammeter
incorrectly shows a high current flowing into the battery, all the time, that
is a function of RPM, and it does not decrease as the battery chages up to a
Voltage Regulator set point. (sure way to overheat and ruin an expensive
Aviation Battery !!) ======== I am hoping your response to thisi will be –
YES - now we are adding Battery Internal Resistance, we will also be adding
Alternator Internal Resistance, and thus allowing the realistic addition and
simulator of the missing "Alternator Voltage Regulator "… This stuff is
really not that complex, and is almost “Trivial” in detail and complexity,
comaipred with the current advances flight modeling !!. =====================
Also, note.(Ref POH Diagram) Currently, in the Asobo C172 , the ammeter is
measuring the Bus current at the battery (Pink) , so it incorrectly includes
then Starter Motor Current. (150+ Amps) It should be measuring the Current on
the Bus AFTER the starter motor (Green), as in the POH
Is “battery Internal Resistance simulation” on the roadmap for SU10 ( or later
) ?
Still no ETA but not SU10 for sure.
Thanks … not sure if that is good news or bad, after spending over a week,
working around it, and simulating the effects of it. So all that work is not
wasted in the short term …, as none of it will be needed, when the battery
resistance is finally there. ALSO — Will the Bug in writing to the Battery
Charge, and the ability to set it from 0 to 100% be fixed in SU10 ??
Hello @N6722C I double checked with the team. This
is still planned but development hasn’t started yet. So still no ETA but
definitely not short term. Regards, Sylvain
Thanks for the update — since it wont be short term,. I don’t feel so bad
about having spent the time to do a custom modeling of this for our plane.
Makes it unique & special !!
Suggestions: when considering “Battery Internal Resistance” (1) Backwards
Compatibility, If battery Internal Restance is set in a .cfg file, (unit
Ohms)< then if it is currently not in a plane’s config file, it defaulst to
zero, and the plane continues to act without change… Please make the battery
Internal Resistance an indexed A:var, (on load, set to that value in the cfg
file) but used from the Indexed A:Var that the plane Dev can both READ and
WRITE to. That way, a Dev can make this Battery Internal Resistance,
dynamically a function of all the things that change this resistance in Real
Life. Ie (1) Battery Temperature (2) Battery Charge (3) Battery Age (4)
Battery Type (5) Battery Current draw Even if Asobo chooses to model Battery
Internal resistance, with all the above Parameters, PLEASE leave the option
open fro the Plane Dev to bypass that Asobo Modeling, and control the Battery
Internal Resistance themselves , with their own simulation and processing of
that final A:Var value. __ Thank you for condescending the above. __
# THANK YOU
Battery Internal Resistance added to MSFS 2024 ![]()
Just watched the Dev stream for 2024 !.. Thank you Sylvain and team
Ref
Hello @N6722C I double checked with the team. This
is still planned but development hasn’t started yet. So still no ETA but
definitely not short term. Regards, Sylvain
Hello @N6722C
Let us know if the new electrical system design introduced with MSFS 2024 matches your expectations
Modular Electrical System Information
Regards,
Sylvain
Hello Sylvan
While I greatly appreciate the work done to the electrical systems in 2024, I do not see any significant sign of the dynamic nature of the battery Internal resistance being modeled.
This resistance is a dynamic value, whose value values in real time, with a multitude of factors, including battery type, temperature, battery charge, battery age, and current battery current draw and TIME.
It was NOT necessarily expected that ASOBO would calculate that resistance under any particular conditions, but rather add the resistance as part of the Battery simulation , as a value that can be altered in real time by the plane developer, to their battery. modeling,and the effects it hason the plane;'s electrical system/
Maybe I am missing something in looking at what has been done,m but to me it looks like 2024 has entirely missed the point and dynamics nature of adding “Battery Internal Resistance” in 2024.
This is disappointing, after waiting all this time, and all the posts I have made about this , t as far as I can see, Battery Internal Resistance is not dynamically being simulated, with programmable control of its value, being controllable by the plane developer.
Its a shame that in 2024, this is still not correctly simulated, and available for ALL plane Devs
On a slightly more selfish positive note, we at Wb-Sim took some considerable time to force/fudge the simulation of Battery Internal Resistance into our plane’s battery s electrical system, so now looking at 2024, all that work did not go to waste, as going forward into 2024, we DO have a realistic dynamic simulation of battery Internal resistance , working in our plane, but it would have been nice that everyone else could have had this as part of the 2024 improvements to their electrical system…
I will watch with interest, as other developers delve into this, and try to make sense of what Asobo has added here, but to me, it seems both overly complex, and does not achieving the expected simulation dynamics.
Hello @N6722C
I apologize for the delay, we were obviously very busy following the launch and didn’t have much time reviewing the feature requests.
I managed to review this topic once again with our designers but they reckon the new design covers this demand, at least partly.
Let’s review what has actually been done and discuss in detail what’s missing then.
So I’m going to sum up their feedback as best as I can, pardon me if there are some technical imprecisions or errors, as this not a field I’m extremely familiar with.
The new battery component implementation computes the output voltage based on voltage discharge curves, which you can find here: Electric System Setup Information
(the values have been tweaked a bit since then, so the documentation will be updated)
There are actually two curves, one for high load, one for low load, and the sampled curve will be interpolated between the two based on current load.
As you can see, the curves also depend on the battery type.
Wear and tear is also taken into account, as it scales down the output voltage overtime.
To illustrate all of this, the electrical debug shows those curves and how they are evaluated in real time, as well as how the voltage drops on high load.
(The “C” values indicate how fast the battery will discharge, 1C means 1 hour, 0.5C means 2 hours, 2C means 30 minutes, etc…)
Here’s a video demonstrating the Da62 startup:
So, unless we are missing something, the temperature is the only criteria you listed that isn’t taken into account in our model.
Now, we acknowledge this does not answer your request to control the resistance value in real-time through a simvar, the main reason being that this is not as straightforward as you pretend it is.
And if we do so for the resistance, there could be a lot of legitimate claims to extend this to other variables and other systems.
So I’d say, although exposing more control on our systems for 3rd party developers is being discussed internally, this is a wider goal with a different timeline.
What would help me plead your case, is having practical examples showing how this design and implementation leads to vastly incorrect battery behavior, or makes a particular behavior impossible to replicate, and how it impacts the quality of the overall simulation.
I also focused on the original request for a “battery voltage drop on load, due to its
Internal resistance”. I still have your alternator issue description in mind, but let’s do it one step at a time for now.
Regards,
Sylvain
Sylvain,
Thank you for the very detailed reply and the time you spent talking to the Asobo devs, and their working in developing what they have done.
To justify that, I will need some time to read,fulling understand, and relate to the approach they have taken.
- I am wondering if any other plane developers are attempting to address the simulation of the characteristics of a Plane Battery, how they have done so in the past, and if these recently added systems, address their needs, and how well it has, if they have adopted this approach.
Personally, when I has addressing this back in early 2024, we looked at a silmilar method of tables tables and options, and deriving a model that tried to represent the EFFECT of battery internal resistance, but came to the conclusion that trying to model the EFFECTS of battery internal resistance, became far to complex and was therefore not the best solution, ( Occam’s Razor.) and it was far better to actually model the actual battery Internal resistance in a battery model, and then (as IRL), everything automatically worked as it does IRL, without having to try to make a complex model to mimic it’s effect.
We did this very successfully in the Wb-sim C172 enhancement Mod, but since we were unable to modify the Plane’s actual battery ( by modeling the resistance in the Asobo simulated battery), we were forced to model a voltage source each High Current draw load, that effectively dropped their Load supply voltage by a modified voltage (we called the Dynamic Battery Terminal Voltage). etc etc etc
Anyway, that was before Asobo added the functionality you describe above, and personally I have not had the opportunity to study that…
So to any Plane Dev, reading this post - have YOU implemented this new Asobo battery modeling, and how well did it meet your needs
(It’s difficult for me to comment on this new system, as I have yet to try it)
My gut feeling is that it may be overly complex, as was our initial findings when we tried to code a similar EFFECT simulation, while actually modeling the IRL battery resistance, and all the things that affect that resistance, them everything functions as it does IRL, with tables and fudge factors.
BTW: If you have ever tried starting a Plane (or car) with an electric started motor, powered off a battery, when it is very Cold, you will realize just how drastically TEMPERATURE will affect the battery’s ability to turn that motor . so yes, TEMPERATURE is a very key parameter to that battery simulation.<
So is the extra load that a cold engine with cold, thick engine oil , has on the starter motor current etc etc, not to mention the resistance of the starter motor as it changes from cold, to what can get very hot with excessive cranking …
Pinging @SimbolFSReborn as I know he’s been delving into electrical systems recently. ![]()
Current electrical implementation in MSFS 2024 is a vast improvement vs 2020, I am really impressed by the system so far.
I am a bit confused, since I believe temperature is affecting the “capacity” of the batteries already in MSFS 2024, perhaps is not affecting the “efficiency” and other parameters? however I adjust this via custom simulations always, where I get feedback from pilots, they show me real world situations and I implement these via custom WASM systems.
For example, when very cold, I make the starters to take longer than usual to spin off engines, etc. but this is very specific from airplane to airplane, big radial engines would be quite different vs FADEC controlled modern jet engines, so, I don’t see how we can just simulate this via the battery parameters alone, what should be adjusted is how starters / engine starts behave.
Regarding the concern on the resistance with values, with the new system, you could create a custom consumer in 2024, link the ResistanceMin and ResistanceMax consumer parameters to curves, and these curves can be driven by temperature simvars, so theoretically you could make what has been described above off the shelf already.
I am more interested in Asobo improving how DC suppliers behave (I need max AMP rated for VDC Generators, and VDC dropping tension with low RPMs), also expanding GPU to be able to use external battery sources, like I posted in other threads, because, aviation is moving forward into ECO friendly setups, Electric battery based GPUs, Electric engines, Electric airplanes, Solar airplane, etc, etc. if we don’t start thinking about it at least now, soon we will be caught in situations where we cannot simulate new aeroplanes solutions coming into the market :wink.
Best,
Raul
Great feedback Raul - exactly what I was hoping for, as I have yet to jump into 2024. Summer is here, and a a Part Timer, I have other interests that take priority over MSFS - but I am encouraged to hear your response and opinions, , and the improvement in 2024, so look forward to jumping into that in the fall.
