1 accelera motion controllers sizzling speed. fully loaded
TRANSCRIPT
2
Outline
• Advances in Technology
• 5th Generation Accelera Series
• DMC-18x6 PCI Accelera Controller
• DMC-40x0 Ethernet Accelera Controller
• Inverse Kinematics Example
3
A New Generation of Motion Control
Today’s generation of motion controllers provide more capability than ever before due to advancements in technology
4
Areas of Improvement
1. Performance – Accuracy and Settling2. Coordination – Modes of motion,
Application programs3. Smaller package size and integration with
power drivers
4. Communication
5
Structure of Motion Control System
Host
Application Program
Closed Loop
Driver
Motor
I/ODigital/Analog
Modes of MotionProfile Generation
Encoder
6
Structure of Motion Control System
Host
Application Program
Closed Loop
Driver
Motor
I/ODigital/Analog
Modes of MotionProfile Generation
Encoder
PerformanceSample TimeEncoder FrequencyDAC ResolutionFilters PID/NotchTuning Program
7
Structure of Motion Control System
Host
Application Program
Closed Loop
Driver
Motor
I/ODigital/Analog
Modes of MotionProfile Generation
Encoder
CoordinationModes of MotionApplication Programs
8
Structure of Motion Control System
Host
Application Program
Closed Loop
Driver
Motor
I/ODigital/Analog
Modes of MotionProfile Generation
Encoder
Integration with Power Drivers
9
Structure of Motion Control System
Host
Application Program
Closed Loop
Driver
Motor
I/ODigital/Analog
Modes of MotionProfile Generation
Encoder
Communication
10
Advancements in Several Areas
• Advancements in Microprocessor faster motion control
• Advancements in Motor Drives more power in a small space
• Advancements in Ethernet virtually deterministic for motion applications
• Advancements in ICs and Circuit Design allows more features to be added
11
Microprocessor Advancements
• In 1983, Galil introduced the world’s 1st microprocessor-based servo motion controller. One axis of motion was controlled using an 8-bit microprocessor
• In the 1990’s, Galil continued to introduce new generations of motion controllers based on 16-bit and 32-bit microprocessors
• Today, Galil offers its 5th generation motion controllers—the Accelera Series which is based on a powerful, RISC/DSP processor.
12
Accelera—It’s all about Speed
Fast RISC processing means faster motion control!• Servo loop update rates 4X faster than prior generation, as
low as 31 microseconds per axis good for high bandwidth systems such as voice coils or short, fast moves
• Command processing 10X faster than prior generation, as low as 40 microseconds per command executes entire motion program quickly and allows more tasks to be completed by controller
• Accepts encoder inputs 2X faster, up to 22 MHz good for ultra-high resolution position sensors
13
Advancements in the Motor Drives
Improvements in amplifier design using Direct FETs allows better power density—more power in less space!
500W drive takes less than 6 square inches
• Direct FETs are smaller in size• Direct FETs have better thermal characteristics
which gets heat to top of package more efficiently
14
Advancements in Ethernet
• 100Base-T Ethernet is virtually deterministic for motion control applications
• Time to send commands across network is insignificant
15
Advancements in Circuit Design
Improvements in circuit design means more features can be added cost-effectively:
• Optically isolated I/O• Analog inputs for interface to sensors such as
joysticks• High powered outputs to drive relays and
brakes
• On-board memory, variables and arrays
• Additional communication ports such as RS232
16
Accelera PCI Controller
In 2005, Galil Introduced the DMC-18x6 Accelera PCI Controller
Top: DMC-1886 8-axis PCI controllerBottom: DMC-1846 4-axis PCI controller
17
Introducing the DMC-40x0 Series
In 2006, Galil Introduced the DMC-40x0 Accelera Ethernet Controller
Top: DMC-4040 4-axis Ethernet controllerBottom: DMC-4080 8-axis Ethernet controller
18
Sizzling Specs of Accelera Controllers
Accelera Prior Generation
Max encoder rate 22 MHz 12 MHz
Max stepper rate 6 MHz 3 MHz
Command Execution Speed
40 microseconds 400 microseconds
Minimum Servo Update 31 microseconds 125 microseconds
Program memory 2000 lines x 80 chr 1000 lines x 80 chr
Array Size 16000 elements 8000 elements
Number of variables 510 254
19
Handles Virtually any Mode of Motion
• Point-to-Point Positioning
• Position Tracking
• Jogging
• Linear and Circular Interpolation
• Tangential Following
• Helical
• Electronic Gearing
• Electronic Cam
• Contouring
• Teach and Playback
20
DMC-4000- Full Featured, High Speed
• DMC-40x0 Accelera Ethernet Controller combines all the enhanced capabilities of the processor, drives, Ethernet and features in a single compact unit
• The DMC-40x0 is ideally suited for OEMs who need a full-featured, box-level controller with enhanced performance
21
DMC-40x0 Accelera Controller
• Full-featured, packaged controller
• Ultra-high speed and precision• Ethernet 10/100Base-T and
two RS232 ports• 1 through 8 axes• Standard features: optically
isolated I/O, high-powered outputs, analog inputs, metal enclosure, D-type connectors
• Available packaged with stepper and servo drives
DMC-4040 4-axis controller
22
DMC-40x0 vs DMC-21x3 Features
DMC-40x0 Accelera
Box-Level Controller
DMC-21x3 Econo
Card-level Controller Analog Inputs 8, standard 8, optional with DB-28040
Isolated Inputs 8 or 16, standard Optional with ICM-20105
Isolated, high-power
Outputs (.5A, 24V)
8 or 16, standard Optional with ICM-20105
Extended digital I/O 32, Standard 40, Optional with DB-28040
LCD display 2 line x 8chr, included Not available
Ethernet 10/100 Base-T 10 Base-T only
RS232 ports Two ports
up to 115 kBaud
One port only
up to 19.2 kbaud ICM Included Optional
DC-to-DC converter Included
Accepts 20-80 VDC
Optional
Metal enclosure Included Optional
23
Drives Save Space, Cost and Wiring
• DMC-40x0 is available with internal, multi-axis drives for steppers and servos
• Internal drives save space, cost and wiring
• DMC-40x0 can also be connected to external drives of any size or power
24
Drive Options
Drive Model Number of Axes
Motor Type Specs
AMP-43020 2 Brush or brushless servo
7A cont, 10A peak 20-80 VDC
AMP-43040 4 Brush or brushless servo
7A cont, 10A peak 20-80 VDC
AMP-43140 4 Brush servo 1A
+/-12-30 VDCSDM-44040 4 Full, half, ¼, 1/16
stepper
1.4A/phase
12-60 VDC
SDM-44140 4 Microstep 3A/phase
12-60 VDC
25
AMP-430x0 2- and 4-axis 500W Drives
• AMP-43040 contains four PWM amplifiers for driving brush or brushless servos. AMP-43020 2-axis version also available.
• 7 Amps cont, 10 Amps peak; 20-80 VDC
• Configurable for inverter or chopper mode
• No external heat sink required
26
AMP-430x0 is a “Hybrid” Design
AMP-430x0 has both Digital and Analog circuitry Hybrid Design
• Analog current loop for highest bandwidth and response. Analog circuitry is on AMP-430x0 amplifier board
• Digital circuitry for amplifier set-up and status reporting. Microprocessor is on DMC-40x0 controller board. For example, AG sets AMP gain and TA reports AMP status
27
AMP-43140 Four 20W Servo Drives
• Drives four brush servos
• Linear drives
• Requires +/-12-30 VDC input
• Maximum current for each amplifier is 1A
• Maximum output power: 20 W per amplifier and 60 W total
• No external heat sink required
28
SDM-44040 Four Stepper Drives
• Drives two-phase bipolar steppers
• Requires single 12-30 VDC input
• User configurable for: 1.4A, 1.0A, .75A or .5A
• User configurable for: full-step, half-step, ¼ step or 1/16 step
• Short circuit protection
• No external heat sink required
29
SDM-44140 Four Microstep Drives
• Drives two-phase bipolar steppers
• 64 microsteps/full step
• Drives motors up to 3A, 12-60 VDC
• Software Selectable current settings: .5A, 1A, 2A, 3A
• No external heat sink required
30
DMC-40x0 Physical Dimensions
DMC-40x0 is extremely compact!
Box Dimensions: 1-4 axes: 8.1” x 7.25” x 1.72” 5-8 axes: 11.5” x 7.25” x 1.72”
package includes the multi-axis drives
31
DMC-4080 Controller/Drive Package
The DMC-4080 8-axis controller and drive unit connects to 8 servo motors
32
DMC-40x0 Options
New options for the DMC-40x0:
-DIN Din rail mounting clips-16-BIT 16-bit ADC (12-BIT is standard)-5V 5V for extended I/O (3.3V is standard)-SSI SSI interface
-DIFF Differential outputs for analog motor command-STEP Differential outputs for step/direction command
-I100 Sinusiodal encoder interpolation
33
Part Number Generator for DMC-40x0
• New web tool helps generate part number with all the options for the DMC-40x0
• Also calculates pricing
• Part Number Generator Tool is on DMC-40x0 webpage:
http://www.galilmc.com/products/accelera/dmc40x0.html
34
For More Info
• See website for complete specs and pricing information
http://www.galilmc.com/products/accelera/dmc40x0.html
35
Galil Material is protected by copyright and must not be reproduced or disassembled in any form without prior written
consent of Galil Motion Control, Inc.
37
Inverse Kinematics - Agenda
• What is Inverse Kinematics and why is it used?
• Simple 2-D example
• Solution Methods
38
Inverse Kinematics
Inverse Kinematics equations allow an Engineer to compute angular (rotary encoder) positions knowing the end-effector location and robot geometry.
Forward Kinematics
Inverse Kinematics
Increase in complexity with additional DOF
Min/max angular positions, boundary conditions, and ‘keep-out’ zones are critical in providing a complete solution.
Posmotor Posload
39
Inverse Kinematics
Why use inverse kinematics?
To allow an operator to move a machine to a real, known location in Cartesian space
without intimate knowledge of the machine mechanics
40
Solution Options
Three general options:1. Host PC
1. All motor positions are calculated by a host PC2. Controller receives Contour mode position data3. Customer has complete control over equations, constants, and
update rates2. On controller, in a software program
1. Encoder positions calculated by Galil in a dmc file2. No host PC necessary3. Accelera series can generate profiles at up to a 2 msec update
(depends on equation complexity)4. Customer can change equations or constants at will
3. On controller, in firmware1. Motor positions calculated within the controller’s servo loop2. Very fast calculations3. Once programmed into firmware, customer cannot change
equations
43
Simple 2-D Example
B: Length of imaginary line
Q1: Angle between X axis and imaginary line B
Q2: Interior angle between imaginary line B and link L1
44
Simple 2-D example
• Equations:
B2 = Xhand2 + Yhand
2
Q1 = atan(Yhand/Xhand)
Q2 = acos[(L12
- L22 + B2)/(2 * L1 * B)]
θ1 = Q1+Q2
θ2 = acos[(L12
+ L22 - B2)/(2 * L1 * L2)]
45
Simple 2-D Example
Calculate points along trajectory (150,100)-(250,200)
Use Galil motion profiler
46
Simple 2-D Example
Use the Galil motion profiler to define a end-effector acceleration, speed and deceleration.
Galil Code to generate XY coordinates along motion path
#CALC
TL 0,0; ER -1,-1; 'FOR PURE CALCULATION
VMXY
VS 1000;VA 20000;VD 20000
DP 150,100; 'DEFINE STARTING POSITION
DA,*[]; 'DEALOCATE ARRAYS
DM XPOS[100],YPOS[100]; 'ARRAYS FOR TRAJECTORY DATA
RA XPOS[],YPOS[]; 'SET UP RECORD ARRAY
RD _RPX,_RPY; 'RECORD REFERENCE POSITION
VP 100,100; 'MOVE TO POSITION 250,200
VE
RC1
BGS
AMS
MG"DONE"
EN
47
Simple 2-D Example
Resulting trajectory data in Excel:
End-Effector X-axis position vs. time
140
160
180
200
220
240
260
0 50 100 150 200
Time, msec
Xh
and
End-Effector Y-axis Position vs. Time
90
110
130
150
170
190
210
0 50 100 150 200
Time, msecY
han
d
48
Simple 2-D Example
#GENR8'L1 = LENGTH OF FIRST LINK'L2 = LENGTH OF SECOND LINK'B= LENGTH OF HYPOTNUSE'Q1 = ANGLE BETWEEN X AXIS AND LINE B'Q2 = INTERIOR ANGLE FROM B TO L1'Theta1 = ABS ANGULAR POS OF FIRST MOTOR'Theta2 = ABS ANGULAR POS OF SECOND MOTORL1=200L2=200DA,Theta1[];DA,Theta2[]NOTE BUILD ARRAYS FOR CONTOUR DATADM Theta1[100],Theta2[100] N=0;'ARRAY INCREMENT#CALC2B=@SQR[(Xpos[N]*Xpos[N])+(Ypos[N]*Ypos[N])]Q1=@ATAN[(Ypos[N])/(Xpos[N])]Q2=@ACOS[((L1*L1)-(L2*L2)+(B*B))/(2*L1*B)]Theta1[N]=Q1+Q2Theta2[N]=@ACOS[((L1*L1)+(L2*L2)-(B*B))/(2*L1*L2)]N=N+1JP#CALC2,N<100MG"DONE GENR8"EN
Theta1 Absolute Angle
70
75
80
85
90
95
100
0 50 100 150 200
Time
An
gle
, Deg
rees
Theta2 Absolute Angle
45
55
65
75
85
95
105
115
0 50 100 150 200
Time
An
gle
, Deg
rees
49
Simple 2-D Example
#CONTMOVNOTE Encres = ENCODER COUNTS/DEGREE Encres=4000/360NOTE BUILD ARRAYS FOR ENCODER RELATIVE DATADA,Enc1[];DA,Enc[2]DM Enc1[100],Enc2[100] N=0; 'INCREMENT RESET #CALC3Enc1[N]=Encres*((Theta1[N+1])-(Theta1[N]))Enc2[N]=Encres*((Theta2[N+1])-(Theta2[N]))N=N+1JP#CALC3,N<99MG"DONE CONTCLC"
DP0,0NOTE THIS ROUTINE SENDS ALL 100 CONTOUR MOVESCMXYDT1N=0;'INCREMENT RESET#LOOP3CD Enc1[N],Enc2[N]N=N+1JP#LOOP3,N<100#WAIT;JP#WAIT,_CM<>511CD 0,0=0EN
X Encoder Value
-300
-250
-200
-150
-100
-50
0
0 20 40 60 80 100 120 140 160 180 200
Time(ms)
En
cod
er R
elat
ive
Val
ue
Y Encoder Value
0
100
200
300
400
500
600
0 50 100 150 200
Time(ms)
En
co
de
r R
ela
tiv
e V
alu
e