SMAC Actuators User Manual
SMAC Actuators User Manual
SMAC Actuators User Manual
SMAC-MCA
Actuators User Manual
Revision 1.8
SMAC-MCA
ELECTROMATE 2
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Contents
Description Page
Installation Guide . 5
Precautions . 8
Appendix . 13
Part 2
Setup instructions . 23
Controller Parameters . 24
PID values . 25
Registers . 26
Programmers Notes . 27
Sample program . 32
SMAC-MCA
ELECTROMATE 3
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Sold & Serviced By:
SMAC-MCA
ELECTROMATE 4
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Actuator Working Principles
Actuator Components
Moving Coil . . . . . . Powers linear motion
Linear guide . . . . . . Guides linear motion
Bumpers . . . . . . Adjustable end stops
Limit Switch . . . . . End of stroke sensors
Thermistor . . . . . . Detects overheating
Piston . . . . . . . . Carries coil, rod and DC motor. Mounted to linear bearing
Bearing/Bushing . . . Guides rod through body
Optical encoder . . . . Measures distance travelled by piston
Glass Scale . . . . . . Optical encoder scale
Encoder detector head . . Reads the optical scale
Index line . . . . . . . . Locates a fixed position on the scale
DC motor . . . . . . . . Rotates the rod
Gearbox . . . . . . . . Connects motor to rod
Rotary encoder . . . . . Measures angular distance traveled
Rotary index . . . . . . Locates a fixed position on the scale
Rotary Coarse Index . . Proximity switch to detect rotary home
Method of operation
Linear Motion
The piston rides on a linear bearing carriage, which slides on the linear guide rail. A copper
coil is mounted on the piston. This coil rides inside a magnet assembly. When current flows
in the coil, a reaction force is produced causing the piston to slide along the guide. Bumpers
are set at each end of the travel to cushion any impact force that may occur. Flags carried by
the piston activate limit switches before the end of travel is reached. Either the glass scale of
the optical encoder or the reader head is carried by the piston. As the piston moves, the
detector head reads the distance travelled. An index line on the glass scale is used as a home
location. The actuator rod exits the body through the bearing to maintain alignment. A
thermistor is present in the actuator to signal an overheating condition.
SMAC-MCA
ELECTROMATE 5
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Rotary Motion (LAR series only)
An assembly comprising a rotary DC motor, magnetic encoder and gearbox is carried by the
piston to rotate the rod. The rod is mounted to the piston in a rotary bearing. The rod and
gearbox shaft are connected using a flexible coupling. To locate a home position for the
rotary axis, the actuator rod carries a flag. This flag is sensed by a reflective proximity switch
and is identified as the coarse index.
25 PIN D CONNECTOR
MOVING COIL
MAGNET HOUSING THERMISTOR
MAIN CONNECTOR BOARD
LIMIT SWITCHES
COARSE HOME
SENSOR ENCODER READER
HEAD
GLASS SCALE
MOUNTING
RIBBON CABLE
O-RING SEALS
FLEX COUPLING
COARSE HOME FLAG
GEARBOX
VACUUM TUBE
SMAC-MCA
ELECTROMATE 6
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Installation Guide
Note: Customers manufacturing their own cables please refer to page 7 of this manual for
advice on shielding and grounding.
The actuator must be mounted using the tapped mounting holes provided, and users must
ensure that mounting surfaces are flat in order to prevent any distorting of the body when the
unit is tightened down (see Figure 2).
If attaching anything to the rod of the actuator using the threaded part of the rod, use the
spanner flats provided to prevent the rod rotating. Do this with the rotary motor powered off
as damage may be caused to the gearbox if it is overloaded (turned with the power on).
2x FLATS
The actuator housing and controller housing should both be connected to the same grounding
point (Earth). This is usually the case when the units are screwed directly onto a machine
chassis. If they are not screw mounted then a ground wire should be attached to each of the
units and this should be connected to Earth. As these are anodized it may be necessary to
attach the wire to one of the steel screws, or to put a small scratch on the housing to ensure a
good connection. It is possible to connect the components to different ground points, but they
Sold & Serviced By:
SMAC-MCA
ELECTROMATE 7
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
must be at the same voltage level. Failure to do this may cause a current to flow from one
point to another and this may result in noise.
AC power usually generates the operating voltage (e.g. 24v) which is DC and is isolated (not
connected to earth). The power supply has two terminals, 24v and 0v. This operating voltage
is used to generate a 5v DC reference voltage. This also has two terminals 5v and 0v. These
two 0v terminals are connected together but still isolated from earth. The system will work if
these are not connected to earth but problems may arise when the RS232 is connected. The
RS232 ground is connected to the 0v connection in the controller. When it is connected to a
PC, the ground wire is then connected to earth. If this causes problems the following actions
will help:
- Plug the power supply to the same AC outlet as the PC
- Connect the 0v terminal to Earth
Note - the 0 volt terminal of the controller is connected to the metal shield of the connector.
As this is screwed into the controller housing, the 0 volt is then effectively connected to Earth
when the controller housing is earthed. Therefore it is not usual to see a problem when
connecting a PC to the controller.
RS232
CONTROLLER
P.C.
ACTUATOR
AC
OUTLET
POWER
RTN
SUPPLY
+24V
SMAC-MCA
ELECTROMATE 8
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Notes for installation and operation
If the actuator is in a vertical plane without a return spring fitted, the rod will drop if power to
the unit is lost. Users must be aware of this as it may damage the end effector being used and
also will affect Emergency Stop procedures and re-set sequences.
All units must be operated with a 40% maximum duty cycle, this can be calculated as
follows:
Recommendations from SMAC are that this duty cycle must not be exceeded over a one
second time period.
NOTE: Failure to observe this duty cycle recommendation will usually result in the actuator
sustaining damage through overloading. Overloading will overheat the coil and may cause it
to deform and touch on the magnet housing.
If the actuator is in vertical plane with no spring return, it will use a certain amount of power
just to hold its position. If the payload is excessive, this alone could be enough to exceed the
duty cycle.
The actuator has a low moving mass, therefore with constant force applied and no load, a
large acceleration will result. This will drive the rod into the endstop on the actuator and may
cause damage if it is repeatedly done.
The actuator is a precision piece of equipment in terms of both force and position. Alignment
of the linear axis components must be maintained to ensure smooth running of the rod. To
ensure it remains functioning in the correct manner it is advisable to follow the guidelines.
SMAC-MCA
ELECTROMATE 9
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Precautions:
- Use the optical index to home the actuator on a regular basis, this is especially important
when the actuator is being moved around on another axis, or subject to vibration.
- Avoid powering the rod into the endstops (this is also related to duty cycle)
- Get familiar with the actuator by first using it on a horizontal surface with no load and
limited force
SMAC-MCA
ELECTROMATE 10
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Shielding and grounding advice (for customers manufacturing their own cable)
Note: Using non-SMAC cables will invalidate the warranty unless the cable is checked
by an SMAC engineer.
Shielding
Noise from wires carrying the coil power needs to be prevented from leaking out these
wires need to be twisted pairs held inside a shielded cable.
Encoder signals need to be shielded from noise these should also be twisted pairs held
inside a separate shielded cable.
The shield should cover as much of the wire it is shielding as possible. This means that the
encoder signals shield should start as close to the encoder detector circuit as possible and
terminate as close to the controller connector as possible. The shield for the coil power lines
should follow the same pattern. The shield must therefore cover the whole distance between
actuator and controller.
For the shields to work they must be connected to a noise free connection, the closer this is to
the input the better. This means that for the encoder signal cable the shield should be
connected to the 0v terminal of the operating voltage at the controller connector. The power
cable shield should be connected to the actuator ground (Earth).
SMAC-MCA
ELECTROMATE 11
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Use of SMAC Amplifiers
The SMAC amplifier is intended for use in conjunction with generic servo controllers. The
amplifier runs from an 11-50 Volt DC power supply, dependent on the actuator being used.
In order to achieve maximum power from the largest units (LAL90, LAL300), a 48V, 5Amp
DC supply is required, otherwise 24V, 5 Amp DC is used.
The amplifier takes a +/- 10 V signal from the servo controller, which is used to generate a
+/- 6 Amp peak output* to the actuator. This input is connected to pins 13 (+/- 10V), and pin
25 (0V reference). Encoder pulses pass back through the amplifier directly to the controller
which must be able to interpret these signals. The controller should then adjust its +/- 10 V
output to maintain the required trajectory. The encoder is powered from the 5v input from the
servo card or PC. This signal should be 5.1V +/- 0.1V and free of electrical noise.
The encoder signals are square wave, 3 channel TTL level quadrature outputs. Most actuators
use a differential signal though older units will be single ended. Consult SMAC to confirm
specification of your unit:
* Note: Verify maximum current requirement of the actuator being used, usually 2 or 3
Sold & Serviced By:
Amp.
SMAC-MCA
ELECTROMATE 12
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
There are two dedicated input and output signals.
The overtemperature output from the amplifier signals an overheat condition inside the
actuator. These pins are wired straight through the amplifier from the electronic thermistor
circuit inside the actuator and will switch a 5v signal which should be applied across pins 6
(+5v) and 7 (0v).
There is also a fault signal which becomes active if the amplifier is overheated. This channel
is capable of switching between 5 and 30 V at 10 mA across the fault pin (11) and fault
return (23).
An inhibit input to the Amplifier from the controller will shut off power to the actuator. The
output from the inhibit signal is 9 V. Placing a ground between pins 12 (inhibit) and 24
(inhibit return) will cause the amplifier to shutdown (output goes to zero):
SMAC-MCA
ELECTROMATE 13
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Limit switch signals are present on pins 8 (extend) and pin 9 (retract). The return pin for both
of these is pin 10. They are normally open circuit. When the limit switch is activated, the
resistance across these pins will go to 7k. This can be used to switch a 24V signal. A pull-
up resistor may be necessary across the supply to these pins, measuring across the resistor
will show the voltage going to zero when the limit is active.
The case of the amplifier should be connected to a ground point to reduce the effect of any
electrical noise which may be present in the system.
Diagrams of pin assignments for wiring the amplifier can be found in Appendix 1.
Pin Number Description of connections
1,2 1=+5v, 2=+5v rtn -- 5v input from controller, often 5v from PC is used. 5.1v +/- 0.1v
3,4,5 14,15,16 3,4,5 = A,B,I encoder signals, 14,15,16 = A-,B-,I- signals. Encoder signals from
actuator pass through amplifier to the controller. Max operating current = 140mA.
6,7 6 = overtemp, 7=overtemp rtn. A 5v 10mA current limited signal can be switched
across pin 6 (+5v) and pin 7 (0v).
8,9,10 8=limit+,9=limit-,10=limit rtn. Pull-up resistor required 5 k. Applying a voltage and
measuring across the resistor will show 0v when limit is active.
11,23 11=fault, 23=fault rtn. Can switch up to 30V 10mA signal when active.
12,24 12=inhibit, 24=inhibit rtn. Connecting inhibit (pin 12) to ground (pin24) will inhibit the
output from the amplifier.
13,25 13= +/- 10v command signal, 25=0v reference for signal.
Other pins Not used
If a 24V fail safe limit signal is required (Active limit = 0V), the following circuit can be used
0v + 5V
5.1k 5.1k
10 9 8
LIMIT RTN LIMIT - LIMIT +
REED RELAY, 5v
RS PART NUMBER
REED RELAY, 5v 291-9675 (TOP VIEW)
RS PART NUMBER
291-9675 (TOP VIEW)
PLC
INPUT PLC
INPUT
0V +24 V 0V +24 V
Sold &Switch
Limit Serviced By:
signal to 24V
SMAC-MCA
ELECTROMATE 14
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
SMAC The ability to do work and verify its accuracy
Appendix 1
Diagrams
SMAC-MCA
ELECTROMATE 15
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
LAA-5 AMPLIFIER - ACTUATOR CONNECTOR, FEMALE (OUTPUT TO ACTUATOR)
PIN NO. DESCRIPTION
RS Part (625-6209)
TOLERANCES
(UNLESS STATED)
X. = +/- 0.5
SMAC EUROPE LIMITED
SUITE GA, BISHOPS WEALD HOUSE, ALBION WAY, HORSHAM, RH12 1AH
X.X = +/- 0.1 TEL. -- 44 1403 276488 FAX: -- 44 1403 256266
X.XX = +/- 0.05 MATERIAL PART NAME DRAWN BY
P MARKS
DATE TITLE
1 13 1 9
10 18
14 25
19 26
1 +5 VOLT 1 ENCODER A+
2 5 VOLT RTN 2 ENCODER B+
3 NC 3 ENCODER I+
4 ENCODER A- 4 NC
5 OVERTEMP 5 NC
6 OVERTEMP / LIMIT RTN 6 OVERTEMP / LIMIT RTN
7 COIL + 7 NC
8 COIL + 8 NC
9 ENCODER B- 9 NC
10 NC 10 ENCODER A-
11 LIMIT + 11 ENCODER B-
12 LIMIT - 12 ENCODER I-
13 NC 13 NC
14 ENCODER A+ 14 LIMIT +
15 NC 15 LIMIT -
16 ENCODER B+ 16 NC
17 NC 17 NC
18 ENCODER I+ 18 NC
19 COIL - 19 +5 VOLT
20 COIL - 20 5 VOLT RTN
21 NC 21 COIL +
22 NC 22 COIL +
23 ENCODER I- 23 COIL -
24 NC 24 COIL -
25 NC 25 NC
26 NC
TOLERANCES
(UNLESS STATED)
X. = +/- 0.5
SMAC EUROPE LIMITED
SUITE GA, BISHOPS WEALD HOUSE, ALBION WAY, HORSHAM, RH12 1AH
X.X = +/- 0.1 TEL. -- 44 1403 276488 FAX: -- 44 1403 256266
X.XX = +/- 0.05 MATERIAL PART NAME DRAWN BY
SCALE
P. Marks 08/02
Revision 1.6
SMAC-MCA
ELECTROMATE 25
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Configuring your Computer
To communicate with SMAC controllers, any text editor can be used. Normally a laptop
running Windows 3.1 or Windows 95/NT is used.
Windows 3.1
Windows 95 or NT
The SMAC cable consist of a D-sub connector (usually 25 pin) at the actuator end and either
a 15 pin (LAC-1) or 26 pin (LAC-25) D-sub connector at the controller end. There is also a
green plastic Phoenix power connector ensure this is connected in the correct
orientation. The RS232 cable consists of a 9 pin D-sub connector at one end and a 6 pin
telephone type connector at the other.
SMAC-MCA
ELECTROMATE 27
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Setting the Controller Parameters
A PID control algorithm is used to ensure optimum response behaviour of the actuator to its
input commands reducing errors in velocity, acceleration and position.
P = Proportional Gain This term determines the overall response of a system to position
errors, providing an output signal proportional to the error at any time. A low Proportional
gain provides a system which is very stable (doesnt oscillate), has low stiffness and possibly
large position errors under load. A high proportional gain provides high stiffness and small
positional errors under load, but may be unstable.
I = Integral Gain This term helps the system eliminate positional errors caused by friction
or loading by increasing the output to the actuator until the error reduces to zero. The error is
added or integrated over time and eventually the controller generates a sufficient output to
reduce it. A low Integral Gain may allow positional errors at rest, which depend on the static
or frictional loads. Increasing the Integral gain will reduce these errors but if it is too high, the
system may hunt or oscillate at low frequency about the desired position.
D = Derivative Gain This term provides damping and stability to the system by preventing
overshoot. The controller analyses the change in error over time, in effect predicting what the
error will be at the next time interval and adjusting the output accordingly. A low value of
derivative gain allows a fast response to positional errors but may also allow the system to
overshoot the desired condition. Large values of derivative gain will cause a slower response
but may allow a higher proportional gain to be used without the system oscillating.
The SMAC controller allows the Proportional (SG command), Integral (SI command) and
Derivative (SD command) values to be programmed. It is also possible to program associated
values to enhance performance Derivative Gain Sample Frequency (FR), Sample Rate of
Integral Gain (RI), Integral Limit (IL).
The values tabulated overleaf should be used to setup the system initially. These may have to
be adjusted to suit differing loading conditions, actuator orientations etc.
SMAC-MCA
ELECTROMATE 28
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
PID values for SMAC Actuators
Note: These are starting values only, they may need to be adjusted for different load values or
actuator orientations. Values should work with both LAC-25 and LAC-1
For 0.5 and 0.1, reduce all values by a factor of 5 (e.g. SG25 becomes SG5)
Rotary
Standard LAR 30/37/55 150 200 1500 5000
1Nm LAR90 20 200 300 1500
Direct Drive LAR20/34/55 50 300 250 3000
It will also be necessary to program the following values. These values are nominal and can
be changed to suit the motion profile as required during the program.
These values can be displayed at any time by typing the TK (tell constants) command. Note
that changing the SS command will alter the SV and SA values produced, as these are
dependent on the clock speed.
Sold & Serviced By:
SMAC-MCA
ELECTROMATE 29
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Registers
Part of the non-volatile memory (NVRAM) of the controller is used to create a 256 by 32 bit
register space. This means that variables can be stored, updated and retrieved during
execution of a program. It is possible to store 32 bit numbers in any of the 255 registers.
Register 0 is referred to as the accumulator, this is regarded as a temporary store for
variables. The code required to store a number is as follows:
This will store a value of 10000 to register number 220. Typing the command TR220 (Tell
Register 220) will display 10000 (the contents of register 220) on the screen.
The command MA@220,GO would now be the same as typing MA10000,GO, the @
symbol shows that a register value is to be used.
Registers could, for example, be used to set up a counter to record the number of cycles
carried out by the actuator. We would increase the value in a register by one each time a
cycle is completed.
Preset Variables
There are areas in memory allocated to preset internal variables. It is possible to access these
values at any time during execution of a program. This is important during such routines as a
soft land (measure) routine, homing routine and for safety or damage checks during the cycle.
We can access such variables as position error, position, input values.
For example to access the current position of axis 1, type RL494 (Read Long word at address
494 to accumulator), this will transfer the current real position into the accumulator. The
command TR0, (Tell Register 0 i.e. the accumulator) will display this value on the screen.
There is a comprehensive explanation of all these functions, along with a list of preset
variables on pages 44-51 of the LAC-25 manual, or pages 41-48 of the LAC-1 manual.
SMAC-MCA
ELECTROMATE 30
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Programmers Notes
MD10,QM,MN,SQ10000,MJ20
MD20,WA1000,MF
Notes: Macros are started by typing MS (macro sequence) followed by the number of the
first macro to be executed
On power up of the unit the program will execute Macro 0 automatically.
Macros will continue to execute if they are in numerical order, otherwise an MJ
command is required.
Default values are usually 0, check controller manual for full list of defaults.
LAC-25 controllers need to have an axis address (e.g. 1MN = Axis 1 Motor On, 2MN
= Axis 2 Motor On, 0MF = Axis 1 and Axis 2 Motor Off)
(Note that with an LAC-1 controller these axis labels are not needed and will
cause a fault. A re-power of the unit is necessary in this case)
Getting Started
SMAC systems consist of a controller, cable and actuator. The controller generates
movement of the actuator as commanded by the software. A current is output to the coil of
the actuator, this provides the driving force for the system. Position of the actuator piston is
continually fed back by the linear encoder, this is monitored by the controller.
When the actuator is commanded to make a move through software, a trajectory is calculated
for the move. The position of the actuator piston is monitored over time by the controller, and
the force output is controlled to match the actual movement to the required movement. The
difference between the actual position and required position is known as the position error.
The controller will try to reduce the position error to zero at any time.
It is also possible to use the actuator without this feedback facility, the unit can run open-
loop, ignoring the encoder feedback. The controller will generate a current through the coil
which produces a constant force on the end of the rod. If there is no resistance to movement,
the rod will accelerate due to the applied force.
Refer to the Actuator User Manual for details of setting up system hardware.
Sold & Serviced By:
SMAC-MCA
ELECTROMATE 31
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Programming modes
There are three methods with which the actuator can be commanded to move - force mode,
velocity mode and position mode. As follows:
Force Mode
Force mode is open loop, using no feedback from the encoder. Actual position is still
monitored but has no effect on the output. The commands that are used are as follows:
MD100,MN,QM0,SQ32767
The range of values for the SQ command are from 32767 to +32767, corresponding to
maximum force in positive (extending the rod) or negative (retracting) directions. This will
generate an output from the PWM amplifier inside the controller. The output is almost linear,
though towards the higher end of the scale there will be more energy lost through heat
generation inside the coil, effectively reducing the force generated.
QM1 is a more accurate method to generate a force using one of the Analogue Input channels
to monitor the actual current running through the coil. The commands for this method of
programming would be as follows:
MD100,SC2000,MN,QM1,SQ500
Note that an SC value will need to be programmed to allow feedback to be monitored and
outputs modified. The range of values for the SQ command are from 1023 to +1023,
corresponding to a +/- 5 Amp output generated from the controller. The maximum current
that is used in the coil of the actuator is +/- 2 Amp, therefore the maximum value would be
SQ-400 to SQ400. Anything above SQ400 would have no effect on the current passing
through the coil.
Resolution = max force / 400. For a 100N unit: Resolution = 100N / 400 = 0.25 N
SMAC-MCA
ELECTROMATE 32
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Velocity Mode
This allows the rod to be moved with a given velocity, acceleration, force and direction.
The commands to use are as follows:
MD100,MN,VM,SA1000,SV100000,SQ10000,DI0,GO
The controller calculates velocity in terms of encoder counts per update period:
For example: Velocity 10mm/s with 5 micron encoder, update = 200 s (standard LAC-
1 / LAC-25)
2000 / 5000 (update periods / sec) = 0.4 encoder counts per update period
For example: Acceleration 100 mm/s2 , 5 micron encoder, update period = 200 s
The most common application for using velocity mode is the softland routine, where we use
the actuator to land with a controlled force onto a component. The commands we use for this
are as follows;
MD100,MN,VM,SA1000,SV50000,SQ5000,DI0,GO,WA50
MD101,RW538,IG50,MGLANDED,MJ105,RP
MD105,TP,MF,EP
MD100 Starts the actuator moving in a positive direction with limited velocity and force.
MD101 Word 538 is the address for the position error, if greater than 50 (IG50) the next
two commands are executed i.e. the message is displayed and the program jumps to MD105.
Otherwise these commands are ignored and the RP (repeat) command is executed, which
repeats the macro. Sold & Serviced By:
MD105 Tell Position will display the current position, Motor off, End Program.
SMAC-MCA
ELECTROMATE 33
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Position Mode
Using position mode the actuator can be moved to various positions along the stroke. It is
possible to set acceleration, velocity and force during the move.
It is possible to make absolute or relative moves or to store learned positions, which can be
recalled later in the program.
The code used for position mode moves is as follows:
MD100,PM,MN,SA1000,SV100000,SQ20000,MA1000,GO
or
MR1000
or
MP20
The numbers following the move command are the number of encoder counts to move.
Move Absolute will move the rod to an absolute position from the defined zero position.
Move Relative will move the rod a relative distance from the current position.
Move Position will move the rod to a previously defined position (requires a learned position
LP command to store the position).
MD100,PM,MN,SA1000,SV100000,SQ20000,MA100,GO,WS20,MA1000,GO,WS500,M
A4000,GO,WS50,MGFINISHED
WS = wait stop, the value is the number of milliseconds to wait at that position. It is possible
to program a WS0 command.
All SV,SA and SQ values will remain at their previously programmed values, it is only
necessary to program them if they have to be changed from the previous value.
SMAC-MCA
ELECTROMATE 34
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
LOOK-UP TABLE FOR VELOCITY / ACCELERATION VALUES
(USING LAC-1 / LAC-25, UPDATE RATE = 200 s)
1 2621 1 13107
5 13107 5 65536
10 26214 10 131072
15 39322 15 196608
20 52429 20 262144
50 131072 50 655360
100 262144 100 1310720
200 524288 200 2621440
500 1310720 500 6553600
1000 2621440 1000 13107200
2000 5242880 2000 26214400
10 5 10 26
50 26 50 131
100 52 100 262
150 79 150 393
200 105 200 524
500 262 500 1311
1000 524 1000 2621
2000 1049 2000 5243
5000 2621 5000 13107
10000 5243 10000 26214
20000 10486 20000 52429
SMAC-MCA
ELECTROMATE 35
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Sample Program Testing the Encoder in a Program
Before the actuator can be moved, the encoder must be tested. If it is not tested and a fault is
present, a large position error could build up. This would then cause a large output signal to
be generated, resulting in rapid movement and crashing of the actuator into the endstops.
MD0,MF,PM,SQ32767,CF0,CF1,CF2,CF3,CF4,CF5,CF6,CF7,DH,AL1,AR3 Motor
off, enter position mode reset force limit to maximum, turn off all channels, define home.
Initialise a counter in register 3 and set it to 1 at the start.
MD1,AL254,LV27,EV27 Load value 254 into vector 27 (overtemp). Enable vector 27.
SMAC-MCA
ELECTROMATE 36
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
direction, as expected) turn motor off and jump to macro 7. Else read register 3 value, add 1
to it, store it back into register 3. If this is greater than 10, turn motor off and jump to MD5,
else jump to the start of macro 4.
SMAC-MCA
ELECTROMATE 37
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Sample Routines
Softland Routine
This is the routine which enables the actuator to land on a surface with a low force, for
example to measure a component. This is done in velocity mode, monitoring the position
error as the rod is moving with a controlled force. It is also possible to set a position window
where the component should be located, if it is not located within a certain position, the rod
will retract.
MD101,RW538,IG20,MGFOUND,MJ105,RL494,IG5000,MGTOO FAR,MJ110,RP
The position error is checked (RW538), if it is greater than 20 encoder counts, display
message and jump to MD105. Else read actual position (RL494), if greater than 5000 counts,
display message and jump to MD110
MD105,ST,MGPOSITION = :N,TP,MJ110
Stop motion, display message (:N means no carriage return after message), Tell Position then
jump to MD110.
MD110,PM,MN,SA5000,SV500000,GH,WA50,SQ32767,WS100,MJ100
Enter position mode, set acceleration and force higher. Issue go home (GH) command but
wait 50ms before ramping force up to maximum. This is needed because if the force is
increased immediately then any position error will be taken up, possibly deforming the
measured component. Wait after stop 100ms then jump back to MD100.
Notes: If the actuator is in vertical orientation it will not be possible to land with a force less
than the moving mass of the actuator with the above code. This is because when the
controller sees a position error it will ramp up to the maximum allowable force in order to
overcome that error (SQ5000 in this case). To overcome this situation, it would be desirable
to limit the maximum force to a lower value (SQ500 for example) however it would not then
be possible to control the motion of the actuator, the rod would just drop under its own
weight.
It is possible to assign values to the minimum and maximum forces used, allowing the motion
Sold & Serviced By:
of the rod to be controlled, but limiting the maximum force that will be applied. The
addresses to be used are Word 582 (minimum ELECTROMATE
SQ value e.g. -30000) and Word 534
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
(maximum SQ value e.g. 0). It is necessary to write values to these words from the
accumulator using the WW instruction, these commands replace the SQ command.
To put these values into the softland routine, the code would be as follows:
Note that these values would not work if the actuator was in horizontal because there is no
force available to move the rod forward.
SMAC-MCA
ELECTROMATE 39
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Position Error Checking
The position error checking routine is used to ensure the actuator has reached its target
position and has not encountered an obstruction. If the unit has not reached position there will
be a large position error present which will cause a large restoring force to be generated
within the actuator which may exceed the 40% duty cycle. The checking routine consists of a
subroutine of two lines which checks that the position error is within a certain range. This can
be called at any time during the program.
MD120,PM,MN,MA2000,GO,WS100,MC245,MGAT POSITION,MJ130
;
MD130,GH,WS100,MC245,MGAT HOME,MJ120
;
MD245,RW538,IG20,MG+ ERROR,MJ246,IB-20,MG- ERROR,MJ246,RC
MD246,MF,EP
Note: PID tuning may influence settling time at position. Payload may cause steady state
error at position. These factors should be taken into account when choosing the amount of
error to check for, and the time after the move before the check is carried out.
If the unit is at rest and the rod is disturbed by an external force, either another part of the
system or manually by an operator, this will also cause a position error to be present. To
avoid any damage it is useful to reduce the holding force at this rest position, therefore
bringing the actuator to within its 40% duty cycle.
MD120,PM,MN,MA2000,GO,WS100,MC245,MGAT POSITION,SQ10000,MJ130
;
MD130,GH,WS100,MC245,MGAT HOME,SQ10000,MJ120
;
MD245,RW538,IG20,MG+ ERROR,MJ246,IB-20,MG- ERROR,MJ246,RC
MD246,MF,EP
SMAC-MCA
ELECTROMATE 40
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Vector interrupts
There are some points to note when using interrupts. The main point is that the interrupts are
only sampled when the program is executing commands. It is therefore wise to avoid absolute
delays in the program.
It is often the case that the unit is at a start position waiting for an input channel (from a PLC
or push button for example) to start the program running. This could take the form of the
following code
MD100,WN2
MD101,PM,MN,SA1000,SV100000,SQ32767,MA3000,GO,WS100,GH,WS100,MJ100
The Wait On command would cause the program to stop executing until that condition is
true. This means that the interrupts are not being sampled while the code is waiting for this
condition. It would be better to use the If On command with the program in a loop which
would allow checks to be made while at that position, also it would be advisable to add the
other checks outlined in this section:
MD100,IN2,MJ101,NO,MC245,RP
MD101,PM,MN,SA1000,SV100000,SQ32767,MA3000,GO,WS100,MC245,GH,WS100,MC245,
SQ10000,MJ100
;
MD245,RW538,IG20,MG+ ERROR,MJ246,IB-20,MG- ERROR,MJ246,RC
MD246,MF,EP
SMAC-MCA
ELECTROMATE 41
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Input / Output Channels
Note: The method of operation of the input / output channels on the LAC-1 and LAC-25 are
different. Please ensure that the correct instructions are followed for the controller that is
being used.
LAC-1
This unit has 8 inputs and 8 outputs operating at 5 volt TTL levels. The connector on the
controller is a 26-way high density d-type connector.
To activate an input, the appropriate pin on the connector (labelled input 1, input 2 etc.) must
be connected to a common pin on the connector. This is a volt-free contact.
An output will be switched from 0 volts between output pin and common when in the off
state, to 5 volts when on. If this has to be used to switch a 24V signal (on a PLC for
example), a relay must be used. (e.g. RS 291-9675).
LAC-25
This unit has 4 inputs and 4 outputs operating at between 5 and 24 volts. The connector on
the controller is a 26-way high density d-type connector.
To activate an input signal a voltage must be applied to the input pin, with the input return
connected to ground.
The output channels can be used to switch a voltage of between 5 and 24 volts dc. With the
channel in the off state, no voltage will be passed. With the channel in the on state a voltage
will be passed.
These commands will cause an absolute wait in the program until the relevant channel
becomes activated / deactivated.
SMAC-MCA
ELECTROMATE 42
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
IN = If On e.g. IN0 = If on channel 0
IF = If Off e.g. IF6 = If on channel 6
These commands will act as a normal if command. If the condition is true, the two
commands following the if statement will be executed, otherwise they will be ignored.
If the condition is true (on or off), the remainder of the command line after the do if
command will be executed, otherwise it will be ignored.
SMAC-MCA
ELECTROMATE 43
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Wiring Diagram for Input / Output to PLC
LAC-1 to PLC I/O channels are 5V TTL levels therefore to switch into 24V PLC
system, a relay is required. Inputs to LAC-1 are volt free contacts. Output will switch 5V
TTL relay.
LAC-25 to PLC
Inputs and outputs are opto isolated 5-24V. They can be connected directly into 24V PLC
inputs / outputs.
SMAC-MCA
ELECTROMATE 44
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Data Capture
Overview
The LAC-1 and LAC-25 controllers have a facility for data capture. This allows certain
system parameters to be read and stored at very accurate time intervals while motion
commands are being executed. The data capture feature runs parallel to the main servo loop
and does not affect the performance of the system in any way. The captured values can be
saved to a file, or copied and pasted to a spreadsheet to verify performance of the system.
This feature is very useful when tuning PID values and can also be used to check other
conditions such as motion paths and servo output forces during a cycle.
RecSize Data recorder sample address size Word 426 Identifies if the variable to
be captured is 32 bit , 16 bit
or 8 bit. (from the lookup
table - load value of 0 = 32
bit, value 1 = 8 bit, value 2
= 16 bit.
The captured numbers are stored in the same area of memory as the program macros. It is
necessary to set aside a block of this memory where the captured numbers will be stored.
This is done using the CS (Capture Sold
Storage) command.
& Serviced By: (e.g.CS300 will set up an area where
SMAC-MCA
ELECTROMATE 45
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
300 samples can be stored). This only needs to be defined once. If the RM (reset macros)
command has been issued it will need to be defined again. Continual execution of the CS
command will lead to an error #7 - Out of macro space.
Data is retrieved from the controller using the DD (dump data) command.
SMAC-MCA
ELECTROMATE 46
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Worked Example
Checking the profile of a linear move from 0 to 10mm. Position data is to be captured at 1ms
time intervals, 300 samples are required. Actuator is LAL90, 5 micron resolution.
>
>
>mf,rm,cs300 Reset macros, setup storage for 300 data samples
>
>al5,ww422 Setup data capture rate of 1ms
>al494,ww424 Set address of axis 1 current real position
>al0,ww426 Set for 32-bit (long word) variable size
>
>
>fi,wi Find index line of actuator (move rod by hand)
>
>sg100,si100,sd1200,fr1,ri1,il5000,sa1000,sv250000,sq25000 Set PID and velocity
values
>
>pm,mn,gh,ws200 Send actuator to home (index line) position
>
>
>pm,mn,ma2000,go,cd300,ws200 Move to 10mm (2000 count) position, capture 300
samples
>
>dd300 Dump data (lists 300 captured samples)
0
0 Copy and paste these numbers to excel spreadsheet
1
2
5
10
14
15
21
30
etc.
2000
2000
>
>
>
>
>
>
>
SMAC-MCA
ELECTROMATE 47
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
LAL90 move to posn 2000
2500
2000
1500
Position
1000 Series1
500
0
0 50 100 150 200 250 300 350
-500
Time (ms)
If this data is used to tune PID values, it can be seen from the graph there is a small amount
of overshoot error at position. This can be eliminated by increasing the SI (set integral) or
IL(integration limit) commands and running the profile again to verify.
SMAC-MCA
ELECTROMATE 48
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Quality Control / Gauging Applications
Several features of the SMAC voice coil actuators and servo controllers make the systems
suitable for a range of gauging and quality control applications:
1. Force control This enables the system to apply a very soft force to a surface, enabling
measurement of fragile parts and detection of soft, compliant surfaces.
2. Velocity control Enables the unit to minimize impact force onto a surface.
3. Position feedback Allows the user to monitor position at all times.
4. Force feedback Allows the user to monitor force (current) at all times.
5. Self-teach The unit can learn a target position.
6. Mathematical functions the controller can perform comparisons of actual measured
values to user-defined tolerance windows.
7. Digital I/O Used to signal pass / fail situation. Can also be used to identify too high /
too low values, feeding back to a host PLC or PC to adjust the manufacturing process
accordingly.
8. RS232 Communication This can be used to send real values to a host PC for data
collection or Statistical Process Control
The usual sequence for measuring a surface and checking a position tolerance is as follows:
4. Depress switch to test position, read force value, check if greater than (IG) or below (IB)
stored values.
SMAC-MCA
ELECTROMATE 49
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Sample code for checking position (add to softland routine in Actuator User Manual)
e.g. Upper position limit = 2000 encoder counts, lower position limit = 1000 encoder counts
Output channel 2 on (CN2) = too high, Output channel 3 on (CN3) = too low, output channel
0 on (CN0) = good
RL494 = read axis 1 (linear) position
The If commands (IG,IB,) allow the program to continue executing if the condition is true,
otherwise the two commands following the If command will be ignored.
Sample code for checking force (add to softland routine in Actuator User Manual)
SMAC-MCA
ELECTROMATE 50
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Worked example (LAL37 actuator, 5 micron encoder)
Softland on surface, read position, check if within tolerance, retract
SMAC-MCA
ELECTROMATE 51
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]
Sold & Serviced By:
SMAC-MCA
ELECTROMATE 52
Toll Free Phone (877) SERVO98
Toll Free Fax (877) SERV099
www.electromate.com
[email protected]