Acc 242am
Acc 242am
Acc 242am
^2 Accessory 24M2A
^4 3Ax-603744-10x
DELTA TAU
Data Systems, Inc.
NEW IDEAS IN MOTION …
Copyright Information
© 2/14/2015 Delta Tau Data Systems, Inc. All rights reserved.
This document is furnished for the customers of Delta Tau Data Systems, Inc. Other uses are
unauthorized without written permission of Delta Tau Data Systems, Inc. Information contained in this
manual may be updated from time-to-time due to product improvements, etc., and may not conform in
every respect to former issues.
Operating Conditions
All Delta Tau Data Systems, Inc. motion controller products, accessories, and amplifiers contain static
sensitive components that can be damaged by incorrect handling. When installing or handling Delta Tau
Data Systems, Inc. products, avoid contact with highly insulated materials. Only qualified personnel
should be allowed to handle this equipment.
In the case of industrial applications, we expect our products to be protected from hazardous or
conductive materials and/or environments that could cause harm to the controller by damaging
components or causing electrical shorts. When our products are used in an industrial environment, install
them into an industrial electrical cabinet or industrial PC to protect them from excessive or corrosive
moisture, abnormal ambient temperatures, and conductive materials. If Delta Tau Data Systems, Inc.
products are directly exposed to hazardous or conductive materials and/or environments, we cannot
guarantee their operation.
Accessory 24M2A
Safety Instructions
Qualified personnel must transport, assemble, install, and maintain this equipment. Properly qualified
personnel are persons who are familiar with the transport, assembly, installation, and operation of
equipment. The qualified personnel must know and observe the following standards and regulations:
IEC364resp.CENELEC HD 384 or DIN VDE 0100
IEC report 664 or DIN VDE 0110
National regulations for safety and accident prevention or VBG 4
Incorrect handling of products can result in injury and damage to persons and machinery. Strictly adhere
to the installation instructions. Electrical safety is provided through a low-resistance earth connection. It
is vital to ensure that all system components are connected to earth ground.
This product contains components that are sensitive to static electricity and can be damaged by incorrect
handling. Avoid contact with high insulating materials (artificial fabrics, plastic film, etc.). Place the
product on a conductive surface. Discharge any possible static electricity build-up by touching an
unpainted, metal, grounded surface before touching the equipment.
Keep all covers and cabinet doors shut during operation. Be aware that during operation, the product has
electrically charged components and hot surfaces. Control and power cables can carry a high voltage,
even when the motor is not rotating. Never disconnect or connect the product while the power source is
energized to avoid electric arcing.
REVISION HISTORY
REV. DESCRIPTION DATE CHG APPVD
1 CHANGED 7-SEGMENT DISPLAY DESCRIPTIONS 06/11/06 C.PERRY A. SOTELO
REMOVED DUPLICATE SECTIONS FOR 7-SEGMENT
DISPLAY AND CONNECTOR DESCRIPTIONS
FORMATTING HEADER/FOOTER CORRECTIONS
MOVED “FLAG AND LIMIT WIRING” TO
“CONNECTIONS” SECTION
2 E-POINT JUMPER DESCRIPTIONS REVISED 06/19/06 C.PERRY A. SOTELO
3 REVISED MACRO FIBER OPTION CONNECTOR 08/21/08 C.PERRY K. ZHAO
DESCRIPTIONS
CHANGED MECHANICAL LAYOUT AND
CONNECTION SCHEMATICS
CHANGED 24v INPUT LOGIC SUPPLY CONNECTOR
(j10) WIRING
ADDED TWO SINGLE-ENDED WIRING METHODS
FOR SINUSIOD FEEDBACK
MODIFIED MACRO RING ASCII COMMANDS
MACRO ASCII COMMUNICATION GLOBAL
COMMANDS
REVISED “SETTING UP DIGITAL QUADRATURE
ENCODERS”
REVISED “SET UP PROCEDURES FOR SSI
ENCODERS”
REVISED “SET UP PROCEDURES FOR RESOLVERS”
REVISED “SET UP PROCEDURES FOR SINUSOIDAL
ENCODERS”
REVISED “SET UP PROCEDURES FOR PHASE
SHIFT”
REVISED “SET UP PROCEDURES FOR POWER-ON
ABSOLUTE POSITION OF RESOLVER
ADDED “MANUAL SETUP FOR MOTOR OPERATION”
SECTION
4 ADDED MI16, MI17 AND MI18 FUNCTIONALITY 01/05/10 C.PERRY S.SATTARI
DESCRIPTION
5 COMPLETE MANUAL REVISION 02/14/15 DCDP R. NADDAF
Accessory 24M2A
Table of Contents
INTRODUCTION .....................................................................................................................9
SPECIFICATIONS ................................................................................................................. 10
Part Number .............................................................................................................................. 10
ACC-24M2A Options ............................................................................................................... 10
Environmental Specifications .................................................................................................... 11
Electrical Specifications ............................................................................................................ 11
Physical Specifications .............................................................................................................. 11
MOUNTING ........................................................................................................................... 13
Installation Guidelines............................................................................................................... 13
Connector Locations ................................................................................................................. 14
TROUBLESHOOTING .......................................................................................................... 34
Introduction 7
Accessory 24M2A
LAYOUT ................................................................................................................................. 88
Introduction 8
Accessory 24M2A
INTRODUCTION
The ACC-24M2A is a two (2) axis servo peripheral designed to work with
Turbo PMAC2 Ultralite, Power PMAC EtherLite, or UMAC MACRO
controllers to remotely interface to two (2) channels of analog style amplifiers.
This device produces a ± 10 Vdc control signal to control analog amplifiers.
Introduction 9
Accessory 24M2A
SPECIFICATIONS
Part Number
D G K L
ACC-24M2A
4 - 3 7 4 4 - 0 0 - 0 0 - 0 0 0
D G K L
ACC-24M2A Options
ACC-24M2A may be ordered equipped with the following options:
Options Included Part Number
2-axis MACRO Analog Servo Peripheral With
4-3744-00-A000-00000
Fiber-optic MACRO connectors (Opt-A Included)
2-axis MACRO Analog Servo Peripheral With
4-3744-00-C000-00000
RJ-45 isolated electrical MACRO connectors (Opt-C Included)
2-axis MACRO Analog Servo Peripheral With
Fiber-optic MACRO connectors (Opt-A Included)
4-3744-00-A003-00000
Two channels of sinusoidal, Resolver (Opt-3 Included)
Two channels of SSI Encoder Feedback
2-axis MACRO Analog Servo Peripheral With
RJ-45 isolated electrical MACRO connectors (Opt-C Included)
4-3744-00-C003-00000
Two channels of sinusoidal, Resolver (Opt-3 Included)
Two channels of SSI Encoder Feedback
Specifications 10
Accessory 24M2A
Environmental Specifications
Description Unit Specifications
Operating Temperature °C +0 to 45°C
Rated Storage Temperature °C -25 to +70
Humidity % 10% to 90% non-condensing
Shock Call Factory
Vibration Call Factory
Operating Altitude Feet (Meters) To 3300 feet (1000meters)
Air Flow Clearances in (mm) 1" (2.54mm) above and below unit for air flow
Electrical Specifications
Main Input Power Nominal Input Voltage (Vdc) 24 Vdc
DAC Output (Vdc) +/- 10 Vdc
DAC Output (A) 0.045A
Output Power
Flag Output (Vdc) 12-24Vdc Standard, 5 Vdc w/ RP38 Installed
Flag Input (Vdc) 12-24Vdc Standard, 5 Vdc w/ RP38 Installed
Physical Specifications
Width Height Depth
Overall Dimensions 2.00in./50.8mm 9.75in./ 247.7mm 6.50in./ 165.1mm
Mounting Dimensions 1.25in./31.75mm 9.375in./ 238.13mm
Specifications 11
Accessory 24M2A
Use of Equipment
The following guidelines describe the restrictions for proper use of ACC-24M2A:
The components built into electrical equipment or machines can be used only as integral components
of such equipment.
ACC-24M2A must not be operated on power supply networks without a ground or with an
asymmetrical ground.
ACC-24M2A may be operated only in a closed switchgear cabinet, taking into account the ambient
conditions defined in the environmental specifications.
Delta Tau guarantees the conformance of ACC-24M2A with the standards for industrial areas stated in
this manual only if Delta Tau components (cables, controllers, etc.) are used.
MOUNTING
Installation Guidelines
This product should be installed in an area that is protected from direct sunlight, corrosives, harmful gases
or liquids, dust, metallic particles, and other contaminants. Exposure to these can reduce the operating
life and degrade the performance.
A couple other factors to evaluate carefully when selecting a location for installation:
Allow for at least 1 inch (2.54mm) top and bottom clearance to permit airflow. At least 0.4 inches
(10mm) clearance is required between each side.
Temperature, humidity and vibration specifications should also be considered.
ACC-24M2A can be mounted with a 3-hole panel mount, two U-shape notches on the bottom and one
pear-shaped hole on top. Mounting is also identical to this on all peripheral devices.
If multiple MACRO devices are used, they can be mounted side-by-side, leaving at least a 0.4 inch
clearance between them. It is important that the airflow is not obstructed by the placement of conduit
tracks or other devices in the enclosure.
ACC-24M2A is mounted to the back panel with three M4 screws and internal-tooth lock washers. The
teeth of the washers must break through the device’s anodizing in order to provide an electrically-
conductive path in as many places as possible.
Mounting 13
Accessory 24M2A
Connector Locations
Below is a drawing of the product with its connectors labeled:
J11 Encoder
Chan 1
J12 encoder
Chan 2
USB
J6
Flags
1&2
Option-A
MACRO OUT
FIBER IN
Option-B OUT
MACRO
RJ45 IN
J10
24VDC INPUT
J1 +24VDC
RET
AMP1 J2
AMP2
Mounting 14
Accessory 24M2A
CONNECTOR PINOUTS
J10: 24 VDC Logic Power Input
An external 24VDC power supply is required to power the logic, flags and DAC output sections of ACC-
24M2A through the J10 connector. The polarity of this connection is extremely important. Carefully
follow the instructions in the wiring diagram. This connection can be made using 16 AWG wire directly
from a protected power supply. In situations where the power supply is shared with other devices, it may
be desirable to insert a filter in this connection.
The power supply providing this 24V must be capable of providing an instantaneous current of at least
1.5A to be able to start the DC-to-DC converter in ACC24M2A. In the case where multiple devices are
driven from the same 24V supply, it is recommended that each device be wired back to the power supply
terminals independently. It is also recommended that the power supply be sized to handle the
instantaneous inrush current required for each device.
Pins: 3 2 1
Pin # Symbol Function Description Notes
1 24VDC RET Common Logic power return
2 +24VDC Input Logic power input 24V ±10%, 2 A
3 N.C. N.C. Not Connected
Connector is located at the bottom side of the unit.
Delta Tau part number: 014-188305-001
Phoenix part number: 1883051
Connector Pinouts 15
Accessory 24M2A
8 7 6 5 4 3 2 1
J1: DB-15 Female
Mating: DB-15 Male 15 14 13 12 11 10 9
8 7 6 5 4 3 2 1
J1: DB-15 Female
Mating: DB-15 Male 15 14 13 12 11 10 9
Connector Pinouts 16
Accessory 24M2A
8 7 6 5 4 3 2 1
J6: DB-15 Female
Mating: DB-15 Male 15 14 13 12 11 10 9
Connector Pinouts 17
Accessory 24M2A
13 12 11 10 9 8 7 6 5 4 3 2 1
J11 & J12: D-sub DB-25F
Mating: D-sub DB-25M 25 24 23 22 21 20 19 18 17 16 15 14
Connector Pinouts 18
Accessory 24M2A
13 12 11 10 9 8 7 6 5 4 3 2 1
J11 & J12: D-sub DB-25F
Mating: D-sub DB-25M 25 24 23 22 21 20 19 18 17 16 15 14
Connector Pinouts 19
Accessory 24M2A
Acc-24M2A with the Sinusoidal Interpolator option accepts inputs from two sinusoidal or quasi-
sinusoidal encoders and provides encoder position data to the motion processor. This interpolator creates
4,096 steps per sine-wave cycle. The user must order the appropriate option. ACC-24M2A can be used
only with a voltage mode sinusoidal encoder type.
Be sure to use shielded, twisted pair cabling for sinusoidal encoder wiring. Double insulated is the best
choice. The sinusoidal signals are very small and must be kept as noise free as possible. Avoid cable
routing near noisy motor or driver wiring. Refer to the appendix for tips on encoder wiring.
It is possible to reduce noise in the encoder lines of a motor-based system by the use of inductors that are
placed between the motor and the amplifier. Improper grounding techniques may also contribute to noisy
encoder signals.
13 12 11 10 9 8 7 6 5 4 3 2 1
J11 & J12: D-sub DB-25F
Mating: D-sub DB-25M 25 24 23 22 21 20 19 18 17 16 15 14
Connector Pinouts 20
Accessory 24M2A
13 12 11 10 9 8 7 6 5 4 3 2 1
J11 & J12: D-sub DB-25F
Mating: D-sub DB-25M 25 24 23 22 21 20 19 18 17 16 15 14
Connector Pinouts 21
Accessory 24M2A
13 12 11 10 9 8 7 6 5 4 3 2 1
J11 & J12: D-sub DB-25F
Mating: D-sub DB-25M 25 24 23 22 21 20 19 18 17 16 15 14
Connector Pinouts 22
Accessory 24M2A
Fundamentally, the ACC-24M2A connects three differential analog signal pairs to each resolver: a single
excitation signal pair, and two analog feedback signal pairs. The wiring diagram below shows an
example of how to connect the ACC-24M2A to the Resolver.
The differential format provides a means of using twisted pair wiring that allows for better noise
immunity when wired into machinery.
13 12 11 10 9 8 7 6 5 4 3 2 1
J11 & J12: D-sub DB-25F
Mating: D-sub DB-25M 25 24 23 22 21 20 19 18 17 16 15 14
Connector Pinouts 23
Accessory 24M2A
If the PeWin32PRO2 software is installed on the PC, then the USB device should be recognized by the
operating system. If the device is not recognized, then contact Technical Support for assistance.
Connector Pinouts 24
Accessory 24M2A
OUT IN
The input connector must be inserted into the MACRO output connector of the previous device on the
MACRO ring. The output connector must be inserted into the input MACRO connector of the next
device on the MACRO ring.
OUT IN
Connector: RJ45 CAT5e
Mating: RJ45 Receptacle
Front View
The cable used for MACRO wired connections is CAT5 verified straight-through 8 conductor.
The input connector must be inserted into the MACRO output connector of the previous device on the
MACRO ring. The output connector must be inserted into the input MACRO connector of the next
device on the MACRO ring.
Connector Pinouts 25
Accessory 24M2A
+5 or 12-24 VDC
0 VDC
+5 or 12-24 VDC
0 VDC
USER1
1
USER1
1
PLIM1
9
PLIM1
9
MLIM1 MLIM1
2
2
10
HOME1
10
HOME1
FLAG RET 1 FLAG RET 1
3
3
11
EQU1
11
EQU1
USER2 USER2
4
4
12
PLIM2
12
PLIM2
MLIM2 MLIM2
5
5
13
HOME2
13
HOME2
FLAG RET2 FLAG RET2
6
6
14
EQU2
14
EQU2
7
7
15
15
8
Connector Pinouts 26
Accessory 24M2A
Output IC Diagram
ACC-24M2A allows the use of sinking or sourcing position limits and flags to the controller. The opto-
isolator IC used is a PS2705-4NEC-ND quad phototransistor output type (see below).
This IC allows the current to flow from return to flag (sinking) or from flag to return (sourcing).
A sample of the internal positive limit circuit for this IC is shown below.
The 4.7K resistor packs used will allow 12–24V flag inputs. If the user wants to use 0–5V flags, then a
1K resistor pack (RP) can be placed in RP7 for Channel 1’s flags or in RP8 for Channel 2’s flags. If
these resistor packs are not added, all flags ( Limits, Home, User, and Amplifier Fault) will be
referenced from 12–24V.
Connector Pinouts 27
Accessory 24M2A
1
14
CHA+
2
CHA-
15
CHB+
3
CHB-
16 CHC+ Quadrature
CHC-
4 Encoder
17
5
18
6
19
Shield
7
20
8
21
9
22
10
23
11 5V
24
12
GND
25
13
1 14
2 15
3
16
4
17
5
18
6
19
CLK+
CLK-
7 DAT+ SSI
20
DAT- encoder
8 21
9
22
10
Shield
23
11 +5V
24
12 GND
25
13
Connector Pinouts 28
Accessory 24M2A
Differential Format
The differential format provides a means of using twisted pair wiring that allows for better noise
immunity when wired into machinery.
1
14
SIN+
2
SIN-
15
COS+
3
COS-
16 INDEX+ Sinusoidal
INDEX-
4 Encoder
17
5
18
6 Shield
19
7
20
8
21
9
22
10
23
11 5V
24
12
GND
25
13
Connector Pinouts 29
Accessory 24M2A
1
SIN+ 14
2
SIN-
COS+ 15
3
COS-
INDEX+ 16 Sinusoidal
INDEX-
INDEX-
4 Encoder
17
5
18
6 Shield
19
7
20
8
21
9
22
10
REV
23
2.5V 5V
11
24
12
GND
25
13
Connector Pinouts 30
Accessory 24M2A
1
SIN+ 14
2
SIN-
COS+ 15
3
COS-
INDEX+ 16 Sinusoidal
INDEX-
4 Encoder
17
5
18
6 Shield
19
7
+Vdc
20
8
21
9
22 - Vdc
10
23
11
GND
24
GND
12
GND
25
13
Noise Problems
When problems do occur, the culprit is often electrical noise. When this occurs, attempt to control the
high-frequency current paths. If following the grounding instructions does not work, insert chokes in the
motor phases. These chokes can be as simple as several wraps of the individual motor leads through a
ferrite ring core (such as Micrometals T400-26D). This adds high-frequency impedance to the outgoing
motor cable thereby impeding high-frequency noise from leaving the control cabinet. Care should be
taken to be certain that the core’s temperature is in a reasonable range after installing such devices.
Connector Pinouts 31
Accessory 24M2A
EnDat Interface
1 14
Sin+
Sin-
2 15 Cos+
Cos-
3
16 1Vpp A
4
Interface
17
1Vpp B
5 18
6 CLK+
Up Power
19
CLK-
0V Supply
EnDat
7
20
DATA+
DATA-. DATA
8 21 DATA
9
CLOCK
22
10 CLOCK
23
Shield
11 In_Therm_Mot
24
12
+5V
25
GND
13
1 14 Sin+
Sin-
2 15 Cos+
Cos-
3
16
1Vpp A
Hiperface Interface
4
17
5
1Vpp B
18
6
Up Power
19 0V Supply
7 DATA+
20
DATA-
DATA
8 21
DATA
9
22
10
23
Shield
11 In_Therm_Mot
24
12
+5V
25
GND
13
Connector Pinouts 32
Accessory 24M2A
Resolver ACC-24M2A 2
15
3
Sin+ 16
4
ResSin+ 17
ResSin- 5
ResCos+ 18
Sin- ResCos-. 6
Twisted pair Screened 19
Cable 7
20
Cos+
8
21
9
22
10
Cos-
23
ResOut 11
ResOut 24
12
25
GND
GND Shield GND
13
Notes:
Terminate shields on pins 13 and 25
Connector Pinouts 33
Accessory 24M2A
TROUBLESHOOTING
5082-7730
Display Description Notes/Cause
0 Ring Active with no errors Normal Operation with decimal point blinking
1 One (1) Amp Enable output If an amplifier/motor is connected, it is potentially
activated activated in either open or closed loop form. Exercise
caution.
2 Two (1) Amp Enable outputs If an amplifier/motor is connected, it is potentially
activated activated in either open or closed loop form. Exercise
caution.
3-9 NA NA
A Amplifier Fault Denotes Amplifier fault condition true. Cleared by
enabling amplifier or CLRF.
B MACRO Ring Break Fault Break or misconnection in fiber optic or RJ45 ring
termination.
C Configuration change fault Denotes mismatch between master and slave node
configuration. Check MI996 and I6806, etc. for match.
Clear with CLRF.
D MACRO Ring Fault Ring Data-Error Fault. Too many ring errors or not
enough synch packets being received. Node 15 may not
be properly enabled.
E Encoder Fault Encoder Loss bit condition true (MI927=1). Occurs
only when Encoder Loss detection is enabled. Denotes
loss of encoder signal. Check encoder wiring and
functionality.
F NA NA
Troubleshooting 34
Accessory 24M2A
Node 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Auxiliary
Nodes Servo Nodes
Each I/O node consists of 4 registers; one 24-bit and three 16-bit registers for a total of 72 bits of data.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
24-bit 24-bit 24-bit 24-bit 24-bit 24-bit
1st 16-bit 1st 16-bit 1st 16-bit 1st 16-bit 1st 16-bit 1st 16-bit
2nd 16-bit 2nd 16-bit 2nd 16-bit 2nd 16-bit 2nd 16-bit 2nd 16-bit
3rd 16-bit 3rd 16-bit 3rd 16-bit 3rd 16-bit 3rd 16-bit 3rd 16-bit
A given MACRO Station can be populated with either a MACRO8 or MACRO16 CPU:
MACRO8 supports only 1 MACRO IC (IC#0).
MACRO16 supports 2 MACRO ICs (IC#0 and IC#1).
The I/O node addresses ($C0XX) for each of the Station MACRO ICs are:
Non-Turbo PMAC2 Ultralite (legacy) I/O node addresses are the same
as Station MACRO IC#0 node registers.
Note
A given Turbo PMAC2 Ultralite (or UMAC with ACC-5E) can be If I4902= Populated
populated with up to 4 MACRO ICs (IC#0, IC#1, IC#2, and IC#3) MACRO IC #s
which can be queried with global variable I4902: $0 None
$1 0
$3 0, 1
$7 0, 1, 2
$F 0, 1, 2, 3
And the I/O node addresses ($7XXXX) for each of the Ultralite MACRO ICs are:
Setup Overview
This setup assumes that the Ring Master has already been properly configured to run its own local
motors.
1. On the Ring Master, enable one (if ACC-24M2A will only use one motor) to two (using two
motors) servo nodes (any two unused servo nodes) per ACC-24M2A
Variables involved:
I6840/I6890/I6940/I6990 — MACRO IC Ring Configuration/Status
I6841/I6891/I6941/I6991 — MACRO IC Node Activate Control
Also, make sure I78 and I80–I82 have been properly configured on the Master.
2. Establish communication between the Master and the ACC-24M2A using MACRO ASCII Mode
and enable one or two servo nodes on ACC-24M2A.
Variables involved:
MS{anynode},MI11 MACRO Station Station Number
MS{anynode},MI995 MACRO Ring Configuration/Status
MS{anynode},MI996 MACRO Node Activate Control
3. Set up Feedback.
4. Set up Flag and Output Command Registers.
5. Configure I2T Protection.
6. Perform an Open Loop Test.
7. Tune the Servo Loop.
If using MACRO IC #0, to reinitialize ACC-24M2A, type MS$$$***15, then MSSAV15, then
MS$$$15.
If using MACRO IC #1, type MS$$$***31, then MSSAV31, then MS$$$31.
If using MACRO IC #2, use MS$$$***47, then MSSAV47, then MS$$$47, and so on for other
MACRO IC #s.
If a Macro I/O error is received, make sure I6840, I6841 and I79 are set correctly. Also make sure
that the unit has not been assigned a Station number already.
If the Station has already been assigned a Station number, there are two options:
A. Find out the station number n and enter MACSTA<n>, where n is the station number, to
initiate MACRO ASCII communication with the Station.
B. Reset the station number of all the Stations by entering MACSTA0 and then enter
STN=0.
4. Type MACSTAn where n is the Station Number assigned in step 2 (e.g. MACSTA1 to open
ASCII communication with Station #1).
6. Set MI995=$80.
Example:
MI995=$80
The Phase clock on the MACRO Station must be the same as the Ring
Controller’s, but the Servo Clock can be different.
Note
Example: When Nodes 0 and 1 are being used for ACC-24M2A, setting default clocks
MS0,MI992=6527
MS0,MI997=0
MS0,MI998=3
Then, issue MSSAV15 followed by MS$$$15 to save the changes on the Station.
First
If I4900 Servo ICs Local Motor# Activating Deactivating
Returns Present Motors On The 2-Axis Slave Commutation
Ring
$0 None None 1 I100,2,100=1 I101,2,100=0
$1 IC0 only (4-axis) 1 thru 4 5 I500,2,100=1 I501,2,100=0
$3 IC0, and IC1(8-axis) 1 thru 8 9 I900,2,100=1 I901,2,100=0
Motor Feedback
First, the user must make Encoder Conversion Table (ECT) entries on the Ring Controller to read the
feedback coming back from the ACC-24M2A on servo nodes. This applies to all feedback types that
ACC-24M2A uses.
Use the ECT entry type Parallel Y-Word, No Filtering, 24 bits wide, No Shifting, No Offset. Make sure to
select the address based on the correct nodes enabled for this ACC-24M2A. One can set up the ECT entry
using PeWin32Pro2 by clicking (from within the software) on ConfigureEncoder Conversion Table,
showing this window:
The only field the user needs to change on this screen is the Source Address and the Entry Number. Make
the Source Address the correct address depending on the node to which this ECT entry corresponds.
Make the Entry Number whatever is desired as long as it does not conflict with an ECT entry currently
used for another motor.
Then, point this motor’s Ixx03 and Ixx04 to the numerical hex value Processed Data Address listed the
ECT window shown above.
Digital A Quad B
The user must configure the Encoder Conversion Table on the ACC-24M2A itself as follows:
If the user wants to change the direction of the encoder feedback, he or she can either:
Swap the motor’s leads
Change MS<node>, MI910:
If MI910=3, set it to 7 (clockwise rotation is positive)
If MI910=7, set it to 3 (counterclockwise rotation is positive)
Sinusoidal
The user must configure the Encoder Conversion Table on the ACC-24M2A itself as follows:
// Channel 2
MS0,MI123=$F0C098 // Data Source Address location
MS0,MI124=$FF20 // A/D Converter Address Setup
Note that the third line of the entry for each channel (in this example, MI122 for Channel 1 and MI124 for
Channel 2) contains the bias in the A/D converter values. This line should contain the value that the A/D
converters report when they should ideally report zero. The MACRO Station subtracts this value from
both A/D readings before calculating the arctangent. Many users will leave this value at 0, but it is
particularly useful to remove the offsets of single-ended analog encoder signals. If it appears that the
encoder has an offset, the user can compensate for it in these variables. This line is scaled so that the
maximum A/D converter reading provides the full value of the 24-bit register (+/-223). Generally, it is set
by reading the A/D converter values directly as 24-bit values (in this example, from Y:$C090 for Channel
1 and from Y:$C098 for Channel 2), computing the average value over a cycle or cycles, and entering this
value here.
For more detail on how the Sinusoidal Interpolation works in PMAC, see Appendix D.
At this point of the setup process, you should be able to move the
motor/encoder shaft by hand and see encoder counts in the position
window
Note
SSI
ACC-24M2A can be configured to process SSI encoder feedback as a binary parallel word in 12, 16, 20,
or 24-bit format. As with all feedback, this data is transferred across the MACRO ring to be used as
position and/or velocity feedback. Each SSI device requires three lines of the ECT.
In the second line of each SSI ECT entry, the number of bits to process is specified. So, there are four
examples given below.
In the third line, specify the maximum change per servo cycle of the encoder counts that is expected. This
is typically equal to 1.25 times the maximum expected velocity of the motor. The units of this entry
are whatever the units of the input register are, typically 1/32 of a count. For example, to limit the change
in one servo cycle to 64 counts with an input register in units of 1/32 count, this third line would be 64*32
= 2048.
In the examples below, the user must specify the maximum count change per servo cycle on the lines
which end with “-User Input” in the comments.
Example: ACC-24M2A with two motors, each with a 12-bit SSI encoder, one on Node 0, one on
Node 1
#define MaxVelCh1 0 // Maximum count change per servo cycle, Channel 1 –User Input
#define MaxVelCh2 0 // Maximum count change per servo cycle, Channel 2 –User Input
//Channel 2
MS0,MI123=$30FF74 // Data Source Address location
MS0,MI124=$000FFF // 12-bit SSI conversion
MS0,MI125=MaxVelCh2*32
Example: ACC-24M2A with two motors, each with a 16-bit SSI encoder, one on Node 0, one on
Node 1
#define MaxVelCh1 0 // Maximum count change per servo cycle, Channel 1 –User Input
#define MaxVelCh2 0 // Maximum count change per servo cycle, Channel 2 –User Input
//Channel 2
MS0,MI123=$30FF74 // Data Source Address location
MS0,MI124=$00FFFF // 16-bit SSI conversion
MS0,MI125=MaxVelCh2*32
Example: ACC-24M2A with two motors, each with a 20-bit SSI encoder, one on Node 0, one on
Node 1
#define MaxVelCh1 0 // Maximum count change per servo cycle, Channel 1 –User Input
#define MaxVelCh2 0 // Maximum count change per servo cycle, Channel 2 –User Input
//Channel 2
MS0,MI123= $30FF74 // Data Source Address location
MS0,MI124=$0FFFFF // 20-bit SSI conversion
MS0,MI125=MaxVelCh2*32
Example: ACC-24M2A with two motors, each with a 24-bit SSI encoder, one on Node 0, one on
Node 1
#define MaxVelCh1 0 // Maximum count change per servo cycle, Channel 1 –User Input
#define MaxVelCh2 0 // Maximum count change per servo cycle, Channel 2 –User Input
//Channel 2
MS0,MI123= $30FF74 // Data Source Address location
MS0,MI124=$FFFFFF // 24-bit SSI conversion
MS0,MI125=MaxVelCh2*32
At this point of the setup process, you should be able to move the
motor/encoder shaft by hand and see encoder counts in the position
window
Note
Resolver
ECT Setup
ACC-24M2A has up to two channels of resolver inputs. The inputs may be used as feedback or master
reference signals for the PMAC servo loops. The basic configuration of the drive contains one 10-bit fixed
resolution tracking resolver-to-digital (R-to-D) converters, with an optional second resolver when a dual
axis driver is ordered. ACC-24M2A creates the AC excitation signal (ResOut) for up to two resolvers,
accepts the modulated sine and cosine signals back from these resolvers, demodulates the signals and
derives the position of the resolver from the resulting information, in an absolute sense if necessary.
The specifics for this configuration are as follows (Ch1 and Ch2):
Example: ACC-24M2A with two motors, each with a resolver, one on Node 0, one on Node 1,
wherein the clockwise direction of the motor’s shaft’s rotation is positive
// ACC-24M2A ECT Setup
// Channel 1
MS0,MI120=$E0FF00 // Data Source Address location ,CW
MS0,MI121=$00FF5C // A/D Converter Address Setup
MS0,MI122=0 // Sine/Cosine Bias –User Input
// Channel 2 CW
MS0,MI123=$E0FF20 // Data Source Address location, CW
MS0,MI124=$00FF5C // A/D Converter Address Setup
MS0,MI125=0 // Sine/Cosine Bias –User Input
Example: ACC-24M2A with two motors, each with a resolver, one on Node 0, one on Node 1,
wherein the counterclockwise direction of the motor’s shaft’s rotation is positive
// ACC-24M2A ECT Setup
// Channel 1
MS0,MI120=$E8FF00 // Data Source Address location ,CCW
MS0,MI121=$00FF5C // A/D Converter Address Setup
MS0,MI122=0 // Sine/Cosine Bias –User Input
// Channel 2 CW
MS0,MI123=$E8FF20 // Data Source Address location, CCW
MS0,MI124=$00FF5C // A/D Converter Address Setup
MS0,MI125=0 // Sine/Cosine Bias –User Input
Note that the third line of the entry for each channel (in this example, MI122 for Channel 1 and MI124 for
Channel 2) contains the bias in the A/D converter values. This line should contain the value that the A/D
converters report when they should ideally report zero. The MACRO Station subtracts this value from
both A/D readings before calculating the arctangent. Many users will leave this value at 0, but it is
particularly useful to remove the offsets of single-ended analog encoder signals. If it appears that the
encoder has an offset, the user can compensate for it in these variables. This line is scaled so that the
maximum A/D converter reading provides the full value of the 24-bit register (+/-223). Generally, it is set
by reading the A/D converter values directly as 24-bit values (in this example, from Y:$C090 for Channel
1 and from Y:$C098 for Channel 2), computing the average value over a cycle or cycles, and entering this
value here.
The ResOut signal (i.e. the Resolver’s excitation frequency) emitted from the ACC-24M2A is derived
from the Phase Clock frequency of the MACRO set by MI992 and MI997. The user has the ability to
select the excitation frequency to be equal with the Phase Clock frequency (default) by setting
MS<node>,MI982 equal to 0. Or, the user can use lower frequencies by increasing the value of MI982.
For each channel, there are two ADC registers which hold the sin and cosine values. For Channel 1, the
base/first ADC register address is Y:$FF00 and the second ADC register address is Y:$FF01; For
Channel 2, the base/first ADC register address is Y:$FF20 and the second ADC register address is
Y:$FF21. There is no MI-Variable to directly address these registers, so MI198 (Direct Read/Write Format
and Address) and MI199 (Direct Read/Write Variable) will be used here. For each channel, both ADCs
should be observed during setup. Notice that MI199 can only be pointed to one register at one time so it
must be configured twice throughout the following procedure.
At this point of the setup process, you should be able to move the
motor/encoder shaft by hand and see encoder counts in the position
window
Note
Flags
On the Ring Controller, the flags (Ixx25) must point to the servo node’s flag addresses used for the
motors on ACC-24M2A.
Then, on the Ring Controller, the flag control (Ixx24) variable must be set up for each motor on ACC-
24M2A as follows:
Output Commands
On the Ring Controller, the output command address must be set to the ACC-24M2A’s motors’ servo
node addresses directly.
I2T Settings
The I2T overcurrent protection should be configured for each motor on ACC-24M2A. Below is an
example with some formulas for setting up I2T; the user simply needs to fill in the values specified by “-
User Input” in the comments on that line:
#define Axis1MinContCurrent 3 ; Continuous Current Limit for Axis 1 [Amps] –User Input
#define Axis1MinPeakCurrent 9 ; Instantaneous Current Limit for Axis 1 [Amps] –User Input
#define Axis1AmpPeakInstCurrent 16.3 ; Peak Instant. Current of Amplifier [Amps] –User Input
#define Axis1I2TOnTime 2 ; Time allowed at peak Current [sec]
DAC Calibration
At this stage in the setup, the user should calibrate the DACs on ACC-24M2A to make sure that when he
or she commands 0 volts on the DACs, they actually put out 0 volts. To do this, open PMAC Tuning Pro2
by clicking on ToolsPMAC Tuning Pro2 from within PeWin32Pro2. Then, click Position LoopDAC
Calibration. Make sure there is no load presently connected to the motor. Then, click “Begin Calibration.”
PMAC will automatically calibrate your DAC. Once it is done, accept the change it makes to Ixx29. You
may want to write down this value to add to your setup file. Do this test for both motors (you can select
another motor with the Motor Select button):
Motor Select
The user should now execute an Open-Loop test in order to determine whether the feedback from ACC-
24M2A is working properly. To do this, open PMAC Tuning Pro2 from PeWin32Pro2 by clicking on
ToolsPMAC Tuning Pro2. Then, click Position LoopOpen Loop Test.
You should see the actual velocity increasing positively while the commanded velocity is positive, the
actual velocity decreasing while the commanded velocity is negative.
If you see an erratic response, or an inverted saw tooth, then most likely the encoder decode setting is
incorrect. This is on the MACRO side, MS{node},MI910 has to be changed from 7 to 3, or vice versa.
The user should connect the load to the motor before tuning the servo
loop.
Note
The process of determining proper values of PID gains is called “Tuning.” The procedure for tuning is as
follows:
1. Set Ixx34 (Motor xx PID Integration Mode) – can be changed on the fly as needed
=1, position error integration is performed only when Motor xx is not commanding a move
=0, position error integration is performed always
2. Using the Step Response, tune the following parameters in this order:
Proportional Gain, Kp (Ixx30)
Derivative Gain, Kd (Ixx31)
Integral Gain, Ki (Ixx33)
3. Using the Parabolic Move, tune the following parameters in this order:
Velocity Feedforward, Kvff (Ixx32)
Acceleration Feedforward, Kaff (Ixx35)
Friction Feedforward, Kfff (Ixx68)
Steps 2 and 3 should be performed in the Interactive Tuning window in PMAC Tuning Pro2:
Interactive Tuning
for Position
Commanded
Position [cts]
Time [sec]
Now, compare your motor’s actual position to the commanded position profile. Depending how the actual
position looks, adjust the servo loop gains until you achieve the desired response.
Observing the table below, match your actual position response to one of the response shapes below, and
then adjust the appropriate gain as listed next to each plot:
Overshoot and
Oscillation Position Offset
Cause: Cause:
Too much Proportional Friction or Constant
gain or Force
too little Damping Fix:
Fix: Increase Ki (Ixx33)
Decrease Kp (Ixx30) Increase Kp (Ixx30)
Increase Kd (Ixx31)
Physical System
Sluggish Response Limitation
Cause: Cause:
Too much Damping or Limit of the
too little Proportional Motor/Amplifier/Load
gain and gain combination
Fix: Fix:
Increase Kp (Ixx30) or Evaluate Performance
Decrease Kd (Ixx31) and
maybe add Kp (Ixx30)
Typically, one should start by increasing Kp until one observes the “Overshoot and Oscillation” condition
(upper left corner’s plot), and then increase Kd and Ki until the performance goals for the step response
are achieved. Be sure when executing the step response that you plot the Servo Command on the Right
Axis:
If you see a truncation of the servo command at the beginning of each move, you have reached the
maximum output command as determined by Ixx69. In this case, adding more Kp will not improve the
Step Response’s performance.
After commanding the Parabolic Velocity move, the commanded Velocity Profile and Acceleration
Profile should look like this:
Velocity Acceleration
Commanded Commanded
Profile Profile
Observing the table below, match your following error response to one of the response shapes below, and
then adjust the appropriate gain as listed next to each plot:
High Vel./F.E.
Correlation
High Vel./F.E.
Cause: Friction
Correlation
Fix:
Cause: Damping
Add Friction
Fix: Increase Kvff
Feedforward (Ixx68)
(Ixx32)
and/or turn on Integral
Gain
(Ixx33, Ixx34)
High Acc./F.E.
High Acc./F.E. Correlation
Correlation Cause:
Cause: Inertial Lag Physical System
Fix: Limitation
Increase Kaff (Ixx35) Fix:
Use softer acceleration
or add more Ixx68
High Vel./F.E.
Negative Vel./F.E.
Correlation
Correlation
Cause: Damping &
Cause:
Friction
Too much Velocity
Fix:
Feedforward
Increase Kvff first
Fix:
(Ixx32)
Decrease Kvff
Possibly adjust
(Ixx32)
Ixx68
Gate3-style MACRO interfaces have two “banks” of MACRO registers, “Bank A” and “Bank B.” As of
the date this manual was written, ACC-5E3 is the only Gate3-style MACRO interface for Power PMAC.
Gate2-style MACRO interfaces have up to two ICs, each possessing its own registers for MACRO
settings. As of the date this manual was written, ACC-5E is the only Gate2-style MACRO interface for
Power PMAC.
Each MACRO IC (for Gate2-style MACRO interfaces) or each MACRO bank (Bank A and Bank B, for
Gate3-style MACRO interfaces) consists of 16 nodes: 2 auxiliary, 8 servo, and 6 I/O nodes:
Auxiliary nodes are Master/Control registers and are for internal firmware use.
Servo nodes carry information such as feedback, commands, and flags for motor
control.
I/O nodes are by default unoccupied and are user configurable for transferring
miscellaneous data.
Each motor that the ring controller controls requires one servo node, and therefore one ACC-5E3 or
ACC-5E can control a maximum of 16 motors. The number of I/O nodes used depends on what I/O
devices ACC-5E3 or ACC-5E is controlling over the MACRO ring. A visual representation of the nodes’
individual functionality is given below:
I/O Nodes
Node 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Auxiliary
Nodes Servo Nodes
With Gate3-style MACRO, each node consists of 8 registers: four 32-bit “Input” registers, which can be
accessed by the structure Gate3[i].MacroInA[j][k] for bank A and Gate3[i].MacroInB[j][k] for bank B,
and four 32-bit “Output” registers, which can be accessed by the Power PMAC structures
Gate3[i].MacroOutA[j][k] for bank A and Gate3[i].MacroOutB[j][k] for bank B. Gate2-style MACRO
interfaces has 4 registers for each node, wherein the input and output data share the registers; they are all
grouped into this structure: Gate2[i].Macro[j][k].
In Gate3-style MACRO, the contents of each servo node are arranged in each MACRO bank as follows:
In Gate2-style MACRO, the contents of each servo node are arranged in each MACRO IC as follows:
Since no Gate3-style MACRO Station products have yet been developed, this is the only node
arrangement available until future developments.
I/O Nodes can be arranged in any way desired, and as such, this
manual does not have any section describing any specific data
arrangement structure within I/O nodes.
Note
Setup Overview
This setup assumes that:
The Ring Master has already been properly configured to run its own local motors.
The user is familiar with enabling servo nodes on both the MACRO Ring Controller and Slave
Station.
1. On the Ring Master, enable one (if ACC-24M2A will only use one motor) to two (using two
motors) servo nodes (any two unused servo nodes) per ACC-24M2A.
2. Establish communication between the Master and the ACC-24M2A using MACRO ASCII Mode
and enable one or two servo nodes on ACC-24M2A corresponding to the nodes activated on the
Master.
Variables involved:
MacroSlave{anynode},MI11 MACRO Station Station Number
MacroSlave{anynode},MI995 MACRO Ring Configuration/Status
MacroSlave{anynode},MI996 MACRO Node Activate Control
3. Set up Feedback.
4. Set up Flag and Output Command Registers.
5. Configure I2T Protection.
6. Perform an Open Loop Test.
7. Tune the Servo Loop.
Macro.TestPeriod
This is the period in milliseconds at which PMAC checks for errors on the MACRO ring. The
recommended value for this variable is 20.
Macro.TestMaxErrors
This is the maximum error count PMAC can receive in one test period (whose duration is specified by
Macro.TestPeriod) before triggering a fault. The formula for computing this variable is as follows:
Macro.TestReqdSynchs
This is the number of sync packets in one period (whose duration is specified by Macro.TestPeriod) that
PMAC must receive before triggering an error. The formula for computing this variable is as follows:
- .
Sys.WpKey=$AAAAAAAA;
1. Within the Power PMAC IDE, in the Terminal Window, type MacroStation255.
2. Type I11=n in order to assign this ACC-24M2A to Station #n.
If a Macro I/O error is received, make sure the Ring Controller’s MACRO communication settings
are set correctly. Also make sure that the ACC-24M2A has not been assigned a Station number
already. If the Station has already been assigned a Station number, there are two options:
A. Find out the station number n and enter MacroStation<n> (without the angular
brackets), where n is the station number, to initiate MACRO ASCII communication with
the Station.
C. Reset the station number of all the Stations by entering MacroStation0 and then enter
I11=0.
For example, to assign the Station to Nodes 0 and 1 on Master IC #0 on the ACC-24M2A, type:
MI996=$FC003
6. Set MI995=$80.
Example:
MI995=$80
The formulas for determining what value to which to set these variables are as follows:
MI992 ( ) ,
MI99 ( ) ,
and
MI998 ( ) ,
where fmp is the desired maximum phase frequency [kHz], fp is the desired phase clock frequency [kHz],
and fs is the desired servo clock frequency [kHz].
The Phase clock on the MACRO Station must be the same as the Ring
Controller’s, but the Servo Clock can be different.
Note
Example: When Nodes 0 and 1 are being used for ACC-24M2A, setting default clocks
MacroSlave0,MI992=6527
MacroSlave0,MI997=0
MacroSlave0,MI998=3
Then, issue MacroSlaveSAVE15 followed by MacroSlave$$$15 to save the changes on the Station.
If you are not sure what your Power PMAC’s clocks are, you can check them by (from within the IDE)
clicking on ToolsTaskManager, and then clicking on the “Tasks” tab:
The Frequency column displays the clock frequencies in kHz for the different clocks in PMAC.
After observing these clock frequencies, just use the formulas given on the previous page in order to
calculate how to set the clocks on your ACC-24M2A the same as the clocks on your Power PMAC.
First
AutoDetect Servo ICs Local Motor# Activating Deactivating
Returns Present Motors On The 2-Axis Slave Commutation
Ring
Motor[1].ServoCtrl=1 Motor[1].PhaseCtrl=0
$0 None None 1 Motor[2].ServoCtrl=1 Motor[2].PhaseCtrl=0
IC0 only Motor[5].ServoCtrl=1 Motor[5].PhaseCtrl=0
$1 1–4 5 Motor[6].ServoCtrl=1 Motor[6].PhaseCtrl=0
(4 axes)
IC0 and IC1 Motor[9].ServoCtrl=1 Motor[9].PhaseCtrl=0
$3 1–8 9 Motor[10].ServoCtrl=1 Motor[10].PhaseCtrl=0
(8 axes)
Motor Feedback
First, the user must make Encoder Conversion Table (ECT) entries on the Ring Controller to read the
feedback coming back from the ACC-24M2A on servo nodes. This applies to all feedback types that
ACC-24M2A uses.
Use the ECT entry type “Single (32-bit) register read), LSB Bit #: 8, # of Bits Used: 24. Make sure to
select the address based on the correct nodes enabled for this ACC-24M2A. One can set up the ECT entry
using the Power PMAC IDE by clicking (from within the software) on Delta TauConfigureEncoder
Conversion Table, showing this window:
The only field the user needs to change on this screen is the Source Address and the Entry Number. There
should be one entry for each motor, each using the Source Address that corresponds to the node used for
this motor. That is, make the Source Address match the address of the feedback register of this motor’s
node. Make the Entry Number whatever is desired as long as it does not conflict with an ECT entry
currently used for another motor.
For Gate3-Style MACRO interfaces, use Gate3[i].MacroInA[j][0].a for the encoder feedback Source
Address. For Gate2-Style interfaces, use Gate2[i].Macro[j][0].a.
Example: Motors 1–2 on Nodes 0 and 1, respectively, with a Gate3-Style MACRO Interface on card
index 0
EncTable[1].pEnc=Gate3[0].MacroInA[0][0].a;
EncTable[1].pEnc1=Sys.pushm;
EncTable[1].Index1=8;
EncTable[1].Index2=8;
EncTable[1].Index3=0;
EncTable[1].Index4=0;
EncTable[1].ScaleFactor=1/exp2(EncTable[1].Index1 + 5);
EncTable[2].pEnc=Gate3[0].MacroInA[1][0].a;
EncTable[2].pEnc1=Sys.pushm;
EncTable[2].Index1=8;
EncTable[2].Index2=8;
EncTable[2].Index3=0;
EncTable[2].Index4=0;
EncTable[2].ScaleFactor=1/exp2(EncTable[2].Index1 + 5);
Then, point this motor’s Motor[x].pEnc (position feedback pointer) and Motor[x].pEnc2 (velocity
feedback pointer) to the numerical hex value Processed Data Address listed the ECT window shown
above. The user must also set the Encoder Type (Motor[x].EncType) to 4.
Motor[1].EncType=4;
Motor[2].EncType=4;
Typically, Motor[x].pEnc and Motor[x].pEnc2 point to the same address. However, if the user wants to
use dual feedback on ACC-24M2A and is therefore using both encoder channels for one motor, the user
must make one ECT entry for each encoder and point Motor[x].pEnc to the position encoder’s ECT
entry’s output address and Motor[x].pEnc2 to the velocity encoder’s ECT entry’s output address.
Digital A Quad B
The user must configure the Encoder Conversion Table on the ACC-24M2A itself as follows:
If the user wants to change the direction of the encoder feedback, he or she can either:
Swap the motor’s leads
Change MacroSlave<node>, MI910:
If MI910=3, set it to 7 (clockwise rotation is positive)
If MI910=7, set it to 3 (counterclockwise rotation is positive)
Sinusoidal
The user must configure the Encoder Conversion Table on the ACC-24M2A itself as follows:
// Channel 2
MacroSlave0,MI123=$F0C098 // Data Source Address location
MacroSlave0,MI124=$FF20 // A/D Converter Address Setup
Note that the third line of the entry for each channel (in this example, MI122 for Channel 1 and MI124 for
Channel 2) contains the bias in the A/D converter values. The user should enter into this line (indicated by
“–User Input” in the comment of that line) the value that the A/D converters report when they should
ideally report zero. The MACRO Station subtracts this value from both A/D readings before calculating
the arctangent. Many users will leave this value at 0, but to remove the offsets of single-ended analog
encoder signals is particularly useful. If it appears that the encoder has an offset, the user can compensate
for it in these variables. This line is scaled so that the maximum A/D converter reading provides the full
value of the 24-bit register (+/-223). Generally, it is set by reading the A/D converter values directly off of
the Station as 24-bit values (in this example, from Y:$C090 for Channel 1 and from Y:$C098 for Channel
2), computing the average value over a cycle or cycles, and entering this value here.
For more detail on how Sinusoidal Interpolation works in PMAC, see Appendix D.
At this point of the setup process, you should be able to move the
motor/encoder shaft by hand and see encoder counts in the position
window
Note
SSI
ACC-24M2A can be configured to process SSI encoder feedback as a binary parallel word in 12, 16, 20,
or 24-bit format. As with all feedback, this data is transferred across the MACRO ring to be used as
position and/or velocity feedback. Each SSI device requires three lines of the ECT.
In the second line of each SSI ECT entry, the number of bits to process is specified. So, there are four
examples given below.
In the third line, specify the maximum change per servo cycle of the encoder counts that is expected. This
is typically equal to 1.25 times the maximum expected velocity of the motor. The units of this entry
are whatever the units of the input register are, typically 1/32 of a count. For example, to limit the change
in one servo cycle to 64 counts with an input register in units of 1/32 count, this third line would be 64*32
= 2048.
In the examples below, the user must specify the maximum count change per servo cycle on the lines
which end with “-User Input” in the comments.
Example: ACC-24M2A with two motors, each with a 12-bit SSI encoder, one on Node 0, one on
Node 1
#define MaxVelCh1 0 // Maximum count change per servo cycle, Channel 1 –User Input
#define MaxVelCh2 0 // Maximum count change per servo cycle, Channel 2 –User Input
//Channel 2
MacroSlave0,MI123=$30FF74 // Data Source Address location
MacroSlave0,MI124=$000FFF // 12-bit SSI conversion
MacroSlave0,MI125=MaxVelCh2*32
Example: ACC-24M2A with two motors, each with a 16-bit SSI encoder, one on Node 0, one on
Node 1
#define MaxVelCh1 0 // Maximum count change per servo cycle, Channel 1 –User Input
#define MaxVelCh2 0 // Maximum count change per servo cycle, Channel 2 –User Input
//Channel 2
MacroSlave0,MI123=$30FF74 // Data Source Address location
MacroSlave0,MI124=$00FFFF // 16-bit SSI conversion
MacroSlave0,MI125=MaxVelCh2*32
Example: ACC-24M2A with two motors, each with a 20-bit SSI encoder, one on Node 0, one on
Node 1
#define MaxVelCh1 0 // Maximum count change per servo cycle, Channel 1 –User Input
#define MaxVelCh2 0 // Maximum count change per servo cycle, Channel 2 –User Input
//Channel 2
MacroSlave0,MI123=$30FF74 // Data Source Address location
MacroSlave0,MI124=$0FFFFF // 20-bit SSI conversion
MacroSlave0,MI125=MaxVelCh2*32
Example: ACC-24M2A with two motors, each with a 24-bit SSI encoder, one on Node 0, one on
Node 1
#define MaxVelCh1 0 // Maximum count change per servo cycle, Channel 1 –User Input
#define MaxVelCh2 0 // Maximum count change per servo cycle, Channel 2 –User Input
//Channel 2
MacroSlave0,MI123=$30FF74 // Data Source Address location
MacroSlave0,MI124=$FFFFFF // 24-bit SSI conversion
MacroSlave0,MI125=MaxVelCh2*32
At this point of the setup process, you should be able to move the
motor/encoder shaft by hand and see encoder counts in the position
window
Note
Resolver
ECT Setup
ACC-24M2A has up to two channels of resolver inputs. The inputs may be used as feedback or master
reference signals for the PMAC servo loops. The basic configuration of the drive contains one 10-bit fixed
resolution tracking resolver-to-digital (R-to-D) converters, with an optional second resolver when a dual
axis driver is ordered. ACC-24M2A creates the AC excitation signal (ResOut) for up to two resolvers,
accepts the modulated sine and cosine signals back from these resolvers, demodulates the signals and
derives the position of the resolver from the resulting information, in an absolute sense if necessary.
The specifics for this configuration are as follows (Ch1 and Ch2):
Example: ACC-24M2A with two motors, each with a resolver, one on Node 0, one on Node 1,
wherein the clockwise direction of the motor’s shaft’s rotation is positive
// ACC-24M2A ECT Setup
// Channel 1
MacroSlave0,MI120=$E0FF00 // Data Source Address location ,CW
MacroSlave0,MI121=$00FF5C // A/D Converter Address Setup
MacroSlave0,MI122=0 // Sine/Cosine Bias –User Input
// Channel 2 CW
MacroSlave0,MI123=$E0FF20 // Data Source Address location, CW
MacroSlave0,MI124=$00FF5C // A/D Converter Address Setup
MacroSlave0,MI125=0 // Sine/Cosine Bias –User Input
Example: ACC-24M2A with two motors, each with a resolver, one on Node 0, one on Node 1,
wherein the counterclockwise direction of the motor’s shaft’s rotation is positive
// ACC-24M2A ECT Setup
// Channel 1
MacroSlave0,MI120=$E8FF00 // Data Source Address location ,CCW
MacroSlave0,MI121=$00FF5C // A/D Converter Address Setup
MacroSlave0,MI122=0 // Sine/Cosine Bias –User Input
// Channel 2 CW
MacroSlave0,MI123=$E8FF20 // Data Source Address location, CCW
MacroSlave0,MI124=$00FF5C // A/D Converter Address Setup
MacroSlave0,MI125=0 // Sine/Cosine Bias –User Input
Note that the third line of the entry for each channel (in this example, MI122 for Channel 1 and MI124 for
Channel 2) contains the bias in the A/D converter values. This line (indicated by “-User Input” in the
comments on that line) should contain the value that the A/D converters report when they should ideally
report zero. The MACRO Station subtracts this value from both A/D readings before calculating the
arctangent. Many users will leave this value at 0, but it is particularly useful to remove the offsets of
single-ended analog encoder signals. If it appears that the encoder has an offset, the user can compensate
for it in these variables. This line is scaled so that the maximum A/D converter reading provides the full
value of the 24-bit register (+/-223). Generally, it is set by reading the A/D converter values directly as 24-
bit values (in this example, from Y:$C090 for Channel 1 and from Y:$C098 for Channel 2), computing
the average value over a cycle or cycles, and entering this value here.
The ResOut signal (i.e. the Resolver’s excitation frequency) emitted from the ACC-24M2A is derived
from the Phase Clock frequency of the MACRO set by MI992 and MI997. The user has the ability to
select the excitation frequency to be equal with the Phase Clock frequency (default) by setting
MacroSlave<node>,MI982 equal to 0. Or, the user can use lower frequencies by increasing the value of
MI982.
For each channel, there are two ADC registers which hold the sin and cosine values. For Channel 1, the
base/first ADC register address is Y:$FF00 and the second ADC register address is Y:$FF01; For
Channel 2, the base/first ADC register address is Y:$FF20 and the second ADC register address is
Y:$FF21. There is no MI-Variable to directly address these registers, so MI198 (Direct Read/Write Format
and Address) and MI199 (Direct Read/Write Variable) will be used here. For each channel, both ADCs
should be observed during setup. Notice that MI199 can only be pointed to one register at one time so it
must be configured twice throughout the following procedure.
9. In the Power PMAC IDE, open a Watch Window (click Delta TauViewWatch).
10. Into a field in the Watch Window, type MacroSlave<node>,MI199, where <node> is the node
number of this ACC-24M2A’s motor (e.g. if this motor is on Node 0, type MacroSlave0,MI199).
11. In the Terminal Window (from within the IDE, click Delta TauViewTerminal), type
MacroSlave<node>,MI198=$6DFF00, where <node> is this motor’s node (as in step 2). This
points MI199 to the Channel 1’s ADC1.
12. Rotate the motor on this channel. Observe MacroSlave<node>,MI199 in the Watch Window. If
it saturates to ±32767, the resolver gain (MI981) is too high. Decrease MI981 until the MI199 just
barely saturates to ±32767. If it does not saturate, type MacroSlave<node>,MI198=$6DFF01 in
the Terminal Window (which sets MI199 to point to Channel 1’s ADC2) and then repeat step 4.
13. Set MI199 to point to the ADC which saturated; that is, if ADC1 saturated, type
MacroSlave<node>,MI198=$6DFF00 in the Terminal Window, or if ADC2 saturated, type
MacroSlave<node>,MI198=$6DFF01 in the Terminal Window.
14. Position the motor’s shaft such that the ADC value is close to the maximum value observed
throughout one revolution of the motor’s shaft. At this point, the other ADC should be close to 0.
15. Increase MI980 by increments of 25. The ADC value should start to increase slowly. If it
decreases, instead start with MI980=255 and then decrease MI980 by increments of 25. The ADC
value should increase up to a maximum point and then start to decrease again. Set MI980 to the
value that produced the largest absolute ADC value achieved throughout the process of adjusting
MI980.
16. If the maximum absolute value of this ADC is less than 16,000, increase the gain of the resolver
by increasing MI981.
9. In the Power PMAC IDE, open a Watch Window (click Delta TauViewWatch Window).
10. Into a field in the Watch Window, type MacroSlave<node>,MI199, where <node> is the node
number of this ACC-24M2A’s motor (e.g. if this motor is on Node 0, type MacroSlave0,MI199).
11. In the Terminal Window (from within the IDE, click Delta TauViewTerminal), type
MacroSlave<node>,MI198=$6DFF20, where <node> is this motor’s node (as in step 2). This
points MI199 to the Channel 1’s ADC1.
12. Rotate the motor on this channel. Observe MacroSlave<node>,MI199 in the Watch Window. If
it saturates to ±32767, the resolver gain (MI981) is too high. Decrease MI981 until the MI199 just
barely saturates to ±32767. If it does not saturate, type MacroSlave<node>,MI198=$6DFF21 in
the Terminal Window (which sets MI199 to point to Channel 1’s ADC2) and then repeat step 4.
13. Set MI199 to point to the ADC which saturated; that is, if ADC1 saturated, type
MacroSlave<node>,MI198=$6DFF20 in the Terminal Window, or if ADC2 saturated, type
MacroSlave<node>,MI198=$6DFF21 in the Terminal Window.
14. Position the motor’s shaft such that the ADC value is close to the maximum value observed
throughout one revolution of the motor’s shaft. At this point, the other ADC should be close to 0.
15. Increase MI980 by increments of 25. The ADC value should start to increase slowly. If it
decreases, instead start with MI980=255 and then decrease MI980 by increments of 25. The ADC
value should increase up to a maximum point and then start to decrease again. Set MI980 to the
value that produced the largest absolute ADC value achieved throughout the process of adjusting
MI980.
16. If the maximum absolute value of this ADC is less than 16,000, increase the gain of the resolver
by increasing MI981.
At this point of the setup process, you should be able to move the
motor/encoder shaft by hand and see encoder counts in the position
window
Note
Flags
On the Ring Controller, the motors’ flag pointers must point to the servo node’s flag addresses used for
the motors on ACC-24M2A.
Example: Motors 1–2 on Nodes 0 and 1, respectively, using ACC-5E3 in a Power UMAC
Motor[1].pEncCtrl=Acc5E3[0].MacroOutA[0][3].a
Motor[1].pEncStatus=Acc5E3[0].MacroInA[0][3].a
Motor[1].pAmpEnable=Acc5E3[0].MacroOutA[0][3].a
Motor[1].pAmpFault=Acc5E3[0].MacroInA[0][3].a
Motor[1].pCaptFlag=Acc5E3[0].MacroInA[0][3].a
Motor[1].pPhaseEnc=Acc5E3[0].MacroInA[0][0].a
Motor[1].pAdc=Acc5E3[0].MacroInA[0][1].a
Motor[2].pEncCtrl=Acc5E3[0].MacroOutA[1][3].a
Motor[2].pEncStatus=Acc5E3[0].MacroInA[1][3].a
Motor[2].pAmpEnable=Acc5E3[0].MacroOutA[1][3].a
Motor[2].pAmpFault=Acc5E3[0].MacroInA[1][3].a
Motor[2].pCaptFlag=Acc5E3[0].MacroInA[1][3].a
Motor[2].pPhaseEnc=Acc5E3[0].MacroInA[1][0].a
Motor[2].pAdc=Acc5E3[0].MacroInA[1][1].a
Then, on the Ring Controller, the flag control variables must be set up for each motor on ACC-24M2A.
Example: Motors 1–2 on Nodes 0 and 1, respectively, with overtravel limits enabled, using ACC-
5E3 in a Power UMAC
Motor[1].pLimits=Acc5E3[0].MacroInA[0][3].a
Motor[1].LimitBits=25
Motor[1].CaptPosRound=1
Motor[1].CaptPosRightShift=0
Motor[1].CaptPosLeftShift=13
Motor[1].CaptFlagBit=19
Motor[1].AmpFaultBit=23
Motor[1].AmpEnableBit=22
Motor[1].AmpFaultLevel=0
Motor[2].pLimits=Acc5E3[0].MacroInA[1][3].a
Motor[2].LimitBits=25
Motor[2].CaptPosRound=1
Motor[2].CaptPosRightShift=0
Motor[2].CaptPosLeftShift=13
Motor[2].CaptFlagBit=19
Motor[2].AmpFaultBit=23
Motor[2].AmpEnableBit=22
Motor[2].AmpFaultLevel=0
Example: Motors 1–2 on Nodes 0 and 1, respectively, with overtravel limits disabled
Motor[1].pLimits=0;
Motor[1].LimitBits=25
Motor[1].CaptPosRound=1
Motor[1].CaptPosRightShift=0
Motor[1].CaptPosLeftShift=13
Motor[1].CaptFlagBit=19
Motor[1].AmpFaultBit=23
Motor[1].AmpEnableBit=22
Motor[1].AmpFaultLevel=0
Motor[2].pLimits=0;
Motor[2].LimitBits=25
Motor[2].CaptPosRound=1
Motor[2].CaptPosRightShift=0
Motor[2].CaptPosLeftShift=13
Motor[2].CaptFlagBit=19
Motor[2].AmpFaultBit=23
Motor[2].AmpEnableBit=22
Motor[2].AmpFaultLevel=0
Output Commands
On the Ring Controller, the output command address must be set to the ACC-24M2A’s motors’ servo
node addresses directly.
Example: Motors 1–2 on Nodes 0 and 1, respectively, using ACC-5E3 in a Power UMAC
Motor[1].pDac=Acc5E3[0].MacroOutA[0][0].a;
Motor[2].pDac=Acc5E3[0].MacroOutA[1][0].a;
I2T Settings
The I2T overcurrent protection should be configured for each motor on ACC-24M2A. Below is an
example with some formulas for setting up I2T; the user simply needs to fill in the values specified by
“-User Input” in the comments on that line:
The continuous current limit (Axis1MinContCurrent) and the instantaneous current limit
(Axis1MinPeakCurrent) values on the lines with “-User Input” in the comment above should be the
smaller of the two limits between your motor and your amplifier’s specifications.
DAC Calibration
At this stage in the setup, the user should calibrate the DACs on ACC-24M2A to make sure that when he
or she commands 0 volts on the DACs, they actually put out 0 volts. You can do this by means of the
automatic DAC calibration program from the Power PMAC System Setup program, easily accessible by
means of a TelNet Terminal connection to your PMAC. To open a TelNet connection, from the Windows
Start Menu click StartRun (or just type into the search field if it is Windows Vista/7) and then type:
telnet 192.168.0.200
Put your Power PMAC’s IP Address in the place of 192.168.0.200 (the default IP address) shown above.
TelNet will prompt you for a “powerpmac login”; here type:
root
deltatau
Then, type:
cd setup
dir
calcdacbias should appear as a program in the list. This is a program that receives two arguments as
follows:
<MotorNumber> is the number of the motor whose DAC bias you want to calculate. [<Iterations>] is the
number of times you want the program to iterate; more iterations generally yields a more accurate result.
Example
To calculate the DAC bias of motor 1 with 10 iterations, type:
calcdacbias 1 10
Once the program completes, it will issue a command to PMAC to change the DAC bias for this motor.
For example, after entering the above command, the final iteration of the program will print something to
the effect of:
You may want to write down this number and put it into your motor setup file in your project within the
Power PMAC IDE for future reference.
The user should now execute an Open-Loop test in order to determine whether the feedback from ACC-
24M2A is working properly. To do this, open Tuning from the Power PMAC IDE by clicking on
ToolsTune. Then, click the Open Loop Test button on the left:
You should see the actual velocity increasing positively while the commanded velocity is positive, the
actual velocity decreasing while the commanded velocity is negative, looking something like this:
If you see an erratic response, or an inverted saw tooth, then most likely the encoder decode setting is
incorrect. To change this, change MS{node},MI910 for this motor from 7 to 3, or vice versa.
The user should connect the load to the motor before tuning the servo
loop.
Note
The process of determining proper values of PID gains is called “Tuning.” The procedure for tuning is as
follows:
4. Set Motor[x].Servo.SwZvInt (Motor xx PID Integration Mode) – can be changed on the fly as
needed
=1, position error integration is performed only when Motor xx is not commanding a move
=0, position error integration is performed always
5. Using the Step Response, tune the following parameters in this order:
Proportional Gain, Kp (Motor[x].Servo.Kp)
Derivative Gain, Kd (Motor[x].Servo.Kvfb)
Integral Gain, Ki (Motor[x[.Servo.Ki)
6. Using the Parabolic Move, tune the following parameters in this order:
Velocity Feedforward, Kvff (Motor[x].Servo.Kvff)
Acceleration Feedforward, Kaff (Motor[x].Kaff )
Friction Feedforward, Kfff (Motor[x].Kfff)
Commanded
Position [cts]
Time [sec]
Now, compare your motor’s actual position to the commanded position profile. Depending how the actual
position looks, adjust the servo loop gains until you achieve the desired response.
Observing the table below, match your actual position response to one of the response shapes below, and
then adjust the appropriate gain as listed next to each plot:
Overshoot and
Oscillation Position Offset
Cause: Cause:
Too much Proportional Friction or Constant
gain or Force
too little Damping Fix:
Fix: Increase Ki
Decrease Kp Increase Kp
Increase Kd
Physical System
Sluggish Response Limitation
Cause: Cause:
Too much Damping or Limit of the
too little Proportional Motor/Amplifier/Load
gain and gain combination
Fix: Fix:
Increase Kp or Evaluate Performance
Decrease Kd and
maybe add Kp
Typically, one should start by increasing Kp until one observes the “Overshoot and Oscillation” condition
(upper left corner’s plot), and then increase Kd and Ki until the performance goals for the step response
are achieved. Be sure when executing the step response that you plot the Servo Command on the Right
Axis (see image on right below).
After commanding the Parabolic Velocity move, the commanded Velocity Profile and Acceleration
Profile should look like this:
Velocity Acceleration
Commanded Commanded
Profile Profile
Observing the table below, match your actual position response to one of the response shapes below, and
then adjust the appropriate gain as listed next to each plot:
High Vel./F.E.
Correlation
High Vel./F.E.
Cause: Friction
Correlation
Fix:
Cause: Damping
Add Kfff
Fix: Increase Kvff
and/or turn on Integral
Gain (Ki)
High Acc./F.E.
High Acc./F.E. Correlation
Correlation Cause:
Cause: Inertial Lag Physical System
Fix: Limitation
Increase Kaff Fix:
Use softer acceleration
or add more Kfff
LAYOUT
All main dimensions are in units of inches (millimeters are in square brackets).
layout 88
Accessory 24M2A
APPENDIX A: JUMPERS
E2 CPU Mode Jump pins 1 and 2 for firmware download through USB port.
Operation/Bootstrap Jump pins 2 and 3 for normal operation. Pin 2-3
1 2 3
E3 Buffer Request Remove jumper to allow BRSEL- to 5Vdc
Select Polarity Jump pins 1 and 2 to pull BRSEL- to 0Vdc Not
1 2 jumpered
E5 Encoder / Pulse and Remove jumper to enable +/-10V analog output on Ch1
Direction Ch1 Jump pins 1 and 2 to enable Stepper mode output for Ch1 Not
1 2 jumpered
E6 Encoder / Pulse and Remove jumper to enable +/-10V analog output on Ch1
Direction Ch2 Jump pins 1 and 2 to enable Stepper mode output on Ch2 Not
1 2 jumpered
E10 Stepper Drive Remove jumper to receive encoder C-Channel input on Ch2.
Amplifier Enable Jump pins 1 and 2 to provide Amp Enable line for Stepper Not
1 2 Ch2 Motor-style amplifier Ch2. jumpered
appendix A: Jumpers 89
Accessory 24M2A
APPENDIX B: SCHEMATICS
MACRO Fiber Connection
U35
1
C115 2 RXVEE
C113 C114
0.1 uF 3 RD+
0.1 uF R37 0.1 uF R38 RD-
L21 FB 4
68.1 68.1 5 SD
RXVCC MACRO Over Fiber
6
L22 FB 7 TXVCC
8 TD-
9 TD+
TXVEE
HFBR-5803
R39 R40 C116 + C117 C118
187.0 187.0 3.3/5.0 Volt Fiber
10 uF .1 uF .1 uF Optic Transceiver
Analog Ground
LVPECL Termination Network Located
at Optical Transceiver Inputs TD+/TD-
(NEAR U35 HFBR-5803)
+3.3VD +3.3VD
C400 C401
.1UF R41 .1UF R42
4.99K 4.99K
C402
.1UF C403
.1UF
R43 R44 R70 R71
7.5K 7.5K 82 82
11 6
51 51 51 J5
rj45
RD- RX-
10
CT CT
7 J5
1
9 8 2
RD+ RX+ R406 51 3
R407 51 4
R408 51 5 MACRO Over Copper
C112 R409 51 6 (Receive)
R53 R54 .1UF TG110-S050N2 R410 51 7
49.9 49.9 R411 51 8
C106
.1UF 51 51 51 51 51
C109
.01 uF (3KV)
Chassis Ground
Appendix B: Schematics 90
Accessory 24M2A
Limit Inputs
+5V
10
1
RP35
3.3KSIP10C
9
8
7
6
5
4
3
2
U62A (SMT4)
FLAG_D1 4 1 1 RP36 2 USER1
2 FLAG_D1 C1 ACI1A 2 PLIM1
3 3 4
E1 ACI1B 5 6 MLIM1
PS2505L-1NEC 7 8 HOME1
U62B (SMT4) FL_RT1
FLAG_B1 4.7KSIP8I
4 1
2 FLAG_B1 C1 ACI1A 2
3 2 RP37 1
E1 ACI1B 4 3
PS2505L-1NEC
U62C (SMT4)
6
8
5
7 LIMITS 1,2
FLAG_C1
2 FLAG_C1
4
3 C1 ACI1A 2
1
4.7KSIP8I J6
E1 ACI1B 1 RP38 2 USER1 1 USER1
PS2505L-1NEC 3 4 PLIM1 9 PLIM1
U62D (SMT4) 5 6 MLIM1 2 MLIM1
FLAG_A1 4 1 7 8 HOME1 10 HOME1
2 FLAG_A1 C1 ACI1A 2
3 FL_RT1 3 FL_RT1
E1 ACI1B x1KSIP8I
(IN SOCKET)
BEQU1 11 BEQU1
.1
.1
PS2505L-1NEC USER2 4 USER2
2 1 PLIM2 12 PLIM2
C146
C148
4 3 MLIM2 5 MLIM2
.1
.1
6 5 HOME2 13 HOME2
8 7 FL_RT2 6 FL_RT2
C147
C149
BEQU2 14 BEQU2
RP39 7 GND
1KSIP8I 15 GND
8 GND
U63A (SMT4)
FLAG_D2 4 1 1 RP40 2 USER2 GND
DB15S
2 FLAG_D2 C1 ACI1A 2 PLIM2
3 3 4
E1 ACI1B 5 6 MLIM2
PS2505L-1NEC 7 8 HOME2
U63B (SMT4) FL_RT2
FLAG_B2 4.7KSIP8I
4 1
2 FLAG_B2 C1 ACI1A 2
3 2 RP41 1
E1 ACI1B 4 3
PS2505L-1NEC 6 5
U63C (SMT4) 8 7
FLAG_C2 4 1
2 FLAG_C2 C1 ACI1A 2 4.7KSIP8I
3
E1 ACI1B 1 RP42 2
PS2505L-1NEC 3 4
U63D (SMT4) 5 6
FLAG_A2 4 1 7 8
2 FLAG_A2 C1 ACI1A 2
3
E1 ACI1B x1KSIP8I
(IN SOCKET)
.1
.1
PS2505L-1NEC
GND 2 1
C150
C152
4 3
.1
.1
6 5
8 7
C151
C153
RP43
1KSIP8I
Appendix B: Schematics 91
Accessory 24M2A
GND
U47C
U46C 10
10 8 74AC86
8 74HC132 (SO14) 9
(SO14) 9 1 RP16 2 CHA2+
3 4 CHA2-
5 6 CHB2+
U47D 7 8 CHB2-
R85 2.2K 13
1KSIP8I
11 74AC86
(SO14) 12
U46D +5V
12 C129
QL_2- 11 74HC132
2 QL_2-
(SO14) 13
.1uf
C130 GND
.1uf
GND
Appendix B: Schematics 92
Accessory 24M2A
7 ENA_AEN2 C136
.1UF
GND +5V
RP19 1
3.3KSIP10C
+5V
U45
9
8
7
6
5
4
3
2
GND
Appendix B: Schematics 93
Accessory 24M2A
C123
R80 R81
.1UF 330 330
8
GND
1
3 BEQU1
EQU_1 2 U43A
2 EQU_1
DS75451N (IN SOCKET)
4
(DIP8)
GND
6
5 BEQU2
EQU_2 7 U43B
2 EQU_2
DS75451N
(DIP8)
(IN SOCKET)
RESET-
1 RESET-
Appendix B: Schematics 94
Accessory 24M2A
+5VAN1
R136
R131 R132 R137
1k 1% 1.74K 1% C212 71.5K 1% 2.21K 1%
8
0.1uF
3 LM393AD
+ 1 1_therm_mot
1in_therm_mot R130 R134 U80A
2
6 1in_therm_mot -
1K 1% (SO8)
100 1%
Has to be KTY84_130 and not KTY84_150
4
D25
SMAJ5.0 R133 C213 C214 R135
1.5K 1% 0.1uF0.1uF 7.5K 1%
To J10 pin 23 Encoder connector
+5VAN2
5 LM393AD
+ 7 2_therm_mot
2in_therm_mot R140 R144 U80B
6
6 2in_therm_mot -
1K 1% (SO8)
100 1%
Has to be KTY84_130 and not KTY84_150
D26
SMAJ5.0 R143
1.5K 1%
C215 C216 R145
7.5K 1%
Motor Thermal
Input 1&2
To J11 pin 23 Encoder connector 0.1uF 0.1uF
Appendix B: Schematics 95
Accessory 24M2A
SSI Inputs
+5V
U82
8 5
VCC GND
ssi_io1 1
2 ROUT 7
RENA A
ena_ssi_out1 3
4 DENA 6
DIN A
(SOIC8)
ADM1485JR
C202 2 1 0.1uF 1 RP12 2 ALTCOS1- ssi_io1-
3 4 ALTCOS1+ ssi_io1+ ssi_io1- 6
U83 0402 5 6 ALTCOS2- ssi_io2- ssi_io1+ 6
7 8 ALTCOS2+ ssi_io2+ ssi_io2- 6
8 5 ssi_io2+ 6
VCC GND 33SIP8I
ssi_io2 1
2 ROUT 7
RENA A
ssi
ena_ssi_out2 3
4 DENA 6
DIN A
(SOIC8)
ADM1485JR
C203 2 1 0.1uF
U84 0402
ena_ssi_clk1
ssi_clk_out1
8
1
2
3
4
VCC GND
ROUT
RENA
DENA
DIN A
A
6
5
7
1&2
(SOIC8)
ADM1485JR
C204 .1UF 1 RP13 2 ALTSIN1- ssi_clk_out1-
3 4 ALTSIN1+ ssi_clk_out1+ ssi_clk_out1- 6
U85 5 6 ALTSIN2- ssi_clk_out2- ssi_clk_out1+ 6
7 8 ALTSIN2+ ssi_clk_out2+ ssi_clk_out2- 6
8 5 ssi_clk_out2+ 6
VCC GND 33SIP8I
1
2 ROUT 7
RENA A
ena_ssi_clk2 3
ssi_clk_out2 4 DENA 6
DIN A
(SOIC8)
ADM1485JR
C205 .1UF
GND
Appendix B: Schematics 96
Accessory 24M2A
Resolver Outputs
+5V
+5V
3
C187
.1uf D15
8
MMBD301LT1
3 U74A
1
+ 1
R108 ResOut1
R104 2 ResOut1 6
- 10ohm
4.99K lmh6672ma
3
4 lt1497cs8
C188 D16
MMBD301LT1
.1uf +5V
1
R106
4.99k
3
D17
MMBD301LT1
5 U74B
1
+ 7
R109 ResOut2
R105 ResOut2 6
6
-
3
10ohm
4.99K lmh6672ma
lt1497cs8 D18
MMBD301LT1
R107
1
4.99k
C249 C248
R333 10ohm + 47UF + 47UF
BVREF2 16V (SOT-223) 16V
4
(TANT) (TANT)
AGND
Appendix B: Schematics 97
Accessory 24M2A
Sin/Cos Inputs
R230 12.7K
ALTSIN1- ssi_clk_out1- 5 AD824AR
+ 7
U91B
6
- (SO14)
R234
R236
27.4K C243
27.4K 22pf
AGND
R231 12.7K
ALTSIN1+ ssi_clk_out1+
RP62
220SIP6I
1 2
3 4
5 6
SOCKET
R232 12.7K
ALTCOS1- ssi_io1- 10 AD824AR
+ 8
U91C
9
- (SO14)
R235
R237
27.4K C244
27.4K 22pf
AGND
R233 12.7K
ALTCOS1+ ssi_io1+
Encoder Power
+5V
L5
1 2
BEAD
L6
1 2
BEAD
5
NC7SZ14M5 EncPwr1
C266 D34 10
3
9
.1uf MMBD301LT1 8
EncPwr2
1
1
12
FBR12ND05
GND
Appendix B: Schematics 98
Accessory 24M2A
4
R170 12.7K
ß=2.15 3
+
AD824AR
1 SIN INPUT
U91A
2
R171 12.7K - (SO14)
R178
11
R180
27.4K C233 C234
-5VAN1 27.4K 22pf
.1uf
R172 12.7K
AGND
R173 12.7K
RP60
220SIP6I
ENCODER 1 1
3
2
4
J11 5
SOCKET
6
8
18 ResCos1- 12 AD824AR 30.9K 3.01K
RESOLVER ResCo s1 -
COS INPUT 27.4K .1uf
8
CLK1+/ALTSIN1+ 6 ALTSIN1+ ssi_clk_out1+ + 14 R186 R188 3 AD822AR
CLK1-/ALTSIN1- 19 ALTSIN1- ssi_clk_out1- ssi_clk_out1+ 5
13
U91D + 1 R193 3 LM393AD
ssi_clk_out1- 5 - (SO14) 24.9K 10.0K U97A +
DAT1+/ALTCOS1+ 7 ALTCOS1+ ssi_io1+ R175 12.7K 2 1 LOS_1-
INPUT #1 DAT1-/ALTCOS1-
CHU1+/DIR_1+
20
8
ALTCOS1- ssi_io1-
CHU1+
ssi_io1+
ssi_io1-
5
5
R179
R181 C236 R187 R189
-
(SO8)
10.0K
2
-
U98A
(SO8)
LOS_1- 2
4
CHU1+ 2 +5VAN1 C239
CHV1+/DIR_1- 21 CHV1+ R176 12.7K 27.4K C235 .1uf 24.9K 10.0K
4
CHV1+ 2
CHW1+/PUL_1+ 9 CHW1+ 27.4K 22pf .1uf
CHW1+ 2
8
CHT1+/PUL_1- 22 CHT1+
BVREF1 CHT1+ 2
BVRE F1 10 3 AD822AR -5VAN1
23 1in_therm_mot R177 12.7K AGND + 1
1 in _ t h erm _ m o t 1in_therm_mot 5 R183 U95A R191
C242 R195 C241
ResO ut 1 11 ResOut1 2 D31
ResOut1 5 - .01uf 4.99K .1uf
E N CP W R1 24 27.4K (SO8) 1 150.0K
12 EncPwr1 3
+5 V
4
25 +5V C269 2 R192
GN D C237
+
GN D 13 10.0K
+5VAN1 -5VAN1
.1uf MMBD4148CC
C230 C231 10uf
25V_tant R185 AGND
DB25S
27.4K
.1uf .1uf
AGND
C270
+
-5VAN1
10uf
25V_tant
AGND
Amplifier Output
D42 FBR12ND05
MMBD301LT1
5
U119
AENA_1 1
1
2,4 AENA_1
NC7SZ00 4
**NETLIST CHANGE** DACENA 2 (SOT23-5)
3
**PART CHANGE**
GND
Appendix B: Schematics 99
Accessory 24M2A
DAC Outputs
"AGND" PLANE A+5V
C280
.1UF
C288
SA+12V
.1UF RP65A RP67A
8
U110 1 2 1 2
1 16 3 (SO8)
VL VBL + 2.2KSIP8I 1% 22KSIP8I 1% R258
1
PWM_B_T1 DAC_STB1 U112A
2 15 2
2 PWM_B_T1 - 11.00K 1%
4
LL VS C293 5 LF347M
AD822AR RP71A
PWM_A_B1 DACA_DAT1 3 14 3 LF347M + 7 1 2 DAC1_A+
RP67C
4
2 PWM_A_B1 DL VOL + 1 5 6 6
U114B
C283 RP65B U114A - 220SIP8I
+
4 13 3 4 2 22KSIP8I 1% (SO14)
CK NRL -
2.2KSIP8I 1% (SO14)
PWM_A_B2 DACA_DAT2 5 12 4.7UF RP67D
11
2 PWM_A_B2 DR AGND
C282 OUTPUT 7 8
PWM_B_T2 DAC_STB2 OFFSET
+
6 11 C294 22KSIP8I 1%
2 PWM_B_T2 LR NRR POT
7 10 4.7UF R250 RP67B RP71B
DGND VOR R251 3 4 3 4 DAC1_A-
8 9 100K 1% 22KSIP8I 1%
VBR VS 5K POT 220SIP8I
AD1868R C281 C289
(SOL16) SA-12V
.1UF
.1UF AGND
5 (SO8) RP65C
+ RP68A
7 5 6 1 2
U112B
6
- 2.2KSIP8I 1% C295
22KSIP8I 1% R259
AD822AR
11.00K 1% 10 LF347M RP71C
12 LF347M + 8 5 6 DAC2_A+
+ RP68B U114C
RP65D 14 3 4 9
7 8 13
U114D - 220SIP8I
- 22KSIP8I 1% (SO14)
2.2KSIP8I 1% (SO14)
OUTPUT C296 RP68C
OFFSET 5 6
5
POT 22KSIP8I 1%
1 R252 RP68D RP71D
PWM_A_T1 DAC_CLK1 4 R253 7 8 7 8 DAC2_A-
2 PWM_A_T1 U116
2 100K 1% 22KSIP8I 1%
5K POT 220SIP8I
NC7SZ14M5
(SOT23-5)
3
C284
.1UF
C290
SA+12V
.1UF RP66A RP69A
U111 8 1 2 1 2
1 16 3 (SO8)
VL VBL + 2.2KSIP8I 1% 22KSIP8I 1% R268
1
U113A
2 15 2
- 11.00K 1%
4
LL VS C297 5 LF347M
AD822AR RP72A
PWM_B_B1 DACB_DAT1 3 14 3 LF347M + 7 1 2 DAC1_B+
RP69C
4
2 PWM_B_B1 DL VOL + 1 5 6 6
U115B
C287 RP66B U115A - 220SIP8I
+
4 13 3 4 2 22KSIP8I 1% (SO14)
CK NRL -
2.2KSIP8I 1% (SO14)
PWM_B_B2 DACB_DAT2 5 12 4.7UF RP69D
11
2 PWM_B_B2 DR AGND
C286 OUTPUT 7 8
OFFSET
+
6 11 C298 22KSIP8I 1%
LR NRR POT
7 10 4.7UF R254 RP69B RP72B
DGND VOR R255 3 4 3 4 DAC1_B-
8 9 100K 1% 22KSIP8I 1%
VBR VS 5K POT 220SIP8I
AD1868R C285 C291
(SOL16) SA-12V
.1UF
.1UF AGND
5 (SO8) RP66C
+ RP70A
7 5 6 1 2
U113B
6
- 2.2KSIP8I 1% C299
22KSIP8I 1% R269
AD822AR
11.00K 1% 10 LF347M RP72C
12 LF347M + 8 5 6 DAC2_B+
+ RP70B U115C
RP66D 14 3 4 9
7 8 13
U115D - 220SIP8I
- 22KSIP8I 1% (SO14)
2.2KSIP8I 1% (SO14)
OUTPUT C300 RP70C
OFFSET 5 6
POT 22KSIP8I 1%
R256 RP70D RP72D
R257 7 8 7 8 DAC2_B-
5K POT 100K 1% 22KSIP8I 1% 220SIP8I
"AGND" PLANE
Decoder /
Counter
A
Comparator
1 - Bit A/D
B
n-bit
A/D
B
Sin / Cos
Differential Signals n-bit
Analog Amplifier A/D
Photo
Current
Encoder Controller
The sine and cosine signals from the encoder are processed in two ways in this product (see above
diagram). First, they are sent through comparators that square up the signals into digital quadrature and
are then sent into the quadrature decoding and counting circuit of the Servo IC on the ACC-24M2A. The
units of the hardware counter, which are called hardware counts, are thus ¼ of a line. For most users, this
fact is an intermediate value, an internal detail that does not concern them. However, this is important in
two cases. First, if the sinusoidal encoder is used for PMAC-based brushless-motor commutation, the
hardware counter (not the fully interpolated position value) will be used for the commutation position
feedback. Therefore, the units of Ixx71 will be hardware counts. Second, if the hardware position-
compare circuits in the Servo IC are used, the units of the compare register are hardware counts. The
same is true of the hardware position-capture circuits, but often these scaling issues are handled
automatically through the move-until-trigger constructs.
The second, parallel processing of the sine and cosine signals is through analog-to-digital converters,
which produce numbers proportional to the input voltages. These numbers are used to calculate
mathematically an arctangent value that represents the location within a single line. This is calculated to
1/4096th of a line, so there are 4096 unique states per line, or 1024 states per hardware count.
For historical reasons, PMAC expects the position it reads for its servo feedback software to have units of
1/32th of a count. That is, PMAC considers the least significant bit (LSB) of whatever it reads for position
feedback to have a magnitude of 1/32th of a count for the purposes of its software scaling calculations.
We call the resulting software units software counts and any software parameter that uses counts from the
servo feedback (e.g. jog speed in counts/msec, axis scale factor in counts/engineering-unit) is using these
software counts. In most cases, such as digital quadrature feedback, these software counts are equivalent
to hardware counts.
However, with the added resolution produced by the ACC-24M2A interpolator option, software counts
and hardware counts are no longer the same. The LSB produced by the interpolator (through the encoder
conversion table processing) is 1/1024th of a hardware count, but PMAC software considers it 1/32 th of a
software count. Therefore, with the ACC-24M2A, a software count is 1/32th the size of a hardware count.
The Interpolator can accept a voltage-source (1 Vpp) signal from the encoder. The maximum sine-cycle
frequency input is approximately 8 MHz (1,400,000 SIN cycles/sec), which gives a maximum speed of
about 5.734 billion steps per second.
When used with a 1000 line sinusoidal rotary encoder, there will be 4,096,000 discrete states per
revolution (128,000 software counts). The maximum calculated electrical speed of this encoder would be
1,400 RPS or 84,000 RPM, which exceeds the maximum physical speed of most encoders.
Example 1:
A 4-pole rotary brushless motor has a sinusoidal encoder with 2000 lines. It directly drives a screw with a
5-mm pitch.
For servo control, the interpolated results of the conversion table are used. There are 128 software counts
per line, or 256,000 software counts per revolution. With each revolution corresponding to 5 mm on the
screw, there are 51,200 software counts per millimeter. The measurement resolution, at 4096 states per
line, is 1/8,192,000 of a revolution, or 1/1,638,400 of a millimeter (~0.6 nanometers/state).
Example 2:
A linear brushless motor has a commutation cycle of 60.96 mm (2.4 inches). It has a linear scale with a
20-micron line pitch.
The servo uses the interpolated results of the conversion table. With 128 software counts per line, and 50
lines per millimeter, there are 6400 software counts per millimeter (or 162,560 software counts per inch).
The measurement resolution, at 4096 states per line, is 204,800 states per mm (~5 nanometers/state).