]> git.mxchange.org Git - flightgear.git/blob - docs-mini/README.electrical
5c3c409c58767d9ef1af847258e1b46fce98246c
[flightgear.git] / docs-mini / README.electrical
1 Specifying and Configuring and Aircraft Electrical System
2 =========================================================
3
4 Written by Curtis L. Olson <curt@flightgear.org>
5 Started February 3, 2003
6
7
8 Introduction
9 ============
10
11 The FlightGear electrical system model is an approximation.  We don't
12 model down to the level of individual electrons, but we do try to
13 model a rich enough subset of components so that a realistic (from the
14 pilot's perspective) electrical system may be implemented.  We try to
15 model enough of the general flow so that typical electrical system
16 failures can be implimented and so that the pilot can practice
17 realistic troubleshooting techniques and learn the basic structure and
18 relationships of the real aircraft electrical system.
19
20 An electrical system can be built from 4 major components: suppliers,
21 buses, outputs, and connectors.  Suppliers are things like batteries
22 and generators.  Buses collect input from multiple suppliers and feed
23 multiple outputs.  Outputs are not strictly necessary, but are
24 included so we can name generic output types and provide a consistent
25 naming scheme to other FlightGear subsystems.  Finally connectors
26 connect a supplier to a bus, or a bus to an output, and optionally can
27 specify a switch property (either a physical switch or a circuit
28 breaker.)
29
30 At run time, the structure specified in the electrical system config
31 file is parsed and a directional graph (in the computer science sense)
32 is built.  Each frame, the current is propagated through the system,
33 starting at the suppliers, flowing through the buses, and finally to
34 the outputs.  The system follows the path of connectors laid out in
35 the config file and honors the state of any connector switch.
36
37
38 Suppliers
39 =========
40
41 A supplier entry could look like the following:
42
43   <supplier>
44     <name>Battery 1</name>
45     <prop>/systems/electrical/suppliers/battery[0]</prop>
46     <kind>battery</kind>
47     <volts>24</volts>
48     <amps>60</amps>   <!-- WAG -->
49   </supplier>
50
51 <name> can be anything you choose to call this entry.
52 <prop> is the name of a property that will be updated with the state
53        of this supplier.
54 <kind> can be "battery", "alternator", or "external".
55 <volts> specifies the volts of the source
56 <amps> specifies the amps of the source
57
58 Currently <volts> and <amps> are not really modeled in detail.  This
59 is more of a place holder for the future.
60
61
62 Buses
63 =====
64
65 A bus entry could look like the following:
66
67   <bus>
68     <name>Essential/Cross Feed Bus</name>
69     <prop>/systems/electrical/outputs/bus-essential</prop>
70     <prop>/systems/electrical/outputs/annunciators</prop>
71     <prop>/systems/electrical/outputs/master-switch</prop>
72   </bus>
73
74 <name> is whatever you choose to call this bus
75
76 You can have an arbitrary number of <prop> entries.  Each entry is the
77 name of a property that will be updated with the value of the current
78 at that bus.  This allows you to wire devices directly to the bus but
79 does not allow you to insert a switch or circuit breaker in between.
80 See "Outputs" and "Connectors" if you want to do that.
81
82
83 Outputs
84 =======
85
86 An output entry could look like the following:
87
88   <output>
89     <name>Starter 1 Power</name>
90     <prop>/systems/electrical/outputs/starter[0]</prop>
91   </output>
92
93 An output isn't entirely unlike a bus, but it's nice conceptually to
94 have a separate entity type.  This enables us to specify a common set
95 of output property names so that other subsystems can automatically
96 work with any electrical system that follows the same conventions.  An
97 output lives on the other side of a switch, so this is how you can
98 wire in cockpit switches to model things like fuel pump power,
99 avionics master switch, or any other switch on the panel.
100
101 <name> is whatever you choose to call this bus
102
103 You can have an arbitrary number of <prop> entries.  Each entry is the
104 name of a property that will be updated with the value of the current
105 at that bus.  This allows you to wire devices directly to the bus but
106 does not allow you to insert a switch or circuit breaker in between.
107 See "Outputs" and "Connectors" if you want to do that.
108
109 Other FlightGear subsystems can monitor the property name associated
110 with the various outputs to decide how to render an instrument,
111 whether to run the fuel pump, whether to spin a gyro, or any other
112 subsystem that cares about electrical power.
113
114
115 Connectors
116 ==========
117
118 An connector entry could look like the following:
119
120   <connector>
121     <input>Alternator 1</input>
122     <output>Virtual Bus 1</output>
123     <switch>/controls/switches/master-alt</switch>
124   </connector>
125
126 A connector specifies and input, and output, and any number of
127 switches that are wired in series.  In other words, all switches need
128 to be true/on in order for current to get from the input to the output
129 of the connector.
130
131 <input> specifies the <name> of the input.  Typically you would
132 specify a "supplier" or a "bus".
133
134 <output> specifies the <name> of the output.  Typically you would
135 specify a bus or an output.
136
137 You can have an arbitrary number of <switch> entries.  The switches
138 are wired in series so all of them need to be on (i.e. true) in order
139 for current to pass to the output.
140
141
142 Summary
143 =======
144
145 The electrical system has a lot of power and flexibility to model a
146 variety of electrical systems.  However, it is not yet perfect or
147 finished.  One major weakness is that it doesn't yet model degraded
148 battery or generator power, and it doesn't model the "charge" of the
149 batteries in case of a generator failure.