SimVimCockpit plugin monitors simulator parameters and translates them into signal sequences for every connected stepper motor. Firmware receives that data and converts them into specific stepping pattern for every motor, keeping track of amplitude and speed of change, simulator FPS rate and code loop timing, to eliminate jumps and ensure smooth movement.
Any stepper motor should only be used with a special controller (driver) that is capable to drive the selected stepper motor and must have the required output current, operating voltage, step frequency.
Be noted, that these controllers are not simple drivers like ULN2003, which is just a current amplifier used between the low-current microcontroller outputs and high-current motor.
Only those controller chips or boards that include STEP and DIR control inputs (also can be marked as Clock and CW/CCW) - can be used with SimVimCockpit.
X27.168 and similar motors are considered as default for SimVimCockpit firmware program code and all parameters are pre-defined for use with them. These motors are suitable to replicate most of aircraft pointer instruments and can be driven with controllers, designed specifically for these very low-current motors, read more here >>>
But, it is possible to use other stepper motors with SimVimCockpit. Be aware, though, that most of them require much more power to run, in terms of current consumption or operating voltage. Use only appropriate controllers and power supply for powerful steppers!
Every stepper motors in SimVimCockpit is connected to one output of the 16-channel extension board CD74HC4067. Namely, the "STEP" input of each stepper controller is connected to one output of the multiplexer. The DIR inputs of each stepper driver are all joined together and connected to "D" output (pin #28). All inputs of the multiplexer besides of "EN" are connected to the system bus. The "EN" input is connected to the controller output pin assigned for this output multiplexer board.
Thus, you can connect up to 16 stepper motors to one multiplexer
As you can see, every single motor is driven by its own single controller board, but as the "Switec" motors are preferred to be used in the system, be noted that one single VID6606 IC has 4 controllers to drive 4 Switec motors (or, you can get the STI6608 driver that controls 2 stepper motors):
When you select a parameter for stepper output in the configurator you should enter some options depending on the instrument type.
1. If this instrument has a 360-degree continuous scale (heading indicator, altimeter), you only need to select the stepper output number for it. A zero-position sensor needs to be used for this stepper motor.
2. In case you select a parameter for a stepper-driven gauge that has limited pointer rotation angle you have to enter the maximum angle of the pointer rotation and map several data values to corresponding angles (from 1 to 10 sectors, depending on non-linearity factor).
By default, a stepper motor used in a gauge with limited-angle rotation may not have a zero position sensor and is just halted at the end position with a mechanical stop (usable only for low-torque motors!). For proper indication, the needle of the gauge should be aligned with its initial (min) position when the stepper is in its stop-end position. How to calibrate the stepper needle.
But as an option (especially if you have a stepper motor without a mechanical limiter or with high torque) you can add a sensor to it.
If your indicator has a zero-position sensor (either optical or mechanical switch) you should mark the "Zero-Sensor" checkbox when configuring it.
1. You can assign two parameters for output to one particular stepper gauge and make it dependant on some input (switch) state or specific parameter value. For example you gauge may show voltage from different sources.