Servo Runner A User s Guide

Similar documents
Servo Commander 32 User s Guide

RQ 5 Paper Robot Supplementary Info

Mini Hexapodinno. 18-DOF Robot

Bipedinno. 12-DOF Waist-high Robot

InnobotTM User s Manual

Programming 2 Servos. Learn to connect and write code to control two servos.

Use and Copyright Microcontroller Motion Activity #1: Connecting and Testing the Servo Servo on Board of Education Rev. C Servo on Board of Education

Servo Sweep. Learn to make a regular Servo move in a sweeping motion.

Copyright 2014 YASKAWA ELECTRIC CORPORATION All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or

EE 314 Spring 2003 Microprocessor Systems

ES86 Series Closed-loop Stepper Drive + Motor System (Drive+ Motor/Encoder)

Experiment #3: Micro-controlled Movement

ES86 Series Closed-loop Stepper Drive + Motor System (Drive+ Motor/Encoder)

ES86 Series Closed-loop Stepper Drive + Motor System (ES-D808 Drive+ Motor/Encoder)

PULSE INPUT MODULE PI232/PI272 USER S MANUAL

Application Note: CBLIO-ISO1-xM Cables for the Class 5 D-Style SmartMotor, Revised: 11/9/2016.

Hex Schmitt trigger BU4584B / BU4584BF / BU4584BFV. Standard ICs

Tarocco Closed Loop Motor Controller

Maintenance/ Discontinued

IX Feb Operation Guide. Sequence Creation and Control Software SD011-PCR-LE. Wavy for PCR-LE. Ver. 5.5x

