Introduction. Example. Table of Contents

Similar documents
Table of Contents. Tuning Ultrasonic Ceramic Motors with Accelera-Series Motion Controller. Sept-17. Application Note # 5426

Application Note #5426

Application Note #2442

EasyMotion User s Manual Ver

Advanced Servo Tuning

Servo Tuning. Dr. Rohan Munasinghe Department. of Electronic and Telecommunication Engineering University of Moratuwa. Thanks to Dr.

PID-CONTROL FUNCTION AND APPLICATION

Galil Motion Control. DMC 3x01x. Datasheet

Tech Note #3: Setting up a Servo Axis For Closed Loop Position Control Application note by Tim McIntosh September 10, 2001

The Air Bearing Throughput Edge By Kevin McCarthy, Chief Technology Officer

Upgrading from Stepper to Servo

Step vs. Servo Selecting the Best

Basic Tuning for the SERVOSTAR 400/600

Fundamentals of Servo Motion Control

G320X MANUAL DC BRUSH SERVO MOTOR DRIVE

MTY (81)

Latest Control Technology in Inverters and Servo Systems

MASTER/SLAVE TENSION CONTROL

Introduction to Servo Control & PID Tuning

PART 2 - ACTUATORS. 6.0 Stepper Motors. 6.1 Principle of Operation

MTY (81)

Servo Tuning Tutorial

The Discussion of this exercise covers the following points: Angular position control block diagram and fundamentals. Power amplifier 0.

Manual. ihss57-xx. Integrate Stepper Servo Motor.

STEPPING MOTOR EMULATION

Testra Corporation ss483 Series Microstepping Motor Driver. Specifications Sep SoftStep FIRMWARE FEATURES

CHAPTER 2 PID CONTROLLER BASED CLOSED LOOP CONTROL OF DC DRIVE

HPVFP High Performance Full Function Vector Frequency Inverter

Active Vibration Isolation of an Unbalanced Machine Tool Spindle

Mercury technical manual

6.9 Jump frequency - Avoiding frequency resonance

DMC-41x3 USER MANUAL. Manual Rev. Beta_1.0a. By Galil Motion Control, Inc.

SRVODRV REV7 INSTALLATION NOTES

CHAPTER 4 PID CONTROLLER BASED SPEED CONTROL OF THREE PHASE INDUCTION MOTOR

ASCII Programmer s Guide

High-Bandwidth Force Control

Experiment 9. PID Controller

Using CME 2 with AccelNet

QuickBuilder PID Reference

Allen-Bradley. Using the 1756-MO2AE with the TR Encoder (Cat. No ) Application Note

CTC and FLC, by default, have Default For Device checked which means use the factory default servo tuning settings.

CHAPTER AC DRIVE PARAMETERS. In This Chapter...

Servo Indexer Reference Guide

Optimizing Performance Using Slotless Motors. Mark Holcomb, Celera Motion

Brushed DC Motor Microcontroller PWM Speed Control with Optical Encoder and H-Bridge

AZ Series. Function Edition. Closed Loop Stepping Motor and Driver Package. Operation. I/O signals. Parameter

Load Observer and Tuning Basics

JUNE 2014 Solved Question Paper

This manual describes the option "i" of the SMT-BD1 amplifier: Tension control of winding / unwinding systems.

High Performance Low Voltage Servo Drives

Performance Optimization Using Slotless Motors and PWM Drives

MEGA Servo setup procedure for driving PMS motor

Closed-Loop Position Control, Proportional Mode

Copley ASCII Interface Programmer s Guide

Basic Guidelines for Tuning With The XPS Motion Controller

No Gain Tuning. Hunting. Closed Loop System

Chapter Objectives. Motion Control Concepts CHAPTER 4. APPLICATION DESIGN 43. Move Profiles. The information in this chapter will enable you to:

3Configuration CHAPTER THREE IN THIS CHAPTER. Configuration Tuning Procedures. Chapter 3 Configuration 23

Software Operational Manual

2HSS858H Low Voltage Digital Stepper Servo Drive Manual

