Home
ESP300 Motion Controller/Driver - NI Discussion Forums
Contents
1. Number ASCII Binary decimal Code Code 178 10110010 179 10110011 180 10110100 181 10110101 182 10110110 183 10110111 184 10111000 185 10111001 186 10111010 187 10111011 188 10111100 189 10111101 190 10111110 191 10111111 192 11000000 193 11000001 194 11000010 195 11000011 196 11000100 197 11000101 198 11000110 199 11000111 200 11001000 201 11001001 202 11001010 203 11001011 204 11001100 205 11001101 206 11001110 207 11001111 208 11010000 209 11010001 210 11010010 211 11010011 212 11010100 213 11010101 214 11010110 215 11010111 216 11011000 217 11011001 218 11011010 219 11011011 220 11011100 221 11011101 222 11011110 223 11011111 224 11100000 225 11100001 226 11100010 Table D 1 Binary Conversion Table using decimal and ASCII codes Continued Appendix D Binary Conversion Table D 5 Number ASCII Binary decimal Code Code 227 11100011 228 11100100 229 11100101 230 11100110 231 11100111 232 11101000 233 11101001 234 11101010 235 11101011 236 11101100 237 11101101 238 11101110 239 11101111 240 11110000 241 11110001 242 11110010 243 11110011 244 11110100 245 11110101 246 11110110 247 11110111 248 11111000 249 11111001 250 11111010 251 11111011 252 11111100 253 11111101 254 11111110 2
2. BM Assign DIO bits to notify motion 3 36 status BN Enable DIO bits to notify motion 3 37 status BO Set DIO Port Direction 3 38 BP Assign DIO for jog mode 3 40 BQ Enable disable DIO jog mode 3 41 DC Setup data acquisition 3 16 DD Get data acquisition done status 3 50 DE Enable disable data acquisition 3 51 DF Get data acquisition sample count 3 52 DG Get acquisition data 3 53 ES Define event action command 3 51 string PC Set position compare mode 3 114 RA Read analog input 3 130 SB Set DIO state 3 135 UL Wait for DIO bit low 3 L56 UH Wait for DIO bit high 3 155 GROUP FUNCTIONS Cmd Description IMM PGM MIP Page HA Set group acceleration 3 58 HB Read list of groups assigned 3 70 HC Move group along an arc 3 71 HD Set group deceleration 3 73 HE Set group E stop deceleration 3 75 HF Group motor power OFF 3 76 HJ Set group jerk 3 77 HL Move group along a line 3 78 HN Create new group 3 30 HO Group motor power ON 3 32 HP Get group position 3 33 HQ Wait for group via point buffer 3 34 near empty HS Stop group motion 3 35 HV Set group velocity 3 36 HW Wait for group motion to stop 3 37 HX Delete a group 3
3. 2 3 3 4 4 5 5 6 6 T 7 8 8 Q 9 9 Pin D Sub 9 Pin D Sub Male Connector Female Connector on Controller Side on Computer Side Figure C 2 Conductor pin to pin RS 232C interface cable C 1 9 Motor Interlock Connector BNC This connector is provided for the wiring of one or more remote Emergency Stop switches They will have the same effect as the front panel STOP ALL button The switch has to be normally closed for operation If more than one switch is installed they should be connected in series The minimum rating for the switches should be 50 mA at 5V The ESP300 is supplied with a dust cap that automatically provides the proper connection for operation if no switch is connected See Figure C 3 Appendix C Connector Pin Assignments C 7 Pin Description Center Pin Input Emergency Stop must always be connected to the shell GND during normal controller operation An open circuit is equivalent to pressing STOP ALL on the front panel Connector Shield Provides GND for switch Connector BNC with Dust Cap Figure C 3 Motor Interlock Connector BNC with dust cap C 8 Appe
4. c ee 2 2 2 2 3 Changing Values eects 2 2 2 2 4 Motion from the Front Panel 2 3 2 2 5 Detailed Description of Menu Items 2 5 Section 3 Remote Mode cccccsseseeeeeeeeeeeeees 3 1 3 1 Programming Modes ccccesceeecceseeeereeeteees 3 1 3 2 Remote Interfaces sseeeseeeeeseeeeeeeesrreesserees 3 4 3 2 1 RS 232C Interfacess isccises ceed 3 4 3 2 2 IEEE488 Interface 0 cc cece 3 5 3 3 Software Utilities 6c isetpscddactsciessotdeaed teeckdaien 3 6 Preface 3 4 Command Syntax ccsescacervieitsseaaenlewtinuss 3 7 3 4 1 Summary of Command Syntax 3 8 3 5 Command Summary sissiccsssisceashcesteaateasecasdansiaas 3 9 3 5 1 Command List by Category 3 10 3 5 2 Command List Alphabetical 3 15 3 6 Description of Commands ceeeeee 3 18 Section 4 Advanced Capabilities 008 4 1 4 1 Groping Pree na aiaa 4 1 4 1 1 Introduction Advanced Capabilities 4 1 4 1 2 Defining a Group amp Group Parameters niei nca cesta eadadeyt 4 4 1 2 1 Creating a Group 4 1 4 1 2 2 Defining Group Parameters 4 2 4 1 3 Making Linear and Circular Moves 4 2 4 1 3 1 Making Linear Move 4 3 4 1 3 2 Making Circular Move 4 3 4 1 4 Making Contours ce eeeeeeeseeeeeee 4 4 4 1 5 Miscellaneous Commands 4 7 4 2 Slaving a Stage to Trackball Joystick or a Different SAS ees isecssctt
5. Figure 3 1 Command Syntax Diagram NOTE A controller command or a sequence of commands has to be terminated with a carriage return character However responses from the controller are always terminated by a carriage return line feed combination This setting may not be changed If the IEEE interface is used the IEEE controller has to be configured to terminate the input read function when it senses the line feed character 3 7 3 8 3 4 1 Summary of Command Syntax COMMAND FORMAT The gener AA on wo character mnemonic AA Both upper and lowercase are accepted Depending on the command it could also have optional or required preceding xx and or following nn parameters BLANK SPACES Blank spaces are allowed and ignored between parameters and commands For the clarity of the program and memory saving considerations use blank spaces with restraint The following two commands are equivalent 2 PA 1000 2PA1000 but the first example is very confusing and uses more than twice the memory COMMAND LINE Commands are executed line by line A line can consist of one or a number of commands The controller will interpret the commands in the order they are received and execute them sequentially This means that commands issued on the same line are executed significantly closer to each other than if they would be issued on separate lines The maximum number of characters allowed on a command line is 80 S
6. ceeeeeeeeees 7 2 7 1 2 Activating the Keyboard 7 2 Appendix A Error Messages seeeeeeeeeeeees A 1 Preface Preface Appendix B Trouble Shooting Maintenance B 1 B 1 Trouble Shooting Guide cccceseeseeeeeeeees B 2 B 2 Fuse Replacement iai siaasssavastuaeicrtsieansatects B 4 B 2 1 Replacing Fuses on the ESP300 Rear Power Line Panel ceeeeeeeeereees B 4 B 3 CleaNIN castrate ast a a ya B 5 Appendix C Connector Pin Assignments C 1 C 1 ESP300 Rear Panel 33 2ict ciseceisartectshsecsteaseones C 1 C 1 1 GPIO Connector 37 Pin D Sub C 1 C 1 2 Signal Descriptions Digital I O 37 Pin JPAC ONCOL cant Meee de lsiece C 1 C 1 3 Motor Driver Card 25 Pin I O CONNEC isisisi C 2 C 1 4 Signal Descriptions Motor Driver Card 25 Pin I O Connector ccccceeees C 3 C 1 5 Auxiliary Encoder Inputs C 5 C 1 6 JEEE488 Interface Connector 24 DUR eins niaii iei C 6 C 1 7 RS 232C Interface Connector 9 Pin D SUb Jeroe hanee n h C 6 C 1 8 RS 232C Interface Cable C 7 C 1 9 Motor Interlock Connector BNC C 7 Appendix D Binary Conversion Table D 1 Appendix E System Upgrades sseeeeeeeeees E 1 E 1 Adding ARES 2 boc cinceset cela ues tear Scud Fac ecadl 5 E 2 E 2 Adding VAEEAS 8 iciss2tsiadtbassase Qtarseataavintageaseadss E 3 E 3 Changing the Front Panel Option E 4 Ap
7. xxPRnn xx int axis number nn float relative motion increment xx 1 to MAX AXES nn any value that will not cause exceeding the software limits and within 2e9 encoder resolution xx none nn defined motion units xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx04 POSITIVE HARDWARE LIMIT EXCEEDED out of range error xx05 NEGATIVE HARDWARE LIMIT EXCEEDED out of range error xx06 POSITIVE SOFTWARE LIMIT EXCEEDED out of range rror xx07 NEGATIVE SOFTWARE LIMIT EXCEEDED This command initiates a relative motion When received the selected axis xx will move with the predefined acceleration and velocity to a relative position nn units away from the current position If the requested axis is member of a group this command does not initiate the desired motion Instead error xx31 COMMAND NOT ALLOWED DUE TO GROUP ASSIGNMENT is generated Refer HL and HC commands to move along a line or an arc If this command is issued when trajectory mode for this axis is not in trapezoidal or s curve mode the controller returns error xx32 INVALID TRAJECTORY MODE FOR MOVING Note Even though the command is accepted while a motion is in progress care should be taken not to reverse direction of motion none AC set acceleration PA move to absolute position MD move done status ST stop motion
8. USAGE SYNTAX PARAMETERS DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP QP None This command quits the controller from programming mode All the commands following this one will be executed immediately none EX execute stored program AP abort stored program execution XX erase program 3XX clear program 3 from memory if any 3EP activate program mode and enter following commands as program 3 QP end entering program and quit programming mode 3EX run stored program number 3 3 125 OR reduce motor torque USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 126 IMM PGM MIP xxQRnnl nn2 or xxQR xx int axis number nni in delay period nn2 float motor current reduction percentage XX 1 to MAX AXES nni 0 to 60000 nn2 0 to 100 XX none nni milliseconds nn2 percent of max motor current XX missing error 37 AXIS NUMBER MISSING missing parameter error 38 COMMAND PARAMETER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE This command automatically reduces the specified step motor s current i e torque output to the requested percentage nn2 after motion has stopped and the specified time nn1 has expired The purpose of this command is to help reduce the motor heating typically generated by stepper motors If xx is e
9. Modes of Operation 2 2 4 Section 2 Modes of Operation QO Newport Universal Motion Controller Driver Mose 59900 2 Press the Down Arrow repeatedly until the cursor diamond shaped is aligned with the SET VELOCITY menu item 3 Press the Right Arrow button once Now a sub menu list becomes available 4 Press the Right Arrow button to select the SET LO JOG VEL menu item The screen shown below is displayed at this time Figure 2 2 Menu Item 5 Press the Right Arrow button once One digit on the display flashes at this point indicating that it can be changed The digit can be incremented with the Up Arrow button or decremented using the Down Arrow button Other digits can be changed similarly 6 The set value can now be validated by pressing the OK button or cancelled by pushing the CX button Also if you choose to exit this menu item with the Left Arrow key the set value will also be valid Motion from the Front Panel As shown in Figure 2 3 the right side of the front panel accommodates simple manual notion capabilities Move in Move with Move in Negative High Speed Positive Home Direction Direction Stage Connector for Sop All Motion Remote Keypad Figure 2 3 Motion from the Front Panel Displayed 2 3 High lt as ED HOME Axis l KEYPAD Move in Negative Direction with low speed This button can be programmed to cause motion in user definable increment
10. Physically an encoder has two parts a scale and a read head The scale is an array of precision placed marks that are read by the head The most commonly used encoders optical encoders have a scale made out of a series of transparent and opaque lines placed on a glass substrate or etched in a thin metal sheet Figure 5 27 Figure 5 27 Optical Encoder Scale Section 5 Motion Control Tutorial 5 23 The encoder read head has three major components a light source a mask and a detector Figure 5 28 The mask is a small scale like piece having identically spaced transparent and opaque lines light source detector mask Figure 5 28 Optical Encoder Read Head Combining the scale with the read head when one moves relative to another the light will pass through where the transparent areas line up or blocked when they do not line up Figure 5 29 The detector signal is similar to a sine wave Converting it to a digital waveform the user will get the desired encoder signal But this is only one phase only half of the signal needed to get position information The second channel is obtained the same way but from a mask that is placed 90 out of phase relative to the first one Figure 5 30 Figure 5 29 Single Channel Optical Encoder Scale and Read Head Assembly 5 24 Section 5 Motion Control Tutorial There are two basic types of encoders linear and rotary The linear encoders also called linear scales
11. Remove the 2 screws as shown Remove 6 screws on the bottom of unit that attach Front Panel to Chassis Figure E 3 How to remove screws inside the unit for the Front Panel 4 Remove the 6 screws on the bottom of the unit that attach the Front Panel to the unit chassis 5 Attach the new front panel option by installing the 6 screws on the bottom and the two screws inside the unit 6 Connect the front panel with the 40 pin ribbon connector 7 Re install the top cover The unit is now ready for use E 4 Appendix E System Upgrades Appendix F ESP Configuration Logic Each time a stage or stages are disconnected re connected or a system is powered down and then back up the ESP300 controller card verifies the type of stage s present and re configures its own flash memory if necessary i e new stage The controller card in the ESP300 system configuration the stage motor and the current type are defined the controller card will configure the specific axis Specific ESP logic is shown in Figure F 1 Appendix F ESP Configuration Logic F 1 Is An ESP Stage Present Was An ESP Stage Present No Yes Is A Non ESP Stage Present Was Same ESP Stage Present Yes No Yes Copy ESP Stage Data To Erase Controller Flash Controller Memory And Load Default Flash Parameters Memory Is Drive Axis Dracant Is Motor Type amp Cur
12. USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 104 IMM PGM MIP xxMTnn or xxMT xx int nn char XX a nn XX nn x XX missing out of range nn missing This command i the home search axis number direction of motion 1 to MAX AXES for positive direction or for negative direction none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE positive direction s used to move an axis to its limit positive or negative It uses speed during travel to hardware limit Note This command cannot be issued after enabling DAQ refer ASCII command DE If sign takes or 0 if motion is OR OH 3MT 3MT 0 the place of nn value this command reports 1 if motion is done in progress home location search set home search speed move axis 3 to positive travel limit query motion status controller returns 0 indicating motion is in progress Section 3 Remote Mode MV move indefinitely USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS Section 3 Remote Mode IMM PGM MIP xxMVnn or xxMV xx int axis number nn char direction of motion xx 1toMAX AXES nn for positive direction or for negative direction xx none nn none xx missing error 37 AXIS NUMBER MISSING out of ran
13. XX missing out of range not assigned floating point MIP group number 1 to MAX GROUPS none error 13 GROUP NUMBER MISSING error 14 GROUP NUMBER OUT OF RANGE error 15 GROUP NUMBER NOT ASSIGNED truncated This command is used to read the actual position the instantaneous real position of all axes assigned to a group nny NN nni HN HC HL 1HN1 2 1HP 10 50 Section 3 Remote Mode where nn actual position of ith axis in the group create a new group move a group of axes to desired position along an arc move a group of axes to desired position along a line create a new group 1 with physical axes I and 2 read position of group 1 controller returns axis 1 10 units axis 2 50 units 3 83 HQ wait for group command buffer level USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 84 IMM PGM MIP xxHQnn or xxHQ xx int group number nn float level in group via point buffer xx 1 to MAX GROUPS nn to 10 default for maximum targets in via point buffer xx none nn milliseconds XX missing error 13 GROUP NUMBER MISSING out of range error 14 GROUP NUMBER OUT OF RANGE not assigned error 15 GROUP NUMBER NOT ASSIGNED floating point truncated nn Missing parameter error 21 GROUP PARAMETER MISSING This command stops enqueuing new commands into the via point buf
14. The problem with this definition is that through correct it is difficult to remember A more graphical representation is presented in Figure 5 10 Imagine a tiny carriage driven by a giant lead screw When the carriage rolls sideways on the lead screw pitch we call that Pitch And when the carriage deviates left or right from the straight direction on an imaginary Y trajectory we call it Yaw T Roll Yaw Screw Pitch Figure 5 10 Pitch Yaw and Roll Motion Axes Section 5 Motion Control Tutorial 5 9 5 2 10 Wobble 5 2 11 This parameter applies only to rotary stages It represents the deviation of the axis of rotation during motion A simple form of Wobble is a constant one where the rotating axis generates a circle Figure 5 11 Q Figure 5 11 Wobble Generates a Circle A real rotary stage may have a more complex Wobble where the axis of rotation follows a complicated trajectory This type of error is caused by the imperfections of the stage machining and or ball bearings Load Capacity There are two types of loads that are of interest for motion control applications static and dynamic loads The static Load Capacity represents the amount of load that can be placed on a stage without damaging or excessively deforming it Determining the Load Capacity of a stage for a particular application is more complicated than it may first appear The stage orientation and the distance from the load to the c
15. read error message 0 500322 GROUP AXIS ALREADY ASSIGNED 2HN4 4 5 create a new group 2 with physical axes 4 4 and 5 2HN query axis assigned to group 2 TB read error message 0 525322 GROUP AXIS DUPLICATED 3 81 HO group on IMM PGM MIP USAGE SYNTAX xxHO or xxHO PARAMETERS Description xx int group number Range XX 1 to MAX GROUPS Units XX none Defaults XX missing error 13 GROUP NUMBER MISSING out of range error 14 GROUP NUMBER OUT OF RANGE not assigned error 15 GROUP NUMBER NOT ASSIGNED floating point truncated DESCRIPTION This command turns power ON ofall axes assigned to a group Refer MO command to turn the power ON of individual axes The group power is assumed to be ON if power to all axes in the group is ON RETURNS If sign is issued along with command the controller returns 1 group power is ON 0 group power is OFF REL COMMANDS HN create anew group HF turn group power OFF EXAMPLE 1HN1 2 create a new group 1 with physical axes 1 and 2 1HO turn group 1 power ON 1HO query group 1 power status 1 controller returns a value of 1 1HF turn group 1 power OFF 1HO query group 1 power status 0 controller returns a value of 0 3 82 Section 3 Remote Mode HP read group position USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM xxHP xx int XX
16. 00100011 36 00100100 37 00100101 38 amp 00100110 39 1 00100111 40 00101000 41 00101001 42 00101010 43 00101011 44 00101100 45 00101101 46 00101110 47 00101111 48 0 00110000 49 1 00110001 50 2 00110010 51 3 00110011 52 4 00110100 53 5 00110101 54 6 00110110 55 7 00110111 56 8 00111000 57 9 00111001 58 00111010 59 00111011 60 lt 00111100 61 00111101 62 gt 00111110 63 00111111 64 01000000 65 A 01000001 66 B 01000010 67 C 01000011 68 D 01000100 69 E 01000101 70 F 01000110 71 G 01000111 72 H 01001000 73 I 01001001 74 J 01001010 75 K 01001011 76 L 01001100 77 M 01001101 78 N 01001110 79 O 01001111 Table D 1 Binary Conversion Table using decimal and ASCII Codes Continued Appendix D Binary Conversion Table Number ASCII Binary decimal Code Code 80 P 01010000 81 Q 01010001 82 R 01010010 83 S 01010011 84 T 01010100 85 U 01010101 86 Vv 01010110 87 W 01010111 88 X 01011000 89 Y 01011001 90 Z 01011010 91 01011011 92 01011100 93 01011101 94 3 01011110 95 01011111 96 i 01100000 97 A 01100001 98 B 01100010 99 C 01100011 100 D 01100100 101 E 01100101 102 F 01100110 103 G 01100111 104 H 01101000 105 I 01101001 106 J 01101010 107 K 01101011 108 L 01101100 109 M 01101101 110 N 01101110 111 O
17. 29 AP Abort program 3 30 AU Set maximum acceleration and deceleration 3 31 BA Set backlash compensation 3 32 BG Assign DIO bits to execute stored programs 3 33 BK Assign DIO bits to inhibit motion 3 34 BL Enable DIO bits to inhibit motion 3 35 BM Assign DIO bits to notify motion status 3 36 BN Enable DIO bits to notify motion status 3 37 BO Set DIO port A B C direction 3 38 BP Assign DIO bits for jog mode 3 40 BQ Enable DIO bits for jog mode 3 41 BR Set serial communication speed 3 42 CL Set closed loop update interval 3 43 CO Set linear compensation 3 44 DB Set position deadband 3 45 DC Setup data acquisition 3 46 DD Get data acquisition done status 3 50 DE Enable disable data acquisition 3 51 DF Get data acquisition sample count 3 52 DG Get acquisition data 3 53 DH Define home 3 54 DL Define label 3 55 DO _ Set DAC offset 3 56 DP Read desired position 3 57 DV Read desired velocity 3 58 EO Automatic execution on power on 3 59 EP Enter program mode 3 60 ES Define event action command string 3 6l EX Execute a program 3 63 FE Set maximum following error threshold 3 64 Section 3 Remote Mode 3 15 TABLE 3 5 2 Command List Alphabetical Continued
18. D m re Or oro disable amplifier fault input checking enable amplifier fault input checking do not disable motor on amplifier fault event disable motor on amplifier fault event do not abort motion on amplifier fault event abort motion on amplifier fault event reserved reserved reserved reserved amplifier fault input active low amplifier fault input active high configure step motor control outputs for STEP DIRECTION configure step motor control outputs for STEP STEP configure STEP output as active low configure STEP output as active high configure DIRECTION output as active low for negative move configure DIRECTION output as active high for negative move do not invert servo DAC output polarity invert servo DAC output polarity amplifier enable output active low amplifier enable output active high stepper motor winding is FULL stepper motor winding is HALF eee reserved reserved default setting This bit assignment is effective only on ESP100 and ESP300 motion controllers Also any change in motor winding takes affect only when the controller is reset or power cycled As a result amplifier I O configuration must be saved to memory and controller must be reset for this change to take affect If the sign takes the place of nn value this command reports the current setting in hexadecimal notation ZB ZE ZF ZH ZS ZZ set feedback configuration set e stop configuration se
19. DC motor control e 18 bit DAC resolution e 4MHz maximum encoder input frequency e Digital PIDFF servo loop 0 4 ms update rate Stepper motor control e Upto 1000 microstep resolutions per full step Computer Interface e RS232 C 19200 baud 8 bits 8 N 1 e JEEE488 Utility interfaces e 16 bit digital inputs outputs user definable in blocks of 8 e Remote motor off input interlock User Memory e 64 KB npn volatile program memory e 512 byte command buffer Operating modes e Local mode stand alone operation executing motion from the front panel e Remote mode executing commands received over one of the computer interfaces or the optional handheld keypad e Program execution mode execution of a stored program 1 7 1 8 1 4 3 Optional display e 80 character alpha numeric LCD display e Displays position status utility menus and setup screens Dimensions e 3 2U Hx 16 5 Wx 12 D 75 x 412 x 300 mm Power requirements e 100 240VAC 10 50 60 Hz e 4A max Fuses e T4A 250VAC Weight e 12 lb max 5 4 Kg max Operating conditions e Temperature 0 C to 40 C e Humidity 20 to 90 RH non condensing Descriptions of Front Panel Versions The ESP300 is available with either a blank front panel or a front panel with LCD display and manual control buttons With the display version a menu allows the user to change velocities accelerations and more without a compu
20. If you would like to be notified as soon as this problem is resolved please enter your email address and name in the space provided below If you would like to get in contact with someone click here Note We have found a problem with people trying to access pages that had old file extensions which are no longer used by Newport com To check if this is the problem you are having click here If you are redirected back to this page then the link probably does not exist or there is an error on the page If you would like to be notified when this page has been fixed click here Terms of Use Privacy Policy Copyright 1996 2002 Newport Corporation All rights reserved http www newport com srvc service html 03 06 2002 9 25 24 AM Newport Support Service and Returns PRODUCTS STORE ABOUTUS SUPPORT INVESTORS ry Cart 7 Help Search 60 Part Search Site Index Contact Product Service Return Information Technical Help Service and Returns FAQs Tutorials Application Notes Technical Notes e Service Department Technical Support e Returning Products to Newport e Service Contracts e System Installation Services e Service Rates US Download Software Magazine Features Industry Links OUR PRODUCT WARRANTY Because we are confident that they will meet your high standards our products carry the following warranty effective for a period of one year from t
21. PES AD ODL Molonai Ses Beanes yce e a sisson E a amen va ei 21 PUG SER ACCEIETATION xenscasstevncenaasncvasssubaganiorinsyandaxaseeneacnnaerantuanenteatanoantsialee 22 AE set e stop deceleration seessesessseessesseessesstssressessresresseesessresseesreseesseeses 24 AF set acceleration feed forward gain ssssessssseessessresrosseesesresseesreseessresse 26 AGo set deceleration n ea a aE ol tea os aa 27 AM set analog input mode ss sec siccts cc sehecevisdbesce endive tedalens teecneteaalcaateadenss 29 AP Abort PROTA se ia n sev Senses cates ce waicauh wows Oia e a a aE SEA giao 30 AU set maximum acceleration and deceleration cccceeceeseesteeeteeeeeeeeees 31 BA set backlash compensations ssscsssisesseces vasedevadcedcdtsssaasansuantecasiemediadeaerales 32 BG assign DIO bits to execute stored programs cccccecsceeseeeteceteeeeeeeeaees 33 BK assign DIO bits to inhibit motion ssesssssessseesseseesseesresesssessessrssressesee 34 BL enable DIO bits to inhibit motion sssessesseesseesesseesseesesesssessesssssresseesees 35 BM assign DIO bits to notify motion Status eee ceeceeceeteeeeteceteeeeeeetnees 36 BN enable DIO bits to notify motion status cc eecceeeeeeeeteeeeteeeteeeeeeeeaees 37 BO set DIO port A B C direction ss ssessessssseesseesreseesseesresresstessesrsssressesess 38 BP assign DIO bits for jog mode s nnsessessessesseosseesseseesseesesessstessesressres
22. REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP ID xx int axis number XX 1 to MAX AXES XX none xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE timeout error 2 RS 232 COMMUNICATION TIME OUT This command is used to read Newport ESP compatible positioner stage model and serial number Note An important information needed when asking for help with the motion control system or when reporting a problem is the stage model and serial number Use this command to determine the positioner model and serial number XX yy where xx model number yy serial number none 1ID read axis 1 positioner model and serial number TSSODC 5 SN1263 controller returns model and serial number 3 91 J H set jog high speed IMM PGM MIP USAGE SYNTAX xxJHnn or xxJH PARAMETERS Description xx int axis number nn float high speed value Range XX 1 to MAX AXES nn 0 to maximum value allowed by VU command or to read present setting Units XX none nn preset units second Defaults XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx10 MAXIMUM VELOCITY EXCEEDED DESCRIPTION This command is used to set the high speed for jogging an axis Its execution is immediate meaning that the value is changed when the command is processed including wh
23. nn3 int nn4 int nn5 int nn int nni nn2 nn3 nn4 nn5 nn6 None nn missing data acquisition mode axis used to trigger data acquisition data acquisition parameter 3 data acquisition parameter 4 data acquisition rate number of data samples to be acquired 0 Start data acquisition immediately 1 Start data acquisition when trigger axis starts motion 2 Start data acquisition when trigger axis reaches slew speed 3 Capture analog and or encoder data on an external trigger 4 9 Reserved for future analog data acquisition modes 10 Start trace variable data acquisition immediately 11 29 Reserved for future analog data acquisition modes 30 Start streaming a fixed amount of data immediately 31 Start streaming a fixed amount of data when trigger axis starts motion 32 Start streaming a fixed amount of data when trigger axis reaches slew speed 33 Start streaming a fixed amount of data on an external trigger 34 35 Reserved for future analog data acquisition modes 36 Start streaming a continuous amount of data immediately 37 Start streaming a continuous amount of data when trigger axis starts motion 38 Start streaming a continuous amount of data when trigger axis reaches slew speed 39 Start streaming a continuous amount of data on an external trigger 1 to MAX AXES Refer table below Refer table below 0 to 1000 to 1000 error 38 COMMAND PARAMETER MISSING Section 3 Remote
24. to the controller through the ESP6000 DLL NOTE The controller responds with a servo cycle tick count along with every data sample collected This feature is independent of the type of data analog or trace variable data collected 3 47 NOTE The external source for triggering data acquisition process modes 3 33 and 39 should be connected to pin 20 on the auxiliary I O connector Please refer to the appendix on Connector Pin Assignments for further details Data Acquisition Parameter 3 Parameter 4 Mode Analog channels involved in acquisition These Position feedback encoder channels involved in channels are located on the analog I O connector of acquisition This data is available from 8 quadrature the controller card The desired channels to be decoders The desired channels to be acquired are 0 9 and acquired are specified using the following bit specified using the following bit assignment 30 39 assignment Bit 0 Channel 1 Analog data Bit 0 Channel 1 Bit 1 Channel 2 acquisition Bit 1 Channel 2 sats ete Bit 7 Channel 8 Bit 7 Channel 8 This parameter is used to specify the format in This parameter is used to identify the trace variables which controller should send the trace variable data to be acquired The trace variables available for acquired Various formats supported by the acquisition are dependent on the type of motor that controller include dri
25. xx xx XX missing out of range not assigned floating point group number 1 to MAX GROUPS none error 13 GROUP NUMBER MISSING error 14 GROUP NUMBER OUT OF RANGE error 15 GROUP NUMBER NOT ASSIGNED truncated This command stops the motion of all axes assigned to a group using vector deceleration set using HD command If sign is supplied along with the command the controller returns 1 y 0 z HN HC HL 1HN1 2 1HV10 1HA50 1HD50 1HO 1HP 0 0 1HL50 50 1HS 0 1HS 1HS 1 Section 3 Remote Mode group motion is stopped group motion is in progress create a new group move a group of axes to desired position along an arc move a group of axes to desired position along a line create a new group 1 with physical axes 1 and 2 set vectorial velocity of group 1 to 10 units second set vectorial acceleration of group 1 to 50 units second set vectorial deceleration of group 1 to 50 units second enable group 1 query current group position controller returns axis 1 0 units and axis 2 0 units move axis 1 to a target position 50 units move axis 2 to a target position 50 units query if motion of group 1 is stopped controller returns 0 meaning group 1 is in motion stop motion of group 2 query if motion of group 1 is stopped controller returns 1 meaning group 1 motion has stopped 3 85 HV set group velocity USAGE SYNTAX PARAMETERS Des
26. C bit status 3 135 SH Set home preset position 3 137 SI Set master slave jog velocity update interval 3 138 SK Set master slave jog velocity scaling coefficients 3 139 SL Set level travel limit 3 140 SM Save settings to non volatile memory 3 141 SN Set axis displacement units 3 142 SR Set right travel limit 3 143 SS Define master slave relationship 3 144 ST Stop motion 3 145 SU Set encoder resolution 3 146 TB Read error message 3 147 TE Read error code 3 148 TJ Set trajectory mode 3 149 TP Read actual position 3 150 TS Get controller status 3 151 TV Get actual velocity 3 152 TX Get controller activity 3 153 UF Update servo filter 3 154 UH Wait for DIO bit high 3 155 Section 3 Remote Mode 3 17 TABLE 3 5 2 Command List Alphabetical Continued Ina PDF format you may click on a page number to automatically be connected to the corresponding Command Page Cmd Description IMM PGM MIP Page UL Wait for DIO bit low 3 156 VA Set velocity 3 157 VB Set base velocity for step motors 3 158 VE Read controller firmware version 3 159 VF Set velocity feed forward gain 3 160 VU Set maximum velocity 3 161 WP Wait for absolute position crossing
27. COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE DESCRIPTION This command is used to set all eight 8 ADC channels to any one of eight 8 analog input modes listed below e nn 0 10 V input range e m l 5 V input range e nn 2 0 10 V input range e nn 3 0 5 V input range e nn 4 2 50 V input range e nn 5 1 25 V input range e nn 6 0 2 50 V input range e nn 7 0 1 25 V input range ADC channels are located on the analog I O connector on the controller card The following block diagram illustrates the implementation of analog to digital conversion in ESP controller Programmable Gain Six Pole Anti 16 bit 100 kHz Instrumentation alias Filter A D Converter Amplifier 8 Single Ended Inputs Sample Trigger Control Timer or Software Driven RETURNS If the sign takes the place of nn value this command reports the current analog input mode REL COMMANDS RA read analog input EXAMPLE AM2 set 0 to 10 V analog range for all the ADC channels AM request the actual analog input mode 2 controller returns a value of 2 Section 3 Remote Mode 3 29 AP abort program USAGE SYNTAX PARAMETERS DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 30 IMM PGM MIP AP none This command is used to interrupt a motion program in execution It will not stop a motion in progress It will only stop the program after the current command line finished executin
28. In a PDF format you may click on a page number to automatically be connected to the corresponding Command Page Cmd Description IMM PGM MIP Page FP Set position display resolution 3 65 FR Set full step resolution 3 66 GR Set master slave reduction ratio 3 67 HA Set group acceleration 3 68 HB Read list of groups assigned 3 70 HC Move group along an arc 3 71 HD Set group deceleration 3 73 HE Set group e stop deceleration 3 75 HF Group motor power off 3 76 HJ Set group jerk 3 77 HL Move group along a line 3 78 HN Create new group 3 80 HO Group on 3 82 HP Read group position 3 83 HQ Wait for group command buffer level 3 84 HS Stop group motion 3 85 HV Set group velocity 3 86 HW Wait for group motion stop 3 87 HX Delete group 3 89 HZ Read group size 3 90 ID Read stage model and serial number 3 91 JH Set jog high speed 3 92 JK Set jerk rate 3 93 JL Jump to label 3 94 JW Set jog low speed 3 95 KD Set derivative gain 3 96 KI Set integral gain 3 97 KP Set proportional gain 3 98 KS Set saturation level of integral factor 3 99 LP List program 3 100 MD Read motion done s
29. SL SR EXAMPLE 2ZS 4H 2ZS 5H SM Section 3 Remote Mode set amplifier I O configuration set e stop configuration set following error configuration set feedback configuration set hardware limit configuration set general system configuration set left limit set right limit read software limit configuration of axis 2 controller returns a value of 4H for axis 2 set software limit configuration to 5H for axis 2 save all controller settings to non volatile memory 3 179 ZU get ESP system configuration USAGE SYNTAX PARAMETERS DESCRIPTION 3 180 IMM PGM MIP ZU None This command is used to get the present ESP system stage driver configuration After each system reset or initialization the ESP motion controller detects the presence of Universal drivers and ESP compatible stages connected BIT VALUE DEFINITION axis 1 universal driver not detected axis 1 universal driver detected axis 2 universal driver not detected axis 2 universal driver detected axis 3 universal driver not detected axis 3 universal driver detected axis 4 universal driver not detected axis 4 universal driver detected axis 5 universal driver not detected axis 5 universal driver detected axis 6 universal driver not detected axis 6 universal driver detected reserved reserved reserved reserved axis 1 ESP compatible motorized positioner not detected axis 1 ESP compatible motorized positioner de
30. Section 3 Remote Mode IMM PGM MIP xxHJnn or xxHJ xx int group number nn float vector jerk value XX 1 to MAX GROUPS nn 0 to 2e9 xx none nn predefined units second Xx missing error 13 GROUP NUMBER MISSING out of range not assigned error 14 GROUP NUMBER OUT OF RANGE error 15 GROUP NUMBER NOT ASSIGNED floating point truncated nn missing error 7 PARAMETER OUT OF RANGE negative error 22 GROUP PARAMETER OUT OF RANGE out of range error 22 GROUP PARAMETER OUT OF RANGE This command is used to set the vectorial jerk value for a group This value will be used during coordinated motion of axes assigned to the group It will override any original jerk values specified for individual axes using JK command The axes original values will be restored when the group to which they have been assigned is deleted If vectorial jerk is set to zero a trapezoid velocity profile is employed during motion Otherwise an S curve velocity profile is employed This command takes effect immediately It can be executed when controller is idling or motion is in progress or inside a program Note Avoid changing jerk during acceleration or deceleration phases of a move For better predictable results change jerk only when all the axes assigned to this group are not in motion If sign takes the place of nn value this command reports the current setting HN create a new group HV set
31. USAGE SYNTAX xxVBnn or xxVB PARAMETERS Description xx int axis number nn float base velocity value Range XX 1 to MAX AXES nn 0 to maximum value allowed by VU command or to read current setting Units XX none nn preset units second Defaults xx missing error 37 AXIS NUMBER MISSING out of range nn missing error 38 COMMAND PARAMETER MISSING out of range error xx10 MAXIMUM VELOCITY EXCEEDED error xx01 Axis xx PARAMETER OUT OF RANGE DESCRIPTION This command is used to set the base velocity also referred to as start stop velocity value for a step motor driven axis Its execution is immediate meaning that the velocity is changed when the command is processed even while a motion is in progress It can be used as an immediate command or inside a program Avoid changing the velocity during the acceleration or deceleration periods For better predictable results change velocity only when the axis is not moving or when it is moving with a constant speed RETURNS If the sign takes the place of nn value this command reports the current setting REL COMMANDS AC set acceleration VA set velocity VU set maximum velocity PA execute an absolute motion PR execute a relative motion EXAMPLE 2VB read desired base velocity of axis 2 5 controller returns a velocity value of 5 units s 2VB10 set axis 2 base velocity to 10 units s 2VB read base velocity of axis 2 10 controller returns a v
32. VA et velocity 3VA8 set velocity of axis 3 to 8 units s 3PR2 34 move axis 3 2 34 units away from the current position Section 3 Remote Mode QD update motor driver settings USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM xxQD xx int xx xx xx missing out of range MIP axis number 1 to MAX AXES none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE missing Unidrive error xx23 UNIDRIVE NOT DETECTED This command is used to update Newport programmable driver i e Unidrive settings into working registers Note This command should not be issued during motion since the motor power is automatically none QS QG QT QV 201 1 6 201 1 2 2QD SM Section 3 Remote Mode turned OFF set microstep factor set gear constant set tachometer gain set average motor voltage read maximum motor current setting of axis 2 controller returns a value of 1 6 Amp for axis 2 set maximum motor current to 1 2Amp for axis 2 update programmable driver with latest settings for axis 2 save all controller settings to non volatile memory 3 121 QG set gear constant USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 122 IMM PGM MIP xxQGnn or xxQG xx i
33. XX Delete a stored program 3 166 TRAJECTORY DEFINITION Cmd Description IMM PGM MIP Page AC Set acceleration 3 22 AE Set e stop deceleration 3 24 AG Set deceleration 3 27 AU Set maximum acceleration 3 31 BA Set backlash compensation 3 32 CO Set linear compensation 3 44 JH Set jog high speed 3 2 JK Set jerk rate 3 93 JW Set jog low speed 3 25 OL Set home search low speed 3 109 OH Set home search high speed 3 108 OM_ Set home search mode 3 110 SH Set home preset position 3 137 UF Update filter parameters 3 154 VA Set velocity 3 157 VB Set base velocity for step motors 3 158 VU Set maximum speed 3 161 FLOW CONTROL amp SEQUENCING Cmd Description IMM PGM MIP Page DL Define label 3 55 JL Jump to label 3 24 RQ Generate service request 3 31 SA Set device address 3 134 WP Wait for absolute position 3 162 crossing WS Wait for stop 3 163 WT Wait for time 3 164 T O FUNCTIONS Cmd Description IMM PGM MIP Page AM Set analog input mode 3 29 BG Assign DIO bits to execute stored 3 33 programs BK Assign DIO bits to inhibit motion 3 34 BL Enable DIO bits to inhibit motion 3 135 3 12 Section 3 Remote Mode
34. are used to measure linear motion directly This means that the physical resolution of the scale will be the actual positioning resolution This is their main drawback since technological limitations prevent them from having better resolutions than a few microns To get higher resolutions in linear scales a special delicate circuitry must be added called scale interpolator Other technologies like interferometry or halography can be used but they are significantly more expansive and need more space Figure 5 30 Two Channel Optical Encoder Scale and Read Head Assembly The most popular encoders are rotary Using gear reduction between the encoder and the load significant resolution increases can be obtained at low cost But the price paid for this added resolution is higher backlash In some cases rotary encoders offer high resolution without the backlash penalty For instance a linear translation stage with a rotary encoder on the lead screw can easily achieve 1 um resolution with negligible backlash NOTE For rotary stages a rotary encoder measures the output angle directly In this case the encoder placed on the rotating platform has the same advantages and disadvantages of the linear scales Section 5 Motion Control Tutorial 5 25 Eg Motors 5 26 5 6 1 There are many different types of electrical motors each one being best suitable for certain kind of applications The ESP300 supports two of the most popu
35. command v Process new move command Yes 4 io Current move Do not bring the current move target reached to a halt when target is reached Yi Pullout the top most TOS i Bring the current move to a halt command in the via point when target is reached buffer and process it Figure 4 4 Block Diagram of Via Point Data Handling by Trajectory Generator 4 1 5 Miscellaneous Commands The following commands are available to operate on a group of axes simultaneously e HO and HF These commands are used to turn ON and turn OFF the power to all axes in a group respectively The axes assigned to a group can be powered ON or OFF individually using MO and MF commands also A group is considered to be ON if all axes assigned to that group are ON e HP This command is used to read the actual position of all axes in a group e HS This command is used to stop the group motion e HW This command is used to wait for the group motion to stop and a user settable delay period thereafter e HX This command is used to delete a group e HZ This command is used to read the size or the number of axes assigned to group A Slaving a Stage to Trackball Joystick or a Different Stage 4 2 1 Introduction Slaving a Stage ESP series of motion controllers allow three different ways in which a slave axis can respond to a master axis They are 1 S
36. especially at low values Even if the controller does a perfect job by running with zero following error imperfections in the mechanics friction variation transmission ripple etc will generate some velocity ripple that can be translated to Velocity Regulation problems Depending on the specific application one motor technology can be preferred over the other As far as the controller is concerned the stepper motor version is the ideal case for a good average Velocity Regulation because the motor inherently follows precisely the desired trajectory The only problem is the ripple caused by the actual stepping process The best a DC motor controller can do is to approach the stepper motor s performance in average Velocity regulation but it has the advantage of significantly reduced velocity ripple inherently and through PID tuning If the DC motor implements a velocity closed loop through the use of a tachometer the overall servo performance increases and one of the biggest beneficiary is the Velocity Regulation Maximum Acceleration The maximum Acceleration is a complex parameter that depends as much on the motion control system as it does on application requirements For stepper motors the main concern is not to loose steps or synchronization during the acceleration Besides the motor and driver performance the load inertia plays a significant role For DC motor systems the situation is different If the size of the follow
37. out of range nn missing out of range DESCRIPTION Note moving RETURNS none REL COMMANDS AC TJ VA EXAMPLE 2JK 10 5 2JK15 Section 3 Remote Mode set acceleration set trajectory mode set velocity read desired velocity of axis 2 controller returns a velocity value of 10 5 units s set axis 2 jerk to 15 units s 3 93 JL jump to label USAGE SYNTAX PARAMETERS Description Range Units Default DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 94 IMM PGM MIP xxJLnn xx int label number nn int loop count xx 1to100 nn 1 to 65535 xx none nn none xx missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE nn missing assume infinite out of range error xx2 PARAMETER OUT OF RANGE This command changes the flow of the program execution by jumping to a predefined label xx This a flow control command that alters the normal sequential flow of a program It must be used in conjunction with the DL command which defines a label Parameter nn determines the number of times to repeat the jump before allowing the program to flow passed none JL jump to label 3XX clear program 3 from memory if any 3EP create program 3 IDL define label 1 IJL 5 jump to label 1 five 5 times QP end entering program and quit programming mode 3EX run stored program number 3 Section 3 Remote Mode J W set jog
38. represent desired center position of the circular move X and Yrrepresent calculated final position of the group R is radius of the circle amp is the base initial angle of an axis amp is the final angle of an axis which is dependant on the sweep angle Oma Both HL and HC can initiate the desired motion if they are received while the group is holding position On the other hand if they are received while a group move is in progress the new commands get queued into a via point buffer The queued commands are executed on a FIFO basis when the move already in progress has reached its destination The group does not come to a stop at the end of last move Instead there will be s smooth transition to the new move command just as if it were one compound move combination of multiple moves The next section details the procedure for making contours or long moves using via point buffers Refer to the description of HL and HC commands in the commands section See Section 3 Remote Mode for correct syntax parameter ranges etc Making Contours This subsection discusses the method for making contours Contouring is the process of making complex trajectories or long moves that may involve linear and circular move segments Section 4 Advanced Capabilities Section 4 Advanced Capabilities These move segments can be sequenced in any order Arcs can be followed by arcs or lines and lines by arcs or other lines as sho
39. set tachometer gain read average motor voltage setting of axis 2 controller returns a value of 48Volts for axis 2 set average motor voltage to 12 Volts for axis 2 update programmable driver with latest settings for axis 2 save all controller settings to non volatile memory 3 129 RA read analog input IMM PGM MIP USAGE SYNTAX xxRA PARAMETERS Description xx int ADC channel number Range XX 0 to 8 Units XX none Defaults xx missing 0 out of range error 7 PARAMETER OUT OF RANGE DESCRIPTION This command is used to read the analog to digital converter channel 1 8 specified If xx is missing or set to 0 the controller returns the values found in all eight ADC converters ADC channels are located on the analog I O connector on the controller card The following block diagram illustrates the implementation of analog to digital conversion in ESP controller Programmable Gain Six Pole Anti 16 bit 100 kHz Instrumentation alias Filter A D Converter Amplifier 8 Single Ended Inputs Sample Trigger Control Timer or Software Driven RETURNS read ADC channel REL COMMANDS AM set analog input mode EXAMPLE 1RA read the value of ADC channel 1 2 3456 12456 controller returns a value of 2 3456V and servo clock tick number when conversion was done ORA read the value of all eight ADC channels 2 3456 3 2240 0 0000 0 0000 0 0000 0 0000 0 0000 0 0000 224578 controller returns values o
40. to read current setting None Xxx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out ofrange error xxl PARAMETER OUT OF RANGE This command is used to disable or enable notification of requested axis motion status through DIO bits If the sign takes the place of nn value this command reports the current status BM Assign DIO bits to notify motion status BO Set DIO port A B C direction BK Assign DIO bits to inhibit motion BL Enable DIO bits to inhibit motion BO 06H Set DIO port A to input and ports B C to output 2BM 9 1 Use DIO bit 9 to indicate motion status of axis 2 This DIO bit should be HIGH when axis 2 is not moving 2BN 1 Enable notification of motion using DIO bits for axis 2 2BM Query the DIO bit assignment for axis 2 9 1 The controller responds with the assigned values 2BN Query the status of notifying motion status of axis 2 through DIO bits 1 The controller responds with I indicating feature is enabled 3 37 BO set DIO port A B C direction USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION 3 38 IMM PGM MIP BOnn or BO nn int hardware limit configuration nn 0 to 07H hexadecimal with leading zero 0 on ESP6000 and ESP7000 0 to 05H hexadecimal with leading zero 0 on ESP100 and ESP300 or to read current setting
41. via point buffer at any given time This allows a user to control the flow of commands manually while ensuring the availability of that portal for other commands such as HP TP etc The trajectory generator checks if the via point buffer has a new target position i e any new move segments pending while the current move is in progress If via point buffer is empty the group comes to a stop upon completion of current move segment Otherwise it begins a new move segment without stopping after completing the current move The group transitions from current move segment to a new move segment smoothly if the tangential velocity at the transition is ensured to be constant The ASCII command HQ is used to query the available via point buffer space The commands HL and HC are used to queue linear move or circular move commands into the via point buffer Refer to the description of these commands in the commands section See Section 3 Remote Mode for correct syntax parameter ranges etc New group move command Initiate the move Are there 10 move commands in via point buffer Queue the move command in via point buffer Yes v Command flow control Figure 4 3 Block Diagram of Via Point Data Handling by Command Processor Section 4 Advanced Capabilities Is there a move command pending in the via point buffer Process current move
42. 0 then no action will be taken by the controller NOTE The controller always interprets the nn value as a hexadecimal number even when the letter H is not appended to the desired value Since nn is a hexadecimal number it is possible that the most significant character left most character is an alphabet A F depending on the choice of values for various bits In order for the controller to distinguish between an ASCII command and its value it is recommended that the users always add a leading zero 0 to the nn value See table below for clarification Example Command Issued Controller Interpretation 1ZF123H nn 123H 0001 0010 0011 Binary 1ZF123 nn 123H 0001 0010 0011 Binary 1ZFOF25H nn F25H 1111 0010 0101 Binary 1ZFF25H Invalid command Section 3 Remote Mode 0 0 1 mil 2 N NANDA NAN BH HB W W 31 31 BIT VALUE DEFINITION 0 O D OS Dne Dnm Onm Ss m disable motor following error checking enable motor following error checking do not disable motor power on following error event disable motor power on following error event do not abort motion on following error event abort motion on following error event reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved ooo reserved reserved default setting RETURNS If the sign takes the place of nn value this command reports the
43. 13 Digital Input Output 10 14 Digital Input Output 11 15 Digital Input Output 12 Table C 1 Digital Connector Pin Outs Appendix C Connector Pin Assignments C 1 Pin Description 16 Digital Input Output 13 17 Digital Input Output 14 18 Digital Input Output 15 19 Digital Input Output 16 20 DGND 21 DGND 22 DGND 23 DGND 24 DGND 25 DGND 26 DGND 27 DGND 28 DGND 29 DGND 30 DGND 31 DGND 32 DGND 33 DGND 34 DGND 35 DGND 36 DGND 37 DGND Table C 1 Digital Connector Pin Outs Continued C 1 3 Motor Driver Card 25 Pin I O Connector This connector interfaces an ESP300 driver card to motorized stages Cabling to the connector is provided with the applicable stage Connector pin outs are listed in Table C 2 Pins 2 Phase Stepper Motor DC Motor 1 Stepper Phase 1 N C 2 Stepper Phase 1 N C 3 Stepper Phase 2 N C 4 Stepper Phase 2 N C 5 Stepper Phase 3 DC Motor Phase 6 Stepper Phase 3 DC Motor Phase 7 Stepper Phase 4 DC Motor Phase 8 Stepper Phase 4 DC Motor Phase 9 Common Phase 3 4 N C 10 N C N C 11 Common Phase 1 2 N C 12 N C N C 13 Home Signal Home Signal 14 Shield Ground Shield Ground 15 Encoder Index Encoder Index 16 Limit Ground Limit Ground 17 Travel Limit Input Travel Limit Input 18 Travel Limit Input Travel Limit
44. 2 create a new group 1 with physical axes 1 and 2 1HN read axes assigned to group 1 1 2 controller returns the axes assigned to group 1 2HN3 4 create a new group 2 with physical axes 3 and 4 2HN read axes assigned to group 2 3 4 controller returns the axes assigned to group 2 HB read list of groups created 12 controller returns 1 and 2 Section 3 Remote Mode HC move group along an arc USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION Section 3 Remote Mode IMM PGM MIP xxHCnn nn nn or xxHC xx int group number nn float first coordinate of arc center nn float second coordinate of arc center nn float arc sweep angle xx 1 to MAX GROUPS nny nN any position within the travel limits nn3 any angle xx none nny nn predefined units nn degrees Xx missing error 13 GROUP NUMBER MISSING out of range error 14 GROUP NUMBER OUT OF RANGE not assigned error 15 GROUP NUMBER NOT ASSIGNED floating point truncated nn Missing parameter error 21 GROUP PARAMETER MISSING This command initiates motion of a group along an arc It causes all axes assigned to the group to move with predefined vectorial tangential velocity acceleration and deceleration along an arc The group target position is determined based on the position of axes at the beginning of move center of arc and sweep angle If this command is received whil
45. 3 162 WS Wait for motion stop 3 163 WT Wait 3 164 XM Get available program memory 3 165 XX Delete a stored program 3 166 ZA Set amplifier I O configuration 3 167 ZB Set feedback configuration 3 170 ZE Set E stop configuration 3 172 ZF Set following error configuration 3 174 ZH Set hardware limit configuration 3 176 ZS Set software limit configuration 3 178 ZU Get ESP system configuration 3 180 ZZ Set system configuration 3 183 EG Description of Commands The extensive ESP controller command set exists to facilitate application development for wide range of application and needs However most simple positioning can be done with just a few commands VA set velocity AC set acceleration AG set deceleration PR position relative PA position absolute TP tell position WS wait for stop 3 18 Section 3 Remote Mode Section 3 Remote Mode NOTE Most of the commands take an axis number as a parameter xx For such commands the valid range of axis number is from 1 to MAX AXES where MAX AXES is dependant on the configuration of the ESP motion controller Commands related to coordinated motion and contouring group commands take a group number as a parameter For such commands the valid range of group number is from 1 to MAX GROUPS where MAX GROUPS is one half the MAX AXES 3 19 AA comma
46. 3 135 5 0 port A bit 5 at logic level 0 LOW 5 1 port A bit 5 at logic level 1 HIGH 6 0 port A bit 6 at logic level 0 LOW 6 1 port A bit 6 at logic level 1 HIGH 7 0 port A bit 7 at logic level 0 LOW 7 1 port A bit 7 at logic level 1 HIGH eee 23 0 port C bit 23 at logic level 0 LOW 23 1 port C bit 23 at logic level 1 HIGH default setting RETURNS If the sign takes the place of nn value this command reports the current setting in hexadecimal notation REL COMMANDS BO set DIO port direction EXAMPLE BO read DIO port direction configuration 0H controller returns a value of OH all ports are input BO 1H configure DIO port A as output SB 0FFH set all port A DIO output HIGH 3 136 Section 3 Remote Mode SH set home preset position USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxSHnn or xxSH xx int axis number nn float home preset position xx 1 to MAX AXES nn any position within the travel limits xx none nn defined motion units xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx01 PARAMETER OUT OF RANGE This command defines the value that is loaded in the position counter when home is found The default value for al
47. 3 indefinitely in negative direction Section 3 Remote Mode MZ move to nearest index IMM PGM MIP USAGE SYNTAX xxMZnn or xxMZ PARAMETERS Description xx int axis number nn char direction of motion Range XX 1 to MAX AXES nn for positive direction or for negative direction Units XX none nn none Defaults XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing ositive direction DESCRIPTION This command is used to move an axis to its nearest index positive or negative It uses the home search speed during travel to nearest index Note This command cannot be issued after enabling DAQ refer ASCII command DE RETURNS If sign takes the place of nn value this command reports 1 if motion is done or 0 if motion is in progress REL COMMANDS OR home location search OH set home search speed EXAMPLE 3MZ move axis 3 to nearest index in positive direction 3MZ query motion status 0 controller returns 0 indicating motion is in progress Section 3 Remote Mode 3 107 OH set home search high speed USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 108 IMM PGM MIP xxOHnn or xxOH xx int nn float xx nn xx nn Xx missing out of range nn missing out of range axis number high speed value 1 to MAX AX
48. 39 HZ Get group size 3 0 Section 3 Remote Mode 3 13 DIGITAL FILTERS Cmd Description IMM PGM MIP Page AF Acceleration Deceleration feed 3 26 forward gain CL Set closed loop update interval 3 143 DB Set position deadband 3 15 KD Set derivative gain Kd 3 26 KI Set integral gain Ki 3 27 KP Set proportional gain Kp 3 28 KS Set saturation coefficient Ks 3 29 UF Update Filter Parameters 3 154 VF Set velocity feed forward gain 3 L60 MASTER SLAVE MODE DEFINITION Cmd Description IMM PGM MIP Page GR Set master slave Ratio 3 7 SI Set master slave jog update 3 138 interval Sk Set slave axis jog velocity 3 139 coefficients SS Set master slave mode 3 144 3 14 Section 3 Remote Mode TABLE 3 5 2 Command List Alphabetical Ina PDF format you may click on a page number to automatically be connected to the corresponding Command Page Cmd Description IMM PGM MIP Page AB Abort Motion 3 21 AC Set acceleration 3 22 AE Set e stop deceleration 3 24 AF Set acceleration feed forward gain 3 26 AG _ Set deceleration 3 27 AM Set analog input mode 3
49. AXES N 0 to the maximum programmed value in AU command or to read current setting xx none nn predefined units second XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out ofrange error xx11 MAXIMUM ACCELERATION EXCEEDED This command is used to set the acceleration value for an axis Its execution is immediate meaning that the acceleration is changed when the command is processed even while a motion is in progress It can be used as an immediate command or inside a program If the requested axis is a member of a group the commanded acceleration becomes effective only after the axis is removed from the group Refer to Advanced Capabilities section for a detailed description of grouping and related commands Avoid changing the acceleration during the acceleration or deceleration periods For better predictable results change acceleration only when the axis is not moving or when it is moving with a constant speed If the sign takes the place of nn value this command reports the current setting VA set velocity PA execute an absolute motion PR execute a relative motion AU set maximum acceleration and deceleration AG set deceleration 2AU read maximum allowed acceleration deceleration of axis 2 Section 3 Remote Mode Section 3 Remote Mode 10 2AC9 2AG6 2AU15 2AU 15 controller r
50. AXIS NUMBER OUT OF RANGE The specified axis number is out of range Refer to the description of issued command for valid axis number range 10 Reserved for future use Il Reserved for future use 12 Reserved for future use 13 GROUP NUMBER MISSING Group number is not specified The issued command requires a valid group number Refer to the description of issued command for valid group number range 14 GROUP NUMBER OUT OF RANGE The specified group number is out of range Refer to the description of issued command for valid group number range 15 GROUP NUMBER NOT ASSIGNED The specified group has not been assigned Refer to the description of HN command to create a new group with this group number 16 GROUP NUMBER ALREADY ASSIGNED The specified group number has already been assigned Refer to the description of HB command to query the list of group numbers already assigned 17 GROUP AXIS OUT OF RANGE At least one of the axis numbers specified to be a member of this group is out of range Refer to the description of HN command for valid range of axis numbers that can be assigned to a group 18 GROUP AXIS ALREADY ASSIGNED At least one of the axis numbers specified to be a member of this group is already a member of a different group 19 GROUP AXIS DUPLICATED At least one of the axis numbers is specified to be a member of this group more than once 20 DATA ACQUISITION IS BUSY Data acquisition is not yet complete Appendix A Er
51. CORRECTIVE ACTION Display does not Power switch is Turn on the main power switch come on turned off located on the front panel No electrical power Verify with an adequate tester or another electrical device lamp etc that power is present in the outlet If not contact an electrician to correct the problem Power cord not Plug the power cord in the plugged in appropriate outlet Observe all caution notes and procedures described in the System Setup section Blown fuse Replace the line fuse as described in the System Setup section Beware that the fuse blows only when a serious problem arises If the fuse blows again contact Newport for service Error message or Bad connection Turn power off and verify the missing physically present motion device connection stage is declared Bad component step Turn power off and swap the unconnected cable motor cable with another axis if cables are identical to locate the problem Contact Newport for cable replacement or motion device service Red LED above Safety control Plug connector in If the STOP ALL button connector on the rear connector was lost you can either remains on of the ESP300 is build one as shown in System Setup in Appendix C 1 8 or call Newport for a replacement Motor can not be turned on Power button on the display does not appear when motor power button is pressed Verify that the motion d
52. Capabilities Coordinated motion of multiple axes is required to produce a desired contour in a multi dimensional space For instance if we want to move from one point to another along a line or along a circle or a combination of both line and circle we require coordinated motion of multiple axes One way to facilitate such coordinated motion is grouping the axes involved in producing the desired motion This is akin to defining the coordinate system in which the desired contour is being made Coordinated motion on a 2 D plane therefore requires a group comprised of any two axes while a similar motion in a 3 D space requires a group consisting of any three axes For sake of simplicity all further discussion of coordinated motion will be restricted to a 2 D plane The procedure for defining a group and all the group parameters required for making coordinated motion is described in Section 4 1 3 discusses the commands that actually make the coordinated motion The procedure for making long moves or contours that involve a combination of circular and linear moves is described in Section 4 1 4 Miscellaneous grouping commands are discussed in Section 4 1 5 Defining a Group and Group Parameters This subsection discusses the method for defining a group and all the group parameters 4 1 2 1 Creating a Group The ASCII command used to create a new group is HN For instance the command 1HN2 3 assigns axis numbers 2 and 3 to group nu
53. Checksum on the data that is being transmitted across the serial interface As a result it is highly recommended that the users select the communication speed judiciously based on the length of the serial cable noise level of the work environment etc If the 2 sign takes the place of nn value this command reports the current setting None BR Query the serial communication speed 19200 The controller responds with 19200 bps BR115200 Change the serial communication speed to 115200 bps Reinitialize the serial communication port on remote computer with 115200 bps BR Query the serial communication speed 115200 The controller responds with 115200 bps Section 3 Remote Mode CL set closed loop update interval USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxCLnn or xxCL xx int axis number nn int closed loop update interval xx 0 to MAX AXES nn 0 to 60000 xx none nn milliseconds XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE This command is used to set the closed loop update interval for an axis This will be the time duration between position error corrections during closed loop stepper positioning Note that this command is effective
54. Cleaning Clean the exterior metallic surfaces of the ESP300 with water and a clean lint free cloth Clean external cable surfaces with alcohol using a clean lint free cloth WARNING Power down all equipment before cleaning CAUTION Do not expose connectors fans LEDs or switches to alcohol or water Appendix B Trouble Shooting and Maintenance B 5 B 6 Appendix B Trouble Shooting and Maintenance Appendix C Connector Pin Assignments C1 ESP300 Rear Panel C 1 1 C 1 2 GPIO Connector 37 Pin D Sub This connector is dedicated to the digital I O ports All I O are pulled up to 5V DC with 4 7KQ resistors Maximum sink or source current is 32 ma bits Connector pin outs are listed in Table C 1 and functionally described in the following paragraphs Signal Descriptions Digital I O 37 Pin JP4 Connector 5V 100mA maximum 5V supply 15V 25mA maximum 15V supply Digital I O The digital I O can be programmed to be either input or output in 8 bit blocks via software DGND Digital Ground used for all digital signals Pin Description 1 15V 25mA 2 15V 25mA 3 5V 100mA 4 Digital Input Output 1 5 Digital Input Output 2 6 Digital Input Output 3 7 Digital Input Output 4 8 Digital Input Output 5 9 Digital Input Output 6 10 Digital Input Output 7 11 Digital Input Output 8 12 Digital Input Output 9
55. Forward Loops in Motion Control Tutorial section to understand the basic principals of feed forward Note The command can be sent at any time but it has no effect until the UF update filter is received RETURNS If the sign takes the place of nn value this command reports the current setting REL COMMANDS KI set integral gain factor KS set saturation gain factor KD set derivative gain factor KP set proportional gain factor AF set acceleration feed forward gain UF update filter EXAMPLE 3AF0 8 set acceleration feed forward gain factor for axis 3 to 0 8 3VF report present axis 3 velocity feedforward setting 1 4 controller returns a value of 1 4 3VF1 5 set acceleration feed forward gain factor for axis 3 to 1 5 3UF update PID filter only now the VF command takes effect 3 160 Section 3 Remote Mode VU set maximum velocity IMM PGM MIP USAGE SYNTAX xxVUnn or xxVU PARAMETERS Description xx int axis number nn float velocity value Range XX to MAX AXES nn 0 to 2e 9 or to read current setting Units XX none nn predefined units second Defaults xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx10 MAXIMUM VELOCITY EXCEEDED error xx2 Axis xx PARAMETER OUT OF RANGE DESCRIPTION This command is used to set the maximum velocity value for an axis This command rema
56. Hybrid types The question that arises from the driver configuration is how to connect a four phase stepper motor to a driver that drives only two coils This could be accomplished in three different ways each one with its own advantages and disadvantages 1 Use only two adjacent phases e g phase 1 and 2 e Advantage simplicity 5 35 e Disadvantage lower efficiency since only half the windings are being used 2 Connect the two opposing phases 1 3 and 2 4 in series e Advantage the motor does not require more than the nominal current e Disadvantage the driver will see twice the nominal motor inductance that will reduce the motor s torque performance at higher speeds 3 Connect the two opposing phases 1 3 and 2 4 in parallel e Advantage the motor inductance does not increase allowing it to perform well at higher speeds e Disadvantage requires the driver to supply twice the motor s nominal current 4 6 D Z G p amp Figure 5 48 Dual H Bridge Driver 5 7 3 DC Motor Drivers There are three major categories of DC motor drivers The simplest one is a voltage amplifier Figure 5 49 control signal 10V Figure 5 49 DC Motor Voltage Amplifier 5 36 Section 5 Motion Control Tutorial The driver amplifies the standard 10 V control signal to cover the motor s nominal voltage range while also supplying the motor s nominal current This
57. OR Origin searching 3 111 PA Move absolute 3 113 PR Move relative 3 120 ST Stop motion 3 145 MOTION DEVICE PARAMETERS Cmd Description IMM PGM MIP Page FE Set following error threshold 3 54 FR Full step resolution 3 56 GR Set gear ratio 3 57 QG Set gear constant 3 122 QI Motor current 3 123 QM _ Define motor type 3 124 QR Torque reduction 3 126 QS Set microstep factor 3 127 QT Define tachometer constant 3 128 QV Set motor voltage 3 129 SI Set master slave jog update 3 138 interval Sk Set slave axis jog velocity 3 139 coefficients SL Set left limit 3 140 SN Set units 3 142 SR Set right limit 3 143 SS Set master slave relationship 3 144 SU Set encoder resolution 3 146 PROGRAMMING Cmd Description IMM PGM MIP Page DL Define label 3 55 EO Automatic execution on power 3 59 on EP Enter program download mode 3 50 EX Execute stored program 3 53 JL Jump to label 3 24 LP List program 3 L00 Section 3 Remote Mode 3 11 QP Quit program mode 3 125 SM Save to non volatile memory 3 141 XM Get available program memory 3 165
58. SET ACCEL DECEL This menu makes it possible to change acceleration and deceleration that are used with the jog and home search buttons The following sub menus are available SET ACCELERATION Sets the acceleration that is used to accelerate to the desired velocity when the jog buttons are used AC Set Acceleration SET DECELERATION Sets the deceleration that is used to decelerate to the standstill when the jog buttons are released AG Set Deceleration SET JOG MODE Sets the mode used when either jog button is pressed There are two modes RUN In this mode the stage moves as long as either jog button is pressed INCR value In this mode the stage moves an incremental distance determined by value when either jog button is pressed PR Move Relative 2 7 2 8 SET HOME MODE This menu allows the user to choose between two homing modes Please refer to Section 5 4 3 for a detailed description of homing Please note that this menu only selects the homing method but does not initiate a home search Home searches are initiated by pressing the HOME button for the respective axis The following sub menus are available SW SW home search means the controller returns the stage to a position determined by the home switch only No index pulse is required OR2 Set Home Mode to Switch only SW INDEX SW Index home search means the controller returns the stage to a positio
59. accuracy If on the other hand a rotary encoder is used the problem becomes more complicated To have the same accuracy a mark on the encoder disk could be used called index pulse but because it repeats itself every revolution it does not define a unique point over the entire travel An origin switch on the other hand placed in the travel of the motion device is unique but not accurate repeatable enough The solution is to use both following a search algorithm A home switch Figure 5 22 separates the entire travel in two areas one for which it has a high level and one for which is low The most important part of it is the transition between the two areas Also looking at the origin switch level the controller knows on which side of the transition it currently is and which way to move to find it Section 5 Motion Control Tutorial Section 5 Motion Control Tutorial origin switch encoder index pulse g Figure 5 22 Home Origin Switch and Encoder Index Pulse The task of the home search routine is to identify one unique index pulse as the absolute position reference This is done by the first finding the home switch transition and then the very first index pulse Figure 5 23 So far we can label the two motion segments D and E During D the controller is looking for the origin switch transition and during E for the index pulse To guarantee the best accuracy possible both D and E segments are perform
60. additional nn milliseconds after the group motion is complete before executing any further commands none HN create a new group HL move group to target position along a line 1HN1 2 create a new group 1 with physical axes 1 and 2 2HN3 4 create a new group 2 with physical axes 3 and 4 1HV10 set vectorial velocity of group 1 to 10 units second 1HASO set vectorial acceleration of group 1 to 50 units second 1HD50 set vectorial deceleration of group 1 to 50 units second 2HV10 set vectorial velocity of group 2 to 10 units second 2HASO set vectorial acceleration of group 2 to 50 units second 2HDS50 set vectorial deceleration of group 2 to 50 units second 1HO enable group 1 2HO enable group 2 1HLS50 50 1H W500 2HL30 20 move group 1 to a target position 50 50 units axis 1 50 units and axis 2 50 units wait for the Section 3 Remote Mode 3 87 3 88 group to reach target position wait an additional 500 ms and then move group 2 to a target position 30 20 units axis 3 30 units and axis 4 20 units Section 3 Remote Mode HX delete group USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM xxHX xx int xx XX missing out of range not assigned MIP group number 1 to MAX GROUPS none error 13 GROUP NUMBER MISSING error 14 GROUP NUMBER OUT OF RANG
61. and desired outcome are provided in the following paragraphs Following Error Too Large This is the case of a soft PID loop caused by low values for Kp and Kd It is especially common after performing the procedures described in paragraph 6 2 2 First increase Kp by a factor of 1 5 to 2 Repeat this operation while monitoring the following error until it starts to exhibit excessive ringing characteristics more than 3 cycles after stop To reduce ringing add some damping by increasing the Kd parameter Increase it by a factor of 2 while monitoring the following error As Kd is increased overshoot and ringing will decrease almost to zero NOTE Remember that if acceleration is set too high overshoot cannot be completely eliminated with Kd If Kd is further increased at some point oscillation will reappear usually at a higher frequency Avoid this by keeping Kd at a high enough value but not so high as to re introduce oscillation Increase Kp successively by approximately 20 until signs of excessive ringing appear again Alternately increase Kd and Kp until Kd cannot eliminate overshoot and ringing at stop This indicates Kp is larger than its optional value and should be reduced At this point the PID loop is very tight Ultimately optimal values for Kp and Kd depend on the stiffness of the loop and how much ringing the application can tolerate NOTE The tighter the loop the greater the risk of instability and osci
62. axes on 100 pin interlock error event disable all axes on 100 pin interlock error event reserved reserved reserved reserved configure interlock fault as active low configure interlock fault as active high reserved reserved reserved reserved route auxiliary I O encoder signals to counter channels MAX AXES and MAX AXES 2 route axis 1 and 2 encoder feedback to counter channels MAX AXES and MAX AXES 2 unprotect ESP system critical settings protect ESP system critical settings Enable queue purge on time expiration Disable queue purge on time expiration Do not display units along with certain responses Display units along with certain responses Enable timeout during homing Disable timeout during homing eee reserved reserved default setting If the sign takes the place of nn value this command reports the current setting in hexadecimal notation ZA ZB ZE ZF ZH ZS ZU ZZ 113H ZZ 13H set amplifier I O configuration set feedback configuration set e stop configuration set following error configuration set hardware limit configuration set software limit configuration get ESP system configuration read system configuration controller returns a value of 113H set system configuration to 13H Section 3 Remote Mode Section 4 Advanced Capabilities 4 4 Grouping 4 1 1 Section 4 Advanced Capabilities Introduction Advanced
63. axis 1 in negative direction and DIO bit 4 to jog axis 1 in positive direction 1BP query the DIO bits assigned for jogging 3 4 controller returns the bit assignment 1BQ1 enable axis 1 jogging through DIO bits Section 3 Remote Mode BQ enable DIO bits for jog mode USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM MIP xxBQnn or BQ xx int nn int XX nn XX nn XX nn missing axis number disable or enable 1 to MAX AXES 0 disable and 1 enable none one error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command is used to disable or enable jogging of a requested axis through DIO bits If sign is issued along with command the controller returns the status of jog through DIO bits BP assign DIO bits for jog mode 1BP3 4 set DIO bit 3 to jog axis 1 in negative direction and DIO bit 4 to jog axis 1 in positive direction 1BP query the DIO bits assigned for jogging 3 4 controller returns the bit assignment 1BQ1 enable axis 1 jogging through DIO bits Section 3 Remote Mode 3 41 BR set serial communication speed USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETU
64. command is used to define and enable or disable if null string an event action command string to be performed when an external trigger occurs This command is effective only if it is used in conjunction with ASCII command DC with data acquisition mode set to either 3 or 33 If the number of samples to be collected is specified to be 1 using DC command the event action is initiated immediately following the detection of an external trigger However if the number of samples is specified to be greater than 1 the event action is initiated only after all the external triggers equal to the number of samples required to complete the data acquisition are detected by the controller NOTE The external source for triggering data acquisition process modes 3 33 and 39 should be connected to pin 20 on the auxiliary I O connector Please refer to the appendix on Connector Pin Assignments for further details If the sign takes the place of nn value this command reports the current ASCII command string for event trigger command processing DC setup data acquisition DD get data acquisition done status DE enable disable data acquisition DF get data acquisition status number of samples collected DG get data acquisition data 3 61 EXAMPLE 3 62 DC3 1 3 5 0 1 ES 1MF DE1 DD 1 true If true DEO DG Param 1 Acquire analog data on an external trigger Param 2 No consequence for this data acquisi
65. controller has its own language and command set the IEEE 488 interface is used only as a communication port The extended protocol is not supported The ESP controller has an ASCII command set and also outputs system status in ASCII format It features a command input buffer If the buffer fills up the ESP will not allow further communication until memory becomes available to accept new characters To send a command to the ESP controller use the command specific to your IEEE 488 terminal e g output ASCID If the host terminal asks the controller for a response e g input ASCID and no response is obtained the controller will eventually will time out USE OF SRQ LINE The ESP controller can be instructed to generate an IEEE 488 service request SRQ upon processing the RQ command This allows the user to generate SRQs anywhere within the ESP command stream thereby facilitating efficient event synchronization capability with the host computer The following example illustrates the use of the RQ command 1PR10 1WS100 2PR10 3PR10 3WS100 RQ 3 5 In the above example the SRQ line is asserted only after execution of the sequence preceding the RQ command is finished SERIAL POLL When the IEEE 488 controller senses a service request on the bus it creates an interrupt to the application program if configured to do so The application program must contain a service routine for this interrupt First the program mus
66. controller reset The next section details the way in which these DIO bits can be used to initiate the motion of desired axes through stored programs The subsequent sections outline the way to inhibit the motion of desired axes and to monitor the motion status of these axes using DIO bits 4 4 2 Using DIO to Execute Stored Programs ESP series of motion controllers can synchronize the initiation of any motion profile to external events In order to accomplish this task users must write their desired motion profile as a stored program and assign this stored program to a desired DIO bit 4 12 Section 4 Advanced Capabilities Section 4 Advanced Capabilities The direction of the DIO port bit belongs to must then be set to input in order for the controller to detect the external event Once these preliminaries are completed the controller will execute the user specified stored program whenever it detects a change in the state HIGH to LOW logic level of the corresponding DIO hardware Please review the examples below for further clarifications Example 1 EP ABSOMM IMO 2MO 1TJ1 2TJ1 1PAO 2PA0 1WS100 2WS100 QP 0BG ABSOMM BO 04H Define stored program called AbsOmm Turn axes 1 2 ON Set trajectory mode for axes 1 2 to TRAPEZOID Move axes 1 2 to absolute 0 units Wait for axes 1 2 motion to complete End of program Assign DIO 0 to run stored program called AbsOmm 04H 0100 Binary Set DIO p
67. deep When an error is read using TB or TE the controller returns the last error that occurred and the error buffer is cleared by one 1 element This means that an error can be read only once with either command aa bb cc where aa error code cc error message bb timestamp see Appendix for complete listing TE read error code TB read error message 0 451322 NO ERROR DETECTED controller returns no error 8PA12 3 move axis 8 to position 12 3 TB read error message 9 451339 AXIS NUMBER NOT AVAILABLE controller returns error code timestamp and description 3 147 TE read error code USAGE SYNTAX PARAMETERS Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 148 IMM PGM MIP TE questions mark timeout error 2 RS 232 COMMUNICATION TIME OUT This command is used to read the error code The error code is one numerical value up to three digits long see Appendix for complete listing In general non axis specific errors numbers range from 1 99 Axis 1 specific errors range from 100 199 Axis 2 errors range from 200 299 and so on Note Errors are maintained in a FIFO buffer ten 10 elements deep When an error is read using TB or TE the controller returns the last error that occurred and the error buffer is cleared by one 1 element This means that an error can be read only once with either command aa where aa error code number see Appendix for complete list
68. employed If this command is received while a group move is in progress the new command gets enqueued into a via point buffer Please refer Advanced Capabilities section for a detailed description of via point buffer implementation The enqueued commands get executed on a FIFO basis when the move already in progress has reached its destination The group does not come to a stop at the end of last move Instead there will be a smooth transition to the new move command just as if it were one compound move combination of multiple moves Note The transition from last move to new move will be smooth if tangential velocity at the end of last move is the same as that at the beginning of new move If sign takes the place of nn values this command reports the target positions of axes assigned to the group Section 3 Remote Mode REL COMMANDS HN create a new group HV set vectorial velocity for a group HA set vectorial acceleration for a group HD set vectorial deceleration for a group HO enable a group HF disable a group HC move a group of axes to desired position along an arc EXAMPLE 1HN1 2 create a new group 1 with physical axes 1 and 2 1HV10 set vectorial velocity of group 1 to 10 units second 1HASO set vectorial acceleration of group 1 to 50 units second 1HD50 set vectorial deceleration of group 1 to 50 units second 1HO enable group 1 1HP query current group position 0 0 controller return
69. employed when group jerk is set to zero Otherwise an S curve velocity profile is employed The linear move is a true linear interpolation meaning Y Vo mx Xp Vy Yo x Xq where Xj and Yo represent initial position of the group X and Y represent desired final position of the group 4 1 3 2 Making Circular Move Once a group has been defined and all group parameters have been specified the ASCII command HC can be used to move the group from an initial position to a final position along a circle The current position of axes is the initial position of circular move The final position of move is calculated based on the desired center of circle and sweep angle specified along with this command All sweep angles are measured in degrees The sign of angles follow the trigonometric convention positive angles are measured counterclockwise This command makes all axes assigned to the group move with predefined group tangential velocity acceleration and deceleration along a circle A trapezoid velocity profile is employed to produce the desired motion The circular move is a true arc of a circle meaning Section 4 Advanced Capabilities 4 3 r x 0 Ye G aung O22 Xo T X 0 axis 2 0 6 axis 3 0 5 0 axis 2 0 Ong 0 axis 3 0 Oona x r cos 0 axis 2 x y r cos O axis 3 y where Xo and Yo represent initial position of the group Xe and Y
70. hardware travel limit low axis 4 hardware travel limit high axis 5 hardware travel limit low axis 5 hardware travel limit high axis 6 hardware travel limit low axis 6 hardware travel limit high reserved reserved reserved reserved 3 117 3 118 rPeOorocororOr Or Or Or Or Or Or OF Or OF Or OF oO axis 1 amplifier fault input low axis amplifier fault input high axis 2 amplifier fault input low axis 2 amplifier fault input high axis 3 amplifier fault input low axis 3 amplifier fault input high axis 4 amplifier fault input low axis 4 amplifier fault input high axis 5 amplifier fault input low axis 5 amplifier fault input high axis 6 amplifier fault input low axis 6 amplifier fault input high reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved 100 pin emergency stop unlatched low 100 pin emergency stop unlatched high auxiliary I O emergency stop unlatched low auxiliary I O emergency stop unlatched high 100 pin connector emergency stop latched low 100 pin connector emergency stop latched high auxiliary I O conector emergency stop latched low auxiliary I O conector emergency stop latched high 100 pin cable interlock low 100 pin cable interlock high HARDWARE STATUS REGISTER 2 BIT VALUE DEFINITION 0 0 axis 1 home signal low 0 1 axis 1 home signal high 1 0 axis 2 home signal low 1 1 axis 2 home sign
71. in LOCAL Mode 2 2 Verify Entered Value This section provides a detailed explanation of the LOCAL mode Typical parameters that can be set are velocity acceleration PID values for DC motors and many more Please remember that all menu items can also be accessed with remote commands See Section 3 Remote Mode 2 2 1 Accessing the Menu Figure 2 1 shows the menu section of the front panel The menu listing can be accessed by pressing the Menu key at the bottom of the display De select Menu Item Scroll Up Menu OR Increment Value oG HONE STOP ALL AXES es axis 2 er m 2 Q Newport Universal Motion ContPsller Driver ModelesP300 AXIS 3 KEYPAD Scroll Down Select Menu Item Menu OR Enter Menu Decrement Value Cancel Entered Value Figure 2 1 Menu Section 2 2 2 Navigating the Menu Once in the menu listing the x y buttons shown on the left become active as indicated with a green LED in the center of the buttons With these four buttons it is possible to access all available menu items and change values where applicable The Up and Down arrow buttons scroll through the available Menu list The Right arrow button selects a menu item the Left arrow button de selects a menu item 2 2 3 Changing Values This example serves as an illustration of how to change values within a menu item 1 Press Menu to enter the menu listing Section 2
72. in Section 5 Procedures for ordering installing and using optional equipment are provided in Section 6 The following information is provided in the Appendices Error messages Trouble shooting and maintenance Connector pin assignments Decimal ASCII binary conversion table System upgrades for software and firmware Factory service 1 1 1 2 Safety Considerations The following general safety precautions must be observed during all phases of operations of this equipment Failure to comply with these precautions or with specific warnings elsewhere in this manual violates safety standards of design manufacture and intended use of the equipment Disconnect or do not plug in the power cord in the following circumstances If the power cord or any other attached cables are frayed or damaged If the power plug or receptacle is damaged If the unit is exposed to rain or excessive moisture or liquids are spilled on it If the unit has been dropped or the case is damaged If you suspect service or repair is required When you clean the case To protect the equipment from damage and avoid hazardous situations follow these recommendations 1 2 Do not make modifications or parts substitutions Return equipment to Newport Corporation for service and repair Do not touch directly or with other objects live circuits inside the unit Keep air vents free of dirt and dust Do not block air vents Keep liquids away from
73. in internal program execution or in combination with the RQ command If used in command mode it is important to note that input command processing is suspended until the wait condition has been satisfied none WS wait for stop WP wait for position 2MO WT400 2PA2 3 turn axis motor ON wait an additional 400 ms and then move axis 2 to position 2 3 units Section 3 Remote Mode XM read available memory USAGE SYNTAX PARAMETERS DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP XM None This command reports the amount of unused program memory The controller has 61440 bytes of non volatile memory available for permanently storing programs This command reports the amount not used Note Available memory space is updated only after the stored program memory is purged using XX command Available storage space EP enter program download mode EX execute a stored program LP list stored program XX delete a stored program XM read available memory Available storage space 61440 controller reports available storage space 3 165 XX erase program USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 166 IMM PGM MIP xxXX xx int program number xx 1 to 100 xx none Xx missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAME
74. low speed IMM PGM MIP USAGE SYNTAX xxJWnn or xxJW PARAMETERS Description xx int axis number nn float low speed value Range XX 1 to MAX AXES nn 0 to maximum value allowed by VU command or to read present setting Units XX none nn reset units second Defaults XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx10 MAXIMUM VELOCITY EXCEEDED DESCRIPTION This command is used to set the low speed for jogging an axis Its execution is immediate meaning that the value is changed when the command is processed including when motion is in progress It can be used as an immediate command or inside a program RETURNS If sign takes the place of nn value this command reports current setting REL COMMANDS JH set jog high speed VU set maximum velocity EXAMPLE 2VU read maximum velocity allowed axis 2 10 controller returns a value of 10 0 units second for axis 2 23 W2 5 set jog low speed to 2 5 units second for axis 2 2JW read jog low speed value for axis 2 2 5 controller returns a value of 2 5 units second for axis 2 Section 3 Remote Mode 3 95 KD set derivative gain USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 96 IMM PGM MIP xxKDnn or xxKD xx int axis number nn floa
75. nn None nn missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE This command is used to set digital I O DIO port A B and C direction where bit 0 corresponds to port A bit 1 to port B and bit 2 to port C If any bit is set to zero 0 then its corresponding port will become an input only If any bit is set to one 1 then its corresponding port will becomes an output only Ports A and B only are available on the ESP100 and ESP300 A DIO within a port configured as an input can only report its present HIGH or LOW logic level Whereas a DIO bit within a port configured as an output can set 1 or clear 0 the corresponding DIO hardware to HIGH or LOW logic level Reading the status of a port configured as output returns its present output status NOTE All direction bits are automatically zeroed or cleared after a system reset Therefore all DIO ports default to input by default NOTE Each DIO bit has a pulled up resistor to 5V Therefore all bits will be at HIGH logic level if not connected to external circuit and configured as input BIT VALUE DEFINITION 0 0 port A DIO bit 0 through bit 7 assigned as input 0 1 port A DIO bit 0 through bit 7 assigned as output 0 port B DIO bit 8 through bit 15 assigned as input 1 1 port B DIO bit 8 through bit 15 assigned as output 0 1 2 port C DIO bit 16 through bit 23 assigned as input 2 port C DIO bit 16 through bit 23 assigne
76. or motion is in progress or inside a program Note Avoid changing acceleration during acceleration or deceleration phases of a move For better predictable results change acceleration only when all the axes assigned to this group are not in motion RETURNS If sign takes the place of nn value this command reports the current setting REL COMMANDS AU set maximum acceleration and deceleration for an axis HN create a new group HD set vectorial deceleration for a group 3 68 Section 3 Remote Mode EXAMPLE Section 3 Remote Mode 1HN1 2 1AU 50 2AU 1HA50 1HA 50 create a new group 1 with physical axes I and 2 query maximum acceleration of axis 1 controller returns a value of 50 units second query maximum acceleration of axis 2 controller returns a value of 60 units second set vectorial acceleration of group 1 to 50 units second query vectorial acceleration of group 1 controller returns a value of 50 units second 3 69 HB read list of groups assigned USAGE SYNTAX PARAMETERS DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 70 IMM PGM MIP HB None This command is used to read the group numbers that have already been created or assigned This command reports the current setting If no groups have been created controller returns error number 15 GROUP NUMBER NOT ASSIGNED HN create a new group HX delete a group 1HN1
77. positions Figure 5 36 AREA Figure 5 36 Energizing Two Phases with Different Intensities 5 28 Section 5 Motion Control Tutorial Section 5 Motion Control Tutorial The conclusion is that varying the ratio between the currents of the two phases the user can position the rotor anywhere between the two full step locations To do so the user needs to drive the motor with analog signals similar to Figure 5 37 Al as B_ _Ss i pea Figure 5 37 Timing Diagram Continuous Motion Ideal But a stepper motor should be stepping The controller needs to move it in certain known increments The solution is to take the halh sine waves and digitize them so that for every step command the currents change to some new pre defined levels causing the motor to advance one small step Figure 5 38 a ee p Bol ae f c aii De rs e Figure 5 38 Timing Diagram Mini Stepping This driving method is called mini stepping or micro stepping For each step command the motor will move only a fraction of the full step Motion steps are smaller so the motion resolution is increased and the motion ripple noise is decreased However mini stepping comes at a price First the driver electronics are significantly more complicated Secondly the holding torque or one step is reduced by the mini stepping factor In other words for a x10 mini stepping it takes
78. redirected to program memory Command syntax and parameters are not evaluated even after the carriage return Instead they are treated as a series of characters to be stored in contiguous memory 3 3 A Remote Interfaces 3 2 1 In this manual Remote Interface refers to the two communication interfaces that the controller can use to communicate with a computer or a terminal via commands in ASCII format It is not called a Computer Interface since any device capable of sending ASCII characters can be interfaced with the controller The remote interface should not be confused with the General Purpose Input Output digital I Os a k a GPIO RS 232C Interface HARDWARE CONFIGURATION The serial RS 232C communication interface on the ESP controller is accessed through the 9 pin Sub D connector located on the rear panel The pin out is designed to interface directly with an IBM PC or compatible computer using a straight through cable Appendix C shows the pin out of the RS 232C connector and different cable types that may be used to interface to a computer COMMUNICATION PROTOCOL The RS 232C interface must be properly configured on both devices communicating A correct setting is one that matches all parameters baud rate number of data bits number of stop bits parity type and handshake type for both devices The ESP RS 232C configuration is fixed at 8 data bits no parity and 1 stop bit To prevent buffer overflow
79. required to jog based on a DIO bit status such as through joystick follow these steps Steps Move Action by Move Command Command 1 Assign DIO bits for 2BP0 1 Jog axis 2 in negative direction if jogging slave axis DIO bit 0 is low Jog axis 2 in positive direction if DIO bit 1 is low 2 Enable DIO bits for jog 2BQ1 mode 3 Define slave axis jog 2S1100 Update slave axis jog velocity velocity update interval every 100 milliseconds 4 Define slave axis scaling 2SK0 5 0 Specify scaling coefficients coefficients 5 Define slave axis 2TJ6 Set slave axis trajectory mode trajectory mode 6 Change DIO bit value physically Table 4 3 Slave to a Joystick Steps Refer to the description of the ASCII commands in Section 3 Remote Mode for additional description correct syntax parameter ranges etc 4 3 Closed Loop Stepper Motor Positioning 4 3 1 Introduction Closed Loop Stepper Most of the electro mechanical systems are subjected to phenomena such as backlash and friction Section 4 Advanced Capabilities 4 9 Due to such physical attributes a significant position error can be generated when systems are moved from one position to another by stepper motors without any closed loop control mechanism This error can be further accentuated by micro stepping and non collection of encoders necessary to have closed loop control and motors ESP series of motion controller s
80. stored program exceeds the allowed value Below is a list of all possible error messages that are axis specific mn Here x represents the axis number x00 MOTOR TYPE NOT DEFINED A valid motor type was not defined for the requested axis Refer to the description of QM command to define a motor type Appendix A Error Messages Appendix A Error Messages x01 PARAMETER OUT OF RANGE The specified parameter is out of range Refer to the description of issued command for valid parameter range x02 AMPLIFIER FAULT DETECTED There was an amplifier fault condition x03 FOLLOWING ERROR THRESHOLD EXCEEDED The real position of specified axis was lagging the desired position by more encoder counts than specified with the FE command Refer to the description of ZF command to configure the motion controller tasks upon encountering a following error x04 POSITIVE HARDWARE LIMIT DETECTED The motion controller sensed a high level at its positive travel limit input Refer to the description of ZH command to configure the motion controller tasks upon encountering a hardware limit x05 NEGATIVE HARDWARE LIMIT DETECTED The motion controller sensed a high level at its negative travel limit input Refer to the description of ZH command to configure the motion controller tasks upon encountering a hardware limit x06 POSITIVE SOFTWARE LIMIT DETECTED The motion controller sensed that the axis has reached positive software travel limi
81. support closed loop positioning of stepper motors to eliminate such errors The next subsection details the implementation of this feature in ESP controllers 4 3 2 Feature Implementation While closed loop control of stepper motors can be done during tracking as well as regulation ESP controllers closed loop stepping feature is effective only during regulation i e desired motion is completed and the motor is holding position This was done in order to avoid tuning of control gains such as proportional Kp integral Ki derivative Kd gains etc Users need to only enable the feature and define two 2 parameters desired deadband and closed loop update interval The following block diagram illustrates this feature When the desired motion is completed the controller calculates position error and evaluates if the error is within the user specified deadband If it is no further corrective actions are commanded On the other hand if the error is larger than the desired value the controller starts the closed loop update interval timer and issues commands to make necessary corrections It then waits for the timer to reset before checking the position error again This process is repeated until the position error reduces to the desired value deadband The corrective actions taken by the controller to reduce positioning error are dependent upon the way in which the stepper motors are controlled digital pulse generation or an
82. that the user is less interested in how the components look or what their individual specs are but want to be sure that together they perform reliably according to their needs We mentioned this to make a point A component is only as good as the system lets or helps it to be For this reason when discussing a particular system performance specification we will also mention which components affect performance the most and if appropriate which components improve it A Specification Definitions People mean different things when referring to the same parameter name To establish some common ground for motion control terminology here are some general guidelines for the interpretation of motion control terms and specifications e As mentioned earlier most motion control performance specifications should be considered system specifications e When not otherwise specified all error related specifications refer to the position error e The servo loop feedback is position based All other velocity acceleration error etc parameters are derived from the position feedback and the internal clock e To measure the absolute position we need a reference a measuring device that is significantly more accurate than the device tested In our case dealing with fractions of microns 0 1 um and less even a standard laser interferometer becomes unsatisfactory 5 2 Section 5 Motion Control Tutorial For this reason all factory meas
83. the controller waits for all motion in progress to end If nn is specified different than 0 the controller waits an additional nn milliseconds after the motion is complete and then executes the next commands Note Wait commands are primarily intended for use in internal program execution or in combination with the RQ command If used in command mode it is important to note that input command processing is suspended until the wait condition has been satisfied none WT wait WP wait for position 2PA10 2WS500 3PA5 move axis 2 to position 10 units wait for axis 2 to reach destination wait an additional 500ms and then move axis 3 to position 5 units 3 163 WT wait USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 164 IMM PGM MIP WTnn nn int wait time delay nn 0 to 60000 nn milliseconds xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command causes the controller to pause for a specified amount of time This means that the controller will wait nn milliseconds before executing the next command Note Even though this command can be executed in immediate mode its real value is as a flow control instruction inside programs Wait commands are primarily intended for use
84. the specified motor axis If sign is issued along with command the controller returns 1 0 AB ST MO 2MF 2MF 2MO 2MF motor power is ON motor power is OFF abort motion stop motion urn motor power ON turn axis 2 motor power OFF query axis 2 motor power status controller returns a value of 0 turn axis 2 motor power ON query axis 2 motor power status controller returns a value of 1 Section 3 Remote Mode MO motor on IMM PGM MIP USAGE SYNTAX xxMO or xxMO PARAMETERS Description xx int axis number Range XX to MAX AXES Units XX none Defaults XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE DESCRIPTION This command turns power ON of the specified motor axis CAUTION If the motor power was turned off by the controller detecting a fault condition before turning the power back on make sure that the cause of the fault was corrected RETURNS If sign is issued along with command the controller returns 1 motor power is ON 0 motor power is OFF REL COMMANDS AB abort motion ST stop motion MF urn motor power OFF EXAMPLE MO turn axis 2 motor power ON 2MO query axis 2 motor power status 1 controller returns a value of 1 2MF turn axis 2 motor power OFF 2MO query axis 2 motor power status 0 controller returns a value of 0 Section 3 Remote Mode 3 103 MT move to hardware travel limit
85. to set the deceleration value for an axis Its execution is immediate meaning that the deceleration is changed when the command is processed even while a motion is in progress It can be used as an immediate command or inside a program If the requested axis is a member of a group the commanded deceleration becomes effective only after the axis is removed from the group Refer to Advanced Capabilities section for a detailed description of grouping and related commands Avoid changing the deceleration during the acceleration or deceleration periods For better predictable results change deceleration only when the axis is not moving or when it is moving with a constant speed If the sign takes the place of nn value this command reports the current setting VA set velocity PA execute an absolute motion PR xecute a relative motion AU set maximum acceleration and deceleration AC set acceleration 3 27 EXAMPLE 3 28 2AU 10 2AC9 2AG6 2AG read maximum allowed acceleration deceleration of axis 2 controller returns a value of 10 units s2 set acceleration to 9 units s set deceleration to 6 units s2 read maximum current deceleration of axis 2 controller returns a value of 6 units s Section 3 Remote Mode AM set analog input mode IMM PGM MIP USAGE SYNTAX AMnn or AM PARAMETERS Range nn 0 to 7 or to read current setting Units nn none Defaults nn missing error 38
86. unit Do not expose equipment to excessive moisture gt 90 humidity WARNING All attachment plug receptacles in the vicinity of this unit are to be of the grounding type and properly polarized Contact an electrician to check faulty or questionable receptacles Section 1 Introduction WARNING This product is equipped with a 3 wire grounding type plug Any interruption of the grounding connection can create an electric shock hazard If you are unable to insert the plug into your wall plug receptacle contact an electrician to perform the necessary alterations to assure that the green green yellow wire is attached to earth ground WARNING This product operates with voltages that can be lethal Pushing objects of any kind into cabinet slots or holes or spilling any liquid on the product may touch hazardous voltage points or short out parts WARNING When opening or removing covers observe the following precautions Turn power OFF and unplug the unit from its power source Remove jewelry from hands and wrists Use insulated hand tools only Maintain grounding by wearing a wrist strap attached to instrument chassis EE Conventions and Definitions 1 3 1 Section 2 Modes of Operation This section provides a list of symbols and their definitions and commonly used terms found in this manual Definitions and Symbols The following are definitions of safety and general symbols used on equipment or in thi
87. 0 or to read current setting None error 38 COMMAND PARAMETER MISSING error 7 PARAMETER OUT OF RANGE This command is used to either set all digital I O DIO port A B and C logic level or read its present status Bits 0 7 correspond to port A bits 8 15 to port B and bits 16 23 to port C Each 8 bit port can be set as either input or output with the BO command A DIO within a port configured as an input can only report its present HIGH or LOW logic level Whereas a DIO bit within a port configured as an output can set 1 or clear 0 the corresponding DIO hardware to HIGH or LOW logic level Reading the status of a port configured as output returns its present output status NOTE All direction bits are automatically zeroed or cleared after a system reset Therefore all DIO ports default to input by default NOTE Each DIO bit has a pulled up resistor to 5V Therefore all bits will be at HIGH logic level if not connected to external circuit and configured as input port A bit 0 at logic level 0 LOW port A bit 0 at logic level 1 HIGH port A bit 1 at logic level 0 LOW port A bit 1 at logic level 1 HIGH port A bit 2 at logic level 0 LOW port A bit 2 at logic level 1 HIGH port A bit 3 at logic level 0 LOW port A bit 3 at logic level 1 HIGH port A bit 4 at logic level 0 LOW port A bit 4 at logic level 1 HIGH BIT VALUE DEFINITION 0 0 0 1 1 0 1 2 0 12 1 3 0 3 1 4 0 4 1
88. 01101111 112 P 01110000 113 Q 01110001 114 R 01110010 115 S 01110011 116 T 01110100 117 U 01110101 118 Vv 01110110 119 W 01110111 120 X 01111000 121 Y 01111001 122 Z 01111010 123 01111011 124 l 01111100 125 01111101 126 01111110 127 01111111 128 10000000 Table D 1 Binary Conversion Table using decimal and ASCII codes Continued Appendix D Binary Conversion Table D 3 Number ASCII Binary decimal Code Code 129 10000001 130 10000010 131 10000011 132 10000100 133 10000101 134 10000110 135 10000111 136 10001000 137 10001001 138 10001010 139 10001011 140 10001100 141 10001101 142 10001110 143 10001111 144 10010000 145 10010001 146 10010010 147 10010011 148 10010100 149 10010101 150 10010110 151 10010111 152 10011000 153 10011001 154 10011010 155 10011011 156 10011100 157 10011101 158 10011110 159 10011111 160 10100000 161 10100001 162 10100010 163 10100011 164 10100100 165 10100101 166 10100110 167 10100111 168 10101000 169 10101001 170 10101010 171 10101011 172 10101100 173 10101101 174 10101110 175 10101111 176 10110000 177 10110001 Table D 1 Binary Conversion Table Using decimal and ASCII codes Continued Appendix D Binary Conversion Table
89. 1 PID Servo Loops The PID term comes from the proportional integral and derivative gain factors that are at the basis of the control loop calculation The common equation given for it is K ee Kj e dt K4 ede dt where Kp Proportional gain factor K integral gain factor Kg derivative gain factor e instantaneous following factor The program for most users is to get a feeling for this formula especially when trying to tune the PID loop Tuning the PID means changing its three gain factors to obtain a certain system response task quite difficult to achieve without some understanding of its behavior of servo loops The following paragraphs explain the PID components and their operation P Loop Lets start with the simplest type of closed loop the P proportional loop The diagram in Figure 5 14 shows its configuration Every servo cycle the actual position as reported by the encoder is compared to the desired position generated by the trajectory generator The difference e is the positioning error the following error Amplifying it multiplying it by Kp generates a control signal that converted to an analog signal is sent to the motor driver There are a few conclusions that could be drawn from studying this circuit e The motor control signal thus the motor voltage is proportional to the following error Section 5 Motion Control Tutorial e There must be a following error in order to drive the m
90. 55 11111111 Table D 1 Binary Conversion Table using decimal and ASCII codes Continued Appendix D Binary Conversion Table Appendix E System Upgrades The modular design of the ESP300 makes it easy for qualified individuals to upgrade the unit in the field Upgrade kits to add more axis IEEE488 or display option are available upon request Call Newport for details This section describes how to upgrade an ESP300 from 2 to 3 axes Other axes upgrades can be performed accordingly WARNING Opening or removing covers will expose you to hazardous voltages Refer all servicing internal to this controller enclosure to qualified service personnel who should observe the following precautions before proceeding Turn power OFF and unplug the unit from its power source Disconnect all cables Remove any jewelry from hands and wrists Use only insulated hand tools Maintain grounding by wearing a wrist strap attached to instrument chassis CAUTION The ESP contains static sensitive devices Exercise appropriate caution when handling ESP300 boards cables and other internal components Appendix E System Upgrades E 1 CAUTION Do not install anything into your ESP300 except items provided by Newport specifically for installation into the ESP300 BI Adding Axes 1 Turn the power off and unplug the power cord from the controller Disconnect all cables from the controller 2 Remove the 2 screws
91. AG command The axes original values will be restored when the group to which they have been assigned is deleted This command takes effect immediately It can be executed when controller is idling or motion is in progress or inside a program Note Avoid changing deceleration during acceleration or deceleration phases of a move For better predictable results change deceleration only when all the axes assigned to this group are not in motion If sign takes the place of nn value this command reports the current setting AU set maximum acceleration and deceleration for an axis HN create a new group HA set vectorial acceleration for a group 3 73 EXAMPLE 3 74 1HN1 2 1AU 50 2AU 1HD50 1HD 50 create a new group 1 with physical axes I and 2 query maximum deceleration of axis 1 controller returns a value of 50 units second query maximum deceleration of axis 2 controller returns a value of 60 units second set vectorial deceleration of group 1 to 50 units second query vectorial deceleration of group 1 controller returns a value of 50 units second Section 3 Remote Mode HE set group e stop deceleration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxHEnn or xxHE xx int group number nn float vector e stop deceleration value x
92. AXIMUM VELOCITY EXCEEDED error xx24 SPEED OUT OF RANGE This command sets the low speed used to search for home location for an axis Its execution is immediate meaning that the value is changed when the command is processed including when motion is in progress It can be used as an immediate command or inside a program If sign takes the place of nn value this command reports current setting OR OH OL 30L2 30L 2 Section 3 Remote Mode search for home set home search high speed set home search low speed set home search low speed of axis 3 to 2 units sec query home search low speed of axis 3 controller returns a value of 2 units second 3 109 OM set home search mode USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 110 IMM PGM MIP xx int axis number nn int home search mode XX 1 to MAX AXES nn 0 to 6 xx none nn none XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command selects the home search type without invoking the home search sequence see the description of OR command for more information on home search The seven home search types are 0 Position Count Home Switch and Index Signals Home Switch Signal Positive Limit Sig
93. BER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command defines the value for the negative left software travel limit It should be used to restrict travel in the negative direction to protect the motion device or its load For instance if traveling full range a stage could push its load into an obstacle To prevent this the user can reduce the allowed travel by changing the software travel limit Since a motion device must be allowed to find its home position the home switch and or sensor must be inside the travel limits This means that both positive and negative travel limits cannot be set on the same side of the home position A more obvious restriction is that the negative limit cannot be greater than the positive limit If any of these restrictions is not respected the controller will return PARAMETER OUT OF RANGE Note If the command is issued for an axis in motion the new limit should not be set inside the current travel Note Be careful when using this command The controller does not know the real hardware limits of the motion device Always set the software limits inside the hardware limits limit switches In normal operation a motion device should never hit a limit switch If the sign takes the place of nn value this command reports the current setting OR search for home SR set right software limits 1SL41 4 set negative travel li
94. CONNECTOR The coaxial connector provides remote motor power interlock capability One or more external switches can be wired to remotely inhibit the motor power in a way similar to the Stop All button on the front panel The controller is shipped with a mating connector that provides the necessary wiring to enable proper operation without an external switch RS232 C CONNECTOR The RS232 C interface to a host computer or terminal is made through this 9 pin D Sub connector The pin out enables the use of an off the shelf pin to pin cable TEEE488 CONNECTOR This is a standard 24 pin connector to interface with a standard IEEE488 device NOTE This is an optional feature POWER ENTRY MODULE The power entry section on the right side of the rear panel provides a standard IEC 320 inlet a fuse holder and a binding post to ground the controller if the main power supply wiring does not provide earth ground terminals 1 5 System Setup 1 10 1 5 1 This section guides the user through the proper set up of the motion control system Carefully unpack and visually inspect the controller and stages for any damage Place all components on a flat and clean surface Line Voltage NOTE The controller can operate from 100 240VAC 10 at a frequency of 50 60 Hz Section 1 Introduction 1 5 2 First Power ON Plug the AC line cord supplied with the ESP300 into the power entry module on the rear panel Plug the AC line co
95. D Loop The third term of the PID Loop is the derivative term It is defined as the difference between the following error of the current servo cycle and of the previous one If the following error does not change the derivative term is zero Figure 5 16 sows the PID servo loop diagram The derivative term is added to the proportional and integral one All three process the following error in their own way and added together form the control signal The derivative term adds a damping effect that prevents oscillations and position overshoot Servo Controller Trajectory e Generator Motor Bete O EHEH Encoder Motion Controller O Figure 5 16 PID Loop Feed Forward Loops As described in the previous paragraph the main driving force in a PID loop is the proportional term The other two correct static and dynamic errors associated with the closed loop Taking a closer look at the desired and actual motion parameters and at the characteristics of the DC motors some interesting observations can be made For a constant load the velocity of a DC motor is approximately proportional with the voltage This means that for a trapezoidal velocity profile for instance the motor voltage will have also a trapezoidal shape Figure 5 17 The second observation is that the desired velocity is calculated by the trajectory generator and is known ahead of time The obvious conclusion is that we could take this velocity information scal
96. DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 60 IMM PGM MIP xxEP xx int program number xx 1 to 100 xx none xx missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE This command sets the controller in programming mode All the commands following this one will not be executed immediately but stored in memory as part of program number xx To exit program entry mode and return to immediate mode use QP command Programs can be entered in any order If a program already exists then it must be first deleted using XX command Note Programs are automatically stored into non volatile memory when created none QP quit programming mode EX execute stored program AP abort stored program execution XX erase program 3XX clear program 3 from memory if any 3EP activate program mode and enter following commands as program 3 QP end entering program and quit programming mode 3EX run stored program number 3 Section 3 Remote Mode ES define event action command string USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS Section 3 Remote Mode IMM PGM MIP ESnn or ES nn string ASCII command string 184 characters max nn Limited to existing non query command support or to read the current setting None nn missing To clear command string and disable event action This
97. E error 15 GROUP NUMBER NOT ASSIGNED This command deletes a group and makes available any axes that were assigned to it for future assignments none HN 1HN1 2 1HN 12 1HX 1HN TB reate a new group create a new group 1 with physical axes 1 and 2 query axes assigned to group 1 controller returns the axes assigned to group 1 delete group 1 query axis assigned to group 1 read error message 0 475322 GROUP NUMBER NOT ASSIGNED Section 3 Remote Mode 3 89 HZ read group size USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 90 IMM PGM xxHZ xx int xx XX missing out of range not assigned MIP group number 1 to MAX GROUPS none error 13 GROUP NUMBER MISSING error 14 GROUP NUMBER OUT OF RANGE error 15 GROUP NUMBER NOT ASSIGNED This command is used to read the number of axes assigned to a group This command reports the current setting HN HX 1HN1 2 1HN 1 2 1HZ 2 create a new group delete a group create a new group 1 with physical axes I and 2 read axes assigned to group 1 controller returns the axes assigned to group 1 read size of group 1 controller returns 2 Section 3 Remote Mode ID read stage model and serial number USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS
98. EDED The specified axis jerk exceeds maximum jerk allowed for the axis Refer to the description of JK command for valid jerk range x16 MAXIMUM DAC OFFSET EXCEEDED The specified axis DAC offset exceeds maximum value allowed for the axis Refer to the description of issued command for valid range x17 ESP CRITICAL SETTINGS ARE PROTECTED An attempt was made to modify parameters that are specific to smart stages or Unidriver x18 ESP STAGE DEVICE ERROR An error occurred while reading a smart stage x19 ESP STAGE DATA INVALID Smart stage data is invalid x20 HOMING ABORTED Axis home search was aborted This message is obtained when home search was not completed either due to an axis not being enabled or due to the occurrence of a fault condition Refer to the description of OR command for information related to locating the home position of an axis Appendix A Error Messages Appendix A Error Messages x21 MOTOR CURRENT NOT DEFINED Maximum current for the motor is not specified Refer to the description of QI command to query or set the maximum motor current for an axis x22 UNIDRIVE COMMUNICATIONS ERROR There was no communication between motion controller and the Unidriver x23 UNIDRIVE NOT DETECTED Unidrive could not be detected by the motion controller x24 SPEED OUT OF RANGE The specified home search speed is out of range Refer to the description of OH command for valid home search speed range x25 INVALID T
99. EEX COXSCULE APTOS AMT 2 0 ccstececsrcsueedscasduncthataeedidetaddnsdestondtoabaadanaaeeesducs bakcaaxesmerecs 63 FE set maximum following error threshold cecccccesceeeceeeceeteeeeeeeteeeenes 64 FP set position display resolution ceecceeccessceesceesseceeeceeeeeseeeeeseeesaeeneeesnes 65 FR set encoder full step resolution sates aaa ysdaddicssivarecuddatsn cakaetesauldontcenteeeds 66 GR set master slave reduction ratio ssssessssessesessseessesersstessesrtssressessresseeseee 67 HA set group acceleration sssessssesseseeeseessessrssressessessresseestesrrsstesesressresseseess 68 xi xii HB HC HD HE HF HJ HL HO HP HQ HS HV HW HX HZ ID JH JK JL JW KS LP MD MF MO MT MV MZ OH OL OM OR PA PC PH PR QD QG QI QM QP QR read list of groups assigned esessessessesseessessresresseesesressresseseessressessrssees 70 move group along an afC s sssessssessssesesesssseststsestssstststereststssesesteresesessesa 71 set OrOUp CECE lA OM sre eie e aa r E T TEE i set group e stop deceleration 5 24 scckics ss senses shades sav esavee cusnn des suasa vs ohacseaeonates 75 210101 OP PORIE E casa desta ua cas asad anaphase nade 76 Set OPOUP JOT oi stit sents actaas aes den aad wag wee meee 77 move group along MAE oo sins cee Siccec ated cease ceatiecsouceathinan Uelada daa ce vnreasbareicadieas 78 create NEW OOM Paces State ed taalarne E E alert id aloes tts 80 LOUD ON nan a ta uds a E b
100. EPARATOR Commands issued on the same line must be separated by semicolons 5 Multiple parameters issued for the same command are separated by commas TERMINATOR Each command line must end with a line terminator i e carriage return Section 3 Remote Mode Ea Command Summary The controller understands many commands The following tables list all of them sorted first by category and then alphabetically The tables also show the operating modes in which each command can be used The acronyms used in the tables have the following meaning IMM IMMediate mode Controller is idle and the commands will be executed immediately PGM ProGraM mode Controller does not execute but stores all commands as part of a program EP activates this mode and QP exits it MIP Motion In Progress Controller executes command on the specified axis while in motion Section 3 Remote Mode 3 9 TABLE 3 5 1 Command List by Category In a PDF format you may click on a page number to automatically be connected to the corresponding Command Page GENERAL MODE SELECTION Cmd Description IMM PGM MIP Page BQ Enable disable DIO jog mode 3 H BR Set serial communication speed 3 42 DO Set DAC offset 3 56 FP Set position display resolution 3 55 MF Power OFF 3 102 MO Power ON 3 103
101. ES 0 to maximum value allowed by VU command or to read present setting none reset units second error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx10 MAXIMUM VELOCITY EXCEEDED error xx24 SPEED OUT OF RANGE This command sets the high speed used to search for home location for an axis Its execution is immediate meaning that the value is changed when the command is processed including when motion is in progress It can be used as an immediate command or inside a program If sign takes the place of nn value this command reports current setting OR OL 30H10 30H 10 search for home set home search low speed set home search high speed of axis 3 to 10 units sec query home search high speed of axis 3 controller returns a value of 10 0 units second Section 3 Remote Mode OL set home search low speed USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM MIP xxOLnn or xxOL xx int nn float xx nn xx nn Xx missing out of range nn missing out of range axis number low speed value 1 to MAX AXES 0 to maximum value allowed by VU command or to read present setting none preset units second error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx10 M
102. ESP300 Motion Controller Driver User s Manual Warranty Newport Corporation warrants this product to be free from defects in material and workmanship for a period of one year from date of shipment If found to be defective during the warranty period the product will either be repaired or replaced at Newport s option To exercise this warranty write or call your local Newport office or representative or contact Newport headquarters in Irvine California You will be given prompt assistance and return instructions Send the instrument transportation prepaid to the indicated service facility Repairs will be made and the instrument returned transportation prepaid Repaired products are warranted for the balance of the original warranty period or at least 90 days Limitation of Warranty This warranty does not apply to defects resulting from modification or misuse of any product or part This warranty also does not apply to fuses batteries or damage from battery leakage This warranty is in lieu of all other warranties expressed or implied including any implied warranty of merchantability or fitness for a particular use Newport Corporation shall not be liable for any indirect special or consequential damages First printing July 1999 Copyright 1999 by Newport Corporation Irvine CA All rights reserved No part of this manual may be reproduced or copied without the prior written approval of Newport Corporation This manu
103. Encoder Channel A Axis 6 11 N C 12 N C 13 N C 14 Encoder Channel B Axis 6 15 Encoder Channel B Axis 6 16 Digital Input Output 0 17 Digital Input Output 1 18 Digital Input Output 2 19 Digital Input Output 3 20 5V 500 mA max 21 5V 500 mA max 22 DGND 23 DGND 24 N C 25 N C Table C 3 Auxiliary Encoder Connector Pin Outs C 1 6 IEEE488 Interface Connector 24 Pin The IEEE488 Interface Connector has a standard configuration as shown in Table C 4 Description Pin Pin Description DIO1 1 13 DIO5 DIO2 2 14 DIO6 DIO3 3 15 DIO7 DIO4 4 16 DIO8 EOI 5 17 REN DAV 6 18 GND NRFD 7 19 GND NDAC 8 20 GND IFC 9 21 GND SRQ 10 22 GND ATN 11 23 GND SIELD 12 24 SIGNAL GND Table C 4 IEEE488 Interface Connector C 1 7 RS 232C Interface Connector 9 Pin D Sub The RS 232C interface uses a 9 pin sub F connector The back panel connector pin out is shown in Figure C 1 Appendix C Connector Pin Assignments Pin No Description eee aaa eae Eee a 15V AE PAE E EE EEE TXD jenna E ee RXD A e DTR A ee eee N C 6 eee eee 15V g EEEE EE TEER RTS PR coe ee T CTS E N C Figure C 1 RS 232C Connector Pin Out C 1 8 RS 232C Interface Cable Figure C 2 shows a simple straight through pin to pin cable with 9 conductors that can be used to connect to a standard 9 pin RS232 host Pin No Pin No 1 1 2
104. ION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxQInn or xxQI xx int nn float xx nn XX nn E xx missing out of range nn missing out of range axis number motor current 1 to MAX AXES 0 to maximum driver rating see Specifications section or to read present setting none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE This command is used to set the maximum motor current output for a Newport Unidrive compatible programmable driver axis This command must to be followed by the QD update driver command to take affect If the sign takes the place of nn value this command reports the current setting QG set gear constant QD update driver QS set microstep factor QT set tachometer gain QY set average motor voltage 2QI read maximum motor current setting of axis 2 1 6 controller returns a value of 1 6 Amp for axis 2 2QI 1 2 set maximum motor current to 1 2Amp for axis 2 2QD update programmable driver with latest settings for axis 2 SM save all controller settings to non volatile memory 3 123 QM set motor type USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 124 IMM PGM MIP xxQMnn or xxQM xx int axis number
105. Input 19 Encoder Channel A Encoder Channel A C 2 Table C 2 Driver Card Connector Pin Outs Appendix C Connector Pin Assignments Pins 2 Phase Stepper Motor DC Motor 20 Encoder Channel B Encoder Channel B 21 Encoder Supply 5V Encoder Supply 5V 22 Encoder Ground Encoder Ground 23 Encoder Channel A Encoder Channel A 24 Encoder Channel B Encoder Channel B 25 Encoder Index Encoder Index Table C 2 Driver Card Connector Pin Outs Continued C 1 4 Signal Descriptions Motor Driver Card 25 Pin I O Connector DC Motor Phase Output This output must be connected to the positive lead of the DC motor The voltage seen at this pin is pulse width modulated with a maximum amplitude of 48V DC DC Motor Phase Output This output must be connected to the negative lead of the DC motor The voltage seen at this pin is pulse width modulated with a maximum amplitude of 48V DC Stepper Motor Phase 1 Output This output must be connected to Winding A lead of a two phase stepper motor The voltage seen at this pin is pulse width modulated with a maximum amplitude of 48V DC Stepper Motor Phase 2 Output This output must be connected to Winding A lead of a two phase stepper motor The voltage seen at this pin is pulse width modulated with a maximum amplitude of 48V DC Stepper Motor Phase 3 Output This output must be connected to Winding B lead o
106. L5 jump to label 1 location 5 times END end of program list Section 3 Remote Mode MD read motion done status USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM xxMD xx int xx xx xx missing out of range MIP axis number 1 to MAX AXES none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE This command is used to read the motion status for the specified axis n The MD command can be used to monitor Homing absolute and relative displacement move completion status PA PR 3MD 3PR2 2 3MD Section 3 Remote Mode Oor 1 where 0 motion not done FALSE 1 motion done TRUE move to an absolute position move to a relative position move to home position read axis 3 move done status controller returns status I motion done for axis 3 start a relative motion of 2 2 on axis 3 read axis 3 move done status controller returns status 0 motion not done for axis 3 3 101 MF motor off USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 102 IMM PGM MIP xxMF or xxMF xx int xx xx XX missing out of range axis number 1 to MAX AXES none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE This command turns power OFF of
107. MANDS ZA ZE ZF ZB ZS ZZ EXAMPLE 2ZH 25H 2ZH 23H SM Section 3 Remote Mode set amplifier I O configuration set e stop configuration set following error configuration set feedback configuration set software limit configuration set general system configuration read hardware limit configuration of axis 2 controller returns a value of 25H for axis 2 save all controller settings to non volatile memory set hardware limit configuration to 23H for axis 2 If the sign takes the place of nn value this command reports the current 3 177 ZS set software limit configuration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION 3 178 IMM PGM MIP xxZSnn or xxZS xx int axis number nn int hardware limit configuration XX 1 to MAX AXES nn 0 to OFFFFH hexadecimal with leading zero 0 or to read current setting xx none nn none xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE critical setting error xx17 ESP CRITICAL SETTINGS ARE PROTECTED This command is used to set the software limit checking and event handling for axis specified with xx NOTE If bit 0 or both bits 1 and 2 are set to zero 0 then no action will be taken by the controller NOTE The controller always interprets
108. METER MISSING out of range error xx16 MAXIMUM DAC OFFSET EXCEEDED This command is used to set the DAC offset compensation for the specified DAC channel In the case of ESP6000 and ESP7000 motion controllers there is only one DAC channel associated with every axis DAC channel 1 is associated with axis 1 DAC channel 2 with axis 2 etc In the case of ESP100 and ESP300 motion controllers however there are two DAC channels associated with every axis DAC channels 1 and 2 are associated with axis 1 DAC channels 3 and 4 with axis 2 etc In order for the DAC offset to take affect this command must be followed by the ASCII command UF Update Filter This offset may be saved to non volatile flash memory by issuing the ASCII command SM This will cause the DSP to automatically use the saved value after system reset or reboot NOTE DAC offset compensation is necessary on servo axes to prevent motor drift during motor off conditions If the sign takes the place of nn value this command reports the current setting None Set the offset for DAC channel 1 to 0 05V 1UF Update the filter settings SM Save parameters to non dvolatile flash memory Section 3 Remote Mode DP read desired position USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM xxDP xx int xx xx xx missing out of range MIP axis num
109. Mode DESCRIPTION Section 3 Remote Mode out of range error 7 PARAMETER OUT OF RANGE This command is used to setup data acquisition analog data acquisition ADC as well as acquisition of certain trace variables using ESP motion controller PARAMETER nn1 Data acquisition modes 0 9 and 30 39 support different ways in which analog data can be collected On the other hand mode 10 may be used to acquire trace variable data PARAMETER nn2 Data acquisition analog or trace variable is triggered by the motion of an axis specified through this parameter Exceptions to this requirement are in the case of data acquisition modes 0 10 30 and 36 For these cases enabling data acquisition is sufficient to start the data acquisition process For all other modes two conditions enabling of data acquisition and any mode dependent conditions such as trigger axis reaching slew speed must be met in order to start the data acquisition process This parameter is of no consequence for data acquisition modes 3 33 and 39 wherein the data acquisition process is triggered by an external source PARAMETER nn3 and nn4 Since the criteria used for analog data acquisition and trace variable data acquisition are different parameters 3 and 4 are interpreted differently based on the type of data being acquired Please refer to the table below for interpreting these two parameters accurately PARAMETER nn5 The rate at which data is to be
110. Motion Control Tutorial Section 5 Motion Control Tutorial This torque diagram is accurate even when the motor is driven with half mini or micro steps The maximum torque is still one full step away from the stable desired position 5 6 1 1 Stepper Motor Types To simplify the explanation the examples above are based on a variable reluctance stepper motor The main characteristic of these motors is that their rotors have no permanent magnets The variable reluctance motors are easy and inexpensive to make but suffer from higher inefficiency and require a unipolar driver They are used in low cost low power applications Permanent magnet motors have each tooth made out of a permanent magnet each one having alternate polarity They are more efficient but the step size is very large due to the physical size of the pole teeth They are also being used in low cost and in particular miniature applications The most common type of stepper motor is the Hybrid stepper motor It is the fine teeth and stepping angle of a variable reluctance motor and the efficiency of the permanent magnet motor The rotor is made out of one or more stacks that consist of a pair of magnetically opposite polarized sections These motors offer the best combination of efficiency and fine stepping angles and can be driven by both unipolar and bipolar drivers Advantages Stepper motors are primarily intended to be used for low cost microprocessor co
111. Motion Control Tutorial section to understand the basic principles of feed forward Note The command can be sent at any time but it has no effect until the UF update filter is received RETURNS If the sign takes the place of nn value this command reports the current setting REL COMMANDS KI set integral gain factor KD set derivative gain factor KP set proportional gain factor KS set saturation gain factor VF set velocity feed forward gain UF update filter EXAMPLE 3VF1 5 set acceleration feed forward gain factor for axis 3 to 1 5 3AF report present axis 3 acceleration feedforward setting 0 9 controller returns a value of 0 9 3AF0 8 set acceleration feed forward gain factor for axis 3 to 0 8 3UF update PID filter only now the AF command takes effect 3 26 Section 3 Remote Mode AG set deceleration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS Section 3 Remote Mode IMM PGM MIP xxAGnn or xxAG xx int axis number nn float acceleration value xx 1 to MAX AXES Nn to the maximum programmed value in AU command or to read current setting xx none Nn predefined units second2 xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx11 MAXIMUM ACCELERATION EXCEEDED This command is used
112. NOTE The controller always interprets the nn value as a hexadecimal number even when the letter H is not appended to the desired value Since nn is a hexadecimal number it is possible that the most significant character left most character is an alphabet A F depending on the choice of values for various bits In order for the controller to distinguish between an ASCII command and its value it is recommended that the users always add a leading zero 0 to the nn value See table below for clarification Example Command Issued Controller Interpretation 1ZH123H nn 123H 0001 0010 0011 Binary 1ZH123 nn 123H 0001 0010 0011 Binary 1ZHOF25H nn F25H 1111 0010 0101 Binary 1ZHF25H Invalid command Section 3 Remote Mode 0 0 i AMAR WW GN NNA 31 31 BIT VALUE Oo Oo Oo So Se oH OS HS onm O DEFINITION disable hardware travel limit error checking enable hardware travel limit error checking do not disable motor on hardware travel limit event disable motor on hardware travel limit event do not abort motion on hardware travel limit event abort motion on hardware travel limit event reserved reserved reserved reserved hardware travel limit input active low hardware travel limit input active high reserved reserved reserved reserved ooo reserved reserved default setting RETURNS setting in hexadecimal notation REL COM
113. ORY MODE FOR MOVING controller returns appropriate error message Section 3 Remote Mode ST stop motion USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxST xx int xx xx axis number 1 to MAX AXES none xx out of range error 9 AXIS NUMBER OUT OF RANGE This command stops a motion in progress using deceleration rate programmed with AG set deceleration command on the specified axes If the ST command is sent with no axis parameter all axes are stopped none AB AG MF 2PA40 2ST abort motion set deceleration motor power off move axis 2 to absolute position 40 stop motion on axis 2 3 145 SU set encoder resolution USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 146 IMM PGM MIP xxSUnn or xxSU xx int axis number nn float encoder resolution XX 1 to MAX AXES nn 2e 9 to 2e 9 in user defined units or to read present setting xx none nn none xx missing error 37 AXIS NUMBER MISSING out of range nn missing out of range error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE This command is used to set the encoder resolution for axis xx Note The encoder resolution can
114. Origin Switch Search 5 21 Figure 5 25 Home Origin Search From Opposite Directi n Ai pcs cce ein sen a cidaht ieee A 5 22 Figure 5 26 Encoder Quadrature Output ccccccccecsessesees 5 23 Preface Preface Figure 5 27 Optical Encoder Scale ccccccccssccsssseessseseessseensees 5 23 Figure 5 28 Optical Encoder Read Head c cccccceccesetriees 5 24 Figure 5 29 Single Channel Optical Encoder Scale and Read Head Assembly ic ccccccccccscecsetsseeseeesseees 5 24 Figure 5 30 Two Channel Optical Encoder Scale and Redd Head ASSCMPIVs sutijeciscivedisesvuascin acess 5 25 Figure 5 31 Stepper Motor Operation ccccccccccetseeeteeeenees 5 26 Figure 5 32 Four Phase Stepper Motor cccccccccscscceeeeteees 5 27 Figure 5 33 Phase Timing Diagram sic cect teed st sa ees 5 27 Figure 5 34 Energizing Two Phases Simultaneously 5 28 Figure 5 35 Timing Diagram Half Stepping Motor 5 28 Figure 5 36 Energizing Two Phases with Different DEBTS UTS soe Rata aA Manto geste nee danse 5 28 Figure 5 37 Timing Diagram Continuous Motion Ideall 5 29 Figure 5 38 Timing Diagram Mini Stepping 00cccccceees 5 29 Figure 5 39 Single Phase Energization cccccccsctsseeseeesees 5 30 Figure 5 40 External Force Applied ccccccccccceteetseeesteetsees 5 30 Figure 5 41 Unstable POW 5 scsuasssinsiateioes deodanethensnesitatutsendges 5 30 Figure 5 42 Torque and Tooth Alignm
115. Positive following error during the error during the error during the constant velocity constant velocity constant velocity phase ofa motion phase of a motion phase of a motion Stage lags the Stage is ahead of the desired trajectory desired trajectory Aff Reduces following Negative following Position following error during the acceleration and deceleration phases of a motion error during the acceleration phase of a motion Stage lags the desired trajectory error during the acceleration phase of a motion Stage is ahead of the desired trajectory Table 6 1 Servo Parameter Functions 6 5 6 6 Section 6 Servo Tuning Section 7 Optional Equipment 7 4 Hand held Keypad An optional alphanumeric keypad see Figure 7 1 below allows the user to access the full command set of the ESP300 without the use of a host computer The keypad features a backlit LCD display that echoes each character typed on the keypad Additionally status messages are echoed to the display in certain cases e g error codes Four macro keys on the top row of the keypad permit execution of previously stored programs on the push of one button see EP EX commands in Section 3 Remote Mode for details Backlit LCD Display Stop All key 4 Macro keys Enter key Shift key Space Backspace Figure 7 1 Alphanumeric Hand held Keypad Section 7 Optional Equipment 7 1 Description of Keys
116. QD Update Unidriver amplifier 3 121 RS Reset the controller 3 132 TJ Set trajectory mode 3 149 ZA Set amplifier configuration 3 167 ZB Set feedback configuration 3 170 ZE Set E stop configuration 3 172 ZF Set following error configuration 3 174 ZH Set hardware limit configuration 3 L176 ZS Set software limit configuration 3 178 ZU Get ESP system configuration 3 180 ZZ Set system configuration 3 183 STATUS FUNCTIONS Cmd Description IMM PGM MIP Page DP Get target position 3 57 DV Get working speed 3 58 ID Get stage model and serial e 3 1 number MD Get axis motion status 3 101 PH Get hardware status 3 117 TB Get error message 3 147 TE Get error number 3 148 TP Get position 3 150 TS Get controller status 3 L51 TV Get velocity 3 152 TX Get controller activity 3 153 VE Get firmware version 3 159 XM Get available program memory 3 165 3 10 Section 3 Remote Mode MOTION amp POSITION CONTROL Cmd Description IMM PGM MIP Page AB Abort motion 3 21 DH Define home 3 54 MT Move to hardware travel limit 3 104 MV Move indefinitely 3 105 MZ Move to nearest index 3 L07
117. RAJECTORY MASTER AXIS The specified trajectory mode in not valid for a master axis Refer to the description if TJ command to specify a valid trajectory mode for a master axis x26 PARAMETER CHARGE NOT ALLOWED The specified parameter cannot be changed while the axis is in motion Wait until the axis motion is complete and issue this command again Refer to the description of MD command to determine if motion is done x27 INVALID TRAJECTORY MODE FOR HOMING The specified trajectory mode is not valid for locating the home position of the axis Refer to the description of TJ command to specify a valid trajectory mode for locating the home position of this axis x28 INVALID ENCODER STEP RATIO The specified full step resolution is invalid Refer to the description of FR command for valid range of full step resolution x29 DIGITAL VO INTERLOCK DETECTED A DIO interlock was asserted x30 COMMAND NOT ALLOWED DURING HOMING The command issued was not executed because locating the home position of this axis is in progress Refer to the description of the issued command for further details x31 COMMAND NOT ALLOWED DUE TO GROUP ASSIGNMENT The specified command was not executed because this axis is member of a group Refer to the description of issued command for further details x32 INVALID TRAJECTORY MODE FOR MOVING The specified trajectory mode is invalid to make absolute or relative moves Refer to the description of PA and PR comman
118. RAMETER OUT OF RANGE This command is used to set the displacement units for the for axis xx Note The unit of measure as used with this controller is intended as a label only It is the user s responsibility to convert and resend all affected parameters e g velocity acceleration etc when switching from one unit of measure to another If the sign takes the place of nn value this command reports the current setting FR SU 2SN 2SN 0 set full step resolution set encoder resolution read displacement unit setting of axis 2 controller returns a value 2 millimeter for axis 2 set displacement unit to 0 encoder count for axis 2 Section 3 Remote Mode SR set right travel limit USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxSRnn or xxSR xx int axis number nn float right positive software limit XX 1 to MAX AXES nn 2e9 encoder resolution to 0 XX none nn defined motion units xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command defines the value for the positive right software travel limit It should be used to restrict travel in the positive direction to protect the motion device or i
119. RETURNS aa where aa 1 for True 0 for False REL COMMANDS DC setup data acquisition request DG get acquired data DF data acquisition status returns of samples collected DE enable disable data acquisition EXAMPLE DC10 1 1 1 0 1000 Acquire trace variable data for axis 1 in scaled integer format Collect 1000 samples one sample servo cycle DEI Enable trace variable data acquisition DD Query data acquisition done status 1 true 0 false If true DEO Disable trace variable data acquisition DG Get data collected 3 50 Section 3 Remote Mode D E enable disable data acquisition USAGE SYNTAX PARAMETERS Description Range DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP DEnn nn nn int True False nn 1 for True 0 for False This command is used to enable disable the data acquisition request Note This command cannot be issued when 1 An axis is being homed refer ASCII command OR 2 An axis is being moved to a travel limit refer ASCII command MT 3 An axis is being moved to an index refer ASCII command MZ None DC setup data acquisition request DG get acquired data DF data acquisition status returns of samples collected DD data acquisition done status DC10 1 1 1 0 1000 Acquire trace variable data for axis 1 in scaled integer format Collect 1000 samples one sample servo cycle DE1 Enable trace variable data acquis
120. RNS REL COMMANDS EXAMPLE 3 42 IMM PGM MIP BRnn or BR nn int communication speed over serial interface nn 9600 19200 38400 57600 or 115200 or to read the current setting nn bits per second bps nn missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE This command is used to set the communication speed between a remote computer and the motion controller over the serial RS 232 interface Different speeds supported by the ESP motion controllers include 9600 19200 38400 57600 and 115200 bps The default factory setting is 19200 bps The desired serial communication speed may be saved to non volatile flash memory by issuing the ASCII command SM This will cause the DSP to automatically use the saved value after system reset or reboot NOTE This command takes affect immediately after it is processed by the DSP As a result users are reminded that they cannot communicate with the controller following a change in communication speed using this command until they reinitialize the serial port on the remote computer with the same speed Please see the example below NOTE The software utilities ESP Download and ESP Tuning supplied with all ESP motion controllers except ESP6000 support only 19200 bps communication speed ESP Terminal however supports all speeds CAUTION ESP motion controllers do not do any form of error checking CRC Cyclic Redundancy Check or
121. Since a majority of electro mechanical systems have mechanical backlash or frictional hysterisis closed loop positioning can at times lead to oscillation or limit cycling of the systems around a desired position In such situations setting position deadband value judiciously can avoid limit cycling of the systems Note that this command is effective only during position regulation holding position as opposed to moving Furthermore note that encoder feedback and closed loop positioning must be enabled for this command to be effective Refer to feedback configuration ZB command for enabling these features in the case of stepper motors If 0 is used as an axis number this command will set the specified deadband value to all the axes If sign takes the place of nn value this command reports the current setting ZB set feedback configuration CL set closed loop update interval ZB300 enable encoder feedback and closed loop positioning of axis 3 3DB1 set position deadband value to 1 encoder count 3DB query deadband value 1 controller returns a value of 1 encoder count 3CL100 set closed loop update interval to 100 milliseconds 3CL query closed loop update interval 100 controller returns a value of 100 milliseconds 3 45 DC setup data acquisition USAGE SYNTAX PARAMETERS Description Range Units Defaults 3 46 IMM PGM MIP DCnn1 nn2 nn3 nn4 nn5 nn6 nni in nn2 int
122. Stepper Positioning Commands 4 4 Synchronize Motion to External and Internal Events 4 4 1 Introduction Synchronize Motion Certain applications require the use of inputs from an external source to command the motion controller to perform certain tasks These tasks can be to either initiate motion of desired axes written in a user s stored program or to inhibit motion of desired axes or more simply to just monitor the motion status of these axes ESP series of motion controller s address these issues by taking advantage of the digital I O interface available on the controller The 24 digital I O bits are divided into three 3 ports A B and C ESP100 and ESP300 motion controllers have access to only ports A and B Port A covers DIO bits 0 7 port B covers bits 8 15 and port C covers bits 16 23 The direction of each port can be setup to be either input or output If a port is configured to be an input the DIO bits that belong to that port can only report the state HIGH or LOW logic level of the corresponding DIO hardware On the other hand if the port is configured to be an output the DIO bits in that port can be used to either set or clear the state of the corresponding hardware Each DIO bit has a pull up resistor to 5V As a result all bits will be at HIGH logic if not connected to external circuit and configured as input Furthermore the direction of all the ports is set to input by default following a
123. Support Contacts Contact Newport to obtain information about factory service Telephone contact number s are provided on the Service Form see next page Please have the following information available Equipment model number ESP300 Equipment serial number for the ESP300 Distribution revision number from a floppy disk Problem description document using the Service Form following pages If the instrument is to be returned for repair you will be given a Return Authorization Number that should be referenced in your shipping documentation Complete a copy of the Service Form on the next page and include it with your shipment Appendix H Factory Service H 1 H 1 Service Form Newport Corporation U S A Office 949 863 3144 FAX 949 253 1800 Name RETURN AUTHORIZATION Please obtain prior to return of item Company Address Date Country Phone Number P O Number FAX Number Item s Being Returned Model Serial Description Reason for return of goods please list any specific problems H 2 Appendix H Factory Service Newport About Us Company Profile STORE Search 60 Part Search Site Index Contact PRODUCTS ABOUTUS SUPPORT INVESTORS Page Not Found We re sorry but the page you were looking for has either moved or no longer exists An email has been generated automatically to the system administrator
124. TER OUT OF RANGE This command makes the program xx loaded in controller s non volatile memory unavailable to user It does not delete the program from memory Consequently the program space does not become available to user immediately after deleting the program It becomes available to user only after the entire stored program memory is purged by issuing the command Oxx Note Purging the stored program memory takes approximately 3 seconds for completion None EP enter program download mode EX execute a stored program LP list stored program XM read available memory 1XX delete program 1 XM read available memory Available storage space 60228 controller reports available storage space 2XX delete program 2 XM read available memory Available storage space 60228 controller reports available storage space 0XX purge stored program memory XM read available memory Available storage space 61440 controller reports available storage space Section 3 Remote Mode ZA set amplifier I O configuration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION Section 3 Remote Mode IMM PGM MIP xxZAnn or xxZA xx int axis number nn int amplifier I O configuration XX 1 to MAX AXES nn 0 to OFFFFH hexadecimal with leading zero 0 or to read current setting XX none nn none XX missing error 37 AXIS NUMBER MISSING out of ra
125. TION SET JOG MODE RUN INCREMENT SET HOME MODE SW INDEX SW SET PID SET KP SET Kl SET KD SET IL SET FE GET STAGE MODEL GET RS232 CONFIG SAVE PARAMETERS GET ERRORS This menu item allows the user to get the errors that are stored in the error queue The error queue can store up to 10 errors If the number of errors exceeds ten the oldest errors are created TE or TB Tell error or Tell buffer RUN PROGRAM Programs can be entered or downloaded to the ESP300 through its standard interfaces IEE 488 or RS 232 The ESP300 is capable of storing up to 99 different programs in its non volatile program memory 25KB total This menu allows execution of any of the stored programs 1EX Execute program 1 SET VELOCITIES This menu makes it possible to change velocities that are used with the jog and home search buttons The following sub menus are available SET LOW JOG VEL Sets the velocity of the stage when either jog button is pushed JL Set low jog velocity SET HI JOG VEL Sets the velocity of the stage when either jog button is pushed simultaneously with the High Speed button JH Set high jog velocity Section 2 Modes of Operation Section 2 Modes of Operation SET HOME VEL Sets the velocity used during homing sequences Refer to Section 1 6 3 for details on homing OH Set home velocity
126. UAL VEIOCILY jssds iat sackaregadtaatanduvaaceesnads aE E AANEEN 152 read controller activity ascc ceiensnsante teense ehyrashiceecaa len 153 pdate setyo ter Sco scat edi cceeotu es les hsuaspcatea huss a aa a ia 154 wart Tor DIO bit high rse ineeiieo nr a E E E ER 155 Wait Tor WD LOI lOW reiii ae a ala ak re cae tate 156 Set VElOCIV aac aac ca aac eta Molec 8 maaan a Alene acest A calttu A E 157 set base Velocity for step MOLGIS v 20 5 cesis50 csseratsasdeenctauiencayiar cores 158 read controller firmware VersiON ccccecsceeseceseceeeeeeeeeeeseeeseeenaeeneeesees 159 set velocity feed forward gain 0 5 escseadesadaaetsdsvasnacbesesFescseaecdeentabeeteuceeieccsvn 160 set maximun Velocity sich sectest chansse lected nctieyeiaisnopeeatethicnaadntesaenes 161 wait for position ss iein nnii Nac Woe oate tari de doce Saad a a tah whee Avance 162 Wait Tar MOto stODe arae a A sau a A R AREE ie 163 wait 164 read available Memory sessssessesessssessessresseesseseesseeseesresseesesresseessessesseesse 165 erase prostan aiaei aE A weasel E O a a S 166 set amplifier l Osconmeuralionls cass 22 452 so cllysates sesstaesiveanaiiusensuceseninees 167 set feedback configuration fyseczensusesed shetuseessuenson at aceseo asso esistedeagemar eases 170 Set G StOPI COMM SULALOMN Yc iccdsseses2sabeesaidsbanhacyisbonnivpaeedtesbabiverssvaseentiaaaataabiavs 172 set following error configuration 0 0 0 cece ceeeeeeeeeeeeeeeeceaeeeteeeeeeeeaeees 174 set hardw
127. ZZnn or ZZ nn int system configuration nn 0 to OFFFFH hexadecimal with leading zero 0 or to read current setting nn none nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command is used to configure system fault checking event handling and general setup for all axes NOTE If bit 0 or both bits 1 and 2 are set to zero 0 then no action will be taken by the controller NOTE The controller always interprets the nn value as a hexadecimal number even when the letter H is not appended to the desired value Since nn is a hexadecimal number it is possible that the most significant character left most character is an alphabet A F depending on the choice of values for various bits In order for the controller to distinguish between an ASCII command and its value it is recommended that the users always add a leading zero 0 to the nn value See table below for clarification Example Command Issued Controller Interpretation 1ZZ123H nn 123H 0001 0010 0011 Binary 1ZZ123 nn 123H 0001 0010 0011 Binary 1ZZ0OF25H nn F25H 1111 0010 0101 Binary 1ZZF25H Invalid command 3 183 RETURNS REL COMMANDS EXAMPLE 3 184 es lt gt z DEFINITION 8 8 9 9 0 10 eT 1 11 31 31 ororo disable 100 pin interlock error checking enable 100 pin interlock error checking do not disable all
128. achometer Canin cies enced i e t A A a ei 128 set average motor voltage ssesessssessesersssessesressresseserssressessessressessessees 129 read analog Input iire ade rdan a ae aida aiia a eea aa 130 reset th controller s iernii aetra aa a ea E E A TA EERS AET 132 set get DIO port A B C bit status 0 cee ccccesceeeeeteeceeeceeeeeeeeeeaeees 135 set master slave jog velocity update interval ce ees esseeeseceeeeeeeeeeeeee 138 set master slave jog velocity scaling coefficients ce eeeeseereeeeeeeee 139 Set Lett travel Limart sciczsis eevee aiaa ara a i aa aiia aE 140 save settings to non volatile Memory s sssessessesessssessesrsseessessesseessrssees 141 set axis displacement units se sseseesseeseeseesseesresressesreserssesstssressessrssees 142 set right travel NMTibss cc alancaustacaunagattovetesctudeabesesdas vas Neccdadceesnense ceases 143 define master slave relationship s 92 lt i 05 caseastasetoataddadniedeneerss 144 stop TORO celeste a cease aes foe seh A see aa eal 145 set encoder resolution 256 7 as Sge he eas scl adeus vs ious u aecatiysas oo al oon cee a ees 146 TEACELPOL MIESSAUE isukna taian a E E a aa malas 147 TEAC error Code sinian iaria a i ae ieie aiii Eia 148 s t trajectory Mode onicireocieicsic netiria i iniii i a 149 read actual POSI ONsn reoni n R R barns e NE 150 read controller status seesseeseeseseesesseseesesseesessesetsesseseestssessesseseesesseseese 151 r ad ACT
129. acquired is specified through this parameter The rate specified is in multiples of the servo cycle rate For example a value of 0 implies data acquisition every servo cycle a value of 1 implies every other servo cycle and so on This parameter is of no consequence for data acquisition modes 3 33 and 39 wherein the data is acquired every time the controller detects a trigger from an external source PARAMETER nn6 The number of samples of data to be acquired is specified through this parameter Data acquisition process is considered to be done only after the number of samples specified by this parameter are acquired by the controller The status of data acquisition process may be found by issuing ASCII command DD Once the data acquisition is done ASCII command DG may be used to collect the data from the controller In the case of data acquisition modes 3 and 33 a sample size greater than implies that data will be acquired by the controller every time an external trigger occurs until the specified number of samples are acquired This parameter is of no consequence in the case of data acquisition modes 36 39 NOTE Data acquisition mode 3 nn1 3 is supported only on ESP6000 and ESP7000 motion controllers Data acquisition modes 30 39 nn1 30 39 are supported only on ESP6000 motion controller For these modes the streamed data has to be collected by sending binary commands esp_ get daq data or esp_daq_ data to _file
130. al has been provided for information only and product specifications are subject to change without notice Any change will be reflected in future printings 1999 Newport Corporation 1791 Deere Ave Irvine CA 92606 949 863 3144 P N 28187 01 Rev E IN 04992 02 01 Preface AD Newport EU DECLARATION OF CONFORMITY We declare that the accompanying product identified with the C mark complies with requirements of the Electromagnetic Compatibility Directive 89 336 EEC and Low Voltage Directive 73 23 EEC Model Number ESP300 Year C mark affixed 1999 Type of Equipment Electrical equipment for measurement control and laboratory use Standards Applied Compliance was demonstrated to the following standards to the extent applicable BS EN61326 1998 Electrical equipment for measurement control and laboratory use EMC requirements This equipment meets the CISPR 11 Class A radiated and conducted emission limits BS EN 61000 3 2 Harmonic current emissions Class A BS EN 61000 3 3 Voltage fluctuations and flicker BS EN 61010 1 Safety requirements for electrical equipment for measurement control and laboratory use na MAT L Looks Cr ain Danielo Bob LaTouche VP European Operations VP of IMS Zone Industrielle 1791 Deere Avenue 45340 Beaune la Rolande France Irvine CA USA BF 05991 12 99 EU Declaration of Conformity Preface iii Table of Contents WRI teh Sets aes a S
131. al high 2 0 axis 3 home signal low 2 1 axis 3 home signal high 3 0 axis 4 home signal low 3 1 axis 4 home signal high 4 0 axis 5 home signal low 4 1 axis 5 home signal high 5 0 axis 6 home signal low 5 1 axis 6 home signal high Section 3 Remote Mode RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode 6 0 reserved 6 1 reserved 7 0 reserved 7 1 reserved 8 0 axis 1 index signal low 8 1 axis 1 index signal high 9 0 axis 2 index signal low 9 1 axis 2 index signal high 10 0 axis 3 index signal low 10 1 axis 3 index signal high 11 0 axis 4 index signal low 11 1 axis 4 index signal high 12 0 axis 5 index signal low 12 1 axis 5 index signal high 13 0 axis 6 index signal low 13 1 axis 6 index signal high 14 0 reserved 14 1 reserved 15 0 reserved 15 1 reserved 16 0 digital input A low 16 1 digital input A high 17 0 digital input B low 17 1 digital input B high 18 0 digital input C low 18 1 digital input C high eee 31 0 reserved 31 1 reserved This command reports the current status in hexadecimal notation ZU get ESP system configuration ZZ get system configuration PH read hardware status 18000404H 4H controller returns the status of the two hardware regsisters 3 119 PR move to relative position USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 120 IMM PGM MIP
132. alog sinusoidal commutation In case of digitally controlled stepper motors new corrective move commands are internally issued by the controller In the case of Commutated stepper motors the electrical angle is adjusted 4 10 Section 4 Advanced Capabilities Start closed loop tepper positioning Desired Is actual completed Start closed loop update interval timer Make desired correction Exit closed loop tepper positioning Figure 4 5 Block Diagram of Closed Loop Stepper Motor Positioning The following steps See Table 4 4 may be followed to setup the closed loop stepper motor positioning Steps ASCII Action by Controller Command 1 Set feedback 1ZB300 Enable encoder feedback and configuration closed loop positioning of stepper motors for axis 1 2 Specify deadband value 1DB1 Set deadband value for axis 31 to 1 encoder count 3 Specify closed loop update 1CL50 Set closed loop update interval interval for axis 1 to 50 milliseconds Table 4 4 An Example of Closed Loop Stepper Motor Positioning Setup Commands related to closed loop stepper positioning are listed in Table 4 5 refer to Section 3 Remote Mode for additional details Section 4 Advanced Capabilities 4 11 Command Description ZB Set feedback configuration DB Specify deadband value CL Specify closed loop update interval Table 4 5 Closed Loop
133. amic following error General purpose velocity feedback drivers have usually two adjustments tachometer gain and compensation Figure 5 52 compensation control signal tach gain V velocity Figure 5 52 DC Motor Tachometer Gain and Compensation The tachometer gain is used to set the ratio between the control voltage and the velocity The compensation adjustment reduces the bandwidth of the amplifier to avoid oscillations of the closed loop 5 7 3 1 PWM Drivers Even though linear amplifiers are simpler and cleaner do not generate noise their low efficiency makes them impractical to be used with medium and larger motors The most common types of DC drivers use some kind of PWM Pulse Width Modulation techniques to control the current and or voltage applied to the motor This allows for a more efficient and compact driver design Section 5 Motion Control Tutorial Section 6 Servo Tuning 6 1 Tuning Principles The ESP300 controller uses a PID servo loop with feed forward Servo tuning sets the Kp Ki and Kd and feed forward parameters of the digital PID algorithm also called the PID filter Tuning PID parameters requires a reasonable amount of closed loop system understanding First review the Control Loops paragraph in the Motion Control Tutorial Section If needed consult additional servo control theory books Start the tuning process using the default values supplied with the stage These valu
134. an in turn be used to drive external processes such as turning on off a mechanical brake for instance In order to accomplish this task users must define the DIO bit to be employed to monitor the motion status of a desired axis and the logic state in which that bit should be in when the axis is not in motion Once this is done the feature has to be enabled Furthermore the direction of the DIO port this DIO bit belongs to must be set to output in order for the controller to report the motion status At this point if the selected axis is not in motion the DIO bit changes its state to the level specified as described earlier Please review the example below for further clarifications Section 4 Advanced Capabilities Section 4 Advanced Capabilities Example 3 2BM9 1 2BN1 BO 06H Use DIO bit 9 to indicate motion status of axis 2 This DIO bit will be set to HIGH when axis 2 is not in motion Enable notification of motion status using DIO for axis 2 06H 0110 Binary Set DIO port A to input and ports B C to output i e set bits 0 7 to input and 8 23 to output After the above commands are sent to the controller the controller will set DIO bit 9 to a HIGH logical level when axis 2 is not in motion Commands related to utilizing DIO for initiating inhibiting motion of desired axis and notifying motion status of these axes are listed in the table below refer to Section 3 Remote Mode for additio
135. anced Capabilities section of the User s Manual Note Please find TTL compare output signal designations and electrical specifications in the Connector Pin Assignment Appendix section of the User s Manual If the sign takes the place of nn1 value this command reports the current assignment PA Move to absolute position PR Move to relative position WP Wait for position The following program will home initialize axis 1 and move to an absolute target position Before the motion is started the controller will be configured to generate a single precise TTL pulse when absolute position 12 34 is crossed 1EP start program entry mode IMO enable axis 1 motor power 1OR1 home axis 1 1WS1000 wait for home completion and dwell 1 second 1 PC 1 12 34 arm absolute position compare trigger output pulse at 12 34 1 PA 15 0 start absolute position move to location 15 0 1 WS 0 wait for home completion 1 PCO 0 disarm compare trigger output pulse mode QP end program entry mode 3 115 EXAMPLE 2 3 116 The following program will home initialize axis 1 and move to an absolute target position Before the motion is started the controller will be configured to generate a precise TTL pulse every 1 00 units of relative distance 2EP start program entry mode IMO enable axis 1 motor power 1 OR 1 home axis 1 1 WS 1000 wait for home completion and dwell 1 second 1 PC2 1 00 a
136. are limit configuration cc eeccesceeseceseeeeeeeeeeceaeeneeeeeeenseees 176 set software limit configuration 3 cc kseicasccsooeadaddnneoldeiedacd Acasedenapenhan 178 get ESP system configuration sessesssessessessreseessesssseesseestssresseesreseessse 180 set system configuration 2 20 cucenesscecasucysocedckcgdancesyccesets Wosechcye duce veeeeoreieeds 183 xiii Section 1 Introduction 1 4 Scope Section 1 Introduction This manual provides descriptions and operating procedures for the integrated 3 axis ESP300 Controller Driver ESP Enhanced System Performance Safety considerations conventions and definitions and a system overview are provided in Section 1 Introduction Procedures for unpacking the equipment hardware and software requirements descriptions of controls and indicators and setup procedures are provided in Section 1 Introduction Instructions for configuring and powering up the ESP300 and stage motors for home and jog motions and for system shut down are provided in Section 1 Introduction Overview of operating modes LOCAL and REMOTE and Menu Options in LOCAL Mode are provided in Section 2 Modes of Operation Motion commands language specific information and error handling procedures are provided in Section 3 Remote Mode An overview of motion parameters and equipment is provided in Section 4 Motion Control Tutorial Servo tuning principles and procedures are given
137. arriage play a significant role For a detailed description on how to calculate the static Load Capacity please consult the motion control catalog tutorial section The dynamic Load Capacity refers to the motor s effort to move the load The first parameter to determine is how much load the stage can push or pull In some cases the two values could be different due to internal mechanical construction The second type of dynamic Load Capacity refers to the maximum load that the stage could move with the nominal acceleration This parameter is more difficult to specify because it involves defining an acceptable following error during acceleration Section 5 Motion Control Tutorial 5 2 12 5 2 13 Section 5 Motion Control Tutorial Maximum Velocity The Maximum Velocity that could be used in a motion control system is determined by both motion device and driver Usually it represents a lower value than the motor or driver is capable of In most cases including the ESP300 the default Maximum Velocity should be increased The hardware and firmware are tuned for a particular maximum velocity that cannot be exceeded Minimum Velocity The Minimum Velocity usable with a motion device depends on the motion control system but also on the acceptable velocity regulation First the controller sets the slowest rate of motion increments it can make The encoder resolution determines the motion increment size and then the application set
138. as a slave nn int axis number to be defined as a master XX 1 to MAX AXES nn 1 to MAX AXES xx none xx none Xxx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE This command defines master slave relationship between any two axes A few rules are in place for ease of use e The trajectory mode for slave has to be appropriately defined before that axis follows master in a desired fashion e An a is cannot be assigned as its own slave if it is already in a trajectory mode that is specific to master slaving e A slave axis cannot be moved individually using PA or PR commands if its trajectory mode is specific to master slaving This command gets executed immediately and can also be called from within a program If sign is issued along with command the controller returns master axis number TJ set trajectory mode GR set master slave reduction ratio 2SS1 set axis 2 to be the slave of axis 1 2SS query the master axis number for axis 2 1 controller returns a value of 1 2TJ5 set axis 2 trajectory mode to 5 2GR1 0 set the reduction ratio of axis 2 to 1 0 IMO turn axis 1 motor power ON 2MO turn axis 2 motor power ON 1PA10 move axis 1 to absolute 10 units 2PA20 move axis 2 to absolute 10 units TB read error messages 232 242000 AXIS 2 INVALID TRAJECT
139. as shown below See Figure E 1 which shows how to remove the cover Rear Panel Top Cover Remove the 2 screws slide the cover off Pull the cover in the direction of the rear panel Figure E 1 Removal of the Top Cover 3 Carefully remove the top cover E 2 Appendix E System Upgrades 4 Insert the driver module for the respective axis The connector of the driver module is keyed to prevent insertion with improper polarity Make sure the keys line up properly before you try to insert the module See Figure E 2 5 Attach the driver panel to the rear panel of the unit with the two supplied screws 6 Re install the top cover The unit is now ready for use IEEE 488 Driver Module Front Panel Figure E 2 Interior of the unit explaining the connectors E 2 Adding IEEE488 1 Follow steps 1 3 adding axes 2 Insert the IEEE 488 driver module in the connector The connector of the module is keyed to prevent insertion with improper polarity Make sure the keys line up properly before you try to insert the module 3 Attach the IEEE 488 panel to the rear panel of the unit with the two supplied screws Appendix E System Upgrades E 3 4 Re install the top cover The unit is now ready for use E3 Changing the Front Panel Option 1 Follow steps 1 3 of adding axis See Section E 1 2 Disconnect the 40 pin ribbon connector on the display side 3 Remove the two screws as shown See Figure E 3
140. asen cvsaeseads Cadelsengounobaindede ORE R 82 r ad group Positions morerei a a a aaa aaa a aaa a aaan 83 wait for group command buffer level snnnnnnnesensseeseeseesseesseserssressessessees 84 SHOP group PMO HON ssori inicsrisiiserissencri ie ereeissisoni sasien oissre issons eesienS 85 set group Velocity as diera EE E T E a AE E 86 wait for group motion StOp ssesessssessessesseessessesresseeseesresstesseserssessessessees 87 delete GroUp sm n a REISE aN ec REPRE ERI a e RR en a EE 89 r ad gro p SIZE Gates setae anaes tiat t on a aat aa aaia 90 read stage model and serial number esessesseeseesseeseesessesseserssressessessees 91 set j ge highspeed oieneiecnncnnnt iar a a E Ea 92 set jerk raten nitur a touecc seca carn svenrnanl ea tenauch cneen ites east essed ie 93 J mptol bel cere cess e E sna a da ease nasa Sees 94 s t jog low SPEC is ccsee ite shces aks naran itar eE RE EAE E i a a aiaa 95 s t deriv tive gah aen a E E E E E E E E 96 setintegral eaim enee e e a E 97 set prop rtio al gain rraio iain a ea i n a 98 set saturation level of integral factof nessessseeseesessseesseserssressessrssresseese 99 list 0 3884 8 110 Se eRe rere e a eet OR a rR a a a a 100 read motion MONS STATUS xossccstasanassaysoeusdonsduceonaidccage twanadgas nE ARTERS 101 MOTOR Ofisini aat eaaa dacs ans Gea ane a ems ed a aaa 102 MOTOT ON en a a i A A E eee ees a A a E Ea 103 move to hardware travel limit seseeseesseesse
141. ating the current switching process will keep the motor moving continuously The only way to stop a DC motor is not to apply any current to its windings Due to the permanent magnets reversing the current polarity will cause the motor to move in the opposite direction Of course there is a lot more to the DC motor theory but this description gives the user a general idea on how they work A few other characteristics to keep in mind are e Fora constant load the velocity is approximately proportional to the voltage applied to the motor e For accurate positioning DC motors need a position feed back device e Constant current generates approximately constant torque e IfDC motors are tuned externally manually etc they act as generators Advantages DC motors are preferred in many applications for the following reasons Smooth ripple free motion at any speed High torque per volume No risk of loosing position in a closed loop Higher power efficiency than stepper motors No current requirement at stop Higher speeds can be obtained than with other types of motors Section 5 Motion Control Tutorial Disadvantages Some of the DC motor s disadvantages are e Requires a position feedback encoder and servo loop controller e Requires servo loop tuning e Commutator may wear out in time e Not suitable for high vacuum application due to the commutator arcing e Hardware and setup are more costly than for an open loop step
142. back for positioning 8 1 use encoder feedback for stepper positioning 9 0 disable stepper closed loop positioning 9 1 enable stepper closed loop positioning 10 0 reserved 10 1 reserved eee 31 0 reserved 31 1 reserved default setting RETURNS If the sign takes the place of nn value this command reports the current setting in hexadecimal notation REL COMMANDS ZA ZE ZF ZH ZS ZZ EXAMPLE 2ZB 100H 2ZB 105H SM Section 3 Remote Mode set amplifier I O configuration set e stop configuration set following error configuration set hardware limit configuration set software limit configuration set general system configuration read amplifier I O configuration of axis 2 controller returns a value of 100H for axis 2 set amplifier I O configuration to 105H for axis 2 save all controller settings to non volatile memory 3 171 LE set e stop configuration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION 3 172 IMM PGM MIP xxZEnn or xxZE xx int axis number nn int e stop configuration XX 1 to MAX AXES nn 0 to OFFFFH hexadecimal with leading zero 0 or to read current setting xx none nn none xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx17 ESP CRITICAL SETTINGS ARE PROTECTED This command i
143. bed in the following table Note Please refer to the Appendix for a complete ASCII to binary conversion table Meaning for Bit Functi i Rene Bit LOW Bit HIGH 0 At least one program 1S NO YES executing 1 Wait command is executing NO YES 2 Manual jog mode is active NO YES 3 Local mode is inactive Default 4 At least one trajectory is NO YES executing 5 Reserved Default 6 Reserved Default 7 Reserved Default RETURNS ASCII character representing the status byte REL COMMANDS TS read controller status EXAMPLE TX read controller activity P controller returns character P indicating at least one trajectory is executing Section 3 Remote Mode 3 153 UF update servo filter USAGE SYNTAX PARAMETERS DESCRIPTION RETURNS ERRORS REL COMMANDS EXAMPLE 3 154 IMM PGM MIP UF None This command is used to make active the latest entered PID parameters Any new value for Kp Ki Kd and maximum following error are not being used in the PID loop calculation until UF command is received This assures that the parameters are loaded simultaneously without any transitional glitches in the loop If the axis specifier xx is missing or set to 0 the controller updates the filters for all axes If xx is a number between 1 and 4 the controller updates only the filter for the specified axis none none FE set maximum following er
144. ber 1 to MAX AXES none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE This command is used to read the desired positionIt returns the instantaneous desired position The command could be sent at any time but its real use is while a motion is in progress nn where nn PA PR TP 3TP 5 32 3PR2 2 3DP 7 52 Section 3 Remote Mode desired position in pre defined units move to an absolute position move to a relative position read actual position read position on axis 3 controller returns position 5 32 for axis 3 start a relative motion of 2 2 on axis 3 read desired position on axis 3 controller returns desired position 7 52 for axis 3 3 57 DV read desired velocity USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 58 IMM PGM MIP xxDV xx int xx xx XX missing out of range axis number 1 to MAX AXES none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE This command is used to read the desired velocity of an axis The command can be sent at any time but its real use is while motion is in progress nn where nn desired velocity of the axis in pre defined units PA PR 3TP 5 32 3PR2 2 3DV 0 2 3DP 132 move to an absolute position move to a relative position read position on axis 3 controller returns
145. cala laut a Seed ae instal neue ii Limitation of Warranty cccccscccsseceseceteceeeceeeeeeseeesaeees il Copyright eh ceie cacao set ce ae a ii EU Declaration of Conformity ssesessseessessesseesseesreseee iii Section 1 Introduction ssssssssssssnnnnnnnnnnnnnnnnnnnnnnnnn 1 1 1 1 SCOPE T eTA Ae en E R E 1 1 1 2 Safety Considerations ccceccceeeseeseeeteeees 1 2 1 3 Conventions and Definitions ee 1 3 1 3 1 Definitions and Symbols 4 1 3 1 3 2 Terminology cx sassciousaavetides ances 1 5 1 4 System Overview ies sechoxesscastenslstdacausndensseasdenst 1 6 lAl ARCATINGS inniinn 1 6 1 4 2 Specifications eacscisi ature anseieients 1 7 1 4 3 Descriptions of Front Panel Versions 1 8 1 4 4 Rear Panel Description 0 4 1 9 1 5 SYStEM CUP i ora dette E toutes 1 10 1 5 1 Line Voltage sot weciicceleascaces 1 10 1 5 2 First Power ON sicuse scceseotvaaseess 1 11 1 6 Q ick Startna a ish oo ey fale ea ca 1 11 1 6 1 Connecting Motion Devices 1 11 16 2 Motor Ofiser ie teed niar 1 12 1 6 3 Homing oeiia 1 12 MOA First Jog nennen 1 13 Section 2 Modes of Operation seccceee 2 1 2 1 Overview of Operating Modes 0ce 2 1 ZEL LOCAL MOdG 82 125 sczscsnern teat zad ensis 2 1 2 1 2 REMOTE Mode 2 1 22 Operation in LOCAL Mode c eee 2 2 2 2 1 Accessing the Menu cceeeeees 2 2 2 2 2 Navigating the Menu
146. call Newport for assistance Wrong line Make sure that the computer and terminator the controller use the same line terminator No remote Verify that the controller is set to communication communicate on the right port wrong RS 232 or IEEE488 communication port Wrong Verify that all communication communication parameters match between the parameters computer and the controller Table B 1 Trouble Shooting Guide Descriptions Continued NOTE Many problems are detected by the controller and reported on the display and or in the error register Consult Appendix A Error Messages for a complete list and description Appendix B Trouble Shooting and Maintenance B 3 B 2 Fuse Replacement B 2 1 Replacing Fuses on the ESP300 Rear Power Line Panel WARNING Power down equipment and unplug AC power cord before replacing fuses At the rear of the ESP300 depress the fuseholder tabs with a small thin bladed screwdriver see Figure B2 1 and ease the fuseholder out of the AC plug receptacle Remove and inspect the fuses Replace as needed with 4A T 250V fuse Re insert into the AC plug receptacle by pushing in the fuseholder until the tabs snap in place AC Plug Receptacle Tah Fuse Holder Tah Figure B 1 Rear Power Line Panel Fuse Replacement B 4 Appendix B Trouble Shooting and Maintenance Re connect and power up the system to verify that the problem has been corrected
147. celeration exceeds the minimum of the maximum acceleration of members of this group Refer to the description of HA command for more details A 4 33 GROUP MAXIMUM DECELERATION EXCEEDED The specified group deceleration exceeds the minimum of the maximum decelerations of members of this group Refer to the description of HD command for more details 34 GROUP MOVE NOT ALLOWED DURING MOTION Cannot make a coordinated move when one of the members of the group is being homed 35 PROGRAM NOT FOUND The issued command could not be executed because the stored program requested is not available 36 Reserved for future use 37 AXIS NUMBER MISSING Axis number not specified The issued command requires a valid axis number Refer to the description of issued command for valid axis number range 38 COMMAND PARAMETER MISSING At least one parameter associated with this command is missing Refer to the description of issued command for valid number of parameters 39 PROGRAM LABEL NOT FOUND The issued command could not be executed because the requested label within a stored program is not available 40 LAST COMMAND CANNOT BE REPEATED An attempt was made to repeat the last previous commanded by just sending a carriage return This feature is not allowed for commands that carry strings in addition to the two letter ASCII mnemonic Issue the last command again 41 MAX NUMBER OF LABELS PER PROGRAM EXCEEDED The number of labels used in the
148. cription Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 86 IMM PGM MIP xxHVnn or xxHV xx int group number nn float vector velocity value xx 1 to MAX GROUPS nn 0 to minimum of the maximum velocity values of all axes assigned to this group xx none nn predefined units second XX missing error 13 GROUP NUMBER MISSING out of range not assigned error 14 GROUP NUMBER OUT OF RANGE error 15 GROUP NUMBER NOT ASSIGNED floating point truncated nn missing error 7 PARAMETER OUT OF RANGE negative error 22 GROUP PARAMETER OUT OF RANGE out of range error 23 GROUP MAXIMUM VELOCITY EXCEEDED This command is used to set the vectorial velocity value for a group This value will be used during coordinated motion of axes assigned to the group It will override any original acceleration values specified for individual axes using VA command The axes original values will be restored when the group to which they have been assigned is deleted This command takes effect immediately It can be executed when controller is idling or motion is in progress or inside a program Note Avoid changing velocity during acceleration or deceleration phases of a move For better predictable results change velocity only when all the axes assigned to this group are not in motion If sign takes the place of nn value this command reports the current setting VU set
149. ct none QP quit programming mode EP enter program mode AP abort stored program execution XX erase program 3XX clear program 3 from memory if any 3EP activate program mode and enter following commands as program 3 QP end entering program and quit programming mode 3EX run stored program number 3 3 63 FE set maximum following error threshold IMM PGM MIP USAGE SYNTAX xxFEnn or xxFE PARAMETERS Description xx int axis number nn float maximum allowed following error Range XX 1 to MAX AXES nn 0 to 2e9 encoder resolution or to read current setting Units XX none nn predefined units Defaults xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE DESCRIPTION This command sets the maximum allowed following error threshold for an axis This error is defined as the difference between the real position and the theoretical position of a motion device The real position is the one reported by the position sensing device encoder scale etc and the theoretical position is calculated by the controller each servo cycle If for any axes and any servo cycle the following error exceeds the preset maximum allowed following error the controller invokes the following error event handling process which is defined with the ZF command By default motor power is
150. current setting in hexadecimal notation REL COMMANDS ZA ZB ZE ZH ZS ZZ FE EXAMPLE 2ZF 3H 2ZF 5H SM Section 3 Remote Mode set amplifier I O configuration set feedback configuration set e stop configuration set hardware limit configuration set software limit configuration set general system configuration set following error threshold read following error configuration of axis 2 controller returns a value of 3H for axis 2 set following error configuration to 5H for axis 2 save all controller settings to non volatile memory 3 175 ZH set hardware limit configuration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION 3 176 IMM PGM MIP xxZHnn or xxZH xx int nn int XX nn XX nn XX missing out of range nn missing out of range critical setting axis number hardware limit configuration 1 to MAX AXES 0 to OFFFFH hexadecimal with leading zero 0 or to read current setting none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE error xx17 ESP CRITICAL SETTINGS ARE PROTECTED This command is used to set the hardware limit checking polarity and event handling for axis specified with xx NOTE If bit 0 or both bits 1 and 2 are set to zero 0 then no action will be taken by the controller
151. d as output default setting after system reset if available on the controller Section 3 Remote Mode RETURNS REL COMMANDS EXAMPLE BO Section 3 Remote Mode If the sign takes the place of nn value this command reports the current setting in hexadecimal notation SB 0H BO 1H SB OFFH set clear DIO bits read DIO port direction configuration controller returns a value of OH all ports are input configure DIO port A as output set all port A DIO output HIGH 3 39 BP assign DIO bits for jog mode USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 40 IMM PGM MIP xxBPnn1 nn2 or xxBP xx int axis number nni int bit number for jogging in negative direction nn2 int bit number for jogging in positive direction xx 1 to MAX AXES nn 0 to 23 xx none nn none XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out ofrange error xx2 PARAMETER OUT OF RANGE This command is used to assign DIO bits for jogging axes in either negative or positive directions If sign is issued along with command the controller returns the DIO bits used for jogging in negative and positive directions respectively BO enable usage of DIO bits for jogging axes 1BP3 4 set DIO bit 3 to jog
152. d mode An example of a typical command sequence is shown below Example 1 IPA 30 move axis 1 to absolute position 30 units 1WS wait for axis I to stop 3 1 3 2 2PR 10 move axis 2 to relative position 10 units Assuming that axis 1 and 2 are configured Example 1 instructs the ESP controller to move axis 1 to absolute position 30 units wait for it to stop and then move axis 2 motor to relative 10 units Note that a command prefix identifies the axis or group that should execute a command Commands received without an axis prefix generate an error If a command is referenced to a non existing axis an error is also generated See Section 3 4 for further details on the command syntax Also note that it is necessary to explicitly instruct the ESP controller with the WS Wait for Stop command to wait for axis 1 motion to stop This is necessary because the ESP controller executes commands continuously as long as there are commands in the buffer unless a command is fetched from the buffer that instructs the controller to wait Executing a move does not automatically suspend command execution until the move is complete If the WS command were not issued in Example 1 the controller would start the second move immediately after the first move begins and simultaneously move axis 1 and axis 2 NOTE Unless instructed otherwise the ESP controller executes commands in the order received without waiting for completion of pre
153. de and the commands are executed immediately ProGraM mode controller does not execute but stores all commands as part of a program Motion In Progress controller is executing a motion on all or the specified axis 3 20 Section 3 Remote Mode AB abort motion USAGE SYNTAX PARAMETERS DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP AB None This command should be used as an emergency stop On reception of this command the controller invokes emergency stop event processing for each axis as configured by ZE e stop event configuration command By default axes are configured to turn motor power OFF however individual axes can be configured to stop using emergency deceleration rate set by AE command and maintain motor power It should be used only as an immediate command not in a program Note This command affects all axes however the action taken is determined by each individual s axis ZE command configuration none ST stop motion AE e stop deceleration ZE e stop deceleration MF motor OFF MO motor ON AB used as an immediate command to stop all motion 3 21 AC set acceleration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 22 IMM PGM MIP xxACnn or xxAC xx int axis number nn float acceleration value xx 1 to MAX
154. ds for valid trajectory modes to initiate motion Appendix A Error Messages Appendix B Trouble Shooting Maintenance There are no user serviceable parts or user adjustments to be made to the ESP300 controller driver WARNING Procedures are to be performed only by qualified service personnel Qualified service personnel should be aware of the shock hazards involved when instrument covers are removed and should observe the following precautions before proceeding e Turn off power switch and unplug the unit from its power source Disconnect cables if their function is not understood Remove jewelry from hands and wrist Expect hazardous voltages to be present in any unknown circuits CAUTION Verify proper alignment before inserting connectors Refer to Appendix G Factory Service for information about repair or other hardware corrective action Appendix B Trouble Shooting and Maintenance B 1 B4 Trouble Shooting Guide Most of the time a blown fuse is the result of a more serious problem Fixing the problem should include not only correcting the effect blown fuse but also the cause of the failure Analyze the problem carefully to avoid repeating it in the future A list of the most common problems and their corrective actions is provided in Table B 1 Use it as a reference but remember that a perceived error is open to an operator error or has some other simple solution PROBLEM CAUSE
155. e nn preset units second xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx10 MAXIMUM VELOCITY EXCEEDED This command is used to set the velocity value for an axis Its execution is immediate meaning that the velocity is changed when the command is processed even while a motion is in progress It can be used as an immediate command or inside a program If the requested axis is member of a group the commanded velocity becomes effective only after the axis is removed from the group Refer the Advanced Capabilities section for detailed description of grouping and related commands Avoid changing the velocity during the acceleration or deceleration periods For better predictable results change velocity only when the axis is not moving or when it is moving with a constant speed If the sign takes the place of nn value this command reports the current setting AC set acceleration VU set maximum velocity PA execute an absolute motion PR execute a relative motion 2VA read desired velocity of axis 2 10 controller returns a velocity value of 10 units s 2PA15 move to absolute position 15 WT500 wait for 500ms 2VA4 set axis 2 velocity to 4 units s 2VA read velocity of axis 2 4 controller returns a velocity value of 4 units s 3 157 VB set base velocity for step motors IMM PGM MIP
156. e this command reports the current setting QD update driver QI set maximum motor current QT set tachometer gain QG set gear constant QV z set average motor voltage 2QS read microstep factor of axis 2 100 controller returns a value of 100 for axis 2 2QS 250 set microstep factor to 250 for axis 2 2QD update programmable driver with latest settings for axis 2 SM save all controller settings to non volatile memory 3 127 QT set tachometer gain USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 128 IMM PGM MIP xxQTnn or xxQT xx int axis number nn float tachometer gain XX 1 to MAX AXES nn 0 to 20 or to read present setting xx none nn Volts Krpm xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command is used to set the DC motor tachometer gain for a Newport Unidrive compatible programmable driver axis This command should be used in conjunction with QG gear constant command This command must to be followed by the QD update driver command to take affect If the sign takes the place of nn value this command reports the current setting QD update driver Qs set microstep factor QG set gear constant QI set motor maximum curre
157. e ASCII characters and download files This could be useful in determining that the interface is working Section 3 Remote Mode EZ Command Syntax Section 3 Remote Mode As mentioned previously the ESP controller utilizes an ASCII command set and also outputs system status in ASCII format Commands may be either upper or lower case characters The diagram below illustrates the ESP controller command syntax As indicated in this diagram a valid command consists of three main fields The first field consists of a numerical parameter xx the second field consists of a two letter ASCII mnemonic and the third field consists of numerical parameter nn The command is finally terminated by a carriage return For example 3PA10 0 is a valid command If a command does not require parameter xx and or parameter nn that field may be skipped by leaving a blank character space For example BO1 3WS and AB are all valid commands If a command requires multiple parameters in the third field all these parameters must be comma delimited For example 1HN1 2 is a valid command In a similar fashion multiple commands can be issued on a single command line by separating the commands by a semi colon For example 3MO 3PA10 0 3WS 3MF is a valid command line i7 arameter i E arameter z i i 2 nn command separator terminator carriage return parameter separator G
158. e DIO port A B or C the desired bit belongs to should be set to Input in order for the DIO bit to be read accurately Refer BO command for further details If the sign takes the place of nn value this command reports the current assignment BL Enable DIO bits to inhibit motion BO Set DIO port A B C direction BM Assign DIO bits to notify motion status BO 04H Set DIO ports A B to input and C to output 2BK 1 1 Use DIO bit 1 to inhibit motion of axis 2 This DIO bit should be HIGH when axis 2 motion is inhibited 2BL 1 Enable inhibition of motion using DIO bits for axis 2 2BK Query the DIO bit assignment for axis 2 1 1 The controller responds with the assigned values Section 3 Remote Mode BL enable DIO bits to inhibit motion USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxBLnn or xxBL xx int axis number nn int disable or enable xx 1 to MAX AXES nn 0 disable and 1 enable or to read current setting None Xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out ofrange error xxl PARAMETER OUT OF RANGE This command is used to disable or enable motion inhibition of requested axes through DIO bits If the sign takes the place of nn value this command repor
159. e Mode Any move outside these limits will be ignored Section 1 Introduction Section 2 Modes of Operation B Overview of Operating Modes 2 1 1 Section 2 Modes of Operation The ESP300 can be operated in two basic modes e LOCAL mode e REMOTE mode LOCAL Mode This mode is applicable only if your unit is equipped with the optional front panel display If your ESP300 is equipped with the blank front panel you may skip to the REMOTE Mode Section 3 In LOCAL Mode the user has access to a sub set of the ESP300 command set In this Mode the ESP300 is controlled by pressing the menu key and axis push buttons on the front panel Using this mode the user can adjust motion parameters like velocity and acceleration without using a computer or terminal NOTE See Section 2 2 for a detailed description of the front panel REMOTE Mode In COMMAND Mode the ESP300 receives motion commands through one of its interfaces IEEE488 or RS232 C using a computer or terminal Additionally an optional alphanumeric keypad with an LCD display enables the user to access the full command set of the ESP300 without the use of a computer interface See Section 7 1 2 In this mode the ESP300 employs a set of over 100 commands Please refer to Section 3 Remote Mode for a detailed description of the ESP300 command set In Program Execution Mode internally stored programs are executed See Section 3 1 2 1 2 2 Operation
160. e PID closed loop It is active for any DC servo based motion device that has been selected to operate in closed loop The command can be sent at any time but it has no effect until the UF update filter is received See the Servo Tuning chapter on how to adjust the PID filter parameters If the sign takes the place of nn value this command reports the current setting kI KD KS UF 3KP0 01 3UF set integral gain factor set proportional gain factor set saturation gain factor update filter set proportional gain factor for axis 3 to 0 01 update PID filter only now the KP command takes effect Section 3 Remote Mode KS set saturation level of integral factor USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxKSnn or xx int nn float xx nn xx nn xx missing out of range nn missing out of range xxKS axis number saturation level of integrator KS 1 to MAX AXES 0 to 2e9 or to read current setting none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE This command sets the saturation level of the integral factor of the PID closed loop and is useful for preventing integral wind up It is active for any DC servo based motion device
161. e a group move is in progress the new command gets enqueued into a via point buffer Please refer to Advanced Capabilities section for a detailed description of via point buffer implementation The enqueued commands get executed on a FIFO basis when the move already in progress has reached its destination The group does not come to a stop at the end of last move Instead there will be a smooth transition to the new move command just as if it were one compound move combination of multiple moves Note Only trapezoid velocity profile is employed linear interpolation motion Note The transition from last move to new move will be smooth if tangential velocity at the end of last move is the same as that at the beginning of new move 3 71 RETURNS 3 72 REL COMMANDS EXAMPLE If sign takes the place of nn values this command reports the commanded center position of arc and sweep angle HN HV HA HD HO HF HL 1HN1 2 1HV10 1HASO 1HDSO 1HO 1HP 50 50 1HC40 60 180 1HC 40 60 180 create a new group set vectorial velocity for a group set vectorial acceleration for a group set vectorial deceleration for a group enable a group disable a group move a group of axes to desired position along a line create a new group 1 with physical axes 1 and 2 set vectorial velocity of group 1 to 10 units second set vectorial acceleration of group 1 to 50 units second set vectoria
162. e it by Ker factor and feed it to the motor driver If the scaling is done properly the right amount of voltage is sent to the motor to get the desired velocities without the need for a closed loop Section 5 Motion Control Tutorial Section 5 Motion Control Tutorial Because the signal is derived from the velocity profile and it is being sent directly to motor driver the procedure is called velocity feed forward Of course this looks like an open loop and it is Figure 5 18 But adding this signal to the closed loop has the effect of significantly reducing the work the PID has to do thus reducing the overall following error The PID now has to correct only for the residual error left over by the feed forward signal Desired Velocity Motor Voltage Time Figure 5 17 Trapezoidal Velocity Profile Servo Controller Trajectory Generator Motor 2 Motion Controller Encoder Figure 5 18 PID Loop with Feed Forward There is another special note that has to be made about the feed forward method The velocity is approximately proportional to the voltage and only for constant loads but this true only if the driver is a simple voltage amplifier or current torque driver A special case is when the driver has its own velocity feedback loop from a tachometer Figure 5 19 The tachometer is a device that outputs a voltage proportional with the velocity Using its signal the driver can maintain the veloc
163. e master slave relationship 2SS1 set axis 2 to be the slave of axis 1 28S query the master axis number for axis 2 1 controller returns a value of 1 2TJ5 set axis 2 trajectory mode to 5 2GR0 5 set the reduction ratio of axis 2 to 0 5 2GR query the reduction ratio of axis 2 0 5 controller returns a value of 0 5 3 67 HA set group acceleration IMM PGM MIP USAGE SYNTAX xxHAnn or xxHA PARAMETERS Description xx int group number nn float vector acceleration value Range XX 1 to MAX GROUPS nn 0 to minimum of the maximum acceleration values of all axes assigned to this group Units XX none nn predefined units second Defaults XX missing error 13 GROUP NUMBER MISSING out of range error 14 GROUP NUMBER OUT OF RANGE not assigned error 15 GROUP NUMBER NOT ASSIGNED floating point truncated nn missing error 7 PARAMETER OUT OF RANGE negative error 22 GROUP PARAMETER OUT OF RANGE out of range error 24 GROUP MAXIMUM ACCELERATION EXCEEDED DESCRIPTION This command is used to set the vectorial acceleration value for a group This value will be used during coordinated motion of axes assigned to the group It will override any original acceleration values specified for individual axes using AC command The axes original values will be restored when the group to which they have been assigned is deleted This command takes effect immediately It can be executed when controller is idling
164. ed ooo reserved reserved default setting If the sign takes the place of nn value this command reports the current setting in hexadecimal notation ZA ZB ZF ZH ZS ZZ 2ZE 3H 2ZE 5H SM set amplifier I O configuration set feedback configuration set following error configuration set hardware limit configuration set software limit configuration set general system configuration read e stop configuration of axis 2 controller returns a value of 3H for axis 2 set e stop configuration to 5H for axis 2 save all controller settings to non volatile memory 3 173 ZF set following error configuration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION 3 174 IMM PGM MIP xxZFnn or xxZF xx int nn int xx nn XX z nn xx missing out of range nn missing out of range critical setting axis number following error configuration 1 to MAX AXES 0 to OFFFFH hexadecimal with leading zero 0 or to read current setting none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE error xx17 ESP CRITICAL SETTINGS ARE PROTECTED This command is used to set the following error configuration fault checking and event handling for axis specified with xx NOTE If bit 0 or both bits 1 and 2 are set to zero
165. ed at a very low speed and without a stop in between Also during E the display update is suppressed to eliminate any unnecessary overhead D motion gt _ gt origin switch encoder index pulse Figure 5 23 Slow Speed Home Origin Switch Search The routine described above could work but has one problem Using the low speeds it could take a very long time if the motion device happens to start from the opposite end of travel To speed things up we can have the motion device move fast in the vicinity of the home switch and then perform the two slow motions D and E The new sequence is shown in Figure 5 24 ppm Cc motion oe origin switch encoder index pulse Figure 5 24 High Low Speed Home Origin Switch Search 5 21 Motion segment B is performed at high speed with the pre programmed home search speed When the home switch transition is encountered the motion device stops with an overshoot reverses direction and looks for it again this time with half the velocity segment C Once found it stops again with an overshoot reverses direction and executes D and E with one tenth of the programmed home search speed In the case when the motion device starts from the other side of the home switch transition the routine will look like Figure 5 25 BA ae motion origin switch encoder Figure 5 25 Home Origin Search from Opposite Direc
166. edback encoder displaces nn2 increments regardless of direction Section 3 Remote Mode RETURNS REL COMMANDS EXAMPLE 1 Section 3 Remote Mode Note If this command is issued when the desired axis is in motion the accuracy of the position crossing capture depends upon the speed at which the axis was moving when the command was processed by the DSP For instance if the axis was moving at 40 mm sec and the encoder resolution is 10000 counts mm the worst case error in capturing a position crossing would be approximately 3 counts Please see calculation below Worst case error Axis speed at setup time 7 micro seconds 40 mm sec 10000 counts mm 7 micro seconds 2 8 counts However if this command was issued when the axis is at standstill the worst case error in capturing a position crossing is within encoder count Note The position compare hardware feature is only supported on ESP6000 and ESP7000 controllers axes 1 and 2 Note This feature is implemented using the auxiliary counter channels 7 and 8 in conjunction with axes counters and 2 Therefore if either axis 1 or 2 is configured in any compare mode then auxiliary counters channel 7 and 8 are used and not available e g cannot be used for trackball or master slave modes Counters 7 amp 8 are released and made available when the compare mode is disarmed e g x PC 0 Note A detailed TTL output timing diagram is available in the Adv
167. egulation ee 5 12 5 2 15 Maximum Acceleration 0 5 12 5 2 16 Combined Parameters 006 5 13 5 3 Control Loops niinen ia 5 13 5 3 1 PID Servo Loops eeeeesseeeereeees 5 14 5 3 2 Feed Forward Loops cccceeeee 5 16 5 4 Motion Profiles x j actsuisescrmider satan saachnnes 5 18 SAL NNO Veeck epee ar So aad 5 18 SA2 Jopoa a Sota ee can a 5 19 5 4 3 HOMECSCALC Wiccan uctusacas reminiscent 5 20 5 5 501616 8 oa asen eR ener eee aS 5 22 5 6 ALOI KOS aS 8p ass Biel 0k TE 5 26 5 6 1 Stepper Motors cee eeeeeeeeeeeeeeeees 5 26 5 6 1 1 Stepper Motor Types 5 31 5 6 2 DC Motors oc2 2 beet 5 32 5 7 DIV CI Si cay cee sie ey N aa 5 33 5 7 1 Stepper Motor Drivers 005 5 33 5 7 2 Unipolar Bipolar Drivers 5 35 5 7 3 DC Motor Draversiiiccbseisnsistcerscaded 5 36 5 7 3 1 PWM Drivers ccceeeee 5 38 Section 6 Servo TUNING sssssssssssnnnnnnnnnnnnnnnnnnnns 6 1 6 1 Tuning Principles ticnccshctatou ets eaten crac 6 1 6 2 Tuning Procedures lt i03 cossccessiseei tees diaeeacss 6 1 6 2 1 Hardware and Software Requirements6 2 6 2 2 Correcting Axis Oscillation 6 2 6 2 3 Correcting Following Error 6 2 6 2 4 Points To Remembet cceee 6 4 Section 7 Optional Equipment ceeee 7 1 7 1 Hand held Keypad ccccesccesseeeseeeteeeseee 7 1 7 1 1 Description of Keys
168. elocity value of 10 units s 3 158 Section 3 Remote Mode E read controller firmware version USAGE SYNTAX PARAMETERS Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP VE none timeout error 2 RS 232 COMMUNICATION TIME OUT This command is used to read the controller type and version Note Important information needed when asking for technical support for the motion control system or when reporting a problem is the controller version Use this command to determine the controller type and in particular the firmware version ESP300 Version xx yy where xx yy version and release number none VE read controller firmware version ESP300 Version 3 0 1 6 1 99 controller returns model ESP300 version 3 0 and release date 6 1 99 3 159 VEF set velocity feed forward gain IMM PGM MIP USAGE SYNTAX xxVFnn or xxVF PARAMETERS Description xx int axis number nn float velocity feed forward gain factor Vf Range XX 1 to MAX AXES nn 0 to 2e9 or to read current setting Units XX none nn none Defaults xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE DESCRIPTION This command sets the velocity feed forward gain factor Vf It is active for any DC servo based motion device See the Feed
169. en motion is in progress It can be used as an immediate command or inside a program RETURNS If sign takes the place of nn value this command reports current setting REL COMMANDS JW set jog low speed VU set maximum velocity EXAMPLE 2VU read maximum velocity allowed axis 2 10 controller returns a value of 10 0 units second for axis 2 2JH7 5 set jog high speed to 7 5 units second for axis 2 2JH read jog high speed value for axis 2 7 5 controller returns a value of 7 5 units second for axis 2 3 92 Section 3 Remote Mode JK set jerk rate IMM PGM MIP USAGE axis number jerk value 1 to MAX AXES 0 to 2e9 none 3 preset units second or to read current setting error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx15 MAXIMUM JERK EXCEEDED This command is used to set the jerk 1 e rate of change in acceleration value for an axis Its execution is immediate meaning that the jerk is altered when the command is processed and trajectory mode is set to S curve even while a motion is in progress It can be used as an immediate command or inside a program Avoid changing the jerk during the acceleration or deceleration periods For better predictable results change jerk only when the axis is not SYNTAX xxJKnn or xxJK PARAMETERS Description xx int nn float Range XX nn Units XX nn Defaults xx missing
170. ent 0ccccccccessereees 5 30 Figure 5 43 DC Motor cccccccccccccccccssscccescccessccscnsecessseceesseceenseees 5 32 Figure 5 44 Simple Stepper Motor Driver c 0 cccccccceceerrees 5 34 Figure 5 45 Current Build up in Phase c 0 ccccccccetsseesseeseees 5 34 Figure 5 46 Effect of a Short ON Time on Current 0000006 5 34 Figure 5 47 Motor Pulse with High Voltage Choppev 5 35 Figure 5 48 Dual H Bridge Driver cccccccccsccetseeteetteeeseeeeees 5 36 Figure 5 49 DC Motor Voltage Amplifier cccccccccecceesertees 5 36 Figure 5 50 DC Motor Current Driver ccccccccccccccceteeeeteeetnees 5 37 Figure 5 51 DC Motor Velocity Feedback Driver 00000 5 37 Figure 5 52 DC Motor Tachometer Gain and CMD CHSOUION chet siosntersavasscasepwaiaroreeariapteed oe 5 38 Figure 7 1 Alphanumeric Hand held Keypad cc cccccccccee 7 1 Figure B 1 Rear Power Line Panel Fuse Replacement B 4 Figure C 1 RS 232C Connector pin out 0 cccccccccceceeseeeeteeenteees C 7 Figure C 2 Connector Pin to Pin RS 232C Interface Cable C 7 Figure C 3 Motor Interlock Connector BNC with dus cap C 8 Figure E 1 Removal of the Top Covet cccccccccssssetsseesseeseeeeees E 2 Figure E 2 Interior of the unit explaining the connectors E 3 Figure E 3 How to remove screws inside the unit for the Front PONCE cass uk gorta ta a E E 4 Figure F 1 Configuration Logic 0s soaaoooane
171. eonseoeereeeeeeeeene F 2 ix List of Tables Table No Page Table 3 5 1 Command List by Category ecccccccccccccescetseesteeeees 3 10 Table 3 5 2 Command List Alphabeticdll cccccccccesscetseeees 3 15 Table 4 1 Slave to a Different Stage Steps cccccccccesscesseeeseeees 4 8 Table 4 2 Slave to a Trackball Steps csiccincovndiantcna ovseennees 4 9 Table 4 3 Slave to a Joystick St Qs ccccccccccccccseeeteseteeeeseesseenseees 4 9 Table 4 4 An Example of Closed Loop Stepper Motor Positioning Setup xd scssrrccysasstansadarsacprorndiqe coneiobetotns 4 11 Table 4 5 Closed Loop Stepper Positioning Commands 4 12 Table 4 6 Commands to Synchronize Motion to External Events ena e Or MRL REET NS EO DOPAC ee ED 4 15 Table 6 1 Servo Parameter Functions ccccceccecetetetetnseeseeneees 6 5 Table B 1 Trouble Shooting Guide Descriptions c0000006 B 2 Table C 1 Digital Connector Pin OUuts ccccccccccccceeteeeteeteteesees C 1 Table C 2 Driver Card Connector Pin Outs c cccccsceteetetrees C 2 Table C 3 Auxiliary Encoder Connector Pin Outs 0 ccccccc0e C 6 Table C 4 IEEE488 Interface Connector cccccceccceeseeeteeeteeenees C 6 Table D 1 Binary Conversion Table using decimal and ASCH COMICS scssasay cisriuta A A A D 1 Table H 1 Technical Customer Support Contacts cccc0cc H 1 Preface Preface Command Index Section 3 Command Description Page in section 3
172. er ranges etc 4 1 2 2 Defining Group Parameters Group parameters such as velocity acceleration deceleration jerk and e stop deceleration must be defined for every group following the creation of that group These parameters are used to produce the desired coordinated motion of the group They override any original values specified for individual axes The axes original values are restored when the group to which they have been assigned is deleted Refer to the description of HV HA HD HJ and HE commands in the commands section See Section 3 Remote Mode for correct syntax parameter ranges etc Making Linear and Circular Moves This subsection discusses the method for making linear and circular moves of groups While coordinated motion of axes with different motor types and different encoder resolutions is supported it is assumed that all axes have the same units of measure Section 4 Advanced Capabilities 4 1 3 1 Making Linear Move Once a group has been defined and all group parameters have been specified the ASCII command HL is used to move the group from an initial position to a final position along the line The current position of axes is the initial position of linear move The desired final position is specified along with this command This command makes all axes assigned to the group move with predefined group 9tangential velocity acceleration and deceleration along a line A trapezoidal velocity profile is
173. es from one end of travel to the other If the user commands the motion device to move back and stop at the same locations to take a position error measurement the user would expect to get an identical plot superimposed on the first one In reality the result could be similar to Figure 5 7 Hysteresis Position Figure 5 7 Hysteresis Plot The error plot in reverse direction is identical with the first one but seems to be shifted down by a constant error This constant error is the Hysteresis of the system Real position ideal plot real plot Trajectory ideal position Figure 5 8 Real vs Ideal Position Section 5 Motion Control Tutorial To justify a little more why we call this Hysteresis lets do the same graph in a different format Figure 5 8 Plotting the real versus the ideal position will give the user a familiar hysteresis shape 5 2 9 Pitch Roll and Yaw These are the most common angular error parameters for linear translation stages They are pure mechanical errors and represent the rotational error of a stage carriage around the three axes A perfect stage should not rotate around any of the axes thus the Pitch Roll and Yaw should be zero The commonly used representation of the three errors is shown in Figure 5 9 Pitch is rotation around the Y axis Roll is rotation around the X axis and Yaw is rotation around the Z axis Figure 5 9 Pitch Roll and Yaw Motion Axes
174. es are usually very conservative favoring safe and oscillation free operation To achieve the best dynamic performance possible the system must be tuned for the specific application Load acceleration stage orientation and performance requirements all affect how the servo loop should be tuned A Tuning Procedures Servo tuning is usually performed to achieve better motion performance such as reducing the following error statically and or dynamically or because the system is malfunctioning oscillating and or shutting off due to excessive following error Acceleration plays a significant role in the magnitudes of the following error and overshoot especially at start and stop Rapid velocity changes represent very high acceleration causing large following errors and overshoot Use the smallest acceleration the application can tolerate to reduce overshoot and make tuning the PID filter easier Section 6 Servo Tuning 6 1 6 2 6 2 1 6 2 2 6 2 3 NOTE In the following descriptions it is assumed that a software utility is being used to capture the response of the servo loop during a motion step command and to visualize the results Hardware and Software Requirements Hardware Requirements Tuning is best accomplished when the system response can be measured This can be done with external monitoring devices but can introduce errors The ESP300 controller avoids this problem by providing an internal tune capabilit
175. esolution to 10 micron set micro stepping resolution to 100x set maximum velocity to 20 mm sec set working velocity to 10 mm sec set jog high velocity to 10 mm sec set jog low velocity to 1 mm sec set Homing velocity to 10 mm sec set maximum acceleration to 50 mm sec set acceleration to 30 mm sec set deceleration to 30 mm sec set following error threshold to 1 mm set trajectory mode to trapezoidal apdate motor driver configuration save configuration to non volatile memory The following commands should be reviewed for proper axis compatibility when connecting to a non Newport stage assuming that it is electrically compatible with the controller 1 e level 2 ZA ZB ZH set amplifier configuration set feedback configuration set hardware limit configuration Appendix G Programming Non ESP Compatible Stages Appendix H Factory Service This section contains information regarding factory service for the ESP300 System The user should not attempt any maintenance or service of the system or optional equipment beyond the procedures outlined in the Trouble Shooting appendix of this manual Any problem that cannot be resolved should be referred to Newport Corporation Technical Customer Support contact information is listed in Table G 1 Telephone 1 800 222 6440 Fax 1 949 253 1479 Email rma service newport co Web Page URL Table H 1 Technical Customer
176. eturns a value of 10 units s2 set acceleration to 9 units s2 set deceleration to 6 units s2 set axis 2 maximum acceleration deceleration to 15 units s2 read maximum allowed acceleration amp deceleration of axis 2 controller returns a value of 15 units 3 23 AE set e stop deceleration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS 3 24 IMM PGM MIP xxAEnn or xxAE xx int axis number nn float e stop deceleration value xx 1 to MAX AXES nn current normal deceleration value to 2e9 encoder resolution or to read current setting xx none nn predefined units second2 XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error 1 PARAMETER OUT OF RANGE This command is used to set the e stop deceleration value for an axis Its execution is immediate meaning that the e stop deceleration value is changed when the command is processed even while a motion is in progress It can be used as an immediate command or inside a program If the requested axis is a member of a group the commanded e stop deceleration becomes effective only after the axis is removed from the group Refer to Advanced Capabilities section for a detailed description of grouping and related commands E stop deceleration is invoked upon a local e stop co
177. evice is connected Table B 1 Trouble Shooting Guide Descriptions Appendix B Trouble Shooting and Maintenance PROBLEM CAUSE CORRECTIVE ACTION Excessive following error Wrong setup load specification exceeded Verify that all setup parameters correspond to the actual motion device installed Verify that the load specifications for the motion device are not being exceeded Axis does not move Incorrect connection Verify that the motion device is connected to the correct driver card as specified by the labels Incorrect parameters Verify that the motion device is connected to the correct driver card as specified by the labels System performance below Incorrect connection Verify that the motion device is connected to the correct driver card as specified by the labels Incorrect parameters Verify that all relevant parameters PID velocity etc are set properly Move command not executed Software travel limit The software limit See SL command if the specified direction was reached If limits are set correctly do not try to move past them Incorrect parameters Verify that all relevant parameters PID velocity etc are set Home search not completed Faulty origin or index signals Carefully observe and record the motion sequence by watching manual knob rotation if available With the information collected
178. f a two phase stepper motor The voltage seen at this pin is pulse width modulated with a maximum amplitude of 48V DC Stepper Motor Phase 4 Output This output must be connected to Winding B lead of a two phase stepper motor The voltage seen at this pin is pulse width modulated with a maximum amplitude of 48V DC Common Phase 3 4 This output can be connected to the center tab of Winding B of a two phase stepper motor The voltage seen at this pin is pulse width modulated with maximum amplitude of 48V DC Appendix C Connector Pin Assignments C 3 Common Phase 1 2 This output can be connected to the center tab of Winding B of a two phase stepper motor The voltage seen at this pin is pulse width modulated with a maximum amplitude of 48V DC Travel Limit Input This input is pulled up to 5V with a 4 7KQ resistor by the controller and represents the stage negative direction hardware travel limit The active true state is user configurable default is active HIGH Travel Limit Input This input is pulled up to 5V with a 4 7KQ resistor by the controller and represents the stage negative direction hardware travel limit The active true state is user configurable default is active HIGH Encoder A Input The A input is pulled up to 5V with a 1KQ resistor The signal is buffered with a 26LS32 differential receiver The A encoder encoded signal originates from the stage position feedback circuitry and is
179. f all ADC channels and servo clock tick number when conversion was done 3 130 Section 3 Remote Mode RQ generate service request SRQ USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP RQnn mn int interrupt number nn 0 to 31 nn none nn missing 0 out of range error 7 PARAMETER OUT OF RANGE This command generates an interrupt service request to the host computer The parameter nn is used to identify the RQ command which generated the interrupt Upon receiving the interrupt the host computer interrupt service routine should perform an IEFE 488 serial poll If the interrupt was as a result of the RQ command then bit 6 of the response is 1 and the lower five bits equal the parameter nn This command can be used to notify the host computer of the progress or flow of command execution in the motion controller None SA set device address 2PR200 2WS 1PR100 1 WS RQ3 generate interrupt when RO command is encountered and set bit 0 and 2 3 131 RS reset the controller USAGE SYNTAX PARAMETERS DESCRIPTION 3 132 IMM PGM MIP RS None This command is used to perform a hardware reset of the controller It performs the following preliminary tasks before resetting the controller 1 Stop all the axes that are in motion The deceleration value specified using the comma
180. fer until the buffer level equals nn As commands in the buffer get executed on a FIFO basis and the buffer level equals nn commands issued subsequent to this one get executed If sign takes the place of nn value the controller returns the room available in via point buffer for more commands HN create a new group HL move group to target position along a line HC move group to target position along an arc 1HN1 2 create a new group 1 with physical axes 1 and 2 1HV10 set vectorial velocity of group 1 to 10 units second 1HASO set vectorial acceleration of group 1 to 50 units second 1HD50 set vectorial deceleration of group 1 to 50 units second 1HO enable group 1 1HL10 10 move group 1 to target pos 10 10 ax 1 10 2 10 units 1HL20 20 move group 1 to target pos 20 20 ax 1 20 2 20 units This command gets enqueued in the via point buffer if it was received prior completion of the previous move command 1HL50 50 move group 1 to target pos 50 50 ax 1 50 2 50 units 1HQ10 wait until the via point buffer level equals 10 commands 1HC40 60 180 move group 1 along an arc with center of arc at 40 60 units by a sweep angle of 180 deg from current position Section 3 Remote Mode HS stop group motion USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM MIP xxHS or xxHS xx int
181. fying the motion status moving or not moving of a selected axis When the selected axis is not moving the DIO bit state changes to the level specified with this command refer parameter nn2 NOTE The direction of the DIO port A B or C the desired bit belongs to should be set to output in order for the DIO bit to be set accurately Refer BO command for further details NOTE If a motion feature such as origin search involves a sequence of moves the motion status will be set to not moving only after the entire sequence of moves has completed If the sign takes the place of nn value this command reports the current assignment BN Enable DIO bits to notify motion status BO Set DIO port A B C direction BO 06H Set DIO port A to input and B C to output 2BM 9 1 Use DIO bit 9 to indicate motion status of axis 2 This DIO bit should be HIGH when axis 2 is not moving 2BN 1 Enable notification of motion using DIO bits for axis 2 2BM Query the DIO bit assignment for axis 2 9 1 The controller responds with the assigned values Section 3 Remote Mode BN enable DIO bits to notify motion status USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxBNnn or xxBN xx int axis number nn int disable or enable xx 1 to MAX AXES nn 0 disable and 1 enable or
182. g BO Set DIO port A B C direction EP Enter program mode EX Execute stored program AP Abort stored program execution BO 04H Set DIO ports A and B to input and port C to output 0BG1 Start execution of a stored program I when DIO bit 0 changes state from HIGH to LOW 3 33 BK assign DIO bits to inhibit motion USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 34 IMM PGM MIP xxBKnn1 nn2 or xxBK xx int axis number nni int bit number for inhibiting motion nn2 int bit level when axis motion is inhibited XX 1 to MAX AXES nni 0 to 23 nn2 0 LOW and 1 HIGH or to read current setting None Xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nni missing error 38 COMMAND PARAMETER MISSING out ofrange error xx1 PARAMETER OUT OF RANGE nn2 missing error 38 COMMAND PARAMETER MISSING out ofrange error xxl PARAMETER OUT OF RANGE This command is used to assign DIO bits for inhibiting the motion of a selected axis If the selected axis is already in motion and DIO bit is asserted e stop is executed per E stop configuration Refer ZE command for further details If the axis is not moving any new move commands are refused as long as the DIO bit is asserted In either case DIGITAL I O INTERLOCK DETECTED error is generated Note The direction of th
183. g It can be used as an immediate command or inside a program Inside a program it is useful in conjunction with program flow control commands It could for instance terminate a program on the occurrence of a certain external event monitored by an I O bit none EX execute a program 3EX execute program 3 AP stop program execution Section 3 Remote Mode AU set maximum acceleration and deceleration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxAUnn or xxAU xx int axis number nn float acceleration value xx 1 to MAX AXES nn 0 to 2e 9 or to read current setting xx none nn predefined units second2 xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx11 MAXIMUM ACCELERATION EXCEEDED error xx1 PARAMETER OUT OF RANGE This command is used to set the maximum acceleration and deceleration value for an axis This command remains effective even if the requested axis is member of a group In this case two error messages GROUP MAXIMUM ACCELERATION EXCEEDED or GROUP MAXIMUM DECELERATION EXCEEDED are generated if the commanded value is less than group acceleration or deceleration respectively Refer to Advanced Capabilities section for a detailed descripti
184. ge error 9 AXIS NUMBER OUT OF RANGE nn missing positive direction out of range error xx04 POSITIVE HARDWARE LIMIT EXCEEDED out of range error xx05 NEGATIVE HARDWARE LIMIT EXCEEDED out of range error xx06 POSITIVE SOFTWARE LIMIT EXCEEDED out of range error xx07 NEGATIVE SOFTWARE LIMIT EXCEEDED This command initiates infinite motion When received the selected axis xx will move indefinitely with the predefined acceleration and velocity in the direction specified by nn If the requested axis is member of a group this command does not initiate the desired motion Instead error xx31 COMMAND NOT ALLOWED DUE TO GROUP ASSIGNMENT is generated Refer HL and HC commands to move along a line or an arc If this command is issued when trajectory mode for this axis is not in trapezoidal or s curve mode the controller returns error xx32 INVALID TRAJECTORY MODE FOR MOVING Note Although the command is accepted while a motion is in progress care should be taken not to reverse direction of motion If the sign takes the place of nn value this command reports the motion done status 3 105 REL COMMANDS EXAMPLE 3 106 PA PR ST MD 3MV 3MV 3ST 3MV move to absolute position move to relative position stop motion move done status move axis 3 indefinitely in positive direction query status of move controller returns 0 meaning motion is in progress stop axis 3 motion move axis
185. gn X where x is the jog velocity of the slave and x is the velocity of the master axis Refer SI command to specify slave jog velocity update interval Note Appropriate trajectory mode has to be specified using TJ command before this command becomes effective RETURNS If sign is issued along with command the controller returns slave axis jog velocity scaling coefficients REL COMMANDS SS define master slave relationship SI set slave axis jog velocity update interval EXAMPLE 2SS1 set axis 2 to be the slave of axis 1 28S query the master axis number for axis 2 1 controller returns a value of 1 2TJ6 set axis 2 trajectory mode to 6 SI10 set the jog velocity update interval of slave axis to 10 msec SI query the jog velocity update interval of slave axis 10 controller returns a value of 10 SK0 5 0 set the jog velocity scaling coefficients to 0 5 and 0 SK query the jog velocity scaling coefficients 0 5 0 controller returns 0 5 and 0 Section 3 Remote Mode 3 139 SL set left travel limit USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 140 IMM PGM MIP xxSLnn or xxSL xx int axis number nn float left negative software limit XX 1 to MAX AXES nn 2e9 encoder resolution to 0 xx none nn predefined motion units xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUM
186. he motion device and determine the approximate maximum Local Error for the specific application Resolution Resolution is the smallest motion that the controller attempts to make For all DC motor and most all standard stepper motor driven stages supported by the ESP3000 this is also the resolution of the encoder 5 5 5 6 5 2 6 Keeping in mind that the servo loop is a digital loop the Resolution can be also viewed as the smallest position increment that the controller can handle Minimum Incremental Motion The Minimum Incremental Motion is the smallest motion that a device can reliably make measured with an external precision measuring device The controller can for instance execute a motion equal to the Resolution one encoder count but in reality the load may not move at all The cause for this is in the mechanics Elasticity Motor Encoder AMA E w1 Stiction Figure 5 4 Effect of Stiction and Elasticity on Small Motions Figure 5 4 shows how excessive stiction and elasticity between the encoder and the load can cause the motion device to deviate from ideal motion when executing small motions The effect of these two factors has a random nature Sometimes for a small motion step of the motor the load may not move at all Other times the accumulated energy in the spring will cause the load to jump a larger distance The error plot will be similar to Figure 5 5 motion Error increme
187. he original invoice date unless otherwise stated in the product literature e Products will be free of defects in material and workmanship e Products will meet published specifications e If you find any defects in material or workmanship or a failure to meet specifications within the warranty period return the product to us clearly marked with a Return Authorization Number RA and we will either repair or replace it at our discretion Terms of Use Privacy Policy Copyright 1996 2002 Newport Corporation All rights reserved http www newport com Support Service_and_Returns 03 06 2002 9 27 22 AM
188. hnology is used for larger high precision motors Section 5 Motion Control Tutorial Section 5 Motion Control Tutorial The stepper motor advantages to a new stable position by means of several stator phases that have the teeth slightly offset from each other To illustrate this Figure 5 32 shows a stepper motor with four phases and to make it easier to follow it is drawn in a linear fashion as a linear stepper motor joi Figure 5 32 Four Phase Stepper Motor The four phases from A to D are energized one at a time phase A is shown twice The rotor teeth line up with the first energized phase A If the current to phase A is turned off and B is energized next the closest rotor tooth to phase B will be pulled in and the more moves one step forward If on the other hand the next energized phase is D the closest rotor tooth is in the opposite direction thus making the motor to move in reverse Phase C cannot be energized immediately after A because it is exactly between two teeth so the direction of movement is indeterminate To move in one direction the current in the four phases must have the following timing diagram Figure 5 33 Ale LS T L B l c Lo pe Figure 5 33 Phase Timing Diagram One phase is energized after another in a sequence To advance one full rotor tooth the user needs to make a complete cycle of f
189. imum relative error for different motion step sizes In this example the Minimum Incremental Motion that can be reliably performed with a maximum of 20 error is one equivalent to 4 resolution encoder increments 5 2 7 Repeatability Repeatability is the positioning variation when executing the same motion profile Assuming that the user has a motion sequence that stops at a number of different locations the Repeatability is the maximum position variation of all targets when the same motion sequence is repeated a large number of times It is a relative not absolute error between identical motions Section 5 Motion Control Tutorial 5 7 5 8 5 2 8 Backlash Hysteresis For all practical purposes Hysteresis and Backlash have the same meaning for typical motion control systems the error caused by approaching a point from a different direction The difference is that Hysteresis refers to the compliance of the mechanical components while Backlash represents the play or looseness in the mechanical drive train All parameters discussed up to now that involve the positioning Error assumed that all motions were performed in the same direction If the user tries to measure the positioning error of a certain target destination approaching the destination from different directions could make a significant difference In generating the plot in Figure 5 2 we said that the motion device will make a large number of incremental mov
190. in integer form independent of the value set by this command If sign takes the place of nn value this command reports current setting None 1FP 4 1TP 5 0001 1FP2 1TP 5 00 1FP7 1TP 5 000000E 0 read position display resolution for axis 1 controller returns a value of 4 read actual position of axis 1 controller returns position value set position display resolution for axis 1 to 2 read actual position of axis 1 controller returns position value set position display resolution for axis 1 to 7 read actual position of axis 1 controller returns position value 3 65 FR set encoder full step resolution IMM PGM MIP USAGE SYNTAX xxFRnn or xxFR PARAMETERS Description xx int axis number nn float encoder full step resolution Range XX 1 to MAX AXES nn 2e 9 to 2e 9 in user defined units or to read present setting Units XX none nn none Defaults XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE DESCRIPTION This command is used to set the encoder full step resolution for a Newport Unidrive compatible programmable driver with step motor axis RETURNS If sign takes the place of nn value this command reports current setting REL COMMANDS QS set microstep factor SU set encoder resolution EXAMPLE 2FR read encoder full step re
191. ing TB read error message TE read error message 0 controller returns no error 8PA12 3 move axis 8 to position 12 3 TE read error message 9 controller returns error code 9 meaning incorrect axis number Section 3 Remote Mode TJ set trajectory mode USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxTJnn or xxTJ xx int nn int XX z nn xx nn xx missing out of range nn missing out of range during motion axis number home mode 1 to MAX AXES 1 to 6 where 1 trapezoidal mode 2 s curve mode 3 jog mode 4 slave to master s desired position trajectory 5 slave to master s actual position feedback 6 slave to master s actual velocity for jogging none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE error xx26 PARAMETER CHANGE NOT ALLOWED DURING MOTION This command sets the trajectory mode nn on the axis specified by xx Changing trajectory during motion is not allowed Change trajectory mode only when the axis is not moving If the requested axis is member of a group the controller returns error xx31 COMMAND NOT ALLOWED DUE TO GROUP ASSIGNMENT For a detailed description of motion profiles see the Motion Control Tutorial sec
192. ing error is of no concern during the acceleration high Maximum Acceleration values can be entered The motion device will move with the highest natural acceleration it can determined by the motor driver load inertia etc and the errors will consist of just a temporary larger following error and a velocity overshoot In any case special consideration should be given when setting the acceleration Through in most cases no harm will be done in setting a high acceleration value avoid doing so if the application does not require it The driver motor motion device and load undergo maximum stress during high acceleration Section 5 Motion Control Tutorial 5 2 16 Combined Parameters Very often a user looks at an application and concludes that they need a certain overall accuracy This usually means that the user is combining a number of individual terms error parameters into a single one Some of this combined parameters even have their own name even though not all people mean the same thing by them Absolute Accuracy Bi directional Repeatability etc The problem with these generalizations is that unless the term is well defined and the testing closely simulates the application the numbers could be of little value The best approach is to carefully study the application extract from the specification sheet the applicable discrete error parameters and combine them usually add them to get the worst case general error applicable
193. inished the Error data is plotted on a graph similar to Figure 5 2 Error max error Position Figure 5 2 Position Error Test The difference between the highest and the lowest points on the graph is the maximum possible Error that the motion device can have This worst case number is reported as the positioning Accuracy It guaranties the user that for any application the positioning error will not be greater than this value Local Accuracy For some applications it is important to know not just the positioning Accuracy over the entire travel but also over a small distance To illustrate this case Figure 5 3a and Figure 5 3b shows two extreme cases Section 5 Motion Control Tutorial 5 2 5 Section 5 Motion Control Tutorial Error ae max error ij Position Figure 5 3a High Accuracy for Small Motions Error max error Position Figure 5 3b Low Accuracy for Small Motions Both error plots from Figure 5 3a and Figure 5 3b have a similar maximum Error But if the user compares the maximum Error for small distances the system in Figure 5 3b shows significantly larger values For applications requiring high accuracy for small motions the system in Figure 5 3a is definitely preferred Local Error is a relative term that depends on the application usually no Local Error value is given with the system specifications The user should study the error plot supplied with t
194. ins effective even if the requested axis is member of a group In this case an error message GROUP MAXIMUM VELOCITY EXCEEDED is generated if the commanded value is less than group velocity Refer to Advanced Capabilities section for a detailed description of grouping and related commands RETURNS If the sign takes the place of nn value this command reports the current setting REL COMMANDS VA set velocity PA execute an absolute motion PR execute a relative motion AG set deceleration AC set acceleration EXAMPLE 2VU read maximum allowed velocity of axis 2 10 controller returns a value of 10 units s 2VU8 set axis 2 maximum maximum to 8 units s 2VA6 set axis 2 working velocity to 6 units s Section 3 Remote Mode 3 161 WP wait for position IMM PGM MIP USAGE SYNTAX xxWPnn PARAMETERS Description xx int axis number nn float position value Range XX 1 to MAX AXES nn starting position to destination of axis number xx Units XX none nn predefined units Defaults Xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE DESCRIPTION This command stops program execution until a user specified position is reached The program continues executing any subsequent commands only after axis xx has reached position nn Note Ensure that position nn is withi
195. ition DD Query data acquisition done status 1 true 0 false If true DEO Disable trace variable data acquisition DG Get data collected 3 51 DF get data acquisition sample count USAGE SYNTAX PARAMETERS DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 52 IMM PGM MIP DF none This command returns the number of a data acquisition collected to the point of this request aa where aa number of samples DC setup data acquisition request DG get acquired data DD data acquisition done status DE enable disable data acquisition DC10 1 1 1 0 1000 Acquire trace variable data for axis 1 in scaled integer format Collect 1000 samples one sample servo cycle DEI Enable trace variable data acquisition DD Query data acquisition done status 1 true 0 false If true DEO Disable trace variable data acquisition DG Get data collected Section 3 Remote Mode D G get acquisition data USAGE SYNTAX PARAMETERS DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP DG None This command is used to retrieve data acquired from a data acquisition request This command returns byte wide binary data Each four bytes represents one DSP 32 bit word The number of bytes returned depends on the setup request See DC command DC setup data acquisition request DE enable disable data acquisition DF data acquisition status re
196. ity to be proportional to the control signal 5 17 If such a driver is used with a velocity feed forward algorithm by properly tuning the Kyte parameter the feed forward signal could perform an excellent job leaving very little for the PID loop to do Servo Controller Trajectory Generator Motor Tachometer J O Motion Controller Encoder Figure 5 19 Tachometer Driven PIDF Loop 5 4 Motion Profiles 5 4 1 5 18 When talking about motion commands we refer to certain strings sent to a motion controller that will initiate a certain action usually a motion There are a number of common motion commands that are identified by name The following paragraphs describe a few of them Move A move is a point to point motion On execution of a move motion command the motion device moves from the current position to a desired destination The destination can be specified either as an absolute position or as a relative distance from the current position When executing a move command the motion device will accelerate until the velocity reaches a pre defined value Then at the proper time it will start decelerating so that when the motor stops the device is at the correct position The velocity plot of this type of motion will have a trapezoidal shape Figure 5 20 For this reason this type of motion is called a trapezoidal motion Section 5 Motion Control Tutorial 5 4 2 Section 5 Motion Control Tut
197. l deceleration of group 1 to 50 units second enable group 1 query current group position controller returns axis 1 50 units and axis 2 50 units set axis 1 arc center 40 units set axis 2 arc center 60 units set sweep angle of arc 180 degrees query target position of the commanded move controller returns axis 1 arc center 40 units axis 2 arc center 70 units and arc sweep angle 180 degrees Section 3 Remote Mode HD set group deceleration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS Section 3 Remote Mode IMM PGM MIP xxHDnn or xxHD xx int group number nn float vector deceleration value xx 1 to MAX GROUPS nn 0 to minimum of the maximum deceleration values of all axes assigned to this group xx none nn predefined units second XX missing error 13 GROUP NUMBER MISSING out of range error 14 GROUP NUMBER OUT OF RANGE not assigned error 15 GROUP NUMBER NOT ASSIGNED floating point truncated nn missing error 7 PARAMETER OUT OF RANGE negative error 22 GROUP PARAMETER OUT OF RANGE out of range error 25 GROUP MAXIMUM DECELERATION EXCEEDED This command is used to set the vectorial deceleration value for a group This value will be used during coordinated motion of axes assigned to the group It will override any original deceleration values specified for individual axes using
198. l motion devices is 0 This means that unless a new value is defined using this command the home position will be set to 0 when a home search is initiated using the OR command or from the front panel if available Note The change takes effect only when a subsequent home search routine is performed To make the change permanent use the SM command to save it in the non volatile memory If the sign takes the place of nn value this command reports the current setting DH define home 3MO turn axis 3 motor power ON 3SH75 0 set axis 3 home position to 75 0 units 30RI1 perform a home search on axis 3 3MD query axis 3 motion status 1 controller returns a value of 1 when motion is done 3TP query axis 3 position 75 0 controller returns a value of 75 0 units 3 137 SI set master slave jog velocity update interval USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 138 IMM PGM MIP SInn or SI nn int jog velocity update interval nn 1 to 1000 nn milliseconds nn missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE This command sets the jog velocity update interval for slave axis The jog velocity of slave axis is computed once every interval using user specified scaling coefficients and the master axis velocity at the time of computation Refer SK command to specify slave j
199. lar types stepper motors and DC motors Other technologies like interferometry or halography can be used but they are significantly more expansive and need more space Another way to characterize motors is by the type of motion they provide The most common ones are rotary but in some applications linear motors are preferred Stepper Motors The main characteristic of a stepper motor is that each motion cycle has a number of stable position This means that if current is applied to one of its windings called phases the rotor will try to find one of these stable points and stay there In order to make a motion another phase must be energized which in turn will find a new stable point thus making a small incremental move a step Figure 5 31 shows the basics of a stepper motor When the winding is energized the magnetic flux will turn the rotor until the rotor and stator teeth line up This true of the rotor core is made out of soft iron Regardless of the current polarity the stator will try to pull in the closest rotor tooth Figure 5 31 Stepper Motor Operation But if the rotor is a permanent magnet depending on the current polarity the stator will pull or push the rotor tooth This is a major distinction between two different stepper motor technologies variable reluctance and permanent magnet motors The variable reluctance motors are usually small low cost large step angle stepper motors The permanent magnet tec
200. lave to master s desired position trajectory 2 Slave to master s actual position feedback 3 Slave to master s actual velocity for jogging Section 4 Advanced Capabilities 4 7 4 2 2 4 2 3 The first two ways may be used when absolute or relative move commands can be issued to the master This is the situation when both master and slave axes are driven by valid motor types The third way may be used when move commands cannot be issued to the master This is the situation when the slave axis is driven by a valid motor type but the master such as trackball or joystick is not In any case a series of preliminary commands have to be issued before the desired master slave response is obtained These include defining master slave relationship appropriate constants and trajectory mode The next section outlines the steps to be taken for a slave axis to follow master s position The subsequent section outlines the steps to be taken for a slave axis to follow master s velocity The final section outlines the steps to be taken to jog an axis based on inputs from a digital joystick Slave to a Different Stage The following steps may be taken for a slave axis to follow master s position This mode may be chosen exclusively when absolute or relative move commands can be issued to the master Steps Move Action by Move Command Command 1 Define master slave 2SS1 Axis 2 is the slave of axis 1 relatio
201. llation when load conditions change Section 6 Servo Tuning 6 3 6 2 4 Errors At Stop Not In Position If you are satisfied with the dynamic response of the PID loop but the stage does not always stop accurately modify the integral gain factor Ki As described in the Motion Control Tutorial section the Ki factor of the PID works to reduce following error to near zero Unfortunately it can also contribute to oscillation and overshoot Change this parameter carefully and if possible in conjunction with Kd Start with the integral limit IL set to a high value and Ki value at least two orders of magnitude smaller than Kp Increase its value by 50 at a time and monitor overshoot and final position at stop If intolerable overshoot develops increase the Kd factor Continue increasing Ki IL and Kd alternatively until an acceptable loop response is obtained If oscillation develops immediately reduce Ki and IL Remember that any finite value for Ki will eventually reduce the error at stop It is simply a matter of how much time is acceptable for the application In most cases it is preferable to wait a few extra milliseconds to get to the stop in position rather than have overshoot or run the risk of oscillations Following Error During Motion This is caused by a Ki and IL value that is too low Follow the procedures in the previous paragraph keeping in mind that it is desirable to increase the integral gain factor as lit
202. lly connect one end of the supplied cables to the stage and the other end to the appropriate axis connector on the rear of the controller Secure both connectors with the locking thumb screws Users of the ESP300 with blank front panel can skip to Section 3 Remote Mode Motor On After the controller and the stages are connected as described the motors can be powered on Make sure that the motion devices are placed on a flat surface and their full travel is not obstructed CAUTION Be prepared to quickly turn the motor power off by pressing the STOP ALL button or power switch if any abnormal operation is observed After the power switch is pushed in the controller performs the start up sequence as described in Section 1 5 2 The default state after start up is motor power off To apply power to the motors press the button on the right of the display to enable power for the respective axis The ON state of the motor power is indicated on the display Blank Front Panel must use external interface to enable motor power Homing HOME Search The HOME Search routine is a sequence of motion segments through which the controller determines the exact location of a home origin switch A detailed description of the algorithm can be found in the Motion Control Tutorial Section 5 Section 1 Introduction NOTE It is recommended that the user perform a home search routine after each controller power on The controller must k
203. location Index Input The Index input is pulled up to 5V and pulled down to ground with 1KQ resistors by the controller This facilitates both single and double ended signal handling into a 26LS32 differential receiver The Index signal originates from the stage and is used for homing the stage to a repeatable location Encoder Supply 5V 250mA Maximum A 5V DC supply is available from the ESP300 This supply is provided for stage home index travel limit and encoder feedback circuitry Limit Ground Ground for stage travel limit signals Limit ground is combined with digital ground at the controller side Shield Ground Motor cable shield ground C 1 5 Auxiliary Encoder Inputs This 25 pin D Sub connector provides input for 3 auxiliary encoder channels axis 4 5 6 For signal description see Section C 1 4 These channels can be used for master slaving see Section 4 2 trackball and other applications Additionally 4 digital I O pins are provided See Section C 1 2 Appendix C Connector Pin Assignments C 5 Pin Description 1 Encoder Channel A Axis 4 2 Encoder Channel A Axis 4 3 Encoder Channel B Axis 4 4 Encoder Channel B Axis 4 5 Encoder Channel A Axis 5 6 Encoder Channel A Axis 5 7 Encoder Channel B Axis 5 8 Encoder Channel B Axis 5 9 Encoder Channel A Axis 6 10
204. maximum velocity for an axis HN create a new group 1HN1 2 create a new group 1 with physical axes 1 and 2 1VU query maximum velocity of axis 1 10 controller returns a value of 10 units second 2VU query maximum velocity of axis 2 15 controller returns a value of 15 units second 1HV10 set vectorial velocity of group 1 to 10 units second 1HV query vectorial velocity of group 1 10 controller returns a value of 10 units second Section 3 Remote Mode HW wait for group motion stop USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM MIP xxHWnn xx int group number nn float delay after group motion is complete XX 1 to MAX GROUPS nn 0 to 60000 xx none nn milliseconds Xxx missing error 13 GROUP NUMBER MISSING out of range error 14 GROUP NUMBER OUT OF RANGE not assigned error 15 GROUP NUMBER NOT ASSIGNED floating point truncated nn missing error 7 PARAMETER OUT OF RANGE negative error 22 GROUP PARAMETER OUT OF RANGE out of range error 26 MAXIMUM WAIT DURATION EXCEEDED This command stops execution of any commands subsequent to it until the one prior to it has been completed For instance if a command preceding it is a group move command such as HL or HC it stops execution of any commands following it until the group has reached target position If nn is not equal to zero the controller waits an
205. mber 1 One such group must be defined first before those axes can be moved in a coordinated fashion A group can comprise of axes anywhere from one to six 4 1 4 2 If a group has only one axis assigned to it a linear motion of the group is similar to moving that axis from one point to another Circular motion of a group with only one axis cannot be made If a group has more than two axes assigned to it circular motion of the group is made using the first two axes in the group The order in which axes are assigned to a group is very important This is because it specifies the frame of reference in which coordinated motion of axes takes place For instance the command 1HN2 3 assigns axis numbers 2 and 3 to group number 1 where axis 2 is equivalent to X axis and axis 3 is equivalent to Y axis ina traditional Cartesian coordinate system Reversing the order of axes E G 1HN3 2 reverses the axis assignment A few rules that are in place for easy management of group are as follows e An axis cannot be a member of different groups at the same time e An axis cannot be assigned more than once in a group e A group has to be deleted before axes assigned to it can be changed e Anaxis assigned to a group cannot be moved individually using commands such as PA and PR Use group linear move commands instead Refer to the description of this command in the commands section See Section 3 Remote Mode for correct syntax paramet
206. mber of advanced features make the ESP300 an excellent choice for many applications e Integrated controller and driver design is cost effective and space saving e Compact standard 2U height rack mountable or bench top enclosure e Allows any combination of motor types 2 phase stepper and brush DC up to 1A 48V per axis Digital Signal Processing architecture Real time high speed command processing Powerful commands for most demanding applications Motion program storage up to 99 programs in 64kB non volatile memory e Advanced motion programming capabilities and complex digital T O functions e User selectable displacement units e Optional full featured front panel with position and status displays for each axis push buttons for simple motion sequences and access to an elaborate menu that allows setup of the system without use of a computer e Optional handheld keypad for full access to ESP300 command set without computer Section 1 Introduction 1 4 2 Specifications Section 2 Modes of Operation Function e Integrated motion controller and driver Number of motion axes e 1 to 3 in any combination or order of 2 phase stepper and brush DC motors up to 48VDC 1A per axis Trajectory type e Trapezoidal velocity profile e S curve velocity profile Motion device compatibility e Family of motorized Newport motion devices using either stepper or DC motors e Custom motion devices call for compatibility
207. mit of axis 1 to 41 4 units Section 3 Remote Mode SM save Settings to non volatile memory IMM PGM MIP USAGE SYNTAX SM PARAMETERS none DESCRIPTION This command is used to save system and axis configuration settings from RAM to non volatile flash memory It should be used after modifying system and or axis parameters and settings to assure that the new data will not be lost when the controller is powered off Note User programs created with EP command are automatically saved to non volatile memory RETURNS none REL COMMANDS none EXAMPLE 3VA12 5 set axis 3 velocity to 12 5 units sec 3ACS50 0 set axis 3 acceleration to 50 unit sec SM save changes to non volatile memory Section 3 Remote Mode 3 141 SN set axis displacement units USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 142 IMM PGM MIP xxSNnn or xxSN xx int axis number nn int displacement units XX 1 to MAX AXES nn 0 to 10 where 0 encoder count 6 micro inches 1 motor step 7 degree 2 millimeter 8 gradian 3 micrometer 9 radian 4 inches 10 milliradian 5 milli inches 11 microradian or to read present setting XX none nn none xx missing error 37 AXIS NUMBER MISSING out of range nn missing out of range error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PA
208. mmand related to groups can be issued The controller returns error 15 GROUP NUMBER NOT ASSIGNED if for instance one tries to set velocity for group 1 before creating group 1 e A group has to be deleted refer HX command before axes assigned to the group can be changed The controller returns error 16 GROUP NUMBER ALREADY ASSIGNED if one attempts to change axes assigned to a group already created Please see the following table for correct method to change axes assigned to a group Correct Method Incorrect Method 1HN1 2 1HN1 2 1HX 1HN2 3 1HN2 3 e Anaxis cannot be a member of or assigned to different groups at the same time The controller returns error 18 GROUP AXIS ALREADY ASSIGNED if one Section 3 Remote Mode RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode attempts to assign an axis under such circumstances Refer HX command to delete a group An axis cannot be assigned more than once in a group The controller returns error 19 GROUP AXIS DUPLICATED if one attempts to assign an axis more than once to a group The order in which axes are assigned to a group is very important This is because it specifies the frame of reference in which coordinated motion of axes takes place For instance the command 1HN1 2 assigns axis numbers and 2 to group number 1 where axis 1 is equivalent to X axis and axis 2 is equivalent to Y axis ina traditional cartesian coo
209. motion controllers Section 3 Remote Mode P5 RS232 P2 For ESP100 and ESP300 motion controllers RETURNS None REL COMMANDS None EXAMPLE RS Reset the controller Section 3 Remote Mode 3 133 SA set device address USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 134 IMM PGM MIP SAnn or SA nn int address number nn 1 to 30 nn none nn missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE This command is used to set and report the device i e ESP controller address for use with IEEE 488 or USB communications if equipped The address change takes affect immediately after the command is processed Note Use the SM command to save new address setting to non volatile memory Ifthe sign takes the place of nn value this command reports the current setting none SA3 set device address to 3 SA read present device address setting 3 controller returns device address 3 SM save all settings to non volatile memory Section 3 Remote Mode SB set get DIO port A B C bit status USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION Section 3 Remote Mode IMM PGM MIP SBnn or SB nn int nn nn nn missing out of range hardware limit configuration 0 to OFFFFFFH hexadecimal with leading zero
210. n even when the motor power is OFF Note This command cannot be issued after enabling DAQ refer ASCII command DE none DH define home OH set home search speed OM set home search mode MD read motion done status SH set home preset position 3MO turn axis 3 motor power ON 3SHO set axis 3 home position to 0 units 3ORI1 perform a home search on axis 3 3MD query axis 3 motion status 1 controller returns a value of 1 when motion is done 3TP query axis 3 position 0 controller returns a value of 0 units Section 3 Remote Mode PA move to absolute position USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxPAnn or xxPA xx int axis number nn float absolute position destination xx 1 to MAX AXES nn any position within the travel limits and within 2e9 encoder resolution XX none nn defined motion units error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE xx missing out of range error 38 COMMAND PARAMETER MISSING error xx04 POSITIVE HARDWARE LIMIT EXCEEDED error xx05 NEGATIVE HARDWARE LIMIT EXCEEDED error xx06 POSITIVE SOFTWARE LIMIT EXCEEDED error xx07 NEGATIVE SOFTWARE LIMIT EXCEEDED nn missing out of range out of range out of range out of range This command initiates an absolute motion When received
211. n ahaa eniaelocntadicunc es 4 7 4 2 1 Introduction Slaving a Stage 4 7 4 2 2 Slave to a Different Stage 4 8 4 2 3 Slave to a Trackball eee 4 8 A24 Slaveto a JOVSHck nccackyasiien 4 9 4 3 Closed Loop Stepper Motor Positioning 4 9 4 3 1 Introduction Closed Loop Stepper 4 9 4 3 2 Feature Implementation 4 10 4 4 Synchronize Motion to External and Internal EV GUS a scecue tl pte ee eae 4 12 4 4 1 Introduction Synchronize Motion 4 12 4 4 2 Using DIO to Execute Stored Programs niaaa 4 12 4 4 3 Using DIO to Inhibit Motion 4 14 4 4 4 Using DIO to Monitor Motion RSE An hs RCN E RESO ROE PRAY NET A 4 14 Section 5 Motion Control Tutorial 0008 5 1 5 1 Motion SYStems j c ssscasatisasielsasessdiieeteieays 5 1 5 2 Specification Definitions ce eeeeeeeeeeeees 5 2 5 2 1 Following Brora cesteaste ateicsecs 5 3 ILZ e EOT Gren 42 alas a a a 5 3 529c ACUTA CY ennn n aS 5 3 5 2 4 Local ACCuracy rere iini 5 4 S25 Resolution iiiscscncdvsieinucnaiencs 5 5 Preface v 5 2 6 Minimum Incremental Motion 5 6 5 2 7 Repeatability c 2 hcieen eaten eee 5 7 5 2 8 Backlash Hysteresis 0 ccccee 5 8 5 2 9 Pitch Roll and Yaw uu 5 9 5 210 Wobble nannini 5 10 5 2 11 Load Capacity sexes scecussveesestatucds 5 10 5 2 12 Maximum Velocity ccnsytvscts eid 5 11 5 2 13 Minimum Velocity ixcdicsscd ether seatas 5 11 5 2 14 Velocity R
212. n all installed axes If nn is missing the axes will search for home using the mode specified using OM command If nn 0 the axes will search for zero position count If nn 1 the axis will search for combined Home and Index signal transitions If nn 2 the axes will search for Home signal transition only If nn 3 the axes will search for positive limit signal transition If nn 4 the axes will search for negative limit signal transition If nn 5 the axes will search for positive limit and index signal transition If nn 6 the axes will search for negative limit and index signal transition At the end of a home search routine the position of axes is reset to the value specified using SH command The home search motion status can be monitored with the Motion Done MD status command Ifa fault condition such as E stop occurs while home search is in progress or if this command is issued to an axis before enabling it the controller returns error xx20 HOMING ABORTED For a detailed description of the home search routine see the Home The Axis Origin chapter in the Motion Control Tutorial section Section 3 Remote Mode 3 111 RETURNS REL COMMANDS EXAMPLE 3 112 Note This command should be executed once every time the controller power is turned ON or the controller performs a complete system reset There is no need to issue this command in any other case since the controller always keeps track of positio
213. n determined by the home switch in connection with an index pulse ORI Set Home Mode to Switch Index POSITION 0 Moves to zero position count ORO 2 Set Home Mode 0 SET PID This menu allows the user to modify the digital PID filter All ESP compatible motion devices offered with the ESP300 have a set of conservative PID parameters that are loaded when the controller is powered up To change them some knowledge of motion control loops is needed Therefore it is not recommended to modify the pre set values before reading some general guidelines in Section 6 Servo Tuning The following sub menus are available Section 2 Modes of Operation Section 2 Modes of Operation SET KP Sets the integral gain of the digital PID filter KP Set proportional gain SET KI Sets the integral gain of the digital PID filter KI Set integral gain SET KD Sets the derivative gain of the digital PID filter KD Set derivative gain SET IL Sets the limit for the integrated value due to the integral gain KI factor of the digital PID filter IL Set integration limit SET FE Sets the maximum following error before motion is aborted FE Set following error GET STAGE MODELS This menu allows the user to retrieve the model numbers of the stages that are connected to the respective axes ID Get stage identifier 2 9 2 10 GET RS232 CONFIG This menu allows the user to retrie
214. n the travel range of axis xx The controller cannot always detect if a value is outside the travel range of an axis to flag an error especially while making coordinated motion of multiple axes Wait commands are primarily intended for use in internal program execution or in combination with the RQ command If used in command mode it is important to note that input command processing is suspended until the wait condition has been satisfied RETURNS None REL COMMANDS WT wait WS wait for motion stop EXAMPLE 2PA 10 2WS move axis 2 to position 10 units and wait for stop 2PA10 2WP0 3PA5 move axis 2 to position 10 units wait for axis 2 to reach position 0 units and then move axis 3 to position 5 units 3 162 Section 3 Remote Mode WS wait for motion stop USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxWSnn xx int axis number nn int delay after motion is complete xx 0 to MAX AXES nn 0 to 60000 xx none nn milliseconds xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command stops the program execution until a motion is completed The program is continued only after axis xx reaches its destination If xx is not specified
215. nal Negative Limit Signal Positive Limit and Index Signals and Negative Limit and Index Signals If nn 0 and the front panel HOME search push button is pressed the axes will search for zero position count If nn 1 and the front panel HOME search push button is pressed the axis will search for combined Home and Index signal transitions The controller responds similarly for other values of nn The nn parameter is overwritten by the OR command parameter If sign takes the place of nn value this command reports current setting OR search for home 30M1 set axis 3 home search mode to 1 30R start home search on axis 3 using mode 1 Section 3 Remote Mode OR search for home IMM PGM MIP USAGE SYNTAX xxORnn PARAMETERS Description xx int axis number nn int home mode Range XX 0 to MAX AXES nn 0 to 6 where 0 Find 0 Position Count 1 Find Home and Index Signals 2 Find Home Signal 3 Find Positive Limit Signal 4 Find Negative Limit Signal 5 Find Positive Limit and Index Signals 6 Find Negative Limit and Index Signals Units XX none nn none Defaults xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE DESCRIPTION This command executes a Home search routine on the axis specified by xx If xx 0 a home search routine is initiated sequentially o
216. nal details Command Description BG Assign DIO bits to execute stored programs BK Assign DIO bits to inhibit motion BL Enable DIO bits to inhibit motion BM Assign DIO bits to notify motion status BN Enable DIO bits to notify motion status BO Set DIO port A B C direction Table 4 6 Commands to Synchronize Motion to External Events 4 15 4 16 Section 4 Advanced Capabilities Section 5 Motion Control Tutorial Motion Systems A schematic of a typical motion control system is shown in Figure 5 1 Controller Driver Figure 5 1 Typical Motion Control Systems Its major components are Controller An electronic device that receives motion commands from an operator directly or via a computer verifies the real motion device position and generates the necessary control signals Section 5 Motion Control Tutorial 5 1 Driver An electronic device that converts the control signals to the correct format and power needed to drive the motors Motion Device An electro mechanical device that can move a load with the necessary specifications Cables Needed to interconnect the other motion control components If the user is like most motion control users they started by selecting a motion device that matches certain specifications needed for an application Next the user should choose a controller that can satisfy the motion characteristics required The changes are
217. nd AG is used to stop the axes 2 Wait for 500 ms to allow the axes to settle 3 Disable all the axes by turning the power OFF 4 Reset to the controller card Once the command to reset the controller is detected by the DSP the controller will stay in reset for a minimum of 200 ms After the reset condition has occurred i e after the 200 ms reset time the controller firmware reboots the controller At this point all the parameters last saved to the non volatile flash memory on the controller will be restored Furthermore the controller will detect any stages ESP compatible or otherwise and drivers connected to the controller This process can take anywhere up to 20 seconds depending upon the controller configuration NOTE This command is affective only when the watchdog timer is enabled through appropriate jumper setting on the controller card default factory setting is enabled The following figure illustrates the jumper settings to enable the watchdog timer NOTE If this command is issued over the PCI bus interface as in the case of ESP6000 motion controller all communication between the host PC and the controller over this bus will be interrupted As a result this command is not recommended for use over the PCI bus interface Use the binary command esp init system instead CAUTION Use this command judiciously It is not intended to be a substitute for an e stop condition JP7 JPWDT1 For ESP6000 and ESP7000
218. nd mnemonic brief definition motor type the squares mark which mode the command can be used in USAGE E IMM E PGM E Mp modes of operation SYNTAX xxAAnn generic syntax format PARAMETERS Description xx int description of parameter Nn float description of parameter parameter could be integer number floating point number character or string Range xx minimum value to maximum value nn minimum value to maximum value Units Xxx units description nn units description Defaults Xx missing default or error if parameter is missing out of range default or error if parameter is out of range nn missing default or error if parameter is missing out of range default or error if parameter is out of range DESCRIPTION detailed description of the command Note notes reminders and things to consider when using the command if any RETURNS Type format and description of the return the command is Generating if any ERRORS Error Code description of errors the command could Generate if misused REL COMMANDS brief definition of related commands EXAMPLE Command Discussed description Other command description Controller return description motor type if the command is specific for a motor type DC or stepping it will be labeled here otherwise this field is blank The mode mnemonics has the following meanings IMMediate mode controller is in idle mo
219. ndition e g front panel Stop All pushbutton Interlock etc has occurred if configured to do so or if the AB abort motion command is processed Note E stop deceleration value cannot be set lower than the normal deceleration value Refer the description of AG command for range of deceleration values If the sign takes the place of nn value this command reports the current setting VA set velocity PA execute an absolute motion PR execute a relative motion Section 3 Remote Mode EXAMPLE Section 3 Remote Mode AU AG AC 2AE 100 2AE150 set maximum acceleration and deceleration set deceleration set acceleration read e stop deceleration of axis 2 controller returns a value of 100 units s2 set e stop deceleration to 150 units s 3 25 AF set acceleration feed forward gain IMM PGM MIP USAGE SYNTAX xxAFnn or xxAF PARAMETERS Description xx int axis number nn float acceleration feed forward gain factor Range XX 1 to MAX AXES nn 0 to 2e9 or to read current setting Units XX none nn none Defaults xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE DESCRIPTION This command sets the acceleration feed forward gain factor Af Itis active for any DC servo based motion device See the Feed Forward Loops in
220. ndix C Connector Pin Assignments Appendix D Binary Conversion Table Some of the status reporting commands return an ASCII character that must be converted to binary To aid with the conversion process the following table converts all character used and some other common ASCII symbols to decimal and binary To also help in working with the I O port related commands the table is extended to a full byte all 256 values Number ASCII Binary decimal Code Code 0 Null 00000000 l Soh 00000001 2 Stx 00000010 3 Etx 00000011 4 Eot 00000100 5 Enq 00000101 6 Ack 00000110 7 Bel 00000111 8 Bs 00001000 9 Tab 00001001 10 Lf 00001010 11 Vt 00001011 12 Ff 00001100 13 Cr 00001101 14 So 00001110 15 Si 00001111 16 Dle 00010000 17 Del 00010001 18 Dc2 00010010 19 Dc3 00010011 20 Dc4 00010100 21 Nak 00010101 22 Syn 00010110 23 Eth 00010111 24 Can 00011000 25 Em 00011001 26 Eof 00011010 27 Esc 00011011 28 Fs 00011100 29 Gs 00011101 30 Rs 00011110 Table D 1 Binary Conversion Table using decimal and ASCII codes Appendix D Binary Conversion Table D 1 Number ASCII Binary decimal Code Code 31 Us 00011111 32 Space 00100000 33 00100001 34 00100010 35
221. ne home DH is performed on the specified axis RETURNS If sign takes the place of nn value this command reports the current setting REL COMMANDS None EXAMPLE 1BA0 0012 Set backlash compensation value for axis 1 to 0 0012 units 1BA Query backlash compensation value for axis 1 0 0012 Controller returns a value of 0 0012 units IOR Perform home search on axis 1 1PA10 Move axis 1 to absolute 10 units IPAO Move axis 1 to absolute 0 units 3 32 Section 3 Remote Mode BG assign DIO bits to execute stored programs USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxBGnn or xxBG xx int bit number used to trigger stored program execution nn char name of stored program to be executed xx 0 to 23 nn None or to read current setting None Xx missing error 7 PARAMETER OUT OF RANGE out of range error 7 PARAMETER OUT OF RANGE This command is used to assign DIO bits for initiating the execution of a desired stored program Execution of the stored program begins when the specified DIO bit changes its state from HIGH to LOW logic level Note Each DIO bit has a pulled up resistor to 5V Therefore all bits will be at HIGH logic level if not connected to external circuit and configured as input If the sign takes the place of nn value this command reports the current settin
222. nge nn missing out of range critical setting during motion error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE error xx17 ESP CRITICAL SETTINGS ARE PROTECTED error xx26 PARAMETER CHANGE NOT ALLOWED DURING MOTION This command is used to set the amplifier I O polarity fault checking and event handling for axis specified with xx NOTE If bit 0 or both bits 1 and 2 are set to zero 0 then no action will be taken by the controller NOTE The controller always interprets the nn value as a hexadecimal number even when the letter H is not appended to the desired value Since nn is a hexadecimal number it is possible that the most significant character left most character is an alphabet A F depending on the choice of values for various bits In order for the controller to distinguish between an ASCII command and its value it is recommended that the users always add a leading zero 0 to the nn value See table below for clarification Example Command Issued Controller Interpretation 1ZA123H nn 123H 0001 0010 0011 Binary 1ZA123 nn 123H 0001 0010 0011 Binary 1ZAOF25H nn F25H 1111 0010 0101 Binary 1ZAF25H Invalid command 3 167 RETURNS REL COMMANDS 3 168 BIT VALUE DEFINITION 0 1 2 2 aA BW WwW HNN 8 9 10 10 11 31 31 OoOrorcorcrorFrOorFro O
223. nn int motor type XX 1 to MAX AXES nn 0 to4 where 0 motor type undefined default 1 DC servo motor single analog channel 2 step motor digital control 3 commutated step motor analog control 4 commutated brushless DC servo motor or to read current setting xx none nn none xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command is used to set the motor type the for axis xx Defining motor type is necessary because the ESP needs to apply different control algorithms for different motor types Note It will not be possible to control an axis if its motor type is undefined ESP300 motion controller does not support this motor type ESP6000 and ESP7000 motion controllers do not support this motor type If the sign takes the place of nn value this command reports the current setting QV z set average motor voltage QD update driver QI set maximum motor current QT set tachometer gain QG et gear constant 2QM read motor type of axis 2 0 controller returns a value of 0 motor undefined for axis 2 2QM 1 set motor type to value of 1 DC servo motor for axis 2 2QD update programmable driver with latest settings for axis 2 SM save all controller settings to non volatile memory Section 3 Remote Mode QP quit program mode
224. now the exact initial position of the motion device not only to accurately repeat a motion sequence program but also to prevent it from hitting the travel limits limit switches To perform a home search routine press the home function key for the respective axis The display will indicate that a home routine is in progress with H to the left of the axis number NOTE The position value is reset at the home position Only one axis can be homed at a time i e even if multiple homing commands are issued the prior axis has to finish homing before the second can start homing 1 6 4 First Jog If left jog key is pressed the selected axis will move slowly in the negative direction To move a single step at a time press this switch once See Section 2 2 4 for details If right jog key is pressed the selected axis will move slowly in the positive direction To move a single step at a time press this switch once See Section 2 2 4 for details rf If the HIGH SPEED key between the jog keys is pressed High simultaneously with one of the jog keys the axis will jog fast in the selected direction See Section 2 for setting of high speed rate At this point you may proceed to Section 2 of this manual to get familiar with the controller and the local motion modes Section 2 Modes of Operation 1 13 NOTE Remember that only motions inside the software travel limits are allowed see SL command in Section 3 Remot
225. ns 0 c 0ccccccccee 5 5 Figure 5 4 Effect of Stiction and Elasticity on Small Motion 5 6 Fig re DOSE TON TOU resna E E E ies 5 6 Figure 5 6 Error vs Motion Step Size cccccccccccssssecestsceesteeees 5 7 Figure 5 7 Hysteresis Plot casio set ssoscertravaliae lt ishonseiaetentealeviigliovess 5 8 Figure 5 8 Real vs Ideal POSition cccccccccccceeseeeseeesseetseenteeeaes 5 8 Figure 5 9 Pitch Roll and Yaw Motion Ax 8 c cccccccccceceeetseees 5 9 Figure 5 10 Pitch Yaw and Roll Motion AX S 1 c 0cccccccceee 5 9 Figure 5 11 Wobble Generates a Circle ccccccccccccetctetsettteeteees 5 10 Figure 5 12 Position Velocity and Average Velocity 5 11 Figur 5 13 Servo LOOP isnan aa ia a a R aa 5 14 Figure 5 14 P Loop ec teerecratseiseeingagoteioue trreddenioeoecotianinpepeiolobsiees 5 15 Figure 313 PUL OOD ernia cache E A E A G 5 15 Figure 516 PID LOOP seit a A REA E as 5 16 Figure 5 17 Trapezoidal Velocity Profile cccccccccceseereees 5 17 Figure 5 18 PID Loop with Feed Forward ccccccccceerrees 5 17 Figure 5 19 Tachometer Driven PIDF LOOp ccccccccereees 5 18 Figure 5 20 Trapezoidal Motion Profile 0 c ccccccceeseseeerees 5 19 Figure5 21 Position and Acceleration Profiles 0cc 0c00000 5 19 Figure 5 22 Home Origin Switch and Encoder Index Pulse 5 21 Figure 5 23 Slow Speed Home Origin Switch Search 5 21 Figure 5 24 High Low Speed Home
226. nship 2 Defines master slave 2GR0 5 Master s position is scaled by 0 5 reduction ratio to obtain slave s position 3 Define slave axis 2TJ4 or 5 Set slave axis trajectory mode trajectory mode 4 Define master axis 1TJ1 or 2 Set master axis trajectory mode trajectory mode 5 Issue move commands to 1PA10 Move master to absolute 10 units master axis 1PR10 Move master by relative 10 units Table 4 1 Slave to a Different Stage Steps Slave to a Trackball The following steps may be taken for a slave axis to follow master s velocity This mode may be chosen exclusively when absolute or relative move commands cannot be issued to the master In this case when the user moves the master the slave axis responds by jogging in proportion to the master s velocity The slave axis jog velocity update interval and the scaling coefficients can be defined by the user Section 4 Advanced Capabilities Steps Move Action by Move Command Command 1 Define master slave 2SS4 Axis 2 is the slave of axis 4 relationship 2 Define slave axis jog 281100 Update slave axis jog velocity Velocity update interval every 100 milliseconds 3 Define slave axis scaling 2SK0 5 0 Specify scaling coefficients coefficients 4 Define slave axis 2TJ6 Set slave axis trajectory mode trajectory mode 5 Move the master axis physically Table 4 2 Slave to a Trackball Steps 4 2 4 Slave to a Joystick If the slave axis is
227. nt nn float xx nn XX nn E xx missing out of range nn missing out of range axis number gear constant 1 to MAX AXES 0 to 2e9 or to read present setting none evolution unit of measure error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE This command is used to set the gear constant for a Newport Unidrive compatible programmable driver for DC servo axis This command should be used in conjunction with QT tachometer gain command The gear constant is defined as the number of revolutions the motor has to make for the motion device to move one displacement This command must to be followed by the QD update driver command to take affect If the sign takes the place of nn value this command reports the current setting SN QD QS Qr QV 2QG 0 3937 2QG 0 25 2QT 7 0 20D set displacement units update driver set microstep factor set motor maximum current et average motor voltage read gear constant setting of axis 2 controller returns a value of 0 3937 rev unit for axis 2 set gear constant to 0 25 rev unit for axis 2 set tachometer gain to 7 V Krpm for axis 2 update programmable driver with latest settings for axis 2 Section 3 Remote Mode QI set maximum motor current USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPT
228. nt QV set average motor voltage 2QT read tachometer gain setting of axis 2 7 0 controller returns a value of 7 0 V Krpm for axis 2 2QT 6 5 set tachometer gain value of 6 5 V Krpm for axis 2 2QG 0 3937 set gear constant to 0 3937 rev unit for axis 2 2QD update programmable driver with latest settings for axis 2 SM save all controller settings to non volatile memory Section 3 Remote Mode OV set average motor voltage IMM PGM MIP axis number motor voltage 1 to MAX AXES 0 to maximum driver rating see Specifications section or to read present setting none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE This command is used to set the average motor voltage output for a Newport Unidrive compatible programmable driver axis This command must to be followed by the QD update driver command to take affect USAGE SYNTAX xxQVnn or xxQV PARAMETERS Description xx int nn float Range XX nn Units XX nn Defaults xx missing out of range nn missing out of range DESCRIPTION RETURNS setting REL COMMANDS QD QI QG QS QT EXAMPLE 2QV 48 0 2QV 12 2QD SM Section 3 Remote Mode If the sign takes the place of nn value this command reports the current update driver set maximum motor current set gear constant set microstep factor
229. ntrolled positioning applications Due to some of their inherent characteristics they are preferred in many industrial and laboratory applications Some of their main advantages are Low cost full step open loop implementation No servo tuning required Good position lock in No encoder necessary Easy velocity control Retains some holding torque even with power off No wearing or arcing commutators Preferred for vacuum and explosive environments Disadvantages Some of the main disadvantages of the stepper motors are e Could loose steps synchronization in open loop operation e Requires current dissipates energy even at stop e Generates higher heat levels than other types of motors e Moves from one step to another are made with sudden motions 5 31 5 32 5 6 2 e Large velocity ripples especially at low speeds causing noise and possible resonances e Load torque must be significantly lower than the motor holding torque to prevent stalling and missing steps e Limited high speed DC Motors A DC motor is similar to a permanent magnet stepper motor with an added internal phase commutator Figure 5 43 Rey Bie Co Do Es TeuEe S Figure 5 43 DC Motor Applying current to phase B pulls in the rotor pole If as soon as the pole gets there the current is switched to the next phase C the rotor will not stop but continue moving to the next target Repe
230. nts Motion steps Position Figure 5 5 Error Plot Once the Maximum Incremental Motion is defined the next task is to quantify it This more difficult for two reasons one is its random nature and the other is in defining what a completed motion represents Assume that the user has a motion device with a um resolution If every time the user commands a 1 um motion the measured error is never greater than 2 the user will probably be very satisfied and declare that the Minimum Incremental Motion is better than 1 um Section 5 Motion Control Tutorial If on the other hand the measured motion is sometimes as small as 0 1 um a 90 error the user could not say that 1 um is a reliable motion step The difficulty is in drawing the line between acceptable and unacceptable errors when performing a small motion step The most common value for the maximum acceptable error for small motions is 20 but each application ultimately has its own standards One way to solve the problem is to take a large number of measurements a few hundred at minimum for each motion step size and present them in a format that an operator can use to determine the Minimum Incremental Motion by its own standards Relative error 100 80 60 40 20 1 2 3 4 5 6 7 8 9 10 11 Motion step size in resolution increments Figure 5 6 Error vs Motion Step Size Figure 5 6 shows an example of such a plot The graph represents the max
231. og velocity scaling coefficients Note that appropriate trajectory mode has to be specified using TJ command before this command becomes effective If sign is issued along with command the controller returns slave axis jog velocity update interval SS define master slave relationship SK set slave axis jog velocity scaling coefficients 2SS1 set axis 2 to be the slave of axis 1 2SS query the master axis number for axis 2 1 controller returns a value of 1 2TJ6 set axis 2 trajectory mode to 6 SI10 set the jog velocity update interval of slave axis to 10 msec SI query the jog velocity update interval of slave axis 10 controller returns a value of 10 SK0 5 0 set the jog velocity scaling coefficients to 0 5 and 0 SK query the jog velocity scaling coefficients 0 5 0 controller returns 0 5 and 0 Section 3 Remote Mode Sk set master slave jog velocity scaling coefficients IMM PGM MIP USAGE SYNTAX SKnnl nn2 or SK PARAMETERS Description nn float jog velocity scaling coefficients Range nn none Units nni none Defaults nni missing error 38 COMMAND PARAMETER MISSING DESCRIPTION This command sets the jog velocity scaling coefficients for slave axis The jog velocity of slave axis is computed once every interval using user specified scaling coefficients and the master axis velocity at the time of computation The user specified coefficients are used as follows 2 x AX Bx s
232. on Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 152 IMM PGM MIP xxTV xx int xx xx XX missing out of range axis number 1 to MAX AXES none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE This command is used to read the actual velocity of an axis The command can be sent at any time but its real use is while motion is in progress nn where nn actual velocity of the axis in pre defined units PA PR 3TP 5 32 3PR2 2 3DV 0 2 3TV 0 205 3DP 7 52 move to an absolute position move to a relative position read position on axis 3 controller returns position 5 32 units for axis 3 start a relative motion of 2 2 units on axis 3 read desired velocity on axis 3 controller returns velocity 0 2 units sec for axis 3 read actual velocity on axis 3 controller returns velocity 0 205 units sec for axis 3 read desired position on axis 3 controller returns desired position 7 52 units for axis 3 Section 3 Remote Mode TX read controller activity IMM PGM MIP USAGE SYNTAX TX PARAMETERS None DESCRIPTION This command is used to read the controller activity register The byte returned is in the form of an ASCII character The value of each bit in the status byte can be deduced after converting the ASCII character into a binary value Each bit of the status byte represents a particular parameter as descri
233. on of grouping and related commands If the sign takes the place of nn value this command reports the current setting VA set velocity PA execute an absolute motion PR execute a relative motion AG set deceleration AC et acceleration AU read maximum allowed acceleration deceleration of axis 2 10 controller returns a value of 10 units s 2AC9 set acceleration to 9 units s2 2AG6 set deceleration to 6 units s2 2AU15 set axis 2 maximum acceleration deceleration to 15 units s 2AU read maximum allowed acceleration amp deceleration of axis 2 15 controller returns a value of 15 units s 3 31 BA set backlash compensation IMM PGM MIP USAGE SYNTAX xxBAnn or xxBA PARAMETERS Description xx int axis number nn float backlash compensation value Range XX 1 to MAX AXES nn to distance equivalent to 10000 encoder counts Units XX none nn user units Defaults XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE DESCRIPTION This command initiates a backlash compensation algorithm when motion direction is reversed The controller keeps track of the motion sequence and for each direction change it adds the specified nn correction Setting nn to zero disables the backlash compensation NOTE The command is affective only after a home search OR or defi
234. one one error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE This command sets the integral gain factor Ki of the PID closed loop It is active for any DC servo based motion device that has been selected to operate in closed loop The command can be sent at any time but it has no effect until the UF update filter is received See the Servo Tuning chapter on how to adjust the PID filter parameters If the sign takes the place of nn value this command reports the current setting KD KP KS UF 3KI 0 01 3UF set integral gain factor set proportional gain factor set saturation gain factor update filter set integral gain factor for axis 3 to 0 01 update PID filter only now the KI command takes effect 3 97 KP set proportional gain USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 98 IMM PGM MIP xxKPnn or xxKP xx int axis number nn float roportional gain factor Kp XX 1 to MAX AXES nn 0 to 2e9 or to read current setting XX none nn none xx missing error 37 AXIS NUMBER MISSING out of range nn missing out of range error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING rror xx2 PARAMETER OUT OF RANGE This command sets the proportional gain factor Kp of th
235. only 1 10 of the full step holding torque to cause the motor to have a positioning error equivalent to one step a mini step To clarify a little what this means lets take a look at the torque produced by a stepper motor For simplicity lets consider the case of a single phase being energized Figure 5 39 Once the closest rotor tooth has been pulled in assuming that the user doesn t have any external load the motor does not develop any torque This is a stable point 5 29 5 30 If external forces try to move the rotor Figure 5 40 the magnetic flux will fight back The more teeth misalignment exists the larger the generated torque Figure 5 39 Single Phase Energization Figure 5 40 External Force Applied If the misalignment keeps increasing at some point the torque peaks and then starts diminishing again such that when the stator is exactly between the rotor teeth the torque becomes zero again Figure 5 41 This is an unstable point and any misalignment or external force will cause the motor to move one way or another Jumping from one stable point to another is called missing steps one of the most critiqued characteristics of stepper motors The torque diagram versus teeth misalignment is shown in Figure 5 42 The maximum torque is obtained at one quarter of the tooth spacing which is equivalent to one full step Figure 5 42 Torque and Tooth Alignment Section 5
236. only be changed when encoder feedback is enabled See ZB command If sign takes the place of nn value this command reports the current setting FR SU QD ZB 2SU 0 0001 2SU0 0005 2QD SM set full step resolution set encoder resolution update driver set feedback configuration read encoder resolution setting of axis 2 controller returns a value of 0 0001 units for axis 2 set encoder resolution to 0 0005 units for axis 2 update programmable driver with latest settings for axis 2 save all controller settings to non volatile memory Section 3 Remote Mode TB read error message USAGE SYNTAX PARAMETERS Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP TB questions mark This command is used to read the error code timestamp and the associated message The error code is one numerical value up to three 3 digits long see Appendix for complete listing In general non axis specific errors numbers range from 1 99 Axis 1 specific errors range from 100 199 Axis 2 errors range from 200 299 and so on The timestamp is in terms of servo cycle ticks accumulated since the last System Reset incrementing at the servo interrupt interval 400us default The message is a description of the error associated with it All arguments are separated by commas Note Errors are maintained in a FIFO buffer ten 10 elements
237. only for steeper motors Furthermore note that encoder feedback and closed loop positioning must be enabled for this command to be effective Refer to feedback configuration ZB command for enabling these features in the case of stepper motors If 0 is used as an axis number this command will set the specified interval to all the axes If sign takes the place of nn value this command reports the current setting ZB set feedback configuration DB set position deadband value 3ZB300 enable encoder feedback and closed loop positioning of axis 3 3DB1 set position deadband value to 1 encoder count 3DB query deadband value 1 controller returns a value of 1 encoder count 3CL100 set closed loop update interval to 100 milliseconds 3CL query closed loop update interval 100 controller returns a value of 100 milliseconds 3 43 CO set linear compensation USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 44 IMM PGM MIP xxCOnn or xxCO xx int axis number nn float linear compensation value XX 1 to MAX AXES nn 0 to 2e 9 xx none nn none XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE This command allows users to compensate for linear positioning errors due to stage inaccu
238. orial Desired Velocity Time Figure 5 20 Trapezoidal Motion Profile The position and acceleration profiles relative to the velocity are shown in Figure 5 21 Position Desired Velocity Acceleration Figure 5 21 Position and Acceleration Profiles Besides the destination the acceleration and the velocity of the motion the constant portion of it can be set by the user before every move command Advanced controllers like the ESP300 allow the user to change them even during the motion Jog When setting up an application it is often necessary to move stages manually while observing motion The easy way to do this without resorting to specialized input devices such as joysticks or track wheels is to use simple push button switches This type of motion is called a jog When a jog button is pressed the selected axis starts moving with a pre defined velocity The motion continues only while the button is pressed and stops immediately after its release The ESP300 offers two jog speeds Both high speed and low speed are user programmable The jog acceleration is also ten times smaller than the programmed maximum acceleration values 5 19 5 20 5 4 3 Home Search Home search is a specific motion routine that is useful for most types of applications Its goal is to find a specific point in travel relative to the mounting base of the motion device very accurately and repeatable The need for this absolute reference
239. orts A B to input and port C to output i e set bits 0 15 to input and 16 23 to output After the above commands are sent to the controller the controller will execute the stored program called AbsOmm when DIO bit 0 changes its state from HIGH to LOW logic level Example 2 EP CYC2MM 1MO 2MO 1TJ1 2TH 1PAO 2PA0 1WS100 2WS100 DL LOOP 1PR2 2PR2 1WS100 2WS100 1PR 2 2PR 2 1WS100 2WS100 JL LOOP 10 QP 1BGCYC2MM BO 04H Define stored program called Cyc2mm Turn axes 1 2 ON Set trajectory mode for axes 1 2 to TRAPEZOID Move axes 1 2 to absolute 0 units Wait for axes 1 2 motion to complete Define a label called LOOP Move axes 1 2 by relative 2 units Wait for axes 1 2 motion to complete Move axes 1 2 by relative 2 units Wait for axes 1 2 motion to complete Jump to label called LOOP 10 times End of program Assign DIO 1 to run stored program called Cyc2mm 04H 0100 Binary Set DIO ports A B to input and port C to output i e set bits 0 15 to input and 16 23 to output After the above commands are sent to the controller the controller will execute Cyc2mm stored program when DIO bit 1 changes its state from HIGH to LOW logic level 4 13 4 14 4 4 3 4 4 4 Using DIO to Inhibit Motion ESP series of motion controllers can inhibit the motion of any axis in response to external events In order to accomplish this task users must define the DIO bit to be empl
240. ot equipped with the ESP Compatible memory device i e level 1 Example 1 DC Servo on axis 1 lqml set motor type to DC servo 1qi0 15 set motor maximum current to 0 15 amps 1qv30 set motor voltage to 30 volts 1sn7 set user units to degrees 1su0 005 set resolution to 0 005 degrees Ivul5 set maximum velocity to 15 deg sec lva7 set working velocity to 7 deg sec loh7 set homing speed to 7 deg sec 1jh7 set jog high speed to 7 deg sec ljwl set jog low speed to 1 deg sec lau40 set maximum acceleration to 40 deg sec Appendix G Programming Non ESP Compatible Stages G 1 lac20 lag25 1fe0 5 1kp600 1kd600 1ki350 1ks300 1tjl lqd sm set working acceleration to 20 deg sec set deceleration to 25 deg sec set following error threshold to 0 5 deg set PID proportional gain to 600 set PID derivative gain to 600 set PID integral gain to 350 set PID integral saturation gain to 300 set trajectory mode to trapezoidal apdate motor driver configuration save configuration to non volatile memory Example 2 Stepper stage on axis 1 1qm3 lqi 1 1qv30 1sn2 1su0 001 1fr0 01 1qs100 lvu20 lval0 1jh10 ljwl loh10 lau50 1 ac 50 lag30 fel 1tjl lqd sm set motor type to commutated stepper ESP300 only set motor maximum current to 1 amp set motor voltage to 30 volts set user units to millimeters set resolution to 1 micron set stepper motor full step r
241. otor e Higher velocities need higher motor voltages and thus higher following errors e At stop small errors cannot be corrected if they don t generate enough voltage for the motor to overcome friction and stiction e Increasing the K gain reduces the necessary following error but too much of it will generate instabilities and oscillations Trajectory Motor Generator Servo Controller Encoder Motion Controller C Figure 5 14 P Loop PI Loop To eliminate the error at stop and during long constant velocity motions usually called steady state error an integral term can be added to the loop This term integrates adds the error every servo cycle and the value multiplied by the K gain factor is added to the control signal Figure 5 15 Servo Controller Trajectory e Motor Generator Encoder Motion Controller O Figure 5 15 PI Loop The result is that the integral term will increase until it drives the motor by itself reducing the following error to zero At stop this has the very desirable effect of driving the positioning error to zero During a long constant velocity motion it also brings the following error to zero an important feature for some applications Unfortunately the integral term also has a negative side a severe de stabilizing effect on the servo loop In the real world a simple PI Loop is usually undesirable Section 5 Motion Control Tutorial 5 15 5 16 5 3 2 PI
242. our steps To make a full revolution the user needs a number of steps four times the number of rotor teeth These steps are called full steps They are the largest motion increment the stepper motor can make Running the motor in this mode is called full stepping What happens if the user energizes two neighboring phases simultaneously Figure 5 34 5 27 Py Figure 5 34 Energizing Two Phases Simultaneously Both phases will pull equally on the motor will move the rotor only half of the full step If the phases are always energized two at a time the motor still makes full steps But if the user alternates one and two phases being activated simultaneously the result is that the motor will move only half a step at a time This method of driving a stepper motor is called half stepping The advantage is that we can get double the resolution from the same motor with very little effect on the driver s side The timing diagram for half stepping is shown in Figure 5 35 12345678 ATT ey Figure 5 35 Timing Diagram Half Stepping Motor Now what happens if we energize the same two phases simultaneously but with different currents For example lets say that phase A has the full current and phase B only half This means that phase A will pull the rotor tooth twice as strongly as B does The rotor tooth will stop closer to A somewhere between the full step and the half step
243. oyed to inhibit the motion of a desired axis and the logic state in which that bit should be in order to inhibit motion Once this done the feature has to be enabled Furthermore the direction of the DIO port this DIO bit belongs to must be set to input in order for the controller to detect the external event At this point if the selected axis is already in motion and DIO bit is asserted E stop is executed per E stop configuration Refer ZE command for further details If the axis is not moving any new move commands are refused as long as the DIO bit is asserted In either case AXIS XX DIGITAL I O INTERLOCK DETECTED error is generated where XX is the axis whose motion is inhibited through DIO Please review the example below for further clarifications Example 3 2BK1 1 Use DIO bit 1 to inhibit motion of axis 2 This DIO bit should be HIGH when axis 2 motion is inhibited 2BL1 Enable inhibition of motion using DIO bits for axis 2 BO 04H 04H 0100 Binary Set DIO ports A B to input and port C to output i e set bits 0 15 to input and 16 23 to output After the above commands are sent to the controller the controller will inhibit the motion of axis 2 when DIO bit is at a HIGH logical level and generate appropriate error message Using DIO to Monitor Motion Status User s applications can monitor motion status desired axis is in motion or standstill through ESP motion controller s DIO This status bit c
244. pendix F ESP Configuration Logjic 0 F 1 Appendix G Programming Non ESP Compatible Stas E ee es G 1 Appendix H Factory Service 2 ssecceeeeeeeeeees H 1 H 1 Service POM Sih se ciaes dcadestuaa ales esac H 2 vii viii List of Figures Figure No Page Figure 1 1 ESP 300 Controller Dr iver ccccccccsccssccessseesesetseeees 1 6 Figure 1 2 ESP300 Front Panel with displays cccccccccccceee 1 8 Figure 1 3 Rear Panel of the ESP 300 wpccescsceuesntidan vomestionsnneses 1 9 Figure 2 1 Menu SOCHOM si scisec oe aee Ss haarasdaaSeaepabcurciansiide Sha vevtebesus 2 2 Figure DD MCHUTICI a snrdsiiranes ba ncoguaelay conus a a le Madeaaeuress 2 3 Figure 2 3 Motion from the Front Panel Displayed 0 2 3 Figure 3 1 Command Syntax Diagram ccccccccescesteeeseeeteeeees 3 7 Figure 4 1 A Contour with Multiple Circular Moves 0 0 4 5 Figure 4 2 A Contour with Multiple Linear and CircularMoves4 5 Figure 4 3 Block Diagram of Via Point Data Handling By Command Processor 4 6 Figure 4 4 Block Diagram of Via Point Data Handling By Trajectory Generator n on 4 7 Figure 4 5 Block Diagram of Closed Loop Stepper Motor Positionine seemet sar a A 4 11 Figure 5 1 Typical Motion Control Systems 0 cc0ccccccccceseeseees 5 1 Figure 5 2 Position Error Test 5 4 Figure 5 3a High Accuracy for Small Motions 0c0 0cc0c00 5 5 Figure 5 3b Low Accuracy for Small Motio
245. per motor full stepping Ea Drivers 5 7 1 Section 5 Motion Control Tutorial Motor divers must not be overlooked when judging a motion control system They represent an important part of the loop that in many cases could increase or reduce the overall performance The ESP300 is an integrated controller and driver The controller part is common for any configuration but the driver section must have the correct hardware for each motor driven The driver hardware is one driver card per axis that installs easily in the rear of the controller Each card has an end plate with the 25 pin D Sub motor connector and an identifying label Always make sure that the motor specified on the driver card label matches the label on the motion device There are important advantages to having an integrated controller driver Besides reducing space and cost integration also offers tighter coordination between the two units so that the controller can more easily monitor and control the driver s operation Driver types and techniques vary widely In the following paragraphs we will discuss only those implemented in the ESP300 Stepper Motor Drivers Driving a stepper motor may look simple at first place For a motor with four phases the most widely used type the user will need only four switches transistors controlled directly by a CPU Figure 5 44 This driver works fine for simple low performance applications But if high speeds are requi
246. point is twofold First in many applications it is important to know the exact position in space even after a power off cycle Secondly to protect the motion device from hitting a travel obstruction set by the application or its own travel limits the controller uses programmable software limits To be efficient though the software limits must be placed accurately in space before running the application To achieve this precise position referencing the ESP300 motion control system executes a unique sequence of moves First lets look at the hardware required to determine the position of a motion device The most common and the one supported by the ESP300 are incremental encoders By definition these are encoders that can tell only relative moves not absolute position The controller keeps track of position by incrementing or decrementing a dedicated counter according to the information received from the encoder Since there is no absolute position information position zero is where the controller was powered on and the position counter reset To determine an absolute position the controller must find a switch that is unique to the entire travel called a home switch or origin switch An important requisition is that this switch must be located with the same accuracy as the encoder pulses If the motion device is using a linear scale as position encoder the home switch is usually placed on the same scale and read with the same
247. position 5 32 units for axis 3 start a relative motion of 2 2 units on axis 3 read desired velocity on axis 3 controller returns velocity 0 2 units sec for axis 3 read desired position on axis 3 controller returns desired position 7 52 units for axis 3 Section 3 Remote Mode EO automatic execution on power on USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE IMM PGM MIP xxEOnn or xx int nn int xx nn xx nn None xxEO program number number of times of execution 1 to 100 1 to 2e9 none none This command sets the program number that is automatically executed on power on If nn is missing the xx numbered program is executed once If the sign takes place of nn value this command reports the number of the program that is executed on power on and the number of times of execution QP EX AP XX 3EO EO EO 3 1 EO Section 3 Remote Mode quit programming mode execute stored program abort stored program execution erase program set program 3 to be executed once on power on query the program number executed on power on controller returns program 3 executed once on power on Reset automatic program execution no program is executed on power on 3 59 EP enter program mode USAGE SYNTAX PARAMETERS Description Range Units Defaults
248. qual to 0 the torque reduction parameters get applied to all axes Note This command does not affect DC servo motors and pulse stepper motors Note Time parameter nn1 is only effective for ESP300 motion controller If sign is issued along with command the controller returns the torque reduction settings for the specified axis QM set motor type QI et motor current 2QR1000 50 reduce motor 2 torque to 50 1000 msec after a move done 2QR query motor 2 torque reduction settings 1000 50 controller returns 1000 msec and 50 Section 3 Remote Mode QS set microstep factor USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxQSnn or xxQS xx int nn int XX nn XX z nn xx missing out of range nn missing out of range axis number microstep value 1 to MAX AXES 1 to 250 for step motors 1 to 1000 for commutated step motors or to read current setting none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE This command is used to set the microstep factor for a Newport Unidrive compatible programmable driver with step motor axis This command must be followed by the QD update driver command to take affect If the sign takes the place of nn valu
249. r means that the load is trailing the ideal motion device 5 2 2 Error Error has the same definition as the Following Error with the exception that the ideal trajectory is not compared to the position feedback device encoder but to an external precision measuring device In other words the Following Error is the instantaneous error perceived by the controller while the Error is the one perceived by the user 5 2 3 Accuracy The accuracy of a system is probably the most common parameter users want to know Unfortunately due to its perceived simplicity it is also the easiest to misinterpret Section 5 Motion Control Tutorial 5 3 5 2 4 The Accuracy is a static measure of a point to point positioning error Starting from a reference point the user should command the controller to move a certain distance When the motion is completed the user should measure the actual distance traveled with an external precision measuring device The difference the Error represents the positioning Accuracy for that particular motion Because every application is different the user needs to know the errors for all possible motions Since this is practically impossible an acceptable compromise is to perform the following test Starting from one end of travel the user can make small incremental moves and at every stop the user should record the position Error The user performs this operation for the entire nominal travel range When f
250. racies Such errors decrease or increase actual motion linearly over the travel range The linear compensation value nn is calculated according to the formula given below error n travel travel measured travel range error error accumulated over the measured travel range where NOTE The command is affective only after a home search OR or define home DH is performed on the specified axis If sign takes the place of nn value this command reports the current setting None If a stage has a travel range of 100 mm and it accumulates an error of 0 003 mm over the complete travel range n SON 0 00003 100 1C00 00003 Set linear compensation value for axis 1 to 0 00003 1CO Query linear compensation value for axis 1 0 00003 Controller returns a value of 0 00003 IOR Perform home search on axis 1 1PA10 Move axis 1 to absolute 10 units Section 3 Remote Mode DB set position deadband USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxDBnn or xxDB xx int axis number nn int deadband value XX 0 to MAX AXES nn to 2e9 XX none nn encoder counts XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING This command is used to set the position deadband value for an axis
251. rd into the AC wall outlet Push in the POWER switch on the lower left side of the front panel Shortly after the power is switched on the ESP300 with front panel display will perform a start up sequence as described below e Momentarily display Newport ESP300 and the Firmware Version e Momentarily show the stage type that is connected Since there should be no stages connected at this point the NO STAGE message is displayed for all axes NOTE Any time you call for technical support the firmware version is essential to trouble shoot a problem It is displayed every time the controller power is turned on Users of the blank front panel can query the version with the VE command see Section 3 Remote Mode 1 6 Quick Start 1 6 1 Section 2 Modes of Operation This section serves as a quick start for ESP300 with front panel display only The following paragraphs guide you through a very basic motion sequence that verifies that the system is working properly Connecting Motion Devices NOTE Never connect disconnect stages while the ESP300 is powered on Power the ESP300 off If an ESP motion control system was purchased all necessary hardware for set up is included 1 6 2 1 6 3 With ESP compatible stages the configuration of each axis is identified automatically by the ESP300 at power up ESP compatible stages are visually identified with a blue ESP Compatible sticker on the stage Carefu
252. rdinate system Reversing the ordering of axes viz 1HN2 1 reverses the axis assignment If a group has more than two axes assigned to it and the group was commanded to make an arc refer to HC command the first two axes in the group are used to make the desired move If sign takes the place of nn values this command reports the axes assigned to the group in the order of their assignment HV set vectorial velocity for a group HA set vectorial acceleration for a group HD set vectorial deceleration for a group HO enable a group HF disable a group HC move a group of axes to desired position along an arc HL move a group of axes to desired position along a line 1HN1 2 create a new group 1 with physical axes 1 and 2 1HN query axis assigned to group 1 1 2 controller returns the axes assigned to group 1 1HN2 3 create a new group 1 with physical axes 1 and 2 1HN query axis assigned to group 1 1 2 controller returns the axes assigned to group 1 TB read error message 0 450322 GROUP NUMBER ALREADY ASSIGNED 1HX delete group 1 1HN2 3 create a new group 1 with physical axes 1 and 2 1HN query axis assigned to group 1 2 3 controller returns the axes assigned to group 1 2HN query axis assigned to group 2 TB read error message 0 475322 GROUP NUMBER NOT ASSIGNED 2HN3 4 create a new group 2 with physical axes 3 and 4 2HN query axis assigned to group 2 TB
253. red having to switch the current fast in inductive loads becomes a problem When voltage is applied to a winding the current and thus the torque approaches its normal value exponentially Figure 5 45 5 33 BBE IEE Figure 5 44 Simple Stepper Motor Driver When the pulse rate is flat the current does not have time to reach the desired value before it is turned off and the total torque generated is only a fraction of the nominal one Figure 5 46 How fast the current reaches its nominal value depends on three factor the winding s inductance resistance and the voltage applied to it The inductance cannot be reduced But the voltage can be temporarily increased to bring the current to its desired level faster The most widely used technique is a high voltage chopper Current Figure 5 45 Current Build up in Phase When the pulse rate is fast the current does not have time to reach the desired value before it is turned off and the total torque generated is only a fraction of the nominal one Figure 5 46 How fast the current reaches its nominal value depends on three factors the winding s inductance resistance and the voltage applied to it The inductance cannot be reduced But the voltage can be temporarily increased to bring the current to its desired level faster The most widely used technique is a high voltage chopper Phase ON nominal current Figure 5 46 Effect of a Shor
254. rent Defined Configure Stage Axis Figure F 1 Configuration Logic F 2 Appendix F ESP Configuration Logic Appendix G Programming Non ESP Compatible Stages Newport positioners or stages with integrated configuration memory devices are said to be ESP Compatible It is not necessary to manually enter individual stage parameters E G motor current maximum velocity etc with an ESP compatible stage All necessary configuration settings will be automatically loaded after system reset with ESP compatible positioners When a positioner is said to be ESP incompatible all that really means is that it does not have the integrated memory device that allows for automatic configuration Therefore it will have to be configured manually as is customary with all non ESP controllers There are two 2 basic levels of positioner configuration The first level assumes that the stage is Newport controller compatible That is to say that hardware travel limits encoder feedback counting etc are designed to operate with Newport controllers In this case only a certain amount of commands are necessary to setup the axis before moving the stage The second level is when a stage is not a standard Newport stage and various compatibility issues need to be addressed This scenario requires additional command configurations The following are examples of how to configure an ESP controller axis for a standard Newport stage that is n
255. rm relative position compare trigger pulse every 1 00 units 1 PA 15 0 start absolute position move to location 15 0 1 WS 0 wait for home completion 1 PCO 0 disarm compare trigger output pulse mode QP end program entry mode Section 3 Remote Mode PH get hardware status USAGE SYNTAX PARAMETERS DESCRIPTION Section 3 Remote Mode IMM PGM MIP PH None This command is used to get general hardware status for all axes This routine allows user to observe the various digital input signals as they appear to the controller HARDWARE STATUS REGISTER 1 BIT OMA AANIANADAANAHHPWWNNK KK COO VALUE 0 fmm ED fim SS mem sph eek Stee ee ee Seeks ee SS ee SS ee D ee St Oe OS ee DEFINITION axis 1 thardware travel limit low axis 1 t hardware travel limit high axis 2 thardware travel limit low axis 2 hardware travel limit high axis 3 thardware travel limit low axis 3 t hardware travel limit high axis 4 thardware travel limit low axis 4 hardware travel limit high axis 5 thardware travel limit low axis 5 thardware travel limit high axis 6 thardware travel limit low axis 6 thardware travel limit high reserved reserved reserved reserved axis 1 hardware travel limit low axis 1 hardware travel limit high axis 2 hardware travel limit low axis 2 hardware travel limit high axis 3 hardware travel limit low axis 3 hardware travel limit high axis 4
256. ror KD set derivative gain factor KI set integral gain factor KP set proportional gain factor 3K P0 05 set proportional gain factor of axis 3 to 0 05 3KD0 07 set derivative gain factor of axis 3 to 0 07 3UF update servo loop of axis 3 with the new parameters Section 3 Remote Mode UH USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode wait for DIO bit high IMM PGM MIP XxUH xx int DIO bid number xx 0 to 23 for ESP6000 and ESP7000 controllers 0 to 15 for ESP100 and ESP300 controllers xx none Xx missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE This command causes a program to wait until a selected I O input bit becomes high It is level not edge sensitive This means that at the time of evaluation if the specified I O bit xx is high already the program will continue to execute subsequent commands Note All DIO bits are pulled high on the board Therefore a missing signal will cause the wait to complete and subsequent commands will continue to be executed none UL Wait for DIO bit low 1EP Enter stored program 1 IMO Turn axis 1 motor power ON IMV Move axis 1 indefinitely in positive direction 13UH Wait for DIO bit 13 to go HIGH before executing any subsequent commands 15T Stop axis 1 WT500 Wait for 500 ms IMV Move axis 1 indefini
257. ror Messages Appendix A Error Messages 21 DATA ACQUISITION SETUP ERROR An error occurred during data acquisition setup Ensure that data acquisition is disabled and all parameters are within valid range before issuing the command Refer to the command description for valid range of parameters 22 DATA ACQUISITION NOT ENABLED Data acquisition is not yet enabled 23 SERVO CYCLE TICK FAILURE There was a failure to increment the servo tick in the Interrupt Service Routine ISR that manages motion control 24 Reserved for future use 25 DOWNLOAD IN PROGRESS Firmware download is in progress 26 STORED PROGRAM NOT STARTED An attempt was made to execute a stored program and the program could not be started 27 COMMAND NOT ALLOWED The issued command is not valid in the context in which it was issued 28 STORED PROGRAM FLASH AREA FULL The flash area reserved for stored programs is full 29 GROUP PARAMETER MISSING At least one parameter is missing Refer to the description of issued command for valid number of parameters 30 GROUP PARAMETER OUT OF RANGE The specified group parameters is out of range Refer to the description of issued command for valid range of parameter 31 GROUP MAXIMUM VELOCITY EXCEEDED The specified group velocity exceeds the minimum of the maximum velocities of members of this group Refer to the description of HV command for more details 32 GROUP MAXIMUM ACCELERATION EXCEEDED The specified group ac
258. s a limit on the velocity ripple To illustrate this take the example of a linear stage with a resolution of 0 1 um If the user sets the velocity to 0 5 m sec the stage will move 5 encoder counts on one second But a properly tuned servo loop could move the stage 0 1 um in about 20 ms The position and velocity plots are illustrated in Figure 5 12 average velocity poston velocity p 1s Figure 5 12 Position Velocity and Average Velocity The average velocity is low but the velocity ripple is very high Depending on the application this may be acceptable or not With increasing velocity the ripple decreases and the velocity becomes smoother This example is even more true in the case of a stepper motor driven stage the typical noise comes from a very fast transition from one step position to another The velocity ripple in that case is significantly higher In the case of a DC motor adjusting the PID parameters to get a softer response will reduce the velocity ripple but care must be taken not to negatively affect other desirable motion characteristics 5 11 5 12 5 2 14 5 2 15 Velocity Regulation In some applications for example scanning it is important for the velocity to be very constant In reality there are a number of factors besides the controller that affect the velocity As described in the Minimum Velocity definition the speed plays a significant role in the amount of ripple generated
259. s axis 1 0 units and axis 2 0 units 1HLS50 50 move axis 1 to a target position 50 units move axis 2 to a target position 50 units 1HL query target position of the commanded move 50 50 controller returns axis 1 50 units and axis 2 50 units Section 3 Remote Mode 3 79 HN create new group USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION 3 80 IMM PGM MIP XxHNnn nns nn or xxHN xx int nn int nn int nn int xx nn xx nn z XX missing out of range not assigned already assigned floating point nn out of range already assigned duplicated Missing parameter group number physical axis number to be assigned as first axis in this group physical axis number to be assigned as second axis in this group physical axis number to be assigned as ith axis in this group 1 to MAX GROUPS 1 to MAX AXES none none error 13 GROUP NUMBER MISSING error 14 GROUP NUMBER OUT OF RANGE error 15 GROUP NUMBER NOT ASSIGNED error 16 GROUP NUMBER ALREADY ASSIGNED truncated error 17 GROUP AXIS OUT OF RANGE error 18 GROUP AXIS ALREADY ASSIGNED error 19 GROUP AXIS DUPLICATED error 21 GROUP PARAMETER MISSING This command is used to create a new group A few rules are in place to facilitate easy management of groups e A group has to be created with at least two axes assigned to it before any co
260. s manual 1 4 WARNING Calls attention to a procedure practice or condition which if not correctly performed or adhered to could result in injury or death CAUTION Calls attention to a procedure practice or condition which if not correctly performed or adhered to could result in damage to equipment NOTE Note Calls attention to a procedure practice or condition that is considered important to remember in the context This symbol indicates the principal On Off push push switch is in the ON position when pressed in and in the OFF position when de pressed Protective conductor terminal Caution risk of electric Section 1 Introduction Caution refer to accompanying documents Fuse i Stop of action or operation 1 3 2 Terminology Section 2 Modes of Operation The following is a brief description of the terms specific to motion control and the ESP300 Motion Controller Driver Axis a logical name for a stage positioner motion device Encoder a displacement measuring device term usually used for both linear and rotary models ESP Enhanced System Performance motion system is comprised of compatible stage s ESP is synonymous with a plug and play motion system ESP compatible refers to Newport Corporation stage with its own firmware based configuration parameters Newport stages or other stages without this feature are referred to as being not ESP compatible and mu
261. s or to move as long as it is pressed See SET JOG MODE and SET VELOCITY menu items in Section 2 2 5 Move in Positive Direction with low speed This button can be programmed to cause motion in user definable increments or to move as long as it is pressed See SET JOG MODE and SET VELOCITY menu items in Section 2 2 5 Move with High Speed This button is active only when pushed simultaneously with either move button above See SET VELOCITY menu items in Section 2 2 5 Home Respective Axis See SET HOME MODE and SET VELOCITY menu items in Section 2 2 5 Stop All Motion When this button is pressed all motion is stopped and the red LED above the button is illuminated temporarily This button is equivalent to the Interlock connector on the rear of the unit The LED is also illuminated when the interlock connector on the rear of the unit is activated See ZE command in Section 3 Remote Mode for further information An optional handheld keypad can be connected to the ESP300 through this receptacle Refer to Section 7 Optional Equipment for a detailed description of the keypad Section 2 Modes of Operation 2 2 5 Detailed Description of Menu Items TOP OF MENU Section 2 Modes of Operation Note GET ERRORS This menu item is only displayed if there is an error in the queue RESET POSITION RUN PROGRAMM SET VELOCITIES SET LO JOG VEL SET HIGH JOG VEL SET HOME VEL SET ACCEL DECEL SET ACCELERATION SET DECELERA
262. s used to set the emergency stop e stop configuration fault checking and event handling for axis specified with xx NOTE If bit 0 or both bits 1 and 2 are set to zero 0 then no action will be taken by the controller NOTE The controller always interprets the nn value as a hexadecimal number even when the letter H is not appended to the desired value Since nn is a hexadecimal number it is possible that the most significant character left most character is an alphabet A F depending on the choice of values for various bits In order for the controller to distinguish between an ASCII command and its value it is recommended that the users always add a leading zero 0 to the nn value See table below for clarification Example Command Issued Controller Interpretation 1ZE123H nn 123H 0001 0010 0011 Binary 1ZE123 nn 123H 0001 0010 0011 Binary 1ZEOF25H nn F25H 1111 0010 0101 Binary 1ZEF25H Invalid command Section 3 Remote Mode RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode NADURRA YN FS ont BIT VALUE DEFINITION a Oo C OH OH oS oa HS oS eS OS disable E stop checking enable E stop checking do not disable motor power on E stop event disable motor power on E stop event do not abort motion on E stop event abort motion on E stop event reserved reserved reserved reserved reserved reserved reserved reserved reserved reserv
263. see Figure 7 1 STOP ALL When this button is activated all motion is aborted All axes are affected The function of STOP ALL on the keypad is equivalent to STOP ALL on the ESP300 front panel MACRO Activating either MACRO button results in execution of a previously stored program See EP command in Section 3 Remote Mode for details on creating programs SHIFT t Pressing this key in connection with a double function key selects the upper symbol e g F this symbol is selected ENTER When this key is pressed all previously typed characters are sent to the ESP300 SPACE BKSP Pressing this key deletes a preceding character Pressing it in connection with the SHIFT key inserts a space in a given line Activating the Keypad Plug one end of the cable that was supplied with the keypad into the receptacle on the bottom side of the keypad and the other end into the receptacle on the lower right corner of the ESP300 front panel The ESP300 will detect the presence of the keypad No user settings are required Now the keypad is ready for use An easy way to verify proper operation of the keypad is by sending the VE command type VE and hit ENTER The ESP300 should respond with the current version Section 7 Optional Equipment Appendix A Error Messages The ESP300 controller has an elaborate command interpreter and system monitor Every command is analyzed for syntax and correct format after it is recei
264. seesseeseesessseessesressessessrssesse 104 move indefinitely nsrsnnroe ren aa a a a a neg ede anes 105 move to nearest INCOR Moi ea oiei n raTa bnaE IAEE ARTERS 107 set home search highspeed ances ote 108 set home search low Speed xiii cts scatoiesscevakayenedetsxsacgnacsvonseastedorecacteneeels 109 set home s reh mode r sitoaien i ai a A 110 AKALI FOr MONIC AREA PAAT SA 111 move to absolute position 2 sil cosas casescistosasesvandes se csaeeeraswnwosstelutecsses 113 set position compare MOS x i 2 se2esa5esbahdverss AieeadlaeeabidaaweteytardRaventeg tis 114 get Nard Ware StAtUs 2 icctssdecansaaeleriueetectasmnteated enue deajuoededte hem tartans 117 move to relative POSITION ost cccsnzdeatendaanssaansenmsteusnndeshiicseaadueunceaccanaeeeatns 120 Update motor driver Settings 12 5 uncitso sicasevasearieancelsle neg emertuangennelss 121 set gear constantas nnne vs dans a daa dacves tag eaa en venue Ooduaend Aas Sane 122 set maximum Motor CUTTENt yoscses cceeasssy sas caekegaaccen si dears ccouectarsecteteeginnw ease 123 SE MOTOT Ly Pexisessvtsen ei eek eee 124 UAE PRO Sram Modeni betel esata REEE E Deca uses 125 PEACE MIO LOT TORQUE neanke inoin oayoendeadsancviateduet AERE 126 Preface Preface Qs QT QV RS SB SI SK SL SM SN SR SS ST SU TB TE TJ TP TS TV TX UF UH UL VA VB VE VF WP WS WT XM ZA ZB ZE ZF ZH ZS ZU ZZ SEL microstep facto ssis ini i testis uate cctncaete atte tates icy 127 Set t
265. sesess 40 BQ enable DIO bits for jog mode nssssesseseesseesseesrssresseesresessseeseesesssessesess 41 BR set serial communication speed ssesssesesseeseesessseesreseessesseserssressessessees 42 CL set closed loop update miterval iscsysicssccssthedae san Hn eased 43 CO set linear compensation s ssssessseeseesresseesresrtsstesresetsstessesressressessrssressesst 44 DB set positiondeadband r ricson cans eieae a a e a i iis 45 DC setup data ACG UES iO cise sco ae lait oat os Se cee Sad deat oa aunt ad Sic 46 DD get data acquisition done Statusiis ccccsctescescs cgasesaessdsceasseaune oovssnensasedueree shies 50 DE enable disable data acquisition ia ss20hsleptaissncuarsiaccsbanssesdseuiacegdatganaioariiesbiaeea 51 DF get data acquisition sample count ccceccceeseesseceteceeeeeeseeeaecneeneeeenaees 52 DG get acquisition data sseseessesseeeeeseessessesresseestsrssstesesrrssressesressressessessees 53 DH denne homes oetans a EE A 54 DL defitie LAGE ss Senra nn eaaa i aaa aa E neo 55 DO set dac ofe a a r a e fads canada Saas bat gues even dae EETA 56 DP tead desired position eteinen niesi E eee ERR 57 DV t ad desired yelocit inninecsnnei iniaa eaneeteaades 58 EO automatic execution on power on ssessessesseesseesessresseeseessressessessressesseesees 59 EP enter program Mode so our se iior i E a a E 60 ES define event action command String cccccceceseceseceeeeeeseeeeeceeeeeeeenaees 61
266. solute position compare feature 2 arm relative position compare feature nn2 any position within the travel limits xx none nni none nn2 defined motion units XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nni missing error 38 COMMAND PARAMETER MISSING out ofrange error xxl PARAMETER OUT OF RANGE nn2 missing error 38 COMMAND PARAMETER MISSING out ofrange error xx1 PARAMETER OUT OF RANGE This command is used to configure the position compare mode In this mode the controller is configured to output a TTL signal at precise position crossing s And because this feature is implemented in hardware and not with CPU polling the timing latency is negligible and can operate precisely even while the stage positioner is moving at top speed This feature can be used to accurately trigger an external device e g data acquisition board as a function of stage position regardless of travel speed If parameter nn1 equals 0 then the position compare feature is in disarmed mode and no comparison will take place If nn1 equals 1 then absolute position compare mode is armed During this mode the controller will output a TTL trigger signal whenever the stage feedback encoder crosses that absolute position define by nn2 If nn1 equals 2 then relative position compare mode is armed During this mode the controller will output a TTL trigger signal whenever the stage fe
267. solution setting of axis 2 0 0001 controller returns a value of 0 0001 units for axis 2 2FR0 0005 set encoder full step resolution to 0 0005 units for axis 2 SM save all controller settings to non volatile memory 3 66 Section 3 Remote Mode GR set master slave reduction ratio USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxGRnn or xxGR xx int axis number nn float reduction ratio xx 1 to MAX AXES nn 1 000 000 xx none nn none XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command sets the master slave reduction ratio for a slave axis The trajectory of the slave is the desired trajectory or actual position of the master scaled by reduction ratio Refer to the TJ command to specify the desired trajectory mode for a slave axis Note Use this command very carefully The slave axis will have its speed and acceleration in the same ratio as the position Also ensure that the ratio used for the slave axis does not cause overflow of this axis parameters speed acceleration especially with ratios greater than 1 If sign is issued along with command the controller returns master slave reduction ratio SS defin
268. st be uniquely configured by the user Home position the unique point in space that can be accurately found by an axis also called origin Jog a motion of undetermined length initiated manually Motion device electro mechanical equipment Used interchangeably with stage and positioner Move a motion to a destination Origin used interchangeably with home PID a closed loop algorithm using proportional integral and derivative gain factors for position control Positioner used interchangeably with stage and motion device Stage used interchangeably with motion device and positioner 1 5 1 4 System Overview 1 6 1 4 1 The Enhanced System Performance ESP architecture consists of the ESP300 Controller Driver and ESP compatible stages The ESP300 is an advanced stand alone controller with integrated motor drivers It can control and drive up to 3 axes of motion in any stepper and DC motor configuration The ESP plug and play concept significantly increases user friendliness and improves overall motion performance The ESP300 is used as a stand alone controller to drive an ESP motion device All components are designed for optimal performance XO Newport Universal Motion Controller Driver tode S2300 no e na pm lle SAL ATS S amp S or ZEEE ENa Ge e CEE Be Oe VU m Ce Ce Ga aa A paer ca E Figure 1 1 ESP300 Controller Driver Features A nu
269. t derivative gain factor Kd xx 1 to MAX AXES nn 0 to 2e9 or to read current setting xx none nn none xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command sets the derivative gain factor Kd of the PID closed loop It is active for any DC servo based motion device that has been selected to operate in closed loop The command can be sent at any time but it has no effect until the UF update filter is received See the Servo Tuning chapter on how to adjust the PID filter parameters If the sign takes the place of nn value this command reports the current setting kI KP a KS UF 3KD0 01 3UF set integral gain factor set proportional gain factor set saturation gain factor update filter set derivative gain factor for axis 3 to 0 01 update PID filter only now the KD command takes effect Section 3 Remote Mode KI set integral gain USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxKInn or xxKI xx int nn float xx nn xx nn F xx missing out of range nn missing out of range axis number integral gain factor Ki 1 to MAX AXES 0 to 2e9 or to read current setting n
270. t Refer to the description of SR command to specify the desired positive software travel limit Also refer to thew description of ZS command to configure the motion controller tasks upon encountering a software limit x07 NEGATIVE SOFTWARE LIMIT DETECTED The motion controller sensed that the axis has reached negative software travel limit Refer to the description of SL command to specify the desired negative software travel limit Also refer to the description of ZS command to configure the motion controller tasks upon encountering a software limit x08 MOTOR STAGE NOT CONNECTED The specified axis is not connected to the driver x09 FEEDBACK SIGNAL FAULT DETECTED There was a feedback signal fault condition Ensure that the encoder feedback is relatively noise free x10 MAXIMUM VELOCITY EXCEEDED The specified axis velocity exceeds maximum velocity allowed for the axis Refer to the description of VU command or set maximum velocity for the axis x11 MAXIMUM ACCELERATION EXCEEDED The specified axis acceleration exceeds maximum acceleration allowed for the axis Refer to the description of AU command to query or set maximum acceleration or deceleration for the axis x12 Reserved for future use x13 MOTOR NOT ENABLED A command was issued to move an axis that was not powered ON Refer to the description of MO and MF commands to turn the power to an axis ON or OFF respectively x14 Reserved for future use x15 MAXIMUM JERK EXCE
271. t ON Time on Current Section 5 Motion Control Tutorial 5 7 2 Section 5 Motion Control Tutorial If for instance a stepper motor requiring only 3V to reach the nominal current is connected momentarily to 30V it will reach the same current on only 1 10 of the time Figure 5 47 nominal current Phase ON Figure 5 47 Motor Pulse with High Voltage Chopper Once the desired current value is reached a chopper circuit activates to keep the current close to the nominal value Unipolar Bipolar Drivers In the examples described in Section 5 7 1 Stepper Motor Drivers each phase has its own commutator transistor to control the current that flows through it Having one end permanently connected to the power source the current will flow through each phase always in the same direction For this reason these types of drivers are called Unipolar On the other hand Figure 5 48 shows a Bipolar Driver built in a dual H bridge configuration The name H Bridge comes from the topology of the transistors controlling one load coil In this case by turning on diagonally transistors 1 4 or 2 3 the current could be made to flow either way through the coil This means that the driver can control not just the intensity of the magnetic field generated by the stator but also its polarity Implicitly the only stepper motors that can be used with such a driver are the ones with polarized rotors the Permanent Magnet and the
272. t determine which device on the bus generated the service request This is usually achieved with a function called Serial Poll The exact syntax for the serial poll command depends on the IEEE 488 controller Using that interrupt service routine a serial poll command can be issued to each device The device polled at each instance will respond with a status byte Bit 6 of the status byte indicates whether a specific device i e ESP controller generated the service request or not Bits 0 through 5 are under user control and are set with the RQ command For example command RQ5 sets bits 0 and 2 This is useful in helping the application program determine which RQ in a program with multiple RQs generated the SRQ EE Software Utilities 3 6 In order to communicate with the controller the user must have a terminal or a computer capable of communicating through RS 232C or IEEE488 One approach is to use a computer with communications software that can emulate a terminal Windows 95 provides an RS232 terminal emulation program named Hyper Terminal HyperTrm Exe located in Accessories HyperTrm allows the user to send ASCII commands to the motion controller The user can even download text files with stored programs Additionally it can be used to download controller firmware for future upgrades For IEEE488 communications National Instruments Inc provides a program named IBIC with their products that allow the user to send and receiv
273. t following error configuration set hardware limit configuration set software limit configuration set general system configuration Section 3 Remote Mode EXAMPLE Section 3 Remote Mode 2ZA read amplifier I O configuration of axis 2 123H controller returns a value of 123H for axis 2 123H 0001 0010 0011 Binary Bits 0 1 5 8 1 All other bits 0 2ZA 125H set amplifier I O configuration to 125H for axis 2 125H 0001 0010 0101 Binary Bits 0 2 5 8 1 All other bits 0 SM save all controller settings to non volatile memory Please refer the table above to interpret the affect of these bit values 3 169 ZB set feedback configuration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION 3 170 IMM PGM MIP xxZBnn or xxZB xx int nn int XX nn XX nn xx missing out of range nn missing out of range critical setting during motion axis number feedback configuration 1 to MAX AXES 0 to OFFFFH hexadecimal with leading zero 0 or to read current setting none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE error xx17 ESP CRITICAL SETTINGS ARE PROTECTED error xx26 PARAMETER CHANGE NOT ALLOWED DURING MOTION This command is used to set the feedback configuration fault checking and event handling as
274. tatus 3 101 MF Motor power off 3 102 MO Motor power on 3 103 MT Move to hardware travel limit 3 104 MV Move indefinitely 3 105 MZ Move to nearest index 3 107 OH Set home search high speed 3 108 OL Set home search low speed 3 109 OM Set home search mode 3 110 3 16 Section 3 Remote Mode TABLE 3 5 2 Command List Alphabetical Continued Ina PDF format you may click on a page number to automatically be connected to the corresponding Command Page Cmd Description IMM PGM MIP Page OR Search for home 3 111 PA Move to absolute position 3 113 PC Set position compare mode 3 114 PH Get hardware status 3 117 PR Move to relative position 3 120 QD Update motor driver settings 3 121 QG Set gear constant 3 122 QI Set maximum motor current 3 123 QM Set motor type 3 124 QP Quit program mode 3 125 QR Reduce motor torque 3 126 QS Set microstep factor 3 127 QT Set tachometer gain 3 128 QV Set average motor voltage 3 129 RA Read analog input 3 130 RQ Generate service request 3 131 RS Reset the controller 3 132 SA Set device address 3 134 SB Set get DIO port A B
275. te a new group 1 with physical axes I and 2 1HE100 set vectorial e stop deceleration of group 1 to 100 units second 1HE query vectorial e stop deceleration of group 1 100 controller returns a value of 100 units second 3 75 HF group off IMM PGM MIP USAGE SYNTAX xxHF or xxHF PARAMETERS Description xx int group number Range XX 1 to MAX GROUPS Units XX none Defaults XX missing error 13 GROUP NUMBER MISSING out of range error 14 GROUP NUMBER OUT OF RANGE not assigned error 15 GROUP NUMBER NOT ASSIGNED floating point truncated DESCRIPTION This command turns power OFF of all axes assigned to a group Refer MF command to turn the power OFF of individual axes The group power is assumed to be OFF if power to any one of the axes in the group is OFF RETURNS If sign is issued along with command the controller returns REL COMMANDS EXAMPLE 3 76 1 2 0 3 HN HO 1HN1 2 1HO 1HF 1HF 1HF group power is ON group power is OFF create a new group turn group power ON create a new group 1 with physical axes I and 2 turn group 1 power ON query group 1 power status controller returns a value of 1 turn group 1 power OFF query group 1 power status controller returns a value of 0 Section 3 Remote Mode HJ set group jerk USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE
276. tected axis 2 ESP compatible motorized positioner not detected axis 2 ESP compatible motorized positioner detected OODOWMWAAIANADAMANAHPHPWWNNK KY OC OL Pe OorOr Or OF Or Or Or OF Or Or OF Or Or OF OF oO 10 axis 3 ESP compatible motorized positioner not detected 10 axis 3 ESP compatible motorized positioner detected 11 axis 4 ESP compatible motorized positioner not detected 11 axis 4 ESP compatible motorized positioner detected 12 axis 5 ESP compatible motorized positioner not detected 12 axis 5 ESP compatible motorized positioner detected 13 axis 6 ESP compatible motorized positioner not detected 13 axis 6 ESP compatible motorized positioner detected 14 reserved 14 reserved 15 reserved 15 reserved eee 31 0 reserved 31 1 reserved Section 3 Remote Mode Section 3 Remote Mode 3 181 RETURNS This command reports the current setting in hexadecimal notation REL COMMANDS ZA set amplifier I O configuration ZB set feedback configuration ZE set e stop configuration ZF set following error configuration ZH set hardware limit configuration ZS set software limit configuration ZZ set system configuration EXAMPLE ZU read ESP system configuration 150015H controller returns a value of 150015H 3 182 Section 3 Remote Mode LL set system configuration USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION Section 3 Remote Mode IMM PGM MIP
277. tely in negative direction QP Quit program mode 3 155 UL wait for DIO bit low IMM PGM MIP USAGE SYNTAX XxUL PARAMETERS Description xx int DIO bid number Range xx 0 to 23 for ESP6000 and ESP7000 controllers 0 to 15 for ESP100 and ESP300 controllers Units XX none Defaults XX missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE DESCRIPTION This command causes a program to wait until a selected I O input bit becomes low It is level not edge sensitive This means that at the time of evaluation if the specified I O bit xx is low already the program will continue to execute subsequent commands RETURNS none REL COMMANDS UL Wait for DIO bit low EXAMPLE 1EP Enter stored program 1 1MO Turn axis 1 motor power ON IMV Move axis 1 indefinitely in positive direction 13UL Wait for DIO bit 13 to go LOW before executing any subsequent commands fas Stop axis 1 WT500 Wait for 500 ms IMV Move axis 1 indefinitely in negative direction QP Quit program mode 3 156 Section 3 Remote Mode VA set velocity USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxVAnn or xxVA xx int axis number nn float velocity value XX 1 to MAX AXES nn 0 to maximum value allowed by VU command or to read current setting xx non
278. ter interface FRONT PANEL DISPLAY A general view of the front panel is shown in Figure 1 2 There are two distinct areas a display menu section and a motion home section that allows simple manual motion sequence like JOG and HOMING X Y buttons Home Buttons Stop All Axis QO Newport Universal Motion Controller Driver Display Menu Keypad Power Window Button Jog Buttons Connector Figure 1 2 ESP300 Front Panel with Displays Section 1 Introduction 1 4 4 Section 2 Modes of Operation BLANK FRONT PANEL This version does not provide a display or local operation Power Section The black push button type switch on the lower left corner is used to turn power On or Off The on state is indicated with a green LED above the push button Rear Panel Description NOTE See Appendix C for pin outs AXIS CONNECTORS AXIS 1 AXIS 3 There are up to three 25 pin D Sub connectors on the rear panel one for each axis Unused axes have blank panels GPIO CONNECTOR This is a 37 pin D Sub connector used for general purpose digital Input Output signals A variety of commands are available to control these ports See Section 3 Remote Mode and Appendix C for Connector Pin Outs RS232 C GPIO Serial No Label Axis 3 Axis 2 Axis 1 Power Entry Motor Module Interlock Axis Connectors Connector IEEE 488 optional Figure 1 3 Rear Panel of the ESP300 1 9 MOTOR INTERLOCK
279. that has been selected to operate in closed loop The command can be sent at any time but it has no effect until the UF update filter is received See the Servo Tuning chapter on how to adjust the PID filter parameters If the sign takes the place of nn value this command reports the current setting kI KP KD UF 3KS0 01 3UF set integral gain factor set proportional gain factor set derivative gain factor update filter set saturation level for axis 3 to 0 01 update PID filter only now the KS command takes effect 3 99 LP list program USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 100 IMM PGM MIP xxLP xx int rogram number xx 1 to 100 xx none xx missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE This command reads a specified program from non volatile memory and sends it to the selected communication port RS232 or IEEE488 During the transmission no other command should be sent to the controller Note The program list always terminates with the word END program listing EP enter program mode 3LP list program number 3 3MO enable axis 3 motor power IDL define return label 1 3PR 10 move axis 3 relative 10 units 3WS500 wait 500ms after axis 3 stops 3PR 10 move axis 3 relative 10 units 3WS500 wait 500ms after axis 3 stops IJ
280. the nn value as a hexadecimal number even when the letter H is not appended to the desired value Since nn is a hexadecimal number it is possible that the most significant character left most character is an alphabet A F depending on the choice of values for various bits In order for the controller to distinguish between an ASCII command and its value it is recommended that the users always add a leading zero 0 to the nn value See table below for clarification Example Command Issued Controller Interpretation 1ZS123H nn 123H 0001 0010 0011 Binary 1ZS123 nn 123H 0001 0010 0011 Binary 1ZSOF25H nn F25H 1111 0010 0101 Binary 1ZSF25H Invalid command Section 3 Remote Mode 0 0 i Ne NAYNDDWMNN A HA W W 31 31 BIT VALUE oe oe Se onm O DEFINITION disable software travel limit error checking enable software travel limit error checking do not disable motor on software travel limit event disable motor on software travel limit event do not abort motion on software travel limit event abort motion on software travel limit event reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved eco reserved reserved default setting RETURNS If the sign takes the place of nn value this command reports the current setting in hexadecimal notation REL COMMANDS ZA ZE ZF ZB ZH ZZ
281. the selected axis xx will move with the predefined acceleration and velocity to the absolute position specified by nn If the requested axis is member of a group this command does not initiate the desired motion Instead error xx31 COMMAND NOT ALLOWED DUE TO GROUP ASSIGNMENT is generated Refer HL and HC commands to move along a line or an arc If this command is issued when trajectory mode for this axis is not in trapezoidal or s curve mode the controller returns error xx32 INVALID TRAJECTORY MODE FOR MOVING Note Even though the command is accepted while a motion is in progress care should be taken not to reverse direction of motion When this command is received the controller verifies if it will produce a change of direction If the sign takes the place of nn value this command reports the current actual the same as TP AC set acceleration PR move to relative position ST stop motion MD move done status VA set velocity 3VA8 set velocity of axis 2 to 8 units s 3PA12 34 move axis 2 to absolute position 12 34 3 113 PC set position compare mode USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION 3 114 IMM PGM MIP xxPCnn nn xx int axis number nni int compare modes nn2 float compare absolute position or relative displacement XX 1to2 nni 0 to 2 where 0 disarm position compare feature 1 arm ab
282. tion If the sign takes the place of nn value this command reports the current setting JK set s curve jerk rate GR set master slave gear ratio 1TJ report current trajectory mode setting on axis 1 1 controller returns trajectory mode I trapezoidal for axis 1 1TJ2 set trajectory mode on axis 1 to 2 s curve 3 149 TP read actual position USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 150 IMM PGM MIP xxTP xx int axis number xx 1 to MAX AXES xx none xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE This command is used to read the actual position It returns the instantaneous real position of the specified axis nn PA PR DP 3TP 5 322 where nn actual position in pre defined units move to an absolute position move to a relative position read instantaneous desired position read real position on axis 3 controller returns real position 5 322 for axis 3 Section 3 Remote Mode TS read controller status USAGE SYNTAX PARAMETERS DESCRIPTION IMM PGM MIP TS None This command is used to read the controller status byte The byte returned is in the form of an ASCII character The value of each bit in the status byte can be deduced after converting the ASCII character into a binary value Each bit of the stat
283. tion Range Units Default DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxDL xx int label number xx 1 to 100 xx none xx missing error 38 COMMAND PARAMETER MISSING out of range error xx2 PARAMETER OUT OF RANGE This command defines a label inside a program In combination with JL jump to label command they offer significant program flow control The operation of the DL JL command pair is similar to commands in other computer languages that allow conditional jumps or GOTO s to predefined labels in a program Note This command does not generate an error when not used inside a program Since it can not do any harm it is only ignored none JL jump to label 3XX clear program 3 from memory if any 3EP create program 3 IDL define label 1 1JL 5 jump to label I five 5 times QP end entering program and quit programming mode 3EX run stored program number 3 3 55 DO set dac offset USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 1D00 05 3 56 IMM PGM MIP xxDOnn or xxDO xx int DAC channel number nn float DAC offset value xx 1 to MAX AXES nn 10 0 to 10 0 or to read the current setting XX None nn Volts Xx missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nn missing error 38 COMMAND PARA
284. tion The ESP300 moves at high speed up to the home switch transition segment A and then executes B C D and E All home search routines are run so that the last segment E is performed in the position direction of travel CAUTION The home search routine is very important for the positioning accuracy of the entire system and it requires full attention from the controller Do not interrupt or send other commands during its execution unless it is for emergency purposes Ea Encoder 5 22 PID closed loop motion control requires a position sensor The most widely used technology by far are incremental encoders The main characteristic of an incremental encoder is that it has a 2 bit gray code output more commonly known as quadrature output Figure 5 26 Section 5 Motion Control Tutorial Figure 5 26 Encoder Quadrature Output The output has two signals commonly known as channel A and channel B Some encoders have analog outputs sine cosine signals but the digital type are more widely used Both channels have a 50 duty cycle and are out of phase by 90 Using both phases and an appropriate decoder a motion controller can identify four different areas within one encoder cycle This type of decoding is called X4 or quadrature decoding meaning that the encoder resolution is multiplied by 4 For example and encoder with 10 um phase period can offer a 2 5 um resolution when used with a X4 type decoder
285. tion mode Param 3 Acquire analog channels 1 amp 2 319 11 2 Param 4 Acquire feedback channels I amp 3 519 101 2 Param 5 No consequence for this data acquisition mode Param 6 Acquire one sample of data Turn OFF motor 1 when the external event trigger occurs Enable analog data acquisition Query data acquisition done status 0 false Disable trace variable data acquisition Get data collected Section 3 Remote Mode EX execute a program USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIPO xxEXnn xx int program number nn int number of times to execute the program xx 1 to 100 nn 1 to 2147385345 XX none nn none xx missing error 38 COMMAND PARAMETER MISSING out of range error 7 PARAMETER OUT OF RANGE nn missing 1 assumed out of range error 7 PARAMETER OUT OF RANGE This command is used to start executing a program When the command is received the controller executes the program line by line or according to the flow control instructions During program execution only commands that ask for information and that stop the motion are still allowed Any of the following commands will terminate a program in one way or another AB AP MF RS and ST Most natural way to just stop a program execution is by using the AP command the other ones having a more drastic effe
286. tle as possible Points To Remember e Use the Windows based ESP_tune exe utility to change PID parameters and to visualize the effect Compare the results and parameters used with the previous iteration e The ESP300 controller uses a servo loop based on the PID with velocity and acceleration feed forward algorithm e Use the lowest acceleration the application can tolerate Lower acceleration generates less overshoot e Use the default values provided with the system for all standard motion devices as a starting point e Use the minimum value for Ki and IL that gives acceptable performance The integral gain factor can cause overshoot and oscillations A summary of servo parameter functions is listed in Table 6 2 1 Section 6 Servo Tuning Section 6 Servo Tuning Parameter Function Value Set Too Low Value Set Too High Kp Determines Servo loop too soft Servo loop too tight stiffness of servo with high following and or causing loop errors oscillation Kd Main damping Uncompensated Higher frequency factor used to oscillation caused oscillation and or eliminate by other parameters audible noise in the oscillation being high motor caused by large ripple in the motor voltage Ki Reduces following Stage does not reach Oscillations at lower error during long or stay at the desired frequency and higher motions and at stop stop position amplitude Vff Reduces following Negative following
287. to the specific case This method not only offers a more accurate value but also gives a better understanding of the motion control system performance and helps pinpoint problems Also due to integrated nature of the ESP300 system many basic errors can be significantly corrected by another component of the loop Backlash Accuracy and Velocity Regulation are just a few examples where the controller can improve motion device performance 5 3 Control Loops When talking about motion control systems one of the most important questions is the type of servo loop implemented The first major distinction is between open and closed loops Of course this is of particular interest when driving stepper motors As far as the DC servo loops the PID type is by far the most widely used The ESP300 implements a PID servo loop with velocity and acceleration feed forward The basic diagram of a servo loop is shown in Figure 5 13 Besides the command interpreter the main two parts of a motion controller are the trajectory generator and the servo controller The first generates the desired trajectory and the second one controls the motor to follow it as closely as possible Section 5 Motion Control Tutorial 5 13 5 14 r 4 i Command Trajectory Servo a Interpreter P Generator gt Controller gt gt l l l Motion Controller A a gt aa mand T Encoder Figure 5 13 Servo Loop 5 3
288. ts load For instance if traveling full range a stage could push its load into an obstacle To prevent this the user can reduce the allowed travel by changing the software travel limit Since a motion device must be allowed to find its home position the home switch and or sensor must be inside the travel limits This means that both positive and negative travel limits cannot be set on the same side of the home position A more obvious restriction is that the negative limit cannot be greater than the positive limit If any of these restrictions is not respected the controller will return PARAMETER OUT OF RANGE Note If the command is issued for an axis in motion the new limit should not be set inside the current travel Note Be careful when using this command The controller does not know the real hardware limits of the motion device Always set the software limits inside the hardware limits limit switches In normal operation a motion device should never hit a limit switch If the sign takes the place of nn value this command reports the current setting OR search for home SL set left software limit 1SR41 4 set positive travel limit of axis 1 to 41 4 units 3 143 SS define master slave relationship USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 144 IMM PGM MIP xxSSnn or xxSS xx int axis number to be defined
289. ts the current status BK Assign DIO bits to inhibit motion BO Set DIO port A B C direction BM Assign DIO bits to notify motion status BN Enable DIO bits to notify motion status BO 04H Set DIO ports A and B to input and port C to output 2BK 1 1 Use DIO bit 1 to inhibit motion of axis 2 This DIO bit should be HIGH when axis 2 motion is inhibited 2BL 1 Enable inhibition of motion using DIO bits for axis 2 2BK Query the DIO bit assignment for axis 2 1 1 The controller responds with the assigned values 2BL Query the status of inhibiting motion for axis 2 through DIO 1 The controller responds with I indicating feature is enabled 3 35 BM assign DIO bits to notify motion status USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 36 IMM PGM MIP xxBMnn1 nn2 or xxBM xx int axis number nni int bit number for notifying motion status nn2 int bit level when axis is not moving XX 1 to MAX AXES nni 0 to 23 nn2 0 LOW and 1 HIGH or to read current setting None XX missing error 37 AXIS NUMBER MISSING out of range error 9 AXIS NUMBER OUT OF RANGE nni missing error 38 COMMAND PARAMETER MISSING out ofrange error xxl PARAMETER OUT OF RANGE nn2 missing error 38 COMMAND PARAMETER MISSING out ofrange error xx1 PARAMETER OUT OF RANGE This command is used to assign DIO bits for noti
290. turned OFF Note Using the ZF command each axis can be individually configured to either turn motor power OFF abort motion using e stop deceleration or ignore the error RETURNS Ifthe sign takes the place of nn value this command reports the current setting REL COMMANDS ZF set following error event configuration EXAMPLE 3FE read maximum following error for axis 3 0 5 controller returns for axis 3 following error of 0 5 unit 3FE 1 0 set maximum following error for axis 3 to 1 unit 3 64 Section 3 Remote Mode FP set position display resolution USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE Section 3 Remote Mode IMM PGM MIP xxFPnn or xxFP xx int nn int xx nn xx nn XX missing out of range nn missing out of range axis number display resolution 1 to MAX AXES 0to7 or to read present setting none none error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE This command is used to set the display resolution of position information For instance if nn 4 the display will show values as low as 0 0001 units If nn 7 the display will show values in exponential form If the user units refer SN command are in encoder counts or stepper increments the position information is displayed
291. turns of samples collected DD data acquisition done status DC10 1 1 1 0 1000 Acquire trace variable data for axis 1 in scaled integer format Collect 1000 samples one sample servo cycle DEI Enable trace variable data acquisition DD Query data acquisition done status 1 true 0 false If true DEO Disable trace variable data acquisition DG Get data collected 3 53 DH define home USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS REL COMMANDS EXAMPLE 3 54 IMM PGM xxDHnn xx int nn float xx nn 7 xx nn z xx missing out of range nn missing out of range MIP axis number position value 1 to MAX AXES 0 to 2e 9 none predefined units error 37 AXIS NUMBER MISSING error 9 AXIS NUMBER OUT OF RANGE error 38 COMMAND PARAMETER MISSING error xx2 PARAMETER OUT OF RANGE This command is used to define current position HOME position This means that the current position will be preset to the value defined by parameter nn If the sign takes the place of nn value this command reports the current setting OR 30R1 3DH 3DH 20 0 execute a home search cycle perform a home search on axis 3 define current position on axis 3 HOME as 0 units define current position on axis 3 HOME as 20 0 units Section 3 Remote Mode D L define label USAGE SYNTAX PARAMETERS Descrip
292. type of driver is used mostly in low cost applications where following error is not a great concern The controller does all the work in trying to minimize the following error but load variations make this task very difficult The second type of DC motor driver is the current driver also called a torque driver Figure 5 50 In this case the control signal voltage defines the motor current The driver constantly measures the motor current and always keeps it proportional to the input voltage This type of driver is usually preferred over the previous one in digital control loops offering a stiffer response and thus reduces the dynamic following error control signal 10V Figure 5 50 DC Motor Current Driver But when the highest possible performance is required the best choice is always the velocity feedback driver This type of driver requires a tachometer an expensive and sometimes difficult to add device Figure 5 51 control signal 10V V velocity Figure 5 51 DC Motor Velocity Feedback Driver Section 5 Motion Control Tutorial 5 37 The tachometer connected to the motor s rotor outputs a voltage directly proportional with the motor velocity The circuit compares this voltage with the control signal and drives the motor so that the two are always equal This creates a second closed loop a velocity loop Motions performed with such a driver are very smooth at high and low speeds and has a similar dyn
293. urements are made using a number of high precision interferometers most of them connected to a computerized test station e To avoid unnecessary confusion and to more easily understand and troubleshoot a problem special attention must be paid to avoid bundling discrete errors in one general term Depending on the application some discrete errors are not significant Grouping them in one general parameter will only complicate the understanding of the system performance in certain applications 5 2 1 Following Error The Following Error is not a specifications parameter but because it is at the heart of the servo algorithm calculations and of other parameter definitions it deserves our attention As will be described later in Section 5 3 Control Loops a major part of the servo controller s task is to make sure that the actual motion device follows as close as possible an ideal trajectory in time The user can imagine having an imaginary ideal motion device that executes exactly the motion profile they are requesting In reality the real motion device will find itself deviating from this ideal trajectory Since most of the time the real motion device is trailing the ideal one the instantaneous error is called Following Error To summarize the Following Error is the instantaneous difference between the actual position as reported by the position feedback device and the ideal position as seen by the controller A negative following erro
294. us byte represents a particular controller parameter as described in the following table Note Please refer to the Appendix for a complete ASCII to binary conversion table INTERPRETATION OF LEFT MOST ASCII CHARACTER 3 Meaning for sind ei Bit LOW Bit HIGH 0 Axis 1 motor state Stationary In motion 1 Axis 2 motor state Stationary In motion 2 Axis 3 motor state Stationary In motion 3 Axis 4 motor state Stationary In motion 4 Motor power of at least one axis OFF ON 5 Reserved Default 6 Reserved Default 7 Reserved Default INTERPRETATION OF RIGHT MOST ASCII CHARACTER Note This ASCII character is returned only if the motion controller supports more than four 4 axes Meaning for Bit Functi ne gug Bit LOW Bit HIGH 0 Axis 5 motor state Stationary In motion 1 Axis 6 motor state Stationary In motion 2 Reserved Default 3 Reserved Default 4 Motor power of at least one axis OFF ON 5 Reserved Default 6 Reserved Default 7 Reserved Default RETURNS ASCII character representing the status byte REL COMMANDS TX read controller activity EXAMPLE TS read controller status P controller returns characters and P indicating axes 1 2 and 4 are Section 3 Remote Mode in motion and motor power of at least one axis is ON 3 151 TV read actual velocity USAGE SYNTAX PARAMETERS Descripti
295. used for position tracking Encoder A Input The A input is pulled up to 5V and pulled down to ground with 1KQ resistors This facilitates both single and double ended signal handling into a 26LS32 differential receiver The A encoder encoded signal originates from the stage position feedback circuitry and is used for position tracking Encoder B Input The B input is pulled up to 5V with a IKO resistor The signal is buffered with a 26LS32 differential receiver The B encoder encoded signal originates from the stage position feedback circuitry and is used for position tracking Encoder B Input The B input is pulled up to 5V and pulled down to ground with 1KQ resistors This facilitates both single and double ended signal handling into a 26LS32 differential receiver The B encoder encoded signal originates from the stage position feedback circuitry and is used for position tracking Encoder Ground Ground reference for encoder feedback Appendix C Connector Pin Assignments Home Input This input is pulled up to 5V with a 1KQ resistor by the controller The Home signal originates from the stage and is used for homing the stage to a repeatable location Index Input The Index input is pulled up to 5V with a 1KQ resistor by the controller and is buffered with a 26LS32 differential receiver The Index signal originates from the stage and is used for homing the stage to a repeatable
296. ve the current RS232 configuration settings SAVE PARAMETERS This menu allows the users to save all current settings velocity acceleration etc to the ESP300 non volatile memory Section 2 Modes of Operation Section 3 Remote Mode El Programming Modes Section 3 Remote Mode The ESP is a command driven system In general commands are a series of two letter ASCII characters preceded by an axis number and followed by parameters specific to the command To communicate with the ESP controller a host terminal has to transfer ASCII character commands according to the respective communication protocol See Section 3 2 for IEEE488 or RS232 interfaces As briefly mentioned in Section 2 the ESP distinguishes between two different programming modes COMMAND MODE In this mode the ESP controller provides a command input buffer enabling the host terminal e g PC to download a series of commands and then proceed to other tasks while the ESP controller processes the commands As command characters arrive from the host terminal they are placed into the command buffer When a carriage return ASCII 13 decimal terminator is received the command is interpreted If the command is valid and its parameter is within the specified range it will be executed If the command contains an error it will not be executed and a corresponding error message will be stored in the error buffer NOTE The ESP power up state is comman
297. vectorial velocity for a group HA set vectorial acceleration for a group HD set vectorial deceleration for a group HK set vectorial e stop jerk for a group 1HN1 2 create a new group 1 with physical axes 1 and 2 1HJ50 set vectorial jerk of group 1 to 50 units second 1HJ query vectorial deceleration of group 1 50 controller returns a value of 50 units second 3 77 HL move group along a line USAGE SYNTAX PARAMETERS Description Range Units Defaults DESCRIPTION RETURNS 3 78 IMM PGM MIP xxHLnn nns nn or xxHL xx int group number nn float target position of first axis in a group nn float target position of second axis in a group nn float target position of ith axis in a group where i can vary from 1 to 6 xx 1 to MAX GROUPS nni any position within the travel limits xx none nn redefined units Xxx missing error 13 GROUP NUMBER MISSING out of range error 14 GROUP NUMBER OUT OF RANGE not assigned error 15 GROUP NUMBER NOT ASSIGNED floating point truncated nn Missing parameter error 21 GROUP PARAMETER MISSING This command initiates motion of a group along a line It causes all axes assigned to the group to move with predefined vectorial tangential velocity acceleration and deceleration along a line A trapezoid velocity profile is employed when vectorial jerk is set to zero Otherwise an S curve velocity profile is
298. ved The result of the analysis is stored in an output buffer in plain English During moves and while idle system inputs are monitored and any change is reported to the user via the output buffer To read the contents of the output buffer send the command TB tell buffer For more compact error messages use the TE command The ESP300 controller response to this command is a one byte binary coded error number e g 33 For the sake of convenience error messages are divided into two categories non axis specific error messages and axis specific error messages Below is a list of all possible ESP300 controller error messages that are not axis specific 0 NO ERROR DETECTED No errors exist in the output buffer 1 PCI COMMUNICATION TIME OUT A communication transfer was initiated through PCI bus interface and was never completed 2 Reserved for future use 3 Reserved for future use 4 EMERGENCY SOP ACTIVATED An emergency stop was executed because the motion controller received a character or STOP ALL AXES button was pressed 5 Reserved for future use 6 COMMAND DOES NOT EXIST The issued command does not exist Check the Command Syntax 7 PARAMETER OUT OF RANGE The specified parameter is out of range Refer to the description of issued command for valid parameter range Appendix A Error Messages A 1 A 2 8 CABLE INTERLOCK ERROR The 100 pin cable between motion controller board and driver is disconnected 9
299. ves the axis specified 0 Texas Instruments floating point format amp trigger axis is not configured as a slave axis NOTE 1 Scaled integer format amp trigger axis is not At the present time these variables are not user configured as a slave axis selectable 2 Texas Instruments floating point format amp trigger axis is configured as a slave axis NOTE 3 Scaled integer format amp trigger axis is Users are suggested to issue a value of 1 for configured as a slave axis consistency with modes 0 9 NOTE Trace variables such as velocity and acceleration Servo motor Stepper motor Commutated are processed by ESP motion controller in TI driven axes driven axes stepper motor floating point format Users can have access to this driven axes 10 Trace data in its native format by choosing option 0 If Error Integral Duration Control DAC variable data this option is chosen users must convert the data between pulses output 2 acquisition obtained into a format that is supported by host Trajectory Trajectory Trajectory system Since some users may have difficulty phase phase phase processing data in this format a suggested Following Following error Following error alternative is to choose scaled integer format option error 1 If integer format is chosen the floating point Control DAC Counts servo Control DAC number is multiplied by 1e6 and converted to an output 1 cycle output 1 integer This option may be selected judiciousl
300. vious commands Remember that commands must be terminated with a carriage return ASCII 13 decimal Until a terminator is received characters are simply kept in contiguous buffer space without evaluation Example 2 1PA 30 1WS 2PR 10 Example 1 and Example 2 perform the same operations In Example 2 however semicolons are used in place of carriage returns as command delimiters keeping the ESP controller from interpreting any commands on that line until the carriage return terminator is received at the very end of the string PROGRAM EXECUTION MODE Section 3 Remote Mode Section 3 Remote Mode The ESP controller also implements an internal program execution mode that enables the user to store up to 100 programs in a 64kB non volatile memory Even while executing stored programs the ESP controller maintains open communication channels so that the host terminal can continue to direct the ESP to report any desired status and even execute other motion commands Let s illustrate program execution mode using the previous example Example 3 EP invoke program entry mode 1PA 30 enter program 1WS 2PR 10 QP exit program entry mode 1EX execute compiled program 1 As shown above the sequence of commands has to be downloaded into the ESP controller program memory without inadvertently executing them To facilitate this the system provides the EP Enter Program command characters received thereafter are
301. well as stepper closed loop positioning for axis specified with xx NOTE Ifbit 0 or both bits 1 and 2 are set to zero 0 then no action will be taken by the controller NOTE The controller always interprets the nn value as a hexadecimal number even when the letter H is not appended to the desired value Since nn is a hexadecimal number it is possible that the most significant character left most character is an alphabet A F depending on the choice of values for various bits In order for the controller to distinguish between an ASCII command and its value it is recommended that the users always add a leading zero 0 to the nn value See table below for clarification Example Command Issued Controller Interpretation 1ZB123H nn 123H 0001 0010 0011 Binary 1ZB123 nn 123H 0001 0010 0011 Binary 1ZBOF25H nn F25H 1111 0010 0101 Binary 1ZBF25H Invalid command Section 3 Remote Mode BIT VALUE DEFINITION 0 0 disable feedback error checking 0 1 enable feedback error checking 0 do not disable motor on feedback error event 1 1 disable motor on feedback error event 2 0 do not abort motion on feedback error event 2 1 abort motion on feedback error event 3 0 Reserved 3 1 Reserved 4 0 Reserved 4 1 Reserved 5 0 do not invert encoder feedback polarity 5 1 invert encoder feedback polarity 6 0 reserved 6 1 reserved 7 0 reserved 7 1 reserved 8 0 do not use encoder feed
302. when data is transferred to the ESP controller input buffer a CTS RTS hardware handshake protocol is implemented The host terminal can control transmission of characters from the ESP by enabling the Request To Send RTS signal once the controller s Clear To Send CTS signal is ready Before sending any further characters the ESP will wait for a CTS from the host As soon as its command buffer is full the controller de asserts CTS Then as memory becomes available because the controller reads and executes commands in its buffer it re asserts the CTS signal to the host terminal Section 3 Remote Mode 3 2 2 Section 3 Remote Mode IEEE 488 Interface HARDWARE CONFIGURATION A typical IEEE 488 setup consists of a controller host terminal and several devices connected to the bus All devices are connected in parallel to the data lines data management and synchronization lines As a result of this type of connection each device on the bus must have a unique address so that the controller can selectively communicate with it The address can be set through the optional front panel display or with the SA set address command note that the factory default is address 1 COMMUNICATION PROTOCOL The IEEE 488 interface is implemented on the motion controller somewhat differently from a typical instrument because the standard IEEE 488 2 command set and command format are inadequate for a complex motion control Since the ESP
303. wn in the following figures Since there is no pre processing of move segments involved in making a contour the user must ensure that there is no change in tangential velocity at the transition from one move to another If this constraint is not satisfied the transition from one move segment to another may cause excessive accelerations and shocks that could damage the stages Circular move 3 Circular move 1 Position of axis 2 Position of axis 1 Figure 4 1 A contour with multiple circular moves Circular moves Position of axis 2 Linear moves Position of axis 1 Figure 4 2 A contour with multiple linear and circular moves In order to store the multiple move segment commands needed to make a contour we make use of a via point buffer This via point buffer contains group move commands essential to make a new move segment upon completion of the move segment currently in progress The new move commands are pulled out of the buffer on a FIFO basis The via point buffer can hold a maximum of 10 group move commands If more than 10 group move commands are issued by a user the excess commands are flow controlled by the firmware 4 5 4 6 This mechanism will block the portal through which the commands were issued until all the commands issued have been executed It is therefore recommended that the user take advantage of ASCII command HQ which tells the number of commands that can be put in the
304. x 1 to MAX GROUPS nn maximum of deceleration values assigned to all axes in the group to 2e9 encoder resolution xx none nn predefined units second XX missing error 13 GROUP NUMBER MISSING error 14 GROUP NUMBER OUT OF RANGE error 15 GROUP NUMBER NOT ASSIGNED out of range not assigned floating point truncated nn missing error 7 PARAMETER OUT OF RANGE negative error 22 GROUP PARAMETER OUT OF RANGE out of range error 22 GROUP PARAMETER OUT OF RANGE This command is used to set the vectorial e stop deceleration value for a group This value will be used during coordinated motion of axes assigned to the group It will override any original e stop deceleration values specified for individual axes using AE command The axes original values will be restored when the group to which they have been assigned is deleted This command takes effect immediately It can be executed when controller is idling or motion is in progress or inside a program E stop deceleration is invoked upon a local e stop condition e g front panel Stop All push button interlock etc has occurred if configured to do so or if the AB abort motion command is processed If sign takes the place of nn value this command reports the current setting HN create a new group HV set vectorial velocity for a group HA set vectorial acceleration for a group HD set vectorial deceleration for a group 1HN1 2 crea
305. y When tune mode is activated the controller records a number of different parameters The parameters can include real instantaneous position desired position desired velocity desired acceleration DAC output value etc The sample interval can be set to one servo cycle or any multiple of it and the total number of samples can be up to 1000 points This is a powerful feature that the user can take advantage of to get maximum performance out of the motion system Software Requirements Users can write their own application s or use the ESP tune exe Windows utility Please refer to the description of ASCII command DC to setup data acquisition Correcting Axis Oscillation There are three parameters that can cause oscillation The most likely to induce oscillation is Ki followed by Kp and Kd Start by setting Ki to zero and reducing Kp and Kd by 50 If oscillation does not stop reduce Kp again When the axis stops oscillating system response is probably very soft The following error may be quite large during motion and non zero at stop Continue tuning the PID with the procedures described in the next paragraph Correcting Following Error If the system is stable and the user wants to improve performance start with the current PID parameters The goal is to reduce following error during motion and to eliminate it at stop Section 6 Servo Tuning Guidelines for further tuning based on performance starting point
306. y Desired Desired Desired because the validity of data obtained depends on the acceleration acceleration acceleration range of values Desired Desired Desired i nt velocity velocity velocity When the trigger axis is configured as a slave axis Desired Desired Desired the desired position for the slave is dependent on position position position the gear TAU GR trajectory mode TJ and the Actual Actual position Actual position master axis desired position If one wishes to tune ae Rye aa position this slave axis without reconfiguring it as its own master options 2 and 3 may be used to control the source of the trace variable data self or master 3 48 Section 3 Remote Mode RETURNS None REL COMMANDS AM set analog input mode DD get data acquisition done status DE enable disable data acquisition DF get data acquisition status number of samples collected DG get data acquisition data EXAMPLE DC10 1 1 1 0 1000 Acquire trace variable data for axis 1 in scaled integer format Collect 1000 samples one sample servo cycle DEI Enable trace variable data acquisition DD Query data acquisition done status 1 true 0 false If true DEO Disable trace variable data acquisition DG Get data collected Section 3 Remote Mode 3 49 DD get data acquisition done status IMM PGM MIP USAGE SYNTAX DD PARAMETERS none DESCRIPTION This command returns the status of a data acquisition request
Download Pdf Manuals
Related Search
Related Contents
Copyright © All rights reserved.
Failed to retrieve file