Servo in SimVimCockpit
Servo, Tech Guide

Servo Control in SimVimCockpit

Using small RC hobby servos can be a quick and easy way to create most of mechanical instruments/gauges for your home cockpit. The only drawback can be that servos have some noise and quite small range of shaft rotation (typical 180°) which can be easily increased by adding a step-up gear. As for noise, you can find the servos with minimal noise, besides, if the gauge is intended to show some slow-changing value the noise will be negligible.

How to Connect

In current versions of SimVimCockpit you can control servos using additional SimVimServo controller board. One Uno or Nano Arduino board is used, with special SimVimServo control firmware onboard (that you can upload from the SimVim plugin menu).

This "slave" board is connected with the Master controller board, getting data intendent for the steppers. The internal code of the slave board generates correct control pulses width for positioning multiple servos.

  • Every servo in SimVimCockpit is connected to one of the output pin available on the slave board starting from #2.
  • You can connect up to 18 servos to the slave Servo board:

The "slave" controller board (Uno, Nano) is linked with the Master controller board using serial interface, when Tx output signal of one board is connected to the Rx iput of another board.

For the slave output control the Tx1,Rx1 port are used in SimVim. So, you should always connect the Tx pin (#1) of the slave board with Rx1 pin (#19) of the master board, and "slave" Rx (pin 0) - with the "master" Tx1 (pin #18).

Note 1. Never forget to connect the GNDs of each board ( and other devices as well) to the common GND wire.

Note 2: When you need to upload Servo control firmware to the slave board you need to disconnect the Rx,Tx wires before uploading! To simplify this you simply can add a "shut-off" switch breaking this two wires.

Another option - you can leave the Rx/Tx connected, but press the Reset button on the master board and hold it while uploading stepper firmware to the slave board.

The slave board receives all data from the master controller board only. So, don't keep it connected to USB port after the SimVimStepper firmware upload. You can use any +5V source connected to the slave board using USB connector, or +5V pin.

Servo powering

Servo has three wires: power, ground, and signal. The power wire is typically red/orange, the ground wire is black/brown and signal is yellow/white. Typically most servos have operating voltage range of 4.2 - 6 Volts.

For all servos used in your system (even if you have only 1-2 servos) you should always use an additional power supply! Even one single servo can sink several hundred milliamperes!

Use an external stabilized 1-10A DC power supply for servo powering! One of the best ways is using an old computer power supply. It can be any old AT PSU (its +5V output) that can be found in your garage.

Be sure to connect the "ground" wires of the controller board, servo and external power supply together first.

Servo gauges Configuration and Calibration

To assign any specific parameter for output to the servo, find this parameter in the configurator database and select it for servo output. Then select the needed servo number (pin number on the slave servo board).

Before using the servo-driven gauge in the cockpit you need to calibrate it. Use the convenient Calibration Tool in the SimVim plugin to correctly map the data value range on the gauge dial.

! The control pulse width range can vary significantly for different servo brands. Even if you have several servos of one manufacturer all of them may have slightly different control ranges. So, when calibrating a particular servo in the SimVim menu, watch carefully when the servo needle reaches it's edge positions. Usually the servo full angle range is 180 degrees.

Learn more here about some technical details and how to increase the servo needle rotation range.

© Copyright 2012-2018 - SimVim