HB-25 Motor Controller (#29144)

DS1807 Addressable Dual Audio Taper Potentiometer

Technical data. General specifications. Linearity error ± 0.1 Electrical specifications Operating voltage U B

Table of Contents 9.0 WARRANTY. 1.0 Introduction Package Contents. 2.0 Safety Instructions Overview...003

Serial Servo Controller

Quad 2-input AND gate

Quad 2-input NAND Schmitt trigger

Dual comparators BA10393 / BA10393F / BA10393N. Standard ICs

Myostat Motion Control Inc. Cool Muscle 1 RT3 Application Note. Program Bank Notes for Cool Muscle Language

MB1503. LOW-POWER PLL FREQUENCY SYNTHESIZER WITH POWER SAVE FUNCTION (1.1GHz) Sept Edition 1.0a DATA SHEET. Features

CL86T. 24~80VDC, 8.2A Peak, Closed-loop, No Tuning. Descriptions. Closed-loop. Stepper. Applications. Datasheet of the Closed-loop Stepper CL86T

Technical data. General specifications. Linearity error ± 0.1 Functional safety related parameters MTTF d 700 a at 40 C Mission Time (T M ) L 10

PSF-520 Instruction Manual

Quad ground sense operational amplifier

TC75S56F, TC75S56FU, TC75S56FE

OLA2 Open Loop Amplifier. Installation and Operating Manual Release May 2013

Device/PLC Connection Manuals

Mechatronics Project Report

DS1803 Addressable Dual Digital Potentiometer

ServoPac-A TTA-PRO Positioner

TD62308AP,TD62308AF TD62308AP/AF. 4ch Low Input Active High-Current Darlington Sink Driver. Features. Pin Assignment (top view)

30-80V, 8.2A Peak, No Tuning, Nulls loss of Synchronization

MDC VAC Input Brushless Controller. User s Guide. 910 East Orangefair Lane, Anaheim, CA

TD62383PG TD62383PG. 8 ch Low Input Active Sink Driver. Features. Pin Assignment (top view) Schematics (each driver)

TMPN3120FE3M, TMPN3120FE3U

RS232-B1 User Manual V1.2 05/10/2017

Quad Ground Sense Operational Amplifier. The CO324 is monolithic IC with four built-in operational amplifiers featuring internal phase compensation.

USER MANUAL SATEL i-link I/O-converter Version 1.6

I-7088, I-7088D, M-7088 and M-7088D User Manual

Technical data. General specifications V DC No-load supply current I 0. typ. 50 ma Power consumption P 0

HT /8 to 1/16 Duty VFD Controller

8-bit shift register and latch driver

Technical data. General specifications. Linearity error ± 0.1 Functional safety related parameters MTTF d 700 a at 40 C Mission Time (T M ) L 10

Integrated Easy Servo

TC75S55F, TC75S55FU, TC75S55FE

Width (W): 44 mm. bus connecting and branching terminal External supply --- Inputs: Number: up to 2 (depending on parameterization: channel 1 to 2)

Serial Control Hardware (RS-485)

Overview. Figure 2. Figure 1. Doc: page 1 of 5. Revision: July 24, Henley Court Pullman, WA (509) Voice and Fax

Disclaimers. Important Notice

Datasheet of the MEZ Stepper Servo Drive MEZ 2D VDC, 8.2A Peak, Closed-loop, No Tuning. Version

TCA62724FMG TCA62724FMG. 3-Channel Constant-Current LED Driver. Features TOSHIBA CMOS Integrated Circuits Silicon Monolithic

Quad operational amplifier

RW1026 Dot Matrix 48x4 LCD Controller / Driver

USB-B1 User Manual V1.1

7.2 DV1311.L08 and DV1311.L12

DS1621. Digital Thermometer and Thermostat FEATURES PIN ASSIGNMENT

GE-ABS302 and GE-ABS604

Veyron Servo Driver (24 Channel) (SKU:DRI0029)

Copyright / Trademarks -This manual and its contents are copyrighted. -You may not copy this manual,in whole or part,without written consent of

MN-X-X-X-T01, MHz 1, 1 Watt 2, Tunable Bandpass Filter, MINI- POLE

NOTE: The Flatpak version has the same pinouts (Connection Diagram) as the Dual In-Line Package.

3DM phase Digital Stepper Drive

MGL Avionics Autopilot. Servo. Specifications & Installation Manual. Last Update: 20 October Disclaimer:

TCK106AF, TCK107AF, TCK108AF

8-Bit A/D Converter AD673 REV. A FUNCTIONAL BLOCK DIAGRAM

FABO ACADEMY X ELECTRONIC DESIGN

DMMDRV 2017 Software User Manual. Version: A1324 / December 2017 Manual Code: DSFEN A

Blue Point Engineering Inc.

Functions module / Gateways Application Description Product Page KNX-GW-DMX-xxx DMX Gateway. KNX-GW-DMX Product Group 1

GE-ABS302 and GE-ABS604

Digital electronic module 4DO DC24V/2A HF (6ES7132-4BD30-0AB0) SIMATIC

The operation of the S-5852A Series is explained in the user's manual. Contact our sales office for more information.

Datasheet of the Easy Servo Drive ES-D VAC or VDC, 8.2A Peak, Close-loop, No Tuning. Version

TETRIX Servo Motor Expansion Controller Technical Guide

Specification. Scanning Laser Range Sensor C /7. Date: Symbol Amendment Details Amendment Date Amended by Number

Maintenance/ Discontinued

TLP557 TLP557. Transistor Inverter Inverter for Air Conditioner Power Transistor Base Drive. Pin Configuration (top view) Schematic.

RF1212 RF1212 Ultra-low Power ISM Transceiver Module V2.0

How to configure trigger output signals

R/W address auto increment External Crystal kHz oscillator

Manual IF2008A IF2008E

Servo Switch/Controller Users Manual

TOSHIBA Bipolar Linear Integrated Circuit Silicon Monolithic TA8050FG

OVEN INDUSTRIES, INC. Model 5C7-362

UNIPOLAR STEPPER MOTOR DRIVER

Built-in LCD display RAM Built-in RC oscillator

4590 Tank Side Monitor. Service Manual. Mark/Space Communication Protocol. Software Version v2.03 SRM009FVAE0808

8510 AC Spindle Drive System

CoolEx User Manual 2008 XDIMAX LTD. Revision 1.0

RoBoard Servo Motor RS-0263 Manual V1.01 The Heart of Robotics. Dec 2010 DMP Electronics Inc.

Transcription:

Servo Runner A User s Guide Version 1.2 Innovati s Servo Runner A module is capable of controlling up to 16 servos simultaneously. By providing integrated commands, this allows the user to determine the servo motion performance by directly setting the speed or time. Up to 250 frames are provided for storing the positions and motion configurations (speed or time), allowing various styles of motions to be achieved through the combinations of actions.

Trademark Innovati,, and BASIC Commander are registered trademarks of Innovati, Inc. InnoBASIC and cmdbus are trademarks of Innovati, Inc. Copyright 2008-2009 by Innovati, Inc. All Rights Reserved. Due to continual product improvements, Innovati reserves the right to make modifications to its products without prior notice. Innovati does not recommend the use of its products for application that may present a risk to human life due to malfunction or otherwise. No part of this publication may be reproduced or transmitted in any form or by any means without the expressed written permission of Innovati, Inc. Disclaimer Full responsibility for any applications using Innovati products rests firmly with the user and as such Innovati will not be held responsible for any damages that may occur when using Innovati products. This includes damage to equipment or property, personal damage to life or health, damage caused by loss of profits, goodwill or otherwise. Innovati products should not be used for any life saving applications as Innovati s products are designed for experimental or prototyping purposes only. Innovati is not responsible for any safety, communication or other related regulations. It is advised that children under the age of 14 should only conduct experiments under parental or adult supervision. Errata We hope that our users will find this user s guide a useful, easy to use and interesting publication, as our efforts to do this have been considerable. Additionally, a substantial amount of effort has been put into this user s guide to ensure accuracy and complete and error free content, however it is almost inevitable that certain errors may have remained undetected. As Innovati will continue to improve the accuracy of its user s guide, any detected errors will be published on its website. If you find any errors in the user s guide please contact us via email service@innovati.com.tw. For the most up-to-date information, please visit our web site at http//www.innovati.com.tw. i

Table Of Contents Product Overview... 1 Application... 1 Product Features... 2 Connection... 3 Product Specifications... 4 Precautions For Operations... 5 Commands And Events... 6 Example Program... 9 Appendix... 11 ii

Servo Runner A User s Guide Product Overview Innovati s Servo Runner A module is capable of controlling up to 16 servos simultaneously. By providing integrated commands, this allows the user to determine the servo motion performance by directly setting the speed or time. Up to 250 frames are provided for storing the positions and motion configurations (speed or time), allowing various styles of motions to be achieved through the combinations of actions.please use ServoRunnerA as the module object name in program. Application The operation and application of various servos which could include applications such as robotic arms, robotic joints, etc. 1

Product Features 16 servo control output interfaces for controlling 16 servos simultaneously. Capable of controlling the servo position from 0.5 ms to 2.5 ms. Software fine-tuning commands allow the fine adjustment of each servo rotation angle in the range of -128~127 µs without machine disassembly. The program allows the user to set the servo rotation speed. The user can set multiple levels for the servo rotation speed according to their specific requirements. The user can set a common time for every servo to reach different rotation angles at the same time. Up to 250 servo motion frames available for storing the positions, speeds or the time parameters of the 16 servos. These can be retrieved at a later time avoiding repeated setting operations which allows the user to combine the actions for various operations. 4 event notifications allowing the user to proceed to the next operation once the completion of the action is detected. The event can be configured based on detection the state of any one of the 16 servos. Various state inquiry commands allows the user to confirm whether the action of the servo has completed or not at any time, to acquire the current position and the target position and to fine adjuwst the parameters or the preset time and speed values. Resolution can be as small as 2µs. 2

Servo Runner A User s Guide Connection Directly setup the ID switches to the required number, and then connect the cmdbus cable to the corresponding pins on the BASIC Commander (shown in the following figure). Then the required operations can be performed through the BASIC Commander. DC power (6~12V) and ground should be connected to VIN and GND pin. Figure 1 Connect Servo Runner A with BASIC Commander and Servo There are 16 servo connectors. Each connector has 3 pins, one to provide the control signal and two for the servo power. The servos should be connected according to the pin assignment configurations shown in figure on the right. In addition, the power required for the servos should be supplied at the power input position as shown in the figure. Take care to ensure that the current and voltage supply to the servos is correct to prevent the servos from damage. 3

Product Specifications The input pins for the power supply of the servo controller module. The user can select any one from the two sets of input pins. Care should be taken to ensure correct pin polarity. Reversed connections may cause damage. Module number setting switches. Set the number of the Servo module in binary format in right to left order. The module number is used by the BASIC Commander to determine the required module to be controlled. cmdbus connection pins. Connect these pins to the corresponding pins of the BASIC Commander to allow the BASIC Commander to control the Servo module. (When connecting, please pay attention to the pin assignment. Connect Vin to Vin on the BASIC Commander. Incorrect pin connection may cause damage to the module) There are 16 sets of pins numbered 0~15. Each set has 3 pins allowing the user to connect up to 16 servos. The servo number printed on the circuit board corresponds to the number assigned in the controller program. The Black pins in the same column should be connected to the ground pins of the servos. Please pay attention to the pin assignment. Incorrect pin connection may cause damage to the module. Figure 2 Pin Assignment And Switches Of The Module 4

Servo Runner A User s Guide Precautions For Operations Please ensure that the voltage and current ranges are correct for the connected servos. Select a suitable power supply and connect correctly to Vser. The Pulse pins of the servo should be connected to the module to comply with the requirements shown in Table 1. Symbol Parameter Test Conditions (VIN=7.5V) Min Typ Max Unit VOH I/O Port output high voltage No load - 5 - V VOL I/O Port output low voltage No load - 0 - V IOL I/O Port Sink Current Vload=0.1VOH 10 20 - ma IOH I/O Port Source Current Vload=0.9VOH -5-10 - ma IL Current consumption No load(connected to cmdbus) - 7 - ma Table 1 Servo Runner A module D.C. Characteristics (Ambient Temperature = 25 C) Absolute Maximum Ratings Operating Temperature 0 C ~ 70 C (excluding the servos) Storage Temperature -50 C ~ 125 C 5

Commands And Events The following tables list all the unique commands and events provided with the Servo Runner A Module. Note that essential words in the commands will be written in bold type and italics in bold type. The bold type word must be written exactly as shown, whereas the italic bold type words must be replaced with the user values. Note that the innobasic language is case-insensitive. Command Format Servo Position Commands SetPos (ID, Pos) SetPosAndRun(ID, Pos) SetPosSpd(ID, Pos, Spd) SetPosSpdAndRun(ID, Pos, Spd) SetPosTime(ID, Pos, Time) SetPosTimeAndRun(ID, Pos, Time) Servo Start Commands Run1Servo(ID) Run15Servo(ID1,, ID15) RunAllServo() Description Set the servo with ID, ranging from 0 to 15, for operation. The target position is set by Pos. Note that the allowed range for Pos is 499~2500 in the unit of µs. If the given value is out of this range, the command will not be executed. Same as command above. Except after settings are done, the servo starts to operate. Set the servo with ID, ranging from 0 to 15, for operation. The target position is set by Pos and traveling at a speed of Spd. The larger the Spd value is, the faster the servo travels. Note that the Spd with value 0 means the full speed. (Spd unit is s/s) Same as command above. Except after settings are done, the servo starts to operate. Set the servo with ID, ranging from 0 to 15, for operation. The target position is set by Pos and traveling to the target position in Time milliseconds. The allowable range of Time is 0~65535. Note that the Time with value 0 means full speed. If the value of Time is too short, the servo will travel at full speed. Same as command above. Except after settings are done, the servo starts to operate. According to the set value of servo ID(s), ranging from 0 to 15, each corresponding servo will perform the preset operation. If the servo starts without the speed or time settings but only the position setting, the servo will travel at the maximum speed. If any ID value out of its range, this command will not be executed. 6

Servo Runner A User s Guide Command Format Run1ServoWithEventA(ID) Run15ServoWithEventA(ID1,,ID15) RunAllServoWithEventA() Run1ServoWithEventB(ID) Run15ServoWithEventB(ID1,, ID15) RunAllServoWithEventB() Run1ServoWithEventC(ID) Run15ServoWithEventC(ID1,, ID15) RunAllServoWithEventC() Run1ServoWithEventD(ID) Run15ServoWithEventD(ID1,, ID15) RunAllServoWithEventD() Servo Stop Commands Pause1Servo(ID) Pause15Servo(ID1,, ID15) PauseAllServo() Stop1Servo(ID) Stop15Servo(ID1,, ID15) StopAllServo() Servo and Memory Status Commands Get1ServoReadyStatus(ID, Status) Get15ServoReadyStatus(ID1,, ID15, Status) GetAllServoReadyStatus(Status) GetNowPos (ID, Pos) GetPos(ID, Pos) GetPosOffset(ID, Offset) Description Same as above, except that the event A will be triggered when all the indicated servos reach their target positions. Same as above, except that the event B will be triggered when all the indicated servos reach their target positions. Same as above, except that the event C will be triggered when all the indicated servos reach their target positions. Same as above, except that the event D will be triggered when all the indicated servos reach their target positions. According to the set value of servo ID(s), ranging from 0 to 15, each corresponding servo will stop at the preset operation. If any ID value out of its range, this command will not be executed. Same as above, except that the control signal ceases to transmit to the servo(s). As a result, the servo will change its position by applying an external force. Get the operation status of the servo(s) indicated by ID(s), ranging from 0 to 15, and store the status in Status. When all the servos reach their target positions, the returned status will be 1, otherwise value 0 will be returned. Get the current position of the servo indicated by ID, ranging from 0 to 15, and then store it in the word variable Pos. Get the target position of the servo indicated by ID, ranging from 0 to 15, and then store it in the word variable Pos. Get the position offset of the servo indicated by ID, ranging from 0 to 15, and then store it in the short variable Offset, ranging form -128 to 127. The unit of Offset is microsecond (µs). 7

Command Format GetSpdAndTime(ID, Type, Value) LoadFrame(FrameID) SaveFrame(FrameID) SetPosOffset(ID, Offset) LoadOffset() SaveOffset() Table 2 Command Table Description Get the motion type of the servo indicated by ID, ranging from 0 to 15, and store the values in Type. The corresponding setting values are stored in the word variable Value. If the set servo travel type is speed, then the returned value for Type will be 1. If the set servo travel type is time, then the returned value for Type will be 0. Load the servos operation settings from the frame memory block indicated by FrameID, ranging from 0 to 249, as the current target position and motion type of the servos. Store the current settings of servos operations into the frame memory blocks indicated by FrameID, ranging from 0 to 249. Set the offset of the servo indicated by ID with the value Offset, ranging from -128 to 127. Load the offset value from the EEPROM and replace the current settings. Store current offset value into the EEPROM. Event Name ServoPosReadyEventA ServoPosReadyEventB ServoPosReadyEventC ServoPosReadyEventD Description Execute the RunN ServoWithEventA command, where N can be literally 1~15 or All. When all the indicated servos reach their target positions, this event will be triggered. Execute the RunN ServoWithEventB command, where N can be literally 1~15 or All. When all the indicated servos reach their target positions, this event will be triggered. Execute the RunN ServoWithEventC command, where N can be literally 1~15 or All. When all the indicated servos reach their target positions, this event will be triggered. Execute the RunN ServoWithEventD command, where N can be literally 1~15 or All. When all the indicated servos reach their target positions, this event will be triggered. Table 3 Event Table 8

Servo Runner A User s Guide Example Program In the example program, the position value is set according to the range of the majority of the servos. Please adjust the allowed position range for the servos to avoid damage to the servos. Peripheral myser As ServoRunnerA @ 0 Set the module to be operated as 0 Dim EventEnd As Byte Dim i As Byte Dim SerStatus As Byte Store the variable for indicate the completion of the event Store the loop variable Store the Status of the Servo Sub Main() Main subroutine myser.setposoffset(0, 0) Set the offset value of Servo0 as 0 myser.setposandrun(0, 1500) Run Servo 0 to position 1500 Pause 1000 Pause for the servo to move to the target position myser.setpos(0, 2200) Set the target position of Servo 0 as 2200 myser.saveframe(0) Save the current motion as Frame 0 myser.run1servo(0) Allow Servo 0 to start the motion Pause 500 myser.setposspdandrun(0, 700, 1000) Servo 0 moves to the position 700 at speed 1000 Pause 2000 myser.setpostimeandrun(0, 2200, 1000) Pause 1000 EventEnd=0 myser.setpostime(0, 700, 1000) myser.saveframe(1) myser.run1servowitheventa(0) Do Pause 1 Loop Until EventEnd=1 Servo 0 moves to the position 2200 in 1 second. Set Servo 0 to position 700 in 1 second Save the current motion as Frame1 Run Servo 0 and generate EventA when com pletes Repeats to load values in Frame 0 and Frame1 and then activate Servo 0 for operation. The position value stored in Frame 0 is 2200. The position value stored in Frame1 is 700. Servo 0 will move between these two positions back and forth 4 times. For i=0 To 3 myser.loadframe(1) Read the setting value stored in Frame 1 9

myser.run1servo(0) Pause 1000 myser.loadframe(0) Read the setting value stored in Frame 0 myser.run1servo(0) Pause 1000 Next myser.setposandrun(0, 1500) The following loop repeats to perform a Status reading operation. After completion of the operation is confirmed, the loop will stop Do myser.get1servoreadystatus(0, SerStatus) Read Servo 0 and store it in SerStatus Loop Until SerStatus>0 End Sub Event myser.servoposreadyeventa() myser.setposandrun(0, 2200) Pause 1000 EventEnd=1 End Event 10

Servo Runner A User s Guide Appendix Important Notes At version 1.0, note that while using this command for obtaining the target position, the command should be performed more than 1 ms after the set-position command is executed. Otherwise, it may retrieve previous set position value. At version 1.0, while using SaveFrame for storing the positions, the position value should be an even number. If it is an odd number, an error will occur while retrieving the value. At version 1.0, note that while performing repeated SaveFrame storing operations in series, the storing operations should be separated by a time interval of at least 5 ms. Otherwise, it may not be possible to correctly perform all the store commands. 11

Module ID Setting Table DIP Switch ID DIP Switch ID DIP Switch ID DIP Switch ID 0 8 16 24 1 9 17 25 2 10 18 26 3 11 19 27 4 12 20 28 5 13 21 29 6 14 22 30 7 15 23 31 Table 4 Module ID Setting Table 12