1
0
Fork 0

Updated notes on the FG electrical system model.

This commit is contained in:
curt 2005-06-14 17:52:16 +00:00
parent 72eecef8fa
commit 3f8504cda5

View file

@ -4,36 +4,77 @@ Specifying and Configuring and Aircraft Electrical System
Written by Curtis L. Olson <http://www.flightgear.org/~curt> Written by Curtis L. Olson <http://www.flightgear.org/~curt>
February 3, 2003 - Initial revision. February 3, 2003 - Initial revision.
June 14, 2005 - Important update
UPDATE - June 14, 2005
======================
The xml data driven electrical system described in this document has
severe flaws and is (or should be) obsolete. It is still supported
for backwards compatibility, but new electrical systems should not be
modeled with this system. Instead you should make a procedural
electrical system model using nasal, or wait for a better data driven
electrical system model to be developed "some time" in the future.
Currently the old/depricated electrical system has been made into a
proper subsystem. Most aircraft will load the default "systems"
configuration via the "/sim/systems/path" property which is set in the
top level preferences.xml file and which defaults to a value of
"Aircraft/Generic/generic-systems.xml". The generic-systems.xml file
in turn specifies an electrical system based on the old/obsolete
system. The default electrical system configuration file named in
"generic-systems.xml" is "generic-electrical.xml". This mechanism
provides a generic electrical system to any aircraft that doesn't
define their own electrical system. Also note that you can still
specify a path to an "old" xml config file using
"/sim/systems/electrical" in your aircraft-set.xml file. This is
again for backwards compatibility.
What follows here is a description of the "old" "depricated"
"obsolete" electrical system.
Introduction Introduction
============ ============
The FlightGear electrical system model is an approximation. We don't The FlightGear electrical system model is a simplification of reality.
model down to the level of individual electrons, but we do try to We don't model down to the level of individual electrons, but we do
model a rich enough subset of components so that a realistic (from the try to model a rich enough subset of components so that a realistic
pilot's perspective) electrical system may be implemented. We try to electrical system may be implemented (at least from the pilot's
model enough of the general flow so that typical electrical system perspective.) We try to model enough of the general flow so that
failures can be implimented and so that the pilot can practice typical electrical system failures can be implimented and so that the
realistic troubleshooting techniques and learn the basic structure and pilot can practice realistic troubleshooting techniques and learn the
relationships of the real aircraft electrical system. basic structure and relationships of the real aircraft electrical
system.
An electrical system can be built from 4 major components: suppliers, The FlightGear electrical system is essentially a directed graph built
buses, outputs, and connectors. Suppliers are things like batteries of 4 major components: suppliers, buses, outputs, and connectors.
and generators. Buses collect input from multiple suppliers and feed Suppliers are the power sources such as batteries and alternators.
multiple outputs. Outputs are not strictly necessary, but are Buses collect input from multiple suppliers and feed multiple outputs.
included so we can name generic output types and provide a consistent Outputs are not strictly necessary, but are included so we can assign
naming scheme to other FlightGear subsystems. Finally connectors current draws, and name generic output types, as well as provide a
connect a supplier to a bus, or a bus to an output, and optionally can consistent naming scheme to other FlightGear subsystems. Finally
specify a switch property (either a physical switch or a circuit connectors connect a supplier to a bus, or a bus to an output, and
breaker.) optionally can specify a switch property (either a physical switch or
a circuit breaker.)
At run time, the structure specified in the electrical system config At run time, FlightGear parses the electrical system config file and
file is parsed and a directional graph (in the computer science sense) builds a directed graph (in the computer science sense.). Each time
is built. Each frame, the current is propagated through the system, step, the current is propagated forward through the system, starting
starting at the suppliers, flowing through the buses, and finally to at the suppliers, flowing through the buses, and finally to the
the outputs. The system follows the path of connectors laid out in outputs. The system follows the path specified by connectors and
the config file and honors the state of any connector switch. honors the state of any connector switches.
FlightGear uses a depth first recursive decent algorithm to propagate
the current through the system. As the recursive calls complete, the
current draw of the "leaf nodes" can be summed up and back-propagated
through the system. This allows us to compute the total downstream
current draw at each component of the system. This allows us to
discharge the battery based on actual loads, and allows us to build an
accurate functioning ammeter model.
Suppliers Suppliers
@ -164,7 +205,10 @@ Summary
======= =======
The electrical system has a lot of power and flexibility to model a The electrical system has a lot of power and flexibility to model a
variety of electrical systems. However, it is not yet perfect or variety of electrical systems. However, it is hopelessly flawed and
finished. One major weakness is that it doesn't yet model degraded cannot model a lot of more complex electrical behavior needed for the
battery or generator power, and it doesn't model the "charge" of the advanced electrical systems found on larger and more complex aircraft.
batteries in case of a generator failure. Please consider writing a procedural model for your electrical system
in nasal or wait for a better data driven electrical system model to
be developed. If you know something about electrical systems, please
volunteer to write a better data driven model! :-)