Cytron SHIELD-Servo User manual

SHIELD-Servo
Servo Controller Shield
User’s Manual
V1.1
April 2018

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
Index
1. Introduction and Overview 2
1.0 Introduction of SHIELD-Servo 2
1.1 System Overview 3
1.2 How RC Servo Motor Works 4
2. Packing List 5
3. Product Specification and Limitations 6
4. Board Layout 8
4.1 Dimension 10
5. Installation (hardware) 11
5.1 Setting up Shield-Servo 11
5.2 Connecting to Arduino UNO/CT-UNO using Signal Pin 12
5.3 Connecting to External Switches 12
5.4 Connecting to Computer through UART 13
6. Installation (software) 14
6.1 Sample Program for Computer 14
6.2 Sample Program for CT-UNO 17
7. Getting Started 18
7.1 Using Shield-Servo with computer 18
7.2 Shield-Servo UART Protocol 20
8. Warranty 24
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 1

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
INTRODUCTION AND OVERVIEW
1.0 Introduction of SHIELD-Servo
SHIELD-Servo offers reliable yet user friendly RC (Radio Control) Servo motor controller to
hobbyist and students. Different from SC16A and SC08A, SHIELD-Servo is designed to control 8
independent RC (Remote Control) Servo motors simultaneously (or idenpendently) in a single
board with a built in 5V 5Ampere switching regulator. Each Servo signal pin is able to generate
Servo pulses with duty cycle from 0.5ms to 2.5ms, which is greater than the range of most Servos,
further allows for Servos to operate in full range of 180 degrees. In order to get SHIELD-Servo
working, an Arduino compatible main board (Arduino/Genuino UNO, Mega, CT-UNO,
CT-ARM, etc) is needed and the interface is serial (UART). The shield also provide alternative
control over 6 pin UART with USB to Serial converter UC00A/UC00B/UC00C or other types of
microcontroller. UART interface present a flexible, fast and easy to use feature.
This Servo shield has been designed with capabilities and features of:
●New! Now comes with UC00A/UC00C/UART interface for easier communication
between the user’s circuit (or PC) and SHIELD-Servo. By using the new UART control,
user can
○Activate Servo independantly
○Control position for each Servo
○Control Servo speed
●Support up to 5A (peak) and 4A(continuous) of total current.
●Control 8 channels Servo independently.
●Able to drive Servo motor from 7V to 25V with build in 5V regulator.
●Optional Position Reporting: User may request position of an individual Servo.
●5V logic level compatible inputs.
●Independent Starting Position Command for each channel at the next start-up
●Servo pulse range 0.5ms to 2.5ms.
●UART baud rate is saved in non-volatile memory (Factory default is baud rate = 9600).
Dimension: 7.4 cm x 6.6 cm
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 2

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
1.1 System Overview
Shield-Servo is the enhanced version from SC08A. One of the additional features for
Shield-Servo compare to SC08A is the onboard voltage regulator and UC00A/UC00C interface
for easier UART communication or connect directly to SKXBee. UART is provided in
Shield-Servo for easier communication between user’s circuit (microcontroller/Arduino) and
Shield-Servo.
By using UART function on Shield-Servo, user is able to have more extensive control of the
Servo driver and Servo motor. User can leave most part of the Servo control algorithm to
Shield-Servo. It saves much software resources on the host.
For example by sending some commands, Shield-Servo is able to move the Servo motor with
desired speed. While the Servo motor is rotating, the host may take care of other routines. In order
to know the Servo motor has been accelerated to the final position, the host can send another
command to check the status of Shield-Servo.
Please refer to section 7.4, Shield-Servo UART Protocol for the UART commands and
descriptions.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 3

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
1.2 How RC Servo Motor Works
RC Control hobby Servos are small actuators designed for remotely operating model vehicles such
as cars, airplanes, and boats. Nowadays, Servos are become more popular in robotics, creating
humanoid robot, biologically inspired robot, robotic arm and etc. This is because its ability to
rotate and maintain at certain location, position or angle according to control pulses from a single
wire. Inside a typical Servo contains a small motor and gearbox to do the work, a potentiometer to
measure the position of the output gear, and an electronic circuit that controls the motor to make
the output gear move to the desired position. Because all of these components are packaged into a
compact, low-cost unit, Servos are great actuators for robots.
Besides signal wire, a RC Servo has other two leads for power and ground. The control signal is a
continuous stream of pulses that are 1 to 2 milliseconds long, repeated approximately fifty times
per second, as shown below.
The width of the pulses determines the position to which the Servo moves. The Servo moves to its
neutral, or middle, position when the signal pulse width is 1.5 ms. As the pulse gets wider, the
Servo turns one way; if the pulse gets shorter, the Servo moves the other way. Typically, a Servo
will move approximately 90 degrees for a 1 ms change in pulse width. However, the exact
correspondence between pulse width and Servo varies from one Servo manufacturer to
another.
Shield-Servo is designed to simultaneously generate 8 independent Servo control signals. The
Servo controller can generate pulses from 0.5 ms to 2.5 ms, which is greater than the range of
most Servos, and which allows for a Servo operating range of over 180 degrees.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 4

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
2. PACKING LIST
Please check the parts and components according to the packing list. If there are any parts
missing, please contact us at [email protected] immediately.
Shield-Servo comes with:
• 1 x SHIELD-Servo board with every component is soldered properly and tested before
board is shipped.
• User’s Manual and sample source codes (Arduino Sketch) can be downloaded from
https://www.cytron.io/p-shield-servo.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 5

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
3. PRODUCT SPECIFICATION AND LIMITATIONS
Power Input Pins Function Description
Label
Definition
Function
VM
Servo Supply
Voltage
VM is one of Shield-Servo power sources. VM will supplies
power to Servo motor. This should be connected to possitive
terminal of power source. Although Shield-Servo provides
protection against wrong polarity for this input, user must
ensure the voltage and polarity of connection are correct
before providing the power so that Shield-Servo can function
correctly.
GND
System Ground
Common ground for both logic operation and Servo motor
power source.
*If power is connect correctly, the PWR LED should light up.
Signal Input Pins Function Description
Label
Definition
Function
TX
Transmit Pin
This pin is TTL/CMOS logic (5V and 0V). Output signal
from Shield Servo transmitted using this pin. Pin available
to use is D0,D2, D10, D12.
RX
Receive Pin
This pin is TTL/CMOS logic (5V and 0V). Input signal to
Shield Servo from arduino transmitted using this pin.Pin
available to use is D1,D3, D11, D13.
UC00A/UC
00C
Alternative
UART port
Pin out for UC00A/UC00C.
S1-S8
Signal Out
Output signal to drive the Servo motor. This pin is
TTL/CMOS logic (5V and 0V). Each pulse (logic
change from 0 to 1) will drive the Servo motor.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 6

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
UART/UC00A/UC00C Pins Function Description
Label
Definition
Function
DTR
RESET Pin via
0.1uF capacitor
Connected to shield-servo controller’s reset pin via 0.1uF
capacitor. Suitable to act as software reset.
TX
UART
Transmit Pin
Connected to Shield servo receive pin. It should be
interfaced to 5V logic UART. It should be connected
to host’s transmit pin.
RX
UART
Receive Pin
connected to Shield servo transmit pin. It should be
interfaced to 5V logic UART. It should be connected
to host’s receive pin.
VSEL
System 5V
Should be supplied from UC00A/UC00C. It is to power the
shield servo controller.
CTS
NC
Not connected to any pin.
GND
System Ground
Common ground for both logic operation and also
Servo power source.
Absolute Maximum Rating
No
Parameter
Max
Typical
Min
Unit
1
VM Voltage
25
-
7
V
2
VM Current
5
-
-
A
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 7

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
4.BOARD LAYOUT
Label
Function
Label
Function
A
UART selector
F
Push button to reset
B
Connector for Servo motor
G
Push button to test
C
Servo motor power indicator
(1 LED)
H
Small green LED as VCC indicator
D
Manufacturing test point
I
Power input source for servos
E
UC00A/UC00C communication
J
Connector to Arduino (Signal)
K
Solder if use internal power
A A DIP switch used to select TX and RX pin for Shield-Servo.
B An 8 ways connector for user to connect particular Servo motor. Please insert the
wire properly by referring to chapter 5, Hardware Installation.
CA LED acting as indicator for Servo Power. This LED will indicate that Servo is being
powered.
.
D Manufacturing test point for Shield-Servo. The header pin is not soldered since it is
meant for production test point. Please DO NOT connect or shorted any of these pins.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 8

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
E UART communication between Shield-Servo and external UART connector such as
UC00A or UC00C, or other microcontroller.
F A push button acting as reset button for shield-servo controller, NOT Arduino reset
button. If this button is pressed, shield-servo will be reseted to initial stage. Please DO
NOT pressed this button during operation
.
G A push button to activate self test. When it is pressed and release, Shield-Servo will
start to drive every servo motor connected in predetermined movement and speed.
H A small green LED to indicate status of power for logic operation. This power should
come from Arduino main board or UC00A/UC00C. If power is connected, this LED
will light ON.
I Power input for servo motors.
J 10/8/6 ways arduino header to host. Please refer to chapter 5, Hardware installation
for details.
K Need to be soldered if user want to share power from Arduino or supply power to Arduino
using single power source.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 9

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
4.1 DIMENSION
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 10

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
5. INSTALLATION (HARDWARE)
5.1 Setting up Shield-Servo
Shield-Servo is designed to control 8 channels of RC Servo motor. Following steps will
guide user in using this shield.
Before connection can be made, please ensure power supply is connected correctly. In general,
DC power supply only have 2 wire which is red and black. The best practise is to obtain the
polarity and voltage by measure using multimeter.
●Servo power indicator (MPWR) will light on if the power source is connected correctly.
●Board power indicator (PWR) will light on if the 5V power source available.
Servo motors can be driven by power source from VM and GND. The power source will be
regulated via on board switching converter to 5V with maximum current output of 4A (peak 5A).
Yet, there is option to power the servo motor from another source, which is the 5V of Arduino
main board. But we do not recommned using the 5V from Arduino as the current is limited and
normally is only 1A max. Maybe to power one small servo is still viable and sufficient, but it is
strongly not recommended to power motor than 1 servo motor. Anyway, to utilze the power from
Arduino main board for servo motor, user need to solder a jumper (Label K) on the shield.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 11

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
5.2 Connecting to Arduino UNO/CT-UNO
Typical application would require an Arduino main board to control Shield-Servo via
UART/Serial communication.
The UART pin consist of TX and RX and has the function to Transmit and Receive signal. The
shield provide the options to change the pairing of UART pin to Arduino main board via DIP
switch. In cases hardware serial pins (D0 and D1) are occupied by other shield, user may choose
D2 and D3, D10 and D11 or D12 and D13, and utilize the software serial from Arduino library as
alternative UART communicatin. Please refer to tutorial of software serial from Arduino website
for details of using software serial.
Please note that if you are using internal power (Arduino 5V) to power up servo, DO NOT
connect any power to VM and GND.
5.3 Connecting to External Switches
User may also use external switch to test servo motor functinality. Here is an example of
Shield-Servo connected to switches.
External switches can be use to test Shield-Servo and drive servo motors. S1 act as test switch and
S2 is to reset Shield-Servo if pressed.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 12

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
5.4 Connecting to Computer through UART
Another concern in controlling Servo motor using a computer is the hard work needed to get
started. However, with Shield-Servo, interfacing with a computer is as easy as 1 2 3. Just get
yourself an UC00A/UC00C, simply plug UC00A/UC00C to Shield-Servo and USB port of
computer (PC or Laptop), install the driver (for the first time only) and it will become a virtual
COM port in your computer and is ready to communicate with Shield-Servo. Only power source
for Servo motor is needed if using PC.
User may refer to UC00A/UC00C User’s Manual for hardware and software installation. So, no
extra work is needed to control Shield-Servo using a computer. And, of course, you may connect
more than one UC00A/UC00C to your computer and control more than one Shield-Servo at the
same time.
AGraphical User’s Interface (GUI) comes together with the source code is provided for user to
implement Servo motor control using a computer.
a. To begin, connect VM and GND to power source. Please refer to chapter 3, Product
Specification and Limitations, for details.
b. Connect Servo motor to Shield-Servo.
c. To interface with a computer, simply connect UC00A/UC00C 6-pin connector to
Shield-Servo and the USB end to PC. Please note that the TX and RX pins between
Shield-Servo and UC00A/UC00C are cross-connected.
d. Please refer to documents named “USB Driver Installation Guide” included in
UC00A/UC00C package for driver installation.
e. After plugged in UC00A/UC00C to computer and installed driver, user is ready to test
the functionality of Shield-Servo using Shield-Servo GUI.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 13

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
6. INSTALLATION SOFTWARE
There are 2 options of sample software being provided for Shield-Servo. The simplest way is to
use sample program for Arduino, while another option is the use sample GUI program to control
Servo motors through Shield-Servos.
6.1 Sample Program for Computer
To ease user in using Shield-Servo, Cytron Technologies has developed a Shield-Servo GUI
using VB.net for user to control Shield-Servo from computer through virtual COM Port. The
following steps will guide user to run Shield-Servo GUI and use it.
1. Extract the zipped file which can be downloaded from Cytron github reporitory.
2. Double click on “setup.exe” to run the Shield-Servo GUI. The window shown as
below may prompt out, click Install.
3. If the program is unable to be executed, the latest .NET Framework may be needed to
be installed. It is downloadable from Microsoft official website.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 14

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
4. A window as shown in the figure below pops up.
5. Before any setup can be done, please ensure hardware installation of Shield-Servo is
being setup correctly and power to Servo motor is connected. If you are using
UC00A/UC00C, driver must be installed.
6. After hardware installation, choose the correct COM Port. Normally, the extra virtual
COM port will be the largest number port after driver installation. Select it. The default
baud rate for Shield-Servo is 9600.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 15

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
7. Click the “Connect” button and Shield-Servo GUI will show “COMxx connected”.
8. Now, Shield-Servo GUI is ready to control the Servo motor using Shield-Servo. User may
on/off the motor, Active/deactive the individual motor, change position, set motor
rotation speed, reset servo initial position using this GUI.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 16

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
6.2 Sample Program for Arduino UNO/CT-UNO
Driving Servo motor is common necessity in most robotic project based on the embedded system
which uses microcontroller. Considering this reason, Cytron Technologies has also developed
the sample source code for Arduino. This sample program is developed for CT-UNO. If user
uses different microcontroller, user may need to modify the sample program based on that
particular microcontroller by referring to its datasheet released by manufacturer.
The sample program will control Shield-Servos.
a. We have created a sample sketch for Arduino to communicate with Shield-Servo
through software UART. The sample code can be downloaded from Shield-Servo's
product page or Cytron Github repository.
b. Download the files and extract the zipped file.
c. There are 1 files available for the user; Shield Servo Example.ino. For immediate
testing, user may load the sketch into Arduino board.
d. The sample program is based on CT-UNO, an Arduino UNO compatible board. We will
discuss about how to control Shield-Servos and Servo motor using a CT-UNO through
UART interface.
e. Ensure the hardware interface for microcontroller to Shield-Servo is setup properly. The
power for Servo motor is also needed.
f. Power indicator LED on Shield-Servo will turn ON when power is supply to board.
g. Please refer to protocol of Shield-Servo for details on method to send/receive
command to Shield-Servo.
h. User must install Arduino IDE if user wants to modify and compile this sample program.
The free Arduino IDE can be obtained from Arduino official website. You can download
Arduino Software (IDE) from http://www.arduino.cc
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 17

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
7. GETTING STARTED
This section will show how to get started with Shield-Servo and connect to UART
communication. 1st example is using Shield-Servo with computer and 2nd example is using
Shield-Servo with Arduino.
7.1 Using Shield-Servo with computer
After installation of Shield-Servo GUI and UC00A/UC00C driver, user is ready to use
Shield-Servo with computer/laptop.
a. Setup Shield-Servo according to steps in 5.4. Connect UC00A/UC00C to Shield-Servo,
another end of UC00A/UC00C to PC.
b. Power up Shield-Servo. When power is connected, power indicator LED will turn ON.
c. Click Shield-Servo V1.0 application to start control Servo motor. Before the GUI is able
to control Servo motor on Shield-Servo, connection must be made. Click on COM port,
choose the last COM port, click connect.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 18

ROBOT . HEAD to TOE
Product User’s Manual – Shield-Servo
d. Once the status is connected, user is free to control Servo motor using Shield-Servo.
e. Since the GUI VB.net source code is provided, user can refer to the source code and
modify it or write a new program to create own GUI for own application. The GUI is
written with Microsoft Visual Studio Community 2015. Any older version than
this may not be able to open the project file. If it is the case, user needs to install the
newer version or recreate the VB.net project in older version.
Created by Cytron Technologies Sdn. Bhd. – All Rights Reserved 19
Table of contents
Other Cytron Microcontroller manuals
Popular Microcontroller manuals by other brands

mikroElektronika
mikroElektronika Mikromedia MIKROE-608 manual

ZiLOG
ZiLOG Z8F64200100KITG user manual

mikroElektronika
mikroElektronika Ambient 2 click manual

Infineon
Infineon FX3 EZ-USB DEMO_FX3_LVDS_CAM01 manual

ABOV SEMICONDUCTOR
ABOV SEMICONDUCTOR MC81F4204 user manual

Texas Instruments
Texas Instruments MSP430F67771 manual