USB 16 Servo Controller PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Bluetooth + USB 16 Servo Controller

[RKI-1005 & RKI-1205]

Users Manual

Robokits India
http://www.robokits.co.in
[email protected]
http://www.robokits.co.in
http://www.robokitsworld.com Page 1

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Bluetooth + USB 16 Servo Controller is used to control up to 16 Hobby Servo motors or any
other devices running on PPM signals from PC or any other device which have either serial or
Bluetooth connectivity. There are 2 versions available for this product, first is RKI-1005 which
is available only with USB and UART option to control servos, other is RKI-1205 which also
include Bluetooth connectivity.

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.

This Package Includes


USB 16 Servo controller / Bluetooth + USB 16 Servo controller
CD with software and drivers
1 USB cable

Features

Control 16 hobby servos from PC and Microcontroller


Dual USB and UART and optional Bluetooth interface
Independent range setting for each servo
0.5-microsecond resolution
50 Hz update rate
Small size of 80 X 47 mm
Plug and Play, Auto detection of hardware
Easy to use software
Software with Speed, Delay, Functions, Idle, Sequencing and many other features
File save and load options
Home and neutral position setting
Easy to install USB driver and Application software
Capability to export programmed sequence for Rhino Robot Control Board or Arduino to
control servos as per sequence without PC

http://www.robokits.co.in
http://www.robokitsworld.com Page 2

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


The Servo Controller Hardware

1 USB Connector for connecting USB cable to PC.


2 Power connector for 5V 7.5V input.
3 Power ON/OFF switch
4 Bluetooth Module (Only in RKI-1205)
5 Bluetooth Status LEDs (Only in RKI-1205)
6 USB connection LED
7 USB / Bluetooth Selection Jumper 1-2 for Bluetooth, 2-3 for USB

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

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Connecting Servo Motors

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.

Signal VDD (+4.8 to 7V) GND


White Red Black
Orange Red Brown
Yellow Red Black
Orange Red Black
Blue Red Black

Servos can be connected in the way shown


in figure. Note that Servo 13 to Servo 16
has different arrangement of pins than
Servo1-12. However if you plug in Servos in
reverse direction there will be no harm to
either circuit board or servo motor.

There is an optional connector for power


which doesnt have reverse polarity
protection so use it only if you are
experienced and you know what you are
doing. Giving reverse polarity here can
damage board and connected servos.

http://www.robokits.co.in
http://www.robokitsworld.com Page 4

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Connecting Power Source

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

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Installation and Usage

Software

1. Run Robokits_USB_BT_16_ServoCon_Setup_incl_dotnet.exe from CD. You can also


download this file from our website which will be latest version. In this case you will
need to install .net framework 4.0 if it is not installed already.
2. Keep clicking next option unless the setup is complete.

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.

Bluetooth Settings (Only for RKI-1205)

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

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


4. Select ROBOKITS_BT_SERVO and click next. Sometimes on some PCs it may also show
as Other, Other Bluetooth Device or Other device. This is normal, select it and click Next.
5. Now it will show options for pairing Bluetooth device. Click on Enter the pairing code for
the device.

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

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Using Servo Controller Software

Once all drivers and devices are installed and servos connected you can start using
software. The picture below describes different parts in software screen.

1 Servo Labels, click to rename labels.


2 Sliders for servo, changing the slider here moves servo if servo controller is connected.
3 Buttons for resetting labels, Enter settings menu, Set all servos to center or home position
4 Servo idle function, when any servo number is checked, that servo will not move when sequence is
running
5 Connection type(Bluetooth / USB) and connect disconnect button. It also shows status of connection
6 Servo Sequencer menu, here any command can be added or deleted from the sequence.
7 Servo sequence, all servo sequence program will reside here. It can be stored to a file.
8 Function control box can be used to call functions. For example if you have biped you can make
different functions to move forward-backward, turn or to make some actions on key press or clicking.
9 To start stop and set different parameters on servo controller program run.

The detailed description of above functions is below.

http://www.robokits.co.in
http://www.robokitsworld.com Page 8

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Servo controller is all-in-one software to configure servo controller and develop various
sequences for robots, assemblies or any other servo based hardware.

