Flightsim Home
Configuration
Side Stick
B738

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 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.