USB 16 Servo Controller PDF
USB 16 Servo Controller PDF
USB 16 Servo Controller PDF
Users Manual
Robokits India
http://www.robokits.co.in
[email protected]
http://www.robokits.co.in
http://www.robokitsworld.com Page 1
This hardware is backed up by PC software which controls all servos and helps generating
motion sequences. Once these sequences are generated one can control the motors with serial
commands. Not only this but when you complete programming the sequence and testing it,
you can generate code for our Rhino Robot Control Board or any Arduino Board so that you can
control all servos without PC and add sensors and controls to your project.
Features
http://www.robokits.co.in
http://www.robokitsworld.com Page 2
Remove jumper and use center pins as RX and TX for external serial commands
8 Servo 1 to Servo 12 Connectors
9 Servo 13 to Servo 16 Connectors
http://www.robokits.co.in
http://www.robokitsworld.com Page 3
All standard servo motors have 3 wire connector for connecting to any device. 2 Wires are for
Power that is VDD and GND, VDD is +4.8V to 6V(Max 7V) GND is for Ground. General wire
colors are as follow.
http://www.robokits.co.in
http://www.robokitsworld.com Page 4
Most recommended power source for servos is between 4.8 to 6VDC. However sometimes a
7.2V source is also used. When you connect power through Power connector(See page 3) you
can switch it on and off through switch and it also provides reverse polarity protection.
A 6 Ampere diode is used to protect against reverse polarity but it has a drawback that it
reduces voltage by approx .7V and also lowers down efficiency of system. However if you are
using 2 Cell Li-Ion battery for power this is an advantage because it will bring down the
voltage to acceptable levels of servo motor.
However if you are using a power source of 4.8 to 6V and dont want to lower down voltage
reaching to servos you can do a little hack. This also applies when you are using more than 6
servo motors or total current drawn by servo motors is above 6 Amps. There is a pad on the
back side of PCB, you can short it to nearby pad of diode by soldering. However this will disable
reverse polarity protection function and you will need to be very sure about correct polarity
every time you switch on system. See picture below to do this modification. You will need to
solder 2 pads in highlighted area.
http://www.robokits.co.in
http://www.robokitsworld.com Page 5
Software
Driver
1. USB drivers are available on CD. Choose your OS specific driver for example if you are
using Windows 7 or Windows Vista run USB Driver Vista-7.exe
2. There may be a driver conflict if other version of driver is already installed on your
computer visit http://robokits.co.in/resources/?page_id=113 for troubleshooting.
1. These settings are shown as on Windows 7. Click on Devices and Printers from Start
Menu.
2. Make sure computers Bluetooth and Servo Controller is powered on and Bluetooth LED
is blinking. Click on Add Device
3. You should now see an dialog with available devices
http://www.robokits.co.in
http://www.robokitsworld.com Page 6
6. In the dialog box enter 0000 as pairing code and click next.
7. You will get message for successful connection as below.
http://www.robokits.co.in
http://www.robokitsworld.com Page 7
Once all drivers and devices are installed and servos connected you can start using
software. The picture below describes different parts in software screen.
http://www.robokits.co.in
http://www.robokitsworld.com Page 8
There are 2 versions of servo controller. One is USB based and second one is
USB+BlueTooth. In USB+BlueTooth version you can connect either wirelessly through
Bluetooth or with USB cable. By default this is configured to connect in Bluetooth mode but
if you want a wired connection you can change connection jumpers as shown on Page 3.
Once the hardware is connected and all drivers are installed or Bluetooth is paired as shown
in previous pages, the hardware is ready to be connected to Controller software.
First of all, power up hardware with appropriate power supply. Connect USB cable in case of
USB mode and click Connect Button by selecting proper connection type.
Now software will search for available ports as per connection type specified.
http://www.robokits.co.in
http://www.robokitsworld.com Page 9
Once connected, you can move sliders to control the servos. Moving the sliders will change
servo position of particular servo connected on hardware to that servo number.
You can also name servos by clicking on their label on top of sliders. This is for easy
recognition of servos in assembly. For example you can set wrist and a name for servo
rotating the gripper in robotic arm or knee in biped for servo acting as knee.
All labels can be reset by clicking Reset Labels button. All servos can be moved to center
position by clicking Center All button or home position by pressing Home All button.
Servo Idling
By default when executing servo movement commands like double clicking on code line or
while running a program, servo controller will update values of all 16 servos. In some cases
this can be problem specially while using functions.
For example there a robot with 4 servo motors, 2 are for driving wheels and 2 are for wrist
and gripper. This robot is connected to servo controller with Bluetooth for wires operation
and it needs to be controlled manually by using functions. Now say there are different
functions for pick, place, and move forward-back-left-right. What happens here is if servos
are hardcoded while moving forward or backward gripper servos will also operate. Or while
opening or closing gripper wheeled servos will operate. To avoid this we can idle gripper
servos while moving and idle wheeled servos while gripping operation.
In Servo Idle box any servo can be chosen to idle while adding move. Idle servo will appear
as X in program.
http://www.robokits.co.in
http://www.robokitsworld.com Page 10
There are many other options and parameters for each servo which are not visible on the
main screen. When Settings Button is clicked a new window with various settings appear.
http://www.robokits.co.in
http://www.robokitsworld.com Page 11
Servo sequencer box is used to create and modify program for servo controller.
Delay
Go to line
Speed
Rings Beep from computer speaker. Sounds could be different for different themes set on
PC.
Home
Pause
Function
Up to 8 different functions can be created and named for certain actions. For example you
can program different functions for walk forward, walk backward, turn left, turn right and
dance in sequencer for a biped. After creating functions you can call them with a hot key
or clicking buttons on screen and run the programmed actions.
http://www.robokits.co.in
http://www.robokitsworld.com Page 12
Add move
Add the current servo positions for all 16 servos to program. By default move is added in
the last line but it can be added anywhere. When a line is selected before adding move
new line will be added before currently selected line. After a line is added numbering of
lines will change, this can affect in Go to line command.
Some servos can be excluded by selecting their numbers in servo idle box so that they will
remain unaffected while the move is performed.
Remove
Clear all
Run sequence
Stop
Default Delay
Add specified amount of delay between every line. This is required when program is
running on speed 1 as there will be no time for servos to complete action because before
the servo reaches specified angle next command is sent.
Start running program from selected line. This is useful when a specific part of program
needs to be run or for testing while developing sequence.
Loop
http://www.robokits.co.in
http://www.robokitsworld.com Page 13
There are 2 types of servo speed control is possible in this version 1. Software control 2.
Hardware control.
By default and when selected Servo Controller Delay servo speeds are controlled by
hardware. This is recommended as delay between each small segment of servo movement
will be managed by hardware.
After creating programs files can be save for future use. This can be done by clicking Save
file Button.
Saved files can be opened in the software by clicking Open file Button.
Saving file saves all labels, settings, preferences for running sequence and program. At time
of opening file everything is loaded back.
Once the program is created you may feel like not using the PC for controlling all the servos
but control with some embedded device. This is possible with extra hardware which can
send serial commands to the board. This hardware can be any microcontroller board or any
device which can send serial commands. However to program the code may be very difficult
on the embedded device than on PC. To solve this problem software can generate code in C
for sending the commands as per programmed sequence. Currently the program is fully
compatible with our Rhino Robot Control Board and Arduino but basically its in C language
which uses some predefined functions. If you have good knowledge of C with any other
microcontroller board you can use the same code with little modifications with any other C
compiler.
You can use our Rhino Robot Control Board for sending the serial commands to the servo
controller. You can check the details of Rhino Robot Control Board on links below.
http://robokitsworld.com/index.php?main_page=product_info&products_id=312 or
http://robokitsworld.com/index.php?main_page=product_info&products_id=326
Rhino Board comes with Quick C IDE which is a compiler software and easy to program in C.
When you click Generate Code for Rhino Board which is located just above the Function
Box, it will generate the code for Quick C and it will be stored to clipboard. When you paste
this code to Quick C IDE for Rhino it will be containing all the information written in
program to send the commands to servo controller. You will need to connect just 2 wires
from Servo Controller to Rhino Board Rx and GND. The following guide shows how to
http://www.robokits.co.in
http://www.robokitsworld.com Page 14
When the sequence is generated for Arduino, you can take a new sketch in Arduino IDE and
paste (Ctrl + V) in. Connect the Arduinos RX pin and GND pin to the servo controller as
shown in guide. Compile the sketch and upload to Arduino. Make sure you remove RX line
before uploading the code to either Rhino or Arduino as they use the same line for
programming.
1. Remove a Jumper
USB/Bluetooth selection
pins as shown in picture.
Pin no 2(Center pin) is
the RX pin of servo
controller, this pin should
be connected to TX pin of
controller device.
http://www.robokits.co.in
http://www.robokitsworld.com Page 15
http://www.robokits.co.in
http://www.robokitsworld.com Page 16
Disclaimer
Copyright Robokits India, 2012
Neither the whole nor any part of the information contained in, or the product described in this manual, may be adapted or
reproduced in any material or electronic form without the prior written consent of the copyright holder.
This product and its documentation are supplied on an as-is basis and no warranty as to their suitability for any particular
purpose is either made or implied.
This document provides preliminary information that may be subject to change without notice.
http://www.robokits.co.in
http://www.robokitsworld.com Page 17