© Copyright 2010-2015 Michel Poulin

 

Last Update: March 17, 2013

 

 

Switch to page no: 1  2  3  4  5  6  7  8

 

Back to Index

 

Real Cockpit for Home Flight Simulation

 

My generic cockpit supporting most FSX simulated aircrafts

 

Description : Description : https://lh5.googleusercontent.com/-x5aOsfUhWsQ/UUX-M2b3jBI/AAAAAAAAA3E/vbkFjSO9fOg/s1358/Cockpit.JPG

 

Slideshow of my cockpit under construction (Updated March 17, 2013)

 

 

 

The cockpit structure holding LCD displays and switch panels is mounted with 5/8” by 5/8” (1.5875 cm x 1.5875 cm) studs made of plywood. Panels are made of standard 0.1875 inch thick hardboard. The finish is a plasticized laser printed sheet. Panel layout was designed using Microsoft Visio.

Click on the structure below to see a 3D animation.

 

https://lh5.googleusercontent.com/-7IOK9o54tFY/UEJBh_cTPZI/AAAAAAAAAnw/Odv90fgOz_g/s640/Cockpit%2520Structure.jpg

 

All switch panels information is read with this Arduino MEGA microcontroller. My Arduino’s software periodically scans and debounces all inputs to trigger any valued input change.  When an input state change is detected, the pin number followed by its logical state or analog position is sent through the USB port.  The host PC windows software (See WEB Page 2) interprets the data received from Arduino and sends corresponding command keys to FSX application. Analog value can also be sent to support elevator trim wheel position.

 

(Arduino WEB Site)

 

Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : Description : https://lh4.googleusercontent.com/-rjjZoWRUCfQ/UD6uNu-r5eI/AAAAAAAAAXk/QPOkd2UBQX8/s288/Arduino.png

 

All switches and controls are grouped on six different switch panels and monitored with only one Arduino Mega 2560.

 

Auto Pilot & Radio Panel

Description : Description : Description : Description : Description : Description : https://lh3.googleusercontent.com/-Sm7HvnGvzLY/UEwBd9QP5II/AAAAAAAAAho/DaLoW7WM_P0/s288/Auto%2520Pilot%2520Panel.jpg

Power Switch Panel

Description : Description : Description : Description : Description : Description : https://lh4.googleusercontent.com/-XweN_uEYW-E/UEwBMxgwDtI/AAAAAAAAAhQ/rb_1bcnh54k/s288/Power%2520Panel.jpg

 

Simulator Control Panel

Description : Description : Description : Description : Description : Description : https://lh3.googleusercontent.com/-H2g6rIiMvn4/UEwBT2orLCI/AAAAAAAAAhY/U2LvivjIpc0/s288/Simulator%2520Panel.jpg

Trim Control Panel & Park Brake

Description : Description : Description : Description : Description : Description : https://lh5.googleusercontent.com/-LI1_4NcpTxc/UEwBYtQS55I/AAAAAAAAAhg/100aeiUt4Eg/s288/Trim%2520Panel.jpg

 

Fuel Control Panel

Description : Description : Description : Description : Description : Description : https://lh5.googleusercontent.com/-kR74WF2VKUU/UEwBFs1WXiI/AAAAAAAAAhI/g2feIXmXYyk/s288/Fuel%2520Panel.jpg

Engine & Actuators Control Panel

Description : Description : Description : Description : Description : Description : https://lh6.googleusercontent.com/-T30Q1Qyxpy0/UUPtt8EDS7I/AAAAAAAAAvc/44H5WyD92lM/s970/Commands+Panel.jpg

 

46 digital inputs out of 54 and 15 analog inputs out of 16 Arduino available inputs (total 61 out of 70 available inputs) are used to control 55 FSX bi-states variables and 29 FSX numerical parameters values.

This optimization (61 inputs to control 84 FSX’s variables) is performed by using analog selectors.  As an example, 12 numeric parameters can be adjusted with the use of one digital and two analog inputs;  1 analog selector provides six different voltage levels according to its position, each selector’s position focus on a group of 2 parameters,  one toggle switch connected to digital input is used to bind one of the two parameters selected, a double throw switch (SPDT) with neutral position connected to second analog input is used for the Up and Down adjustment of the parameter selected.  This method was used for the Auto Pilot panel as well as Radio panel.  Magneto selector, Flaps position, 3 Trims and Fuel selector are using analog input as well to optimize the amount of simulated variables.

The below illustration explains how the analog switches are configured for the 6 position selectors and 3 positions SPDT switches. Note that for both configurations, the cursor C is connected to the middle of the resistors divider as well as the analog input. The objective is to maintain impedance and voltage to the analog input during cursor’s position transition in order to minimize random input value while cursor is moving or when it is located shortly between two positions.

While the cursor of the SPDT switch is maintained to position 1 or 2 for a predetermined period, the Arduino software auto repeats the pin state to USB and increase the speed in two levels as the time elapse.  This feature is useful for the 3 Trims, Sim Rate and AP & Radio Up/Down Adjustment.

 

Analog Selector & SPDT Configuration

 

Description : Description : Description : Description : https://lh3.googleusercontent.com/-uJxPfHKwSzc/UEwBlAjqLmI/AAAAAAAAAhw/1KmekL7uuNk/s640/Analog%2520Switch.jpg

 

Simulator Platform Animation

This animation shows the cockpit structure and some cockpit element mounted on the top motion platform.

Click on the image below to see a 3D animation

https://lh4.googleusercontent.com/-J0Iirv7JucI/UEBHNa7iZEI/AAAAAAAAAbY/BRuDqk0qp04/s640/Cockpit%2520animated.jpg

 

 

