Having sliced and diced and 3D-printed the 3D Model of the 737 Throttle Quadrant (originally designed by jamang1999 on Thingiverse), I started work on the mechanics, targetting the Flap Lever first.
The Flap Lever on the 737 has a number of fixed positions, corresponding with flaps 0, 2, 5, 10, 15, 25, 30 and 40. The flap lever can sit in these specific positions, and needs to be lifted upwards when you want to change flap positions. To achieve this, a special gate controls where the flap lever may positioned.
At flap positions 15 and 2 there are also upper gates, which prevent the flap lever from being moved directly from one end to the other -- you have to stop and lower the lever at this specific points. The model I printed comes with the flap position gate integrated into it, so all I had to do was design the lever mechanism.
If you look at the picture above, the flap lever mechanism sits "under" the flap position gate, and the lever itself comes up through the side before going upwards. If you study the model by jamang1999, there is a hole for the flap lever to exit the throttle quadrant housing. This is where I hit my first problem -- you will notice the hole does not extend beyond flap position 25!
So I had to make some corrections to the model to extend the hole. I'm only familiar with TinkerCAD, but managed to create a hole in the shape of an arc and position it onto the model. Unfortunately, it wasn't just a matter of reprinting the affected slices, as I'd already super-glued a couple of slices together. So I have a few slices to re-print. Moral of the story: leave unnecessary glueing to the very end.
Next I had to model the lever. From some design documents online I found that the total height of the lever is around 11cm from the base next to the hole. However, it bends away from the center of the quadrant. I couldn't figure out how to do this in TinkerCAD, so I drew it in Inkscape in 2D and extruded it into 3D in TinkerCAD. I threw a "hole" block over it at an angle so the lever tapers to a smaller size towards the handle.
I attached a small nub to the side of the lever that will fit into the slots on the flap position gate.
The other end of the flap needs to be attached to a central axis where it can rotate around. However, the top end of the lever needs to be able to move up and down. I solved this by splitting the lever into two, with a top end that fits inside a bottom end that rotates around the axis.
To make the lever want to naturally fall into the grooves on the gate, I used rubber bands between the top part and bottom part of the levers. This will be replaced in the future with longer-lasting springs.
With the lever mechanism working, I now turned to reading the flap position. The proper way to do this would be to have switches that activate whenever the lever is in a particular flap position. This would require a number of inputs so I went with an alternative approach -- I decided to detect the position of the lever via an analogue input instead, using a potentiometer as a voltage divider.
In this configuration, I connect GND and voltage to either end of the potentiometer, and sense the voltage at the wiper position. Depending on the position of the wiper, it will reflect a fraction of the full voltage. Thus from the voltage measured we can determine the position of the wiper.
Rotating Potentiometers are typically connected to levers via gears, so that when the levers move the gears rotate the wiper shaft on the potentiometer. I found however it was a lot more convenient to use a sliding potentiometer instead, as I could extend the lever beyond the central axis and have it drive the sliding potentiometer directly.
A Sliding Potentiometer
For this to work, I would need to position the sliding below the throttle quadrant itself. How much lower the sliding potentiometer sits is determined by the angle through which the lever rotates. For the Throttle Lever, which has around 90 degrees of rotation, to get the maximum span of the sliding potentiometer it needs to be placed about an inch below the rotational axis, or just below the Throttle Quadrant body.
I 3D printed a mounting bracket for the sliding potentiometer, determined the best place for it to be, and super-glued the bracket into place. Given that it seems likely I will need to put electronics below the throttle quadrant for other things as well, I printed out a set of stands so that I could raise each slice during testing. Later I will have to build a base enclosure for the Throttle Quadrant body.
Here's what the sensing mechanism looks like:
To test the design, I connected a 5V supply to the GND and +VE points on the sliding potentiometer. I then connected a multimeter (set to measure voltage) to the GND and Wiper points. Here it is in action:
As you can see from the video, each flap position reports a specific voltage. By reading the voltage into a Raspberry Pi + Analog to Digital Converter and comparing them to expected values (+/- some percentage), I can determine which flap position the lever is in, and signal it to the Flight Simulator.
STLs for the lever can be found together with my slices for the throttle body at http://home.abubakar.net/gitpub/?p=737_Throttle_Quadrant_Sliced;a=tree. The sources for the flap lever are at https://www.tinkercad.com/things/08lAOeTHLNX-737tq-throttle-lever.