Control chain diagrams

DI 24 VDC. Stepper Axis. Dual Stepper Motion Module Applications Guide. 8 Digital Input +24 VDC Sourcing. Stepper. Contents. Programming a Stepper...

AMP-19520/40. Multi-axis Brushless/Brush Servo Amplifier. By Galil Motion Control, Inc. Rev. 1.0d

TASCA 4 Target Wheel Control

TECHNICAL DOCUMENT EPC SERVO AMPLIFIER MODULE Part Number L xx EPC. 100 Series (1xx) User Manual

ME 5281 Fall Homework 8 Due: Wed. Nov. 4th; start of class.

Built-in soft-start feature. Up-Slope and Down-Slope. Power-Up safe start feature. Motor will only start if pulse of 1.5ms is detected.

CSMIO/IP-A motion controller and Mach4

A logical step into basic servo solutions SMARTSTEP

Sensors and Sensing Motors, Encoders and Motor Control

Elmo HARmonica Hands-on Tuning Guide

A Machine Tool Controller using Cascaded Servo Loops and Multiple Feedback Sensors per Axis

Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN)

CHAPTER 8 PARAMETER SUMMARY

HBS Series Hybrid Servos

Controlling an AC Motor

ESR. The Dynamic Solution. Applications. Products, Consultation, and Service. ESR Pollmeier GmbH

TCS3 SERVO SYSTEM: Proposed Design

ECE 5670/ Lab 5. Closed-Loop Control of a Stepper Motor. Objectives

InstaSPIN-BLDC Lab. DRV8312 Setup Jumpers and switches must be setup properly or the kit will not function correctly!

Sensors and Sensing Motors, Encoders and Motor Control

For more information on these functions and others please refer to the PRONET-E User s Manual.

DMC-18x6 Manual Rev. 1.0f

EE 560 Electric Machines and Drives. Autumn 2014 Final Project. Contents

DSB810A Digital DC Servo Driver Manual V1.0

A Case Study of Rotating Sonar Sensor Application in Unmanned Automated Guided Vehicle

Brushed DC Motor Control. Module with CAN (MDL-BDC24)

V&T Technologies Co., Ltd. Vectorque TM V6-H-M1 SERIES INVERTER ADDITIVE MANUAL (M1) V6-H Series ADDITIVE MANUAL V& T

Peak Current. Continuous Current. See Part Numbering Information on last page of datasheet for additional ordering options.

Hands-on Lab. PID Closed-Loop Control

Stepnet Panel Amplifier User Guide

WMX2 Parameter Manual

Electro-hydraulic Servo Valve Systems

CHAPTER 8 SUMMARY OF PARAMETER SETTINGS

Analog Servo Drive 25A20DD

PSF-520 Instruction Manual

