-
-
Notifications
You must be signed in to change notification settings - Fork 106
Configuring PMDG 737 Parking Brake Lever Auto Release with a Servo in Mobiflight
The PMDG 737 parking brakes require the pilot to fully press the foot pedal brakes and pull the lever in order to engage the brakes. To disengage, the pilot just has to fully press one or both of the pedals and the hand lever is automatically released. A servo motor can be used to release the lever mechanism. This short tutorial objective is to only show how to configure Mobiflight to send the command to activate a servo motor and a short time later, rearm the servo to reset the lever operation.
We shall not cover in this tutorial how to connect a mini servo motor to an Arduino board other than to show the following self explanatory image. If necessary, please refer to other tutorials that explain this in more detail. No attempt is made to explain the mechanics of how the servo might be used to unlatch or disengage the parking brake lever. It is assumed the servo can immediately disengage the lever and then move back to rearm, leaving the lever disengaged.
BASIC APPROACH
The parking brake lever needs to be pulled with the pedal brakes fully engaged, in order to engage the parking brakes. This can be achieved easy enough by just configuring the standard event for Parking Brake on. However, the lever is not actually pushed to disengage the brakes, but rather the brake pedals must be fully depressed and the lever is automatically released. When this happens, the servo motor must unlatch momentarily the lever to allow it to disengage the parking brakes, but otherwise allow the parking brake lever to again engage the parking brakes, if the pilot so requires.
To achieve this, when the parking brakes are disengaged in the sim, that event will trigger the servo to move and unlatch the lever. After this is completed, a five second timer is setup to move the servo back to the original "Armed" position to reset it and be ready for the next operation.
PROCEDURE
This example uses RPN code in a Mobiflight output config to monitor the status of the parking brake lever, set up a timer and to set the Lvar that controls the servo position. The same effect can be achieved using the Mobiflight output driven input events, but will not be covered here.
STEP 1
Create an output config for the servo motor position control. A user-defined L: variable will be used: (L:myServo)
The servo min and max values are set to 0 and 100 respectively, but any range can be used.
STEP 2
Create another output config to store the RPN code to be run with every sim cycle.
The code to be input into the preset code window is the following:
(A:BRAKE PARKING POSITION, position) s0 (L:myLastPosition) != if{
l0 (>L:myLastPosition) l0 0 == if{
(L:myTimer) 0 == if{ 100 (>L:myServo)
(E:SIMULATION TIME, second) 5 + (>L:myTimer) } } }
(L:myServo) 100 == if{
(E:SIMULATION TIME,second) (L:myTimer) > if{
0 (>L:myServo) 0 (>L:myTimer) } }
NOTES ON THE CODE
- The A: variable BRAKE PARKING POSITION is monitored for any change in value. It takes values of either 0 (disengaged) or 1 (engaged).
- Only when the value changes from 1 to 0, the servo action is triggered.
- The servo position variable is set to 100 and the two second timer is setup.
- If the L:myServo variable has been set to 100, the time elapsed is monitored for the timer expiration.
- When the five seconds have passed, the servo is moved back and the timer variable is reset.
- All is ready for the next time.
That's it for this tutorial. A similar technique could be used in other controls that have this type of behavior, like for example the airliners turbine start switch auto-return function or the Auto-throttle engage switch auto-off.
- MobiFlight Connector Installation
- Mobiflight Connector BETA version installation
- Modules
- MobiFlight Connector Files Structure
- MobiFlight Connector Uninstall
- Modules Reset to factory default
- Verifying the WASM module installation and locating the MSFS2020 community folder
- Verifying the WASM module installation and locating the MSFS2024 community folder
- Using a Winwing FCU with MobiFlight
- Providing logs from MobiFlight
- MobiFlight Connector How does it work
- Mobiflight Connector Main Window
- Flash module with MobiFlight firmware
- Input and Output devices
- Joysticks
- Midi Boards
- Sim Variables (for Output)
- Input Actions
- Merging configuration files
- Disabling specific COM ports
- Examples Output LEDs
- Examples Input Switch
- Example 7 segment display
- Example Servo motor
- Controlling LEDs with an output shift register
- Adding lots of buttons with an input shift register
- Beginner's guide to input multiplexers
- Key Matrix with standard MobiFlight and Multiplexers
- Tutorial Easy Driver and x.27 or x.40 Stepper Motor
- Tutorial for Airbus VS display via 7-Segment LED Module
- Example Analog Input Potentiometer
- Baron G58 Tutorial Gear, Flaps, Mags, ELT Input Output Programming
- Using Mobiflight to control arduino-based 3rd party panels (RealSimGear GNS530)
- How to use a VNH2SP30 DC motor shield with MobiFlight
- Using 3D printer mainboards
- Playing sounds by sending keystrokes to AutoHotKey
- Using the selector knob on a Honeycomb Bravo
- Using an adjustable 12 position switch as a GA starter
- Brightness of LCD displays with I2C
- Using three-position switches
- Transponder with one Rotary
- Workflow for Creating Flight Simulation Panels ‐ Part 1
- MSFS2020 RPN Tips and Tricks
- MSFS2020 Using the Custom Input Code Box
- MSFS2020 Install WASM module and Event List
- MSFS2020 How to Create and Use User Defined Lvars
- MSFS2020 How to Create a Blinking LED configuration
- MSFS2020 User Defined WASM Module Events Best Practices
- MSFS2020 Developer Mode, Model Behavior dialog and Console window
- MSFS2020 PMDG 737‐700 List of Events that require use of FSUIPC7
- MSFS2020 PMDG 737‐700 Calibrate throttle idle and reverse thrust using interpolation (Valkyrie)
- MSFS2020 PMDG 737-700 Chrono unit functions implemented in Mobiflight
- Configuring PMDG 737 Parking Brake Lever Auto-Release with a Servo in Mobiflight
- Using encoder to drive a value back and forth within a given range
- Adding a custom board to MobiFlight
- User guide - Community Board and Custom Devices
- Developing your own custom devices/boards