One of the most complex parts of the project is the design of the two 3 axis navballs. The navballs (also know as FDAI, or Flight Director and Attitude Indicator) are a key part of the project, and will be a valuable addition to the standard flight instruments. Of course, I could have gone with a small screen and some graphics to simply display a navball, but the excitement of have a truly mechanical navball was simply too much.
The first step to designing the navball was to create the 3-axis drive system and frame. This would consist of the ball itself and the three stepper motors to go with. As described in this KSP forums thread about creating a mechanical navball ([WIP] The REAL Nav Ball Project Thread (2017 Edition)) two of the steppers are located inside of the ball itself.
I decided on a 5" diameter ball, this gave me enough room to locate two small stepper motors comfortably inside without needing any sort of gear-train. The navball requires almost no torque to operate, therefore, I could use the smallest readily available stepper motors, NEMA 8 size motors. One of the motors would need a dual shaft to support both sides of the navball.
One major alteration to the design described in the KSP forum thread will be the orientation of my ball. Instead of having the stationary center ring located vertically, this design is positioned horizontally. This makes 3D printing the ball halves simpler because each half can be printed in a single color.
The roll motor had to be mounted on a gear because of the need for a slip ring to pass through the center of rotation. Not wanting to resort to using extremely expensive slip rings with shaft pass through capability, I decided to simply use a 3D printed herringbone gear to drive the roll axis. This was not a problem for the yaw axis because it supported from both sides, therefore the slip ring is located on the side opposite the stepper.
This was actually the simplest part of the design process, the needles ended up taking far more time and thought to create.
For the purposes of my navballs, I decided to include two flight director needles, enabling the pilot to display two different "nodes" at a given time. This dramatically eases the process of docking due to the need to see both the prograde and target vectors at the same time. At first, the needles seem like a very simple setup. The needles only need to rotate about one axis each, so they can easily be attached to a servo that will rotate them up and down, (or left and right).
Initially, I went with this design, also including full length needles that will be the length of the navball. This idea was quickly written off because I realized the needles would collide with one another. When the needles move they rotate, and therefore also move "in and out" relative to the face of the navball. This could lead to a situation where if the needles crossed in one of the corners, that one needle could essentially get "stuck" behind the other.
Of course, there are ways to alleviate this problem including:
- Angling the tips of the needles to conform the the shape of the ball
- Lengthening the axis to "linearize" the motion of the needles
- Shortening the needles so that they overlap less.
- Increasing the spacing between needles so that they never cross paths
For my purposes, I decided on another option, to just simply make the needles move linearly. This way, no needle could ever get "stuck behind" another needle, without needing to do a lot of design finagling to ensure the needles never collide.
The needles slide in a pair of slots on the side of the navball face and are moved by the servo pushing on the needle against a spring. This way the full range of the servo is used, and the spring eliminates any hysteresis from the mechanism.
The below pictures represent the current state of the navball design.
This pretty much covers the design of the navballs. I'll try to post at least a couple more updates before the Kickstarter ends, but that is no guarantee. Once again, any support on the Kickstarter is massively appreciated! Find the project here: Open Source Gemini Simulator