HB-25 Motor Controller (#29144)

Optidrive Applications Support Library

Position Table Function. Closed Loop System. Network Based Motion Control. No Gain Tuning

$MPTFE -PPQ 4UFQQJOH 4ZTUFN.JOJBUVSJ[FE $PNQBDU 4J[F $MPTFE -PPQ 4ZTUFN /P (BJO 5VOJOH /P )VOUJOH )JHI 3FTPMVUJPO 'BTU 3FTQPOTF

Transcription:

May-17 Application Note #5532 Positioning a Stepper Motor Using Encoder Feedback on an Axis With Non-Linear Mechanics Table of Contents Introduction...1 Example...1 Open-loop operation as baseline...2 Running in closed-loop mode...3 Effect of individual tuning parameters...4 Summary...10 Appendix A - Detailed command descriptions...11 Introduction Galil controllers can be used to command stepping motors based on encoder feedback, using either internal Galil stepper drivers or external third-party drives. All axis positioning is done in terms of encoder counts, so it is desirable to have the encoder directly mounted to the payload. Due to the use of leadscrews, timing chains, or other mechanics, there may be backlash and/or compliance between the motor and the encoder/payload. While standard closed-loop motor control generates a torque command based on the position error of the encoder (typical when using servos), the closed-loop stepper firmware generates a pulse train based on encoder error. This output is sent to the stepper driver, which moves the motor accordingly in an effort to minimize position error. Several tuning commands and motion parameters allow the user to maximize the performance of the mechanism. This firmware solution works best when accurate endpoint positioning of the payload is the principle requirement. Minimizing position error and velocity ripple during the move are not the primary goals of this solution. If velocity smoothness and minimum error throughout the move are prime requirements, Galil recommends the 2PB firmware with dual-encoder feedback. Example A mechanism with a large amount of backlash is assembled. In Figure 1, the 2-phase stepper motor (top) drives a plastic chain. This turns an unpowered motor with an encoder mounted to the 1

back. The chain backlash magnitude is approximately 8 degrees. The goal is to command a move in terms of encoder counts and have the stepper motor work to keep the encoder in position. Figure 1: Motor and encoder layout with backlash A DMC-41x3 controller with an internal microstepping (1/256 step) drive is used. The internal drive was selected for convenience. Any third-party external stepper drive and motor can be used with this firmware solution. Open-loop operation as baseline As a reference, the motor was commanded open-loop. For the purpose of plotting the data to the scope software, a virtual second axis was commanded with 1:1 motion. The encoder on this virtual axis was linked to the stepper motor through the chain. Figure 2 shows a typical open-loop response. 2

Figure 2: Open-loop stepper motor with backlash The lower green plot shows the encoder error during the move. During periods of acceleration, the error rises quickly. Once the motor is at the commanded position, there is approximately 50 counts of steady-state error that cannot be corrected when in open-loop. Running in closed-loop mode Step 1 - Determine step motor maximum rpm The firmware generates a pulse train up to a user-specified maximum frequency. This speed limit is based on the maximum stepper motor rpm before stall. It is recommended to select a speed limit 20% below the stall speed to account for changes in payload or supply voltage. To determine the stall speed, open-loop jog commands are sent by the controller/driver to the motor. The motor is visually checked to ensure stable motion. As the stall speed approaches, the motor will quickly lose torque and eventually cease to rotate. In this example, the motor stall speed was found to be approximately 80,000 microsteps per second, equivalent to about 1.25 rps. Using the 20% margin figure, this defines the maximum pulse train frequency, subsequently set with the SK command. The actual maximum pulse train frequency seen by the stepper driver is subsequently scaled by the stepper motor smoothing term KS. See the SK command description for the calculation. Step 2 - Select motion profile parameters In closed-loop stepper mode, all motion is defined in terms of encoder counts. Speed (SP), acceleration (AC), and deceleration (DC) values should be selected based on the performance requirements of the application. Step 3 - Configure motor and encoder The motor type (MT) command should be set as a stepper: MT2, -2, 2.5, or -2.5 based on 3

stepper driver requirements. Galil internal drives use MT-2 or MT-2.5. Ensure the motor and encoder have identical polarity. Use Configure Encoder command (CE) to invert encoder polarity if needed. This helps avoid positive feedback, which can result in motor runaway. Step 4 - Enable closed-loop stepper mode Use the CL command to enable this mode of motion. Before enabling the motor, recognize that the default gains used by the controller are low, but may not be low enough. If the system is high-gain or there is a large mismatch between encoder and microstepping resolution, consider lowing the tuning gains even further. Step 5 - Enable the motor and tune the system Once the system is determined to be safe, enable the axis with the SH command. One method to tune the axis is to command a step move in a loop and monitor the encoder feedback with Galil scope software. In this application, the encoder is commanded to turn 1/10th of a revolution, pause, and return. The external closed-loop stepper solution offers several tuning tools. Proportional gain (K1), and Integral gain (K2) for when in motion, and at-rest Proportional (KP) and Integral (KI) help with systems that require a different response to disturbances when not actively profiling motion. Deadband commands (DS, DB) can cut off the motor pulse train entirely for zero dither when the axis is at rest. The _ZZn operand reports the instantaneous pulse train frequency, useful for monitoring the system during tuning. All command descriptions can be found in Appendix A. After tuning for minimum payload error when at rest, the resulting step response is shown in Figure 3. Figure 3: Tuned step response using closed-loop stepper tuning commands Effect of individual tuning parameters The available tuning parameters KP, K1, KI, and K2 affect the stepper motor response 4

differently than would occur with a torque-mode servo motor. To illustrate the effect of each parameter, values were entered that were higher and lower than the eventual optimal value. Effect of KP - too low If KP is too low, the step motor will respond slowly to disturbances when at rest. A relatively slow oscillation can be seen in Figure 4. Figure 4: KP too low Effect of KP - too high If the value of KP is too high, the controller will attempt to correct for error too aggressively. This can lead to higher-frequency oscillations and audible noise, shown in Figure 5 Figure 5: KP too high Effect of K1 - too low If K1 is set too low, then the controller will attempt to correct for error while in motion to slowly, leading to gradual oscillations during the movement, as shown in Figure 6. 5

Figure 6: K1 too low Effect of K1 - too high If K1 is set too high, the controller will attempt to correct for position error too aggressively, leading to high-frequency oscillations during motion and possibly audible noise as shown in Figure 7. Figure 7: K1 too high Effect of KI - too low The response to changes in the integrator filter will vary from system to system. With this mechanism, the motor response does not vary dramatically even with large changes in KI. However, in general, if KI is too low, the motor will be slow to respond to steady-state position error when at rest, as shown in Figure 8. 6

Figure 8: KI too low Effect of KI - too high If KI is set too high, the controller will react too aggressively to steady-state position error, leading to oscillations when at rest, as shown in Figure 9. Figure 9: KI too high Effect of K2 - too low If K2 is set too low, the controller will react slowly to steady state error when in motion, leading to a general lagging of the motor compared to the commanded profile, as shown in Figure 10. 7

Figure 10: K2 too low Effect of K2 - too high If K2 is set too high, the controller will react aggressively to steady-state error during the move. This can lead to oscillations and/or audible noise, as shown in Figure 11. As mentioned, this mechanism was not particularly sensitive to changes in Integrator gains. Figure 11: K2 too high Effect of deadband -DB, DS In some applications, when the motor is at rest, there must be zero dither. This can be achieved by using the deadband commands DB and DS. Once the position error is less than DS counts, the profiler disables completely. Once the position error exceeds DB counts, the profiler closes the loop normally. As can be seen in Figure 12, once the error drops below DS, no additional pulses are generated. _ZZn operand displays the stepper motor output frequency, shown in the lower green plot. 8

Figure 12: Deadband active Figure 13 shows the same tuning values but with the deadband disabled. _ZZ continues to show non-zero step motor frequency even when the motor is not being commanded to move. Figure 13: Deadband inactive An added benefit of closed-loop stepper is the ability to correct for any unexpected outside disturbances, regardless of magnitude. Figure 14 shows the axis initially at rest, then manually forced 180 degrees out of position, and finally the resulting motor motion to recover. 9

Figure 14: Large external disturbance and recovery Summary Galil motion controllers can be equipped with firmware that allows encoder-based closed loop stepper motor control, giving users the ability to precisely position a payload using either an internal or external third-party stepper drive and motor. This orderable firmware option can be selected at the time of controller purchase. To learn more, contact Galil at 1.916.626.0101 or email support@galil.com 10

Appendix A - Detailed command descriptions CL Enable external Closed-loop Stepper Syntax: Implicit or explicit Operands: _CLn Burn: not burnable Full Description The CL command configures the axis to generate a pulse train frequency that is proportional to encoder position error. This allows the use of external, third-party stepper drivers and motors to be positioned based on encoder feedback. Proportional (KP, K1) and Integral (KI, K2) filters, as well as step pulse smoothing (KS) terms are available for tuning the axis. Deadband values (DS, DB) are available for endpoint settling. The axis must be set in stepper mode with the stepper motor jumpers and suitable MT value. Arguments CL n,n,n,n or CLm=n where n 1 for closed-loop stepper mode, 0 for standard open-loop stepper. Operands _CLn reports the value of the specified axis Usage Usage and Default Details Usage Value In a Program Yes Command Line Yes Controller Usage DMC-41x3 Default Value 0 Related Commands MT Motor Type KS Stepper motor smoothing Examples :CL 1,0,1,1 ; set A, C, D axis for closed-loop stepper :MG_CLA ;'Report the value of CL for A axis 1.0 : Example Usage Begin from Reset. All parameters not explicitly sent should be default values. Use the following code: #CL NOTE TEST CL command 11

NOTE NO MOTOR OR ENCODER CONNECTED MO MT2 CL1 KP10 KI0 KS16 SK10000 SHA PRA=100 SP1000 BGA EN RESULTS IN CONTINUOUS 4 KHZ PULSE TRAIN. SCOPE OF STEPA OUTPUT: FIGURE 1 - STEP A when CL enabled 12

KP Proportional gain at rest Syntax: Explicit or Implicit Operands: _KPn Burn: burnable with BN Hardware: DMC-41x3 Full Description KP is the proportional gain in effect when the profiler is not commanding motion (RP is not changing). When motion is commanded (RP changing), K1 is in effect. Some systems will oscillate when holding position unless the gains are lowered. The scale of KP is such that if KP is 1 and there is a position error of 100 counts, the controller will generate a 400 Hz pulse train. Arguments K1 m,m,m,m,m,m,m,m or K1n=m where m is a number in the range 0 to 1023.875 with a resolution of 1/8 m =? Returns the value of the P gain during motion for the specified axis Operands _KPn contains the value of the P gain during motion for the specified axis Usage Usage and Default Details Usage Value While Moving Yes In a Program Yes Command Line Yes Controller Usage DMC-41x3 Default Value 6 Default Format N/A Related Commands K1 - Proportional gain when holding position K2 - Integral gain during motion KI Integral gain at rest KS Stepper motor smoothing CL External closed-loop stepper mode Examples KPA=10;' set A axis P gain in effect at rest Example Usage Begin from Reset. All parameters not explicitly sent should be default values. Use the following code: #KP NOTE TEST KP command NOTE NO MOTOR OR ENCODER CONNECTED MO 13

MT2 CL1 KP10 KI0 KS16 SK10000 SHA PRA=100 SP1000 BGA EN RESULTS IN CONTINUOUS 4 KHZ PULSE TRAIN. To see the effect of KP, use a different value: #KP NOTE TEST KP command NOTE NO MOTOR OR ENCODER CONNECTED MO MT2 CL1 KP1 KI0 KS16 SK10000 SHA PRA=100 SP1000 BGA EN RESULTS IN APPROX 400 HZ PULSE TRAIN. 14

K1 Proportional gain during motion Syntax: Explicit or Implicit Operands: _K1n Burn: burnable with BN Hardware: DMC-41x3 Full Description K1 is the proportional gain in effect when the profiler is commanding motion (RP is changing). When no motion is commanded (RP constant), KP is in effect. Some systems will oscillate when holding position unless the gains are lowered. The scale of K1 is such that if K1 is 1 and there is a position error of 100 counts, the controller will generate a 400 Hz pulse train. Arguments K1 m,m,m,m,m,m,m,m or K1n=m where m is a number in the range 0 to 1023.875 with a resolution of 1/8 m =? Returns the value of the P gain during motion for the specified axis Operands _K1n contains the value of the P gain during motion for the specified axis Usage Usage and Default Details Usage Value While Moving Yes In a Program Yes Command Line Yes Controller Usage DMC-41x3 Default Value 6 Default Format N/A Related Commands KP - Proportional gain when holding position K2 - Integral gain during motion Examples K1A=10;' set A axis P gain in effect during motion Example Usage Begin from Reset. All parameters not explicitly sent should be default values. Use the following code: #K1 NOTE TEST K1 command NOTE NO MOTOR OR ENCODER CONNECTED MO MT 2 CL 1 15

KP 6 K1 10;'CHANGE K1 VALUE TO ADJUST EXPECTED FREQUENCY KI 0 KS 16 SK 10000 SH A PR A=1000;'LONG MOVE TO GENERATE ERROR SP 1000;'SET IN MOTION BG A WT 10 SP 0;'STAY IN MOTION EN RESULTS IN APPROX 446 HZ PULSE TRAIN. To see the effect of K1, increase K1: :K1 100 RESULTS IN 4.4 KHZ PULSE TRAIN 16

KI Integrator gain at rest Syntax: Explicit or Implicit Operands: _KIn Burn: burnable with BN Hardware: DMC-41x3 Full Description KI is the integral gain in effect when the profiler is not commanding motion (RP is not changing). When motion is commanded (RP changing), K2 is in effect. Some systems will oscillate when holding position unless the gains are lowered. The scale of KI is such that if KI is 1 (no other gains) and there is a fixed position error of 100 counts, the controller will take approximately 12,800 msec to ramp up to a frequency of 10 khz Arguments KI m,m,m,m,m,m,m,m or KIn=m where m is a number in the range 0 to 2047.875 with a resolution of 1/8 m =? Returns the value of the I gain during motion for the specified axis Operands _KIn contains the value of the I gain during motion for the specified axis Usage Usage and Default Details Usage Value While Moving Yes In a Program Yes Command Line Yes Controller Usage DMC-41x3 Default Value 0 Default Format N/A Related Commands K1 - Proportional gain when holding position K2 - Integral gain during motion KI Integral gain at rest KS Stepper motor smoothing CL External closed-loop stepper mode Examples KIA=10;' set A axis I gain in effect at rest Example Usage Begin from Reset. All parameters not explicitly sent should be default values. Use the following code: #KI NOTE TEST KI command NOTE NO MOTOR OR ENCODER CONNECTED 17

MO MT2 CL1 K10 KP0 KI1 K10 KS16 SK10000 SHA IP10;'SHORT MOVE TO GENERATE ERROR EN THIS SHOULD TAKE APPROX 18 SECONDS TO BUILD TO SK MAX OF 10 KHZ WITH STRONGER KI, THE PULSE TRAIN SPEEDS UP FASTER #KI NOTE TEST KI command NOTE NO MOTOR OR ENCODER CONNECTED MO MT2 CL1 K10 KP0 KI10 K10 KS16 SK10000 SHA IP10;'SHORT MOVE TO GENERATE ERROR EN THIS SHOULD TAKE APPROX 3 SECONDS TO BUILD TO SK MAX OF 10 KHZ 18

K2 Integrator gain during motion Syntax: Explicit or Implicit Operands: _K2n Burn: burnable with BN Hardware: DMC-41x3 Full Description K2 is the integral gain in effect when the profiler is commanding motion (RP is changing). When no motion is commanded (RP constant), KI is in effect. Some systems will oscillate when holding position unless the gains are lowered. The scale of K1 is such that if K1 is 1 (no other gains) and there is a fixed position error of 100 counts, the controller will take approximately 12,800 msec to ramp up to a frequency of 10 khz Arguments K2 m,m,m,m,m,m,m,m or K2n=m where m is a number in the range 0 to 2047.875 with a resolution of 1/8 m =? Returns the value of the K2 gain at rest for the specified axis Operands _K2n contains the value of the I gain during motion for the specified axis Usage Usage and Default Details Usage Value While Moving Yes In a Program Yes Command Line Yes Controller Usage DMC-41x3 Default Value 0 Default Format N/A Related Commands KI - Integral gain when holding position K1 - Proportional gain during motion Examples K2B=1;' set B axis I gain in effect during motion Example Usage Begin from Reset. All parameters not explicitly sent should be default values. Use the following code: #K2 NOTE TEST K2 command NOTE NO MOTOR OR ENCODER CONNECTED MO MT 2 CL 1 19

K1 0 KP 0 KI 0 K2 1 KS 16 SK 10000 IL 9.998;'ALLOW K2 TO WORK DURING MOTION SH A SP 1000 IP 100;'SHORT MOVE TO GENERATE ERROR WT 10 SP 0;'STAY IN MOTION BUT NO MORE POSITION ERROR EN THERE WILL BE APPROX 11 COUNTS OF ERROR. PULSE TRAIN WILL TAKE APPROX 16 SECONDS TO BUILD TO SK MAX OF 10000 WITH LARGER K2, PULSE TRAIN WILL INCREASE FASTER #K2 NOTE TEST K2 command NOTE NO MOTOR OR ENCODER CONNECTED MO MT 2 CL 1 K1 0 KP 0 KI 0 K2 10 KS 16 SK 10000 IL 9.998;'ALLOW K2 TO WORK DURING MOTION SH A SP 1000 IP 100;'SHORT MOVE TO GENERATE ERROR WT 10 SP 0;'STAY IN MOTION BUT NO MORE POSITION ERROR EN TAKES APPROX 2.5 SECONDS TO RISE TO SK MAX OF 10 KHZ 20

KS Stepper pulse train smoothing Syntax: Explicit or Implicit Operands: _KSn Burn: burnable with BN Hardware: DMC-41x3 Full Description The KS parameter sets the amount of smoothing of stepper motor pulses. Larger values of KS provide greater smoothness. KS adds a single pole low pass filter onto the output of the motion profiler. Arguments KS n or KSm=n where n is 0.5 to 16 with resolution of 0.125 to represent the Stepper motor smoothing for the given axis. n =? Returns the KS value for the specified axis. m is A to specify the A axis Operands _KSn contains the modulus for the specified axis Usage Usage and Default Details Usage Value While Moving Yes In a Program Yes Command Line Yes Controller Usage DMC-41x3 Default Value 1.313 Related Commands MT Motor Type CL External closed-loop stepper enable Examples KS 8 ;'Set A-axis smoothing to 8.0 Example Usage Begin from Reset. All parameters not explicitly sent should be default values. Use the following code: #KS NOTE TEST KS command NOTE NO MOTOR OR ENCODER CONNECTED MO MT 2 CL 1 KP 10 KS 16 SK 10000 SH A SP 1000 21

IP 100;'SHORT MOVE TO GENERATE ERROR EN INITIATES A 4 KHZ PULSE TRAIN CHANGE KS :KS 4 RESULTS IN A 16 KHZ PULSE TRAIN See SK command for relationship between SK and KS. 22

DB Deadband On value Syntax: Explicit or Implicit Operands: _DBn Burn: burnable with BN Hardware: DMC-41x3 Full Description Range in which PID and antifriction bias are turned on (on band). When the absolute value of the error TE is greater than DB, the torque output TT will be set back to normal (reflecting KP, KD, KI, ZP, and ZN). This is used to avoid oscillation when holding position. DB should be set greater than or equal to DS. Arguments DB n,n,n,n,n,n,n,n or DBA=n where n is an integer in the range 0 to 32767 n =? Returns the value of the on band for the specified axis Operands _DBn contains the Deadband On value for the specified axis Usage Usage and Default Details Usage Value While Moving Yes In a Program Yes Command Line Yes Controller Usage DMC-41x3 Default Value 0 Related Commands DS Deadband Off CL External closed-loop stepper enable Examples DB 180 ;'Set A-axis deadband on to 180 Example Usage Begin from Reset. All parameters not explicitly sent should be default values. Testing DB requires an encoder be connected. Use the following code: #DB NOTE TEST DB command NOTE ENCODER CONNECTED MO MT 2 CL 1 KP 1 K1 1 KS 16 23

SK 10000 SH A DS 50 DB 100 MG"TURN ENCODER SLOWLY" MG"_TEA _ZZA" #LOOP MG_TEA,_ZZA WT500 JP#LOOP AS ENCODER TURNS, ERROR BUILD. NO PULSE OUTPUTS UNTIL ERROR EXCEEDS DB VALUE _TEA _ZZA 0.0000 0.0000 3.0000 0.0000 42.0000 0.0000 82.0000 0.0000 121.0000 484.0000 122.0000 488.0000 24

DS Deadband Off value Syntax: Explicit or Implicit Operands: _DBn Burn: burnable with BN Hardware: DMC-41x3 Full Description Range in which PID and antifriction bias are turned off (off band). When the absolute value of the error TE is less than DS, the torque output TT will be set to the offset OF (the contributions of KP, KD, KI, ZP, and ZN are set to zero). This is used to avoid oscillation when holding position. DB should be set greater than or equal to DS. Arguments DS n,n,n,n,n,n,n,n or DSA=n where n is an integer in the range 0 to 32767 n =? Returns the value of the off band for the specified axis Operands _DSn contains the Deadband Off value for the specified axis Usage Usage and Default Details Usage Value While Moving Yes In a Program Yes Command Line Yes Controller Usage DMC-41x3 Default Value 0 Related Commands DB Deadband Off CL External closed-loop stepper enable Examples DS 80 ;'Set A-axis deadband off to 80 Example Usage Begin from Reset. All parameters not explicitly sent should be default values. Testing DS requires an encoder be connected. Use the following code: #DS NOTE TEST DS command NOTE ENCODER CONNECTED MO MT 2 CL 1 KP 1 K1 1 25

KS 16 SK 10000 SH A DS 50 DB 100 MG"TURN ENCODER SLOWLY" MG"_TEA _ZZA" #LOOP MG_TEA,_ZZA WT500 JP#LOOP INCREASE ERROR PAST DB. THEN REDUCE ENCODER ERROR BY TURNING OPPOSITE DIRECTION. ONCE TE IS LESS THAN DS, PULSE TRAIN CEASES. _TEA _ZZA 3.0000 0.0000 42.0000 0.0000 82.0000 0.0000 121.0000 484.0000 122.0000 488.0000 122.0000 488.0000 102.0000 408.0000 81.0000 324.0000 78.0000 312.0000 31.0000 0.0000 22.0000 0.0000 26

SK Maximum pulse train frequency Syntax: Explicit or Implicit Operands: _SKn Burn: burnable with BN Hardware: DMC-41x3 Full Description The SK command will set the maximum allowable frequency, in Hz, that the controller is allowed to generate. The formula for the maximum output frequency is Frequency (Hz) = SK *(16/KS) Arguments SK n,n,n,n,n,n,n,n or SKA=n where n is an integer in the range 0 to 65535 n =? Returns the maximum allowable frequency for the specified axis Operands _SKn contains the maximum allowable frequency Usage Usage and Default Details Usage Value While Moving Yes In a Program Yes Command Line Yes Default Value 16387 Default Format N/A Controller Usage DMC-41x3 Related Commands KS Stepper smoothing JG Jog speed Examples SK 25000 ;'Set A-axis max frequency to 25 khz Example Usage Begin from Reset. All parameters not explicitly sent should be default values. Use the following code: #SK NOTE TEST SK command NOTE NO MOTOR OR ENCODER CONNECTED MO MT 2 CL 1 KP 10 K1 10 KS 16 SK 10000 27

SH A IP 100 EN 4 KHZ PULSE TRAIN TO LIMIT THE OUTPUT, CHANGE SK :SK1000 RESULTS IN 1 KHZ PULSE TRAIN 28

ZZ Tell stepper frequency Syntax: n/a Operands: _ZZn Burn: n/a Hardware: DMC-41x3 Operands _ZZm Operand has special meaning, see Remarks Full Description The _ZZn operand contains the instantaneous output frequency, in Hz with the following equation Output_Frequency = _ZZn * (16/_KSn). Arguments ZZ n,n,n,n,n,n,n,n n is an integer in the range 0 to 2.147 billion n =? Returns the maximum allowable frequency for the specified axis Remarks Tell Stepper Frequency is dependent on the value of KS. For true value multiply by 16/_KSn Examples 'Galil DMC Code Example 'Simple example used to start closed loop stepper mode and check the output frequency MT -2;' setup axis as a stepper CL 1;' turn on closed loop stepper mode KS 16;' set stepper smoothing level KP l; 'set proportional gain SH A;' servo here axis A IP 100;' move axis MG _ZZA :400.0000 29