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 with both servo and stepper type
motors. In addition, the DMC-1500 has a daughter board for controllers with more than 4 axes.
Installation and system setup will vary depending upon whether the controller will be used with
stepper motors, or servo motors, and whether the controller has more than 4 axes of control. To make
finding the appropriate instructions faster and easier, icons will be next to any information that applies
exclusively to one type of system. Otherwise, assume that the instructions apply to all types of
systems. The icon legend is shown below.
1580
Attention: Pertains to servo motor use.
Attention: Pertains to stepper motor use.
Attention: Pertains to controllers with more than 4 axes.
Please note that many examples are written for the DMC-1540 four-axis controller or the DMC-1580
eight axes controller. Users of the DMC-1530 3-axis controller, DMC-1520 2-axis controller or
DMC-1510 1-axis controller should note that the DMC-1530 uses the axes denoted as XYZ, the
DMC-1520 uses the axes denoted as XY, and the DMC-1510 uses the X-axis only.
Examples for the DMC-1580 denote the axes as A,B,C,D,E,F,G,H. Users of the DMC-1550 5-axis
controller, DMC-1560 6-axis controller or DMC-1570, 7-axis controller should note that the DMC1550 denotes the axes as A,B,C,D,E, the DMC-1560 denotes the axes as A,B,C,D,E,F and the DMC1570 denotes the axes as A,B,C,D,E,F,G. The axes A,B,C,D may be used interchangeably with
X,Y,Z,W.
This manual was written for the DMC-1500 firmware revision 2.0 and later. For controllers with
firmware previous to revision 2.0, please consult the original manual for your hardware. The later
revision firmware was previously specified as DMC-1500-18.
WARNING: Machinery in motion can be dangerous! It is the responsibility of the user to design
effective error handling and safety protection as part of the machine. Galil shall not
responsible for any incidental or consequential damages.
be liable or
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
1. CR radius now has range of 16 million Allows for large circular interpolation radii
2. _AB returns abort input Allows for monitoring of abort input
3. CW,1 When output FIFO full application program will not
pause but data will be lost
4. List Variable (LV), List Array (LA), List app program labels
(LL)
New feature for Rev 2.0e May 1997:
Feature Description
1. ER now accepts argument < 0 Disables error output (LED and Error Output does not turn on
2. During a PR decel can now be changed on an unnatural stop Allows for monitoring of abort input
New feature for Rev 2.0d February 1997:
Feature Description
1. AP, MF, MR in stepper now uses _DE instead of _RP Trippoints based on register after buffer
2. \ now terminates QD Download array no longer requires control sequence to end
3. KS can now be fraction (down to .5) Allows for smaller stepper motor smoothing delay (due to filter)
4. New arguments for MT of 2.5 and -2.5 Reverses the direction of motion from MT 2 and MT -2
5. MG now can go to 80 characters
New feature for Rev 2.0c October 1996:
Feature Description
1. MC now works for steppers More accurate trippoint for stepper motor completion
New feature for Rev 2.0b September 1996:
Allows for output FIFO buffer to fill up without affecting the
execution of a program
Allows for the user to interrogate RAM
for that axis)
Increased message size
Feature Description
1. Operand ‘&’ and ‘|’ for conditional statements Allows for multiple conditional statements in jump routines
IE. (A>=3) & (B<55) | (C=78)
New feature for Rev 2.0 March 1996. (This revision is also designated DMC-1500-18).
DAC resolution increased to 16-bits.
Step motor control method improved.
CommandDescription
KS Step Motor Smoothing
New feature for Rev 1.1
Electronic Cam
New commands:
CommandDescription
EA Choose ECAM master
EM Cam Cycle Command
EP Cam table interval and starting point
ET ECAM table entry
EB Enable ECAM
EG Engage ECAM cycle
EQ Disengage ECAM
New features added Jan 1995:
Allow circular array recording.
New commands added July 1994 Rev 1.4:
Command Description
RI,N N is a new interrupt mask which allows changing the interrupt
mask
QU Upload array
QD Download array
MF x,y,z,w Trippoint for motion - forward direction
MR x,y,z,w Trippoint for motion - reverse direction
MC XYZW In position trippoint
TW x,y,z,w Sets timeout for in position
VR r Sets speed ratio for VS
New commands added January 1994 Rev 1.3:
Can specify parameters with axis designator. For example:
Command Description
KPZ=10 Set Z axis gain to 10
KP*=10 Set all axes gains to 10
(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 LM, VM and CM modes
_AV Return distance travelled in LM and VM modes
_VPX
VP x,y<n Can specify vector speed with each vector segment Where <n
Return the coordinate of the last point in a motion sequence,
LM or VM
sets vector speed
New commands added January 1993:
Command Description
HX Halt execution for multitasking
AT At time trippoint for relative time from reference
ES Ellipse scale factor
OB n,expression Defines output n where expression is logical operation, such as
I1 & I6, variable or array element
XQ#Label,n Where n = 0 through 3 and is program thread for multitasking
DV Dual velocity for Dual Loop
Feature Description
1. Allows gearing and coordinated move simultaneously
2. Multitasking for up to four independent programs
3. Velocity Damping from auxiliary encoder for dual loop
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 communication. Extended performance capability over the
previous generation of controllers includes: fast 8 MHz encoder input frequency, precise 16-bit motor
command output DAC, +/-2 billion counts total travel per move, faster sample rate, and multitasking
of up to four programs. The controllers provide increased performance and flexib ility and yet are
smaller in size and lower in cost than the previous generation. The DMC-1500 is also available as a
cost-effective, card-level product making it ideal for OEM applications.
Designed for maximum system flexibility, the DMC-1500 is available for one to eight axes and can be
interfaced to a variety of motors and drives including step motors, servo motors and hydraulics.
Each axis accepts feedback from a quadrature linear or rotary encoder with input frequencies up to 8
million quadrature counts per second. For dual-loop applications that require one encoder on both the
motor and the load, auxiliary encoder inputs are included for each axis.
The powerful controller provides many modes of motion including jogging, point-to-point positioning,
linear and circular interpolation with infinite vector feed, electronic gearing and user-defined path
following. Several motion parameters can be specified including acceleration and deceleration rates,
and slew speed. The DMC-1500 also provides S-curve acceleration for motion smoothing.
For synchronizing motion with external events, the DMC-1500 includes 8 opto-isolated inputs, 8
programmable outputs and 7 analog inputs. For controllers with 5 or more axes, the DMC-1500 has
an additional 8 opto-isolated inputs and 8 TTL inputs. I/O expansion boards provide additional inputs
and outputs or interface to OPTO 22 racks. Event triggers can automatically check for elapsed time,
distance and motion complete.
Despite its full range of sophisticated features, the DMC-1500 is easy to program. Instructions are
represented by two letter commands such as BG for Begin and SP for Speed. Conditional Instructions,
Jump Statements, and arithmetic functions are included for writing self-contained applications
programs. An internal editor allows programs to be quickly entered and edited, and support software
such as the Servo Design Kit allows quick system set-up and tuning.
To prevent system damage during machine operation, the DMC-1500 provides several error handling
features. These include software and hardware limits, automatic shut-off on excessive error, abort
input, and user-definable error and limit routines.
DMC-1500 Chapter 1 Overview • 1
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 can configure each axis for any combination of motor types, providing maximum flexibility.
Standard Servo Motors with +/- 10 Volt Command Signal
The DMC-1500 achieves superior precision through use of a 16-bit motor command output DAC and
a sophisticated PID filter that features velocity and acceleration feedforward, an extra pole filter and
integration limits.
The controller is configured by the factory for standard servo motor operation. In this configuration,
the controller provides an analog signal (+/- 10Volt) to connect to a servo amplifier. This connection
is described in Chapter 2.
Stepper Motor with Step and Direction Signals
The DMC-1500 can control stepper motors. In this mode, the controller provides two signals to
connect to the stepper motor: Step and Direction. For stepper motor operation, the controller does not
require an encoder and operates the stepper motor in an open loop fashion. Chapter 2 describes the
proper connection and procedure for using stepper motors.
DMC-1500 Functional Elements
The DMC-1500 circuitry can be divided into the following functional groups as shown in Figure 1.1
and discussed in the following.
To
RS-232 / RS-422
Communication
80
8 Digital
8 Analog
8 TTL
I/
Interfac
Figure 1.1 - DMC-1500 Functional Elements
6834
Microcompute
256K
64K
128K EEPROM
Watch
Timer
To
GL-
4-
Motor/Encode
Interfac
Fro
Limit
Fro
Encoder
2 • Chapter 1 Overview DMC-1500
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 stores the firmware of
the DMC-1500. The EEPROM allows parameters and programs to be saved in non-volatile memory
upon power down.
Motor Interface
For each axis, a GL-1800 custom gate array performs quadrature decoding of the encoders at up to 8
MHz, generates the +/-10 Volt analog signal (16 Bit DAC) for input to a servo amplifier, and
generates step and direction signal for step motor drivers.
Communication
Communication to the DMC-1500 is via two separately addressable RS232 ports. The ports may also
be configured by the factory for RS422. The serial ports may be daisy-chained to other DMC-1500
controllers.
General I/O
The DMC-1500 provides interface circuitry for eight optoisolated inputs, eight general outputs and
seven analog inputs (12 Bit ADC with option for 16 Bit ADC).
1580
An auxiliary board, the DB-15072 provides interface to up to three OPTO 22 racks with 24 I/O
modules each. 24 bits can be configured for interface to output or input modules and the remaining 48
for input modules.
Controllers with 5 or more axes provide 24 inputs and 16 outputs.
System Elements
As shown in Fig. 1.2, the DMC-1500 is part of a motion control system which includes amplifiers,
motors and encoders. These elements are described below
Power Supply
ComputerDMC-1500 ControllerDriver
EncoderMotor
Figure 1.2 - Elements of Servo systems
DMC-1500 Chapter 1 Overview • 3
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 requirements. Contact Galil at 800377-6329 if you would like this product.
The motor may be a step or servo motor and can be brush-type or brushless, rotary or linear. For step
motors, the controller can be configured to control full-step, half-step, or microstep drives.
Amplifier (Driver)
For each axis, the power amplifier converts a +/-10 Volt signal from the controller into current to
drive the motor. The amplifier should be sized properly to meet the power requirements of the motor.
For brushless motors, an amplifier that provides electronic commutation is required. The amplifiers
may be either pulse-width-modulated (PWM) or linear. They may also be configured for operation
with or without a tachometer. For current amplifiers, the amplifier gain should be set such that a 10
Volt command generates the maximum required current. For example, if the motor peak current is
10A, the amplifier gain should be 1 A/V. For velocity mode amplifiers, 10 Volts should run the motor
at the maximum speed.
For stepper motors, the amplifier converts step and direction signals into current.
Encoder or Position Sensor
An encoder translates motion into electrical pulses which are fed back into the controller. The DMC1500 accepts feedback from either a rotary or linear encoder. Typical encoders provide two channels
in quadrature, known as CHA and CHB. This type of encoder is known as a quadrature encoder.
Quadrature encoders may be either single-ended (CHA and CHB) or differential (CHA,CHA,CHB,CHB-). The DMC-1500 decodes either type into quadrature states or four times the number of
cycles. Encoders may also have a third channel (or index) for synchronization.
The DMC-1500 can also interface to encoders with pulse and direction signals.
There is no limit on encoder line density, however, the input frequency to the controller must not
exceed 2,000,000 full encoder cycles/second or 8,000,000 quadrature counts/sec. For example, if the
encoder line density is 10,000 cycles per inch, the maximum speed is 200 inches/second.
The standard voltage level is TTL (zero to five volts), however, voltage levels up to 12 Volts are
acceptable. If using differential signals, 12 Volts can be input directly to the DMC-1500. Singleended 12 Volt signals require a bias voltage input to the complementary inputs.
The DMC-1500 can accept analog feedback instead of an encoder for any axis. Note: the DMC-1580
controller must be modified by the factory to allow for analog feedback on axis H. For more
information see description of analog feedback in Chapter 2 under section entitled "Test the encoder
operation".
To interface with other types of position sensors such as resolvers or absolute encoders, Galil can
customize the controller and command set. Please contact Galil to talk to one of our applications
engineers about your particular system requirements.
Watch Dog Timer
The DMC-1500 provides an internal watch dog timer which checks for proper microprocessor
operation. The timer toggles the Amplifier Enable Output (AEN) which can be used to switch the
amplifiers off in the event of a serious DMC-1500 failure. The AEN output is normally high. During
power-up and if the microprocessor ceases to function properly, the AEN output will go low. The
4 • Chapter 1 Overview DMC-1500
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.
DMC-1500 Chapter 1 Overview • 5
THIS PAGE LEFT BLANK INTENTIONALLY
6 • Chapter 1 Overview DMC-1500
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 additional 20-pin ribbon cable, J4.
2. Servo motors with Optical Encoder (one per axis) or step motors
3. Power Amplifiers for motors
4. Power Supply for Amplifiers
5. PC (Personal Computer with RS232 port)
Software from Galil (Optional - but strongly recommended for first time users)
Communication Disk (COMMdisk)
-AND WSDK-16 Servo Design Software for Windows 3.1, and 3.11 for Workgroups
-OR WSDK-32 for Windows 95 or NT
ICM-1100 Interface Module (Optional, but strongly recommended). The Galil ICM-1100 is an
interconnect module with screw type terminals that directly interfaces to the DMC-1500 controller.
Note: An additional ICM-1100 is required for the DMC-1550 through DMC-1580.
The motors may be servo (brush type or brushless) or steppers. The amplifiers should be suitable for
the motor and may be linear or pulse-width-modulated. An amplifier may have current feedback or
voltage feedback.
For servo motors, the amplifiers should accept an analog signal in the +/-10 Volt range as a command.
The amplifier gain should be set so that a +10V command will generate the maximum required
current. For example, if the motor peak current is 10A, the amplifier gain should be 1 A/V. For
velocity mode amplifiers, a command signal of 10 Volts should run the motor at the maximum
required speed.
For step motors, the amplifiers should accept step and direction signals.
The WSDK software is highly recommended for first time users of the DMC-1500. It provides stepby-step instructions for system connection, tuning and analysis.
DMC-1500 Chapter 2 Getting Started • 7
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 power to controller
Step 5. Install communications software.
Step 6. Establish communications with Galil Software.
Step 7. Connect amplifiers and Encoders.
Step 8a. Connect standard servo motors.
Step 8b. Connect step motors.
Step 9. Tune the servo system
Step 1. Determine Overall Motor Configuration
Before setting up the motion control system, the user must determine the desired motor configuration.
The DMC-1500 can control any combination of standard servo motors, and stepper motors. Other
types of actuators, such as hydraulics can also be controlled, please consult Galil.
The following configuration information is necessary to determine the proper motor configuration:
1580
Standard Servo Motor Operation:
The DMC-1500 has been setup by the factory for standard servo motor operation providing an analog
command signal of +/- 10V. No hardware or software configuration is required for standard servo
motor operation.
Stepper Motor Operation:
To configure the DMC-1500 for stepper motor operation, the controller requires a jumper for each
stepper motor and the command, MT, must be given. The installation of the stepper motor jumper is
discussed in the following section entitled "Installing Jumpers on the DMC-1500". Further
instruction for stepper motor connections are discussed in Step 8b.
Step 2. Install Jumpers on the DMC-1500
The DMC-1500 has jumpers inside the controller box which may need to be installed. To access these
jumpers, the cover of the controller box must be removed. The following describes each of the
jumpers.
WARNING: Never open the controller box when AC power is applied to it.
For each axis that will be driving a stepper motor, a stepper mode (SM) jumper must be connected.
If you using a controller with more than 4 axis, you will have two pc-cards inside the controller box.
In this case, you will have 2 sets of stepper motor jumpers, one on each card. The jumpers on the
bottom card will be for axes X,Y,Z and W (or A,B,C, and D) and the top will be E,F,G and H. To
access the bottom card, the top card must be carefully removed.
8 • Chapter 2 Getting Started DMC-1500
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 technicians only.
The jumper set, J41, can be used to connect the controllers internal power supply to the optoisolated
inputs. This may be desirable if your system will be using limit switches, home inputs digital inputs,
or hardware abort and optoisolation is not necessary for your system. For a further explanation, see
section Bypassing the Opto-Isolation in Chapter 3.
Step 3. Configure DIP switches on the DMC-1500
Located on the outside of the controller box is a set of 5 DIP switches.
Switch 1 is the Master Reset switch. When this switch is on, the controller will perform a master reset
upon PC power up. Whenever the controller has a master reset, all programs and motion control
parameters stored in EEPROM will be ERASED. During normal operation, this switch should be off.
Switch 2,3 and 4 are used to configure the baud rate of the main RS232 serial port. See section
Configuration in Chapter 4.
Switch 5 is used to configure both serial ports for hardware handshake mode. Set this switch on for
handshake mode. Please note that the Galil communication software requires that hardware handshake
mode be enabled.
Step 4. Connect AC Power to the Controller
Before applying power, connect the 60-pin and 26-pin ribbons between the DMC-1500 and ICM-1100
interconnect module. The DMC-1500 requires a single AC supply voltage, single phase, 50 Hz or 60
Hz. from 90 volts to 260 volts.
WARNING: Dangerous voltages, current, temperatures and energy levels exist in this product
and in its associated amplifiers and servo motor(s). Extreme caution should be exercised in the
application of this equipment. Only qualified individuals should attempt to install, set up and
operate this equipment.
WARNING: Never open the controller box when AC power is applied to it.
Applying power will turn on the green light power indicator.
Step 5. Install Communications Software
After you have installed the DMC-1500 controller and turned the power on to your computer, you
should install software that enables communication between the controller and PC. There are several
ways to do this. The easiest way is to use the communication disks available from Galil
(COMMDISK VOL1 FOR DOS AND VOL2 FOR WINDOWS).
Using the COMMdisk Vol1 for Dos:
To use this disk, insert the COMMDISK VOL 1 in drive A. Type INSTALL and follow the
directions.
Using the COMMdisk Vol2 for Windows (16 bit and 32 bit versions):
For Windows3.x, run the installation program, setup16.exe. For Windows 95 or Windows NT, run
the installation program, setup32.exe.
DMC-1500 Chapter 2 Getting Started • 9
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 must be configured as a DATATERM for full duplex, no parity, 8 bits
data, one start bit and one stop bit.
Select the baud rate switches for 19.2 KB, 9600 B or 1200 B. The default setting is 19.2 KB.
Your computer needs to be configured as a "dumb" terminal which sends ASCII characters as they are
typed to the DMC-1500. The COMMdisk from Galil provides a terminal emulator program for your
computer. Follow the steps below to install and run the terminal emulator.
Dos Users:
To communicate with the DMC-1500, type TALK2DMC at the prompt. Once you have established
communication, the terminal display should show a colon, :. If you do not receive a colon, press the
carriage return. If a colon prompt is not returned, there is most likely an incorrect setting of the serial
communications port. The user must ensure that the correct communication port and baud rate are
specified when attempting to communicate with the controller. Please note that the serial port on the
controller must be set for handshake mode for proper communication with Galil software. The user
must also insure that the proper serial cable is being used, see appendix for pin-out of serial cable.
Windows Users:
In order for the windows software to communicate with a Galil controller, the controller must be
registered in the Galil Registry. The Galil Registry is simply a list of controllers. Registration consists
of telling the software the model of the controller, the address of the controller, and other information.
To do this, run the program DMCREG16 for Windows 3.x or DMCREG32 for Windows 95 and NT.
The DMCREG window will appear. Select Registry from the menu.
Note: If you are using DMCREG for the first time, no controllers will exist in the Ga lil Register. This
is normal.
The registry window is equipped with buttons to Add, Change, or Delete a controller. Pressing any
of these buttons will bring up the Set Registry Information window. (It should be noted that if you
wish to change information on any existing controller, it should be selected before clicking Change,
even if it is the only controller listed in the Registry.)
Use the Add button to add a new entry to the Registry. You will need to supply the Galil Controller
type. For any address changes to take effect, a model number must be entered. If you are changing an
existing controller, this field will already have an entry. If you are adding a controller, it will not.
Pressing the down arrow to the right of this field will reveal a menu of valid controller types. You should choose DMC-1500. The registry information will show a default comm port of 2 and a default
baud rate of 9600 appears. This information should be changed as necessary to reflect the computers
comm port and the baud rate as set by the controller's DIP switches. The registry entry also displays
timeout and delay information. These are advanced parameters which should only be modified by
advanced users (see software documentation for more information).
Once you have set the appropriate Registry information for your controller, exit from the DMCREG
program. You will now be able to run communication software.
If you are using Windows 3.x, run the program DTERM16.EXE and if you are using Windows 95 or
Windows NT, run the program DTERM32.EXE. From the file menu, select Startup. You will now
see the registry information. Select the entry for your controller. Note: If you have only one entry,
you still must select this controller for the software to establish communications. Once the entry has
been selected, click on the OK button. If the software has successfully established communications
with the controller, the registry entry will be displayed at the top of the screen.
10 • Chapter 2 Getting Started DMC-1500
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 establish communication with the Galil
controller. A time-out occurred while waiting for a response from the Galil controller.” If this
message appears, you must click OK. In this case, there is most likely an incorrect setting of the serial
communications port. The user must ensure that the correct communication port and baud rate are
specified when attempting to communicate with the controller. Please note that the serial port on the
controller must be set for handshake mode for proper communication with Galil software. The user
must also insure that the proper serial cable is being used, see appendix for pin-out of serial cable.
Once you establish communications, click on the menu for terminal and you will receive a colon
prompt. Communicating with the controller is described in later sections.
Sending Test Commands to the Terminal:
After you connect your terminal, press <carriage return> or the <enter> key on your keyboard. In
response to carriage return (CR), the controller responds with a colon, :
Now type
TPX (CR)
This command directs the controller to return the current position of the X axis. The controller should
respond with a number such as
0000000
The RS232 communication is established.
1580
Step 7. Connect Amplifiers and Encoders.
Once you have established communications between the software and the DMC-1500, you are ready
to connect the rest of the motion control system. The motion control system typically consists of an
ICM-1100 Interface Module, an amplifier for each axis of motion, and a motor to transform the current
from the amplifier into torque for motion. Galil also offers the AMP-11X0 series Interface Modules
which are ICM-1100’s equipped with servo amplifiers for brush type DC motors.
If you are using an ICM-1100, connect the 100-pin ribbon cable to the DMC-1500 and to the
connector located on the AMP-11X0 or ICM-1100 board. The ICM-1100 provides screw terminals
for access to the connections described in the following discussion.
Motion Controllers with more than 4 axes require a second ICM-1100 or AMP-11X0 and second 100pin cable.
System connection procedures will depend on system components and motor types. Any combination
of motor types can be used with the DMC-1500.
Here are the first steps for connecting a motion control system:
Step A. Connect the motor to the amplifier with no connection to the controller. Consult the
amplifier documentation for instructions regarding proper connections. Connect and
turn-on the amplifier power supply. If the amplifiers are operating properly, the motor
should stand still even when the amplifiers are powered up.
Step B. Connect the amplifier enable signal.
Before making any connections from the amplifier to the controller, you need to verify
that the ground level of the amplifier is either floating or at the same potential as earth.
WARNING: When the amplifier ground is not isolated from the power line or when it has a different
potential than that of the computer ground, serious damage may result to the computer controller
and amplifier.
DMC-1500 Chapter 2 Getting Started • 11
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.
The amplifier enable signal is used by the controller to disable the motor. It will disable
the motor when the watchdog timer activates, the motor-off command, MO, is given, or
the position error exceeds the error limit with the "Off-On-Error" function enabled (see
the command OE for further information).
The standard configuration of the AEN signal is TTL active high. In other words, the
AEN signal will be high when the controller expects the amplifier to be enabled. The
polarity and the amplitude can be changed if you are using the ICM-1100 interface
board. To change the polarity from active high (5 volts = enable, zero volts = disable) to
active low (zero volts = enable, 5 volts = disable), replace the 7407 IC with a 7406. Note
that many amplifiers designate the enable input as ‘inhibit’.
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. If you
remove the resistor pack, the output signal is an open collector, allowing the user to
connect an external supply with voltages up to 24V.
On the ICM-1100, the amplifier enable signal is labeled AENX for the X axis. Connect
this signal to the amplifier (figure 2.3) and issue the command, MO, to disable the motor
amplifiers - often this is indicated by an LED on the amplifier.
Step C. Connect the encoders
For stepper motor operation, an encoder is optional.
For servo motor operation, if you have a preferred definition of the forward and reverse
directions, make sure that the encoder wiring is consistent with that definition.
The DMC-1500 accepts single-ended or differential encoder feedback with or without an
index pulse. If you are not using the AMP-11X0 or the ICM-1100 you will need to
consult the appendix for the encoder pinouts for connection to the motion controller. The
AMP-11X0 and the ICM-1100 can accept encoder feedback from a 10-pin ribbon cable
or individual signal leads. For a 10-pin ribbon cable encoder, connect the cable to the
protected header connector labeled X ENCODER (repeat for each axis necessary). For
individual wires, simply match the leads from the encoder you are using to the encoder
feedback inputs on the interconnect board. The signal leads are labeled XA+ (channel
A), XB+ (channel B), and XI+. For differential encoders, the complement signals are
labeled XA-, XB-, and XI-.
Note: When using pulse and direction encoders, the pulse signal is connected to CHA
and the direction signal is connected to CHB. The controller must be configured for
pulse and direction with the command CE. See the command summary for further
information on the command CE.
Step D. Verify proper encoder operation.
Start with the X encoder first. Once it is connected, turn the motor shaft and interrogate
the position with the instruction TPX <return>. The controller response will vary as the
motor is turned.
At this point, if TPX does not vary with encoder rotation, there are three possibilities:
1. The encoder connections are incorrect - check the wiring as necessary.
2. The encoder has failed - using an oscilloscope, observe the encoder signals. Verify that both channels
A and B have a peak magnitude between 5 and 12 volts. Note that if only one encoder channel fails,
12 • Chapter 2 Getting Started DMC-1500
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 the
problem disappears, you probably have a hardware failure. Consult the factory for help.
Step 8a. Connect Standard Servo Motors
The following discussion applies to connecting the DMC-1500 controller to standard servo motor
amplifiers:
The motor and the amplifier may be configured in the torque or the velocity mode. In the torque
mode, the amplifier gain should be such that a 10 Volt signal generates the maximum required current.
In the velocity mode, a command signal of 10 Volts should run the motor at the maximum required
speed.
Step by step directions on servo system setup are also included on the WSDK (Windows Servo Design
Kit) software offered by Galil. See section on WSDK for more details.
Step A. Check the Polarity of the Feedback Loop
It is assumed that the motor and amplifier are connected together and that the encoder is
operating correctly (Step B). Before connecting the motor amplifiers to the controller,
read the following discussion on setting Error Limits and Torque Limits. Note that this
discussion only uses the X axis as an examples.
Step B. Set the Error Limit as a Safety Precaution
Usually, there is uncertainty about the correct polarity of the feedback. The wrong
polarity causes the motor to run away from the starting position. Using a terminal
program, such as DMCTERM, the following parameters can be given to avoid system
damage:
Input the commands:
ER 2000 <CR> Sets error limit on the X axis to be 2000 encoder counts
OE 1 <CR> Disables X axis amplifier when excess position error exists
If the motor runs away and creates a position error of 2000 counts, the motor amplifier
will be disabled. Note: This function requires the AEN signal to be connected from the
controller to the amplifier.
Step C. Set Torque Limit as a Safety Precaution
To limit the maximum voltage signal to your amplifier, the DMC-1500 controller has a
torque limit command, TL. This command sets the maximum voltage output of the
controller and can be used to avoid excessive torque or speed when initially setting up a
servo system.
When operating an amplifier in torque mode, the voltage output of the controller will b e
directly related to the torque output of the motor. The user is responsible for determining
this relationship using the documentation of the motor and amplifier. The torque limit
can be set to a value that will limit the motors output torque.
When operating an amplifier in velocity or voltage mode, the voltage output of the
controller will be directly related to the velocity of the motor. The user is responsible for
determining this relationship using the documentation of the motor and amplifier. The
torque limit can be set to a value that will limit the speed of the motor.
For example, the following command will limit the output of the controller to 1 volt on
the X axis:
DMC-1500 Chapter 2 Getting Started • 13
TL 1 <CR>
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 description of TL in
the command reference.
Step D. Connect the Motor
Once the parameters have been set, connect the analog motor command signal (ACMD)
to the amplifier input.
To test the polarity of the feedback, command a move with the instruction:
PR 1000 <CR> Position relative 1000 counts
BGX <CR> Begin motion on X axis
When the polarity of the feedback is wrong, the motor will attempt to run away. The
controller should disable the motor when the position error exceeds 2000 counts. If the
motor runs away, the polarity of the loop must be inverted.
Note: Inverting the Loop Polarity
When the polarity of the feedback is incorrect, the user must invert the loop polarity and
this may be accomplished by several methods. If you are driving a brush-type DC motor,
the simplest way is to invert the two motor wires (typically red and black). For example,
switch the M1 and M2 connections going from your amplifier to the motor. When
driving a brushless motor, the polarity reversal may be done with the encoder. If you are
using a single-ended encoder, interchange the signal CHA and CHB. If, on the other
hand, you are using a differential encoder, interchange only CHA+ and CHA-. The loop
polarity and encoder polarity can also be affected through software with the MT, and CE
commands. For more details on the MT command or the CE command, see the
Command Reference section.
Note: Reversing the Direction of Motion
If the feedback polarity is correct but the direction of motion is opposite to the desired
direction of motion, reverse the motor leads AND the encoder signals.
When the position loop has been closed with the correct polarity, the next step is to adjust the PID
filter parameters, KP, KD and KI. It is necessary to accurately tune your servo system to ensure
fidelity of position and minimize motion oscillation as described in the next section .
14 • Chapter 2 Getting Started DMC-1500
ICM-1100
J4
J5
J3
J2
Pin 2
Pin 1
red wire
black wire
+
CPS Power Supply
-
Screw Terminals
Encoder Ribbon Cable
(Typically Black Connector)
-
Galil
DC Servo Motor
Encoder
(Typically Red Connector)
+
W Encoder Z EncoderY EncoderX Encoder
Figure 2-2 - System Connections with the AMP-1100Amplifier. Note: this figure shows a Galil Motor and
Encoder which uses a flat ribbon cable to connect to the AMP-1100 unit.
Figure 2-3 System Connections with a separate amplifier (MSA 12-80). This diagram shows
the connections for a standard DC Servo Motor and encoder.
Step 8b. Connect Step Motors
In Stepper Motor operation, the pulse output signal has a 50% duty cycle. Step motors operate open
loop and do not require encoder feedback. When a stepper is used, the auxiliary encoder for the
corresponding axis is unavailable for an external connection. If an encoder is used for position
feedback, connect the encoder to the main encoder input corresponding to that axis. The commanded
position of the stepper can be interrogated with RP or DE. The encoder position can be interrogated
with TP.
The frequency of the step motor pulses can be smoothed with the filter parameter, KS. The KS
parameter has a range between 0.5 and 8, where 8 implies the largest amount of smoothing. See Command Reference regarding KS.
The DMC-1500 profiler commands the step motor amplifier. All DMC-1500 motion commands apply
such as PR, PA, VP, CR and JG. The acceleration, deceleration, slew speed and smoothing are also
used. Since step motors run open-loop, the PID filter does not function and the position error is not
generated.
16 • Chapter 2 Getting Started DMC-1500
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
2.
Step B. Connect step and direction signals.
Make connections from controller to motor amplifiers. (These signals are labeled
PULSX and DIRX for the x-axis on the ICM-1100). Consult the documentation for your
step motor amplifier.
Step C. Configure DMC-1500 for motor type using MT command. You can configure the
DMC-1500 for active high or active low pulses. Use the command MT 2 for active high
step motor pulses and MT -2 for active low step motor pulses. See description of the MT command in the Command Reference.
Step 9. Tune the Servo System
Adjusting the tuning parameters is required when using servo motors. The system compensation
provides fast and accurate response. The following presentation suggests a simple and easy way for
compensation. More advanced design methods are available with software design tools from Galil,
such as the Servo Design Kit (SDK software )
The filter has three parameters: the damping, KD; the proportional gain, KP; and the integrator, KI.
The parameters should be selected in this order.
To start, set the integrator to zero with the instruction
KI 0 (CR) Integrator gain
and set the proportional gain to a low value, such as
KP 1 (CR) Proportional gain
KD 100 (CR) Derivative gain
For more damping, you can increase KD (maximum is 4095). Increase gradually and stop after the
motor vibrates. A vibration is noticed by audible sound or by interrogation. If you send the command
TE X (CR) Tell error
a few times, and get varying responses, especially with reversing polarity, it indicates system
vibration. When this happens, simply reduce KD.
Next you need to increase the value of KP gradually (maximum allowed is 1023). You can monitor the
improvement in the response with the Tell Error instruction
KP 10 (CR) Proportion gain
TE X (CR) Tell error
As the proportional gain is increased, the error decreases.
Again, the system may vibrate if the gain is too high. In this case, reduce KP. Typically, KP should
not be greater than KD/4. (Only when the amplifier is configured in the current mode).
Finally, to select KI, start with zero value and increase it gradually. The integrator eliminates the
position error, resulting in improved accuracy. Therefore, the response to the instruction
TE X (CR)
becomes zero. As KI is increased, its effect is amplified and it may lead to vibrations. If this occurs,
simply reduce KI. Repeat tuning for the Y, Z and W axes.
DMC-1500 Chapter 2 Getting Started • 17
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 - these remarks must not be included in the actual program.
Example 1 - System Set-up
This example assigns the system filter parameters, error limits and enables the automatic error shut-off.
Instruction Interpretation
KP10,10,10,10,10,10,10,10 Set gains for A,B,C,D,E,and H axes
KP10,10,10,10,10,10,10,10 Set gains for A,B,C,D,E,and H axes
KP*=10 Alternate method for setting gain on all axes
KPX=10 Alternate method for setting X (or A) axis gain
KPA=10 Alternate method for setting A (or X) axis gain
1580
The X,Y,Z and W axes can also be referred to as the A,B,C, and D axes.
Instruction Interpretation
OE 1,1,1,1,1,1,1,1 Enable automatic Off on Error function for all axes
ER*=1000 Set error limit for all axes to 1000 counts
KP10,10,10,10,10,10,10,10 Set gains for A,B,C,D,E,and H axes
KP*=10 Alternate method for setting gain on all axes
KPX=10 Alternate method for setting X (or A) axis gain
KPA=10 Alternate method for setting A (or X) axis gain
KPZ=10 Alternate method for setting Z axis gain
KPD=10 Alternate method for setting D axis gain
KPH=10 Alternate method for setting H axis gain
Example 2 - Profiled Move
Objective: Rotate the X axis a distance of 10,000 counts at a slew speed of 20,000 counts/sec and an
acceleration and deceleration rates of 100,000 counts/s2. In this example, the motor turns and stops:
Instruction Interpretation
PR 10000 Distance
SP 20000 Speed
DC 100000 Deceleration
AC 100000 Acceleration
BG X Start Motion
18 • Chapter 2 Getting Started DMC-1500
Loading...
+ 173 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.