Connecting to servo controller hardware

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.

If everything is fine connection is established.

http://www.robokits.co.in
http://www.robokitsworld.com Page 9

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Clicking Disconnect Button will close connection.

Manual Controlling and Naming Servos

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

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Settings Menu

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.

Slider in settings menu is same as main


screen. Moving it will move selected servo.

Servo numbers can be selected from


dropdown menu on top.

Servo controller shows movements in large


range. Its obvious that all servos have
slightly different operation range and
higher and lower movement limits
depending upon types and manufacturer.
Here we can set maximum and minimum
movement of servo so that motor doesnt
reach the limit. Its also required to restrict
movement when in an assembly servo
movement is obstructed by some other
part.

By default Center position is 537. This can


be changed as per requirement and servo
type.

Home position is the position which puts all


servos in default state. This can be used to
move all servos in certain position. This
can also be called in program.

Checking Reverse Direction checkbox will


reverse direction of servo. This is useful
function while programming sequence for
robots like bipeds or hexapods where
mirror movements are needed for left and
right legs.

Any servo can be disabled or enabled using Disable check box.

http://www.robokits.co.in
http://www.robokitsworld.com Page 11

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Creating Programs with Servo Sequencer

Servo sequencer box is used to create and modify program for servo controller.

Create Program Functions

Delay

Add a delay of specified time in


milliseconds in running program.
Possible values are between 100 to
2000 ms. If more delay is needed,
multiple delay lines can be added.

Go to line

Go to a specific line in program. This


function helps creating jumps or
looping in program.

Speed

Changes the speeds of servo. Higher


the number less the speed. 1 is
Maximum speed, 20 is minimum speed.
Beep

Rings Beep from computer speaker. Sounds could be different for different themes set on
PC.

Home

Sets all servos to home position

Pause

Pause the program until a function is called or certain action is done.

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

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Its advisable to use pause at end of every function so that program doesnt end.

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

Remove selected line.

Clear all

Clear the program window.

Program Run Functions

Run sequence

Start running program.

Stop

Stop running program.

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 from current line

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

Start program again from line 1 after end.

http://www.robokits.co.in
http://www.robokitsworld.com Page 13

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Servo controller delay

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.

When checkbox is unchecked it will be managed by PC software which can sometimes


create jerky movements in high speeds in some servos.

Open and save sequence files

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.

Exporting sequence for Rhino Robot Control Board or Arduino Board

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

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


connect Servo Controller with Rhino Board. You can use any other microcontrollers TX line
to connect instead if you are using other board.

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.

2. Connect 2 Jumper wires


to RX pin and GND pin as
shown in picture. All pins
on the edge on the power
switch side are GND pins.

http://www.robokits.co.in
http://www.robokitsworld.com Page 15

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


3. Connect the wires to
Rhino or Arduino Boards
TX and GND lines. Shown
in the picture is the UART
connector of Rhino Board

4. Verify the connections


and power up both
boards. Now Rhino will
send the commands to
servo controller and same
sequence on PC will run.
You can modify the code
in Quick C IDE to add
functionality like
controlling by sensor,
manual or remote input.
You can also make it
complete autonomous.

You can use same power


source for your
microcontroller board and
servo controller board.

http://www.robokits.co.in
http://www.robokitsworld.com Page 16

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]


Service and Support
Service and support for this product are available from Robokits India. The Robokits Web site
(http://www.robokits.co.in) maintains current contact information for all Robokits products.

Limitations and Warrantees


The USB-Bluetooth 16 Servo Controller [RKI-1005 & RKI-1205] is intended for personal experimental and amusement
use and in no case should be used where the health or safety of persons may depend on its proper operation. Robokits
provides no warrantee of suitability or performance for any purpose for the product. Use of the product software and or
hardware is with the understanding that any outcome whatsoever is at the users own risk. Robokits sole guarantee is that
the software and hardware perform in compliance with this document at the time it was shipped to the best of our ability
given reasonable care in manufacture and testing. All products are tested for their best performance before shipping, and
no warranty or guarantee is provided on any of them. Of course the support is available on all of them for no cost.

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

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]

You might also like