Home
Motion Controller/Driver
Contents
1. 15 14 13 12 11 10 O O O O O O CONTROLLER INPUT Fi AN CAUTION VOLTAGE I ARTS INSIDE REFER 90 120VOR ji SERVICING TO QUALIFIED 115v 200 240V SERVICE PERSONNEL S0 60 Hz i i MAX 4 AMP U i WARNING a FOR CONTINUED PROTECTION E 2 AGAINST FIRE RISK T gt lt REPLACE ONLY WITH FUSE 23 TS OF SPEGIFIED RATING Gi FUSE 4A SLO BLO 250V GD Newport RED SANG nie REN e O O O O O O N97100F REAR Figure 2 5 2 UniDrive6000 Front and Rear View Table 2 3 2 UniDrive6000 Controls And Indicators Normal Operating Item Nomenclature Description Condition Position 1 Power on off switch Turns system power ON f OFF Ol In depressed 2 Power status LED Green UniDrive power on Illuminated green Red UniDrive power fault STOP ALL switch Turns off motor power Out not depressed 4 9 LED axis driver card status Not illuminated No driver card not phys
2. nnnnnnnnnnannnnnnnnnn O0000000000000000000 op N97121 Figure 2 3 1 ESP6000 Controller Card Reference Designation Nomenclature 1 Reset 2 Error Motion 4 Communication Section 2 System Set Up Table 2 5 1 ESP6000 Controls And Indicators Description LED state controlled by watchdog timer and PCI interface LED OFF indicates board is in reset state Possible causes for reset state include 1 Normal power on reset 2 Application Programmer Interface API initialization command 3 5V below operating range 4 Digital Signal Processor DSP not communicating with watchdog timer LED 2 will flash ON OFF at approximately 0 5 second intervals as long as there is an unread error message on board LED 3 will remain illuminated ON while any axis is in motion LED 4 will illuminate continuously when API commands are received 2 3 IO Newport m Universal Motor Driver m UniDrive6000 STATUS STOP ALL AXIS 1 STATUS NO DRIVER MOTOR ON POWER ON MOTOR OFF POWER FAULT mm FAULT
3. 2 5 2 4 2 Installing Windows Soltware 2 9 2 4 3 Verifying Communication Between the ESP6000 Card lll OE EE 2 15 2 4 4 Selecting The UniDrive6000 Line Voltage 2 16 2 45 Connecting Stages 2 18 2 4 6 Connecting the UniDrive6000 to the ESP6000 Controller Card 2 19 Section 3 Quick Start n n na 3 1 3 1 General Description 3 1 DE MO rer 3 1 39 NNN u u uu y aa a aaa awa saan qaassqaskaqawskhaqa 3 3 TJ 3 4 29 System TN 3 6 Section 4 Windows Utilities a 4 1 J L Motion UHU l u L u A G 4 1 4 1 1 General Description 4 1 EE Pa lin EE E E 4 1 iv Table of Contents ALS ON 4 1 GE SEERE EEE SER 4 3 4 1 3 1 1 Reset System 4 5 2 EEE Ip sasan 4 3 41 55 800 ax EEE 4 3 4 1 3 14 Demo Mode 4 3 21515 Le 4 4 41 52 Setup Melia EE 4 4 711 er Mollon Re EE 4 5 Aaaa FaUl scaun E 4 7 4 1 3 2 3 Hardware 4 8 21524 Frmvar Laurrssammdnmmusnv 4 11
4. PIN 100 PIN 1 A B PIN 1 AB MODEL ESP6000 INTF BD i e 0 eo e D J D 0 e 0 e o e 0 e 0 e x GAB AG DOC Sooo GGGGOHOHONGOCOHOHEGAOGOGEBEGEGEGOG 0 y e 0 e 0 e 0 e 0 _ eb e 0 e 0 s s REV eb el o os elo e 0 eo e 0 _ _ sn _ _ _ _ el 0 e 0 e 0 elo 0 A aT Ji J4 ep 4 ale eh z e 0 e e 0 e 0 n e EIGE P jet omad pemde eH jsp jeu Jeg 8 PIN1 To gt 2 AXIS 1 AXIS 4 3 2000 L e i e 0 e 0 e x J2 J5 e 0 0 e 0 U 0 e 0 e e 0 0 e er 0 0 ep OT O ORT Es 0 ep a e 0 e 0 e e 0 0 e b si pel eb 15 AXIS 2 15 AXIS5 9 e0 0 e 0 sed x e 0 e 0 J3 J8 ep 0 p K e 0 J e 0 e 0 J e 0 0 J PING e 0 l e OG OUTO D ep 0 e 0 e 0 e 0 AXIS 3 15 AXIS6 9 d 0 O ep 79 DB Z AXIS 1 AXIS 2 XIS 3 I AXIS 4 6 N97106B BIN eee FIN 1 Figure C 3 1 Terminal Block Board Connector Orientation Appendix C Connector Pin Assignments C 21 C 22 C 3 1 MD4 15 Pin Connector This connector is used for interfacing with the MD4 motor driver Connec tor pin outs are listed in Table C 3 1 and functionally described in the following paragraphs Table C 3 1 MD4 Connector Pin Outs J1 J6 Pins Function l Not Connected 2 5V 3 Enable_1 4 A_1 5 P_1 6 P_1 f Home_1 8 1 9 Not Connected 10 Not Connected 11 Not Connected 12 B_1 13 Limit 1 14 Limit 1 15 DGND 5V 5 volt 250mA maximum supply This supply
5. 5 84 esp_set_adc_gain long gain 5 86 esp_get_adc_gain long gain 5 86 esp set adc range long range 5 87 esp get adc range long range 5 87 esp get adc long channel float conversion long TickCnt 5 88 esp get all adc float channel long TickCnt 5 89 esp set daq mode long mode long axis long Adcs long feedback long rate long Num e rrrnnnnnnnnrnnnnnnnrnnrrrnnnnnnnnrennne 5 90 esp_enable_daq soid 5 92 esp_get_daq_status long count 5 93 esp d g COMO EEE awaqa akakaataqka asadwapauakun 5 94 esp_get_daq_data long DataArray long Num long Daqs Statb 5 95 esp disable ag uuu u uu yu u ne Ne a qukasha yapasqa 5 97 esp_set_portabc_dir long PortA long PortB long PortC 5 100 Function Command Page Digital I O Cont esp_get_portabc_dir long PortA long Port IS TONN uuu aaa AE AEO EA 5 100 esp set dio porta long data 5 101 esp_get_dio_porta long
6. 5 36 esp_move_done long axis 5 37 esp home done long axis 5 38 esp get motion status long mstat 5 39 esp_stop long axis 5 41 NTN uuu ayau a susya 5 42 esp set traj mode long axis long mode 5 44 esp get traj mode long axis long mode 5 44 esp set speed long axis float speed 5 46 esp get speed long axis float speed 5 46 esp set max speed long axis float speed 5 47 esp get max speed long axis float speed 5 47 esp_set_accel long axis float accel 5 48 esp_get_accel long axis float accel 5 48 esp set decel long axis float decel 5 49 esp get decel long axis float decel 5 49 esp set max accel long axis float accel 5 50 Function Trajectory Cont Motion Related Command Page esp get max accel long axis float accel
7. 5 50 esp set jerk long axis float jerk 5 51 esp get jerk long axis float jerk 5 51 esp set max jerk long axis float jerk 5 52 esp get max jerk long axis float jerk 5 52 esp set home speed long axis float speed 5 53 esp get home speed long axis float speed 5 53 esp set startstop speed long axis float speed 5 54 esp get startstop speed long axis float speed 5 54 esp set jog speed long axis float speed 5 55 esp get jog speed long axis float speed 5 55 esp enable motor long AXIS rerrrrrnrnnnnnnnnnrvrrrrrrvrssnnnnnnnnnnnnnnnnnnne 5 58 esp_disable_motor long axis 5 59 esp get motor onoff status long onoff 5 60 esp set master slave long master long slave 5 62 esp get master slave long master long slave 5 62 esp set master slave ratio long slave float ratio 5 63 esp get master slave ratio long slave float ratio 5 63 esp set master
8. 5 18 esp set softlimit config long axis long Config 5 19 esp get softlimit config long axis long conlig 5 19 esp set ampio config long axis long conlig 5 20 Function Configuration Cont Motion Trajectory Section 5 Programming Command Page esp get ampio config long axis long conlig 5 20 esp set feedback config long axis long conlisg 5 22 esp get feedback config long axis long conlfig 5 22 esp set e stop config long axis long config 5 24 esp get e stop config long axis long conlig 5 24 esp set dac offset long axis float offset 5 25 esp get dac offset long axis float offset 5 25 esp_save_parameters void 5 26 esp get hardware status long hardstat1 ls li T L EEE ENN OTO 5 27 esp move absolute long axis double position 5 32 esp_delay float time 5 33 esp delay after stop long axis float time 5 34 esp move relative long axis double position 5 35 esp find home long axis long mode
9. 5 72 esp set tach constant long axis float tach 5 73 esp get tach constant long axis float tach 5 73 esp set gear constant long axis float gear 5 74 esp get gear constant long axis float gear 5 74 esp set kp long axis float kp 5 78 esp get kp long axis float kp 5 78 esp set kd long axis float kd 5 79 esp get kd long axis float kd 5 79 esp set ki long axis float ki 5 80 esp get ki long axis float ki 5 80 esp set il long axis float il 5 81 esp_get_il long axis float il 5 81 esp set vel feedforward long axis float vff 5 82 esp get vel feedforward long axis float vff 5 82 esp set acc feedforward long axis float aff 5 83 esp get acc feedforward long axis float aff 5 83 esp_update_filter void
10. r aarsssssssssssssssssssssssaaasaaas 5 1 DE MN NN 5 2 Table 5 35 1 OTTONATO nn nn anna rnnsssssssssasaasaassa 5 2 NETT 7 5 Table 8 1 Optional Equipment cctiiccessircseneseesssiecssseronisvctstiverbavescatdblstiaseisriekahiuotsentestandceinewuhiercmlisedstilenavennelsiecoiietanes 5 1 RD ETE block Board ES EE 8 2 Table 8 1 2 Analog I O Cable Connections ssrrrrrrrnnnrrnnrnnnnrrnrrrnnnnnnrrrrnnnnnrrrrnnrnnerrrnnnnsrrrrnnnnnrrrsnnnnsssrsnnnsesessnnnssssssnnnseen 8 3 NNN gt 5 4 Table 8 14 Auxiliary I O Connections rrrrrrrrrrrrrnrnnnnnrrrnnnrnnrnnnnnnnnnnnnnnnnnnnnnnnnrnnrnnrrrrrrrrrnrrnnnennrnnenssessesssesssssesseeseeeneesenn 8 5 DE TN 9 3 Table 9 2 2 Data Acquisition Commands ra rssssssssssssssssssssssssiaaaa 94 TRE Eg DET e e E E E een one ee ene mee NOs nT rene nearer 9 5 Table A 1 Error Messages Lakes Gvesbasebeiindxeeips cctelienxedontecdvagencecetixwetcenies A 2 LITT B 2 Table C I 1 Main I O Connector Pin Quts orrrrrrrrrnnnrnnnrrrrrrnrnnnnnnnnnnenorrrrrrrrrrrrrrrrrnrrrrrrrrrnrrnrnnnnnnnsneneaneenenensererrnnnnnnsnnsne C 3 Table C 1 2 Motor Driver Interface 100 to 68 pin Cable Connector Pin OQuts C 7 Table C I 5 Digital Connector Pin Outs go cisrissisaatacecesthcrnecdaasetacistesiaateredvsxce ites HaivebincestaitiotacebinarcivanRaeraasdteistimasse ete C 10 labie CIA Auxil
11. 6 11 Go NON 6 11 6 3 1 PID Servo Loops 6 12 6 3 2 Feed Forward Loops 6 14 6 4 Motion Proliles 6 15 L Nr 6 15 L Jo se 6 16 gt ENN 6 17 OS dv 6 19 MEN 6 22 6 6 1 Stepper Motors 6 22 2 NNN 6 27 DS 6 28 6 7 1 Stepper Motor Drivers 6 28 6 7 2 DC Motor Drivers 6 30 Section 7 Servo Tuning 1 7 1 TL TT uu Lu u Lu uu aaa aWasqkaasasayhykaskusqaqaqauwaa aqhuyustapups 1 1 L2 Tuning Procedure EEE nen easton 1 1 7 2 1 Hardware And Software Requirements 7 2 7 2 2 Correcting Axis Oscillation 7 2 7 2 3 Correcting Following Error 1 2 24 Points TENT 7 4 Section 8 Optional Equipment a 8 1 5 1 PUTE 8 1 8 1 1 Terminal Block Board 8 1 L NTN 8 3 8 1 3 Digital I O Cable 8 4 8 1 4 Auxiliary
12. printf ESP6000 Not Initialized r n exit 1 set S Curve trajectory mode esp set traj mode l SCURVE set axis 1 trajectory parameters esp set speed l 30 0 esp set accel l 200 0 esp set decel l 150 0 esp set jerk l 10 0 check error status esp get error num amp error amp ServoTick if error printi Error d Reported r n error 5 45 5 46 esp_set_speed esp get speed Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Set Axis Speed Report Axis Speed Setting include esp6000 h int esp set speed long axis float speed int esp get speed long axis float speed long axis axis number from 1 6 float speed target speed lt maximum speed in user units second esp6000 dll esp_set_speed sets the target slew top speed for the specified axis Note that if acceleration is too shallow the axis may not reach the target speed esp get speed reports target slew speed setting for the specified axis ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 set axis 1 trajectory parameters esp set speed l 30 0 esp set accel l 200 0 esp set decel l 150 0 J Check error status esp get error num amp error amp ServoTick if error print
13. set axis 1 to jog trajectory mode esp set traj _mode 1 JOG set axis l speed and direction esp set jog speed l 20 0 e stop motion esp_stop 1 See Also esp_stop_all Section 5 Programming 5 41 5 42 esp_stop_all Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Stop All Axes include esp6000 h int esp stop all void none esp6000 dll esp_ stop causes all axes in motion to immediately decelerate using deceleration rate previously set by esp_set_decel function call ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system exit 1 esp enable motor 1 set axis 1 3 to jog trajectory mode esp set traj mode 1 JOG esp set traj mode 2 JOG esp set traj mode 3 JOG set axis 1 speed and direction esp set jog speed l 20 0 esp set jog speed l 30 0 esp set jog speed l 25 0 e 008 stop all axes motion esp stop all esp_stop Section 5 Programming Trajectory 5 43 5 44 esp_set traj mode Set Axis Trajectory Mode esp get traj mode Report Axis Trajectory Mode Setting Synopsis Arguments Library Location Description Returns Hint include esp6000 h int esp set traj mode long axis long mode int esp get traj mode long axis long mode long axis axis number from 1 6
14. average velocity position velocity 2 1s Figure 6 2 12 Position Velocity and Average Velocity Section 6 Motion Control Tutorial 6 9 6 2 14 6 2 15 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 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 signifi cant role in the amount of ripple generated 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
15. esp set slave initial position Set Slave Initial Position esp get slave initial position Report Slave Initial Position Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming include esp6000 h int esp_set_slave_initial_position long slave double position int esp get slave initial position long slave double position long slave slave axis number from 1 6 double position slave initial position in user units esp6000 dll esp_set_slave_initial_position sets slave initial position This API function call enables the user to define where the slave axis is to begin tracking the master thereby eliminating the initial jump that may occur esp_get_slave_initial_position reports the present slave initial position setting NOTE The controller defaults to normal non master slave mode after system reset ESPOK ESPERROR include esp6000 h main if esp_init_system exit 1 assignment axis 2 slave to axis l master esp set master slave l 2 assign master slave ratio esp set master slave ratio 2 0 5 set slave to track master position encoder esp dlmode 2 SLAVEP set master initial position esp set master initial position l 0 0 set slave initial position esp set slave initial position 2 0 0 e e 5 65 5 66 esp_set_resolution
16. Place installation disk 2 mto the floppy dive and press the OF button Cancel Source Pathname Figure 2 4 15 Insert New Disk Message Screen After the last disk has been down loaded an Updating System Configura tion message screen appears briefly When installation is complete the ESP installation Completed screen appears see Figure 2 4 16 and the interface software is then available for use Select FINISH to return to the Control panel menu ESP6000 Installation Installation Completed The installation of ESPBOOO has been successtully completed Press the Finish button to exit this installation BaCk BANGE Figure 2 4 16 ESP Installation Completed Screen 2 4 3 Verifying Communication Between the ESP6000 Card and the PC The ESP 6000 software performs a verification each time the system is booted up An ESP Initialization message screen appears that indicates the ESP6000 controller card status the UniDrive axes configured and ESP compatible stages found during initialization see Figure 2 4 17 L uPGUNU lita aon FSFE Imal eel Initializing Axis Parameters Curiae rideu is 1 Unidnycs000 Octected 3 I ESF Compatible Aage Detected Figure 2 4 17 ESP Initialization Screen Section 2 System Set Up 2 15 If the ESP6000 controller card is not present or communicating then an error message appears see Figure 2 4 18 ESP600 Error Ei a
17. esp set kd esp set moving kp 0 esp set 110 esp update filter esp set il esp get il Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Set PID Integral Limit il Report PID Integral Limit il Setting include esp6000 h int esp set il long axis float il int esp get il long axis float il long axis axis number from 1 6 float il integral limit esp6000 dll esp set il sets the integral limit il of the PID servo filter esp get il reports the integral limit il setting NOTE If necessary use the ESP tune utility to optimize servo PID and feedforward parameters ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 J Sec PID galin esp_set_kp 1 100 0 esp_set_kd 1 200 0 esp_set_ki 1 50 0 esp_set_il 1 50 0 transfer PID to working registers esp_update_filter save parameters to ESP6000 Flash EPROM esp save parameters 19 Check error status 7 esp get error num amp error amp ServoTick if error printf Error d Reported error esp set kd esp set kp0 esp set ki esp update filter 5 81 esp_set_vel feedforward Set Velocity Feedforward Gain esp get vel feedforward Report Velocity Feedforward Gain Setting 5 82 Synopsis
18. ESP6000 Error List MR Error Communicating to 5PEODODO Figure 2 4 18 ESP6000 Error Message Screen 2 4 4 Selecting The UniDrive6000 Line Voltage Unplug the UniDrive6000 AC power cord from the power source and disconnect it from any equipment Locate the line voltage selection switch at the right rear of the UniDrive see Figure 2 4 19 Use a flat bladed screwdriver to move the switch to the upper position 115V or to the lower position 230V depending on the local line voltage Input voltage ranges and frequencies are shown adjacent to the switch Section 2 System Set Up ARNING FOR CONTINUED PROTECTION AGAINST FIRE RISK REPLACE ONLY WITH FUSE OF SPECIFIED RATING FUSE 4A SLO BLO 250V AXIS POWER CONTROLLER gale el 4 ls ss LINE l N CAUTION VOLTAGE NO USER SERVICEABLE SELECT PARTS INSIDE REFER E 90 120V OR SERVICING TO QUALIFIED Fagy 200 240V SERVICE PERSONNEL 50 60 Hz MAX 4 AMP N eO GROUND POST m N97101D Figure 2 4 19 Line Voltage Select Switch CAUTION Verify that the UniDrive6000 power switch at the front of the unit is OFF before connecting the AC power cord CAUTION Before applying AC power to the UniDrive6000 set the line voltage selection switch to the local AC line volt
19. Motion Control Tutorial Hysteresis Position Figure 6 2 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 ol the system To justify a little more why we call this error Hysteresis let s graph the information in a different format Figure 6 2 8 Plotting the real versus the ideal position will give us a familiar hysteresis shape Real position ideal plot real plot Trajectory ideal position Figure 6 2 8 Real us Ideal Position Pitch Roll and Yaw These are the most common angular error parameters or linear translation stages They are pure mechanical errors and represent the rotational error of a stage carriage around the three axes 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 6 2 9 Pitch is rotation around the Y axis Roll is rotation around the X axis and Yaw around the Z axis 6 7 6 8 6 2 10 Figure 6 2 9 Pitch Yaw and Roll Motion Axes The problem with this definition is that though correct it is difficult to remember An expanded graphical representation is presented in Figure 6 2 10 Imagine a tiny carriage driven by a giant leadscrew When the carriage rolls sideways on the lead screw we call it a Roll When it
20. Table of Contents VG li EC DECLARATION OF CONFORMITY cssseesssssssssesssecessseccsccescesscceeeeees iii bo ix bro Tr xii Section 1 Introduction orornrovrrrrrrnrrrrvrrrevrnerrerenervevenerrevenrrnevennn 1 1 ON 1 1 1 2 Safety Considerations 1 2 1 3 Conventions And Delinitions 1 3 1 3 1 Definitions and Symbols 1 3 Meee FN 1 5 14 System Overview 1 6 Lili PC AUS iu usanta nsn aap usaspa 1 7 1 4 2 Specifications 1 8 1 4 2 1 ESP6000 Controller Card 1 8 1 4 2 2 UniDrive6000 Universal Motor Driver 1 9 1 4 2 3 Environmental Limits 1 9 Section 2 System Setup M 2 1 I NM 2 1 2 2 PC Hardware and Software Requirements 2 2 2 3 Equipment Controls and Indicators 2 2 2 4 Installation and Connection 2 5 2 4 1 Installing the ESP6000 Controller Card and Software Driver
21. main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 enable motor power esp enable motor 2 move axis 2 relative 3 units esp move relative 2 3 J check error status esp get error num amp error amp ServoTick if error printf Error d Reported error See Also esp get position count esp move absolute esp_set_speed esp_set_accel esp set decel esp set resolution Section 5 Programming 5 35 5 36 esp_find_home Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Invoke Axis Home Search include esp6000 h int esp find home long axis mode long axis axis number from 1 6 long mode define homing mode as HOMEONLY 0 HOMEINDEX 1 esp6000 dll esp_find_home invokes specified homing algorithm on the designated axis In all homing modes the controller attempts to reduce or eliminate mechanical backlash by always approaching the final position from the same direction HOMEONLY During this mode the axis finds the home signal transition HOMEINDEX During this mode the axis finds the index signal immediately following the home signal NOTE Only one axis can be in homing mode at any one time At the end of a successful homing sequence the axis position counter is automati cally set to position count zero 0 All
22. save parameters to ESP6000 Flash EPROM esp save parameters check error status esp get error num amp error amp ServoTick if error printF Error d Reported error See Also 5 26 esp get hardware status Report Hardware Status For All Axes Synopsis include esp6000 h int esp get hardware status long hardstat1 long hardstat2 Arguments long hardstat I general hardware status register I long hardstat2 general hardware status register 2 Library Location Nesp6000 dll Description Register 1 esp get hardware status 0 is used to get general hardware status for all axes This routine allows you to observe the various digital input signals as they appear to the controller HARDWARE STATUS REGISTER 1 BIT VALUE DEFINITION 0 0 axis 1 hardware travel limit low 0 1 axis 1 hardware travel limit high 1 0 axis 2 hardware travel limit low 1 1 axis 2 hardware travel limit high 2 0 axis 3 hardware travel limit low 2 1 axis 3 hardware travel limit high 3 0 axis 4 hardware travel limit low 3 1 axis 4 hardware travel limit high 4 0 axis 5 hardware travel limit low 4 1 axis 5 hardware travel limit high D 0 axis 6 hardware travel limit low D 1 axis 6 hardware travel limit high 6 0 reserved 6 1 reserved 7 0 reserved 7 1 reserved 8 0 axis 1 hardware travel limit low 8 1 axis 1 hardware travel limit high 9 0 axis 2 hardware travel limit low 9 1 axis 2 hardware travel limit high
23. Set Axis 1 Following Error Threshold status esp_set_following_error 1 0 2 See Also esp_set_followerr_config 5 68 esp set position Set Position Count To Specified Value esp get position Report Position Count Synopsis include esp6000 h int esp set position long axis double count int esp get position long axis double count Arguments long axis Axis number from 1 8 Channels 7 amp 8 are auxiliary counters double count position count or steps in user units Library Location esp6000 dll Description esp get position reports the current position count or steps for the specified axis If bit 8 of esp set feedback config command is set then esp get position reports encoder feedback in user units If bit 8 is 0 and the axis motor type is stepper then esp get position reports step count in user units esp set position sets the current position count to the value specified for the selected axis Returns ESPOK ESPERROR Hint Position count is normally set to zero 0 after a home search Usage Example include esp6000 h main long error servotick double position if esp init system l printf FESP6000 Not Initialized r n exit 1 report axis 1 position count esp get position l amp position e zero axis 1 position count esp set position l 0 0 See Also esp find home0 Section 5 Programming 5 69 esp set micr
24. error esp set home speed esp find home esp get motion status Report Motion Status For All Axes Synopsis include esp6000 h int esp get motion status long mstat Arguments long mstat motion status register Library Location esp6000 dll Description esp get motion status is used to report motion status for all axes esp get motion status API call reports all axes motion status in binary format where axis 1 corresponds to bit 0 and axis 6 bit 5 If the corresponding bit is equal to 0 then the axis is not being commanded to move If the corresponding bit is equal to 1 then the axis Is in a move sequence NOTE If motor type not previously defined then the corresponding status bit will equal zero Q BIT VALUE DEFINITION 0 0 axis 1 positioner not moving 0 1 axis 1 positioner moving 1 0 axis 2 positioner not moving 1 1 axis 2 positioner moving 2 0 axis 3 positioner not moving 2 1 axis 3 positioner moving 3 0 axis 4 positioner not moving 3 1 axis 4 positioner moving 4 0 axis 5 positioner not moving 4 1 axis 5 positioner moving 5 0 axis 6 positioner not moving 5 1 axis 6 positioner moving 6 0 reserved 6 0 reserved T 0 no error occurred error buffer empty 7 1 error occurred error buffer contains message 31 0 reserved 31 1 reserved Returns ESPOK ESPERROR Hint Use esp move done for simple Motion Complete testing Section 5 Programming 5 39 esp get motion stat
25. esp disable motor 2 esp_enable_motor 5 59 esp get motor onoff status Report Motor ON OFF status 5 60 Synopsis Arguments Library Location Description Returns Hint include esp6000 h int esp get motor onoff status long onoff long onoff motor ON OFF status where bits 0 5 correspond to axes 1 6 esp6000 dll esp_get_motor_onoff_status reports all axes motor on off status in binary format where axis 1 corresponds to bit 0 and axis 6 bit 5 If the corresponding bit is equal to 0 then the axis is OFF disabled If the corresponding bit is equal to 1 then the motor is ON enabled NOTE If motor type not previously defined then the corresponding status bit will equal zero 0 BIT VALUE DEFINITION 0 0 axis 1 motor not enabled 0 1 axis 1 motor enabled 1 0 axis 2 motor not enabled 1 1 axis 2 motor enabled 2 0 axis 3 motor not enabled 2 1 axis 3 motor enabled 3 0 axis 4 motor not enabled 3 1 axis 4 motor enabled 4 0 axis 5 motor not enabled 4 1 axis 5 motor enabled 5 0 axis 6 motor not enabled 5 1 axis 6 motor enabled 6 0 reserved 6 1 reserved 7 0 reserved 7 1 reserved 31 0 reserved 31 1 reserved ESPOK ESPERROR esp get motor onoff status Report Motor ON OFF status Continued Usage Example include esp6000 h main long error servotick onoff if esp init system printf ESP6000 Not Initialized Vern
26. include esp6000 h int esp daq done void lesp6000 d11 esp daq done API function call returns the present data acquisition completion status During data acquisition modes esp dag done is used to indicate the completion of data collection This function returns a value indicating DAQREADY 1 meaning DAQ armed but not yet triggered DAQSTARTED 0 meaning DAQ acquiring DAQDONE 1 meaning DAQ finished DAQREADY DAQSTARTED or DAQDONE include esp6000 h main long error servotick long Num DaqStat Mode count Float DataArray 512 if esp_init_system printf ESP6000 Not Initialized r n exit 1 Set ADC Gain and Range esp_set_adc_gain V10 esp_set_adc_range BIPOLAR Set Acquisition Mode esp_set_daq mode 1 1 1 1 2 512 esp_enable_daq esp_enable_motor l esp move absolute 1 50 0 while lesp daq done Wait for DAQ End esp get daq status amp count printf d acquisitions collected Nr count esp disable daq Retrieve Data esp get daq data DataArray amp Num amp DaqsStat check error status esp get error num amp error amp ServoTick if error printf Error d Reported r n error esp_get_daq_status esp_set_daq_mode esp_enable_daq esp_disable_daq esp_get_daq_data esp get daq data Report Data Acquisition Results Synopsis include esp6000 h int es
27. long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 a set axis 1 trajectory parameters esp set_max_Speed l 100 0 esp sec max accell O00 0 3 esp set max jerk 1 100 0 1 Check error starus y esp get error num amp error amp ServoTick if error printf Error d Reported NrNn error esp set jerk esp_set_home speed esp get home speed Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Set Axis Home Speed Report Axis Home Speed Setting include esp6000 h int esp set home speed long axis float speed int esp_get_home_speed long axis float speed long axis axis number from 1 6 long speed target home speed lt maximum speed in user units second esp6000 dll esp_set_home_speed sets the target slew speed or velocity for the specified axis The Homing algorithm uses the previously set acceleration deceleration and jerk settings esp_get_home_speed reports the present target slew speed setting for the specified axis NOTE If acceleration is too shallow the axis may not reach the target speed ESPOK ESPERROR During first time system testing set home speed to 1 10 of maximum speed include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialized r n e
28. Arguments Library Location Description Returns Hint Usage Example See Also include esp6000 h int esp set vel feedforward long axis float vif int esp get vel feedforward long axis float vff long axis axis number from 1 6 float vff velocity feedforward gain esp6000 dll esp set vel feedforward sets the velocity feedforward gain for the specified servo axis esp get vel feedforward reports the present velocity feedforward gain setting for the specified servo axis NOTE If necessary use the ESP tune utility to optimize servo PID and feedforward parameters ESPOK ESPERROR include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialized r n exit 1 set PID gain esp_set_kp 1 100 0 esp_set_kd 1 200 0 esp_set_ki 1 50 0 esp_set_il 1 50 0 set velocity feedforward esp set vel feedforward l 75 set acceleration feedforward esp set acc feedforward 1 100 transfer PID to working registers esp update filter save parameters to ESP6000 Flash EPROM esp save parameters 1 heck error Srarus Ty esp get error num amp error amp ServoTick if error printf Error d Reported error esp_set_acc_feedforward esp_update_filter esp_set_acc feedforward Set Acceleration Deceleration Feedforward Gain esp get acc feedforward
29. Binary code 01110000 01000001 01110001 01000010 01110010 01000011 01110011 01000100 01110100 01000101 01110101 01000110 01110110 01000111 01110111 01001000 01111000 01001001 01111001 01001010 01111010 01001011 01111011 01001100 01111100 01001101 01111101 01001110 t N lt x Z lt E w e 01111110 01001111 01111111 01010000 10000000 01010001 10000001 01010010 10000010 01010011 10000011 01010100 10000100 01010101 10000101 01010110 10000110 01010111 10000111 01011000 10001000 01011001 10001001 01011010 10001010 01011011 10001011 01011100 10001100 01011101 10001101 gt N lt x Z lt m m i m O Z Z am gt 01011110 10001110 01011111 10001111 a 01100000 10010000 01100001 10010001 01100010 10010010 01100011 10010011 01100100 10010100 01100101 10010101 01100110 10010110 01100111 10010111 01101000 10011000 01101001 10011001 01101010 10011010 01101011 10011011 01101100 10011100 01101101 10011101 01101110 10011110 B B 5 0 e e gt 01101111 10011111 Number decimal ASCII code
30. Power down all equipment refer to the Controls and Indicators paragraph in System Setup and unplug AC power cord s Loosen the upper and lower thumbscrews on one of the blank cut out panels at the rear of the UniDrive and remove the panel from the slot Carefully remove the driver card to be installed from its packaging Inspect the driver card for loose components or other problems see Figure 8 2 1 Refer to Appendix G Factory Service to report discrepancies N97007 Figure 8 2 1 Driver Card Section 8 Optional Equipment 8 7 8 8 Insert the driver card into the black guides top and bottom in the slot see Figure 8 2 2 Ascaution NO Ret SERVICEABLE sn S INSIDE REFER ICING To QUALIFIE ERVICE PERSONNEL N97001E Figure 8 2 2 Driver Card Installation Push gently until the edge connector at the back of the card mates with the motherboard chassis connector Tighten the thumbscrews on the driver card Connect the stage to the newly installed axis Plug in the UniDrive AC power cord and power up the UniDrive 8 2 2 Rack Mount Ears Section 8 Optional Equipment This option provides a means of mounting the UniDrive6000 in a 19 inch rack There is no disassembly required for installation The ears are attached by putting supplied screws through exterior screw holes and into permanent nuts inside the enclosure Installation is shown in Figure 8 2 3 N971
31. WARNING Power down all equipment before cleaning CAUTION Do not expose connectors fans LEDs or switches to alcohol or water Appendix B Troubleshooting B 7 Appendix C Connector Pin Assionments er ESP6000 Controller Card The controller card utilizes four primary connectors The card interfaces with the UniDrive6000 via a 100 to 100 pin cable or with the Universal Interface Box via a 100 to 68 pin cable The connector functions are defined in the following paragraphs Cabling for the connectors is de scribed in Section 8 Optional Equipment and connector orientations are shown in Figures C 1 1 C 1 2 and C 1 3 PIN 100 51 N97110 Figure C 1 1 Main I O 100 Pin Connector Orientation Appendix C Connector Pin Assignments C 1 PIN 1 ri kk i ria am G an G ame G ien G amm G n G iii 11 iii li 1 iii i PIN 34 PIN 68 N97132 Figure C 1 2 One Hundred to Sixty Eight Pin Cable Connector Orientation PIN 1 PIN 1 PIN 1 annn 1 o0000000000 El _ EE JP2 ee PIN 26 hice PIN 2 PIN 40 JP9 OM o O N97104 Figure C 1 3 JP2 JP4 JP5 Connector Orientation C 1 1 Main I O 100 Pin Connector This connector interfaces the ESP6000 controller card
32. esp set daq mode 5 97 5 98 Section 5 Programming Digital I O 5 99 esp_set_portabc_dir esp get portabc dir Synopsis Arguments Library Location Description Returns Hint Usage Example See Also 5 100 Set Digital I O Port A B amp C Direction Report Digital I O Port A B amp C Direction Setting Hinclude esp6000 h int esp set portabc dir long a long b long c int esp get portabc dir long a long b long c long a b c port direction I PORT OUTPUT or O PORT_INPUT esp6000 dll esp_set_portabc_dir defines digital I O port direction Digital I O ports are located on both auxiliary I O and digital I O connectors on the controller card esp_get_portabc_dir reports present port configuration Port A DIO signals are externally pulled up via a 4 7KQ resister to 5 volts NOTE After system reset Ports A B and C are automatically configured as inputs ESPOK ESPERROR Define port direction with esp_set_portabc_dir before using this function include esp6000 h main if esp_init_system exit 1 C Directions PORT INPUT Configure Ports A B esp set portabc dir PORT OUTPUT PORT INPUT Set DIO A Port esp set dio porta long OxOFF J esp_get_dio_porta esp get dio portb esp_get_dio_portc esp_set_dio_porta esp get dio porta Synopsis Arguments Library Location Description Returns Hint
33. exit 1 Define Axis 1 Software Travel Limits sp set soft limit l 100 0 4100 0 Abort Motion amp Flag Error On Software Limit esp ser softlimit configi l 0x0000000d Save Parameters To ESP6000 Flash EPROM esp save parameters check error status esp get error num amp error amp ServoTick if error printi Error sa Reported r n error esp_set_softlimit_config esp_find_home 5 67 esp set following error Set Motor Following Error Threshold esp get following error Report Motor Following Error Threshold Setting Synopsis include esp6000 h int esp set following error long axis double ferr int esp get following error long axis double ferr Arguments long axis axis number from 1 6 double ferr maximum motor following error threshold in user units Library Location esp6000 dll Description esp set following error sets the maximum motor following error threshold for the specified axis A maximum moving error of 0 disables this feature esp_get_following_error reports the maximum motor following error threshold setting for the specified axis The esp_set_followerr_config command determines what happens when the follow ing error threshold is exceeded Returns ESPOK ESPERROR Hint If following error threshold is set too large then its purpose is defeated Usage Example include esp6000 h int status if esp_init_system
34. 2 5V and 1 25V ADC channels are located on the analog I O connector on the controller card Programmable SiPol 8 Single i Gain x 16 bit 100 kHz E Anti al er Instrumentation Mg A D Converter Amplifier Sample Trigger Control Timer or Software Driven ESPOK ESPERROR include esp6000 h main long timestamp float DataArray 8 if esp_init_system exit 1 Set ADC Gain esp set adc gain V10 Set ADC Range esp set adc range UNIPOLAR Acquire All ADC Channels Data esp get all adc DataArray amp timestamp esp_set_adc_range esp set adc gain esp_get_adc 5 89 esp_set_daq_mode Synopsis Arguments Library Location Description Returns Hint 5 90 Set Data Acquisition Mode and Parameters include esp6000 h int esp set daq mode long mode long axis long Adcs long feedback long rate long Num long mode mode of acquisition where 0 unconditional data collection 1 collect data whenever axis starts motion 2 collect data only while axis is in slow speed long axis motion axis used to trigger acquisition long Adcs analog to digital channels involved in acquisition where bit 0 channel 1 bit 1 channel 2 bit 2 channel 3 bit 7 channel 8 long feedback position feedback encoder channels involved in acquisition where bit 0 channel 1 bit 1 channel 2 bit 2 channel 3 bit 7 channel 8 long rate acquisit
35. 211525 UniDrive 4 11 4 1 3 3 Motion Menu 4 12 2 EE 0 ss 4 12 1002 He 4 12 21 Je 4 12 2150 CVE een E 4 12 21505 F ler 4 13 41 34 Stal s NM 4 13 4 1 3 4 1 Plus e 4 14 2135 Help NMein uuuvaussmmodaarmsurnusanindrinv 4 14 41 351 About ESP 6000 4 15 PT NG 4 15 4 2 1 General Description 4 15 LA FT 4 15 120 Tr 4 15 Section 5 Programming a a 5 1 5 1 General Description 5 1 5 1 1 Windows Programming 5 1 5 1 2 How To Use The Dynamic Link Library 5 1 5 2 Description of Commands rrnrnnnnnnnnnnnnnnnnnnnnnvvnnnnrvrnnvnnrvnnnnnnnnnnnnnnnene 5 1 OV PN u uuu E Z sss ass 5 2 5 3 1 Command Summary a 5 2 TN 5 6 Initialization asss 5 7 or uuu SSL E sha 5 11 Loge EEE 5 31 Tr uu E E E E paqupa wapiya 5 43 Motion Related a 5 57 NN 5 77 Data Acquisition u heerndneiee 5 85 DET 0 u usus nasa yawa anasu qasay 5 99 YS EEE 5 105 34 User Programming succsee enne aE 5 109
36. After booting up a Windows 95 system will respond to the ESP6000 card installation with the following prompt see Figure 2 4 3 NEW HARDWARE FOUND Select Which Driver You Want To Install For Your Hardware Windows Default Driver Driver From Disk Provided By Hardware Manufacturer _ Do Not Install A Driver Windows will Not Prompt You Again Select From A List Of Alternate Drivers OK CANCEL HELP Figure 2 4 3 Controller Card Device Driver Prompt Representative Screen Only Section 2 System Set Up 2 7 Select DRIVER FROM DISK PROVIDED BY HARDWARE MANUFACTURER and press OK Another Windows 95 prompt appears see Figure 2 4 4 INSTALL FROM DISK Insert The Manufacturer s Installation Disk Into The Drive Selected And Then Press OK OK CANCEL BROWSE Copy Manufacturer s Files From A Figure 2 4 4 Install From Disk Message Representative Screen Only Insert the disk labeled ESP6000 Windows 95 Device Driver into the com puter floppy disk drive and select OK Another Windows 95 prompt appears see Figure 2 4 5 SYSTEM SETTINGS CHANGE To Finish Setting Up Your New Hardware You Must Re Start Your Computer Do You Want To Re Start Your Computer Now YES l NO Figure 2 4 5 System Settings Change Message Representative Screen Only Remove the device driver floppy disk Select YES to re boot
37. Binary code 10100000 Number decimal ASCII code Binary code 11010000 10100001 11010001 10100010 11010010 10100011 11010011 10100100 11010100 10100101 11010101 10100110 11010110 10100111 11010111 10101000 11011000 10101001 11011001 10101010 11011010 10101011 11011011 10101100 11011100 10101101 11011101 10101110 11011110 10101111 11011111 10110000 11100000 10110001 11100001 10110010 11100010 10110011 11100011 10110100 11100100 10110101 11100101 10110110 11100110 10110111 11100111 10111000 11101000 10111001 11101001 10111010 11101010 10111011 11101011 10111100 11101100 10111101 11101101 10111110 11101110 10111111 11101111 11000000 11110000 11000001 11110001 11000010 11110010 11000011 11110011 11000100 11110100 11000101 11110101 11000110 11110110 11000111 11110111 11001000 11111000 11001001 11111001 11001010 11111010 11001011 11111011 11001100 11111100 11001101 11111101 11001110 11111110 Appendix D Binary Conversion Table 11001111 11111111 Appendix E System Upgrades EL ESP6000 Controller Card E 1 1 Installing New
38. Description Returns Hint Usage Example See Also Set Axis Acceleration Rate Report Axis Acceleration Rate Setting include esp6000 h int esp set accel long axis float accel int esp get accel long axis float accel long axis axis number from 1 6 float accel target acceleration lt maximum accel in user units seconds esp6000 dll esp_set_accel sets the target acceleration for the specified axis esp get accel reports the target acceleration setting for the specified axis ESPOK ESPERROR Acceleration typically equal to deceleration include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 set axis 1 trajectory parameters esp set speed l 30 0 esp set accel l 200 0 esp set decel l 150 0 4 Check error starus esp get error num amp error amp ServoTick if error printf Error d Reported NrNn error esp_set_speed esp_set_decel esp_move_absolute esp_set_resolution esp set decel Set Axis Deceleration Rate esp get decel Get Axis Deceleration Rate Synopsis include esp6000 h int esp set decel long axis float decel int esp get decel long axis float decel Arguments long axis axis number from 1 6 float accel target deceleration lt maximum accel in user units seconds Library Location Nesp6000 dll Description esp set decel sets the
39. E 1 ESP6000 Controller Card E 1 E 1 1 Installing New Soltware E 1 E 1 2 Installing New Firmware E 4 Appendix F ESP Configuration Logic F 1 Appendix G Factory Service asar G 1 NINNI G 3 List of Figures Figure 1 4 1 ESP6000 Controller Card a doveetuveddoasedeniaerpsanelcneiabutnedaettin 1 6 ZI I Ve LOT LO EEE EEE ENE EE 1 7 Figure 2 5 1 ESP6000 Controller Card icisiassnimancasusudeunnssnnavedervonecincanqasnienhenstanatncehunedtduacipsnsediniaahdhs tindonedhosedntewuneeonavindeuids 2 2 Figure 2 3 2 UniDripe6000 Front and ERR 24 Figure 2 4 1 Enclosure Removal EEE EEE 2 6 Figure 2 4 2 ESP6000 Controller Card Insertion Orientation a 2 7 Figure 2 4 3 Controller Card Device Driver Prompt Representative Screen Only 2 7 Figure 2 44 Install From Disk Message Representative Screen Only a 2 8 Figure 2 4 5 System Settings Change Message Representative Screen Only a aaaaasssssssssa 2 8 ENN FS NNN 2 9 Figure 2 4 7 Control Panel
40. Figure 8 1 4 Auxiliary I O Cable Connections Table 8 1 4 Auxiliary I O Connections ESP6000 Controller Card To Device Reference Designation D Sub Connector JP5 Customer specified WARNING Power down personal computer or external power supply before connecting any equipment Section 8 Optional Equipment 8 5 8 1 5 Driver Interface 100 100 pin Cable The driver interface cable connects the ESP6000 controller card to the UniDrive6000 The cable is shown in Figure 8 1 5 and connector pin outs and orientation are provided in Appendix C Figure 8 1 5 Driver Interface 100 100 pin Cable 8 1 6 Motor Driver 100 68 pin Cable The motor driver cable connects the ESP6000 controller card to the UIB The cable is shown in Figure 8 1 6 and connector pin outs and orientation are provided in Appendix C I N97130 Figure 8 1 6 Motor Driver 100 68 pin Cable 8 6 82 UniDrive6000 8 2 1 Motor Driver Card The UniDrive6000 can be upgraded to operate with up to six stages by installing a separate driver card for each additional stage Procedures for adding a driver card are provided in the following paragraphs WARNING Power off all equipment and unplug AC power cord s before installing any equipment CAUTION The UniDrive6000 and driver cards are sensitive to static electricity Wear a properly grounded anti static strap when handling equipment Shut down all stage operations
41. Introduction Procedures for unpacking the equipment hardware and software require ments descriptions of controls and indicators and setup procedures are provided in Section 2 System Setup Instructions for configuring and powering up the UniDrive and stage motors for home and jog motions and for system shut down are provided in Section 3 Quick Start Features and operation of the Windows motion and tuning utilities are described in Section 4 Newport provided commands language specific information and error handling procedures are provided in Section 5 Programming An overview of motion parameters and equipment is provided in Section 6 Motion Control Tutorial Servo tuning principles and procedures are given in Section 7 Procedures for ordering installing and using optional equipment are provided in Section 8 The motion control software data acquisition and Peripheral Component Interconnect PCI bus structure are described in Section 9 Advanced Capabilities 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 ESP configuration logic Factory service 1 1 Safety Considerations 1 2 The following general safety precautions must be observed during all phases of operation of this equipment Failure to comply wit
42. Operation At start up the program will load the Dynamic Link Library DLL and initialize the ESP6000 controller card When the system is ready to oper ate a message window will identify ESP compatible stages and motor drivers and indicate that initialization status Commands to operate the motion utility are located on the Main Menu as drop down menus or provided via tool bar buttons Default settings are provided for ESP compatible stages but settings for non Newport stages must be individually configured from the Setup menu The minimum setting requirement categories are listed in Tables 4 1 1 and 4 1 2 4 2 Table 4 1 1 Stage Motor Type Settings Motor Micro Step Full Step Motor Type Current PID Factor Resolution DC X X Stepper X X X Table 4 1 2 Stage Motor Trajectory Settings Characteristic Nominal Maximum Resolution Units X Speed X X Acceleration X X Deceleration X X Jerk X X NOTE Save configuration input on a systematic basis to ensure operating parameters are not lost CAUTION Do not connect or disconnect stages while the personal computer and UniDrive are powered up The Main Menu is shown in Figure 4 1 1 and menu descriptions are provided in the following paragraphs 5 lel Es fik Setup foton Etatus Helg Save Enable Stop JOC T eston Cice Hore Demo Hode reed ee Figure 4 1 1 Main Menu 4 1 3 1 File Menu The File Menu consists o a series
43. Programming 5 63 esp set master initial position Set Master Initial Position esp get master initial position Report Master Initial Position 5 64 Synopsis Arguments Library Location Description Returns Hint Usage Example See Also include esp6000 h int esp set master initial position long master double position int esp get master initial_position long master double position long slave master axis number from 1 8 double position master initial position in user units esp6000 dll esp_set_master_initial_position sets master initial position This API function call enables the user to define the master axis initial position thereby eliminating the initial jump that may occur in the slave axis as it begins slaving esp_get_master_initial_position reports the present master initial position setting NOTE The controller defaults to normal non master slave mode after system reset ESPOK ESPERROR include esp6000 h main if esp_init_system exit 1 assignment axis 2 slave to axis l master esp set master slave l 2 assign master slave ratio esp set master slave ratio 2 0 5 set slave to track master position encoder esp set traj mode 2 SLAVEP set Master initial position esp set master initial position l 0 0 set slave initial position esp set slave initial position 2 0 0 e
44. assuming that we don t have any external load the motor does not develop any torque This isa stable point If external forces try to move the rotor Figure 6 6 10 the magnetic flux will oppose the forces The more teeth misalignment exists the larger the generated torque Figure 6 6 10 External Force Applied If the misalignment keeps increasing at some point the torque peaks and then starts diminishing When the stator is exactly between the rotor teeth the torque becomes zero again Figure 6 6 11 Figure 6 6 1 I Unstable Point Section 6 Motion Control Tutorial 6 25 6 26 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 diagram of torque phasing versus teeth misalignment is shown in Figure 6 6 12 The maximum torque is obtained at one quarter of the tooth spac ing which is equivalent to one full step Lil Torque N Figure 6 6 12 Torque and Tooth Alisnment 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 When mini and micro stepping motors are used in open loop applications there is inherent error but advanced controllers like the ESP6000 can control th
45. esp init system printf ESP6000 Not Initialized r n exit 1 set PID gain esp set kp 1l 100 0 esp set kd 1l 200 0 esp set ki 1 50 0 esp set 1il 1 50 0 transfer PID to working registers esp_update_filter save parameters to ESP6000 Flash EPROM esp save parameters fe Check error status esp get error num amp error amp ServoTick if error printf Error d Reported error esp set kdQ esp set ki esp set 110 esp update filter esp_set_kd esp get kd Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Set PID Derivative Gain Kd Report PID Derivative Gain Kd Setting Hinclude esp6000 h int esp set kd long axis float kd int esp get kd long axis float kd long axis axis number from 1 6 float kp derivative gain Vesp6000 dll esp_set_kd sets the derivative gain kd of the PID servo filter esp_get_kdQ reports the derivative gain kd setting NOTE If necessary use the ESP tune utility to optimize servo PID and feedforward parameters ESPOK ESPERROR include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialized r n exit 1 set PID gain esp set kp 1 100 0 esp set kd 1 200 0 esp set ki 1 50 0 esp set il 1 50 0 transfer PID
46. exit 1 J enable motor power esp_enable_motor 2 esp get motor onofi status conor test for exis 2 enabled it Onoffe 0x02 printf Axis 2 Motor Enabled r n See Also esp disable motor esp enable motor Section 5 Programming 5 61 esp set master slave Assign Master Slave Axes esp get master slave Report Master Slave Axes Assignment Synopsis include esp6000 h int esp set master slave long master long slave int esp get master slave long master long slave Arguments long master master axis number from 1 8 Note axes 7 and 8 refer to auxiliary counters long slave slave axis number from 1 6 Library Location esp6000 dll Description esp_set_master_slave assigns master slave relationship between axes esp_get_master_slave reports the present master assignment to the specified pos sible slave axis NOTE The slave s trajectory mode must be set to SLAVEP slave to master encoder position or SLAVET slave to master trajectory in order for master slave mode to take effect The controller defaults to normal non master slave mode after system reset Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main if esp_init_system exit 1 assignment axis 2 slave to axis l master esp set master slave l 2 assign master slave ratio esp set master slave ratio 2 0 5 set slave to tr
47. 3 68 93 Reset Output From Controller 5V 250 mA maximum 5V supply available from the PC 12V 250mA maximum 12V supply available from the PC 12V 250mA maximum 12V supply available from the PC Amplifier Enable Output Axis 1 2 3 4 Open drain output with 1KQ pull up resistor to 5 volts This output is asserted active True when the axis is in the motor ON state and False for the motor OFF The actual TTL level is user configurable Analog Ground Servo digital to analog DAC ground Digital Ground Ground reference used for all digital signals Encoder A Input Axis 1 2 3 4 The AG input is pulled up to 5 volts 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 used for position tracking Encoder B Input Axis 1 2 3 4 The B input is pulled up to 5 volts with a 1KQ 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 Home Input Axis 1 2 3 4 This input is pulled up to 5 volts with a 1KQ resistor The Home signal originates from the stage and is used for homing the stage to a repeatable location Index Input Axis 1 2 3 4 The Index input is pulled up to 5 volts with a 1KQ resistor and is buffered with 26LS32 dif
48. 3 4 1 4 Jog lel E Mode Speed A ALKIS w 1 12 C3 index Distance gt 10 counts Y 1 0 counts Figure 3 4 1 Jog Menu NOTE Enable stage s motor power before jogging Next select SPEED from the Jog menu see Figure 3 4 2 then select the X or Y axis option from the Speed drop down menu The Set X Y Speed menu appears see Figure 3 4 3 Figure 5 4 2 Speed Menu Set x Spead Ei Curent Speed OR Hew Speed Cancel Figure 3 4 3 Set X Y Speed Menu Enter a value in the New Speed text box and select OK The Jog menu appears To execute a jog in the Free Run unspecified motion length mode select a stage number 1 6 in the X or Y axis sub panels Section 3 Quick Start 3 5 NOTE You cannot designate both the X and Y axes for the same stage axis number Press an X or Y arrow key to move a stage Press and quickly release the arrow key for one count single motions Press and hold down an arrow key for continuous movement and release the arrow key to stop movement To execute a jog in the Index specified motion length mode first select MODE from the Jog menu then INDEX from the Mode drop down menu Input values for the X or Y axis in the Index Distance sub panel and press an arrow key to start a movement Each depression of the arrow key will produce a movement specified by the entry in the Index Distance sub panel NOTE Stage hardware travel l
49. 5 volts and pulled down to ground with 1KQ resistors This facilitates both single and double ended signal handling into a 26LS32 differential receiver The A quadrature encoded signal originates from external feedback circuitry and is used for position tracking Auxiliary Ch 8 Input B The B input is pulled up to 5 volts with a 1KQ resistor The signal is buffered with a 26LS32 differential receiver The BG quadrature encoded signal originates from external feedback circuitry and is used for position tracking Auxiliary Ch 8 Input BC The B input is pulled up to 5 volts and pulled down to ground with 1KQ resistors This facilitates both single and double ended signal handling into a 26LS32 differential receiver The B quadrature encoded signal originates from external feedback circuitry and is used for position tracking Digital Ground Ground reference used for all digital signals Digital I O The digital I O can be programmed to be either input or output in 8 bit blocks via software and is pulled up to 5 volts with a 1KQ resistor In the auxiliary connector only 4 bits of digital I O from each 8 bit block are made available so that users can program 4 bits as output and 4 bits of input Bits 0 3 are controlled by Port A API calls and bits 8 11 by Port B API calls Note that these digital I O signals are internally hard wired to digital I O connector JP4 signals When configured as output each bit can
50. 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 12 13 74 75 6 11 8 79 80 81 82 83 84 85 86 E Stop Input Reserved Reserved Home input Axis 6 Travel Limit Input Axis 6 Step Output Axis 6 Index Input Axis 6 Encoder B Input Axis 6 Encoder A Input Axis 6 Amplifier Enable Output Axis 5 Home Input Axis 5 Travel Limit Input Axis 5 Step Output Axis 5 Index Input Axis 5 Encoder B Input Axis 5 Encoder A Input Axis 5 Home Input Axis 4 Travel Limit Input Axis 4 Step Output Axis 4 Index Input Axis 4 Encoder B Input Axis 4 Encoder A Input Axis 4 Amplifier Enable Output Axis 3 Home Input Axis 3 Travel Limit Input Axis 3 Step Output Axis 3 Index Input Axis 3 Encoder B Input Axis 3 Encoder A Input Axis 3 Home Input Axis 2 Travel Limit Input Axis 2 Step Output Axis 2 Index Input Axis 2 Encoder B Input Axis 2 Encoder A Input Axis 2 Amplifier Enable Output 1 C 3 Table C 1 1 Main I O Connector Pin Outs Continued Pin Function Pin Function 37 Amplifier Fault Input Axis 1 87 Home Input Axis 1 38 Travel Limit Input Axis 1 88 Travel Limit Input Axis 1 39 Step Direction Output Axis 1 89 Step Output Axis 1 40 Index Input Axis 1 90 Index Input Axis 1 41 Encoder B Input Axis 1 91 Encoder B Input Axis 1 42 Encoder A Input Axis 1 92 Encoder A Input Axis 1 4
51. Caution Calls attention to a procedure practice or condition which if not correctly performed or adhered to could result in damage to equipment CAUTION Note Calls attention to a procedure practice or condition which is considered important to remember in the context NOTE 1 3 1 4 gt e OE This symbol indicates the principal on off switch is in the on position This symbol indicates the principal on off switch is in the off position A terminal which is used to connect instrument to earth ground This symbol informs operator to read instructions in the operator manual before proceeding 1 3 2 Terminology The following is a brief description of the terms specific to motion control and the ESP6000 controller card and UniDrive6000 universal motor driver equipment API Application Programmer Interface Axis a logical name for a stage positioner motion device DLL Dynamic Link Library Encoder a displacement measuring device term usually used for both linear and rotary models ESP Enhanced System Performance motion system comprised of ESP6000 controller card UniDrive universal motor driver and compatible stage s ESP is synonymous with a plug and play motion system ESP6000 the ESP6000 controller card 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
52. E All home search routines are run so that the last segment E is performed in the positive direction of travel CAUTION The home search routine is a very important procedure for the posi tioning accuracy of the entire system and it requires full attention from the controller Do not interrupt or send other commands during execution unless it is for emergency purposes 65 Encoders PID closed loop motion control requires a position sensor The most widely used technology by far is the incremental encoder The main characteristic of an incremental encoder is that it has a 2 bit gray code output more commonly known as quadrature output Figure 6 5 1 1 2 3 4 A E F B Figure 6 5 1 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 an encoder with 10um phase period can offer a 2 5um resolution when used with a x4 type decoder 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
53. E 1 2 Uninstall ESPEDIDO Select Luisi Meihin erme nater 5 0 ines perga You Tm choose oc s bomslicah uninstall Hy Golbusre o bo Thoz eracku ah ci gaze ac rade ie pol gloa slact che Cuclo Betton ic sefec with vocis aat Ze ane ang His wits Seer Hye Soma barlari Po Fri rf nuliriaz B ople Prose ber Wee hron In elise i jJ rir NE r Ladin Rank FT Fars Figure E 1 2 Select Uninstall Method Screen Select NEXT from the Select Uninstall Method screen The Perform Uninstall screen appears Figure E 1 3 Uninstall ESPEDDO Perform Oats Youn mcrae nase be Ps a0 rm pri sen ees The Firish Euticn io Deer the Usa ess he Bac Tun lo charge an hhe u miiel oo0bsns ters ce noe uR a Pa i Figure E 1 3 Perform Uninstall Screen Select FINISH message screen will appear with status information and the user will be returned to the Add Remove Programs Properties screen when the uninstall is complete Refer to Installing The Windows Software in the System Startup section for installing the new version software E 1 2 Installing New Firmware New firmware installation may be required due to upgrading Refer to Appendix G Factory Service to contact Newport Corporation for ordering information To begin an installation select FIRMWARE From the ESP6000 Setup Menu see Figure E 1 4 Fil Molin Status Help Motion k 3e Folls Stop Jq Taestoy Cucce Hore H
54. Full Step Resolution esp get fullstep resolution Report Full Step Resolution Setting Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming include esp6000 h int esp set fullstep resolution float fullstep int esp get fullstep resolution float fullstep long axis axis number from 1 6 float fullstep full step resolution in user units esp6000 dll esp_set_fullstep_resolution provides the controller with the step motor fullstep resolution in user units This API function call enables the ESP6000 to properly calcu late the number of step pulses to output in order to achieve desired encoder based position esp_get_fullstep_resolution reports present microstepping factor setting in ESP6000 memory ESPOK ESPERROR Fullstep resolution is automatically set with ESP compatible stepper stages include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialized r n exit 1 Define Axis 1 Microstep Resolution esp set microstep factor l 10 Full step resolution esp set fullstep resolution l 0 001 Save new settings to non volatile memory esp save parameters check error status esp get error num amp error amp ServoTick if error prim i Error d Reported r n error esp_set_fullstep_resolution 5 71 esp_se
55. I O Configuration Register Continued 18 reserved 31 0 reserved 31 1 reserved ESPOK ESPERROR include esp6000 h main if esp_init_system printf ESP6000 Not Initialized Arin exit 1 Disable Motor amp Flag Error On Amp Fault esp set ampio config l 0x0b 5 21 esp set feedback config Set Amplifier Input Configuration Register esp get feedback config Report Amplifier Input Configuration Register 5 22 Synopsis Arguments Library Location Description include esp6000 h int esp set feedback config long axis long config int esp get feedback config long axis long config long axis axis number from 1 to 6 long config configuration register esp6000 dll esp_set_feedback_config is used to configure the feedback checking and event handling for the specified axis esp_get_feedback_config reports present register setting BIT VALUE DEFINITION 0 0 disable feedback error checking 0 1 enable feedback error checking 1 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 feedback for stepper positioning 8 1
56. Limit Input Travel Limit Input Encoder Channel A Encoder Channel B Encoder Supply 5 12 5V Standard Encoder Ground Encoder Channel A Encoder Channel B Encoder Index DC Motor Phase Output Table C 2 1 Driver Card Connector Pin Outs DC Motor Tacho Generator Tacho Generator Tacho Generator Tacho Generator DC Motor Phase DC Motor Phase DC Motor Phase DC Motor Phase Not Connected Not Connected Not Connected Not Connected Home Signal Shield Ground Encoder Index Limit Ground Travel Limit Input Travel Limit Input Encoder Channel A Encoder Channel B Encoder Supply 5 12 5V Standard Encoder Ground Encoder Channel A Encoder Channel B Encoder Index 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 60V 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 60V 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 60V 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 w
57. Menu saci sniasessvruornsiesdsshuntebinen cxsienssiuhid naasautiwoundystennaebuskteaitousurcasinisniunteaseannuducstdepesiuawsaewadendeneds 2 9 Figure 2 4 8 Add Remove Programs Properties Menu sansene bestetid 2 10 Figure 2 4 9 Install Program From Floppy Disk Or CD ROM Screen a ssssssssssssssssssssas 2 11 Fiure 24 10 k n Installation GO 0 EEE EEE EE EE 2 11 Figure 2 4 1 I ESP Welcome Screen rrrnnnnnnnnnnrnnnrrnnnnrrrnnnrrnnnrererrnrnnnnreerernnnrnnsessrennnrsaneeesennrnsnnesrsennnnsnseesrennnrsaeesssennnne 2 12 Figure 2 4 12 ESP Select Destination Directory Screen een 2 12 Figure 2 4 15 ESP Ready To Install Screen nm muniaemdeniebmiqntrvvarsdatkiie 2 15 Fiare EE ge mnsa ESS ITE EEE EE 2 14 Figure 2 4 15 Insert New Disk Message Screen rrrrrrrrnnrrrrnnvrnrrsnrrerrrrnrerrsnvrerernnnsrrernnerrsnnrerrsnnnerrennneresnnsersrnnrersnnnsesenn 2 14 Figure 24 10 NNNMNNNNNNee 2 15 Figure 2 4 17 ESP Initialization Screen checssetnstnciavoedeseiauteaneetade deeuisotseaes deixar stinensteninredetasens 2 15 Figure 2 4 18 ESP6000 Error OSS AN EEE EEE EN 2 16 Figure 2 4 19 Line Voltage Select Switch rrrrrnnnnnnnnnnnnnnnnnnnnnrvnnrrnnnrnnnnnrrrnnnrrnnnerrernrnrnnnesersennnnnsessrnnnrnnnnessessennnnnnsseenn 2 17 Se KU DK OE REE EE EEE 2 18 Figure 2 4 21 UniDrive To Controller Card Connection rrrrrnn
58. Rear Fler B 3 B 2 2 Replacing Fuses On The UniDrive Motor Power Supply bold hv4rvr4vrv44r Sa niaaa B 4 Bo TN B 7 Appendix C Connector Pin Assignments C 1 C 1 ESP6000 Controller Card C 1 C 1 1 Main VO 100 Pin Connector C 2 C 1 2 Motor Driver Interface 100 to 68 Pin Cable C 6 C 1 3 Digital I O 50 Pin JP4 Connector C 9 C 1 4 Auxiliary I O 40 Pin JP5 Connector C 11 C 1 5 Analog I O 26 Pin JP2 Connector C 15 C 2 UniDrive6000 Universal Motor Driver C 17 C 2 1 Controller Input Connector C 17 C 2 2 Motor Driver Card 25 Pin I O Connector C 17 3 RER C 21 C 3 1 MD4 15 Pin Connector rrrrrnnnnrnnnnnnnnnnnnnnnnnnnnnnnnnnneeneneeeneee C 22 C 3 2 Eighteen Lead Connector C 24 C 3 3 Optional Power Supply Connector C 26 C 3 4 NEMNE C 27 2 JPP ven C 28 Table of Contents vii vill Appendix D Binary Conversion Table D 1 Appendix E System Upgrades E 1
59. Software Refer to Appendix G Factory Service to contact Newport Corporation for software upgrades new version of the Windows software can be installed any time after the ESP6000 controller card and driver software have been installed New version software installations are performed in the same manner as first time installations Before installing new software however users need to uninstall existing software Procedures for uninstalling software are provided in the following paragraphs From a Windows 95 desk top select START SETTINGS CONTROL PANEL and ADD REMOVE PROGRAMS refer to Installing The Motion Utility in the System Startup section The Add Remove Programs Properties screen appears see Figure E 1 1 Appendix E System Upgrades E 1 Add Nemore Programs Properties InstallUninstal INC ONE Setup Etarup Dis drive click Install Bs 0 stall a new program Irom llopoy disk or LO ROM he folowing software cen be sutomaticall removed by Wires Tu I21113E2 a p ogian ur um odile ibs Ir 3 alli2 u corponcnle s k it rom the list and click add Hemowe E F ulil ic fes Yrusscan v3 1 Licensed cele te Nene Figure E 1 1 Add Remove Programs Properties Screen Appendix E System Upgrades Select the Install Uninstall tab from the Add Remove Programs Properties screen then select ESP util and ADD REMOVE The Select Uninstall Method screen appears Figure
60. 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 6 5 2 Section 6 Motion Control Tutorial 6 19 Figure 6 5 2 Optical Encoder Scale The encoder read head has three major components a light source a mask and a detector Figure 6 5 3 The mask is a small scale like piece having identically spaced transparent and opaque lines light source detector mask Figure 6 5 3 Optical Encoder Read Head If there is movement by either the scale or read head light will be blocked by any overlay or pass through otherwise Figure 6 5 4 Figure 6 5 4 Single Channel Optical Encoder Scale and Read Head Assembly 6 20 The detector signal is similar to a sine wave Converting it to a digital wavelorm we 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 6 5 5 Figure 6 5 5 Two Channel Optical Encoder Scale and Read Head Assembly There are two basic types of encoders linear and rotary The linear encod ers also called linear scales 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
61. 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 5 volts with a 1KQ 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 Appendix C Connector Pin Assignments C 5 C 1 2 Encoder B Input The B input is pulled up to 5 volts 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 Reset Output From Controller The Reset output is a TTL buffered output which represents ESP6000 hardware reset status of the controller itself When the controller is held in a reset state this output is a logical LOW When connected to the UniDrive6000 this output resets all driver channels Servo DAC Output The servo digital to analog converter DAC output is the 10 volt control signal used to control DC servo motors This signal is the output of the 18 bit servo DAC Step Output The Step Output is an open collector i e 7407 output pulled up to 5 volts with a 1KQ resis
62. Usage Example See Also Section 5 Programming Set Digital I O Port Report Digital I O Port A Status include esp6000 h int esp set dio porta long data int esp get dio porta long data long data digital I O Port A Vesp6000 dll esp_set_dio_porta writes specified value to digital I O port A located on both auxiliary I O and digital I O connectors on the controller card Port A is an 8 bit port starting from location bit 0 through bit 7 esp get dio porta reports DIO port A status Use function esp set portabc dir0 to define Port A as either an input or output Port A DIO signals are externally pulled up via a 4 7KQ resister to 5 volts Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit l Bit 0 NOTE After system reset Ports A B and C are automatically configured as inputs ESPOK ESPERROR Define port direction with esp_set_portabc_dir before using this function include esp6000 h main if esp_init_system exit 1 Configure Ports A B C Directions esp set portabc dir PORT OUTPUT PORT INPUT PORT INPUT Set DIO A Port esp set dio porta long OxOFF esp get dio porta esp_set_portabc_dir 5 101 esp_set_dio_portb esp get dio portb Synopsis Arguments Library Location Description Returns Hint Usage Example See Also 5 102 Write To Digital I O Port b Report Digital I O Port B Status Hinclude esp6000 h int esp s
63. absolute motion commands will then be referenced to this position ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 Enable Axis 2 Motor Power esp enable motor 2 Set Axis Home Speed esp set home speed 2 20 0 Begin Home Search On Axis 2 esp find home 2 1 Wait For Home Search Completion while l lesp home done 2 Check error status y esp get error num amp error amp ServoTick if error printi Error Sd Reported r n error esp_set_home_speed esp_home_done esp move done Return Move Completion Status Synopsis include esp6000 h int esp move done long axis Arguments long axis axis number from 1 6 axis 0 tests for all axes Library Location esp6000 dll Description esp_move_done returns the moving not moving status of the specified axis 1 6 If axis parameter 0 then the returned value is the combined logical OR of all axes This function returns 0 ESPNOTDONE while the axis has not completed the move and a 1 ESPDONE when finished Returns ESPDONE ESPNOTDONE Hint Usage Example include esp6000 h main long error servotick double position if esp init system l printf ESP6000 Not Initialized Vw exit 1 enable motor power esp_enable_motor 2 move axis 2 to
64. and ESP6000 hardware is reset after an esp_init_system function call ESPOK ESPERROR Always evaluate returned value from esp_init_system include lt stdio h gt include lt stdlib h gt include esp6000 h void tell_error int esp_error t char buffer MAX ERROR LEN switch esp error case ESP_OK ESP6000 and communications OK break default error_msg error_code buffer fprintf stderr ERROR s od i buffer esp_error exil 1 preak int main int esp_error esp error esp init system initialize ESP6000 tell error esp error report errors if any return 0 esp_open_system Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Initialize PCI Communications include esp6000 h int esp open system void None esp6000 dll esp_open_system initializes the ESP6000 PCI bus communication but does not invoke a board hardware reset ESPOK ESPERROR Always evaluate returned value from esp_open_system includa lt stdio h gt include lt stdlib h gt include esp6000 h void tell_error int esp_error char buffer MAX ERROR LEN switch esp_error case ESP OK preak ESP6000 and communications OK default error msg error code buffer fprintf stderr ERROR s Fa NA butter esp error exit 1
65. and is known ahead ol time The obvious conclusion is that we could take this velocity information scale it by a K 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 Because the signal is derived from the velocity profile and it is being sent directly to the motor driver the procedure is called velocity feed forward Of course this looks like an open loop and it is Figure 6 3 6 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 Servo Controller Trajectory Generator Motion Controller Encoder Figure 6 3 6 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 is true only if the driver is a simple voltage amplifier or current torque driver special case is when the driver has its own velocity feedback loop from a tachometer Figure 6 3 7 Servo Controller Trajectory Generator Motor 7 tachometer Motion Controller Encoder Figure 6 3 7 Tachometer Driven PIDF Loop The tachometer is a device that outputs a voltage pr
66. command processing for the specified time after the specified axis has stopped If the axis parameter is set to zero then the API will start the delay process after all axes have stopped This API call uses the PC system timer which has a 55 milli second resolution Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main long error servotick double position if esp_init_system printf ESPC000 Not Initialized VA exit 1 enable motor power esp enable motor 2 move axis 2 to absolute position 3 0 esp_move_absolute 2 3 0 Wait 2 5 seconds esp delay after stop 2 2 5 l eCheck error status y esp get error num amp error amp ServoTick if error printf Error d Reported error See Also esp delay 5 34 esp_move_relative Move Relative Displacement Synopsis include esp6000 h int esp move relative long axis double displacement Arguments long axis axis number from 1 6 double displacement target displacement in user units Library Location esp6000 dll Description esp_move_relative will displace the selected axis relative to the present position For servo motor axes relative displacements are with respect to present target absolute position This helps avoid cumulative errors due to over and or under shooting positioners Returns ESPOK ESPERROR Hint Usage Example include esp6000 h
67. data 5 101 esp set dio portb long data 5 102 esp get dio portb long data 5 102 esp_set_dio_portc long data 5 105 esp_get_dio_portc long data 5 103 System esp_get_error_num int error int ServoTick 5 106 esp_get_error_string char ErrorString int error int VL Zum Zn SD us 5 107 esp get version char FirmVer char DIIVer 5 108 5 3 2 Command List Commands are provided in the following pages Section 5 Programming Initialization 5 7 5 8 esp_init_ system Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Initialize ESP6000 and PCI Communications include esp6000 h int esp init system void none esp6000 dll esp init system 0 initializes the ESP6000 controller internals and PCI bus communication NOTE The first time new stages are connected the esp_init_system API function call may take as long as 20 seconds to completely upload and parse all ESP compat ible stage data and configure UniDrive axes The esp_init_system API function must be the first ESP function called in any application All motors are turned OFF
68. esp get resolution Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Set Axis Resolution Report Axis Resolution Setting include esp6000 h int esp_set_resolution long axis float resolution long units int esp_get_resolution long axis float resolution long units long axis axis number from 1 6 float resolution define mechanical resolution long units define user units as ENCODER COUNT 0 MOTOR STEP 1 MILLIMETER 2 MICROMETER 3 INCHES 4 MILLI INCHES 5 MICRO_INCHES 6 DEGREE 7 GRADIAN 8 RADIAN 9 MILLIRADIAN 10 MICRORADIAN 11 NOTE ESP6000 motion UNITS are treated as labels only for user convenience No conversion is performed when units of measurement are changed from one unit to another Users will have to re enter all affected motion parameters e g speed when units are changed Resolution and units are automatically set the first time an ESP compatible stage is detected on that axis Vesp6000 dll esp_set_resolution defines the mechanical resolution for the specified axis ESPOK ESPERROR No need to change resolution with ESP compatible stages present include esp6000 h main long error servotick if esp_init_system exit 1 define axis 1 resolution equal to 0 001 mm esp set resolution l 0 001 MILLIMETER check error status esp get error num amp error amp ServoTick if
69. esp set followerr config is used to configure the motor following error checking and event handling for the specified axis esp get followerr config reports the present configuration BIT VALUE DEFINITION 0 0 disable motor following error checking 0 1 enable motor following error checking 1 0 do not disable motor power on following error event 1 1 disable motor power on following error event 2 0 do not abort motion on following error event 2 1 abort motion on following error event 3 0 reserved 3 1 reserved 4 0 reserved 4 1 reserved 5 0 reserved 5 1 reserved 6 0 reserved 6 1 reserved 7 0 reserved 7 1 reserved 31 0 reserved 31 1 reserved Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main if esp_init_system printf ESP6000 Not Initialized r n exit 1 Disable Motor Power On Following Error esp set followerr config l 0x03 See Also esp set following error Section 5 Programming esp set hardlimit config Set Hardware Limit Configuration Register esp get hardlimit config Report Hardware Limit Configuration Register 5 18 Synopsis Arguments Library Location Description Returns Hint Usage Example See Also include esp6000 h int esp set hardlimit config long axis long config int esp get hardlimit config long axis long config long axis axis number from 1 to 6 long config configuration register les
70. following error e There must be a following error in order to drive the motor e Higher velocities need higher motor voltages and thus create 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 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 during each every servo cycle and the value multiplied by the K gain factor is added to the control signal Figure 6 3 3 Servo Controller Trajectory e gt mole Generator Encoder Motion Controller Figure 6 3 3 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 PID Loop The third term of the PID loop is the derivative term
71. initial position long master double position 5 64 esp get master initial position long master double position 5 64 esp set slave initial position long slave double position 5 65 esp get slave initial position long slave double position 5 65 esp set resolution long axis float resolution long units 5 66 esp get resolution long axis float resolution long units 5 66 esp set soft limits long axis double neg double pos 5 67 esp get soft limits long axis double neg double pos 5 67 esp set following error long axis double error 5 68 esp get following error long axis double error 5 68 esp set position long axis double position 5 69 esp get position long axis double position 5 69 esp set microstep factor long axis long resolution 5 70 esp get microstep factor long axis long resolution 5 70 esp set fullstep resolution float fullstep 5 71 esp get fullstep resolution float fullstep 5 71 esp set motor current long axis float current 5 72 Function Motion Related Cont Servo Data Acquisition Digital I O Section 5 Programming Command Page esp get motor current long axis float current
72. is provided for stage home index travel limit and encoder feedback circuitry Limit_1 This input is pulled up to 5 volts with a 4 7KQ resistor by the controller and represents the stage positive direction hardware travel limit The active true state is user configurable The default is active HIGH Limit 1 This input is pulled up to 5 volts with a 4 7KQ resistor by the controller and represents the stage positive direction hardware travel limit The active true state is user configurable The default is active HIGH P_1 The Step Output is an open collector i e 7407 output pulled up to 5 volts with a 1KQ resistor This output is used to control the commutation sequence of a step motor The motor will increment one step for each pulse output P_1 The Step Direction Output is an open collector i e 7407 output pulled up to 5 volts with a 1KQ resistor This output is used to control the commutation sequence of a stepper motor In Step Step mode the motor will increment one step for each pulse output In Step Direction mode this signal will control the direction of motor rotation A_I The A_1 input is pulled up to 5 volts with a 1KQ resistor The signal is buffered with a 26LS32 differential receiver The 1 encoder encoded signal originates from the stage position feedback circuitry and is used for position tracking B_1 The B 1 input is pulled up to 5 volts with a 1KQ resistor The signa
73. ler 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 performed at a very low speed and without a stop in between The routine described above could work but has one problem Using the low speeds it could take a very long time if the stage happens to start from the opposite end of travel To speed things up we can have the stage move fast in the vicinity of the origin switch and then perform the two slow mo tions D and E The new sequence is shown in Figure 6 4 5 ul C motion de origin switch encoder index pulse Figure 6 4 5 High Low Speed Origin Switch Search Motion segment B is performed at high speed with the pre programmed home search speed When the origin switch transition is encountered the stage 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 stage starts from the other side of the origin switch transition the routine will look like Figure 6 4 6 A g lion ae origin switch encoder index pulse Figure 6 4 6 Origin Search From Opposite Direction The ESP system moves at high speed up to the origin switch transition segment A and then executes B C D and
74. main drawback since technological limitations prevent them from having better resolutions than a few mi crons To get higher resolutions in linear scales a special circuitry must be added called a scale interpolator Other technologies like interferometry or holography can be used but they are significantly more expensive and need more space 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 lum 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 6 Motion Control Tutorial 6 21 66 Motors 6 6 1 6 22 There are many different types of electrical motors each one being best suitable for certain kind of applications The ESP6000 controller card supports two of the most popular types stepper motors and DC motors 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 Though the ESP6
75. not ESP compatible and must be uniquely configured by the user Home position the unique point in space that can be accurately found by an axis also called origin Home search a specific motion routine used to determine the home position 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 initiated manually Origin used interchangeably with home PCI Peripheral Component Interconnect type of personal computer bus PID a closed loop algorithm using proportional integral and derivative gain factors Positioner used interchangeably with stage and motion device Stage used interchangeably with motion device and positioner UniDrive6000 the universal motor driver used with the ESP6000 con troller card Section 1 Introduction 1 5 14 System Overview The Enhanced System Performance ESP architecture consists of the ESP6000 controller card UniDrive6000 universal motor driver and ESP compatible stages The ESP6000 controller card see Figure 1 4 1 is designed for convenient installation in the user s own PC The ESP 6000 s Windows based setup utility provides a full range of functions for configuring and operating from one to Six axes The system is designed to operate with Newport Corporation s ESP compatible stages but can be configured to functi
76. of drop down menus as shown in Figure 4 1 2 Menu functions are described in the following paragraphs te Bile Ei Fie ser Mating Stale Hef Davs Fjesel Zue ray2chory wT APA w Cieno ode Ext Demo Mode T1197 Figure 4 1 2 File Menu Z 4 1 5 1 1 Reset System Select RESET SYSTEM to perform a hardware reset of the ESP6000 control ler card and UniDrive if attached The user will be prompted to verify the selection After a hardware reset the ESP6000 will search for ESP compatible stages and configure the UniDrive accordingly 4 1 3 1 2 Save Select SAVE in order to save existing ESP6000 parameters to non volatile flash EPROM memory The ESP6000 will automatically reload saved parameters from flash memory to working registers after a hardware reset The Save command updates controller card flash memory only Stage memory parameters are not affected by the Save command 4 1 3 1 3 Advanced Select ADVANCED in order to be able to input parameters to the SetUp sub menus De selection causes the SetUp menu to become unavailable for use No additional menu or screen will appear 4 1 3 1 4 Demo Mode Select DEMO MODE to view and exercise the utility software with no ESP6000 controller card installed Section 4 Windows Utilities 4 3 4 4 4 1 5 1 5 Exit Select EXIT to leave the ESP6000 utility and return to the Windows desktop 4 1 3 2 Setup Menu The Setup Menu consist
77. peripheral detection and configuration Burst mode for all read and write transfers Supports 132 Mbytes per second peak transfer rate for both read and write transfers Full support of PCI bus initiators allows peer to peer PCI bus access as well as access to main memory and expansion bus devices through PCI and expansion bus bridges In addition a PCI master can access a target that resides on another PCI bus lower in the bus hierarchy Revision 2 0 specification supports PCI bus speeds up to 33 MHz Full definition of a 64 bit extension High end bridges support full bus concurrency with host bus PCI bus and the expansion bus simultaneously in use The specification includes a definition of PCI connectors and add in cards The specification defines three card sizes long short and variable height cards As fast as 60ns at a bus speed of 33 MHz when an initiator parked on the PCI bus is writing to a PCI target Arbitration for the PCI bus can take place while another bus master is in possession of the PCI bus This eliminates latency encountered during bus arbitration on buses other than PCI Economical use of bus signals allows implementation of a functional PCI target with 47 pins and a functional PCI bus initiator with 49 pins major design goal of the PCI specification is the creation of a system design that draws as little current a possible The specification provides support for up to 256 PCI buses Althou
78. rides up and down 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 Yaw qe Roll DRN Screw Pitch Figure 6 2 10 Pitch Yaw and Roll Wobble 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 6 2 11 lt Figure 6 2 1 I Wobble 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 6 2 11 Load Capacity There are two types of loads that are of interest for motion control applica tions 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 carriage 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
79. set correctly and do not try to exceed them Verify that all relevant parameters are set move command Home search not completed Faulty origin or index properly Carefully observe and record the motion signals sequence by watching manual knob rotation if available Refer to Appendix G Factory Service for assistance NOTE Many other types of problems are detected by the ESP6000 controller card and reported via error messages Refer to Appendix for a complete list and descriptions Fuse Replacement Appendix B Troubleshooting B 2 1 Replacing Fuses On The UniDrive Rear Power Line Panel WARNING Power down equipment and unplug AC power cord before replacing fuses At the rear of the UniDrive6000 depress the fuseholder tabs with a small thin bladed screwdriver see Figure B 2 1 and ease the fuseholder out o the AC plug receptacle Remove and inspect the fuses Replace as needed with 4 SLO BLO 250V fuse Schurter part number 21406 24 Re insert into the AC plug receptacle by pushing in the fuseholder until the tabs snap in place POWER ENTRY MODULE PANEL I AXIS POWER CONTROLLER g 5 4 3 2 1 suppuy TABS FUSES LINE VOLTAGE N CAUTION NO USER SERVICEABLE PARTS INSIDE REFER 90 120V OR FUSEHOLDER SERVICING TO QUALIFIED 1
80. target deceleration rate for the specified axis esp get decel reports the target deceleration rate for the specified axis Returns ESPOK ESPERROR Hint Deceleration typically is set equal to acceleration Usage Example include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialized r n exit 1 set axis 1 trajectory parameters esp_set_speed 1 30 0 esp set accel l 200 0 esp set decel l 150 0 15 ohedk error status 7 esp get error num amp error amp ServoTick if error printf Error d Reported Nrin error See Also esp set speed esp_set_accel esp move absolute esp_set_resolution Section 5 Programming 5 49 5 50 esp set max accel esp get max accel Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Set Axis Maximum Acceleration Rate Report Axis Maximum Acceleration Rate Setting include esp6000 h int esp set max accel long axis float accel int esp get max accel long axis float accel long axis axis number from 1 6 long accel maximum acceleration in user units seconds esp6000 dll esp_set_max_accel sets the maximum permissible acceleration for the specified axis The controller will not accept acceleration or deceleration parameters set by other functions e g esp_set_accel which exceed maximum permissible acce
81. the servo loop should be tuned 72 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 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 Section 7 Servo Tuning 7 1 7 2 1 1 22 72 3 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 ESP6000 controller avoids this problem by providing an internal trace capability When trace 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 c
82. to the next phase C the rotor will not stop but continue moving to the next target Repeating the current switch ing 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 perma nent 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 you a general idea of how they work A few other characteristics to keep in mind are e for a 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 if DC motors are turned externally manually etc they act as generators Section 6 Motion Control Tutorial 6 27 Advantages DC motors are preferred in many applications for the following reasons e smooth ripple free motion at any speed e high torque per volume e no risk of loosing position in a closed loop e higher power efficiency than stepper motors e no current requirement at stop e higher speeds can be obtained than with other types of motors 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 vacuu
83. to working registers esp update filter save parameters to ESP6000 Flash EPROM esp save parameters check error status esp get error num amp error amp ServoTick if error printf Error d Reported error esp set kp0Q esp set ki esp set 110 esp update filter 5 79 5 80 esp_set_ki esp get ki Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Set PID Integral Gain Ki Report PID Integral Gain Ki Setting include esp6000 h int esp_set_ki long axis float ki int esp_get_ki long axis float ki long axis axis number from 1 6 float kp integral gain esp6000 dll esp_set_ki sets the integral gain ki of the PID servo filter esp_get_ki reports the integral gain ki setting NOTE If necessary use the ESP tune utility to optimize servo PID and feedforward parameters ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 J set PID gain esp set kp 1l 100 0 esp set kd 1 200 0 esp set ki 1 50 0 esp set il 1 50 0 transfer PID to working registers esp update filter save parameters to ESP6000 Flash EPROM esp save parameters check error status esp get error num amp error amp ServoTick if error printf Error d Reported error
84. understood Remove jewelry from hands and wrist Expect hazardous voltages to be present in any unknown circuits WARNING Fuse replacement involves removing an enclosure panel which can expose you to terminals having hazardous voltages in excess of 250 VAC at various locations CAUTION Verify proper alignment before inserting cables into connectors Do not force Refer to Appendix G Factory Service for information about repair or other hardware corrective action Bl Trouble Shooting Guide Most of the time a blown fuse or an error reported by the ESP6000 con troller card is the result of a more serious problem Fixing the problem should include not only correcting the effect blown fuse limit switch etc but also the cause of the failure Analyze the problem carefully to avoid repetition list of the most common problems and their corrective actions is provided in Table B 1 1 Use it as a reference but remember that a perceived error is usually an operator error or has some other simple solution Appendix B Troubleshooting B 1 Problem Table B 1 1 Trouble Shooting Guide Cause Corrective Action UniDrive Power LED does No electrical power Use a tester or other device lamp etc to not illuminate green when power on button is pressed UniDrive Power LED does Power cord not verify that power is present in the outlet Contact an electrician if not Connect UniDrive power cord t
85. use encoder feedback for stepper positioning 9 0 reserved 9 1 reserved 10 0 reserved 10 1 reserved 11 0 reserved 11 1 reserved 12 0 reserved 12 1 reserved 13 0 reserved 13 1 reserved 14 0 reserved 14 1 reserved 15 0 reserved 15 1 reserved 31 0 reserved 31 1 reserved esp_set feedback config Set Amplifier Input Configuration Register esp get feedback config Report Amplifier Input Configuration Register Continued Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main if esp_init_system printf ESP6000 Not Initialized r n exit 1 Set Flag On Feedback Error esp_set_feedback_config 1 0x09 See Also Section 5 Programming 5 23 esp set e stop config esp get e stop config Synopsis Arguments Library Location Description Returns Hint Usage Example See Also 5 24 Set Emergency Stop Configuration Register Report Emergency Stop Configuration Register include esp6000 h int esp set e amp stop config long axis long config int esp get amp stop config long axis long config long axis axis number from 1 to 6 long config configuration register lesp6000 dl esp set e stop config is used to configure the emergency stop checking and event handling for the specified axis esp get e stop config reports present setting BIT VALUE DEFINITION disable E Stop checking 0 1 enable E Stop checking 1
86. 0 do not disable power motor on E stop event 1 1 disable motor power on E stop event 2 0 do not abort motion on E stop event 2 1 abort motion on E stop event 3 0 reserved 3 1 reserved 4 0 reserved 4 1 reserved 5 0 reserved 5 1 reserved 6 0 reserved 6 1 reserved T 0 reserved 7 1 reserved 31 0 reserved 31 1 reserved ESPOK ESPERROR include esp6000 h main if esp_init_system printf ESP6000 Not Initialized r n exit 1 Abort Motion On E STOP Event esp_set_e_stop_config 1 0x05 esp set dac offset esp get dac offset Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Set Axis DAC Offset Compensation Report Axis DAC Offset Compensation Setting include esp6000 h int esp set dac offset long axis float offset int esp get dac offset long axis float offset long axis axis number from 1 6 float offset DAC offset from 1 0 volt to 1 0 volt esp6000 dll esp_set_dac_offset defines DAC offset compensation for the specified axis DAC offset takes affect immediately after the command is processed by the DSP Save DAC offset to non volatile flash memory with the save_parameters command This will cause the DSP to automatically use this value after system reset or reboot esp_get_dac_offset reports the present DAC offset compensation used for the speci fied axis DAC offs
87. 000 controller card can drive both stepper and DC linear motors the standard stage family supports only rotary motors Stepper Motors The main characteristic of a stepper motor is that each motion cycle has a number o stable positions This means that if current is applied to one o 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 6 6 1 shows the basics of a stepper motor Figure 6 6 1 Stepper Motor Operation When the winding is energized the magnetic flux will turn the rotor until the rotor and stator teeth line up This is true if the rotor core is made of soft iron Regardless of the current polarity the stator will try to pull in the closest rotor tooth 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 technology is used for larger high precision motors The stepper motor advances to a new stable position by means of several stator phases that have the teeth slightly offset from each other To illus trate th
88. 09 Figure 8 2 3 Rack Mount Ear Installation 8 9 Section 9 Advanced Capabilities 91 Motion Control Software Overview 9 1 1 9 1 2 Section 9 Advanced Capabilities Introduction The ESP system motion control software provides the core functionality required for motion control applications The motion control kernel consists of the servo system and the trajectory generator set of func tions provide an Application Programming Interface API for configuring and controlling the software modules Functional descriptions are pro vided in the following paragraphs Control API The ESP system API functions are used to customize the motion control performance for a specific application These functions can be divided into three fundamental categories 1 initialization 2 configuration and 3 control Initialization functions are used at start up to set the initial values for all the ESP system data structures The ESP system behavior is then customized using the configuration functions After initialization and configuration the axes are sent to specific locations by setting the axis control parameters API functions are briefly described in the following paragraphs 9 1 2 1 System Initialization Initialization is the first required step in using the ESP system Initializa tion API calls typically invoke a board level hardware reset initialize data structures with previously stored parameters from non volatil
89. 10 0 axis 3 hardware travel limit low 10 1 axis 3 hardware travel limit high 11 0 axis 4 hardware travel limit low 11 1 axis 4 hardware travel limit high 12 0 axis 5 hardware travel limit low 12 1 axis 5 hardware travel limit high 13 0 axis 6 hardware travel limit low 13 1 axis 6 hardware travel limit high 14 0 reserved 14 1 reserved 15 0 reserved 15 1 reserved 16 0 axis 1 amplifier fault input low 16 1 axis 1 amplifier fault input high 17 0 axis 2 amplifier fault input low 17 1 axis 2 amplifier fault input high 18 0 axis 3 amplifier fault input low 18 1 axis 3 amplifier fault input high Section 5 Programming 5 27 esp get hardware status 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 Report Hardware Status For All Axes Continued O OS 0 O O O CO 0 0 0 0 amp 0 O 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
90. 15v 200 240V SIDE VIEW SERVICE PERSONNEL 50 60 Hz MAX 4 AMP WARNING FOR CONTINUED PROTECTION AGAINST FIRE RISK ae ose REPLACE ONLY WITH FUSE er ae OF SPECIFIED RATING FUSE 4A SLO BLO 250V O GROUND POST L FUSEHOLDER N97107C Figure b 2 1 Rear Power Line Panel Fuse Replacement Re connect and power up the system to verify that the problem has been corrected B 2 2 Replacing Fuses On The UniDrive Motor Power Supply Board A defective motor power supply fuse is indicated by the UniDrive Power LED illuminating red WARNING Power down equipment and unplug AC power cord before replacing fuses CAUTION The UniDrive6000 rear power line panel and motor power supply board are sensitive to static electricity Wear a properly grounded anti static strap when handling equipment At the front of the UniDrive remove the black plastic cap from the power switch At the rear of the UniDrive loosen the thumbscrews on the power line panel and slide the assembly forward on its card guides and out see Figure B 2 2 OOOg UOg og g HOoo0gg 0000 0000000 9000000000 o o 2o000000 ooo 000000 00 000000 lt KD N97118D Figure B 2 2 Rear Power Line Board Removal Appendix B Troubleshooti
91. 4 Energizing Two Phases Simultaneously Both phases will pull equally on the motor but will move the rotor only half of a full step If the phases are always energized two at a time the motor still makes full steps But if we alternate one and two phases being acti vated 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 effort on the driver s side The timing diagram for half stepping is shown in Figure 6 6 5 Section 6 Motion Control Tutorial 6 23 6 24 12345678 APT PE D Figure 6 6 5 Timing Diagram Half Stepping Motor Now what happens if we energize the same two phases simultaneously but with different currents For example let s say that phase 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 somewhere between the full step and the half step positions Figure 6 6 6 Figure 6 6 6 Energizing Two Phases with Different Intensities The conclusion is that varying the ratio between the currents of the two phases we can position the rotor anywhere between the two full step locations To do so we need to drive the motor with analog signals similar to Figure 6 6 7 A NS B N 7 Cf x p MN Figur
92. 4 1 Trapezoidal Motion Profile rrrnnnnnnnnnnvvvrvnnnnnnnnnnnnnrnnrnvnrrrnrrrrrrsnnnnnnrnnenerssssssssnnnnnnrnnssssssssssnnnnnrnsrrssssssssenn 6 16 Figure 6 4 2 Position and Acceleration Profiles a nssssnnnssssssssssssssssssaasssssse 6 16 Figure 6 4 3 Origin Switch and Encoder Index Pulse rrrnnnnnnnnnnrnvvvrnnrnrnnsnnnnnnrrnevnrrrrrrssrnnnrnnrrnrrrersrsrssssrnnnrnsrssesessssenn 6 17 Figure 6 44 Slow Speed Origin Switch Search rrrrrrrrrrrrrnnnrnnrnnrrrervrrrrrrrrrnnnrnnrrrensrrerrrrrrnnnrnnrnnrrssssrsessssnnnnnnrssesssssseenn 6 18 Figure 6 4 5 High Low Speed Origin Switch Search rrrrrnnnnnnnnnnrnrnnnrrnrrvnnrerrsnnrrrrenrnerrernnerrsnnrerrsnnnsrrernrerssnnnerssnnnesennn 6 18 Figure 6 4 6 Origin Search From Opposite Direction rrrnnrrnnnnvvvvvnnnnnnnnnnnnrnnrrrrrnrrrrrrrrrnnnrnnrrnrrrerrrrssrrssennnrnnrrsesssssesnn 6 18 Figure 6 51 Encoder NNN 6 19 Figure 6 5 2 Optical Encoder SCO sisiveisnccsstsesaciaveiensscnosdvasnedhntsHaaiactausteknensiusbcaedd shcesdennsatisetakseondeauiaviangibieadleetaciersbebeees 6 20 Figure 6 5 3 Optical Encoder Read Head xiv caiasicstaks rags tecpinbacsiaydebiasewisedcesantugiastioncadrasnacespavicabdasectiegtetaartncsiunedeclasteeses 6 20 Figure 6 54 Single Channel Optical Encoder Scale and Read Head Assembly aaa 6 20 Figure 6 5 5 Two Channel Optical Encoder Scale and Read Head Assemb
93. 5 2 2 Command lists and information C language representation only are provided in the following paragraph Section 5 Programming 5 1 53 Commands 5 3 1 Command Summary Function Initialization Configuration Table 5 2 2 API Function Categories Category Configuration Motion Trajectory Motion Related Servo Data Acquisition Digital I O System Commands are categorized by function in Table 5 3 1 Table 5 3 1 Commands Command Page esp_init_system void eseeeeeeeesessssssssssreereereeeesssssssssesesrrrreeeesssessss 5 8 esp_open_system void aaarassssssssssssssssa 5 9 esp update unidrive long axis 5 10 esp set motor type long axis long mtype 5 12 esp get motor type long axis long mtype 5 12 esp get sys config long conlig 5 13 esp set sys fault config long conlig 5 15 esp get sys fault config long config 5 15 esp set followerr config long axis long conlig 5 17 esp get followerr config long axis long config 5 17 esp set hardlimit config long axis long conlig 5 18 esp get hardlimit config long axis long conlig
94. 5 Digital Ground 93 Reset Output From Controller 44 Digital Ground 94 Servo DAC Output Axis 6 45 Digital Ground 95 Servo DAC Output Axis 5 46 Digital Ground 96 Servo DAC Output Axis 4 47 Analog Ground 97 Servo DAC Output Axis 3 48 Analog Ground 98 Servo DAC Output Axis 2 49 12V 250mA maximum 99 Servo DAC Output Axis 1 50 12V 250mA maximum 100 Cable Interlock Return 5V 250 mA maximum 5V supply available from the PC 12V 250 mA maximum 12V supply available from the PC 12V 250 mA maximum 12V supply available from PC Amplifier Enable Output Open drain output with 1KQ pull up resistor to 5 volts This output is asserted active True when the axis is in the motor ON state and False for the motor OFF The actual TTL level is user configurable Amplifier Fault Input The Amplifier Fault input is pulled up to 5 volts with a 1KQ resistor The active true state is user configurable Analog Ground Servo digital to analog DAC ground Cable Interlock Input The Cable Interlock input is pulled up to 5 volts with a 1KQ resistor If this input is a logical HIGH then is assumed that the 100 pin cable is not properly fastened and a Cable Interlock error will be generated Cable Interlock Return This is the return for the Cable Interlock input This signal should be coupled to the Cable Interlock Input at the motor driver amplifier side to indicate that the 100 pin connector is properly fastened Digital
95. 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 Alternatively increase Kd and Kp until Kd cannot eliminate overshoot and ringing at stop This indicates Kp is larger than its optimal 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 oscillation when load conditions change 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
96. 6 47 48 49 50 ol 57 58 100 Pin Connector 99 47 91 92 90 87 88 02 38 43 97 48 8 19 11 14 03 75 46 25 36 23 46 98 45 84 85 83 80 81 31 96 44 71 12 Function Servo DAC Output Axis 1 Analog Ground Encoder B Input Axis 1 Encoder A Input Axis 1 Index Input Axis 1 Home Input Axis 1 Travel Limit Input Axis 1 05V 250 mA maximum Travel Limit Input Axis 1 Digital Ground Servo DAC Output Axis 3 Analog Ground Encoder B Input Axis 3 Encoder A Input Axis 3 Index Input Axis 3 Home Input Axis 3 05V 250 mA maximum Travel Limit Input Axis 3 Digital Ground Travel Limit Input Axis 3 Amplifier Enable Output Axis 2 Amplifier Enable Output Axis 4 Digital Ground Servo DAC Output Axis 2 Digital Ground Encoder B Input Axis 2 Encoder A Input Axis 2 Index Input Axis 2 Home Input Axis 2 Travel Limit Input Axis 2 Travel Limit Input Axis 2 Servo DAC Output Axis 4 Digital Ground Encoder B Input Axis 4 Encoder A Input Axis 4 Table C 1 2 Motor Driver Interface 100 to 68 pin Cable Connector Pin Outs Continued 68 Pin 100 Pin Connector Connector Function 59 70 Index Input Axis 4 60 67 Home Input Axis 4 61 68 Travel Limit Input Axis 4 62 18 Travel Limit Input Axis 4 63 50 12V 250mA maximum 64 49 12V 250mA maximum 66 86 Amplifier Enable Output Axis 1 67 13 Amplifier Enable Output Axis
97. 6 1 The chances are that you are less interested in how the components look or what their individual specifications are but want to be sure that they perform reliably together according to your needs We mentioned this to make a point component is only as good as the system lets or helps it to be For this reason when discussing a particular system performance specifi cation we will also mention which components affect performance the most and if appropriate which components improve it 62 Specification Definitions 6 2 1 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 accelera tion 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 1um and less even a standard laser interferometer becomes unsatisfactory For this reason all factory measure
98. 6 12 6 3 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 de K ee K e dt K 0 i dt where K proportional gain factor K integral gain factor K derivative gain factor e instantaneous following error The problem 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 a task quite difficult to achieve without some understanding of its behavior 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 6 3 2 shows its configuration Trajectory Motor Generator Servo Controller Motion Controller O Encoder Figure 6 3 2 P Loop 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 K generates a control signal that converted to an analos 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
99. 9 pA SPUCWIUWIOD uone1 929p I0 uone19 922 MOU J Sun1l s uonei 92 p uone1i 9522e pomoje umuimxeui amp seu sixe yeg eadde IM 1O11 ue u u 1 NJLA stu1 D9952xX9 p Ar 59 i1 SPULUIUIOD 1rSo 9A MAU J SUIS p ds APOPA pomoje UINUIXEUI V seu sxe uo STeuSIS I9poou UO s uDo1Ir Z s 6o1s 1o Jour Suno uuoo 1 PUL 6uno uuoosri I 1e 10119 S14 10 Sasned qtssoq lqe5 10 0UI p o uuoosiIp p Aq pasned A PPDIdA 1sou SI SIYJ 49 011U0D y 0 p 19 uuoo JOU SI 6e1s 1o1ouI u1 yey p unssoe SI 4 u u1 A sno uov1 nuuts SANDE utoo q SHW UOP 3ANISO pue IANPSIU DALI uloq JI uono azrp 3ANISOd y ut 8UNJSS ITEMYOS LIA pamofr e st Uey 19YUHN J SUISJOARI q Posned SI 10119 SIU UOTJDOIIP 3ANISOd y ut 8UNJES 348M1JOS LIA pamor e st uey 19YHN J SUISJOARI q Posned SI 10 49 SIU UOIJDOIIP Anes u y ut Pamore 10 lqrssod l eorueuo ui SI ULY JOAN SUISJIAPI Aq p sneo SI 10119 SIU UONdPJIP 3ANISOd y ut pamoj 10 l qrssod l eorueuo ui SI ULY JOY AN Sursi9Ae n Aq pasned SI 10119 SIU uonn OG dsne I qIssog p nunuoo sasDssapy 10417 I V qD SIXE yey 10 p mojje wnuxeu sp 95x SUI JOS uonei 9299D 10 uone19 929V SIXE ey 10 pomoje umutrrmxeu sp ox Sunas p ds APOPA D9152919p 10119 PUSIS yoeqp 19poou I9lloTmuoo 0 Pd D9UUOD JOU Te ISLIS 10JON p 19 unoou PWI 1eA1JOS FLIS PAR DAT
100. Al Visual C uu u u uu u u ua NENEN EPEE SEENE OEA 5 109 DALL I coruri aE rN 5 109 5 4 1 2 Examples 5 109 24 2 Visual gt EEE 5 109 94 2 1 OvervieW EE 5 109 54 22 MEAN 0 EE r 5 109 JE LabVIEW EE RE 5 109 TT NNN 5 109 5 4 3 2 Example s 5 110 1 TN 5 111 V vi Section 6 Motion Control Tutorial 6 1 oa MUNN TN 6 1 6 2 Specification Definitions 6 2 621 FAN EAN 6 2 I ee 6 3 NA 6 3 6 2 4 Local ACcuracy rmrrnrooornnnrnnonnnnnnneneerernnnnnnnnnnnnnnnnnnnnneneenennnnneee 6 4 025 RANN 6 4 6 2 6 Minimum Incremental Motion 6 5 SAGE Ls ETL EEE n e REE 6 6 6 2 8 Backlash Hysteresis 6 6 6 2 9 Pitch Roll and Yaw 6 7 HVO ee 6 8 OAL Load 5 EEE EEE 6 9 6 2 12 Maximum Velocity 6 9 0 2 15 Minimum Velocity vr 6 9 6 2 14 Velocity Resgulation 6 10 6 2 15 Maximum Acceleration 6 10 6 2 16 Combined Parameters
101. B Bit 3 E Stop Reserved 5V 250mA maximum DSP Reset Output 12V 250mA maximum Reserved 12V 250mA maximum Reserved DB 37 Pins 1 20 2 21 3 22 4 23 5 24 6 25 Table C 1 4 Auxiliary Connector Pin Outs Continued JP5 Pins Function DB 37 Pins DI Digital Ground 19 38 Unused 39 Unused 40 Unused 5V 250mA maximum 5V supply available from the PC 12V 250mA maximum 12V supply available from the PC 12V 250mA maximum 12V supply available from the PC Axis Ch 6 Input A This input is hard wired to the 100 pin Axis 6 encoder channel A input Therefore this input can only be used if five 5 or fewer axes of motion are incorporated The single ended A input is pulled up to 5 volts with a 1KQ resistor The signal is buffered with a 26LS32 receiver The A quadra ture encoded signal originates from external feedback circuitry and is used for position tracking Axis Ch 6 Input B This input is hard wired to the 100 pin Axis 6 encoder channel B input Therefore this input can only be used if five 5 or fewer axes of motion are incorporated The single ended B input is pulled up to 5 volts witha 1KQ resistor The signal is buffered with a 26LS32 receiver The B quadra ture encoded signal originates from external feedback circuitry and is used for position tracking Auxiliary Ch 7 Input A The AG input is pulled up to 5 volts with a 1KQ resistor The signa
102. Ground Ground reference used for all digital signals E Stop Input The Emergency Stop input is pulled up to 5 volts with a 1KQ resistor When this signal is asserted the controller will perform an Emergency Stop procedure as configured by the user When used with the Unidriver6000 motor driver this signal is coupled to the Stop All front panel pushbutton Home Input This input is pulled up to 5 volts with a 1KQ resistor 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 5 volts with a 1KQ resistor 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 location Index Input The Index input is pulled up to 5 volts and pulled down to ground with IKW resistors 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 A Input The A input is pulled up to 5 volts 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 used for position tracking Encoder A Input The A input is pulled up to 5 volts and pulled down to ground with 1KQ resistors
103. IOU l qe IeAe e SUISN ATlu s id r p ss ooid sur q S pueuIuod 10 anenb ut spueUIWIOD AUeU OO AO pond Q Arerixne uo 1nduir do s 4 10 p ss id YQQQ92eALIGIUG UO UONNA IV do1 p 1e s Apuadoad 10 je ye poyyeysul aq Jou Lew N009dST uonnjos sne lqtssoq 6ue1 o gemo e UIY IM JOU SI SUIS HULI 1 11 9AUOO e ISIP 0 soTeue poljloeds asUeI qeAOO o UIM JOU SI SUYOS UTES 1 11 AUOO e ISIP 0 soyeue poljloeds qe reAe JOU 10 ISUR1 JO NO SI puewuo ut poyppads Joqumnu SIXV p 152 91 p J011 Y0 191UI qoo urd 001 6uei1 qeAO o UIYIIM JOU s i91 9ureied PUPUIUIO 916AUHIJ 009d4S Ul 1S1X9 JOU s op YSIYM PURUIUIO e Ted 0 p 1dut 11e TIA SMOPUIM 0009dSA pueututo2 1no x S 3504d 0 AIOUIOUW a ge reae usnou Avu JOU PIP 0009dS4 possao0id sem JUDIAD pue ond p 159 1 p sem peusis Jndul do s q pled 19J10 11U0 0009d4S 94 UM oyeoTUNUIWIOD I nJss o ons 0 q JOU SEM TIA SAODUIAA uonduDOs 1X93J sesso SASDSSAP AOL V QD TIA 4q poruo Joquinu sxe yp ds s xy S3uUr5 ds SIXE UON xxXxx 0001 XxA xxA XxX pu S T Suur qurIn 10117 asuey JO MO SJ SULEN OGV asuey JO MO SJ UPD JAY SJge reav JON JOqUINN SIXV 1011 490 191U 312 Uld 001 osuey JO MO 19J0WR IL ISIX4 JON s oq PUPUIUIO AIOW SIN 1USPIYINSUJ p 1eAnov dos ASu si ur D A49s9 11 D A49s9 11 mowr j suoneorunur
104. Immediate execution type command does not require setup before execution 93 PCI Bus Overview Newport Corporation s ESP system employs the Compact Peripheral Interconnect Component PCI bus for its high performance motion control and data acquisition applications The ESP PCI bus structure is described in the following paragraphs The PCI bus was designed for population with adapters requiring fast accesses to each other and or system memory and that can be accessed by the host processor at speeds approaching that of the processor s full native bus speed All read and write transfers over the PCI bus are burst transfers The length of the burst is negotiated between the initiator and target devices and may be of any length Table 9 3 1 lists some of the major PCI design goals Feature Address spaces Auto configuration Burst read and write transfers Bus master support Bus speed Bus width Concurrent bus operation Expansion card definition Expansion card size Fast access Hidden bus arbitration Low pin count Low power consumption Number of PCI buses supported PCI functional devices Processor independence Software transparency Transaction integrity check Section 9 Advanced Capabilities Table 9 3 1 PCI Design Goals Description Full definition of three address spaces memory I O and configuration Full bit level specification of the configuration registers necessary to support automatic
105. 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 6 3 4 shows the PID servo loop diagram Servo Controller x x Kp Trajectory Generator CI Motor eb E C ge Encoder Motion Controller O Figure 6 5 4 PID Loop 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 which prevents oscillations and position overshoot Section 6 Motion Control Tutorial 6 13 6 3 2 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 6 3 5 Desired Velocity Motor Voltage Time Figure 6 3 5 Trapezoidal Velocity Profile The second observation is that the desired velocity is calculated by the trajectory generator
106. Motion Controller Driver ESP6000 UNIDRIVE6000 m IO Newport UniDriver peste Jp POE Casa STATUS mua oa aa GER gt ee mm fear H USER S MANUAL Newport ESP6000 UNIDRIVE6000 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 the date of ship ment 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 repre sentative 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 conseque
107. N QD A AI GO IN CGO CW GO CW DW CW CW DW DO DO DO DO N DO NS DM DS 2 e e e ej e e e 1 H Ol AI CO MTR C CO OLN Dy Ol HB CO P2 C SO OLN O5 AJ B amp B CO IN Function Port C Bit 7 Ground Port C Bit 6 Ground Port C Bit 5 Ground Port C Bit 4 Ground Port C Bit 3 Ground Port C Bit 2 Ground Port C Bit 1 Ground Port C Bit 0 Ground Port B Bit 7 Ground Port B Bit 6 Ground Port B Bit 5 Ground Port B Bit 4 Ground Port B Bit 3 Ground Port B Bit 2 Ground Port B Bit 1 Ground Port B Bit 0 Ground Port Bit 7 Ground Port Bit 6 Ground Port Bit 5 DB 50 Pins co GOO NI oal Ol CO N COo l CO GO CO CO wI CO GO DO DO KO N N DS DO DN DO NB e eR 441 DI TV B CO DO O O OO nN OD Ol AI CW DMO O O OO NI CS TIN RBIDINI Table C 1 3 Digital Connector Pin Outs Continued JP4 Pins 38 39 40 41 42 45 44 45 46 47 48 49 50 5V 250mA maximum Function Ground Port Bit 4 Ground Port Bit 3 Ground Port Bit 2 Ground Port Bit 1 Ground Port Bit 0 Ground 5V 250mA maximum Ground 5V supply available from the PC Digital I O DB 50 Pins 38 39 40 41 42 43 44 45 46 47 48 49 50 The digital I O can be programmed to be either input or output in 8 bit blocks via softw
108. Report Accel amp Decel Feedforward Gain Settings Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming include esp6000 h int esp set acc feedforward long axis float aff int esp get acc feedforward long axis float aff long axis axis number from 1 6 float off acceleration amp deceleration feedforward gain esp6000 dll esp_set_acc_feedforward sets the acceleration and deceleration feedforward gain for the specified servo axis esp get acc feedforward reports the acceleration and deceleration feedforward gain setting for the specified servo axis NOTE If necessary use the ESP tune utility to optimize servo PID and feedforward parameters ESPOK ESPERROR include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialized r n exit 1 set PID gain esp_set_kp 1 100 0 esp_set_kd 1 200 0 esp_set_ki 1 50 0 esp_set_il 1 50 0 set velocity feedforward esp set vel feedforward l 75 set acceleration feedforward esp set acc feedforward 1 100 transfer PID to working registers esp update filter save parameters to ESP6000 Flash EPROM esp save parameters check error status esp get error num amp error amp ServoTick if error printf Error d Reported error esp_set_vel_feedfo
109. TESON p 1 9 unoou HUM 16A1JOos ISLIS DALI JANISO paJ9JUNOD2US HUI DILMPICY FLIS PAR DATES p 1 lunoou PU DILMPILY 801S PALI Al ISOd uonduios 1X I Sess jA TIG Aq p leurSuO xxxx 0001 Jaquinu sxe yp ds s xy XX XX S3uUr5 ds srxe uo N XX puosoyT SuuiquInN 10117 p p o5x uonei1 9525v WNUIIXPIN SIXV papa gt 02x A11D0 3A WUNUIIXPIN SIXV p gt 2919 1Ne4 PUSS 3oeqp I SIXV p 1o uuoo JON 98e1 101o N SIXV p 1o 1 Gq PUTI 916A1JOS JANESIN SIXV pe12919J WUT 16A1JO DANISOJ A SIXV p 15 1 Gq HUTI T6ADIeH IANESIN SIXV p 15 1 Gq Pur IEMpILH AH ISOd SIXV 1X9J LSS N r Ta nr nr nr nr JOqUINN JO AIOWOUL Jd JUSPHYINSUJ z p llel1sur JOU IAP IIMA I PNPUL S SNVI qtssod uonevzi enrur dS4 94 10 ajgepreae sem 1OUuISUI SMOPUIM ysSnoua JON payed Jou suonounj qv uoNeZEeNu Sapn DUI snoeo qtssod pazyenIul JOU SEM PIE J9 011UO0D JS7 ulese Al pue UONIPUOD 10119 1E9 UOTOUuI SUNIQIYUI SI 1eu SJSIX3 UONIPUOD 10113 UIOS ICO ur6 q URD SUIUIOY 340J3q peddo s oq JSNUI S3Xe V d 1 19poou 10 3JINSPaUI JO SPUN eyep p l1e r1 dd 1s adA 10 0UWI s1I91 9uro1od pr eAur IJQISSOJ yaoddns ooruuo 31 IIe2 p lqeu JOU 10 0UI 1nsu pue uono uuoo qo2 359uO dINpre 1lu uoduuoo 10 p lqeu yu uoduioo 10 p lqeu 10 OUI uono uuoo qo2 sa
110. TO Cable 8 5 8 1 5 Driver Interface 100 100 pin Cable 8 6 8 1 6 Motor Driver 100 68 pin Cable 8 6 8 2 UniDrive6000 svcnccsscccsesorsdxonevastadouvesnanisiensgenssenxaisbantasthodenspimaeuseeadeioarscsanes 8 7 NDS 8 7 8 2 2 Rack Mount Ears 8 9 Section 9 Advanced Capabilities 9 1 9 1 Motion Control Software Overview 9 1 9 1 1 fntrod cti n RE NE 9 1 Dede NL 9 1 9 1 2 1 System nitialization 9 1 LE NNN 9 1 91 25 Axis Control 9 2 9 1 3 Trajectory Control Process 9 2 9 2 Data Acquisition Overview 9 2 DD PARR 9 4 Appendix A Error Messages A 1 Appendix B Trouble Shooting and Maintenance B 1 B 1 Trouble Shooting Guide B 1 B 2 Fuse Replacement B 3 B 2 1 Replacing Fuses On The UniDrive
111. 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 guarantees the user that for any application the positioning error will not be greater than this value Section 6 Motion Control Tutorial 6 3 6 4 6 2 4 6 2 5 Local Accuracy For some applications it is important to know not just the positionins Accuracy over the entire travel but also over a small distance To illustrate this case Figure 6 2 2 and Figure 6 2 3 show two extreme cases Error max error 0 24 Position Figure 6 2 2 High Accuracy for Small Motions Error max error Position Figure 6 2 3 Low Accuracy for Small Motions Both error plots from Figure 6 2 2 and Figure 6 2 3 have a similar maximum Error But if you compare the maximum Error for small distances the system in Figure 6 2 3 shows significantly larger values For applications requiring high accuracy for small motions the system in Figure 6 2 2 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 the motion device and determine the approximate maximum Local Error for the specific application Resolution Resolution is the smallest motion that the controller attempts
112. Tick if error printf Error sd Reported r n error esp_get_daq_status esp_enable_daq esp_disable_daq esp_get_daq_data esp_daq_done 5 91 5 92 esp_enable_daq Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Enable Data Acquisition Mode include esp6000 h int esp enable _daq void none Vesp6000 dll esp enable daq enables data acquisition mode ESPOK ESPERROR include esp6000 h main long error servotick long Num DaqStat Mode count float DataArray 512 if esp init system printf ESP6000 Not Initialized r n exit 1 Set ADC Gain and Range esp set adc gain V10 esp set adc range BIPOLAR Set Acquisition Mode esp set daq mode 1 1 1 1 2 512 esp enable daa esp enable motor 1 esp move Sbsolute L 50 40 5G while esp_daq_done Wait for DAQ End esp get cag status amp count printf 54 acquisitions collected yr count esp disable daq Retrieve Data esp get daq data DataArray amp Num amp DaqsStat 19 neck error status 7 esp get error num amp error amp ServoTick if error printf Error Sd Reported r n error esp_get_daq_status esp_disable_daq esp_get_daq_data esp_daq_done esp_set_daq_mode esp get daq status Retrieve Data Acquisition Status Synopsis inclu
113. UIWIOD p 1e r0vG L 91no x o1 apeu sem ydwy UV Ss 18O1d ut sem pueututo2 p 1e 1 OVG L AYM PUCUIWIOD p 1e 1 S I1V Ue 1n5 x o1 PLUI SEM 1du1911e UV pomoge JOU SEM 3dA 10 OUI 8 3 SSUI JOS ut 1s s d ed 0 UONEINHIPON uonnjos sne lqtssoq p nunuoo sasDssapy 10417 I V 1QP Sunas p OYS9JY WNUIXPUI p p ox sey pue AIop len JO UOT ISOd p uts p SUIMOTIOJ AJayeEANDIe JOU SI SIXE oA19S Passe SI peusis mdu Ne 1 rrdurv 6uei1 ogemo e UIYIIM OU s i919uro1ed PUPUIUIO poauyap Tlu s id zou OAJIS I 10 Jaddays 3 1 d 1070W SIXV D91991 p SEM one dn119 U1 3 DAD oA19S p qeu pue dnjes jou uonismboce eq p lro dnjas uonrsmboce erq ss 1soid ur rs UONISMbJR ju umo duroo uonismboce zuan ioJj q padue sem uontsmDboe M N p 1991oid are ssun1 s eontuo Aqu pue os8e s aqneduod d uondmsag 1X L wesso TIA q poruo Joquinu SXV Srjrio ds sixv IYP dS srxe uoN XXXX 0001I XX XX XX pu sS T SuuiquInN 10117 p p ox i P OYSAIY L IOI SUIMOTIO SIXV poppa Ney Joydury A sixy ISURY JO MO JeyJourereg A SIXV peuljag JON d 1040W SIXV M JLL IP OAIIG pe qeuy JON OVG Joy dn19 OVA Asng s uonisinboy erq po 09 01g dV SSUINS POND dS 1X L Sess lN a oe JOqUINN Jorg Appendix A Error Messages reodde IM 10119 UG Ud n eA SIU D992xX
114. _init_system printf ESP6000 Not Initialized r n exit 1 set S Curve trajectory mode esp_set_traj_mode 1 SCURVE set axis 1 trajectory parameters esp set speed l 30 0 esp set accel l 200 0 esp set decel l 150 0 esp set jerk l 10 0 19 Ohect Grror stratus 7 esp get error num amp error amp ServoTick if error printf Error sd Reported r n error esp get jerk esp_set_speed esp_set_accel esp_set_decel esp_traj_mode esp_set_resolution 5 51 5 52 esp set max jerk esp get max jerk Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Set Axis Maximum Jerk Rate Report Axis Maximum Jerk Rate Setting include esp6000 h int esp set max jerk long axis float jerk int esp get max jerk long axis float jerk long axis axis number from 1 6 long jerk maximum jerk in user units seconds esp6000 dll esp_set_max_jer sets the maximum permissible jerk acceleration derivative for the specified axis The controller will not accept jerk parameters set by other API function calls which exceed maximum permissible jerk esp_get_max_jerk reports the maximum permissible jerk setting for the specified axis NOTE The jerk parameter is only effective when the specified axis trajectory mode is set to SCURVE ESPOK ESPERROR include esp6000 h main
115. able all motors Buttons for enabled and connected motors will illuminate green and the axis LED on the UniDrive will turn green to indicate a motor on condition Click on an enabled button once to disable a motor or select ALL OFF to disable all motors Buttons for disabled motors will illuminate yellow If a motor type is not defined because no ESP compatible stages are detected the button will not illuminate If an axis is configured and motor type defined but the stage is not installed for a numbered axis the button will illuminate black However you will not be able to select the axis isa Homing a Stage From the Motion drop down menu select HOME The Home Stages screen appears see Figure 3 3 1 ESH Home Stages Home Speed O countssec Search Mode Home Switch Only ki Start Figure 3 3 1 Home Stages Menu Select Axis m Axis I Axis 4 C Axis 2 Axis 5 C Axis 3 Axis B Select an axis and search mode Home Switch Only or Home Switch amp Index enter the number of units in the Home Speed input box and Select START to home the stage s Home each axis one by one Verify that each stage carriage moves to its home typically center position NOTE Enable stage s motor power before homing Section 3 Quick Start 3 3 From the Motion drop down menu select JOG See Figure 3 2 1 or select the JOG button from the tool bar The Jog menu appears see Figure
116. absolute position 3 0 esp_move_absolute 2 3 0 while esp_move_done 2 check error status esp get error num amp error amp ServoTick if error printf Error d Reported Nrin error See Also esp home done Section 5 Programming 5 37 5 38 esp_home done Return Home Search Completion Status Synopsis Arguments Library Location Description Returns Hint Usage Example See Also include esp6000 h bool esp home done long axis long axis axis number from 1 6 axis 0 tests for all axes esp6000 dll esp_home_done returns the home search status of the specified axis 1 6 If axis parameter 0 then the returned value is the combined logical OR of all axes This function returns ESPNOTDONE 0 while the axis is homing ESPDONE 1 is returned when the axis is no longer in homing mode ESPDONE ESPNOTDONE Query for possible motion system errors after homing include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 Enable Axis 2 Motor Power esp enable motor 2 Set Axis Home Speed esp set home speed 2 20 0 Begin Home Search On Axis 2 esp find home 2 1 Wait For Home Search Completion while l lesp home done 2 check error status esp get error num amp error amp ServoTick if error printf Error sd Reported r n
117. ack master position encoder esp set traj mode 2 SLAVEP set master initial position esp set master initial position l 0 0 set slave initial position esp set slave initial position 2 0 0 e 60 See Also 5 62 esp set master slave ratio Set Master Slave Ratio esp get master slave ratio Report Master Slave Ratio Synopsis include esp6000 h int esp set master slave ratio long slave float ratio int esp get master slave ratio long slave float ratio Arguments long slave slave axis number from 1 6 float ratio master slave ratio Library Location esp6000 dll Description esp set master slave ratio sets master to slave gear ratio The sign of the ratio determines direction of gearing esp get master slave ratio reports the present master to slave gear ratio NOTE The controller defaults to normal non master slave mode after system reset Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main 1 if esp init system exit 1 assignment axis 2 slave to axis l master esp set master slave l 2 assign master slave ratio esp set master slave ratio 2 0 5 set slave to track master position encoder esp set traj mode 2 SLAVEP set master initial position esp set master initial position l 0 0 set slave initial position esp set slave initial position 2 0 0 e e See Also Section 5
118. age 2 17 2 4 5 Connecting Stages All ESP compatible stages are electrically and physically compatible with the UniDrive6000 ESP compatible stages are recognizable by an ESP logo Stages which are not ESP compatible do not have an ESP logo If an ESP compatible motion system was purchased all necessary hardware to connect the stage with the UniDrive6000 is included The stage connects to the UniDrive6000 via a shielded custom cable that carries all power and control signals encoder limits and home signals The cable is termi nated with a standard 25 pin D Sub connector CAUTION Make sure the UniDrive6000 and ESP6000 are powered off CAUTION Position stage s on a flat stable surface before connection to a rack mounted UniDrive Carefully connect one end of the cable to the stage and the other end to a driver axis on the UniDrive6000 see Figure 2 4 20 Secure both connectors by tightening the thumbscrews Refer to Appendix G Factory Service to order replacement cables part number 52911 N97112B Figure 2 4 20 Stage To UniDrive Connection 2 4 6 Connecting the UniDrive6000 to the ESP6000 Controller Card 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 WARNING This product is equipped with a 3 wire grounding type plug Any interruption of
119. all axes on interlock event disable all axes on interlock 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 channel 7 amp 8 route axis 1 amp 2 encoder feedback to counter channel 7 amp 8 unprotect ESP system critical settings protect ESP system critical settings reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved 5 15 esp set sys fault config Set System Configuration Register Continued esp get sys fault config Report System Configuration Register Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main if esp_init_system printf ESP6000 Not Initialized r n exit 1 Disable Motor Power amp Flag Interlock Error status esp set sys fault config 0x0b See Also 5 16 esp set followerr config Set Following Error Configuration Register esp get followerr config Report Following Error Configuration Register Synopsis include esp6000 h int esp set followerr config long axis long config int esp get followerr config long axis long config Arguments long axis axis number from 1 to 6 long config configuration register Library Location esp6000 dll Description
120. ample Trigger Control Timer or Software Driven Figure 9 2 1 Analog To Digital Flow Diagram Section 9 Advanced Capabilities ADC gain and polarity parameters are soltware selectable from either API function calls or through the ESP util exe Windows setup utility Gain settings are 1 25 2 5 5 0 or 10 0 volts Users can select either uni polar 0 to or bi polar to polarity range First the Input Multiplexer MUX automatically selects one of the eight 8 analog voltage inputs based on the API function call channel parameter The signal then passes to the Programmable Gain Instrumentation Ampli fier PGIA which must be pre set to accept a designated voltage range The amplified signal is routed through the anti alias filter which filters out frequency input over 50 KHz default The 16 bit resolution signal is then converted into digital form for processing by the Digital Signal Processor DSP The converter can read from one to eight samples channels one at a time during a servo cycle about 400 milliseconds Sampling is not instanta neous but occurs with a slight delay between each sample Sampling for any one channel can be in one of two modes 1 instantaneous when an application is executing or 2 at a designated interval N samples can be obtained at an interval of m number of clock cycles typical acquisition sampling array is shown in Table 9 2 1 Table 9 2 1 Acquisition Array first l
121. ancel Figure 2 4 11 ESP Welcome Screen Select NEXT The ESP Select Destination Directory screen appears see Figure 2 4 12 ESP6000 Installation x Select Destination Directory Please select the directory where E SFEDDD files are to be Installed Free Disk Space After Install is based on your current selection of files to install A negative number indicates that there is not enough disk space to Install the application to the specified drive CA Newport Browse Current Free Disk Space 410192 k Free Disk Space After Install 399992 k Cancel Figure 2 4 12 ESP Select Destination Directory Screen 2 12 Select NEXT The ESP Ready To Install screen appears see Figure 2 4 13 ESP6000 Installation Ready to Install Tou are now ready to install ESPE6000 Press the Mest button to begin the installation or the Back button to reenter the installation information lt Back Cancel Figure 2 4 13 ESP Ready To Install Screen Section 2 System Set Up 2 13 Select NEXT The Installing message screen appears see Figure 2 4 14 Installing Copying file CAWINDOW SSS YS TEM AM SY BY lM St dll Cancel Figure 2 4 14 Installing Message Screen When installation of the first disk is complete the Insert New Disk message screen appears see Figure 2 4 15 prompting the user to insert disk 2 Follow the prompts for disks 2 3 and 4 Insert Hew Disk
122. are and is pulled up to 5 volts with a 1KQ resistor When configured as output each bit can source 64mA maximum When configured as input each bit can sink 32mA maximum Ground Ground reference used for all digital signals C 1 4 Auxiliary I O 40 Pin JP5 Connector This connector provides access to the ESP6000 auxiliary I O signals The auxiliary I O connector provides access to a additional quadrature encoder counters b digital I O and c E Stop input Connector pin outs are listed in Table C 1 4 and functionally described in the following paragraphs Appendix C Connector Pin Assignments Table C 1 4 Auxiliary Connector Pin Outs JP5 Pins CO CO NJ Q A AI GO IN CO CGO CO CO CO CO CO DO DO N N N NO N DO DN NI OIJ AI CO DN SO CO GO l AIJA X CW DTK SO CO GO II OTF X Ww N D Function Auxiliary Ch Auxiliary Ch Auxiliary Ch Auxiliary Ch Reserved Reserved Auxiliary Ch Auxiliary Ch Auxiliary Ch Auxiliary Ch Reserved Reserved 7 Input A 7 Input AC 7 Input B 7 Input B 8 Input A 8 Input AC 8 Input B 8 Input B Axis 6 Encoder Input Axis 6 Encoder Input B Reserved Reserved Reserved Reserved Digital Ground Reserved Port A Bit 0 Port A Bit 1 Port A Bit 2 Port A Bit 3 Port B Bit 0 Port B Bit 1 Port B Bit 2 Port
123. as not to generate multiple E Stops within a 100 millisecond time period When this signal is asserted the controller will perform an Emergency Stop procedure as configured by the user Reset Output The Reset output is a TTL buffered output which represents ESP6000 hardware reset status of the controller itself When the controller is held in a reset state this output is a logical LOW When connected to the UniDrive6000 this output resets all driver channels Appendix C Connector Pin Assignments C 27 RSA The RS_A input is pulled up to 5 volts with a 1KQ resistor The signal is buffered with a 26LS32 differential receiver The RS encoder encoded signal originates from the stage position feedback circuitry and is used for position tracking RS B The RS B input is pulled up to 5 volts with a 1KQ resistor The signal is buffered with a 26LS32 differential receiver The RS B encoder encoded signal originates from the stage position feedback circuitry and is used for position tracking C 3 5 Jumpers Terminal block board jumper functions are listed in Table C 3 6 Table C 3 6 Jumpers Reference Designation Function JMP1 JMP6 DC Stepper Motor Selection JMP7 External Power Supply Selection C 28 Appendix D Binary Conversion Table Some ol 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
124. ast element element Ch xx value read at analog channel number xx Axis xx position value for axis xx CLK servo clock counter Command esp_set_adc_gain esp get adc gain esp set adc range esp get adc range esp get adc esp get all adc esp set daq mode esp enable dagq esp get daq status esp daq done esp get daq data esp disable daq Data acquisition commands are listed in Table 9 2 2 refer to Section 5 Commands for additional details Table 9 2 2 Data Acquisition Commands Description Sets gain Sets polarity uni polar or bi polar Selects channels samples one or more channels one or more samples for each channel Selects all eight channels at once Sets the following 1 channel select x channels of eight 2 mode immediate execution when an axis begins movement or when an axis reaches a specific velocity 3 number number of samples expressed as integer value 4 position on axis designates axis to be reported on 5 timing sets frequency how often sampling is to occur 6 trigger on axis sets axis to be triggered on Enables data acquisition Returns the number of samples collected but not the samples them selves at the point in time the information is requested Provides completion status for the number of samples requested 0 DAC armed ready but not triggered 1 finished 1 acquiring Returns an array as specified Disables data acquisition
125. ations at lower frequency and higher amplitude Positive following error during the constant velocity phase of a motion Stage is ahead of the desired trajectory Positive following error during the acceleration phase of a motion Stage is ahead of the desired trajectory Section 8 Optional Equipment Options for the ESP6000 controller card consist of a terminal block board three utility interface cables and the 100 to 100 and 100 to 68 pin interface cables which connect to the UniDrive and Universal Interface Box UIB respectively Each utility interface cable plugs into a connector on the controller card and has an integral faceplate for attaching to an individual PC slot Optional equipment for the UniDrive6000 universal motor driver consists of motor driver card s and rack mount ears Refer to paragraph 8 2 for motor driver card and rack mount ear installation Optional equipment is listed in Table 8 1 and described in the following paragraphs Refer to Appendix G Factory Service for ordering information Table 8 1 Optional Equipment Description Part Order Number Terminal Block Board ESP6000 INTF BD Analog I O Cable 22895 01 Digital I O Cable 22897 01 Auxiliary Cable 22896 01 Driver Interface 100 100 pin Cable 22947 01 Motor Driver Interface 100 68 pin Cable 23657 01 Motor Driver Card UNIDRIV BD Rack Mount Option UNIDRIVER RACK 81 ESP6000 Controller Card CAUTION Verify proper alignment before inserti
126. b Use the Servo DAC Offset tab to designate voltage t1 volt maximum offset on the servo digital to analog outputs for each axis Input a value to set compensation ESF Setup Hardware 1000D0000 TO0000000 Figure 4 1 12 Setup Hardware Travel Limit Tab Use the Travel Limit tab to designate limit checks Select the appropriate axis enable or disable the limit checks and set the hardware and soltware parameters 4 1 3 2 4 Firmware The Hardware menu includes a Setup Firmware sub menu for downloading firmware to the ESP6000 controller card in the event that it becomes necessary e g future upgrades Select FIRMWARE to begin the process of erasing existing firmware and downloading new firmware on the ESP6000 controller card See Appendix E System Upgrades for detailed procedures NOTE The ESP6000 controller card is factory equipped with firmware which is stored in non volatile flash EPROM Firmware downloading should be used for upgrades only 4 1 3 2 5 UniDrive The UniDrive menu includes a Setup UniDrive sub menu for configuring a UniDrive6000 for operation with a non ESP compatible stage s Select UNIDRIVE to access the Setup UniDrive sub menu see Figure 4 1 13 Select Axis Motor Current 1 4 o Amps 2 05 Tachometer Constant 13 OG D Kpn Moton ype ODCS Gear Constant Er YD ke ea Update Unidrive DK Apply Cancel Figure 4 1 13 Setup UniDrive Sub Menu Selec
127. break int main int esp_error esp_error ESP6000 tell error esp error esp open system initialize report errors if any return 0 esp_init_system 5 9 esp_update unidrive 5 10 Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Update UniDrive Settings include esp6000 h int esp update unidrive long axis long axis axis number from 1 6 esp6000 dll esp_update_unidrive API function call resends all UniDrive6000 settings using the most recent motor configuration for the specified axis ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 Change Axis 1 Motor Current esp_motor_current l 1 9 Update Unidrive6000 Axis 1 esp update unidrive l Save new settings to non volatile memory esp save parameters check error status esp get error num amp error amp ServoTick if error printf Error d Reported r n error esp_motor_current esp_save_parameters Section 5 Programming Configuration 5 11 esp_set motor_type esp get motor type Synopsis Arguments Library Location Description Returns Hint Usage Example See Also 5 12 Set Axis Motor Type Report Axis Motor Type Setting include es
128. curately and repeatably The need for this absolute reference 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 stage 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 defined accurately in space before running the application To achieve this precise position referencing the ESP6000 motion control system executes a unique sequence of moves First let s look at the hardware required to determine the position of a motion device The most common and the one supported by the ESP6000 controller card are incremental encoders By definition these are encod ers that can track only relative movements 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 prerequisite 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 a po
129. d the UniDrive6000 When initialization is complete the main servo tuning screen appears see Figure 4 2 1 F SPEKIN 1 1min i ck Ce rs i e ep Fs nlik A FR lir 200 wolal nm sisa H muntin Peu 1 000 On AF Ki AL 108 Aces 40 Ratu i 4 1 230 D I JL ZV wire dv Dees mm a ees a Simt pna Want P Aff l DI J rks VU Doday y up OEE PIGG Figure 4 2 1 Servo Tuning Main Screen Pod ue Default settings are provided for ESP compatible stages but settings for non ESP compatible stages must be individually configured by the user To get detailed information about the functionality and usage of the tuning software utility click the right mouse button on the desired object and select DESCRIPTION A window with a description of the object will appear Refer to Section 7 Servo Tuning for further guidance NOTE Save configuration input on a systematic basis to ensure operating parameters are not lost CAUTION Do not disconnect stages while the personal computer and UniDrive are powered up Section 5 Programming 51 General Description The ESP6000 controller card and device driver must be installed correctly before programming can begin The Dynamic Link Library DLL provides communication to the ESP6000 controller card via the PCI bus When the system is initialized the DLL will make a call to the device driver to open communications The device driver will respond with
130. de esp6000 h int esp get daq status count Arguments long count number of samples collected Library Location Nesp6000 dll Description esp get daq status returns the number of acquisitions collected This function can be used to monitor the status of data acquisitions Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main long error servotick long Num DaqStat Mode count float DataArray 5121 if esp init system printrt ESPou00 Not Initialized r n exit 1 Set ADC Gain and Range esp set adc gain V10 esp set adc range BIPOLAR Set Acquisition Mode esp set daq mode 1 1 1 1 2 512 esp enable daa esp enable motor 1 eop move absoluto 1 500 0 while esp daq done Wait for DAO End esp_get_daq status amp count Prank 2d acguisitions collected r countc esp disable daq Retrieve Data esp get daq data DataArray amp Num amp DaqsStat 19 Cneck error status esp get error num amp error amp ServoTick if error printf Error d Reported r n error See Also esp get daq done esp_set_daq_mode esp_enable_daq esp_disable_daq esp_get_daq_data Section 5 Programming 5 93 5 94 esp_daq done Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Return Data Acquisition Completion Status
131. delay Set Delay Time Synopsis include esp6000 h int esp delay float time Arguments float time time in seconds where maximum 1000 seconds Library Location esp6000 dll Description esp_ delay API call is used to delay continued command processing for the specified time This API call uses the PC system timer which has a 55 milli second resolution Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main long error servotick double position if esp_init_system l printf ESP6000 Not Initialized r n exit 1 enable motor power esp enable motor 2 move axis 2 to absolute position 3 0 esp_move_absolute 2 3 0 while esp_move_done 2 Wait 2 5 seconds esp delay 2 5 move axis 2 to absolute position 0 0 esp move absolute 2 0 0 while l lesp move done 2 check error status esp get error num amp error amp ServoTick if error printf Error d Reported error See Also esp delay after stop0 Section 5 Programming 5 33 esp delay after stop Set Delay Time After Motion Stops Synopsis include esp6000 h int esp delay after stop long axis float time Arguments float axis axis number from 1 6 axis 0 tests all axes float time time in seconds where maximum 1000 seconds Library Location esp6000 dll Description esp_delay_after_stop API call is used to delay continued
132. e 6 6 7 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 half 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 6 6 8 ee B r H r C r a DO Figure 6 6 8 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 The ESP6000 drivers use the mini stepping technique to divide the full step in ten mini steps increasing the motor s resolution by a factor of 10 However mini stepping comes at a price First the driver electronics are significantly more complicated Secondly the holding torque for one step is reduced by the mini stepping factor In other words for a x10 mini stepping it takes only 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 what this means let s take a look at the torque produced by a stepper motor For simplicity consider the case of a single phase being energized Figure 6 6 9 Figure 6 6 9 Single Phase Energization Once the closest rotor tooth has been pulled in
133. e flash memory or ESP compatible stage if new and establish communication 9 1 2 2 Configuration Axis specific parameters must be configured after initialization These parameters consist of General axis configuration for servo or stepper motor designation Servo parameters for configuring control algorithm gains Parameters include digital to analog converter offset proportional gain derivative gain integral gain integrator limit velocity feed forward and accelera tion feed forward Trajectory parameters trapezoidal velocity profile S curve velocity profile and master slave profile Limit parameters maximum software travel maximum velocity maxi mum acceleration maximum jerk and motor following error 9 1 2 3 Axis Control Once the axes have been configured the ESP system can move motion devices Devices must first be enabled then targets can be specified from trapezoidal or S curve profiles or jog mode can be activated 9 1 3 Trajectory Control Process The trajectory generation module operates independently from the servo generation module and data is passed from one to the other only in the servo interrupt service routine Trajectory control processes are there fore not affected by servo generation processes Since trajectories are generated in real time parameter changes can be processed in real time as they are received from the API The following parameters may be changed while the a
134. e stepper motors with closed loop operation to eliminate this problem Advantages Stepper motors are primarily intended to be used for low cost micropro cessor controlled 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 e no servo tuning required e good position lock in e no encoder necessary e easy velocity control e retains some holding torque even with power off e no wearing or arcing commutators e preferred for vacuum and explosive environments Disadvantages Some ol the main disadvantages o 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 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 6 6 2 DC Motors A DC motor is similar to a permanent magnet stepper motor with an added internal phase commutator Figure 6 6 13 Figure 6 6 13 DC Motor Applying current to phase B pulls in the rotor pole If as soon as the pole gets there the current is switched
135. e the lowest acceleration the application can tolerate Lower accel eration generates less overshoot Use the default values provided with the system for all standard motion devices as a starting point Use the minimum value for Ki that gives acceptable performance The integral gain factor can cause overshoot and oscillations Parameter Kp Kd Ki Vif Aff Section 7 Servo Tuning A summary of servo parameter functions is listed in Table 7 2 1 Table 7 2 1 Servo Parameter Functions Function Determines stiffness of servo loop Main damping factor used to eliminate oscillation Reduces following error during long motions and at stop Reduces following error during the constant velocity phase of a motion Reduces following error during the acceleration and deceleration phases of a motion Value Set Too Low Servo loop too soft with high following errors Uncompensated oscillation caused by other parameters being high Stage does not reach or stay at the desired stop position Negative following error during the constant velocity phase of a motion Stage lags the desired trajectory Negative following error during the acceleration phase of a motion Stage lags the desired trajectory Value Set Too High Servo loop too tight and or causing oscillation Higher frequency oscillation and or audible noise in the motor caused by large ripple in the motor voltage Oscill
136. eads the analog to digital converter channel 1 8 specified The analog input range of each ADC channel is software configurable for ranges of 10V O through 10 10 through 0 5V 2 5V and 1 25V ADC channels are located on the analog I O connector on the controller card Programmable l Gain Spee 16 bit 100 kHz Anti alias Instrumentation A D Converter Fil Amplifier Sample Trigger Control Timer or Software Driven ESPOK ESPERROR include esp6000 h main long timestamp Lioac VOLLS if esp init system exit 1 Set ADC Gain esp set adc gain V10 Set ADC Range esp set adc range BIPOLAR Acquire ADC Channel 1 Analog Data esp get adc 1l amp volts amp timestamp printf ADC f XnNr volts esp set adc range esp set adc gain esp get all adc esp_get_all_adc Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Read All Analog To Digital Converter Channels include esp6000 h int esp get all adc float DataArray long timestamp float DataArray address of array where ADC data is to be stored long timestamp current servo counter value at time of acquisition esp6000 dll esp_get_all_adc reads all analog to digital converter channels 1 8 The analog input range of each ADC channel is software configurable for ranges of 10V IV
137. ecified Supplied with device power supply power supply Leads for non motion Customer specified Customer provided signals Leads for stages Customer specified Customer provided axis 1 6 For systems configured with a personal computer the terminal block board draws power from the personal computer power supply through the 100 pin cable If an external power supply is connected to the terminal block board the board will draw power from the external source instead of the PC CAUTION The ESP6000 controller card terminal block board and stages are sensitive to static electricity Wear a properly grounded anti static strap when handling equipment WARNING Power down personal computer or external power supply before connecting any equipment For PC based configurations the terminal block board can be connected any time after installation of the ESP6000 controller card controller card driver software and Windows motion utility software is complete First power off the PC then connect the terminal block board and cables leads and device s 8 1 2 Analog I O Cable The analog I O cable is a 26 25 ribbon cable designed for use with the ESP6000 controller card The cable has an 8 channel analog signal capacity for interfacing devices Refer to the Windows Motion Utility Setup Hard ware sub menu Analog I O tab to configure devices for use The cable is shown in Figure 8 1 2 connections are listed in Table 8 1 2 and connector
138. ed or the system is powered down and then back up the ESP6000 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 does not modify parameters on ESP compatible stage memory If a UniDrive6000 is part of the system configuration and the stage motor and current type are defined the controller card will configure the specific UniDrive axis Specific ESP logic is shown in Figure F 1 Is An Was An ESP Stage No ESP Stage Yes Present Present Yes Was Same ESP Stage Present Is A Non ESP Stage Present Yes Copy ESP Erase Controller Flash Stage Data To Memory And Load Controller Flash Default Parameters Memory Is UniDrive Axis Present Is Motor Type amp Current Defined Configure UniDrive Axis Figure F Configuration Logic Appendix F ESP Configuration Logic F 1 Appendix G Factory Service Appendix G Factory Service This section contains information regarding factory service for the ESP 6000 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 Table G I Technical Customer Support Co
139. el limit and encoder feedback circuitry A 1 6 The 1 input is pulled up to 5 volts with a 1KQ resistor The signal is buffered with a 26LS32 differential receiver The 1 encoder encoded signal originates from the stage position feedback circuitry and is used for position tracking B_1 _6 The B 1 input is pulled up to 5 volts with a 1KQ resistor The signal is buffered with a 26LS32 differential receiver The B 1 encoder encoded signal originates from the stage position feedback circuitry and is used for position tracking DGND Digital ground I_1 _6 The I 1 index input is pulled up to 5 volts 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 Table C 3 3 Eighteen Lead Lower Connector Pin Outs J11A J16A Leads Function l Home 1 6 Limit 1 6 Limit 1 6 Fault 1 6 Enable 1 6 P 1 6 P 1 6 AGND ESP DAC 1 6 CO CO NI O5 Ol By VIN Limit 1 6 This input is pulled up to 5 volts with a 4 7KQ resistor by the controller and represents the stage positive direction hardware travel limit The active true state is user configurable The default is active HIGH Limit 1 6 This input is pulled up to 5 volts with a 4 7KQ resistor and represents the stage negative direction hardware travel
140. elocity profile Trapezoidal velocity profile DC Motor Control 16 bit servo DAC resolution 16 MHz maximum encoder input frequency PID with velocity and acceleration feed forward servo loop 0 4 ms digital servo cycle Stepper Motor Control 2 5 MHz maximum pulse rate Open or closed loop operation PID with velocity feed forward closed loop mode Computer Interfaces PCI bus interface Utility Interfaces Connectors Analog I O 16 bit 8 channel muxed analog inputs Digital I O 24 bit Opto22 compatible digital I O Auxiliary I O 2 channel auxiliary encoder counters Programming Visual BASIC Visual C C LabVIEW Memory 512KB firmware flash EPROM 128KB system configuration flash EPROM Power 5 Volts 1 8 Amps maximum 12 Volts 0 2 Amps maximum 12 Volts 0 2 Amps maximum Section 1 Introduction 1 4 2 2 1 4 2 5 Physical Width 0 75 Height 4 0 including face plate Depth 14 0 including bracket Weight 0 6 Ib UniDrive6000 Universal Motor Driver Number Of Motion Axes 1to6 in any combination or order of DC and stepper motors Stage Compatibility ESP compatible Smart Stage devices non ESP compatible Newport Stages other stages DC Motor Control 4 Amps 60 Volts Stepper Motor Control 4 Amps 60 Volts 10x micro stepping resolution factor Full half and min
141. ent ESP system stage driver configuration After each system reset or initialization the ESP6000 detects the presence of UniDrive6000 driver channels and ESP compatible stages connected BIT SOD co O O O OI ANAA O Q O O oO i kr aks ek OI OI C OQ BS 5 O 31 31 VALUE e C C CO C C O C CO C CO C CO 0 C 0 O DEFINITION axis 1 UniDrive6000 not detected axis 1 UniDrive6000 detected axis 2 UniDrive6000 not detected axis 2 UniDrive6000 detected axis 3 UniDrive6000 not detected axis 3 UniDrive6000 detected axis 4 UniDrive6000 not detected axis 4 UniDrive6000 detected axis 5 UniDrive6000 not detected axis 5 UniDrive6000 detected axis 6 UniDrive6000 not detected axis 6 UniDrive6000 detected reserved reserved reserved reserved axis 1 ESP compatible motorized positioner not detected axis 1 ESP compatible motorized positioner detected axis 2 ESP compatible motorized positioner not detected axis 2 ESP compatible motorized positioner detected axis 3 ESP compatible motorized positioner not detected axis 3 ESP compatible motorized positioner detected axis 4 ESP compatible motorized positioner not detected axis 4 ESP compatible motorized positioner detected axis 5 ESP compatible motorized positioner not detected axis 5 ESP compatible motorized positioner detected axis 6 ESP compatible motorized position
142. er not detected axis 6 ESP compatible motorized positioner detected reserved reserved reserved reserved reserved reserved ESPOK ESPERROR 5 13 5 14 esp get sys config Report ESP System Configuration Continued Usage Example See Also include esp6000 h main i long error servotick systconfiig if esp init system printf ESP6000 Not Initialized r n exit 1 Get ESP System Configuration esp get sys config amp sysconfig print present system configuration Prince Configuration 2x VAA sysconiig esp set sys fault config esp get sys fault config Synopsis Arguments Library Location Description Section 5 Programming Set System Configuration Register Report System Configuration Register include esp6000 h int esp set sys fault config long config int esp get sys fault config long config long config configuration register esp6000 dll esp_set_sys_fault_config is used to configure system fault checking event handling and general setup for all axes esp_get_sys_fault_config reports present setting BIT VALUE 0 0 0 1 1 0 1 1 2 0 2 1 3 0 3 1 4 0 4 1 5 0 5 1 6 0 6 1 7 0 7 1 8 0 8 1 9 0 9 1 10 0 10 1 11 0 11 1 12 0 12 1 13 0 13 1 14 0 14 1 15 0 15 1 31 0 cy 1 DEFINITION disable 100 pin interlock error checking enable 100 pin interlock error checking do not disable
143. erema Frnnvare Urilrive Demo Made feared ie Figure E 1 4 ESP6000 Setup Menu The Update Firmware message screen appears see Figure E 1 5 Update Fimware 2 Tou are about to Erase the Current Firmware Cancel Figure E 1 5 Update Firmware Message Screen Select OK The Open screen appears see Figure E 1 6 Open Lookin 3 Firmware amp Files of type Ou Fyr Cancel Open as read only Figure E 1 6 Open Screen NOTE This is your last chance to cancel the download Make sure that you want to burn in the new firmware before selecting Open Select the fwr file in the Firmware directory and select OPEN this file is supplied with initial delivery installation The ESP6000 Firmware Update screen appears see Figure E 1 7 ESPEODD Firmware Update Download In Progress C Newport E SPE000MFIRMWARE 1 45 110 har Figure E 1 7 Firmware Update Screen The Firmware Update screen will display status until downloading is complete then the user will be returned to the ESP6000 Initialization screen see Figure E 1 8 Appendix E System Upgrades E 5 ESP6000 Inibalization Figure E 1 8 ESP6000 Initialization Screen When the screen message indicates that the ESP6000 is initialized the system is ready for use again Appendix F ESP Configuration Logic Each time a stage or stages are disconnected re connect
144. error printf Error d Reported r n error esp set speed esp set decel esp set accel esp set jerk esp_set_soft_limits esp get soft limits Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Define Software Travel Limits Report Software Travel Limits Setting include esp6000 h int esp_set_soft_limit long axis double negative double positive int esp get soft limit long axis double negative double positive double leftpos left software travel limit absolute position in user units double rightpos right software travel limit absolute position in user units esp6000 dll esp_set_soft_limit defines the right and left software travel limit for the specified axis Software travel limits are referenced to absolute position zero 0 or home position after homing has been performed Normally after a system reset the stage 1s first homed so that software travel limits are referenced to a known repeatable location Software limits help prevent inadvertent travel into stage hardware limits esp_get_soft_limit reports the right and left software travel limit setting for the specified axis NOTE Software travel limits are ignored during homing mode ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n
145. ervo digital to analog converter DAC ground Optional Power Supply Connector This connector is used for to provide an external supply power for stage home limit and encoder circuits Connector pin outs are listed in Table C 3 4 and functionally described in the following paragraphs Table C 3 4 Optional Power Supply Connector Pin Outs J8 Pins Function 5V 2 DGND 3 12V 4 12V 5 AGND 12V 12 volt supply 5V 5 volt supply 12V 12 volt supply AGND Analog ground DGND Digital ground C 3 4 Nine Lead Connector This connector provides access to non motion signals from the ESP6000 controller card Connector pin outs are listed in Table C 3 5 and function ally described in the following paragraphs Table C 3 5 Nine Pin Connector Pin Outs J9 Leads Function 12V 12V 5V DGND DGND E Stop Input Reset Output RS RS B CO CO NI DIGI By VIN 12V 250mA maximum 12V supply available from the PC 12V 250mA maximum 12V supply available from the PC 5V 250mA 9 volt 250mA maximum supply from the PC This supply is provided for stage home index travel limit and encoder feedback circuitry DGND Digital ground E_Stop Input The Emergency Stop E Stop input is pulled up to 5 volts with a 1KQ resistor The incoming signal to this input must be a low going TTL compatible digital pulse with minimum 10 microsecond duration This signal should be debounced so
146. es users to know the exact time of error posting NOTE ESP6000 uses a 10 word FIFO buffer to queue error messages Returns ESPOK ESPERROR Hint Check for errors after critical command sequences Usage Example include esp6000 h main long error servotick double position if esp_init_system I printf ESP6000 Not Initialized r n exit 1 enable motor power esp enable motor 2 move axis 2 to absolute position 3 0 esp_move_absolute 2 3 0 while esp_move_done 2 S Gheck error stratus esp_get_error_num amp error amp ServoTick if error printf Error d Reported error See Also esp_get_error_string 5 106 esp get error string Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Report Error String include esp6000 h int esp get error string char ErrorStr long ErrorNum long ServoTick char ErrorStrg string containing error message long ErrorNum error number long ServoTick servo cycle timestamp with 409usec resolution esp6000 dll esp_get_error_string API function call reports ESP6000 error messages complete with error string error number and timestamp The ESP6000 queues error messages in a 10 word FIFO buffer The timestamp enables users to know the exact time of error posting NOTE ESP6000 uses a 10 word FIFO buffe
147. esp6000 dll Description esp set softlimit config is used to configure the software travel limit checking and event handling for the specified axis esp get softlimit config reports present register setting BIT VALUE DEFINITION disable software travel limit error checking 0 1 enable software travel limit error checking 1 0 do not disable motor on software travel limit event 1 1 disable motor on software travel limit event 2 0 do not abort motion on software travel limit event 2 1 abort motion on software travel limit event 3 0 reserved 3 1 reserved 4 0 reserved 4 1 reserved 5 0 reserved 5 1 reserved 6 0 reserved 6 1 reserved 7 0 reserved 7 1 reserved 31 0 reserved 31 1 reserved Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main if esp_init_system printf ESP6000 Not Initialized r n exit 1 Abort Motion amp Flag Error On Software Limit esp set softlimit config l 0x0d See Also Section 5 Programming 5 19 esp set ampio config Set Amplifier I O Configuration Register esp get ampio config Report Amplifier I O Configuration Register Synopsis include esp6000 h int esp set ampio config long axis long config int esp get ampio config long axis long config Arguments long axis axis number from 1 to 6 long config configuration register Library Location esp6000 dll Description esp_set_ampio_config is used to confi
148. et compensation is necessary on servo axes to prevent motor drift during motor off conditions ESPOK ESPERROR include esp6000 h main if esp init system printf ESP6000 Not Initialized NXNrin exit 1 I Set Axio L DAC Ofiser esp set dac offset l 0 075 Save Offset To Non volatile Memory esp save parameters esp_Save_parameters 5 25 esp_save parameters Save Parameters lo Flash EPROM Memory Synopsis include esp6000 h int esp save parameters Arguments none Library Location esp6000 dll Description esp_save_parameters API function call causes the ESP6000 to save present param eters to non volatile flash EPROM memory Parameters saved to flash EPROM are automatically restored to working registers after system initialization or reset NOTE Saved axis settings are automatically overwritten when a different ESP compatible stage is detected in the same axis channel All saved settings are automatically erased when new ESP6000 firmware is downloaded Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialiged Vern exit 1 set PID gain esp set kp l 100 0 esp set kd 1 200 0 esp set ki 1 50 0 esp set 1il 1 50 0 A transfer PID to working registers esp update filter
149. et dio portb long data int esp get dio portb long data long data digital I O Port B esp6000 dll esp_set_dio_portb writes specified value to digital I O Port B located on both auxiliary I O and digital I O connectors on the controller card Port B is an 8 bit port starting from location bit 0 through bit 7 Use function esp_set_portabc_dir to define Port B as either an input or output esp_get_dio_portb reports DIO port B status Port B DIO signals are externally pulled up via a 4 7KQ resister to 5 volts Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit l Bit 0 NOTE After system reset Ports A B and C are automatically configured as inputs ESPOK ESPERROR Define port direction with esp set portabc dir before using this function include esp6000 h main if esp_init_system exit 1 Configure Ports A B C Directions esp_set_portabe_dir PORT_OUTPUT PORT INPUT PORT INPUT Set DIO B Port esp set dio portb long OxOFF J esp_get_dio_porta esp get dio portc esp set portabc dir esp_set_dio_portc esp_get_dio_portc Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Write To Digital I O Port C Report Digital I O Port C Status Hinclude esp6000 h int esp set dio portc long data int esp get dio portc long data long data digital I O Port C Vesp6000 dll esp set dio
150. et motor current 1 1 9 Set Axis 1 Stage Gear Constant esp set gear constant l 0 3 Set Axis l Tachometer Constant esp set tach constant l 3 1 Update Unidrive6000 Axis 1 esp update unidrive l Save new settings to non volatile memory esp save parameters esp set gear constant Set UniDrive Axis Motor Gear Constant esp get gear constant Report UniDrive Axis Motor Gear Constant Continued See Also Section 5 Programming 4 check error status esp get error num amp error amp ServoTick if error printf Error sd Reported r n error esp_set_tach_constant esp_update_unidrive esp save parameters 5 75 5 76 Servo Section 5 Programming 5 77 5 78 esp set kp esp get kp Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Set PID Proportional Gain Kp Report PID Proportional Gain KP Setting include esp6000 h int esp_set_kp long axis float kp int esp get kp long axis float kp long axis axis number from 1 6 float kp proportional gain esp6000 dll esp_set_kp sets the proportional gain kp of the PID servo filter esp get kp reports the proportional gain kp setting NOTE If necessary use the ESP tune utility to optimize servo PID and feedforward parameters ESPOK ESPERROR include esp6000 h main long error servotick if
151. ethod not only offers a more accurate value but also gives a better understanding of the motion control system perfor mance and helps pinpoint problems Also due to the integrated nature of the ESP6000 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 63 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 s far as the DC servo loops the PID type is by far the most widely used The ESP6000 controller card implements a PID servo loop with velocity feed forward for both DC and stepper motor motion devices It is not just a static closed loop when the motion is stopped but a fully dynamic one The basic diagram of a servo loop is shown in Figure 6 3 1 Besides the com mand interpreter the two main parts of a motion controller are the trajec tory 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 Command Trajectory P Interpreter Generator l Motion Controller Figure 6 3 1 Servo Loop Section 6 Motion Control Tutorial 6 11
152. f Error Sd Reported r n error esp_set_accel esp set decel esp move absolute esp_set_resolution esp_set max_speed esp get max speed Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Set Axis Maximum Speed Get Axis Maximum Speed Setting include esp6000 h int esp set max speed long axis float speed int esp get max speed long axis float speed long axis axis number from 1 6 long speed maximum speed in user units second esp6000 dll esp_set_max_speed sets the maximum permissible speed for the specified axis The controller will not accept speed parameters set by other functions e g esp_set_speed which exceed maximum permissible speed esp_get_max_speed reports the maximum permissible speed for the specified axis ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system I printf ESP6000 Not Initialized r n exit 1 set axis 1 trajectory parameters esp sst max speeced l 100 0 3 esp Set max accel l S00 0 esp set max jerk 1 100 0 check error status esp get error num amp error amp ServoTick if error printf Error d Reported r n error esp set speed esp set home speed esp set jog speed 5 47 5 48 esp_set_accel esp get accel Synopsis Arguments Library Location
153. ferential receiver The Index signal originates from the stage and is used for homing the stage to a repeatable location Reset Output From Controller The Reset output is a TTL buffered output which represents ESP6000 hardware reset status of the controller itself When the controller is held in a reset state this output is a logical LOW When connected to the UniDrive6000 this output resets all driver channels Servo DAC Output Axis 1 2 3 4 The servo digital to analog converter DAC output is the 10 volt control signal used to control DC servo motors This signal is the output of the 18 bit servo DAC Travel Limit Input Axis 1 2 3 4 This input is pulled up to 5 volts with a 4 7KQ resistor and represents the stage negative direction hardware travel limit The active true state is user configurable The default is active HIGH Travel Limit Input Axis 1 2 3 4 This input is pulled up to 5 volts with a 4 7KQ resistor and represents the stage positive direction hardware travel limit The active true state is user configurable The default is active HIGH C 1 3 Digital I O 60 Pin JP4 Connector This connector provides access to the ESP6000 Opto22 compatible 24 bit digital I O interfaces Connector pin outs are listed in Table C 1 3 and functionally described in the following paragraphs Appendix C Connector Pin Assignments C 9 C 10 Table C 1 3 Digital Connector Pin Outs JP4 Pins CO CO
154. ftware can be astomabcall removed by de ESP ulil Mr fes Vrsscan vi 11 renset tele erre CF Carcel APPP Figure 2 4 8 Add Remove Programs Properties Menu Select the Install Uninstall tab from the Add Remove Programs Properties menu then select INSTALL The Install Program From Floppy Disk Or CD ROM screen appears see Figure 2 4 9 Install Pangea I rom lappy Disk nr I 13 1001 bd Ing bus podec Ts Iretsllblios Flopry dia o LL AJH acd her ziel Rex Hete Cerimel Figure 2 4 9 Install Program From Floppy Disk Or CD ROM Screen Insert the disk labeled ESP6000 Windows Interface Software Disk 1 of 4 into the floppy drive and select NEXT The Run Installation Program screen appears Figure 2 4 10 Verify that the path appears as shown in the screen and select FINISH The ESP Welcome screen appears see Figure 2 4 11 Hun Installation Frogram IF this 18 the correct installation program click Finish To start the automatic search again click Back To manually search for the installation program click Browse Command line for installation program AASETUP EAE Browse Figure 2 4 10 Run Installation Program Section 2 System Set Up 2 11 ESP6000 Installation Welcome This installation program will Install ESPE000 Press the Next button to start the installation You can press the Cancel button now IF you do not want to install ESP6000 at this time C
155. g include esp6000 h int esp set adc gain long gain int esp get adc gain long gain long gain ADC gain V1 25 V2 5 V5 V10 0 3 corresponding to gain of 1 2 4 or 8 respectively esp6000 dll esp_set_adc_gain will set the gain of all eight 8 ADC channels esp_get_adc_gain reports the present gain setting of all eight 8 ADC channels The analog input range of each ADC channel is software configurable for ranges of 10V 5V 2 5V and 1 25V ADC channels are located on the analog I O connector on the controller card Programmable Sialic I Gain Anibalias 16 bit 100 kHz Instrumentation l A D Converter Input Filter Amplifier Sample Trigger Control Timer or Software Driven ESPOK ESPERROR include esp6000 h main long timestamp float volts if esp_init_system exit 1 Set ADC Gain esp set adc gain V10 Set ADC Range esp set adc range BIPOLAR Acquire ADC Channel 1 Analog Data esp get adc 1l amp volts amp timestamp printf ADC f XnNr volts esp set adc range esp get adc esp get all adc esp_set_adc range esp get adc range Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Set Analog To Digital Converter Input Range Report Analog To Digital Range Setting include esp6000 h int esp set adc range long ran
156. ge int esp get adc range long range long range ADC range 0 or 1 UNIPOLAR or BIPOLAR respectively esp6000 dll esp_set_adc_range will set the range of all eight 8 ADC channels whereas esp_get_adc_range will retrieve the current setting The analog input range of each ADC channel is software configurable for ranges of 10V 5V 2 5V and 1 25V ADC channels are located on the analog I O connector on the controller card Programmable l Gain pa 16 bit 100 kHz s Instrumentation A D Converter a Filter Amplifier Sample Trigger Control Timer or Software Driven ESPOK ESPERROR include esp6000 h main i long timestamp tloat volts if esp_init_system exit 1 Set ADC Gain esp_set_adc_gain V10 Set ADC Range esp set adc range BIPOLAR Acquire ADC Channel 1 Analog Data esp get adc 1l amp volts amp timestamp printf ADC Sf n r volts esp set adc gain esp get adc esp get all adc 5 87 esp get adc Synopsis Arguments Library Location Description Returns Hint Usage Example See Also 5 88 Read Analog To Digital Converter Channel include esp6000 h int esp_get_adc long channel float volts long timestamp long channel ADC input channel 8 long data address of variable where ADC data is to be stored long timestamp current servo counter value at time of acquisition esp6000 dll esp_get_adc r
157. gh a typical PCI bus implementation supports approximately ten supported electrical loads each PCI device package may contain up to eight separate PCI functions The PCI bus logically supports up to 32 physical PCI device packages for a total of 256 possible PCI functions per PCI bus Components designed for the PCI bus are PCI specific not processor specific thereby isolating device design from processor upgrade treadmill Software drivers utilize same command set and status definition when communicating with PCI device or its expansion bus oriented cousin Parity checking on the address command and data Appendix A Error Messages Appendix A Error Messages The ESP 6000 system utilizes messages available via API calls to notify the user when an error has occurred System response is the same for the user whether operating the ESP util Windows setup software or for Visual C Visual Basic or LabVIEW The ESP 6000 error message FIFO buffer can store as many as 10 error messages including servo cycle time stamp information Error messages are listed in Table A 1 QiV1IOdI I pue QIVTOdINN 0 1e san ea I URI JAY PIPA v pue z I 0 31 sanpea uwes JV PIRA 40419 SIU SNVI IIIA 9 ULY 1916918 19quinu SIXV PU 0009 9AH Tu 1o pue N009dS4 Je p 1o9 uuoo Apuadoad jou aged utrd 001I guoi1 JoJOUIeIed oyeridoidde 10 G uono sJUIUNSIE puewuo 9Y 0 IPY l qneduuioo JOU 1eAuu pue TIA AJOW
158. gure the amplifier I O polarity fault checking and event handling for the specified axis esp_get_ampio_config reports the present setting BIT VALUE DEFINITION 0 0 disable amplifier fault input checking 0 1 enable amplifier fault input checking 1 0 do not disable motor on amplifier fault event 1 1 disable motor on amplifier fault event 2 0 do not abort motion on amplifier fault event 2 1 abort motion on amplifier fault event 3 0 reserved 3 1 reserved 4 0 reserved 4 1 reserved 5 0 amplifier fault input active low 5 1 amplifier fault input active high 6 0 configure step motor control outputs for STEP DIRECTION 6 1 configure step motor control outputs for STEP STEP 7 0 configure STEP output as active low 7 1 configure STEP output as active high 8 0 configure DIRECTION output as active low for negative move 8 1 configure DIRECTION output as active high for negative move 9 0 do not invert servo DAG output polarity 9 1 invert servo DAC output polarity 10 0 amplifier enable output active low 10 1 amplifier enable output active high 11 0 reserved 11 1 reserved 12 0 reserved 12 1 reserved 13 0 reserved 13 1 reserved 14 0 reserved 14 1 reserved 15 0 reserved 15 1 reserved 16 0 reserved 16 1 reserved 17 0 reserved 17 1 reserved 18 0 reserved 5 20 esp set ampio config esp get ampio config Returns Hint Usage Example See Also Section 5 Programming Set Amplifier I O Configuration Register Report Amplifier
159. h 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 Ifthe 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 Do not open the UniDrive6000 except to replace the rear power line panel fuses and power supply board fuse see Appendix B Trouble Shooting There are no user serviceable parts inside the UniDrive Do not make modifications or parts substitutions Return equipment to Newport Corporation for service and repair Donot touch directly or with other objects live circuits inside the unit Do not operate the unit in an explosive atmosphere Keep air vents free of dirt and dust Do not block air vents Keep liquids away from 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 e
160. he size of the following error is of no concern during the acceleration high Maximum Acceleration values can be entered The motion device will move with the highest natural accel eration 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 accel eration Though 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 6 2 16 Combined Parameters Very often a user looks at an application and concludes that he needs a certain overall accuracy This usually means that he is combining a number of individual terms error parameters into a single one Some 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 to the specific case This m
161. i step capability Power Input voltage 110 220V 10 Frequency 50 60Hz Current 4 Amps maximum input current Physical Height 7 00 including feet Width 17 0 Depth 17 0 Weight 19 0 lb with 6 driver cards Fuses Location Type Rear Power Line Panel AA 250V SLO BLO Power Supply Board 3 15 A 250V Environmental Limits Operating Temperature 0 Centigrade to 40 Centigrade Operating Humidity 90 non condensing Storage Temperature 20 Centigrade to 60 Centigrade 1 9 Section 2 System Setup This Section defines the hardware and soltware requirements or operation the equipment controls and indicators and the step by step procedures needed to prepare the system for use 21 Unpacking Section 2 System Set Up Before unpacking any components inspect the shipping container s for evidence of damage Notify the shipping carrier of damage CAUTION All equipment is packaged in electrostatic material Unpack carefully to avoid damage to equipment and packing materials Remove the packing list from the shipping container s Verify that the items listed on the packing slip are in the container s Refer to Appendix G Factory Service for reporting discrepancies CAUTION The ESP6000 controller card and stages are sensitive to static electricity Wear a properly grounded anti static strap when handling equipment Further inspection of eq
162. iary Connector 0 OSE ee C 12 Table C 1 5 Analog Connector Pin Quts rrrrrrrnnvvrnnnnanvvrnrnnsnvrrrnrssnvnresrsenvrrsersenvrrsrrsennrrsesssnnnrsessennnssrssnnnrsersennvrsersnnnsne C 15 Table C2 Driver Card Connector EO EEE ees C IS Table C 5 1 MD4 Connector Pin Outs rrrrrrrrrrrnrrennennnnnrnnnnnnnrnnnnnnnnnnnnnnnnnnnnnnnnrnnrnnnrrnnrnnsensennennenesnsserssssssssensneseneneenenn C 22 Table KL C 24 Table C 3 3 Eighteen Lead Lower Connector Pin Quts a assssssssssssssssssssssssssssssas C 25 Table C 5 4 Optional Power Supply Connector Pin Outs a aaaaaasssssssssssssssnssssssssssssssssasssa C 26 Table C 3 5 Nine Pin Connector Pin Quts rrrrrrrrrrrnrnsonnnrrnrrrnnnrrrnnrrrrnnnnnnrrrrnnersrsrrsrnnnnnnrnrrnsenssssrsesannnnnnrnrennsssseessannnnnn C 27 DN sarees eases us susu na 3232 C 28 Table G 1 Technical Customer Support Contacts rrrrrrrrrrrrrrnnnnnnnnnnrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrnnrnnnnnnnenereererrrenrnnnrrnnnnnnsnnnn G xii Section 1 Introduction 7 Scope Section 1 Introduction This manual provides descriptions and operating procedures for the Enhanced System Performance ESP motion system consisting of the ESP6000 controller card UniDrive6000 universal motor driver and various stages Safety considerations conventions and definitions and a system overview are provided in Section 1
163. ically present Green Motor power on Yellow Motor off driver card installed Red Driver fault 10 LINE SELECT Sets UniDrive to operate at 115 range 90 120 VOLTAGE switch or 230 range 200 240 input VAC 11 15 LED axis driver card status Same as item numbers 4 9 2 4 24 Installation and Connection 2 4 1 Installing the ESP6000 Controller Card and Software Driver Power down the computer Refer to the computer user manual for procedures 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 Opening or removing covers will expose you to hazardous voltages Observe the following precautions before proceeding e Turn power OFF and unplug the unit from its power source e Disconnect all cables e Remove jewelry from hands and wrists e Use insulated hand tools only e Maintain grounding by wearing a wrist strap attached to instrument chassis Remove the enclosure housing from the computer Removal of an enclo sure from a representative PC is shown in Figure 2 4 1 Refer to computer user documentation or contact the computer dealer factory service department for disassembly assembly procedures Section 2 System Set Up 2 5 2 6 N97115 Figure 2 4 1 Enclosure Removal Locate an open PCI card slot in the chassi
164. idth modulated with a maximum amplitude of 60V DC Stepper Motor Phase 3 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 60V DC Stepper Motor Phase 4 Output This output must be connected to Winding P lead of a two phase stepper motor The voltage seen at this pin is pulse width modulated with a maximum amplitude of 60V DC Tacho Generator Input This input can be connected to the positive lead of a tachometer The maximum input voltage range is 60V Tacho Generator Input This input can be connected to the positive lead of a tachometer The maximum input voltage range is 60V Travel Limit Input This input is pulled up to 5 volts with a 4 7KQ resistor by the controller and represents the stage positive direction hardware travel limit The active true state is user configurable The default is active HIGH Travel Limit Input This input is pulled up to 5 volts with a 4 7KQ resistor by the controller and represents the stage negative direction hardware travel limit The active true state is user configurable The default is active HIGH Encoder A Input The A input is pulled up to 5 volts 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 used for position trac
165. imits are determined by the stage itself and cannot be overridden 35 System Shut Down To shut down the system entirely perform the following Wait for the stage s to complete their movement and come to a halt Select ENABLE from the ESP util Windows utility Motion menu and press ALL OFF to disable power Depress and release the UniDrive6000 power switch at the front of the unit Power off the personal computer Section 4 Windows Utilities aa Motion Utility 4 1 1 4 1 2 Section 4 Windows Utilities General Description The ESP 6000 Windows utility ESP util exe is a 32 bit Windows program designed to allow users to easily configure and test motion systems The program is menu driven and user configurable to provide maximum flexibility for set up and operation A feature overview and detailed menu descriptions are provided in the following paragraphs Features The ESP 6000 Windows motion utility ESP util exe provides users with helpful features and capabilities including Ability to exercise all six axes of motion Graphical interface for servo tuning Separate screens for jog and cycle motion and for position status Set up and monitor capability for analog to digital converter Set up and monitor capability for digital I O channels Software driven upgrades of the ESP6000 firmware to flash EPROM no component replacement required User defined parameters for motion set up
166. in long error servotick if esp init system printf ESP6000 Not Initialized r n exit 1 set axis 1 speed parameters esp set speed l 30 0 esp set startstop speed l 0 02 j check error status esp get error num amp error amp ServoTick if error printi Error Sd Reported r n error See Also esp set speed 5 54 esp set jog speed esp get jog speed Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Set Axis Jog Mode Speed Report Axis Jog Mode Speed Setting include esp6000 h int esp set jog speed long axis float speed int esp get jog speed long axis float speed long axis axis number from 1 6 float speed target Jog speed and direction lt maximum speed in user units second esp6000 dll esp_set_jog_speed sets the target slew speed velocity for the specified axis The sign of the jog speed determines the direction of the axis motion For example if the jog speed is defined as 2 0 then after the trajectory mode is set to jog e g esp_set_traj_mode 1 JOG the specified axis will move in the negative direction at set speed esp_get_jog_speed reports target slew speed setting for the specified axis In order for the axis to begin jog motion it first has to be placed in jog trajectory mode with the esp_set_traj_mode command While in jog trajector
167. ion rate which is a multiple of the servo cycle rate where O every servo cycle I every other 2 every 3 3 every 4 max 1000 long Num number of acquisition samples where maximum 1000 esp6000 dll esp_set_daq_mode API function call is used to set Data Acquisition DAQ mode ESP6000 DAQ modes facilitate the capture of any combination of 16 bit 8 channel analog to digital input and 8 quadrature encoded position data Other commands like esp_get_daq_data retrieve stored information NOTE During DAQ mode data is collected at servo cycle 409msec intervals ESPOK ESPERROR esp_set daq mode Usage Example See Also Section 5 Programming Set Data Acquisition Mode and Parameters Continued include esp6000 h main long error servotick long Num DaqStat Mode count float DataArray 512 if esp init system printf ESP6000 Not Initialized r n exit 1 Set ADC Gain and Range esp set adc gain V10 esp set adc range BIPOLAR Set Acquisition Mode esp set daq mode 1 1 1 1 2 512 esp enable daa esp enable motor 1 esp Nov absolute 1 500 0 while lesp daq done Wait for DAQ End esp get daq status amp count printf Sd acquisitions cGollected Nr count esp disable daq Retrieve Data esp get daq data DataArray amp Num amp DaqsStat check error status esp get error num amp error amp Servo
168. is Figure 6 6 2 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 Figure 6 6 2 Four Phase Stepper Motor The four phases from to D are energized one at a time phase is shown twice The rotor teeth line up with the first energized phase If the current to phase is turned off and B is energized next the closest rotor tooth to phase B will be pulled in and the motor 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 causing the motor to move in reverse Phase C cannot be energized immediately after 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 see Figure 6 6 3 APL B c L gt s Figure 6 6 3 Phase Timing Diagram One phase is energized after another in a sequence To advance one full rotor tooth we need to make a complete cycle of four steps To make a full rotor revolution we need a number of steps four times the number of rotor teeth These steps are called full steps They are the largest motion incre ment the stepper motor can make Running the motor in this mode is called full stepping Figure 6 6 4 demonstrates the effect if we energize two neighboring phases simultaneously Figure 6 6
169. is trailing the ideal stage 6 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 6 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 The Accuracy is a static measure of a point to point positioning error Starting from a reference point we command the controller to move a certain distance When the motion is completed we 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 we need to know the errors for all possible motions Since this is practically impossible an acceptable com promise is to perform the following test Starting from one end of the travel we make small incremental moves and at every stop we record the position Error We perform this operation for the entire nominal travel When finished the error data is plotted on a graph similar to Figure 6 2 1 Error max error Position Figure 6 2 1 Position Error Test
170. ivexianunetinadazsuatieseeiayisdestnaeldncdashcesbiebsnowebest eaieadvphennlaacebiaslialiceenclesaeekadasceebits 6 25 Figure 6 6 11 Unstable Point rnrnrnnrnnnnnnvnnnnnnnrnnnrnnnrrnrrrrnnnnnerrsnnnnnerssnnnnnerrsnnnnserssnnnnsssrsnnnnnerrsnnnnerssennnnessssnnnnessssnnnnesssnns 6 25 Figure 0 612 Torque and Tooth APR il visa saiesssseaseazerdiaseorueicaecteadenedeueivsapidadascesiatdeenissdeaeus aeceeddpdetiseeasvinneisddsanes 6 26 Figure 0 0 13 DC MOD EEE EEE RIG 6 27 Figure 6 7 1 Simple Stepper Motor Diverananusuamsni mmvamdamsaeivvduidjiensidkvmduinildst 6 29 Figure 0 2 Current ETL SEERE EE NE E 6 29 Figure 6 7 3 Effect of a Short ON Time on Current rrrrrrnnnnnnrnnrvnvvvrrrrrrrrrnnnnnnrrnrvsrrrrrrsrsnnnnnnrrnrssersrssssnnnnnrssnrsessrssseenn 6 29 Figure 6 7 4 Motor Pulse with High Voltage Chopper rrrnnnnnrnnnrvvnnvrrnrrrnrnnnnnnnrnrrnerrrrrrrrrnnnnnnrrnrrsererrrsssennnrnnrrsessssssenn 6 30 Figure 6 7 5 DC Motor Voltage Amplifier Vad 6 50 Figure 6 7 6 DC Motor Current Driver rrrrrnnnnnnrrnnvvvvrrrrrnrrnnnnnnrnnrnnrrrrrrrrrsrsnnnnnnrnnenerssrsssssnnnnnnrnnsssssssssssnnnnnrnnrrsesessssenn 6 31 Figure 6 7 7 DC Motor Velocity Feedback Driver rrrrrrrrnnnnnnrrnvrvvvrrrrrrrrrrnnnrnrrrnenerrrrrrsrennnnnnrrnrrrererssssnnnnrrsnrsessssssnnn 6 31 Figure 6 7 8 DC Motor Tachometer Gain and Compensation a r 6 32 X Figure 8 1 1 Te
171. k error status esp get error num amp error amp ServoTick if error printf Error Sd Reported r n error esp_set_gear_constant esp_update_unidrive esp_save_parameters 5 73 esp set gear constant Set UniDrive Axis Motor Gear Constant esp get gear constant Report UniDrive Axis Motor Gear Constant 5 74 Synopsis Arguments Library Location Description Returns Hint Usage Example include esp6000 h int esp set gear constant long axis float gear int esp get gear constant long axis float gear long axis axis number from 1 6 float tach motor stage gear constant in revolution unit of measure esp6000 dll esp_set_gear_constant API call is used to set the UniDrive6000 motor amplifier gear constant for the specified servo axis and should be used in conjunction with esp_set_tach_constant The gear constant is defined as the number of revolutions the motor has to make for the motion device to move one displacement unit To take immedi ate effect this command should be followed with the esp update unidrive command CAUTION Poor servo performance can occur if gear constant is inappropriately set Please refer to stage specifications before setting value ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 Set Axis l Motor Current esp s
172. king Appendix C Connector Pin Assignments C 19 C 20 Encoder A Input The A input is pulled up to 5 volts and pulled down to ground with 1KQ resistors This facilitates both single and double ended signal han dling 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 5 volts with a 1KQ 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 5 volts and pulled down to ground with 1KQ resistors This facilitates both single and double ended signal han dling 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 Home Input This input is pulled up to 5 volts 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 5 volts 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 s
173. l is buffered with a 26LS32 differential receiver The A quadrature encoded signal originates from external feedback circuitry and is used for position tracking Auxiliary Ch 7 Input AC The A input is pulled up to 5 volts and pulled down to ground with 1KQ resistors This facilitates both single and double ended signal han dling into a 26LS32 differential receiver The A quadrature encoded signal originates from external feedback circuitry and is used for position tracking Appendix C Connector Pin Assignments C 13 Auxiliary Ch 7 Input B The B input is pulled up to 5 volts with a 1KQ resistor The signal is buffered with a 26LS32 differential receiver The B quadrature encoded signal originates from external feedback circuitry and is used for position tracking Auxiliary Ch 7 Input B The B input is pulled up to 5 volts and pulled down to ground with 1KQ resistors This facilitates both single and double ended signal handling into a 26LS32 differential receiver The B quadrature encoded signal originates from external feedback circuitry and is used for position tracking Auxiliary Ch 8 Input A The A input is pulled up to 5 volts with a 1KQ resistor The signal is buffered with a 26LS32 differential receiver The A quadrature encoded signal originates from external feedback circuitry and is used for position tracking Auxiliary Ch 8 Input AC The AC input is pulled up to
174. l is buffered with a 26LS32 differential receiver The B_1 encoder encoded signal originates from the stage position feedback circuitry and is used for position tracking DGND Digital ground Enable_1 Open drain output with 1KQ pull up resistor to 5 volts This output is asserted active True when the axis is in the motor ON state and False for the motor OFF state The actual TTL level is user configurable Home 1 This input is pulled up to 5 volts 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 I I The Index input is pulled up to 5 volts 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 toa repeatable location Appendix C Connector Pin Assignments C 23 C 24 C 3 2 Eighteen Lead Connector This connector interfaces the ESP6000 controller card to customer defined devices The connector is physically comprised of two banks of leads upper and lower Connector pin outs are listed in Table C 3 2 and C 3 3 and functionally described in the following paragraphs Table C 3 2 Eighteen Lead Upper Connector Pin Outs J11B J16B Leads Function 1 A_1 _6 2 A_1 _6 3 B_1 _6 4 B 1 6 5 1 6 6 1 6 T 5V DGND 9 DGND 5V 5 volt 250mA maximum supply This supply is provided for stage home index trav
175. l purpose velocity feedback drivers usually have two adjustments tachometer gain and compensation Figure 6 7 8 compensation control signal tach gain V velocity Figure 6 7 8 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 The UniDrive can be configured either as a current driver or a velocity driver When used with an ESP compatible stage the ESP6000 controller card will configure the UniDrive for optimum stage performance Section 7 Servo Tuning Ta Tuning Principles The ESP6000 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 values are usually very conservative favoring safe 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
176. lectrician to check faulty or questionable receptacles 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 Opening or removing covers will expose you to hazardous voltages observe the following precautions e Turn power OFF and unplug the unit from its power source e Disconnect all cables e Remove jewelry from hands and wrists e Use insulated hand tools only e Maintain grounding by wearing a wrist strap attached to instru ment chassis 13 Conventions And Definitions Section 1 Introduction 1 3 1 This section provides a list of symbols and their definitions and com monly used terms found in this manual Definitions and Symbols The following are definitions of safety and general symbols used on equipment or in this manual Warning Calls attention to a procedure practice or condition which if not correctly performed or adhered to could result in injury or death WARNING
177. leration esp_get_max_accel reports the maximum permissible acceleration setting for the specified axis ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 set axis 1 trajectory parameters esp set max spbeed 1 100 0 esp ser mam acosel 1 500 0 esp_set_max_jerk 1 100 0 check error Status esp get error num amp error amp ServoTick if error printi Error Sd Reported r n error esp_set_accel esp_set_decel esp_set_jerk esp get jerk Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Set Axis Jerk Rate Report Axis Jerk Rate Setting include esp6000 h int esp set jerk long axis float jerk int esp get jerk long axis float jerk long axis axis number from 1 6 float jerk set desired jerk rate in user units seconds gt esp6000 dll esp_set_jerk sets the target jerk rate for the specified axis This parameter should only be set while the axis is stopped Jerk is the derivative of acceleration esp get jerk reports the target jerk rate for the specified axis NOTE The jerk parameter is only effective when the specified axis trajectory mode is set to SCURVE ESPOK ESPERROR include esp6000 h main long error servotick if esp
178. limit The active true state is user configurable The default is active HIGH P 1 6 The Step Output is an open collector i e 7407 output pulled up to 5 volts with a 1KQ resistor This output is used to control the commutation sequence of a stepper motor The motor will increment one step for each pulse output P 1 6 The Step Direction Output is an open collector i e 7407 output pulled up to 5 volts with a 1KQ resistor This output is used to control the commutation sequence of a step motor In Step Step mode the motor will increment one step for each pulse output In Step Direction mode this signal will control the direction of motor rotation Enable 1 6 Open drain output with a 1KQ pull up resistor to 5 volts This output is asserted active True when the axis is in the motor ON state and False for the motor OFF state The actual TTL level is user configurable Home 1 6 This input is pulled up to 5 volts 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 Appendix C Connector Pin Assignments C 25 C 26 C 3 3 Fault 1 6 This Amplifier Fault input is pulled up to 5 volts with a 1KQ resistor by the controller The state of this signal is controlled by the motor driver and monitored by the controller ESP DAC 1 6 ESP DAC is the controller s servo control 10 volt analog signal output AGND S
179. load the stage can push or pull In some cases the two values could be different due to internal me chanical 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 follow ing error during acceleration 6 2 12 Maximum Velocity The Maximum Velocity that could be used in a motion control system is determined by both stage and driver Usually it represents a lower value than the motor or driver are capable of In most cases and in particular for the ESP6000 controller card the default Maximum Velocity should not be increased The hardware and firmware are tuned for a particular maximum velocity that cannot be exceeded 6 2 13 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 sets a limit on the velocity ripple To illustrate this take the example of a linear stage with a resolution of 0 1um If we set the velocity to 0 5um s the stage will move 5 encoder counts in one second But a properly tuned servo loop could move the stage 0 1um in about 20ms The position and velocity plots are illustrated in Figure 6 2 12
180. long mode possible trajectory modes are TRAPEZOID TRAPSTEP SCURVE SLAVEP SLAVET JOG esp6000 dll esp_set_traj_mode defines the trajectory mode for the specified axis esp_get_traj_mode reports the present trajectory mode setting for the specified axis TRAPEZOID sets the axis into classical trapezoidal motion profile mode TRAPSTEP sets stepper motor axis into trapezoidal motion profile mode with start stop speed implementation to avoid inherent stepper motor resonant frequencies SCURVE sets the axis into S curve motion profile mode This helps provide smoother jerk free motion when properly tuned This mode is not available for stepper motor axes JOG sets the axis into jog mode When an axis has been placed in jog mode and the axis is enabled motion is started by setting the jog velocity with the esp_set_jog_speed function The axis will then accelerate to this specified velocity and continue until a stop command is issued or a new velocity is specified SLAVEP sets an axis into slave mode with respect to the master s position feedback SLAVET sets an axis into slave mode with respect to the master s ideal trajectory output ESPOK ESPERROR esp_set traj mode Set Axis Trajectory Mode esp get traj mode Report Axis Trajectory Mode Setting Continued Usage Example See Also Section 5 Programming include esp6000 h main long error servotick if esp_init_system
181. lowing 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 6 7 6 control signal 10V Figure 6 7 6 DC Motor Current Driver In this case the control signal voltage defines the motor current The driver constantly measures the motor current and always keeps it propor tional to the input voltage This type of driver is usually preferred over the stepper motor driver in digital control loops offering a stiffer response and thus reducing the dynamic following error But when the highest possible performance is required the best choice is always the velocity feedback driver This type of driver requires a tachom eter an expensive and sometimes difficult to add device Figure 6 7 7 control signal 10V V velocity Figure 6 7 7 DC Motor Velocity Feedback Driver 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 per formed with such a driver are very smooth at high and low speeds and have a smaller dynamic following error Section 6 Motion Control Tutorial 6 31 6 32 Genera
182. lts sub menu which enables a user to indicate a selection of events to be triggered if specified faults occur user can also enable and disable checking for faults Select FAULTS to access the Setup Faults sub menu see Figure 4 1 7 Disable Motor Enable Checking Select Anis FELL 1 O4 E Following Error RMS Power Error P lt Amplifier Fault X Hardware Limit 02 5 X Emergency Stop Software Limit C3 OG Feedback Fault Cancel Apply Figure 4 1 7 Setup Faults Sub Menu Select the appropriate axis and fault s for a tab or combination of tabs each tab includes the same fault categories Section 4 Windows Utilities 4 7 4 1 3 2 3 Hardware The Hardware menu includes a Setup Hardware sub menu to configure hardware Select HARDWARE to access the Setup Hardware sub menu The Setup Hardware sub menu includes tabs for defining amplifier I O analog I O digital I O servo DAC offset and travel limit parameters The tabs are shown in Figures 4 1 8 through 4 1 12 and described in the following paragraphs Serva DAC Offset Digital 1 0 Hotor Type O DC Servo Stepper Step Output Format Amplifier Fault Input Step Step Active High Step Z Direction O Active Low Step Output Polarity Amplifier Enable Output Active High Active High 1tid4 Active Low Active Low Select Axis 12 15 Direction Output Polarity High For Minus Move C3 YB Low For Minus Move Servo DAC Ou
183. ly a aaaaassssa 6 21 Figure 6 6 1 Stepper Motor Operation rrrsnnrrrrrvvrvrrrrrrrrnnnnnnnrnnrnveverrrrrrrrrnnnrnnrrneeersersrsssnnnnnnrnnrssssssssssssnnnnnnnnrrsesessssenn 6 22 Figure 6 6 2 Four Phase Stepper Motor vei ccivessivesiasncesinadazsvatieseelaingsdasienastdectusicesbialsxxtneiesseaeadvelannitbesauwbidutatebnaieadseadestebbits 6 22 Figure 6 6 3 Phase Timing Diagram revrrrrrnnnnnnrrnrrrnvvverrrrrrrrnnnnnnrnrrrnererrrrrrsrsnnnnnnrnnenssssssssssnnnnnnrnsessssssssnnnnnnrnnrssesessssenn 6 23 Figure 6 6 4 Energizing Two Phases Simultaneously rrrrnnnvvrnvrvvvvvrrrrrrrrrnnnrrnrrnernrrrrrrrrrnnrnnrrnrrrersrrsrsrennnrnsrnsesessssenn 6 23 Figure 6 6 5 Timing Diagram Half Stepping MOtor osrvrrrrnnnvvrrrnnonvvrrrrnonnvrrernenvvrrerrennvrrerrennnrrersennnrssrssnnnssrsssnvnnesnsnne 6 24 Figure 6 6 6 Energizing Two Phases with Different Intensities a arrssssssssssssssassssssssa 6 24 Figure 6 6 7 Timing Diagram Continuous Motion Ideal a aassssssssssssssssssssesaa 6 24 Figure 6 6 8 Timing Diagram Mini Stepping crcsoinssisnvivesascasuascrusedestansscestveaveesidadaststein Deeatictiesrniewendanucdas buen veasscdocaneens 6 24 Figure 6 6 9 Single Phase Energization a assssssssssssssssa 6 25 Figure 6 6 10 External Force Applied sis csivcsiass
184. m application due to the commutator arcing e hardware and setup are more costly than for an open loop stepper motor full stepping 67 Drivers 6 28 Motor drivers 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 ESP system is an integrated controller and driver 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 varying widely in the following paragraphs we will discuss only those implemented in the ESP system 6 7 1 Stepper Motor Drivers Driving a stepper motor may look simple at first glance For a motor with four phases the most widely used type we need only four switches tran sistors controlled directly by a CPU Figure 6 7 1 Section 6 Motion Control Tutorial Figure 6 7 1 Simple Stepper Motor Driver This driver works fine for simple low performance applications But if high speeds are required 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 nominal value exponentially Figure 6 7 2 Current Figure 6 7 2 Current Build up in Pha
185. ments are made using a number of high precision interferom eters 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 bun dling 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 perfor mance in certain applications 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 the Control Loops paragraph a major part of the servo controller s task is to make sure that the actual stage follows as close as possible an ideal trajectory in time You can imagine having an imagi nary ideal stage that executes exactly the motion profile you are request ing In reality the real stage will find itself deviating from this ideal trajec tory Since most of the time the real stage is trailing the ideal trajectory 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 negative following error means that the load
186. mming language make sure you call the esp_init_system function first 5 4 2 2 Examples Refer to the utilities disk in the VB directory for examples you can use to get your project up and running LabVIEW 5 4 3 1 Overview LabVIEW is a graphically oriented programming tool designed for scien tific and control applications Each ESP 6000 LabVIEW API call is devel oped and saved as a virtual instrument vi file VI s are available through the ESP6000 LabVIEW library ESP6000 LLB 5 109 5 110 5 4 3 2 Example s All VI s have two modes of operation simulated default and real execu tion VI s automatically return to simulated mode alter execution If applicable a single VI may include both read default and set parameter functionality VI s automatically return to read mode after execution Input parameters are displayed on the left side of the panel and output parameters on the right side representative front panel is shown in Figure 5 4 1 1E Acceleration wi sem Figure 5 4 1 VI Front Panel For all VI s parameter boxes are located in the same relative position on both the wiring diagram s and the front panel Each VI is configured to handle up to 3 variables input output If an axis number is a variable it is always the first variable If more than three variables are needed they are grouped in arrays or bundles Axis channel parameters when present have inputs and outputs for easy flow con
187. n E 2 Figure E 1 2 Select Uninstall Method Screen rrrnrnrrrnnnnnnnnnnnnnrrnrrvvrrrrrrrrrnrnnnnnnrrneesrrrrssssennnnnnrnnrssessrssssnnnnnnrnnrrnesessssssnnn E 3 Figure E 1 3 Perform Uninstall Screen eee eeeenaneeeeeceeesaaeeeeeeesesaaeeeesseeeaaeeeeeeeeenneeeeeeneas E 3 Figure E 1 4 NS Nr E4 Figure E 1 5 Update Firmware Message Screen rrrnrnnnvrrnnnannvrrrnrannvrrrrrennvrrrrrennvrrsrrennvrrsrrennvnnsrrennvrssrrsnnnssssssnnnsesssnnnnne E4 ILN E 5 Figure E 7 Firmware Update Screen beewbeasnsuswnidinsaedenavanbeabensdasnbenersivasavieedsontens E 5 Figure E 1 8 ESP6000 Initialization Screen a asrrnnssssssssssssssssssssssssssssssssssssssssssssssssasssssssssa E 6 Figure F 1 Configuration Logic a sesdambibeeacnesdanasiadihsansnes F 1 Table of Contents xi List of Tables Table 2 3 1 ESP6000 Controls And Indicators n nnsssssssssssssnnnnnnsssssaaaasa 2 3 DENN 2 4 Table 4 1 1 Stage Motor Type Settings rrrrrrrrnrnrnnrnnnnnnnrnrnrrnvrrrrrrrrrnnnnnnrnnrnrererrrrrrnrnnnnnnrnseesrssssssssnnnrnnnnnrsrsssssssssnnnnnnne 4 2 Table 4 1 2 Stage Motor Trajectory Selling uu uuu a uE A AEE EAE TN 4 2 Table 5 2 1 Software Version Requirements
188. n However they can be used in master slave applications to indirectly control motor slave position Select MOTION and then GENERAL to access the Motion Setup sub menu The Motion Setup sub menu includes tabs for defining PID and trajectory The tabs are shown in Figures 4 1 5 and 4 1 6 respectively and described in the following paragraph 4 5 Trajectory Set Servo Parameters Proportional Gain Ep Integral Gain Ki ro 0 Derivative Gain K d Integral Limit IL 0 0 Select Axis r 4 O27 O58 O32 OG Figure 4 1 5 Motion Setup PID Tab ESH Hotion Setup P mer ri Ts Trajectory Define Parameters Max Parameters Hode Hax Speed rapezol 0 00 Counts Sec Acceleration 0 00 counts sec 2 0 00 counls zec Max Accel Decel 0 00 countssec 2 Select Axis Deceleration Max Jerk 1 C04 0 00 countssec 2 33999999 countz sec 5 02 05 Jerk 13 OG f100000 00 eounts sec3 GE Cancel Apply Figure 4 1 6 Motion Setup Trajectory Tab Refer to Servo Tuning Section 7 for tuning guidelines before entering values Select the appropriate axis and enter parameters to set trajectory and PID 4 6 NOTE Default settings for ESP compatible devices can be modified from the PID and trajectory tabs Select Save from the Tool Bar to save the parameters to ESP6000 controller non volatile flash EPROM memory 4 1 3 2 2 Faults The Faults menu includes a Setup Fau
189. n in Figure 4 1 19 The menu function is described in the following paragraphs Fle Sen Bulur ala EET about ESF EO ave Eraok Stor Joe Hore Piel Ed Cenu oe reliar 5 Figure 4 1 19 Help Menu 4 2 2 4 2 3 Section 4 Windows Utilities 4 1 3 5 1 About ESP 6000 Select ABOUT ESP 6000 for revision information on active ESP util DLL and firmware The About ESP6000 screen appears Figure 4 1 20 i About ESP6000 Sw Newport Corporation ESP util Versjon 1 98 0908 97 Firmware Version 1 435 110 09 10 947 DLL Versjon 1 5 0 0908 97 Figure 4 1 20 About Screen 42 Servo Tuning Utility 4 2 1 General Description The ESP 6000 servo tuning utility ESP tune exe is a utility program devel oped to simplify and speed up the servo tuning process The program is user configurable and consolidates input functions for efficient tuning Features e Ability to input parameters for six axes of motion with UniDrive 6000 e Configurable data acquisition e Graphical interface for value input and commands e Plotting for comparison purposes Operation At boot up the program will load the Dynamic Link Library DLL and will attempt to establish communication with the ESP6000 controller card If communication does not occur the program will assume the ESP6000 card was not initialized and will initiate a reset sequence and initialize the ESP6000 card but not the personal computer an
190. ng B 5 N97119B MODELN SERIAL Ng UNDRIVES009 CONTROL LE INPUT Q Newport IRVINE CA US 000000000000 0000000000000 0000000000000 000000000000 Slide the power supply board forward on its card guides and out see Figure B 2 3 000000000000 0000000000000 000000000000 0000000000000 Figure B 2 3 Power Supply Board Removal Place the power supply board on a flat surface and rotate the notch in the fuseholder cover until it releases see Figure B 2 4 FUSEHOLDER F in N97120A Figure B 2 4 Power Supply Board Fuse Replacement Remove and inspect the fuse Replace as needed with 3 15A 250V fuse Schurter part number 70353 Re install the power supply board Re install the rear power line board guiding the white plastic plunger back into the power switch cut out at the front of the UniDrive Re attach the black plastic cap to the end of the plunger Re connect and power up the system to verify that the problem has been corrected B 3 Cleaning Clean the exterior metallic surfaces of the UniDrive6000 with water anda clean lint free cloth Clean external cable surfaces with alcohol using a clean lint free cloth
191. ng cables into connectors Do not force 8 1 1 Terminal Block Board Section 8 Optional Equipment The main 100 pin connector of the ESP6000 controller card is intended to directly attach to the UniDrive6000 If a UniDrive is not used in a particu lar application the signals from the 100 pin connector must be accessed individually and routed to appropriate amplifiers motors stages etc The terminal block board provides a means of accessing the signals from the ESP6000 controller card The terminal block board is shown in Figure 8 1 1 8 1 Reference Designation J1 J6 Ji J8 J9 J11A B J16A B GE Ne EE AAR Ne NSS lt lt NS 2 Ne Ww BE NG EEE Sc 238 8 he 3 gt KS 12 EP h NS 2 NS WS 13 S NO DE AE N97105 lt 2 te HS 38 R Ne NS Ng NS NS S N 0 Ne NS NS Ts NE Ne NS NS 12 08 NS NO LS NS ia Ne 19 NE NG NS Ne SR 2 WS Ne NO ve Z Figure 8 1 1 Terminal Block Board Connector and lead functions are listed in Table 8 for connector orientations and jumper settings l 1 Refer to Appendix C Table 8 1 1 Terminal Block Board Functions To Device Description Connector Cable Part Number s 15 pin connectors MD4 motion device Supplied with device input connector 100 pin connector ESP6000 controller card 22947 01 controller connector Leads for optional Customer sp
192. nnnnnrrnnnnnnrnnnvnnrrnnnrnnnnnrrrrnrnnrnnnresrrennnrnnresrrnnnrrsnesssesnnne 2 19 rio 21 Milli Drop DOWN MONU EEE ENE 3 2 Figure 3 2 2 Motor Power Menu rrrrrrrrrnrnnnnnnnnnnrnnrrvvnvrrrrrrsrsnnnrnnrnsrrnersrsssssnnnnnnnnnnnneserssssssssnnnnnrnsesssssssssssnnnnnnnnsrssessssssenn 3 2 F T n OS REE 3 3 VE Jos Men EEE EEE ENE ETE 34 NTN NN 3 5 Figure 3 4 3 Set X Y Speed Menu srrrrrrnnnvvrnnrannvvrnnrrsnvrrnerssnvrrrrrsenvrrsrrsennnrssssennnrsessennnssrssennnsssssnnnrssrsennvrsesssnnnrssssannnsee 3 5 PU Eg ME u u EEE NE 4 2 Figure 4 1 2 AV EEE EEE ENE EE 4 3 NNN 44 Figure 4 1 4 Setup Resolution Sub Menu rrrrnnrnrnnnrrrnnnnrrnnnnvrrrrnnnrnnnnrrrrnnnnnnreererrnnrnnnnnsrersnnnnnnesesesennnnnnssserennnrnasesssennnne 4 5 DER Tol SENE 4 6 Figure 4 1 6 Motion Setup Trajectory Tab srnnnnnnnnvvvnnnnnnnnnnnnnnnnnnrrnvnrrrrrrrrrrnnnrnnrnnererrssrssssnnnnnnrnrrsssrsssssnnnnnnnsrssesssssssenn 4 6 TTS raul NNN 4 7 Figure 4 1 8 Setup Hardware Amplifier I O Tab rrrrnnnnnrnnnnnnnnnnnrrnnnrnrnnnnnnnrnrrrrrrsnnnrnrerrrrennnnnnrrerssssnnrrserssssnnnrnsssessennnne 4 8 Fipure 4 1 9 NNM 4 9 Figure 4 1 10 Setup Hardware Digital I O Tab a ssnsssssssssssssssssssss 4 9 Figure 4 1 11 Setup Hardware Servo DAC Offset Tab vvs ped mkaeden 4 10 Figure 4 1 12 Setup Hardware Travel Limit Tab rrrrrrrrnnnnnnnnnnnnvvnvnrrnrrnnnnnnrnnrrnnnerrrrrrrrsnnnnnnrnnrrsersrsresse
193. nnnrnnrnsesssssssenn 4 10 NNN 4 11 Figure 4 1 14 NNNMe 4 12 NN SN NNN 4 12 Figure 4 1 16 Cycle Motors Sub Menu rrrrrnnnrnrnnnrnvnnnnnrnnnnrrrrrnnrnnnnrrrrrnnnnnnnnerrrnnnnnannssrrssnnnannesersennnnnsessersnnnrnresessennne 4 13 NNM 4 13 Table of Contents ix Figure 4 1 18 Position Status MCN vuxicsuiodcestncomesonsialen coisa cbdeniiaaseynoaresiwerpenicoelsaradhnspeiatdousndbashoaaddenenddindveapabnesdioasranenctaenens 4 14 FINN 4 14 Figure 4 1 20 About Screen rrrrrnrnvnrrrnnrrnnrrrrnnrnnrrrrnnnnerrrrrnnnerrrrnnnnesresnnrnesrsrnnnesersrnnaneessnnneesrennanserssnnansesssnnanserssnnnneesesnne 4 15 Figure 4 2 1 Servo Tuning Main Screen tena mnamecmanans 4 16 Figure 5 4 1 VI Front Fanelnnassdsmemertelkasbtnsuiepniaeiatmimieinvdaeabogtiudsrtadmedunsomensernidkeep 5 105 Figure 6 1 1 Typical Motion Control System rrrnrnnnnnvvvrrrnnrnnnnnnnnnrnnrnneverrrrrrnrrnnnnnnrrnererrrrrrssrnnnnnnrnnrssrsssssnnnnnrnrnssesesssssnnn 6 1 Figure 6 2 1 Position Error Test scceiisicsvscinacroseniorsseniatisnasandooenorcvnivasdaisnandervecsereasiaauedstiasbsawbdireeuialasninanbooeneneenlaasdrinadadesosans 6 3 Figure 6 22 High Accuracy for Small Motions neii dentnankedbiadnere p snideskrknnvedenenkene 64 Figure 6 2 3 Low Accuracy for Small Motions a a aaaassssssssssssssssssssssssssssssssssssssss
194. ntacts Telephone 1 800 222 6440 Fax 1 714 253 1479 Email rma service newport com Web Page URL www newport com srvc service html 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 ESP 6000 Equipment serial number for either ESP6000 controller card or UniDrive6000 universal motor driver Distribution revision number from a floppy disk see Figure 4 1 20 in the Windows Utilities section 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 which should be referenced in your shipping documentation Complete a copy of the Service Form on the next page and include it with your shipment Service Form Name Company Address Country P O Number Item s Being Returned Model Serialft Newport Corporation U S A Office 714 863 3144 FAX 714 253 1800 RETURN AUTHORIZATION Please obtain prior to return of item Date Phone Number FAX Number Description Reason for return of goods please list any specific problems Appendix G Factory Service
195. ntial damages First Printing October 1997 Copyright 1997 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 manual has been provided for information only and product specifica tions are subject to change without notice Any changes will be reflected in future printings 1997 Newport Corporation 1791 Deere Ave Irvine CA 92714 714 863 3144 P N 22945 01 Rev C IN 04971 1 98 NO Newport EC DECLARATION OF CONFORMITY We declare that the accompanying product identified with the C mark meets the intent of the Electromagnetic Compatibility Directive 89 336 EEC and Low Voltage Directive 73 23 EEC Compliance was demonstrated to the following specifications EN50081 1 EMISSIONS Radiated and conducted emissions per EN55011 Group 1 Class A EN50082 1 IMMUNITY Electrostatic Discharge per IEC 1000 4 2 severity level 3 Radiated Emission Immunity per IEC 1000 4 3 severity level 2 Fast Burst Transients per IEC 1000 4 4 severity level 3 Surge Immunity per IEC 1000 4 5 severity level 3 IEC SAFETY Safety requirements for electrical equipment specified in IEC 1010 1 as LAE Fa Bin led eee A ha U EE EN A l x Alain Danielo Jeff Cannon VP European Operations General Manager Precision Systems Zone Industrielle 1791 Deere Avenue 45340 Beaune la Rolande France Irvine CA USA
196. o the not illuminate green when power on button is pressed UniDrive Power LED does plugged in Rear power line panel appropriate outlet Refer to the System Setup section for procedures Replace fuse s as described in this section not illuminate green when power on button is pressed Error message or physically fuse s blown Bad connection Refer to Appendix G Factory Service if fuse blows again Power down the UniDrive and PC and verify the present stage is declared unconnected Error message or other Bad component stage cable connection Power down the UniDrive and PC and replace indication physically present stage is declared unconnected UniDrive Power LED green Excessive following error cable Refer to Appendix G Factory Service for cable replacement or stage service Verify that all setup parameters correspond to does not illuminate Stage does not move Incorrect connection the installed stage Verify that the stage is connected to the correct Stage does not move Incorrect parameters driver card Verify that relevant parameters are set properly System performance below expectations System will not respond to Incorrect parameters Software travel limit Verify that relevant parameters are set properly The software limit in the specified direction was move command System will not respond to Incorrect parameters reached Verify that limits are
197. oder increments Repeatability Repeatability is the positioning variation when executing the same motion profile Assuming that we have a motion sequence that stops at a number of different locations the Repeatability is the maximum variation in positioning all targets when the same motion sequence is repeated a large number of times It is a relative not absolute error between identical motions Backlash Hysteresis For all practical purposes Hysteresis and Backlash have the same meaning for typical motion control systems The term Hysteresis has an electro magnetic origin while Backlash comes from mechanical engineering Both describe the same phenomenon the error caused by approaching a point from a different direction All parameters discussed up to now that involve the positioning Error assumed that all motions were performed in the same direction If we try to measure the positioning error of a certain target destination approaching the destination from different directions could make a significant differ ence In generating the plot in Figure 6 2 1 we said that the motion device will make a large number of incremental moves from one end of travel to the other If we command the motion device to move back and stop at the same locations to take a position error measurement we would expect to get an identical plot superimposed on the first one In reality the result could be similar to Figure 6 2 7 6 2 9 Section 6
198. on 5 Programming 5 4 1 5 4 2 5 4 3 Visual C 5 4 1 1 Overview You must include the ESP6000 Dynamic Link Library esp6000 dll in your application program Probably the easiest way is to statically link the import library to your project The import library contains information that Windows uses to locate the code in the DLL You can also use the LoadLibrary function in your project If you choose to use this method make sure that you check the return value from the LoadLibrary function to verify that the library was found and is loaded into memory Once the library is loaded you are ready to start programming The function esp init system must be the first function called This function estab lishes shared memory and opens the initial communications to the ESP6000 controller card complete list of C function prototypes are available in the esp6000 h header file This file should be included in all your C source code 5 4 1 2 Examples There are several examples included in the install disk in the newport esp6000 vc directory If you are using Microsoft Foundation Classes MFC you will want to look at the term485 cpp example Visual Basic 5 4 2 1 Overview Visual Basic is probably the easiest Windows Programming language to use We have included a file called esp6000 bas in the ESP6000 apps VB directory Add this file to your project and you are ready to start programming As with any progra
199. on with other stages typical PC based ESP 6000 system configuration with the UniDrive6000 and one stage is shown in Figure 1 4 2 ans Gan Onnnnnnovnovnnn EESE ESSEN E E E SENEN Avanaasanassa DBBADoA a OS BARBARA DODO OUoUnoooo Wetetatatatatatatetatetatatet tst avnanan Res NA N97005A Figure 1 4 1 ESP6000 Controller Card 1 6 Section 1 Introduction 1 4 1 j iDri 00 m Universal Motor Driver UniDrive60 AXIS 5 AXIS 3 AXIS 1 STATUS N97111C Figure 1 4 2 ESP Configuration Features Many advanced features make the ESP 6000 the preferred system for precision motion applications Combined data acquisition and motion control Plug and play controller driver and stage setup Bench top or rack mount configuration for the UniDrive6000 Configured for any combination of motor type DC stepper or size Feed forward servo algorithm for smooth and precise motion Multi axis synchronization Powerful motion programming capabilities in Visual Basic C and LabVIEW languages Extensive set of Newport Corporation provided commands User selectable displacement units 1 7 1 8 1 4 2 1 4 2 1 Specifications ESP6000 Controller Card Trajectory Type Non synchronized motion Multi axis synchronized motion S curve v
200. one motor technology can be preferrable to another 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 the desired trajectory precisely 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 driver implements a velocity closed loop through the use of a tachometer the overall servo performance increases and one of the biggest beneficiaries is the Velocity Regulation Usually only higher end motion control systems use this technology and the ESP6000 controller card is one of them Since having a real tachometer is very expensive and in some cases close to impossible to implement the ESP6000 controller card can both use or simulate a tachometer through special circuitry and obtain the same result 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 t
201. oportional with the velocity Using its signal the driver can maintain a velocity proportional to the control signal If such a driver is used with a velocity feed forward algorithm by properly tuning the K parameter the feed forward signal could perform an excellent job leaving very little for the PID loop to do 64 Motion Profiles 6 4 1 Section 6 Motion Control Tutorial 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 which are identified by name The following paragraphs describe a few of them Move move is a point to point motion On execution of a move motion com mand the stage 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 stage 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 stage is at the correct position The velocity plot of this type of motion will have a trapezoidal shape Figure 6 4 1 For this reason this type of motion is called a trapezoi dal motion 6 4 2 Desired Velocity Time Figure 6 4 1 Trapezoidal Motion Profile The position and acceleration proliles relative to the velocity are sho
202. or Driver C 2 1 Controller Input Connector This connector interfaces the UniDrive6000 to the ESP6000 controller card via a one hundred pin Newport supplied cable Refer to the ESP6000 controller card paragraph in this section for pin out descriptions Connec tor orientation is shown in Figure C 2 1 Z PIN 1 CONTROLLER INPUT QAD Newport MODEL No UNIDRIVE6000 SERIAL No IRVINE CA a PIN 100 XX XXXX N97103A Figure C 2 1 UniDrive Controller Input Connector Orientation C 2 2 Motor Driver Card 25 Pin I O Connector This connector interfaces a UniDrive6000 driver card to motorized stages Cabling to the connector is provided with the applicable stage Connector orientation is shown in Figure C 2 2 and pin outs are listed in Table C 2 1 Functional descriptions are provided in the following paragraphs PIN 1 N97102 Figure C 2 2 Driver Card Connector Orientation Appendix C Connector Pin Assignments C 17 Pins CO CO NJ QD A AI GO IN NINI e m CO O ooi nNI AIAI AIVI DN D 22 23 24 25 Stepper Motor Stepper Phase 1 Stepper Phase 1 Stepper Phase 2 Stepper Phase 2 Stepper Phase 3 Stepper Phase 3 Stepper Phase 4 Stepper Phase 4 Not Connected Not Connected Not Connected Not Connected Home Signal Shield Ground Encoder Index Limit Ground Travel
203. ostep factor Set Microstep Factor esp get microstep factor Report Microstep Factor Setting 5 70 Synopsis Arguments Library Location Description Returns Hint Usage Example See Also include esp6000 h int esp set microstep factor long axis long factor int esp get microstep factor long axis long factor long axis axis number from 1 6 long factor microstepping factor I 255 esp6000 dll esp_set_microstep_factor provides the controller with the step motor microstepping factor used on the motor driver This API function call enables the ESP6000 to properly calculate the number of step pulses to output in order to achieve desired encoder based position esp get microstep factor reports present microstepping factor setting in ESP6000 memory ESPOK ESPERROR Microstep factor is automatically set with ESP compatible stepper stages include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialized r n exit 1 Define Axis 1 Microstep Resolution esp set microstep factor l 10 Full step resolution esp set fullstep resolution l 0 001 Save new settings to non volatile memory esp save parameters check error status esp get error num amp error amp ServoTick if error printi Error d Reported r n error esp_set_fullstep_resolution esp set fullstep resolution Set
204. p get daq data long DataArray long Num long DaqStat Arguments long DataArray address of array where ADC data is to be stored long Num number of elements returned in array 512 maximum long DaqsStat data acquisition status 0 normal 1 overrun occurred Library Location esp6000 dll Description esp_get_daq_data retrieves data acquisition results The sample size depends on the number of ADC and feedback channels tagged for acquisition k 32 BIT ADC 1 ADC 2 ADC 3 ADC 4 ADC 5 ADC 6 ADC 7 ADC 8 FEEDBACK 1 FEEDBACK 2 FEEDBACK 3 FEEDBACK 4 FEEDBACK 5 FEEDBACK 6 FEEDBACK 7 FEEDBACK 8 TIMESTAMP Maximum Sample Size Returns ESPOK ESPERROR Hint Section 5 Programming 5 95 esp get dag data Report Data Acquisition Results Continued Usage Example include esp6000 h main long error servotick long Num DaqStat Mode count float DataArray 512 if esp_init_system printf ESPCO00 Not Tnitialized r n exit 1 Set ADC Gain and Range esp set adc gain V10 esp set adc range BIPOLAR Set Acquisition Mode esp set dag mode l 1 1 1 2 512 esp enable daa esp enable motor 1 esp move sbsolute l 50 0 while lesp daq done Wait for DAQ End esp get daq status amp count printf Sd acquisitions collected Nr gount esp disable daq Retrieve Data esp get daq data DataArray amp N
205. p6000 dl esp set hardlimit config is used to configure the hardware travel limit checking and event handling for the specified axis esp get hardlimit config reports present register setting BII VALUE DEFINITION disable hardware travel limit error checking 0 1 enable hardware travel limit error checking 1 0 do not disable motor on hardware travel limit event 1 1 disable motor on hardware travel limit event 2 0 do not abort motion on hardware travel limit event 2 1 abort motion on hardware travel limit event 3 0 reserved 3 1 reserved 4 0 reserved 4 1 reserved 5 0 hardware travel limit input active low 5 1 hardware travel limit input active high 6 0 reserved 6 1 reserved 7 0 reserved 7 1 reserved 31 0 reserved 31 1 reserved ESPOK ESPERROR Newport stages use active high travel limit input setting include esp6000 h main if esp_init_system printr ESP6000 Not Initialized Wa exit 1 Abort Motion amp Flag Error On Hardware Limit esp set hardlimit config l 0x0d esp set softlimit config Set Software Limit Configuration Register esp get softlimit config Report Software Limit Configuration Register Synopsis include esp6000 h int esp set softlimit config long axis long config int esp get softlimit config long axis long config Arguments long axis axis number from 1 to 6 long config configuration register Library Location
206. p6000 h int esp set motor type long axis long mtype int esp get motor type long axis long mtype long axis axis number from 1 6 long mtype possible motor types are 0 UNDEFINED 1 DCSERVO 2 STEPPER Vesp6000 dll esp set motor type defines the motor type or technology used to control the speci fied axis esp get motor type reports the motor type or technology used to control the speci fied axis This is necessary because the ESP6000 needs to apply different control algorithms for different motor types For example DC servos are controlled via digital to analog converter DAC whereas stepper motors are positioned via digital rate multiplier NOTE It will not be possible to control an axis if its motor type is undefined or equal to zero 0 Motor type is automatically set for ESP compatible stages ESPOK ESPERROR Verify motor stage 1s a defined motor type include esp6000 h main if esp init system exit 1 define axis 1 as DC servo esp set motor type l DCSERVO Save new settings to non volatile memory esp save parameters esp save parameters esp get sys config Synopsis Arguments Library Location Description Returns Hint Section 5 Programming Report ESP System Configuration include esp6000 h int esp get sys config long config long config configuration register esp6000 dll esp_get_sys_config reports the pres
207. pin outs and descriptions are provided in Appendix C N97117 Figure 8 1 2 Analog I O Cable Table 8 1 2 Analog I O Cable Connections ESP6000 Controller Card To Device Reference Designation D Sub Connector JP2 Customer specified Section 8 Optional Equipment 8 3 WARNING Power down personal computer or external power supply before connecting any equipment 8 1 3 Digital I O Cable The digital I O cable is a 50 50 ribbon cable designed for use with the ESP6000 controller card The cable has a 24 channel digital signal capacity for interfacing devices Refer to the Windows Motion Utility Setup Hard ware sub menu Digital I O tab to configure devices for use The cable is shown in Figure 8 1 3 connections are listed in Table 8 1 3 and connector pin outs are provided in Appendix C N97108A Figure 8 1 3 Digital I O Cable Table 8 1 5 Digital I O Cable Connections ESP6000 Controller Card To Device Reference Designation D Sub Connector JP4 Customer specified WARNING Power down personal computer or external power supply before connecting any equipment 8 1 4 Auxiliary I O Cable The auxiliary I O cable is a 40 37 ribbon cable designed for accessing signals from the ESP6000 controller card for customer defined applica tions usage The cable is shown in Figure 8 1 4 connections are listed in Table 8 1 4 and connector pin outs are provided in Appendix C N97116
208. portc writes specified value to digital I O Port C located on both auxiliary I O and digital I O connectors on the controller card Port A is an 8 bit port starting from location bit 0 through bit 7 Use function esp set portabc dir to define Port C as either an input or output esp get dio porte reports DIO port C status Port C DIO signals are externally pulled up via a 4 7KQ resister to 5 volts Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit l Bit NOTE After system reset Ports A B and C are automatically configured as inputs ESPOK ESPERROR Define port direction with esp set portabc dir before using this function include esp6000 h main if esp_init_system exit 1 Conti gure Ports A B C Directions esp_set_portabc_dir PORT_OUTPUT PORT INPUT PORT INPUT Set DIO C Port esp set dio portc long OQ0x0FF esp get dio porta esp get dio portb esp_set_portabc_dir 5 103 5 104 System Section 5 Programming 5 105 esp_get_error_num Report Error Number Synopsis include esp6000 h int esp_get_error_num long error long ServoTick Arguments long error error number long ServoTick servo cycle timestamp 409usec Library Location esp6000 dll Description esp get error num API function call reports ESP6000 error messages complete with error number and timestamp The ESP6000 queues error messages in a 10 word FIFO buffer The timestamp enabl
209. properly and to provide a limited overview of the Windows Motion Utility Refer to the Windows Utilities and Programming sections for detailed operating procedures Refer to the Setup UniDrive menu in the Windows Utilities section to configure the UniDrive for non compatible non SmartStage equipment operation 32 Motor On CAUTION Place stages on a flat surface and move objects which could restrict their travel before turning on stage motors Be prepared to turn motors off quickly if you observe abnormal operation by pressing the red STOP ALL button on the UniDrive With the PC powered on and soltware installed turn on the UniDrive by pressing the power switch at the front ol the unit The UniDrive is automati cally configured for the appropriate motor at power up Select PROGRAMS ESP6000 and then ESP UTIL to boot up the ESP util exe program For ESP6000 compatible stages select MOTION from the ESP 6000 Main Menu The Motion drop down menu appears see Figure 3 2 1 Section 3 Quick Start 3 1 Ha I Lx Fie Sel Status Helg Step Sve Fund Jog raeo le Home Jay Cycle Enable Demo ade 7111737 E Figure 3 2 1 Motion Drop Down Menu Select ENABLE The Motor Power menu appears see Figure 3 2 2 Fnahle Disahle AE H AI OM Figure 3 2 2 Motor Power Menu Select numbered axes buttons one by one to turn on the motors you have connected to the specific axes or select ALL ON to en
210. r Line Board Remoudl a aaaasssssssssssssssssssssssssssssssssssssssssassssssssa B 5 Figure B 2 5 Power Supply Board Remoudl aa asssssssssssssssssssssssssssssssssssssssssssssssssssee B 6 Figure B 24 Power Supply Board Fuse Replacement rrrrnnnnnnnnnnvvnnnnnnnnrrnnnnnnrnnrnnererrrrrrrrrnnnnnnnnnrrrerersrsrssnnnrnsrnsessssssenn B 7 Figure C 1 1 Main I O 100 Pin Connector Orientation srrrrrrvvvnrnnnnnnnnnnnrnnrrnnrnrrrrrrrrrnnnnnnrrnrrrererrrrrrrennrrnnrrnererssssennn C 1 Figure C 1 2 One Hundred to Sixty Eight Pin Cable Connector Orientation C 2 Figure C 1 3 JP2 JP4 JP5 Connector Orientation a eee cece eee cece GEE Ee beaded ee ca dee eee eeaaEe Eee tes C 2 Figure C 2 1 UniDrive Controller Input Connector Orientation a sarnsssssssssssssssasssssssea C 17 Figure C 2 2 Driver Card Connector Orientation ecient eee coke eee ne nn G EEE E EE Ee ee etna a AEA AEE EEE EEE eS C 17 Figure C 3 1 Terminal Block Board Connector Orientation a e eee e econ bent aaa EEE EEE eet C 21 Figure E 1 1 Add Remove Programs Properties Screen rrrrnnnrrrrrrnnrrnnnrrrrrrrrrsnnvnrrrrrrrsrnnnrrrserrsrsnnnrnnersrsnnnrnnsssrsssnnn
211. r to queue error messages ESPOK ESPERROR Check for errors after critical command sequences include esp6000 h main long error ServoTick double position Char String l00 if esp_init_system exit 1 esp_enable_motor 2 enable motor esp_move_absolute 2 3 0 move stage while esp_move_done 2 j wait for move done prime the loop esp get error string String amp error amp ServoTick if error 0 return 0 else princF Brror 26 Var NM String gt while error gt 0 esp_get_error_string String amp error amp TickCount printi Errore 5 String J esp get error num 5 107 esp get version Synopsis Arguments Library Location Description Returns Hint Usage Example See Also 5 108 Report ESP6000 Firmware and DLL Version include esp6000 h int esp get version char FirmwareVer char DilVer char Firmware Ver pointer to start of character string containing firmware version number char DIIVer pointer to start of character string containing DLL version number esp6000 dll esp_get_version reports the ESP60000 firmware and dynamic link library DLL version ESPOK ESPERROR include esp6000 h int status char FirmwareVer 20 char DllVer 20 if esp_init_system Read Axis 1 SmartStage Data status esp get version FirmwareVer DllVer 54 User Programming Secti
212. random nature and the other is in defining what a completed motion represents Assume that we have a motion device with a lum resolution If every time we command a lum motion the measured error is never greater than 2 we will probably be very satisfied and declare that the Minimum Incremental Motion is better than lum If on the other hand the measured motion is sometimes as small as 0 1um a 90 error we could not say that lum is a reliable motion step The difficulty is in drawing the line between accept able 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 Section 6 Motion Control Tutorial 6 5 6 6 6 2 7 6 2 8 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 Figure 6 2 6 shows an example of such a plot 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 6 2 6 Error vs Motion Step Size The graph represents the maximum 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 6 resolution enc
213. riate axis the absolute position displacements in user units and enter a dwell time desired waiting period between positions for each movement There is no constraint for dwell Select the stop light icon to stop and start the motion 4 1 3 3 5 Enable Select ENABLE to power on stage motors Refer to Section 3 Quick Start for detailed procedures 4 1 3 4 Status Menu The Status Menu consists of a drop down menu as shown in Figure 4 1 17 The Menu function is described in the following paragraphs Ha F Es Fie Selu Maior OY Helg Praetor SSE E able Stop Jog Irepeclboy _ucle Home Demo ade welded E Figure 4 1 17 Status Menu Section 4 Windows Utilities 4 13 4 1 3 4 1 Position Select POSITION to determine axis by axis position expressed in terms of user units The Position Status sub menu appears see Figure 4 1 18 rer Position Status Axis x L L T P lt 12 345678 Axis 1 0 000 counts Axis Z 0 000 counts Figure 4 1 18 Position Status Menu Select a single axis or multiple axis to display information Axes 7 and 8 should be considered virtual axes only because they are auxiliary encoder feedback channels with no direct stepper or DC servo motor control output association However they can be used in master slave applications to indirectly control motor slave position 4 1 3 5 Help Menu The Help Menu consists of one drop down menu as show
214. rminal Block Board rrrrrnrnnnnnnnrnnrvvvvvrnrrrrsrsnnnrnnrrrrnverersrsrrnnnnnnnnsnnneserssrsrsssnnnnnnnsenssssssssssnnnnnnnnnsssessssssenn 5 2 Figure 8 1 2 Analog I O Cable a eee 8 3 Figure 5 15 Digital I O Cable a aa 5 4 Figure 8 1 4 Auxiliary I O Cable Connections rrrrrrrnrnnnrrnnnnvrrnnnrrnnnnvrrrnnnnnnnnrrerrrnnnrnnneserennnrnrnreerrennrnnnsesrrennnrnsesessennnne 8 5 Figure 8 1 5 Driver Interface 100 100 pin Cable rrnrrrrnnnnnvrrnnnnnnnrrrnnnnnvrrrnnnnnvrrrrrnnnvrrrnrrnnnrrseresnnrrersssnnnssessennnssssnnnsee 5 6 Figure 8 1 6 Motor Driver 100 68 pin Cable a eee e eee ee eee ee een EEE EEE A EEE EE EEE EEE cana AEE E EEE EE SHEE EES 5 6 Figure JE Driuer Oa a castle stoncincapeie ioe nactseieanedutansoanedennmeedyesiadedeaunderiusensnnedahonsosaee aidintnsiabeaneaeedei onions 8 7 Figure 2 2 Driver Card Installation REE NE 5 8 Figure 8 2 3 Rack Mount Ear Installation eee e keene EEE EEE EEE ELLE ELLE EE EEE EE EE EECCA EGE E EEE EE EEE ES 5 9 Figure 9 2 1 Analog To Digital Flow Diagram uavavvvea sunkgmvsannededndumlnsjmueddiminnvehiiddidhi 9 2 Figure B 2 1 Rear Power Line Panel Fuse Replacement a aaassssssssssssssssssssssssssssssassssssssa B 3 Figure B 2 2 Kear Powe
215. round 6 12 Axis 6 Servo DAC Output 19 15 Analog Ground 14 Axis 5 Servo DAC Output 20 15 Analog Ground 8 16 Reserved 21 17 Analog Ground 9 Appendix C Connector Pin Assignments C 15 Table C 1 5 Analog Connector Pin Outs Continued JP2 Pins Function DB 25 Pins 18 Analog Input 0 22 19 Analog Input 1 10 20 Analog Input 2 23 21 Analog Input 3 11 22 Analog Input 4 24 23 Analog Input 5 12 24 Analog Input 6 25 25 Analog Input 7 13 26 Unused 5V 250mA maximum 5V supply available from the PC 12V 250mA maximum 12V supply available from the PC 12V 250mA maximum 12V supply available from the PC Analog Ground Analog to Digital Converter ADC signal ground Analog Input 0 7 Refer to Section 9 Data Acquisition for information Axis 5 6 Servo DAC Output The servo Digital to Analog converter DAC output is the 10 volt 18 bit resolution control signal used control DC servo motors These signals are made available on this connector for special applications where the users need to observe the actual control signal output to the amplifier for analysis purposes Digital Ground Ground reference used for all digital signals E Stop Interrupt to DSP This input is normally high Pulling it low will interrupt the ESP6000 controller card Reset Output from DSP This signal is a buffered active low signal connected to the ESP6000 controller card reset signal C2 UniDrive6000 Universal Mot
216. rror long ServoTick works like the previous function without the text message Error checking should be done after critical API function calls within the application program Error checking is most commonly performed after block API calls to verify that all commands were transmitted and properly executed When an error is detected i e ErrorNum equals non zero the application should flush the error queue by calling the error checking API functions calls until ErrorNum equals 0 5 111 5 112 Section 6 Motion Control Tutorial Motion Systems A typical motion control system is shown in Figure 6 1 1 gt Driver Figure 6 1 1 Typical Motion Control System Its major components are Controller an electronic device that receives motion commands from a user directly or via a computer verifies the real stage position and generates the necessary control signals Driver an electronic device that converts the control signals to the correct format and power needed to drive the motors Stage an electro mechanical device that can move a load with the necessary specifications Cables needed to interconnect the other motion control compo nents If you are like most motion control users you started by selecting a stage that matches certain specifications needed for an application Next you chose a controller that can satisfy the motion characteristics required Section 6 Motion Control Tutorial
217. rward esp_update_filter 5 84 esp update filter Update Servo PID and Feedforward Coefficients Synopsis Arguments Library Location Description Returns Hint Usage Example See Also include esp6000 h int esp update filter void esp6000 dll esp_update_filter transfers all changed PID and feedforward parameters 1 e accel eration and velocity to working servo registers NOTE If necessary use the ESP tune utility to optimize servo PID and feedforward parameters ESPOK ESPERROR include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialized r n exit 1 set PID gain esp set kp l 100 0 esp set kd 1 200 0 esp set ki 1 50 0 esp set 1il 1 50 0 m A transfer PID to working registers esp update filter save parameters to ESP6000 Flash EPROM esp save parameters check error status esp get error num amp error amp ServoTick if error printf Error d Reported error esp set kd0 esp set kp0 esp set ki esp set il0 esp update filter Section 5 Programming Data Acquisition 5 85 esp set adc gain esp get adc gain Synopsis Arguments Library Location Description Returns Hint Usage Example See Also 5 86 Set Analog To Digital Converter Input Gain Report Analog To Digital Converter Input Gain Settin
218. s of a series of drop down menus as shown in Figure 4 1 3 Menu functions are described in the following paragraphs NOTE The user must first check Advanced in the File menu to access the Setup menu Fie fe Motion Stale Hef Hoton i Fouls Shap Jeg Irsjactor Lick Hom Hadwar Erna a ril lirilir we Demo kode Fo Fo 2 Figure 4 1 3 Setup Menu Section 4 Windows Utilities 4 1 3 2 1 Motion The Motion drop down menu includes a Setup Resolution sub menu and a Motion Setup sub menu The Setup Resolution sub menu enables a user to set resolution and user units by specifying unit of measure and input value The Motion Setup sub menu defines trajectory and PID parameters Select MOTION and then RESOLUTION to access the Setup Resolution sub menu see Figure 4 1 4 tepper HMicro Step Factor Select Axis Full Step Resolution 1 O4 C2 05 C13 C6 Figure 4 1 4 Setup Resolution Sub Menu Select the appropriate axis resolution and unit of measure If the axis is a stepper motor type then also enter a value for micro step factor and full step resolution Refer to the esp_set get_microstep_factor and esp_set get_fullstep_resolution motion related commands in the Programming section for input value examples Axes 7 and 8 should be considered virtual axes only because they are auxiliary encoder feedback channels with no direct stepper or DC servo motor control output associatio
219. s which is not obscured by adjacent cards If other cards are protruding into the PCI slot space it may be necessary to re locate them in order to install the ESP6000 card PCI spaces are identifiable by a double row female edge connector on the PC motherboard Remove the retaining screw s on the inside of the cut out panel for the PCI card slot and remove the panel Due to varying card guide configurations of computers it may be neces sary to remove the bracket at the end of the ESP6000 card in order to install the card Make a visual determination before attempting to con tinue installation Insert the 100 pin connector edge of the ESP6000 card through the open panel and the rear of the card into the card guide at the back of the PCI card slot Orientation for card insertion is shown in Figure 2 4 2 N97114A Figure 2 4 2 ESP6000 Controller Card Insertion Orientation Push down gently until the edge connector on the bottom of the ESP6000 card mates with the connector at the bottom of the computer chassis Install the retaining screw into the bracket at the top of the ESP6000 card Re attach the enclosure and plug in the computer C power cord Turn on the computer If the ESP6000 card is installed properly the front LED 1 at the top of the card should illuminate red continuously Refer to Equipment Controls and Indicators paragraph 2 3 of this section for detailed LED information
220. se 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 torque Figure 6 7 3 Phase ON nominal current Figure 6 7 3 Effect of a Short ON Time on Current 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 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 in only 10 of the time Figure 6 7 4 6 29 6 30 6 7 2 nominal current Phase ON Figure 6 7 4 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 DC Motor Drivers There are three major categories of DC motor drivers The simplest one is a voltage amplifier Figure 6 7 5 control signal 10V Figure 6 7 5 DC Motor Voltage Amplifier The driver amplifies the standard 10V control signal to cover the motor s nominal voltage range while also supplying the motor s nominal current This type of driver is used mostly in low cost applications where fol
221. sition encoder the home switch is usually placed on the same scale and read with the same 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 stage is unique but not accurate repeatable enough The solution is to use both following a search algo rithm An origin switch Figure 6 4 3 separates the entire travel in two areas one for which it has a high level and one for which it is low origin switch N encoder index pulse Figure 6 4 3 Origin Switch and Encoder Index Pulse 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 The task of the home search routine is to identify one unique index pulse as the absolute position reference This is done by first finding the origin switch transition and then the very first index pulse Figure 6 4 4 Section 6 Motion Control Tutorial 6 17 origin switch encoder index pulse Figure 6 44 Slow Speed Origin Switch Search So far we can label the two motion segments D and E During D the control
222. sned qtSSoq D AO o JOU ISA d 10jOUI 6 s6un1 s ut 91s s JSA POND 0 UONEIUHIPON INDIO IM 10 119 SIU UdY YOA TF sp ox PULCUIUIOD 1 sJJO Jl OA QF SI popud yu unsn pe JOS JO umuumcvui SU SYCA T IU JO SUd ATTed1dA ore s1 sJJO sjasjjo 1nd no SvG 10 91esu duto2 1eA1JOS UD 0009dS1 SUL Te dde IM J011 ue u u NJLA SIU D 92X PADI SPUPUIUIO Y M U J SUITES uonmei 9225 JO VATJLALIOP J pomoje UINUIIXEUI e seu SIXE UDE apou A1olo en 8 3 19j9urered pellsap SUISUeYD s10Joq paddoys aq snur SIXe panIDIdG 19591 ut 1s s e Aq p lqesIp o1e SIJON ALON N20 IM uonoui ou pue ISISJAd JIM 10119 SIU u u1 p qeu SUIOG 1070W y 0 AOLId D AI S291 942 SPULUIUIOD uonoui J 8e1s 1o1ouu 3U 0 JaMOd AuG un SUI GeUS 4q I y 974S ONT IALL OU o1 eUSIS INdINO TIGVNA NILITdNV 24 SPS u u1 HW PURUIUIOD qeu 1070W e S AI9291 1J9 Or1uo5 Y UuSUAA uonn oG dsne lqrssoq p nunuoo sasDssapy 10417 V 1QP uoneorunututoo 10 p p u AIOWOUI VY Dd 1n52 s JOU p nod JAAP S2IA D SMOPUIM dST Dieoq YM SUnedUNUIUIOd 0 JOLId POL aq 1SNUI gy uonezti ertur Sq uonounj SUIWIOY y 919 duioo o1 D I rI PILAU SI I PISJILUIG y ut eyep JoyoueIed Ady IUIOG P S WOUdA Penas OY YIIM uoneorunuiuroo pe de 01d ore ssun1 s PEII SALIQIU pue se1s jquedwo dsSq Sunas lqeAo e WNUITXeU sp 5x gum s 1y
223. 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 decimal Binary code 00000000 Number decimal 00100000 00000001 00100001 00000010 00100010 00000011 00100011 00000100 00100100 00000101 00100101 00000110 00100110 00000111 00100111 00001000 00101000 00001001 00101001 00001010 00101010 OIIO OINI OS O11 AIIN 00001011 00101011 NO 00001100 00101100 wo 00001101 00101101 00001110 00101110 Ol 00001111 00101111 p 00010000 00110000 00010001 00110001 Oo 00010010 00110010 00010011 00110011 N 00010100 00110100 NO 00010101 00110101 N N 00010110 00110110 N CO 00010111 00110111 NO b 00011000 00111000 N GT 00011001 CO GO ISR COON SIL 00111001 NO O gt 00011010 00111010 N aJ 00011011 00111011 N QO 00011100 00111100 N O 00011101 00111101 vo 00011110 00111110 vO Appendix D Binary Conversion Table 00011111 00111111 Number decimal ASCII code Binary code 01000000 Number decimal ASCII code
224. source 64mA maximum When configured as input each bit can sink 32mA maximum DSP Reset Output The Reset output is a TTL buffered output which represents ESP6000 hardware reset status of the controller itself When the controller is held in a reset state this output is a logical LOW This output can be used to reset external devices whenever the ESP6000 DSP is reset E Stop Input The Emergency Stop E Stop input is pulled up to 5 volts with a 1KQ resistor The incoming signal to this input must be a low going TTL compatible digital pulse with minimum 10 microsecond duration This signal should be debounced so as not to generate multiple E Stops within a 100 millisecond time period When this signal is asserted the controller will perform an Emergency Stop procedure as configured by the user When used with the Unidriver6000 motor driver this signal is coupled to the Stop All front panel pushbutton C 1 5 Analog I O 26 Pin JP2 Connector This connector interfaces the ESP6000 controller card to customer defined analog I O devices Connector pin outs are listed in Table C 1 4 and functionally described in the following paragraphs Table C 1 5 Analog Connector Pin Outs JP2 Pins Function DB 25 Pins 1 Digital Ground 1 2 E Stop Interrupt to DSP 14 3 12V 250mA maximum 2 4 Reserved 15 5 12V 250mA maximum 3 6 Reset Output from DSP 16 5V 250mA maximum 4 8 Reserved 17 9 Reserved 5 10 Reserved 18 11 Analog G
225. ssssssssssaaa 64 Figure 6 24 Effect of Stiction and Elasticity on Small Motions a ssssssssssssssssa 6 5 Figure 6 2 5 Error Plot ed 6 5 Figure 6 2 6 Error us Motion Step Size EEE 6 6 Figure 6 2 Hysteresis Plot ERE EEE 6 7 Figure 6 2 8 Real us Ideal Position stiicsicciccacrzadvslsuvieventesenentiacasshastoviniactoevinadsucantasteiane deenenssvlwctisicnitebiartactecscisiugleteteventss 6 7 Figure 6 2 9 Pitch Yaw and Roll Motion AXES rrrrrvvvvvrnrrrrnnnnnnnnrrrrrrrrrsrrrrrrrnnnnnrnnrnnrerrrrrrrsrennnnnnrnnersersssssnnnnnnrnsrssessssssenn 6 8 Figure 6 2 10 Pitch Yaw and Roll EEE REE EN 6 8 Figure 6 2 11 00 JER EEE 6 8 Figure 6 2 12 Position Velocity and Average Velocity Jeremia peseinetaentldeje 6 9 FLL 6 1 I AEST CAR ORS a Gun 060 1 RR eee E E A SE E E A A A T E OE E E A E 6 12 Figure 633 PI LOOP SEERE EEE 6 13 VTS sg FID LOOP EEE RENEE E 6 13 Figure 6 5 5 Trapezoidal Velocity Profile srnnnnnnnnnnrvrnnnnnnnnnnnnnnnrnrrvnrrrrrrrrrnnnnnnrrnererrrrsrsrsnnnnnnrnnrsessrssssesnnnnnrnsnssessssssenn 6 14 Figure 6 3 6 PID Loop with Feed Foruard knekdndd vanene eeanaveresensivadrianseitesssauvaawsdianeacceonns 6 14 Figure 6 3 7 Tachometer Driven PIDF Loop rrrrnrnnvvvvvnnnnnnnnnnnnnrnnrnnvvvrnrrrrrnannnnnnnnnenerssrsrsssnnnnnnrnnsssssssssssnnnnnrnnrssessssssenn 6 15 Figure 6
226. stop latched high auxiliary I O connector emergency stop latched low auxiliary I O connector emergency stop latched high 100 pin cable interlock low 100 pin cable interlock high HARDWARE STATUS REGISTER 2 BIT VALUE 0 0 0 1 1 0 1 1 2 0 2 1 3 0 3 1 4 0 4 1 5 0 5 1 6 0 6 1 7 0 7 1 8 0 8 1 9 0 9 1 10 0 10 1 11 0 5 28 DEFINITION axis 1 home signal low axis 1 home signal high axis 2 home signal low axis 2 home signal high axis 3 home signal low axis 3 home signal high axis 4 home signal low axis 4 home signal high axis 5 home signal low axis 5 home signal high axis 6 home signal low axis 6 home signal high reserved reserved reserved reserved axis 1 index signal low axis 1 index signal high axis 2 index signal low axis 2 index signal high axis 3 index signal low axis 3 index signal high axis 4 index signal low esp get hardware status Returns Hint Usage Example See Also Section 5 Programming 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 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 31 0 reserved 31 1 reserved ESPOK ESPERROR include esp6000 h main tv Long Statl s
227. t Get UniDrive Axis Motor Tachometer Constant Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming include esp6000 h int esp set tachometer constant long axis float tach int esp get tachometer constant long axis float tach long axis axis number from 1 6 float tach motor tachometer constant in volts Krpm esp6000 dll esp_set_tachometer_constant API call is used to set the UniDrive6000 motor amplifier tachometer constant for the specified servo axis and should be used in conjunction with esp_set_gear_constant To take immediate effect this command should be followed with the esp_update_unidrive command Tachometer feedback provides improved servo stability CAUTION Poor servo performance can occur if tachometer constant is inappropriately set Please refer to tachometer specifications before setting value ESPOK ESPERROR include esp6000 h main long error servotick if esp init system printf ESP6000 Not Initialized r n exit 1 Set Axis 1 Motor Current esp set motor current 1 1 9 Set Axis 1 Stage Gear Constant esp set gear constant l 0 3 Set Axis 1l Tachometer Constant esp set tachometer constant 1 3 1 Update Unidrive6000 Axis 1 esp update unidrive l Save new settings to non volatile memory esp save parameters chec
228. t motor_current esp get motor current 5 72 Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Set UniDrive Axis Motor Current Get UniDrive Axis Motor Current include esp6000 h int esp set motor current long axis float current int esp get motor current long axis float current long axis axis number from 1 6 float current motor current from 0 through 8 0 amps esp6000 dll esp_set_motor_current API function call is used to set the Unidrive6000 motor amplifier current for the specified axis To take immediate effect this command should be followed with the esp_update_unidrive command CAUTION Motor damage can occur if current is set too high Please refer to motor specifica tions before setting value ESPOK ESPERROR include esp6000 h main long error servotick if esp_init_system printf ESP6000 Not Initialized r n exit 1 Change Axis 1 Motor Current esp motor current 1 1 9 Update Unidrive6000 Axis 1 esp update unidrive l Save new settings to non volatile memory esp save parameters oneck error status esp get error num amp error amp ServoTick if error printf Error 54 Reported r n error esp update unidrive esp_save_parameters esp_set tachometer constant Set UniDrive Axis Motor Tachometer Constant esp get tachometer constan
229. t the appropriate axis and motor parameters Verify stage current before entering a motor current value and activating a stage to prevent damage to the stage Select UPDATE UNIDRIVE to transmit settings to all UniDrive axes Section 4 Windows Utilities 4 1 4 12 4 1 3 3 Motion Menu The Motion Menu consists of a series of drop down menus as shown in Figure 4 1 14 Menu functions are described in the following paragraphs ats PS gt Fie Selo Status Helg Step Save Fun Jog lreectoe ucle Herne Jay Cycle Enable Demo ode welded E Figure 4 1 14 Motion Menu 4 1 5 5 1 Stop Select STOP to make the Stop Motion message screen appear see Figure 4 1 15 Pressing this button halts motion movements in all axes enn bl oktan gt Figure 4 1 15 Stop Button 4 1 3 3 2 Home Select HOME to move the selected stage to Home reference position Refer to Section 3 Quick Start for detailed procedures 4 1 5 3 3 Jog Select JOG to initiate a jog movement Refer to Section 3 Quick Start for detailed procedures 4 1 5 3 4 Cycle Select CYCLE to initiate point to point movement The Cycle Motors sub menu appears see Figure 4 1 16 Cycle Motore ci Foston Position Z div courts cous zL courts cous dd PP al COLIFES cous COUPEE counts s courts J counts Dwell Start Z Stop SRL IL Figure 4 1 16 Cycle Motors Sub Menu Select the approp
230. tage to a repeatable location Index Input The Index input is pulled up to 5 volts 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 toa repeatable location Encoder Supply 5 12 5V Standard 250mA maximum 5V or 12V supply available from the UniDrive6000 The standard supply configuration is 5 volts 250mA maximum 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 Terminal Block Board The terminal block board provides access to I O signals available on the 100 pin connector This is useful for applications where a motor driver other than a UniDrive6000 is going to be incorporated The various connector functions and signals are defined in the following paragraphs Connector orientations are shown in Figure C 3 1
231. tatz if esp init system exit 1 Get Board Hardware Status esp get hardware status amp statl amp stat2 printf Hardware Status x x n r stati Report Hardware Status For All Axes Continued stat2 5 29 5 30 Motion Section 5 Programming 5 31 5 32 esp move absolute Move To Absolute Position Synopsis Arguments Library Location Description Returns Hint Usage Example See Also include esp6000 h int esp move absolute long axis double position long axis axis number from 1 6 double position target absolute position in user units esp6000 dll esp_move_absolute will move the specified axis to the absolute motor position as referenced to position count zero 0 ESPOK ESPERROR Remember to specify position parameter in user units e g millimeters include esp6000 h main long error servotick double position if esp_init_system printf ESP6000 Not Initialized r n exit 1 enable motor power esp enable motor 2 move axis 2 to absolute position 3 0 esp_move_absolute 2 3 0 while esp_move_done 2 check error status esp get error num amp error amp ServoTick if error printf Error d Reported error esp get all position esp set speed esp set accel esp_set_decel esp move relative esp set resolution esp move done esp
232. 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 and Kd alternatively until an acceptable loop response is obtained If oscillation develops immediately reduce Ki 7 2 4 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 applica tion 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 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 little as possible Points To Remember Use the Windows based ESP tune exe utility to change PID param eters and to visualize the effect Compare the results and parameters used with the previous iteration The ESP6000 controller uses a servo loop based on the PID with velocity and acceleration feed forward algorithm Us
233. the address of the memory location the DLL can use for shared memory It is important to check the return value from the function esp_init_system see the Com mands paragraphs in this section to insure that the shared memory was locked down 5 1 1 Windows Programming The libraries provided are intended to be used with the Windows 95 and Windows NT operating systems If you are not an experienced Windows programmer consult a good book on the subject Programming Windows 95 by Charles Petzold for example Review the examples on the utility disk for familiarization with library usage 5 1 2 How To Use The Dynamic Link Library Make calls to the dynamic link library the same way you would call any other function The library must be linked to your program either by using the LoadLibrary function provided with the Windows 95 API or by using the import library included with the DLL 52 Description of Commands The ESP6000 provides various Application Programming Interface API commands for the user as an alternative to using the Windows setup utility ESP util exe Commands are provided for Visual C C Visual BASIC and LabVIEW programming environments via a DLL Minimum software version level requirements for commands are listed in Table 5 2 1 Table 5 2 Software Version Requirements Language Version Visual C C Any 32 bit compiler for Windows Visual Basic 4 0 LabVIEW 4 0 1 General command categories are listed in Table
234. the grounding connection can create an electric shock hazard If you are unable to insert the plug into your wall plug recep tacle contact an electrician to perform the necessary alterations to assure that the green green yellow wire is attached to earth ground CAUTION Verify proper alignment before inserting cables into connectors Do not force With the UniDrive6000 and personal computer powered off attach the supplied 100 pin cable to the connector labeled CONTROLLER INPUT at the rear of the UniDrive6000 Next attach the cable to the ESP6000 card connector at the rear of the personal computer see Figure 2 4 21 Con nector orientation is shown in Appendix C Secure both connectors with the locking thumbscrews N97113C Figure 2 4 2 UniDrive To Controller Card Connection NOTE To ensure proper ventilation for the UniDrive maintain a distance of at least 1 between a free standing UniDrive and other equipment Section 2 System Set Up 2 19 Section 3 Quick Start 31 General Description The following paragraphs cover procedures for operation after all equip ment has been connected and both the ESP6000 controller card driver and setup utility have been installed see the System Setup section Informa tion includes how to power up the UniDrive and stage motor s activate home and jog motions and to shut down the system These procedures enable a user to verify that stages are functioning
235. the system and actuate the driver 2 8 2 4 2 Installing Windows Software The Windows Interface Software disk set which includes software utili ties DLL and language libraries can be installed any time after the ESP6000 controller card and driver software have been installed From the Windows 95 desk top press the start button and select SETTINGS and then CONTROL PANEL The Windows 95 start up screen appears see Figure 2 4 6 followed by the Control Panel menu see Figure 2 4 7 Eragrarns k irae Documents i Hig Settings Control Manel l Printers mH Taskbar Windows Shut Lown Figure 2 4 6 Windows 95 Start Up Screen EI Control Panel OR x File Edt View Help Accessibilty Uptiors Add New Hardware Ty keyboard ee Add A cno Progams E Modens ty Mouse S Multimedia A OstesT ime gt Sets uI programs and reates shortcuts me Figure 2 4 7 Control Panel Menu Section 2 System Set Up 2 9 Select ADD REMOVE PROGRAMS from the Control Panel menu The Add Remove Programs Properties menu appears see Figure 2 4 8 Add Nemore Programs Properties Instal O rnstall MAICON Setup Ckarlup Diss F ao 15stall anen pogram kom a llopay disk or LO NOM drive cick Install Install Windows To remove pogam or lo rrodilu ts installed corponenls select it rom tha list and click Add Femove p cy _he following so
236. to make For all DC motor and all standard stepper motor driven stages supported by the ESP6000 controller card this is also the resolution of the encoder 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 6 2 6 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 Figure 6 2 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 Elasticity Motor Encoder Stiction Figure 6 2 4 Effect of Stiction and Elasticity on 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 6 2 5 motion Error increments Motion steps Position Figure 6 2 5 Error Plot Once the Minimum Incremental Motion is defined the next task is to quantify it This is more difficult for two reasons one is its
237. to the UniDrive6000 universal motor driver Connector pin outs are listed in Table C 1 1 and functionally described in the following paragraphs Table C 1 1 Main I O Connector Pin Outs Pin Function CO CO NJ OS Ol AI GO IN 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 20 30 31 32 33 34 35 36 Cable Interlock Input 5V 250 mA maximum 5V 250 mA maximum Amplifier Fault Input Axis 6 Travel Limit Input Axis 6 Step Direction Output Axis 6 Index Input Axis 6 Encoder B Input Axis 6 Encoder A Input Axis 6 Amplifier Enable Output Axis 6 Amplifier Fault Input Axis 5 Travel Limit Input Axis 5 Step Direction Output Axis 5 Index Input Axis 5 Encoder B Input Axis 5 Encoder A Input Axis 5 Amplifier Fault Input Axis 4 Travel Limit Input Axis 4 Step Direction Output Axis 4 Index Input Axis 4 Encoder B Input Axis 4 Encoder A Input Axis 4 Amplifier Enable Output Axis 4 Amplifier Fault Input Axis 3 Travel Limit Input Axis 3 Step Direction Output Axis 3 Index Input Axis 3 Encoder B Input Axis 3 Encoder A Input Axis 3 Amplifier Fault Input Axis 2 Travel Limit Input Axis 2 Step Direction Output Axis 2 Index Input Axis 2 Encoder B Input Axis 2 Encoder A Input Axis 2 Amplifier Enable Output Axis 2 Appendix C Connector Pin Assignments Pin Function 51 52 53 54 55
238. tor This output is used to control the commutation sequence of a stepper motor The motor will increment one step for each pulse output Step Direction Output The Step Direction Output is an open collector i e 7407 output pulled up to 5 volts with a 1KQ resistor This output is used to control the commutation sequence of a stepper motor In Step Step mode the motor will increment one step for each pulse output In Step Direction mode this signal will control the direction of motor rotation Travel Limit Input This input is pulled up to 5 volts with a 4 7KQ resistor and represents the stage positive direction hardware travel limit The active true state is user configurable the default is active HIGH Travel Limit Input This input is pulled up to 5 volts with a 4 7KQ resistor and represents the stage negative direction hardware travel limit The active true state is user configurable the default is active HIGH Motor Driver Interface 100 to 68 Pin Cable This cable interfaces the ESP6000 controller card to the Universal Inter face Box UIB Connector pin outs are listed in Table C 1 2 and functional descriptions are provided in the following paragraphs 68 Pin Connector Appendix C Connector Pin Assignments Table C 1 2 Motor Driver Interface 100 to 68 pin Cable Connector Pin Outs I 2 9 10 11 12 15 14 15 16 17 23 24 25 26 27 28 29 30 33 34 36 37 38 44 45 4
239. tor power esp enable motor 2 move axis 2 to absolute position 3 0 esp move absolute 2 3 0 while l lesp move done 2 JA Check error Sranie sZ esp get error num amp error amp ServoTick if error printf Error d Reported error disable motor power esp disable motor 2 esp disable motor esp_get_motor_onoff_status esp_disable motor Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Disable Motor Power include esp6000 h int esp_disable_motor long axis long axis axis number from 1 6 axis 0 disables all axes esp6000 dll esp_disable_motor disables motor power to specified axis If axis parameter 0 then all axes are disabled NOTE The AMP ENABLE signal is set FALSE on the 100 pin motor I O connector All axes are automatically disabled after system initialization or reset ESPOK ESPERROR include esp6000 h main long error servotick double position if esp_init_system prime rf ESP6000 Not Initialized r n exit 1 enable motor power esp_enable_motor 2 move axis 2 to absolute position 3 0 esp_move_absolute 2 3 0 while esp_move_done 2 check error status esp get error num amp error amp ServoTick if error printf Error d Reported error disable motor power
240. tput C Inverted Non Inverted OF Cancel Apply Figure 4 1 8 Setup Hardware Amplifier I O Tab Section 4 Windows Utilities Use the Amplifier I O tab to configure a non ESP compatible motor ampli fier Select the axis and motor type then designate settings Set Amplifier Fault in the applicable Setup Faults sub menu tab before selecting the Amplifier Fault Input option Satup Hasdmara E Anpi DO pastel Li Cigtal 1 31 Analog Li Set vu DoC OT rd Selecl ADC ari ADC Salus pull Lharrasl Yuls W psy L hannel r 250y r BODY co TY b Sclect ADC Range r Urula i Minar Figure 4 1 9 Setup Hardware Analog I O Tab Use the Analog I O tab to select gain and range settings for the analog to digital conversion Refer to the Data Acquisition Overview material in Section 9 Advanced Capabilities for ADC gain and range information Talup Hardware m apia J Tia Lil Pignal 1 i vr PIRRE ET stir Ce mout Qupa ar ESA 1 F T tf put Output Deae Pul Duecuori i muul Qulhpul Lefer Dart Direction i input Uutput Figure 4 1 10 Setup Hardware Digital I O Tab 4 9 Use the Digital I O tab to define port direction Select bits in the Bit Settings sub panel to designate the bits for output red illumination indicates a HIGH logic level Sate Hasdmara Figure 4 1 11 Setup Hardware Servo DAC Offset Ta
241. trol In addition to parameters each VI returns a command prototype and an actual command as presented to the DLL The returned command strings can be used for monitoring troubleshooting or tutorial purposes Section 5 Programming 5 4 4 Error Handling The ESP6000 maintains a 10 word First In First Out FIFO buffer error message Errors encountered are stored in the order received along with a servo tick time stamp The default servo tick resolution is 409msec Most ESP6000 API function calls return a value 1 error exists or 0 No error exists which indicate whether an error has been detected or not However because the ESP6000 board queues commands the returned value is not a direct indicator of function correctness The returned value only indicates that an unread error now exists in the error buffer The error may be the result of a previous function call NOTE returned 1 value only indicates that an unread error now exists in the error buffer The error may be the result of a previous API function call There are two 2 dedicated functions for checking errors The first is esp get error string char Error long ErrorNum long ServoTick ErrorNum if non zero will contain the error number that has occurred The ErrorString will contain a text message corresponding to the ErrorNum The tick count is the value of the Servo Clock counter at the time of the error The second function esp get error num long e
242. u unsn pe 1 sjjo yndyno JV Iomuoo OAJSS POPURUIUIO SIXE JEU 10 pomoyye UINUITXRUI sp 5x 8u11 s Jf PonIued jou SEM spow 10 Jojourered poslsap 0 3SURY p jqeu jou ore Jamod pue O1 UOD 1OJOUI SIXV uondunsag 1X9 86ess N TIA Aq poPUHO xxxx 0001 Joquinu sixe A OPpads SIXV XxXA xxA S3uUr5 ds srxe uoN XX pudg3T SULIOQUINY 10117 10UISN poreys 907 OF porey Aud mq pemo v JON uoneorunwuo GSA papoqy sSuttuoH 454 SIXV preAU eyeq IGLIS JSY SIKV JOJIY DDMA ISLIS ASA SIXV D91991O1d IV SSUI S ROD SIXV pap gt gt 2x7 SHO OVC WUNUIXEJN SIXV papao2x7 Jf UNUIIXEIN SIXV pausa UONEIHIPOJA J9JPUILILJ A SIXV pe qeuy JON 1o1o N SIXV 1X9J essoN TOOT 0001 _ we Em OoOo ws C Ya m JOqQUINN JO LTI A 5 Appendix Error Messages Appendix B Trouble Shooting and Maintenance There are no user serviceable parts or user adjustments to be made to the ESP6000 controller card or UniDrive6000 Fuse replacement procedures for the UniDrive are provided in this section 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 Turn off power switch and unplug the unit from its power source Disconnect cables if their function is not
243. uipment should be made with the following precautions Do not remove the ESP6000 controller card from the anti static ship ping bag until you are ready to begin installation Avoid touching components on the ESP6000 controller card Hold the ESP6000 controller card by its edges or mounting brackets All equipment is tested and inspected prior to shipment Inspect the equipment and refer to Appendix G Factory Service for reporting discrepancies 22 PC Hardware and Software Requirements PC hardware and software requirements include E 2 3 oS Sq oe Ya Personal computer with a 486DX or higher processor PCI compatible full length card slot for ESP6000 board Microsoft Windows 95 operating system or Microsoft Windows NTTM Workstation operating system 4 0 or later 4 MB of memory for Windows 95 8 MB recommended 12 MB of memory for Windows NT Workstation 20 MB of hard disk space VGA or higher resolution video adapter Microsoft Mouse or compatible pointing device One interrupt line 10 3 1 2 floppy disk drive for installation only ET Equipment Controls and Indicators Controls and indicators for the ESP6000 controller card and UniDrive6000 are shown in Figures 2 3 1 and 2 3 2 and defined in Tables 2 3 1 and 2 3 2 respectively Refer to Appendix C for connector orientations O unnuaannanannnn Ci Dva 0000000000000000000000000 O oooooooooooool TF j DOOOOOOOOOO0O00000000000000
244. um amp DagqStat 1 check error Status 7 esp get error num amp error amp ServoTick if error printf Error d Reported r n error See Also esp_get_daq_status esp_set_daq_mode esp enable daq esp_disable_daq 5 96 esp_disable daq Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Section 5 Programming Disable Data Acquisition Mode include esp6000 h int esp disable daq void none esp6000 dll esp disable _daaq disables data acquisition mode ESPOK ESPERROR include esp6000 h main long error servotick long Num DaqStat Mode count float DataArray 512 if esp_init_system Print ESPOOND Not Initializedl r n exit 1 Set ADC Gain and Range esp set adc gain V10 esp set adc range BIPOLAR Set Acquisition Mode esp set daq mode l 1 1 1 2 512 esp enable daa esp enable motor 1 esp move absolute l 50 0 while esp dag done Wait for DAQ End esp get daq status amp count printf d acquisitions collected Nr count esp disable daq Retrieve Data esp get daq data DataArray amp Num amp DagqStat 1 Check error statue esp get error num amp error amp ServoTick if error printf Error Sd Reported Nrin error esp_get_daq_status esp_disable_daq esp_get_daq_data esp_daq_done
245. us Report Motion Status For All Axes Continued 5 40 Usage Example See Also include esp6000 h main long error servotick mstat double position if esp_init_system printf ESP6000 Not Initialized r n exit 1 enable motor power esp_enable_motor l esp enable motor 2 move axis 2 to absolute position 3 0 esp_move_absolute 1 5 0 esp_move_absolute 2 3 0 Ssp_get_motion status amp mstat loop while axis 1 amp 2 are still moving while mstat amp amp 0x03 esp_get_motion_status amp mstat check error status esp get error num amp error amp ServoTick if error printf Error d Reported error esp_move_done esp stop Stop Specified Axes Synopsis include esp6000 h int esp_stop long axis Arguments long axis axis number from 1 6 axis 0 stops all axes Library Location esp6000 dll Description esp stop causes all axes in motion to immediately decelerate using deceleration rate previously set by esp_set_decel function call NOTE All moving axes will be stopped when axis parameter is equal to zero 0 Returns ESPOK ESPERROR Hint Usage Example include esp6000 h main long error servotick if esp_init_system exit 1 set axis 1 trajectory parameters esp set speed l 30 0 esp set accel l 200 0 esp set decel l 150 0 esp enable motor l
246. utoo Dd 1X 1 sesso Joquiny LOAF dnjos peol 1oloui 10 YSIY 00 APOOJA 6 StoJouTeTed LI pfe OTSITE JOU pue jews OO SI as JoJourered p ous iu 10119 SUIMOTIO Z paun Ajewndo jou si ol ureIed OAIOS Ajd I a1 um qoid SI 10 sasned qtssod 9181S NO 41010UI amp UI SEM Jd O1 UOD 3U lIUA AO p uin1 sem 3AL JIU 94 9sne59q p 1e1 u 8 SI 10119 SIY UNO ISON JOS 3AqIUN u1 ut 1n roJ on e Aq pasned ag Aew SIU 6uei1 1I91 urpIed oyetidoidde 10 G uono SJUIUIMSIE PUPUIUIO 2y 0 Jojoy pomnsyUuod Ap eoNeUIOINE ore s se1s o qiyeduiod qSy YUM SXV YAddALS 10 OANASO 19449 se POUTJOp oq ISNUI Soxe UOTJIOW JAMY OJ saxe poinsyuooun 10 GYNLIAANN S d 1oloui 1 neJ p oy D91 no x ag ULI SpUPWIWIOD UONOUI Aue d10Jaq PouTjap oq 1snui dA 1070W SIXV QIN e 1eApuvH p lle1sur Jou pT df 13dunr 7 p l e1sur 1ou OA21S df 12dunr opnjdul SASNDI qisso 1dnii lur 3 DAD OAIIS Y JNOYIIM lqtssod 1OU SI O1JUOD 1o1ol POMad dun p imb iu y UIY IM INDIO 0 SJE J N1131UI 3 DAD OAJS V JI STeadde ISPSSIUI 10119 SIU L eyep aamb o Sundu 3410Jaq uonismnboae lqeu pue 10 dnjas snu uonedaHdde oy pueuruiroo dn1 s y ut papDads sem Jayowered pesu ue O uonismboce eyep Jo ss ooid u ut S IYM p nss sem pueurutoo dn1 s uonismboae eyep v sasned lqtssod SS 18O1d Ul sem pueWUIOd p 1e 91 OVG L AYM PUL
247. wn in Figure 6 4 2 Position Desired Velocity Acceleration Figure 6 4 2 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 ESP6000 controller card allow the user to change them even during the motion However the ESP6000 controller card always verifies that a parameter change can be safely performed If not the command is ignored and the motion continues as initially defined Jog When setting up an application it is often necessary to move stages manu ally 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 veloc ity The motion continues only while the button is pressed and stops immediately after its release The ESP6000 controller card offers two jog speeds The high speed is programmable and the low speed is ten times smaller The jog acceleration is also ten times smaller than the programmed maximum acceleration values 6 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 stage very ac
248. xis is moving target point slew velocity speed jog velocity acceleration and deceleration For all other trajectory control parameters it is recommended that the application programmer not submit parameter changes to the API unless the affected axes are stopped In general the software holds these param eter change requests as pending until the axes are stopped Data Acquisition Overview The ESP 6000 motion system combines high performance data acquisition capability with control functions on one card the ESP6000 controller The controller card provides physical integration of the two functions elimi nating the problems normally associated with integrating different circuit boards enhancing acquisition synchronization and reducing power and space requirements The ESP6000 controller card provides a muxed eight 8 channel 16 bit Analog To Digital converter ADC function for processing analog signals from its analog I O connector Access to the analog I O connector is provided via Newport s optional analog cable see Section 8 Optional Equipment The cable attaches to an open slot at the front of the personal computer for convenient hook up to customer provided devices A simplified block diagram of the converter and associated circuitry is shown in Figure 9 2 1 and described in the following paragraphs Programmable Bale ee Gain pare 16 bit 100 kHz x Instrumentation i A D Converter Input Filter Amplifier S
249. xit 1 Enable Axis 2 Motor Power esp enable motor 2 Set Axis Home Speed esp set home speed 2 20 0 Begin Home Search On Axis 2 esp find home 2 1 Wait For Home Search Completion while l lesp home done 2 check error status esp get error num amp error amp ServoTick if error printf Error d Reported r n error esp_find_home esp_home_done 5 53 esp_set_startstop_speed Set Axis Start Speed for Stepper Motors only esp get startstop speed Report Axis Start Speed for Stepper Motors only Synopsis include esp6000 h int esp set startstop speed long axis float speed int esp get startstop speed long axis float speed Arguments long axis axis number from 1 6 float speed target start stop speed in user units seconds Library Location esp6000 dll Description esp set startstop speed sets the desired instantaneous start and stop speed for the specified stepper motor axis This command is used to skip over the resonance frequency typically around motor rps of stepper motors The axis has to be in TRAPSTEP trajectory mode see esp_set_traj_mode function for esp_set_startstop_speed to take affect esp get startstop speed reports the present start speed setting for the specified axis Returns ESPOK ESPERROR Hint Most applications never need to change ESP compatible default values Usage Example include esp6000 h ma
250. y mode the axis will move indefinitely or until an esp_stopQ esp_stop_all command 1s received Note that if acceleration is too shallow the axis may not reach the target speed ESPOK ESPERROR Use esp stop function to stop jog motion include esp6000 h main long error servotick if esp init system exit 1 esp enable motor 1 set axis 1 to jog trajectory mode esp set traj mode 1 JOG set axis l speed and direction esp set jog speed l 20 0 e 6008 Stop motion esp_stop 1 esp set traj mode esp stop esp enable motor 5 55 5 56 Section 5 Programming Motion Related 5 57 5 58 esp enable motor Synopsis Arguments Library Location Description Returns Hint Usage Example See Also Enable Motor Power include esp6000 h int esp enable motor long axis long axis axis number from 1 6 esp6000 dll esp_enable_motor enables motor power to specified axes After this API call DC motors will servo on target position and stepper motors will have torque applied NOTE The AMP ENABLE signal is set TRUE on the 100 pin motor I O connector All axes are automatically disabled after system initialization or reset ESPOK ESPERROR include esp6000 h main long error servotick double position if esp_init_system printf ESP6000 Not Initialized r n exit 1 a enable mo
251. ycle or any multiple of it and the total number of samples can be up to 1000 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 Refer to Section 4 for a detailed description of the utility and its operation 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 you want to improve performance start with the current PID parameters The goal is to reduce following error during motion and to eliminate it at stop Guidelines for further tuning based on performance starting point and desired outcome are provided in the following paragraphs Section 7 Servo Tuning 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 para graph 7 2 2 First increase Kp by a factor of 1
Download Pdf Manuals
Related Search
Related Contents
Bluetooth RS232 Serial Adapter Manual Document Products and Licensing Samsung KING-2000 Kullanıcı Klavuzu Gastroback 42526 Mini-Meteor (user) Préface ........................................................... 取扱説明書 VAASAN AMMATTIKORKEAKOULU 電話機台 LCAP Tool User Manual Copyright © All rights reserved.
Failed to retrieve file