10 TURNS ELEVATOR TRIM WHEEL for Free

 

Do not throught away or trash your old appliances if you want to build cheap simulator accessories.  They incorporate free parts such as springs, gears, bushings, bearings, motors and more parts usefull for mechanical and electrical DIY home build devices.  I used an old Oster Mixer, defective Magnetoscope and spare parts to build a free Elavator Trim Wheel and free Landing Gear Handle.

This old Oster Mixer is equiped with a lazy suzan (6 inches turn table). I used the whole turn table to produce my Elevator Trim Wheel.  The turn table is made of two parallel plastic disks with internal ball bearing ring.  I fixed the thin disk on my side panel box with the unused Velcro that was provided with my Saitek Rudder Pedals. The tick and larger disk is fixed with a 0.25 inches threaded rod that I had.  Two gears coming from a defective magnetoscope are used. One mounted on the threaded rode and secured with common hardware.  The second on a multiturns potentiometer (10 turns).  I used a spare potentiometer that I have used for my motion platform actuators.

 

https://lh3.googleusercontent.com/-woOprH9DbNU/UUS8_-gLOLI/AAAAAAAAAww/syF4XzV49oc/s800/oster%2520mixer.jpg

 

Parts List

1x Lasy Susan (from scrap mixer)  (FREE)

8 inches Velcro from Saitek (FREE)

12 inches Threaded Rod, 0.25 inch (FREE EXTRA)

2x Gears (1 in. OD. x 0.25 in. hole) (FREE)

4x ¼ in.  Washer (FREE EXTRA)

4x ¼ in.  Lock Washer (FREE EXTRA)

4x ¼ in.  Nut (FREE EXTRA)

1x 10 KOhms, 10 turns potentiometer (SPARE PART)

 

The potentiometer is feed from the existing Arduino Mega 5 Volts,  the potentiometer returns the trim voltage to one of my Arduino Analog input.  The elevator trim wheel signal is 10 bits coded by the Arduino (0 to 1023) and filters out before sending the data to the USB port.

 

My Motion Platform Software uses the FSX Simconnect.dll interface to set the aircraft elevator trim parameter.  This was implemented by adding only few code lines to my existing software.  See partial extract of the C# code used below:

 

https://lh5.googleusercontent.com/-Oun7FrsjuW0/UUU-DOI30EI/AAAAAAAAA4c/A1MSCcipHrI/s400/Elevator%2520Trim.JPG

 

_______________________________________________________________________________________________

uint Trim_Wheel;

double Cockpit_Analog_Cmd;

 .

 .

// Set up EVENT handling for Elevator Trim Wheel position.

simconnect.MapClientEventToSimEvent(EVENTS.EVENT_ELEVTRIM_UPset, "ELEVATOR_TRIM_SET");

simconnect.MapClientEventToSimEvent(EVENTS.EVENT_ELEVTRIM_DNset, "AXIS_ELEV_TRIM_SET");

.

.

// Elevator Trim position

simconnect.AddToDataDefinition(DEFINITIONS.Struct1, "Elevator Trim PCT", "Percent", SIMCONNECT_DATATYPE.INT32, 0.0f, SimConnect.SIMCONNECT_UNUSED);                 

.

.

if (Cockpit_Analog_Cmd >= 512)

{

Trim_Wheel = Convert.ToUInt32(Cockpit_Analog_Cmd - 512) * (16383 / 511);

try{simconnect.TransmitClientEvent(SimConnect.SIMCONNECT_OBJECT_ID_USER, EVENTS.EVENT_ELEVTRIM_DNset, Trim_Wheel, hSimconnect.group1, SIMCONNECT_EVENT_FLAG.GROUPID_IS_PRIORITY); }

catch { };

}

else if (Cockpit_Analog_Cmd < 512)

{

Trim_Wheel = Convert.ToUInt32(Math.Abs(16383 * (Cockpit_Analog_Cmd - 511) / 511));

try{simconnect.TransmitClientEvent(SimConnect.SIMCONNECT_OBJECT_ID_USER, EVENTS.EVENT_ELEVTRIM_UPset, Trim_Wheel, hSimconnect.group1, SIMCONNECT_EVENT_FLAG.GROUPID_IS_PRIORITY); }

catch { };

} 

_______________________________________________________________________________________________

 

 

https://lh6.googleusercontent.com/-zNbNTWwJVtA/UUU-I6c5mrI/AAAAAAAAA1k/L4tHDOVKmR8/s400/Front%2520Trim.JPG

 

LANDING GEAR for almost Free

Parts List

1x 1-1/2 inch General Duty Rigid Casters for the handle  ($1.80 from Home Depot)

2x PC Empty Expansion Slot Cover Plate back to back for lever arm (FREE)

1x Micro Switch (SPARE PART)

1x Bearing Assembly from scrap Magnetoscope for pivot point (FREE)

1x Spring from scrap Magnetoscope (FREE)

Mounting Hardware (FREE EXTRA)

 

 

 

 

 

https://lh6.googleusercontent.com/-rzKrNyqVmxo/UUU-lairIRI/AAAAAAAAA1k/O09G85dGceE/s400/Side%2520trim%2520Wheel.JPG

Home

 

 

Back

 

 

Next

 

 
Titre : Next - Description : Next

https://lh4.googleusercontent.com/-Uyovn16nXRc/UUYlZs_LIII/AAAAAAAAA4U/ol6Wvz9jXeU/s800/Wheel_Casters.jpg

 

 

https://lh5.googleusercontent.com/-N2G9U5vCgEc/UUS8-S77I5I/AAAAAAAAAwI/x6Z4ax1pKGw/s800/PC%2520Cards%2520Bracket.jpg