Joystick controls eight servos

Overview

In the field of robotics, there is more often the need to control several servos, e.g. when realizing a robot arm. A joystick is a suitable control element, because the variety of axes / degrees of freedom allows efficient control over many channels.

This article introduces a PC-based solution for controlling up to eight servos with a joystick. The mapping of the joystick channels and switches on the servo channels is done flexibly in the configuration interface of the software. The actual pulse generation for the servos is carried out by a PiKoder Serial Servo Controller connected to the PC via a USB interface. With a PiKoder/SSC a control accuracy of 1 microsecond can be achieved; for a higher accuracy (up to 0.2 microseconds), a PiKoder/SSC-HP can be used.

Setup

The setup is ideally done with the help of a PiKoder/SSC evaluation board or – as shown in the picture – with the PiKoder/SSC-HP evaluation board and with a standard USB adapter.

The PiKoder is supplied with power via the USB cable. Since the USB interface cannot provide enough power for the servos, those must be feed with an independent voltage source via the respective header. In order to prevent balancing currents that could damage the PC, the jumper must not be plugged into the PiKoder circuit board under any circumstances. Further information can be found in the User Manual of the PiKoder/SSC and PiKoder/SSC-HP.

Connection of the USB cable to the PiKoder/SSC-HP Evaluation Board – please note that the jumper must not be plugged in

Software

The Joystick2SSC program is open source (Java) and can be found on github, the directly executable program with all required modules can be downloaded here as a .zip file.

All files are extracted and copied to the destination directory; an installation of the program is not required. The program starts by double-clicking start.x86.bat (in a 32-bit system) or start.x64.bat in a 64-bit system.

After the software is started, the main screen appears.

Main screen Joystick2SSC

To configure the servo channels, select the tab labeling your connected joystick.

Assignment of joystick channels / switches to servo channels

Here you can now make the necessary settings. Then return to the start screen and connect to the PiKoder/SSC via Connect. The bars on the right side of the screen allow you to track the positioning and output values of each channel.

Leave a Reply

Your email address will not be published. Required fields are marked *