ServoSim
Mike Shellim June 2003

Introduction

ServoSim is a real time virtual servo monitor which I designed to help explore the programming of complex R/C transmitters, in particular the Multiplex mc4000.

The heart of the system is a custom interface which reads servo commands from the transmitter's DSC socket, and converts it to a serial stream.

The channel data is read by a PC and displayed on the monitor. 

Host Program Features

Supported Tx's

The system has been tried with

Technical Overview

PIC Interface

The interface uses a PIC 16F628  microcontroller and MAX233 serial driver, external Xtal oscillator and a few other components.

Firmware

The PIC monitors the DSC signal. In most systems, this is a series of short (~300 microsecond) negative going spikes. The pulse widths are calculated by measuring the interval between successive spikes.

The measured pulse widths are encoded into 3-character hex strings, and transmitted to the PC via the UART and serial line driver.

PC Software

A program writen in VB5 reads the hex character stream from the serial port, calculates the pulse widths, and displays the results.

Hardware Photos

Version 1 (left): The picture above shows the EPROM programmer and Lab X2 dev board. 

Version 2 (left). This is on a board 70mm x 60mm.

Version 3 is smaller still and uses just 9 components (no picture available)

Screenshots

All shots show "Bargraph" display mode


Switch on the Tx. Note that the servo's are not quite centred, so...


Set a new baseline. No movement until...


The Aileron stick is moved. The wing servos (along the top line) respond.
So do the V-tail servos, due to combi mix.

Menus


This is the "Mark" menu for setting a new baseline.


The Options menu selects MPX or Futaba/JR/Hitec neutrals.


You can select a number of viewing options.

Availability

There are currently no plans to make this system available.