










 |
Pressurization Panel
By Pim van Vrijaldenhoven
Introduction
Some years ago I designed a
pressurization panel built on a Phidgets LED-64 card and two Phidgets Encoders.
This was an expensive and tedious solution because of the all the wires that
needed to be connected to the Phidgets LED-64 card. Also, I had to make
some shortcuts, because there are not enough outputs to drive 10 digits.
Since then I have discovered that
by using a micro controller one can do almost anything. Micro controllers
come in all kind of varieties. In order to make it manageable I selected
one that has all kind of facilities built-in and is easy to deploy. I
found the MBED, see http://mbed.org/ which has a
32-bit embedded microprocessor.
| Hardware
By designing a printed
circuit board with two 5-digit displays and two rotary encoders I was
able to connect everything effortlessly. The following components are
used:
|
Number |
Component |
| 2 |
Rotary Encoder
EC11B08, 15 pulse, 30 detent |
| 10 |
Kingsbright
SC36-11YWA, 9 mm single digit yellow, common cathode |
| 1 |
74LS145
|
| 7 |
Resistor 18 Ohm |
| 1 |
MBED NXP LPC1768
|
| 1 |
Printed Circuit
Board, see note below* |
The MBED micro controller
connects via an USB bus to a PC. It also also gets its power from
the USB bus, so no external power supply is needed. Commands are
exchanged via a virtual COM Port. You can
download the latest Windows driver here. After installing
this, your PC will see a new COM Port.
Note: The baud rate is
fixed at 38400.
Software
The panel supports the
following commands:
|
Command |
Response |
Action |
Comment |
|
LA |
LAxxxxx<cr><lf> |
Get the set Landing Altitude |
Range -1000 to 42000, step size 500 |
|
FA |
FAxxxxx<cr><lf> |
Get the set Flight Altitude |
Range -1000 to 14000, step size 50 |
|
BL |
OK<cr><lf> |
Blank the display |
FA and LA are not affected |
|
CL |
OK<cr><lf> |
Clear |
Clears blanking, test and fail modes |
|
FL |
OK<cr><lf> |
Fail |
Both displays show dashes, LA and FA are reset to default values
(LA = 100, FA = 24000) |
|
TE |
OK<cr><lf> |
Test |
Sets all segments on the displays |
|
|
LAxxxxx<cr><lf> |
Turning the Landing Altitude knob |
String sent to PC without a command |
|
|
FAxxxx<cr><lf> |
Turning the Flight Altitude knob |
String sent to PC without a command |
Firmware
The latest version of the
firmware can be downloaded here! Since the MBED acts as a USB
memory device, simply place the downloaded file in the device and
recycle the power. From then on the new firmware will be
automatically started.
Flightsim Support
For most simulation software
the pressure panel is just eye-candy.
Prosim737 fully supports this panel
and controls the cabin pressure by using the values set on
the panel. For example, if you start the descent before the set
flight altitude is reached, the "Off Schedule Descent" annunciator
lights up and you have to follow the procedure as described in the QRH
section 2.10.
*The Aviation Megastore has a number of
PCBs in stock. Contact
julian@aviationmegastore.com for more information. They carry
the revised board that allows different positions for the encoders.
All the panels that I have seen (FlyEngravity, OC, Poldragonet and FDS)
have the holes for the encoders in different places. |
 |
The Phidgets Solution
The Hardware
| Although it's only eye-candy I
didn't like the two dark display windows for FLTALT and LANDALT and
looked for a way to make them work. I couldn't find anything on the
market so I decided to build it myself. Since I had a good
experience with Phidgets for the AC/DC panel I looked what they had to
offer. I wound up buying one PhidgetLED-64 board and two PhidgetEncoders.
Then I needed to buy ten 7-segment LED displays and piece of
experimenters board to put it all together.
Ten 7-segments display would require 70 outputs and the PhidgetLED-64
board has only 64 outputs. However, the last 2 digits are always
either 0 or blank, so 4 outputs suffice instead of 28. Therefore,
we only need 2 * 3 * 7 + 4 = 46 outputs. This leaves us with 18
outputs that we can
use for other purposes. Because the Phidgets board allows the
brightness of each of its output to be controlled, driving six segments
in parallel from one output poses no difference in appearance.
The 7-segment LEDs that I used are of
the common anode type, yellow with a 7.5 mm wide package. I am
using Sharlight Electronics type CM1-0362UY00.
Don't forget to connect
the common anodes of the 7-segments. You only have to connect one
wire per digit, because they are interconnected on the Phidgets card.
|
 |
| Connection diagram
The seven segments are by convention named `a` through
`g`. The table below shows how they are connected to the Phidgets
board.
|
Digit |
Output |
FLTALT |
Output |
LANDALT |
 |
|
5 |
10 |
a,b,c,d,e,f |
11 |
a,b,c,d,e,f |
|
4 |
12 |
a,b,c,d,e,f |
13 |
a,b,c,d,e,f |
|
3 |
14 |
a |
15 |
a |
|
3 |
16 |
b |
17 |
b |
|
3 |
18 |
c |
19 |
c |
|
3 |
20 |
d |
21 |
d |
|
3 |
22 |
e |
23 |
e |
|
3 |
24 |
f |
25 |
f |
|
3 |
26 |
g |
27 |
g |
|
2 |
28 |
a |
29 |
a |
|
2 |
30 |
b |
31 |
b |
|
2 |
32 |
c |
33 |
c |
|
2 |
34 |
d |
35 |
d |
|
2 |
36 |
e |
37 |
e |
|
2 |
38 |
f |
39 |
f |
|
2 |
40 |
g |
41 |
g |
|
1 |
42 |
a |
43 |
a |
|
1 |
44 |
b |
45 |
b |
|
1 |
46 |
c |
47 |
c |
|
1 |
48 |
d |
49 |
d |
|
1 |
50 |
e |
51 |
e |
|
1 |
52 |
f |
53 |
f |
|
1 |
54 |
g |
55 |
g |
|

Board with the two displays and the two encoders |
The Phidgets LED64 board has for each for its outputs two wires (red and
black). Since they are grouped into two banks (even and odd output numbers)
each bank has all its red wires interconnected. This means that only one of the
red wires need to be connected to each of the 7-segment displays, obviously to the
common anode pin. I just cut them right at the connector - this saves a lot of clutter.
The black wire goes to the appropriate pin(s) as shown in the table above.
Because the board hides any
general backlighting, you can place 4 LEDs on the board to illuminate AUTO,
FLT ALT and LAND ALT. Connect these LEDs to outputs 62 and 63.
The software will control these outputs. |
| The Software
Because I already had written the software for the
AC-DC panel, I integrated the two.
The software reads the values via FSUICP from pmSystems and displays
them. It removes leading zero's and blanks the displays if no
power is available.
Getting the encoders to work was more tricky.
First I tried to update the FAKNOB and LAKNOB values, but that proved to
be too slow. Now the encoders manipulate the FLTALT and LANDALT
directly. The software also takes care of minimum and maximum
values in accordance to what pmSystems does.
Because we use two encoders we have to tell the
Phidgets driver what their hardware serial numbers are. Rather then
hard-coding this, they are contained in an XML file which is read when
the software is started. If you want to use this software modify
the XML file with your serial numbers.
Because some people use
already LED64 boards directly from pmSystems, the serial number for this
board must be supplied in the XML file.
For
more information about the software see the panel
software page.
If you have any questions or remarks please send me an e-mail at:
pvrijald@planet.nl.
|
|