Galil DMC-1510 User Manual

Manual is about: DMC-1500 Series motion controller

Summary of DMC-1510

  • Page 1

    User manual dmc-1500 manual rev. 2.0xf by galil motion control, inc. Galil motion control, inc. 270 technology way rocklin, california 95765 phone: (916) 626-0101 fax: (916) 626-0102 internet address: support@galilmc.Com url: www.Galilmc.Com rev 05-06.

  • Page 2: Using This Manual

    Using this manual this user manual provides information for proper operation of the dmc-1500 controller. A separate supplemental manual, the command reference, contains a description of the commands available for use with this controller. Your dmc-1500 motion controller has been designed to work wit...

  • Page 3

    Firmware updates new feature for rev 2.0h april 1998: feature description 1. Cmderr enhanced to support multitasking: if cmderr occurs on thread 1,2 or 3, thread will be holted. Thread can be re-started with xq _ed2, _ed1, 1 for retry xq _ed3, _ed1, 1 for next instruction 2. _vm returns instantaneou...

  • Page 5

    (kpxz=10 is invalid. Only one or all axes can be specified at a time). New commands added july 1993 rev 1.2: command description _ul gives available variables _dl give available labels @com[n] 2's complement function new commands added march 1993: rev 1.2 command description _cs segment counter in l...

  • Page 7: Contents

    Dmc-1500 contents • i contents chapter 1 overview 1 introduction ............................................................................................................................... 1 overview of motor types ....................................................................................

  • Page 8

    Ii • contents dmc-1500 example 9 - interrogation ..........................................................................................21 example 10 - operation in the buffer mode .............................................................21 example 11 - motion programs ..........................

  • Page 9

    Dmc-1500 contents • iii chapter 6 programming motion 41 overview ................................................................................................................................. 41 independent axis positioning ............................................................................

  • Page 10

    Iv • contents dmc-1500 commenting programs ..............................................................................................82 executing programs & multitasking .......................................................................................83 debugging programs ....................

  • Page 11

    Dmc-1500 contents • v backlash compensation by sampled dual-loop .................................................... 123 chapter 8 hardware & software protection 126 introduction ...........................................................................................................................

  • Page 12

    Vi • contents dmc-1500 jd4 - 20 pin idc - amplifiers .................................................................................154 jd6 - daughterboard connector (60 pin) ................................................................154 cable connections for dmc-1500 ...........................

  • Page 13: Chapter 1  Overview

    Dmc-1500 chapter 1 overview • 1 chapter 1 overview introduction the dmc-1500 series are packaged motion controllers designed for stand-alone operation. Features include coordinated motion profiling, uncommitted inputs and outputs, non-volatile memory for stand-alone operation and rs232/rs422 communi...

  • Page 14: Overview of Motor Types

    2 • chapter 1 overview dmc-1500 overview of motor types the dmc-1500 can provide the following types of motor control: standard servo motors with +/- 10 volt command signals step motors with step and direction signals other actuators such as hydraulics - for more information, contact galil. The user...

  • Page 15

    Dmc-1500 chapter 1 overview • 3 microcomputer section the main processing unit of the dmc-1500 is a specialized 32-bit motorola 68340 series microcomputer with 256k ram, 64 k eprom and 128 k bytes eeprom. The ram provides memory for variables, array elements and application programs. The eprom store...

  • Page 16

    4 • chapter 1 overview dmc-1500 motor a motor converts current into torque which produces motion. Each axis of motion requires a motor sized properly to move the load at the desired speed and acceleration. Galil's motion component selector software can help you calculate motor size and drive size re...

  • Page 17

    Dmc-1500 chapter 1 overview • 5 error light for each axis will also turn on at this stage. A reset is required to restore the dmc-1500 to normal operation. Consult the factory for a return materials authorization (rma) number if your dmc-1500 is damaged..

  • Page 18

    6 • chapter 1 overview dmc-1500 this page left blank intentionally.

  • Page 19: Chapter 2  Getting Started

    Dmc-1500 chapter 2 getting started • 7 chapter 2 getting started elements you need before you start, you will need the following system elements: 1. Dmc-1500 motion controller and included cables, rs232, 60 pin ribbon cable and 26-pin ribbon cable. 1a. For stepper motor operation, you will need an a...

  • Page 20: Installing The Dmc-1500

    8 • chapter 2 getting started dmc-1500 installing the dmc-1500 installation of a complete, operational dmc-1500 system consists of 9 steps. Step 1. Determine overall motor configuration. Step 2. Install jumpers on the dmc-1500. Step 3. Configure the dip switches on the dmc-1500. Step 4. Connect ac p...

  • Page 21

    Dmc-1500 chapter 2 getting started • 9 the stepper mode jumpers are located next to the gl-1800 which is the largest ic on the board. The jumper set is labeled jp40 and the individual stepper mode jumpers are labeled smx, smy, smz, smw. The fifth jumper of the set, opt, is for use by galil technicia...

  • Page 22

    10 • chapter 2 getting started dmc-1500 step 6. Establish communications with galil software use the supplied 9-pin rs232 ribbon cable to connect the main dmc-1500 serial port to your computer or terminal at comport 1. The dmc-1500 main serial port is configured as dataset. Your computer or terminal...

  • Page 23

    Dmc-1500 chapter 2 getting started • 11 if you are not properly communicating with the controller, the program will pause for 3-15 seconds. The top of the screen will display the message “status: not connected with galil motion controller” and the following error will appear: “stop - unable to estab...

  • Page 24

    12 • chapter 2 getting started dmc-1500 if you are not sure about the potential of the ground levels, connect the two ground signals (amplifier ground and earth) by a 10 k Ω resistor and measure the voltage across the resistor. Only if the voltage is zero, connect the two ground signals directly. Th...

  • Page 25

    Dmc-1500 chapter 2 getting started • 13 the position reporting varies by one count only. If the encoder failed, replace the encoder. If you cannot observe the encoder signals, try a different encoder. 3. There is a hardware failure in the controller- connect the same encoder to a different axis. If ...

  • Page 26

    14 • chapter 2 getting started dmc-1500 tl 1 note: once the correct polarity of the feedback loop has been determined, the torque limit should, in general, be increased to the default value of 9.99. The servo will not operate properly if the torque limit is below the normal operating range. See desc...

  • Page 27

    Dmc-1500 chapter 2 getting started • 15 w e ncoder z e n coder y e n coder x e n coder pin 1 pin 2 screw terminals + (typically red connector) red wire black wire + - cps power supply encoder ribbon cable icm-1100 j2 j3 j5 j4 galil dc servo motor - (typically black connector) encoder figure 2-2 - sy...

  • Page 28

    16 • chapter 2 getting started dmc-1500 w encoder z encoder y encoder x encoder pin 1 pin 2 screw terminals dc servo motor - (typically black connector) + (typically red connector) red wire black wire + - cps power supply gnd acmdx encoder wires gnd (104) xi- (82) xb+ (79) xa+ (77) xa- (78) xb- (80)...

  • Page 29

    Dmc-1500 chapter 2 getting started • 17 to connect step motors with the dmc-1500 you must follow this procedure: step a. Install sm jumpers each axis of the dmc-1500 that will operate a stepper motor must have the corresponding stepper motor jumper installed. For a discussion of sm jumpers, see step...

  • Page 30: Design Examples

    18 • chapter 2 getting started dmc-1500 for a more detailed description of the operation of the pid filter and/or servo system theory, see chapter 10 - theory of operation. Design examples here are a few examples for tuning and using your controller. These examples have remarks next to each command ...

  • Page 31

    Dmc-1500 chapter 2 getting started • 19 example 3 - multiple axes objective: move the four axes independently. Instruction interpretation pr 500,1000,600,-400 distances of x,y,z,w sp 10000,12000,20000,10000 slew speeds of x,y,z,w ac 100000,10000,100000,100000 accelerations of x,y,z,w dc 80000,40000,...

  • Page 32

    20 • chapter 2 getting started dmc-1500 te x tell error - x axis only te y tell error - y axis only te z tell error - z axis only te w tell error - w axis only example 6 - absolute position objective: command motion by specifying the absolute position. Instruction interpretation dp 0,2000 define the...

  • Page 33

    Dmc-1500 chapter 2 getting started • 21 increase the torque level gradually by instructions such as instruction interpretation tl 1.0 increase torque limit to 1 volt. Tl 9.98 increase torque limit to maximum, 9.98 volts. The maximum level of 10 volts provides the full output torque. Example 9 - inte...

  • Page 34

    22 • chapter 2 getting started dmc-1500 example 12 - motion programs with loops motion programs may include conditional jumps as shown below. Instruction interpretation #a label dp 0 define current position as zero v1=1000 set initial value of v1 #loop label for loop pa v1 move x motor v1 counts bg ...

  • Page 35

    Dmc-1500 chapter 2 getting started • 23 sp 2000 set speed bgx move x amx wait until move is complete wt 500 wait 500 ms #b v1 = _tpx determine distance to zero pr -v1/2 command x move 1/2 the distance bgx start x motion amx after x moved wt 500 wait 500 ms v1= report the value of v1 jp #c, v1=0 exit...

  • Page 36

    24 • chapter 2 getting started dmc-1500 cr 2000,90,-180 circular segment vs 1000 vector speed va 50000 vector acceleration vd 50000 vector deceleration ve end vector sequence bgs start motion x y r=2000 (0,0) local zero (-4000,0) (-4000,4000) (0,4000) figure 2-4 motion path for example 16.

  • Page 37: Overview

    Dmc-1500 chapter 3 connecting hardware • 25 chapter 3 connecting hardware overview the dmc-1500 provides optoisolated digital inputs for forward limit, reverse limit, home, and abort signals. The controller also has 8 optoisolated, uncommitted inputs (for general use) as well as 8 ttl outputs and 7 ...

  • Page 38

    26 • chapter 3 connecting hardware dmc-1500 home switch input the home inputs are designed to provide mechanical reference points for a motion control application. A transition in the state of a home input alerts the controller that a particular reference point has been reached by a moving part in t...

  • Page 39

    Dmc-1500 chapter 3 connecting hardware • 27 all motion programs that are currently running are terminated when a transition in the abort input is detected. For information on setting the off-on-error function, see the command reference, oe. Note: the error led does not light up when the abort input ...

  • Page 40

    28 • chapter 3 connecting hardware dmc-1500 in9-in16 incom fle,rle,homee flf,rlf,homef flg,rlg,homeg flh,rlh,homeh lscom a logic zero is generated when at least 1ma of current flows from the common signal to the input. A positive voltage (with respect to the input) must be supplied at the common. Th...

  • Page 41

    Dmc-1500 chapter 3 connecting hardware • 29 1 ma Ω ) f (for voltages > +28v) isolated supply fls 2.2k lscom figure 3-2. Connecting a single limit or home switch to an isolated supply note: as stated in chapter 2, the wiring is simplified when using the icm-1100 or amp-11x0 interface board. This boar...

  • Page 42: Amplifier Interface

    30 • chapter 3 connecting hardware dmc-1500 fls lscom gnd 5v figure 3-3 - connecting limit switches to the internal 5v supply changing optoisolated inputs from active low to active high some users may prefer that the optoisolated inputs be active high. For example, the user may wish to have the inpu...

  • Page 43: Ttl Inputs

    Dmc-1500 chapter 3 connecting hardware • 31 to change the voltage level of the aen signal, note the state of the resistor pack on the icm-1100. When pin 1 is on the 5v mark, the output voltage is 0-5v. To change to 12 volts, pull the resistor pack and rotate it so that pin 1 is on the 12 volt side. ...

  • Page 44: Ttl Outputs

    32 • chapter 3 connecting hardware dmc-1500 ttl outputs the dmc-1500 provides eight general use outputs and an error signal output. The general use outputs are ttl and are accessible by connections to out1 thru out8. These outputs can be turned on and off with the commands, sb (set bit), cb (clear b...

  • Page 45: Chapter 4  Communication

    Dmc-1500 chapter 4 communication • 33 chapter 4 communication introduction the dmc-1500 has two rs232 ports. The main port is the data set and the auxiliary port is the data term. The main port can be configured through the switches on the front panel, and the auxiliary port can be configured with t...

  • Page 46: Configuration

    34 • chapter 4 communication dmc-1500 3 receive data - input 8 receive+ input 4 rts - input 9 rts+ input 5 ground *rs422 - auxiliary port {p2} 1 cts - input 6 cts+ input 2 receive data - input 7 receive+ input 3 transmit data - output 8 transmit+ output 4 rts - output 9 rts+ output 5 ground *default...

  • Page 47

    Dmc-1500 chapter 4 communication • 35 p - echo - 0=off; 1=on; valid only if r=0 note, for the handshake of the auxiliary port, the roles for the rts and cts lines are reversed. Example: cc 1200,0,0,1 configure auxiliary communication port for 1200 baud, no handshake, general port mode and echo turne...

  • Page 48: Controller Response to Data

    36 • chapter 4 communication dmc-1500 z axis is 2500 counts command interpretation %0 talk only to controller 0 (dmc-1540) pr 500,1000,2000,1500 specify x,y,z,w distances %1 talk only to controller board 1 (dmc-1530) pr 700,1500,2500 specify x,y,z distances !Bg begin motion on both controllers synch...

  • Page 49: Chapter 5  Command Basics

    Dmc-1500 chapter 5 command basics • 37 chapter 5 command basics introduction the dmc-1500 provides over 100 commands for specifying motion and machine parameters. Commands are included to initiate action, interrogate status and configure the digital filter. The dmc-1500 instruction set is basic-like...

  • Page 50: Controller Response to Data

    38 • chapter 5 command basics dmc-1500 prx=1000 specify a position relative movement for the x axis of 1000 acy=200000 specify acceleration for the y axis as 200000 instead of data, some commands request action to occur on an axis or group of axes. For example, st xy stops motion on both the x and y...

  • Page 51: Interrogating The Controller

    Dmc-1500 chapter 5 command basics • 39 ?Tc1 tell code command 1 unrecognized command returned response there are many reasons for receiving an invalid command response. The most common reasons are: unrecognized command (such as typographical entry or lower case), command given at improper time (such...

  • Page 52

    40 • chapter 5 command basics dmc-1500 additional interrogation methods. Most commands can be interrogated by using a question mark. For information specific to a particular axis, type the command followed by a ? For each axis requested. Pr ?,?,?,? Request x,y,z,w values pr ,? Request y value only t...

  • Page 53: Overview

    Dmc-1500 chapter 6 programming motion • 41 chapter 6 programming motion overview the dmc-1500 can be commanded to do the following modes of motion: absolute and relative independent positioning, jogging, linear interpolation (up to 8 axes), linear and circular interpolation (2 axes with 3 rd axis of...

  • Page 54

    42 • chapter 6 programming motion dmc-1500 command summary - independent axis command description pr x,y,z,w specifies relative distance pa x,y,z,w specifies absolute position sp x,y,z,w specifies slew speed ac x,y,z,w specifies acceleration rate dc x,y,z,w specifies deceleration rate bg xyzw starts...

  • Page 55

    Dmc-1500 chapter 6 programming motion • 43 example - multiple move sequence required motion profiles: x-axis 500 counts position 10000 count/sec speed 500000 counts/sec2 acceleration y-axis 1000 counts position 15000 count/sec speed 500000 counts/sec2 acceleration z-axis 100 counts position 5000 cou...

  • Page 56: Independent Jogging

    44 • chapter 6 programming motion dmc-1500 notes on fig 6.1: the x and y axis have a ‘trapezoidal’ velocity profile, while the z axis has a ‘triangular’ velocity profile. The x and y axes accelerate to the specified speed, move at this constant speed, and then decelerate such that the final position...

  • Page 57: Linear Interpolation Mode

    Dmc-1500 chapter 6 programming motion • 45 example - jog in x only jog x motor at 50000count/s. After x motor is at its jog speed, begin jogging z in reverse direction at 25000 count/s. #a ac 20000,,20000 specify x,z acceleration of 20000 cts/sec dc 20000,,20000 specify x,z deceleration of 20000 cts...

  • Page 58

    46 • chapter 6 programming motion dmc-1500 the linear end (le) command must be used to specify the end of a linear move sequence. This command tells the controller to decelerate to a stop following the last li command. If an le command is not given, an abort ab1 must be used to abort the motion sequ...

  • Page 59

    Dmc-1500 chapter 6 programming motion • 47 av 4000 set trippoint to wait until vector distance of 4000 is reached vs 1000 change vector speed av 5000 set trippoint to wait until vector distance of 5000 is reached vs 4000 change vector speed en program end specifying vector speed for each segment the...

  • Page 60

    48 • chapter 6 programming motion dmc-1500 le linear end- required at end of li command sequence le? Returns the length of the vector (resets after 2147483647) ams trippoint for after sequence complete av n trippoint for after relative vector distance, n vt s curve smoothing constant for vector move...

  • Page 61

    Dmc-1500 chapter 6 programming motion • 49 the resulting profile is shown in figure 6.2. Position z 0 0 40000 feedrate 0 0.1 0.5 0.6 4000 36000 30000 27000 3000 velocity z-axis velocity w-axis position w time (sec) time (sec) time (sec) figure 6.2 - linear interpolation example - multiple moves this...

  • Page 62

    50 • chapter 6 programming motion dmc-1500 #load load program dm vx [750],vy [750] define array count=10 initialize counter n=10 initialize position increment #loop loop vx [count]=n fill array vx vy [count]=n fill array vy n=n+10 increment position count=count+1 increment counter jp #loop,count loo...

  • Page 63

    Dmc-1500 chapter 6 programming motion • 51 the command, vp xy specifies the coordinates of the end points of the vector movement with respect to the starting point. Non-sequential axes do not require comma delineation. The command, cr r,q,d define a circular arc with a radius r, starting angle of q,...

  • Page 64

    52 • chapter 6 programming motion dmc-1500 both cases assign a vector speed of n count/s to the corresponding motion segment. Changing feedrate: the command vr n allows the feedrate, vs, to be scaled between 0 and 10 with a resolution of .0001. This command takes effect immediately and causes vs sca...

  • Page 65

    Dmc-1500 chapter 6 programming motion • 53 am xyz when the move is complete sb0 engage knife wt50 wait 50 msec for the knife to engage bgs do the circular cut ams after the coordinated move is complete cb0 disengage knife mg "all done" en end program command summary - vector mode motion command desc...

  • Page 66: Electronic Gearing

    54 • chapter 6 programming motion dmc-1500 example: traverse the path shown in fig. 6.3. Feedrate is 20000 counts/sec. Plane of motion is xy instruction interpretation vm xy specify motion plane vs 20000 specify vector speed va 1000000 specify vector acceleration vd 1000000 specify vector decelerati...

  • Page 67

    Dmc-1500 chapter 6 programming motion • 55 the command gax or gay or gaz or gaw (or gaa or gab or gac or gad or gae or gaf or gag or gah for dmc-1580) specifies the master axis. There may only be one master. Gr x,y,z,w specifies the gear ratios for the slaves where the ratio may be a number between ...

  • Page 68

    56 • chapter 6 programming motion dmc-1500 example - simple master slave master axis moves 10000 counts at slew speed of 100000 counts/sec. Y is defined as the master. X,z,w are geared to master at ratios of 5,-.5 and 10 respectively. Instruction interpretation gay specify master axes as y gr 5,,-.5...

  • Page 69: Electronic Cam

    Dmc-1500 chapter 6 programming motion • 57 gax define master axis as x gr,2 set gear ratio 2:1 for y pr,300 specify correction distance sp,5000 specify correction speed ac,100000 specify correction acceleration dc,100000 specify correction deceleration bgy start correction electronic cam the electro...

  • Page 70

    58 • chapter 6 programming motion dmc-1500 em 6000,1500 step 3. Specify the master interval and starting point. Next we need to construct the ecam table. The table is specified at uniform intervals of master positions. Up to 256 intervals are allowed. The size of the master interval and the starting...

  • Page 71

    Dmc-1500 chapter 6 programming motion • 59 where n=1 enables ecam mode and n=0 disables ecam mode. Step 6. Engage the slave motion to engage the slave motion, use the instruction eg x,y,z,w where x,y,z,w are the master positions at which the corresponding slaves must be engaged. If the value of any ...

  • Page 72

    60 • chapter 6 programming motion dmc-1500 the equation: y = 0.5 * x + 100 sin (0.18*x) where x is the master, with a cycle of 2000 counts. The cam table can be constructed manually, point by point, or automatically by a program. The following program includes the set-up. The instruction eax defines...

  • Page 73

    Dmc-1500 chapter 6 programming motion • 61 command summary - ecam mode command description ea abcdefg or h specify ecam master axis eb n (n = 0 or 1) enable ecam eg a,b,c,d,e,f,g,h ecam go - specifies position for engaging ecam em a,b,c,d,e,f,g,h specify cam cycle ep m,n specifies cam table interval...

  • Page 74

    62 • chapter 6 programming motion dmc-1500 eq2000,2000 disengage x and y when master = 2000 mf,, 2000 wait until the master goes to 2000 st z stop the z axis motion eb 0 exit the ecam mode en end of the program the above example shows how the ecam program is structured and how the commands can be gi...

  • Page 75: Contour Mode

    Dmc-1500 chapter 6 programming motion • 63 contour mode the dmc-1500 also provides a contouring mode. This mode allows any arbitrary position curve to be prescribed for 1 to 8 axes. This is ideal for following computer generated paths such as parabolic, spherical or user-defined profiles. The path i...

  • Page 76

    64 • chapter 6 programming motion dmc-1500 figure 6.4 - the required trajectory additional commands the command, wc, is used as a trippoint "when complete". This allows the dmc-1500 to use the next increment only when it is finished with the previous one. Zero parameters for dt followed by zero para...

  • Page 77

    Dmc-1500 chapter 6 programming motion • 65 general velocity profiles the contour mode is ideal for generating any arbitrary velocity profiles. The velocity profile can be specified as a mathematical function or as a collection of points. The design includes two parts: generating an array with data p...

  • Page 78

    66 • chapter 6 programming motion dmc-1500 the difference between the positions is computed and is stored in the array dif. Finally the motors are run in the contour mode. Contour mode example instruction interpretation #points program defines x points dm pos[16] allocate memory dm dif[15] c=0 set i...

  • Page 79: Stepper Motor Operation

    Dmc-1500 chapter 6 programming motion • 67 dm c[n] dimension array ra c[] specify array for automatic record (up to 8 arrays) rd _tpx specify data for capturing (such as _tpx or _tpz) rc n,m specify capture time interval where n is 2n msec, m is number of records to be captured rc? Or _rc returns a ...

  • Page 80

    68 • chapter 6 programming motion dmc-1500 specifying stepper motor operation in order to command stepper motor operation, the appropriate stepper mode jumpers must be installed. See chapter 2 for this installation. Stepper motor operation is specified by the command mt. The argument for mt is as fo...

  • Page 81

    Dmc-1500 chapter 6 programming motion • 69 of the buffer. The command, dp sets the value of the step count register as well as the value of the reference position. For example, dp 0, defines the reference position of the x axis to be zero. Motion complete trippoint when used in stepper mode, the mc ...

  • Page 82

    70 • chapter 6 programming motion dmc-1500 _tp contains the value of the main encoder dual loop (auxiliary encoder) the dmc-1500 provides an interface for a second encoder for each axis except for axes configured for stepper motor operation. When used, the second encoder is typically mounted on the ...

  • Page 83

    Dmc-1500 chapter 6 programming motion • 71 continuous dual loop sampled dual loop to illustrate the problem, consider a situation in which the coupling between the motor and the load has a backlash. To compensate for the backlash, position encoders are mounted on both the motor and the load. The con...

  • Page 84: Motion Smoothing

    72 • chapter 6 programming motion dmc-1500 bgx start motion #correct correction loop amx wait for motion completion v1=10000-_dex find linear encoder error v2=-_tex/4+v1 compensate for motor error jp#end,@abs[v2] exit if error is small pr v2*4 correction move bgx start correction jp#correct repeat #...

  • Page 85

    Dmc-1500 chapter 6 programming motion • 73 the smoothing function is specified by the following commands: it x,y,z,w independent time constant vt n vector time constant the command, it, is used for smoothing independent moves of the type jg, pr, pa and the command, vt, is used to smooth vector moves...

  • Page 86: Homing

    74 • chapter 6 programming motion dmc-1500 figure 6.6 - trapezoidal velocity and smooth velocity profiles using the ks command (step motor smoothing): when operating with step motors, motion smoothing can be accomplished with the command, ks. The ks command smoothes the frequency of step motor pulse...

  • Page 87

    Dmc-1500 chapter 6 programming motion • 75 example 1 - using home command instruction interpretation #home label ac 1000000 acceleration rate dc 1000000 deceleration rate sp 5000 speed for home search hm x home x bg x begin motion am x after complete mg "at home" send message en end example 2 - usin...

  • Page 88

    76 • chapter 6 programming motion dmc-1500 figure 6.7 - motion intervals in the home sequence.

  • Page 89

    Dmc-1500 chapter 6 programming motion • 77 high speed position capture (the latch function) often it is desirable to capture the position precisely for registration applications. The dmc-1500 provides a position latch feature. This feature allows the position of x,y,z or w to be captured within 25 m...

  • Page 90

    78 • chapter 6 programming motion dmc-1500 this page left blank intentionally.

  • Page 91: Chapter 7  Application

    Dmc-1500 chapter 7 application programming • 79 chapter 7 application programming overview the dmc-1500 provides a powerful programming language that allows users to customize the controller for their particular application. Programs can be downloaded into the dmc-1500 memory freeing the host comput...

  • Page 92

    80 • chapter 7 application programming dmc-1500 line numbers appear as 000,001,002 and so on. Program commands are entered following the line numbers. Multiple commands may be given on a single line as long as the total number of characters doesn't exceed the limits given above. While in the edit mo...

  • Page 93: Program Format

    Dmc-1500 chapter 7 application programming • 81 program format a dmc-1500 program consists of dmc-1500 instructions combined to solve a machine control application. Action instructions, such as starting and stopping motion, are combined with program flow instructions to form the complete program. Pr...

  • Page 94

    82 • chapter 7 application programming dmc-1500 #auto label for auto program start #inint label for input interrupt subroutine #limswi label for limit switch subroutine #poserr label for excess position error subroutine #mctime label for timeout on motion complete trip point #cmderr label for incorr...

  • Page 95

    Dmc-1500 chapter 7 application programming • 83 #path rem 2-d circular path vmxy rem vector motion on x and y vs 10000 rem vector speed is 10000 vp -4000,0 rem bottom line cr 1500,270,-180 rem half circle motion vp 0,3000 rem top line cr 1500,90,-180 rem half circle motion ve rem end vector sequence...

  • Page 96: Debugging Programs

    84 • chapter 7 application programming dmc-1500 multitasking example: producing waveform on output 1 independent of a move. Instruction interpretation #task1 task1 label at0 initialize reference time cb1 clear output 1 #loop1 loop1 label at 10 wait 10 msec from reference time sb1 set output 1 at -40...

  • Page 97

    Dmc-1500 chapter 7 application programming • 85 error code command when there is a program error, the dmc-1500 halts the program execution at the point where the error occurs. To display the last line number of program execution, issue the command, mg _ed. The user can obtain information about the t...

  • Page 98: Debugging Programs

    86 • chapter 7 application programming dmc-1500 :ed edit mode 000 #a program label 001 pr1000 position relative 1000 002 bgx begin 003 pr5000 position relative 5000 004 en end q quit edit mode :xq #a execute #a ?003 pr5000 error on line 3 :tc1 tell error code ?7 command not valid while running. Comm...

  • Page 99: Program Flow Commands

    Dmc-1500 chapter 7 application programming • 87 the operand _dm returns the number of available array elements. Debugging example: the following program has an error. It attempts to specify a relative movement while the x-axis is already in motion. When the program is executed, the controller stops ...

  • Page 100

    88 • chapter 7 application programming dmc-1500 dmc-1500 event triggers command function am x y z w or s (a b c d e f g h) halts program execution until motion is complete on the specified axes or motion sequence(s). Am with no parameter tests for motion complete on all axes. This command is useful ...

  • Page 101

    Dmc-1500 chapter 7 application programming • 89 instruction interpretation #twomove label pr 2000 position command bgx begin motion amx wait for motion complete pr 4000 next position move bgx begin 2nd move en end program event trigger - set output after distance set output bit 1 after a distance of...

  • Page 102

    90 • chapter 7 application programming dmc-1500 instruction interpretation #input program label ai-1 wait for input 1 low pr 10000 position command bgx begin motion en end program event trigger - set output when at speed instruction interpretation #atspeed program label jg 50000 specify jog speed ac...

  • Page 103

    Dmc-1500 chapter 7 application programming • 91 event trigger - multiple move with wait this example makes multiple relative distance moves by waiting for each to be complete before executing new moves. Instruction interpretation #moves label pr 12000 distance sp 20000 speed ac 100000 acceleration b...

  • Page 104

    92 • chapter 7 application programming dmc-1500 using the jp command: the jp command will cause the controller to execute commands at the location specified by the label or line number if the condition of the jump statement is satisfied. If no condition is specified, program execution will automatic...

  • Page 105

    Dmc-1500 chapter 7 application programming • 93 in this example, this statement will cause the program to jump to the label #test if v1 is less than v2 and v3 is less than v4. To illustrate this further, consider this same example with an additional condition: jp #test, ((v1 this statement will caus...

  • Page 106

    94 • chapter 7 application programming dmc-1500 logical operators: operator description than > greater than = equal to less than or equal to >= greater than or equal to not equal subroutines a subroutine is a group of instructions beginning with a label and ending with an end command (en). Subroutin...

  • Page 107

    Dmc-1500 chapter 7 application programming • 95 auto-start routine the dmc-1500 has a special label for automatic program execution. A program which has been saved into the controllers non-volatile memory can be automatically executed upon power up or reset by beginning the program with the label #a...

  • Page 108

    96 • chapter 7 application programming dmc-1500 note: the #limswi will continue to be executed until the limit switch is cleared (goes high). Example - position error instruction interpretation #loop dummy program jp #loop;en loop #poserr position error routine v1=_tex read position error mg "excess...

  • Page 109

    Dmc-1500 chapter 7 application programming • 97 this simple program will issue the message “x fell short” if the x axis does not reach the commanded position within 1 second of the end of the profiled move. Example - bad command instruction interpretation #begin begin main program in "enter speed", ...

  • Page 110

    98 • chapter 7 application programming dmc-1500 jp #loop continually loop to make back and forth motion en end main program #comint interrupt routine ci0 clear interrupt jp #stop,p2ch="0" check for s (stop motion) jp #pause,p2ch="1" check for p (pause motion) jp #resume,p2ch="2" check for r (resume ...

  • Page 112: Variables

    100 • chapter 7 application programming dmc-1500 to illustrate further, if the user types in the string “testme” at the input prompt, the controller will respond with the following: t response from command mg len6 {s1} e response from command mg len5 {s1} s response from command mg len4 {s1} t respo...

  • Page 113

    Dmc-1500 chapter 7 application programming • 101 examples - valid variable names posx pos1 speedz examples - invalid variable names variable problem reallongname cannot have more than 8 characters 124 cannot begin variable name with a number speed z cannot have spaces in the name assigning values to...

  • Page 114: Operands

    102 • chapter 7 application programming dmc-1500 example - using variables for joystick the example below reads the voltage of an x-y joystick and assigns it to variables vx and vy to drive the motors at proportional velocities, where 10 volts = 3000 rpm = 200000 c/sec speed/analog input = 200000/10...

  • Page 115: Arrays

    Dmc-1500 chapter 7 application programming • 103 special operands (keywords) the dmc-1500 provides a few operands which give access to internal variables that are not accessible by standard dmc-1500 commands. Keyword function _bgn *is equal to a 1 if motion on axis ‘n’ is complete, otherwise equal t...

  • Page 116

    104 • chapter 7 application programming dmc-1500 example - using the command, dm instruction interpretation dm posx[7] defines an array names posx with seven entries dm speed[100] defines an array named speed with 100 entries dm posx[0] frees array space assignment of array entries like variables, e...

  • Page 117

    Dmc-1500 chapter 7 application programming • 105 uploading and downloading arrays to on board memory arrays may be uploaded and downloaded using the qu and qd commands. Qu array[],start,end,delim qd array[],start,end where array is an array name such as a[]. Start is the first element of array (defa...

  • Page 118

    106 • chapter 7 application programming dmc-1500 _tsx switches (only bit 0-4 valid) _scx stop code _nox status bits _ttx torque (reports digital value +/-8097) note: x may be replaced by y,z or w for capturing data on other axes, or a,b,c,d,e,f,g,h for dmc-1580. Operand summary - automatic data capt...

  • Page 119

    Dmc-1500 chapter 7 application programming • 107 input of data (numeric and string) input of data the command, in, is used to prompt the user to input numeric or string data. Using the in command, the user may specify a message prompt by placing a message in quotations. When the controller executes ...

  • Page 120

    108 • chapter 7 application programming dmc-1500 operator data entry mode the operator data entry mode permits data to be entered at anytime. In this mode, the input will not be interpreted as dmc commands and input such as st or jg will not be recognized as commands. In this mode, the dmc-1500 prov...

  • Page 121

    Dmc-1500 chapter 7 application programming • 109 n=0 don't interrupt port 2 1 interrupt on port 2 2 interrupt on any character port 2 -1 clear any characters in buffer o=0 disable operator data mode for p1 1 enable operator data mode for p1 the #comint label is used for the communication interrupt. ...

  • Page 122

    110 • chapter 7 application programming dmc-1500 zs1;ci2;jp#print jump to print #b;js#num speedy=val new y speed zs1;ci2;jp#print jump to print #c;st;amx;ci-1 stop motion on s mg{^8}, "the end" zs;en,1 end-re-enable interrupt #num routine for entering new jog speed mg "enter",pich{s},"axis speed" {n...

  • Page 123

    Dmc-1500 chapter 7 application programming • 111 in addition to variables, functions and commands, responses can be used in the message command. For example: mg "analog input is", @an[1] mg "the gain of x is", _gnx specifying the serial port for messages: by default, messages will be sent through po...

  • Page 124

    112 • chapter 7 application programming dmc-1500 using the mg command to configure terminals the mg command can be used to configure a terminal. Any ascii character can be sent by using the format {^n} where n is any integer between 1 and 255. Example: mg {^07} {^255} sends the ascii characters repr...

  • Page 125

    Dmc-1500 chapter 7 application programming • 113 using the pf command to format response from interrogation commands the command, pf, can change format of the values returned by theses interrogation commands: bl ? Le ? De ? Pa ? Dp ? Pr ? Em ? Tn ? Fl ? Ve ? Ip ? Te tp the numeric values may be form...

  • Page 126

    114 • chapter 7 application programming dmc-1500 tp tell position interrogation command -9, 5, 0, 7 response from interrogation command (without leading zeros) local formatting of response of interrogation commands the response of interrogation commands may be formatted locally. To format locally, u...

  • Page 127: Programmable Hardware I/o

    Dmc-1500 chapter 7 application programming • 115 instruction interpretation v1=10 assign v1 v1= return v1 0000000010.0000 response from controller with default format v1={f4.2} specify local format 0010.00 response from controller with new format v1={$4.2} specify hex format $000a.00 response from c...

  • Page 128

    116 • chapter 7 application programming dmc-1500 example - using set bit and clear bit commands (sb, cb) instruction interpretation sb6 sets bit 6 of output port cb4 clears bit 4 of output port cb9 clear bit 9 of output port on dmc-1580 the output bit (ob) instruction is useful for setting or cleari...

  • Page 129

    Dmc-1500 chapter 7 application programming • 117 example - using inputs to control program flow: instruction interpretation jp #a,@in[1]=0 jump to a if input 1 is low jp #b,@in[2]=1 jump to b if input 2 is high ai 7 wait until input 7 is high ai -6 wait until input 6 is low example - start motion on...

  • Page 130

    118 • chapter 7 application programming dmc-1500 mg "interrupt occurred" display message st xy stops motion on x and y axes #loop jp #loop,@in[1]=0 loop until interrupt cleared jg 15000,10000 specify new speeds wt 300 wait 300 milliseconds bg xy begin motion on x and y axes ri return from interrupt ...

  • Page 131: Example Applications

    Dmc-1500 chapter 7 application programming • 119 ve=vp-_tpx find position error vel=ve*20 compute velocity jg vel change velocity jp #loop change velocity en end example applications wire cutter an operator activates a start switch. This causes a motor to advance the wire a distance of 10". When the...

  • Page 132

    120 • chapter 7 application programming dmc-1500 figure 7.1 - motor velocity and the associated input/output signals x-y table controller an x-y-z system must cut the pattern shown in fig. 7.2. The x-y table moves the plate while the z- axis raises and lowers the cutting tool. The solid curves in fi...

  • Page 133

    Dmc-1500 chapter 7 application programming • 121 further assume that the z must move 2" at a linear speed of 2" per second. The required motion is performed by the following instructions: instruction interpretation #a label vm xy circular interpolation for xy vp 160000,160000 positions ve end vector...

  • Page 134

    122 • chapter 7 application programming dmc-1500 figure 7.2 - motor velocity and the associated input/output signals speed control by joystick the speed of a motor is controlled by a joystick. The joystick produces a signal in the range between - 10v and +10v. The objective is to drive the motor at ...

  • Page 135

    Dmc-1500 chapter 7 application programming • 123 vel=vin*20000 set variable, vel to multiple of variable of vin jg vel update jog speed to value of variable vel jp #b loop back to label, #b en end position control by joystick this system requires the position of the motor to be proportional to the j...

  • Page 136

    124 • chapter 7 application programming dmc-1500 the dual-loop approach requires the resolution of the rotary sensor to be equal or better than that of the linear system. Assuming that the pitch of the lead screw is 2.5mm (approximately 10 turns per inch), a rotary encoder of 2500 lines per turn or ...

  • Page 137

    Dmc-1500 chapter 7 application programming • 125 this page left blank intentionally.

  • Page 138: Protection

    126 • chapter 8 hardware & software protection dmc-1500 chapter 8 hardware & software protection introduction the dmc-1500 provides several hardware and software features to check for error conditions and to inhibit the motor on error. These features help protect the various system components from d...

  • Page 139: Software Protection

    Dmc-1500 chapter 8 hardware & software protection • 127 reverse limit switch - low input inhibits motion in reverse direction. If the motor is moving in the reverse direction when the limit switch is activated, the motion will decelerate and stop. In addition, if the motor is moving in the reverse d...

  • Page 140

    128 • chapter 8 hardware & software protection dmc-1500 the abort command is given the abort input is activated with a low signal. Note: if the motors are disabled while they are moving, they may ‘coast’ to a stop because they are no longer under servo control. To re-enable the system, use the reset...

  • Page 141

    Dmc-1500 chapter 8 hardware & software protection • 129 v2=_lrx check if reverse limit jp#lf,v1=0 jump to #lf if forward jp#lr,v2=0 jump to #lr if reverse jp#end jump to end #lf #lf mg "forward limit" send message stx;amx stop motion pr-1000;bgx;amx move in reverse jp#end end #lr #lr mg "reverse lim...

  • Page 142: Chapter 9  Troubleshooting

    130 • chapter 9 troubleshooting dmc-1500 chapter 9 troubleshooting overview the following discussion may help you get your system to work. Potential problems have been divided into groups as follows: 1. Installation 2. Communication 3. Stability and compensation 4. Operation the various symptoms alo...

  • Page 143: Communication

    Dmc-1500 chapter 9 troubleshooting • 131 communication symptom cause remedy using comdisk and talk2dmc, cannot communicate with controller. Baud rate not correctly configured check baud rate switch positions and registry settings for software setup. Hardware handshaking is not enabled (must be enabl...

  • Page 144: Overview

    132 • chapter 10 theory of operation dmc-1500 chapter 10 theory of operation overview the following discussion covers the operation of motion control systems. A typical servo control system consists of the elements shown in fig 10.1. Computer controller driver motor encoder figure 10.1 - elements of...

  • Page 145

    Dmc-1500 chapter 10 theory of operation • 133 motion programming motion profiling closed-loop control level 3 2 1 figure 10.2 - levels of control functions the three levels of control may be viewed as different levels of management. The top manager, the motion program, may specify the following inst...

  • Page 146

    134 • chapter 10 theory of operation dmc-1500 y position x position y velocity x velocity time figure 10.3 - velocity and position profiles operation of closed-loop systems to understand the operation of a servo system, we may compare it to a familiar closed-loop operation, adjusting the water tempe...

  • Page 147: System Modeling

    Dmc-1500 chapter 10 theory of operation • 135 the analogy between adjusting the water temperature and closing the position loop carries further. We have all learned the hard way, that the hot water faucet should be turned at the "right" rate. If you turn it too slowly, the temperature response will ...

  • Page 148

    136 • chapter 10 theory of operation dmc-1500 digital filter Σ zoh dac encoder amp motor controller r c x y v e p figure 10.4 - functional elements of a servo control system motor-amplifier the motor amplifier may be configured in three modes: 1. Voltage drive 2. Current drive 3. Velocity loop the o...

  • Page 149

    Dmc-1500 chapter 10 theory of operation • 137 then the corresponding time constants are tm = 0.04 sec and te = 0.002 sec assuming that the amplifier gain is kv = 4, the resulting transfer function is p/v = 40/[s(0.04s+1)(0.002s+1)] current drive the current drive generates a current i, which is prop...

  • Page 150

    138 • chapter 10 theory of operation dmc-1500 figure 10.6 - mathematical model of the motor and amplifier in three operational modes encoder the encoder generates n pulses per revolution. It outputs two signals, channel a and b, which are in quadrature. Due to the quadrature relationship between the...

  • Page 151

    Dmc-1500 chapter 10 theory of operation • 139 dac the dac or d-to-a converter converts a 16-bit number to an analog voltage. The input range of the numbers is 65536 and the output voltage range is +/-10v or 20v. Therefore, the effective gain of the dac is k= 20/65536 = 0.0003 [v/count] digital filte...

  • Page 152: System Analysis

    140 • chapter 10 theory of operation dmc-1500 system analysis to analyze the system, we start with a block diagram model of the system elements. The analysis procedure is illustrated in terms of the following example. Consider a position control system with the dmc-1500 controller and the following ...

  • Page 153

    Dmc-1500 chapter 10 theory of operation • 141 figure 10.7 - mathematical model of the control system the open loop transfer function, a(s), is the product of all the elements in the loop. A = 390,000 (s+51)/[s2(s+2000)] to analyze the system stability, determine the crossover frequency, ω c at which...

  • Page 154

    142 • chapter 10 theory of operation dmc-1500 α = arg[a(j200)] = tan-1(200/51)-180 ° -tan-1(200/2000) α = 76 ° - 180 ° - 6 ° = -110 ° finally, the phase margin, pm, equals pm = 180 ° + α = 70 ° as long as pm is positive, the system is stable. However, for a well damped system, pm should be between 3...

  • Page 155

    Dmc-1500 chapter 10 theory of operation • 143 g(s) = p + sd the next step is to combine all the system elements, with the exception of g(s), into one function, l(s). L(s) = m(s) ka kd kf h(s) = 0.3175*107/[s2(s+2000)] then the open loop transfer function, a(s), is a(s) = l(s) g(s) now, determine the...

  • Page 156

    144 • chapter 10 theory of operation dmc-1500 d(z) = 4 • kp + 4 • kd(1-z-1) where kp = p/4 and kd = d/ (4 • t) assuming a sampling period of t=1ms, the parameters of the digital filter are: kp = 20.6 kd = 68.6 the dmc-1500 can be programmed with the instruction: kp 20.6 kd 68.6 in a similar manner, ...

  • Page 157

    Dmc-1500 chapter 10 theory of operation • 145 this page left blank intentionally.

  • Page 158: Appendices

    146 • appendices dmc-1500 appendices electrical specifications servo control acmd amplifier command: +/-10 volts analog signal. Resolution 16-bit dac or .0003 volts. 3 ma maximum a+,a-,b+,b-,idx+,idx- encoder and auxiliary ttl compatible, but can accept up to +/-12 volts. Quadrature phase on cha,chb...

  • Page 159: Performance Specifications

    Dmc-1500 appendices • 147 power +5v 750 ma +12v 40 ma -12v 40ma performance specifications minimum servo loop update time: dmc-1510 -- 250 μ sec dmc-1520 -- 375 μ sec dmc-1530 -- 500 μ sec dmc-1540 – 500 μ sec dmc-1550 – 625 μ sec dmc-1560 – 750 μ sec dmc-1570 – 875 μ sec dmc-1580 – 875 μ sec positi...

  • Page 160: Card Level Layout

    148 • appendices dmc-1500 card level layout.

  • Page 161

    Dmc-1500 appendices • 149 connectors for dmc-1500 main board j2 - main (60 pin idc) 1 ground 2 5 volts 3 error 4 reset 5 limit common (lscom) 6 forward limit - x 7 reverse limit - x 8 home - x 9 forward limit - y 10 reverse limit - y 11 home - y 12 forward limit - z 13 reverse limit - z 14 home - z ...

  • Page 162

    150 • appendices dmc-1500 j5 - general i/o (26 pin idc) 1 analog 1 2 analog 2 3 analog 3 4 analog 4 5 analog 5 6 analog 6 7 analog 7 8 ground 9 5 volts 10 output 1 11 output 2 12 output 3 13 output 4 14 output 5 15 output 6 16 output 7 17 output 8 18 input 8 19 input 7 20 input 6 21 input 5 22 input...

  • Page 163

    Dmc-1500 appendices • 151 j4 - driver (20 pin idc) 1 motor command x 2 amp enable x 3 pwm x/step x 4 sign x/dir x 5 nc 6 motor command y 7 amp enable y 8 pwm y/step y 9 sign y/dir y 10 nc 11 motor command z 12 amp enable z 13 pwm z/step z 14 sign z/dir z 15 5 volt 16 motor command w 17 amp enable w ...

  • Page 164

    152 • appendices dmc-1500 connectors for auxiliary board (axes e,f,g,h) jd2 - main (60 pin idc) 1 ground 2 5 volts 3 n.C. 4 n.C. 5 limit common 6 forward limit - e 7 reverse limit - e 8 home - e 9 forward limit - f 10 reverse limit - f 11 home f 12 forward limit - g 13 reverse limit - g 14 home - g ...

  • Page 165

    Dmc-1500 appendices • 153 jd5 - i/o (26 pin idc) 1 input 17 (ttl) 2 input 18 (ttl) 3 input 19 (ttl) 4 input 20 (ttl) 5 input 21 (ttl) 6 input 22 (ttl) 7 input 23 (ttl) 8 ground 9 5 volts 10 output 9 11 output 10 12 output 11 13 output 12 14 output 13 15 output 14 16 output 15 17 output 16 18 input 1...

  • Page 166

    154 • appendices dmc-1500 jd4 - 20 pin idc - amplifiers 1 motor command e 2 amp enable e 3 pwm e/step e 4 sign e/dir e 5 nc 6 motor command f 7 amp enable f 8 pwm f/step f 9 sign f/dir f 10 nc 11 motor command g 12 amp enable g 13 pwm g/step g 14 sign g/dir g 15 5 volt 16 motor command h 17 amp enab...

  • Page 167

    Dmc-1500 appendices • 155 14 nc 15 nc 16 nc 17 nc 18 +receive current loop data 19 nc 20 data terminal ready 21 nc 22 ring indicator 23 nc 24 nc 25 -receive current loop return 9 pin serial connector table describes the pinout for standard serial ports found on most computers. Pin number function 1 ...

  • Page 168

    156 • appendices dmc-1500 computer 9 pin to dmc-1500 main port cable (9 pin) 9 pin (female - computer) 9 pin (female - controller) 1 (carrier detect) 1 2 (receive data) 2 3 (transmit data) 3 4 (data terminal ready) 4 5 (signal ground) 5 controller ground 9 computer 25 pin to dmc-1500 auxiliary port ...

  • Page 169

    Dmc-1500 appendices • 157 pin-out description for dmc-1500 outputs analog motor command +/- 10 volt range signal for driving amplifier. In servo mode, motor command output is updated at the controller sample rate. In the motor off mode, this output is held at the of command level. Amp enable signal ...

  • Page 170

    158 • appendices dmc-1500 inputs encoder, a+, b+ position feedback from incremental encoder with two channels in quadrature, cha and chb. The encoder may be analog or ttl. Any resolution encoder may be used as long as the maximum frequency does not exceed 8,000,000 quadrature states/sec. The control...

  • Page 171

    Dmc-1500 appendices • 159 configuration description for dmc-1500 jumpers label function (if jumpered) smx for each axis, the sm jumper selects the sm smy magnitude mode for servo motors or selects stepper smz motors. If you are using a stepper motor for an axis, smw you must jumper sm for that axis....

  • Page 172: Dip Switch Settings

    160 • appendices dmc-1500 adjustment pots adjustment pots x offset used to null acmd offset for x axis y offset used to null acmd offset for y axis z offset used to null acmd offset for z axis w offset used to null acmd offset for w axis dip switch settings a2-a8 seven dip switches for address selec...

  • Page 173: Accessories and Options

    Dmc-1500 appendices • 161 accessories and options dmc-1510 single axis controller dmc-1520 two-axis controller dmc-1530 three-axis controller dmc-1540 four-axis controller dmc-1550 five-axis controller dmc-1560 six-axis controller dmc-1570 seven-axis controller dmc-1580 eight-axis controller -16 16 ...

  • Page 174: Icm-1100 Interconnect Module

    162 • appendices dmc-1500 icm-1100 interconnect module the icm-1100 interconnect module provides easy connections between the dmc-1500 series controllers and other system elements, such as amplifiers, encoders, and external switches. The icm- 1100 accepts each dmc-1500 ribbon cable (for j2, j3, j4 a...

  • Page 175

    Dmc-1500 appendices • 163 rev a + b terminal # rev c terminal # label description 17 17 dirw w direction for stepper 18 20 an1 analog input 1 19 19 an2 analog input 2 20 22 an3 analog input 3 21 21 an4 analog input 4 22 24 an5 analog input 5 23 23 an6 analog input 6 24 26 an7 analog input 7 25 25 gn...

  • Page 176

    164 • appendices dmc-1500 57 57 xab+ x auxiliary encoder b+ rev a + b terminal # rev c terminal # label description 58 60 xaa- x auxiliary encoder a- 59 59 xaa+ x auxiliary encoder a+ 60 62 gnd ground 61 61 5v 5 volts 62 64 lscom limit common 63 63 flsx x forward limit 64 66 rlsx x reverse limit 65 ...

  • Page 177

    Dmc-1500 appendices • 165 97 97 wb+ w main encoder b+ 98 100 wb- w main encoder b- rev a + b terminal # rev c terminal # label description 99 99 wi+ w main encoder i+ 100 102 wi- w main encoder i- 101 101 +12v 12v supply 102 104 -12v -12v supply 103 103 5v 5v supply 104 gnd ground j2 - main (60 pin ...

  • Page 178: Icm-1100 Drawing

    166 • appendices dmc-1500 icm-1100 drawing 1 3 .4 0 " 0 .4 4 " 0 .2 4 " 0 .7 0 " 0 .4 5 " 3 .7 0 " 5 .7 0 " 2 .8 5 " 1 .0 0 " 1 .0 1 " 0 .7 0 " 1 .0 0 ".

  • Page 179: Term-1500 Operator Terminal

    Dmc-1500 appendices • 167 amp-11x0 mating power amplifiers the amp-11x0 series are mating, brush-type servo amplifiers for the dmc-1500. The amp-1110 contains one amplifier; the amp-1120, two amplifiers; the amp-1130, three; and the amp-1140, four. Each amplifier is rated for 7 amps continuous, 10 a...

  • Page 180

    168 • appendices dmc-1500

  • Page 181

    Dmc-1500 appendices • 169 the panel mount terminal is shown following: features - for easy data entry to dmc-1500 motion controller - 4 line x 20 character liquid crystal display - full numeric keypad - five programmable function keys - available in hand-held or panel mount - no external power suppl...

  • Page 182

    170 • appendices dmc-1500 keypad maps - hand-held 30 keys: 5 keys across, 6 down single key output 6 f1 (22) f2 (23) f3 (24) f4 (25) f5 (26) 5 1 2 3 4 4 5 6 3 7 8 9 2 0 1 ctrl shift space bkspc enter shift key output 6 a b c d e 5 f g h i j 4 k l m n o 3 p q r s t 2 u v w x y 1 ctrl shift z , ? Ctrl...

  • Page 183

    Dmc-1500 appendices • 171 keypad map - panel mount -- 6 columns x 5 rows single key output 5 f1 1 2 3 4 f2 4 5 6 3 f3 7 8 9 2 f4 - 0 . 1 f5 ctrl shift space bkspc enter shift key output 5 a f g h i j 4 b k l m n o 3 c p q r s t 2 d u v w x y 1 e ctrl shift z , ? Ctrl key output 5 (18) (19) (2) ! " %...

  • Page 184

    172 • appendices dmc-1500 example: mg {p2}{^27},"h" sends escape h to the terminal from port 2 cursor movement commands esc a cursor up esc b cursor down esc c cursor right esc d cursor left erasing display esc e clear display and home esc i clear display esc j cursor to end of display esc k cursor ...

  • Page 185

    Dmc-1500 appendices • 173 in the above sequence, pr is the row number and pc is the column number of the target cursor location. These parameters are formed by adding hexadecimal 1f to the row and column numbers. Row and column numbers are absolute, with row 1, column 1 (pr = h20, pc = h20) represen...

  • Page 186

    174 • appendices dmc-1500 when using port 2, use cc command to configure p2. Use male adapter. Example: cc 9600,0,0,1 configures p2 mg{p2} "hello there", v1{f2.1} send message to p2 in{p2} "enter value", num prompts operator for value example: #a ci 0,2,1;cc 9600,0,0,1 #a interrupt on any key; confi...

  • Page 187

    Dmc-1500 appendices • 175 5. Ground 6. Cts - input 7. Rts - output 8. Cts - input 9. 5v or no connect or sample clock with jumpers note: out and in are referenced to the terminal. Ordering information term-1500h-p2 hand-held, female adapter term-1500p-p2 panel mount, female adapter db-15072 opto-22 ...

  • Page 188

    176 • appendices dmc-1500 accessing the i/o of the db-15072 the command, op, may be used to set the state of output bits. The op command has 2 parameters. The first parameter sets the values of the main output port of the controller (on a db-15072 controller, this parameter would address outputs 1-8...

  • Page 189

    Dmc-1500 appendices • 177 jd1 pinout pin block bit no. Sbn,@in[n] pin signal 1 5 7 48 2 ground 3 5 6 47 4 ground 5 5 5 46 6 ground 7 5 4 45 8 ground 9 5 3 44 10 ground 11 5 2 43 12 ground 13 5 1 42 14 ground 15 5 0 41 16 ground 17 4 7 40 18 ground 19 4 6 39 20 ground 21 4 5 38 22 ground 23 4 4 37 24...

  • Page 190

    178 • appendices dmc-1500 pin block bit no. Sbn,@in[n] pin 27 7 2 59 28 ground 29 7 1 58 30 ground 31 7 0 57 32 ground 33 6 7 56 34 ground 35 6 6 55 36 ground 37 6 5 54 38 ground 39 6 4 53 40 ground 41 6 3 52 42 ground 43 6 2 51 44 ground 45 6 1 50 46 ground 47 6 0 49 48 ground 49 5 volts 50 ground ...

  • Page 191

    Dmc-1500 appendices • 179 coordinated motion - mathematical analysis the terms of coordinated motion are best explained in terms of the vector motion. The vector velocity, vs, which is also known as the feed rate, is the vector sum of the velocities along the x and y axes, vx and vy. Vs vx vy = + 2 ...

  • Page 192

    180 • appendices dmc-1500 the first line describes the straight line vector segment between points a and b. The next segment is a circular arc, which starts at an angle of 180 ° and traverses -90 ° . Finally, the third line describes the linear segment between points c and d. Note that the total len...

  • Page 193

    Dmc-1500 appendices • 181 the acceleration time, ta, is given by t vs va s a = = = 100000 2000000 0 05 . The slew time, ts, is given by the total motion time, tt, is given by t d vs t s t a = + = 0 407 . The velocities along the x and y axes are such that the direction of motion follows the specifie...

  • Page 194: Dmc-700/dmc-1500 Comparison

    182 • appendices dmc-1500 figure 12.4 - vector and axes velocities dmc-700/dmc-1500 comparison modes of motion dmc-700 dmc-1500 relative positioning yes yes absolute positioning yes yes velocity control yes yes linear interpolation up to 4 axes up to 8 axes circular interpolation any 2 axes plus 3rd...

  • Page 195

    Dmc-1500 appendices • 183 specifications dmc-700 dmc-1500 maximum encoder frequency 2 x 106 counts/s 8 x 106 counts/s dac resolution 12-bits 14-bits or 16-bits maximum move length 8 x 106 2 x 109 sample time 1 msec 0.5 msec (4 axes) program memory 500 lines, 32 char 1000 lines, 80 char eeprom memory...

  • Page 196: List of Other Publications

    184 • appendices dmc-1500 list of other publications "step by step design of motion control systems" by dr. Jacob tal "motion control applications" by dr. Jacob tal "motion control by microprocessors" by dr. Jacob tal contacting us galil motion control 3750 atherton road rocklin, ca 95765 phone: 916...

  • Page 197: Warranty

    Dmc-1500 appendices • 185 warranty all products manufactured by galil motion control are warranted against defects in materials and workmanship. The warranty period for controller boards is 1 year. The warranty period for all other products is 180 days. In the event of any defects in materials or wo...

  • Page 198

    186 • appendices dmc-1500 this page left blank intentionally.

  • Page 199: Index

    Dmc-1500 index • 191 index a abort 25–27, 30, 45, 51, 129, 131, 151, 154, 162–63, 169 off-on-error 12, 27, 30, 129, 131 stop motion 45, 51, 99, 132 absolute position 20, 41–42, 91–92, 96 absolute value 96, 103, 130 acceleration 185–86 accessories 166 address 107–9, 165, 166–67, 188 jumpers 33 amp-11...

  • Page 200

    192 • index dmc-1500 digital filter 144–45, 147–49 tuning 1 digital input 25, 27, 103, 120 digital output 103, 119 clear bit 119 dip switch address 165, 166–67, 188 download 81, 108 dual encoder 71, 108 backlash 70–71, 127 dual loop 70–71, 70–71, 127 dual loop 70–71, 70–71, 127 backlash 70–71, 127 e...

  • Page 201

    Dmc-1500 index • 193 analog 103–5, 106, 114, 121–22, 126 digital 103, 120 input interrupt 84, 92, 98–99, 120–21 inint 84, 98–99, 120–21 input of data 110 inputs 1 analog 25, 31, 151, 167 analog inputs 1 encoder input 1 interconnect module 9 optoisolated inputs 1, 3 installation 8–14, 133 integrator ...

  • Page 202

    194 • index dmc-1500 home input 26, 75, 106 output amplifier enable 31–32, 129 icm-1100 12, 25, 29, 30 interconnect module 7–8 motor command 14, 21, 32, 144 output of data 113 clear bit 119 set bit 119 outputs 1, 33 interconnect module 9 motor command 1 p pid 1, 14, 140, 144, 149 play back 109 poser...

  • Page 203

    Dmc-1500 index • 195 tell position 36, 92, 105–7 term-1500 33 terminal 26, 29, 81, 104, 115 theory 137 damping 134, 140 digital filter 144–45, 147–49 modeling 137, 140–41, 145 pid 14, 140, 144, 149 stability 71, 127, 133–34, 140, 146 time 106–7 clock 106 time interval 63–64, 67, 108 timeout 10, 84, ...