This document contains proprietary and confidential information of Performance Motion Devices, Inc., and is pro-
by federal copyright law. The contents of this document may not be disclosed to third parties, translated,
tected
copied, or duplicated in any form, in whole or in part, without the express written permission of Performance
Motion Devices, Inc.
The information contained in this document is subject to change without notice. No part of this document may be
reproduced or transmitted in any form, by any means, electronic or mechanical, for any purpose, without the
express written permission of PMD.
Copyright 1998–2017 by Performance Motion Devices, Inc.
Atlas, Magellan, ION, Magellan/ION, Juno, Pro-Motion, C-Motion and VB-Motion are registered trademarks of
Performance Motion Devices, Inc.
iiAtlas® Digital Amplifier Complete Technical Reference
Warranty
PMD warrants that its products shall substantially comply with the specifications applicable at the time of sale,
provided that this warranty does not extend to any use of any PMD product in an Unauthorized Application (as
defined below). Except as specifically provided in this paragraph, each PMD product is provided “as is” and without
warranty of any type, including without limitation implied warranties of merchantability and fitness for any particular
purpose.
PMD reserves the right to modify its products, and to discontinue any product or service, without notice and advises
customers to obtain the latest version of relevant information (including without limitation product specifications)
before placing orders to verify the performance capabilities of the products being purchased. All products are sold
subject to the terms and conditions of sale supplied at the time of order acknowledgment, including those pertaining
to warranty, patent infringement and limitation of liability.
Unauthorized Applications
PMD products are not designed, approved or warranted for use in any application where failure of the PMD product
could result in death, personal injury or significant property or environmental damage (each, an “Unauthorized
Application”). By way of example and not limitation, a life support system, an aircraft control system and a motor
vehicle control system would all be considered “Unauthorized Applications” and use of a PMD product in such a
system would not be warranted or approved by PMD.
By using any PMD product in connection with an Unauthorized Application, the customer agrees to defend,
indemnify and hold harmless PMD, its officers, directors, employees and agents, from and against any and all claims,
losses, liabilities, damages, costs and expenses, including without limitation reasonable attorneys’ fees, (collectively,
“Damages”) arising out of or relating to such use, including without limitation any Damages arising out of the failure
of the PMD product to conform to specifications.
In order to minimize risks associated with the customer’s applications, adequate design and operating safeguards must
be provided by the customer to minimize inherent procedural hazards.
Disclaimer
PMD assumes no liability for applications assistance or customer product design. PMD does not warrant or represent
that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other
intellectual property right of PMD covering or relating to any combination, machine, or process in which such
products or services might be or are used. PMD’s publication of information regarding any third party’s products or
services does not constitute PMD’s approval, warranty or endorsement thereof.
Atlas® Digital Amplifier Complete Technical Reference
iii
Related Documents
Atlas® Digital Amplifier User’s
Description of the Atlas Digital Amplifier electrical and mechanical specifications along with a summary of
its operational features.
Magellan® Motion Control IC User’s Guide
Complete description of the Magellan Motion Control IC features and functions with detailed theory of
operations.
Magellan Motion Control Developer’s Kit User’s Manuals
How to install, configure, and operate the DK58000 series, DK55000 series, and MC58113 series Magellan
Motion Control IC Developer’s Kits.
Pro-Motion® User’s Guide
User’s guide to Pro-Motion, the easy-to-use motion system development tool and performance optimizer.
Pro-Motion is a sophisticated, easy-to-use program which allows all motion parameters to be set and/or
viewed, and allows all features to be exercised.
Manual
ivAtlas® Digital Amplifier Complete Technical Reference
Atlas® Digital Amplifier Complete Technical Reference
1.Introduction
In This Chapter
Atlas Digital Amplifier Overview
Typical Applications
Features and Functions
Atlas Developer’s Kits
1.1Atlas Digital Amplifier Overview
Atlas Digital Amplifiers are single-axis amplifiers that provide high performance torque control of brushless DC, step
motor, and DC Brush motors. They accept digital torque commands from an external source and are used directly for
motor torque control applications, or in conjunction with higher level controllers for velocity or positioning applications.
Their very compact size and range of power output levels make them an ideal solution for single-card machine
controllers that require high performance in a small envelope.
Atlas digital amplifiers provide many advanced control features including user-programmable gain parameters,
performance trace, field oriented control, and I
voltage, and provide automatic protection from overcurrent, undervoltage, overvoltage, overtemperature, and short
circuit faults.
2
t current management. Atlas amplifiers are powered from a single supply
1
The Atlas digital amplifier family has been designed to work seamlessly with PMD’s Magellan family of motion control
ICs. Alternatively, they can be used with dedicated FPGAs, digital signal processors, or general purpose microprocessors.
Communication to/from Atlas amplifiers is via SPI (Serial Peripheral Interface) using a simple, packet-oriented
protocol. For step motors, in addition to the SPI format a dedicated pulse & direction input mode is provided.
Atlas amplifiers are packaged in plastic and metal solderable modules and are available in an ultra compact package size
with a total footprint of 1.4 inch
come in three power levels; 75 watts, 250 watts, and 500+ watts and utilize standard through-hole pins for all electrical
connections.
Atlas amplifiers are provided in both vertical and horizontal mounting configurations and have integral attachment tabs
to allow for a variety of mechanical mounting and heat sink options. The following table shows the available
configurations of the Atlas Digital Amplifiers:
Power Level
P/N
Step Motor
MD241048/02VBLow (75W)12-48VUltra compactVerticalStep Motor
MD241048/02HBLow (75W)12-48VUltra compactHorizontalStep Motor
MD241048/05VBMedium (250W)12-48VUltra compactVerticalStep Motor
MD241048/05HBMedium (250W)12-48VUltra compactHorizontalStep Motor
MD141056/25VBHigh (500+W)12-56VCompactVerticalStep Motor
MD141056/25HBHigh (500+W)12-56VCompactHorizontalStep Motor
(continuous)VoltageSize
2
(9.0 cm2) and a compact package size with a footprint of 2.6 inch2 (16.8 cm2). They
Mounting
StyleMotor Type
Atlas® Digital Amplifier Complete Technical Reference
9
Introduction
Brushless DC,
DC Brush, or
Step Motor
1
Brushless DC
MD231048/02VBLow (75W)12-48VUltra compactVerticalBrushless DC
MD231048/02HBLow (75W)12-48VUltra compactHorizontalBrushless DC
MD231048/05VBMedium (250W)12-48VUltra compactVerticalBrushless DC
MD231048/05HBMedium (250W)12-48VUltra compactHorizontalBrushless DC
MD131056/25VBHigh (500+W)12-56VCompactVerticalBrushless DC
MD131056/25HBHigh (500+W)12-56VCompactHorizontalBrushless DC
Figure 1-1:
Single Axis
Magellan With
Atlas Amplifier
*Multi-motor motor type
allows the Atlas to be configured by the user to drive either Step Motor, Brushless DC, or DC Brush motor type.
This manual provides a description of the electrical and mechanical specifications for the Atlas Digital Amplifiers,
along with a summary of its operational features. For complete documentation on all aspects of the Atlas Digital
Amplifier including a programmers command reference refer to Atlas® Digital Amplifier Complete Technical Reference.
For more information on the Magellan Motion Control IC consult the Magellan Motion Control IC User’s Guide.
1.2 Typical Applications
The following section provides overview diagrams of typical applications utilizing the Atlas amplifier products.
1.2.1 Single Axis Positioning Motion Controller
The diagram below shows a PMD MC58113 Motion Control IC sending torque commands to an Atlas Amplifier to
provide positioning control of a brushless DC, DC Brush, or Step Motor.
10Atlas® Digital Amplifier Complete Technical Reference
Introduction
Brushless DC,
DC Brush, or
Step Motor
Brushless DC,
DC Brush, or
Step Motor
Brushless DC,
DC Brush, or
Step Motor
1.2.2Multi Axis Positioning Motion Controller
The diagram below shows a PMD Magellan MC58000 series or MC55000 series multi-axis motion control IC being
used with two or more Atlas Amplifiers to provide control of brushless DC, DC Brush, or Step Motors in a
positioning application. If desired each axis can control a different motor type, so that, for example, brushless DC
motors can be used along with step motors in the same controller.
1
Figure 1-2:
Multi Axis
Magellan With
Atlas
Amplifiers
1.2.3Microprocessor-Based Motion Controller
The diagram below shows the Atlas Amplifier being driven by a general purpose microprocessor that provides high
level path generation and servo loop closure and outputs continuous desired torque commands or desired position
increments for step motors to the Atlas Amplifier via the SPI (Serial Peripheral Interface).
1.2.4 Stand Alone Step Motor Amplifier
iagram below shows the Atlas Amplifier being directly driven by pulse & direction signals. These signals may
The d
come from a microprocessor, a control card, or any other existing motion control device that outputs pulse & direction
signals. In this mode the Atlas unit operates ‘stand-alone,’ and utilizes configuration control parameters previously
stored into the Atlas unit’s NVRAM (non-volatile) memory.
Figure 1-3:
Direct Host
Microprocessor
With Atlas
Amplifiers
Atlas® Digital Amplifier Complete Technical Reference
11
Introduction
Step Motor
1
Figure 1-4:
Direct Host
Microprocessor
With Atlas
Amplifiers
There are a few options for configuring Atlas units for stand alone operation:
•Pro-Motion can be used with the Atlas Developer’s Kit to program Atlas units
•The user can develop their own NVRAM programming system by utilizing the SPI (Serial Peripheral
Interface) Atlas command protocol. For more information refer to the Atlas® Digital Amplifier Complete Technical Reference.
•PMD offers custom pre-configured Atlas units. For more information contact your local PMD sales
representative.
1.2.5Force Control
The Brushless DC and DC Servo Atlas units can be used for general purpose force control applications such as remote
teleoperation, force feedback, solonoid actuation, and any other general purpose valve/actuator control where a
precisely controllable current is needed.
Figure 1-5:
Atlas Force
Control
In this application the torque command may be sent continuously by the host microprocessor or from time to time as
required by the application. In either case the Atlas provides very accurate current/torque control resulting in smooth
and precise application of force.
1.3Features and Functions
The Atlas family of amplifiers provide an extensive list of functions, including:
•Available in Brushless DC, DC Brush, Step Motor, and multi-motor motor types
•High performance all-digital power amplifier
•Works with Magellan ICs, FPGAs or microprocessor-based controllers
•Digital SPI interface eliminates analog +/- 10V signals
•Available in 75W, 250W, and 500W+ power levels
•Rugged plastic solderable module format uses standard through-hole pins
•Total power output to 1Kilowatt
•Available in ultra compact 1.05" x 1.05" x .53" (27mm x 27mm x 13mm) size or compact 1.52" x 1.52"
x .60" (39mm x 39mm x 15mm) size
12Atlas® Digital Amplifier Complete Technical Reference
•Horizontal and vertical mount configurations
•Includes rugged mechanical tab mounts
•Supply voltage range of 12V up to 56V
•High current output up to 14A continuous, 25A peak
•Digital current loop with choice of standard A/B or Field Oriented Control (FOC)
•Direct signal pulse and direction input
2
•I
t current foldback limiting
Introduction
1
•Overcurrent, overvoltage, undervoltage, overtemperature, and SPI command watchdog time
protection
Single DC supply operation.
•
•Enable input and FaultOut output safety interlock signals
•SPI (Serial Peripheral Interface) up to 8 MHz
•Performance trace of up to 1,020 words and four simultaneous variables
•1,024 word non-volatile parameter storage
•Microstepping control with up to 256 microsteps per full step
•Signal conditioning buffers and analog filters on all I/O signals
•Fully RoHS compliant and CE marked
1.4Atlas Developer’s Kit
To simplify development, an Atlas Developer’s Kit is available, shown in Figure 1-6.
out
Atlas® Digital Amplifier Complete Technical Reference13
Introduction
1
Figure 1-6:
Developer Kit
Components
The following software and hardware components are included in every Atlas Developer’s Kit:
•Pro-Motion CD and User’s Guide
•C-Motion and VB-Motion SDK CD, including PDFs of all Atlas documentation
•Atlas DK DB9 communications cable
For the following components, you will provide information that will specify how you want the DK tailored for your
exact development needs:
•Specific Atlas units to be included (motor type, power level)
•Atlas carrier card (horizontal or vertical, 1 or 4 axis version)
The carrier cards are designed for direct use with the compact Atlas format. For each ultra compact Atlas ordered a
converter card is provided that allows the ultra compact Atlas to be plugged into the compact carrier card socket
directly.
The L-bracket provides a stable mechanical base from which you can conveniently connect and operate your prototype
system motors. With the vertical plate, the Atlas units have additional heat sinking, which can be extended further by
connecting the vertical plate to your own heat sink or cold plate.
Electrical connection to the Atlas DK carrier card is made by DB9 connector, and by jack screw connectors. Designers
who plan to use the Atlas in conjunction with PMD’s Magellan Motion Control ICs can connect the Atlas DK to the
Magellan DK card, purchased separately. For more information on this product see one of the available Magellan
Motion Control IC developer’s kit user’s manuals.
Refer to Appendix A, “
Atlas DK.
Atlas Developer’s Kit” for complete information on ordering, setting up and operating the
14Atlas® Digital Amplifier Complete Technical Reference
Motor types supported:Brushless DC, DC Servo, Step Motor
Communication format:SPI (Serial Peripheral Interface)
SPI clock frequency range:2.0 MHz to 8.0 MHz
Torque command rate:up to 9.7 kHz
Current measurement resolution:12 bits
Current loop type:P, I (proportional, integral) with Integral limit
Current loop resolution:16 bits
Current loop rate:19.530 kHz
Current loop modes:individual phase, field oriented control, third leg floating
Safety functions:over current detect, programmable over temperature
detect, programmable overvoltage detect, programmable
under voltage detect, programmable I
SPI command watchdog timeout
Output limiting:
Command modes:SPI voltage, SPI torque, pulse & direction signal
PWM rate:20 kHz, 40 kHz, 80 kHz, or 120 kHz
PWM generation modes:sinusoidal, space vector modulation, standard single-phase
Pulse & direction rate:1.0 M Pulses/sec
Microsteps per full step:up 256 per full step
Trace capture modes:one time, rolling-buffer
Trace trigger modes:internal clock, external by controller
Trace buffer size:1,020 16-bit words
NVRAM storage size:1,024 16-bit words
Programmable I2t energy, current, and voltage limit
2
t current foldback,
2
Atlas® Digital Amplifier Complete Technical Reference
15
Functional Characteristics
2
Figure 2-1:
Vertical Unit Ultra Compact
Package
2.2Physical Dimensions
2.2.1Vertical Unit, Ultra Compact Package
Figure 2-2:
Horizontal Unit
- Ultra Compact
Package
2.2.2Horizontal Unit, Ultra Compact Package
16Atlas® Digital Amplifier Complete Technical Reference
2.2.3Vertical Unit, Compact Package
Functional Characteristics
Figure 2-3:
Vertical Unit Compact
Package
2
2.2.4Horizontal Unit, Compact Package
Figure 2-4:
Horizontal Unit
- Co
mpac
Package
Atlas® Digital Amplifier Complete Technical Reference17
t
Functional Characteristics
2
2.3Mechanical Mounting Options
Atlas amplifiers are provided in two separate package sizes, ultra compact and compact, and in two separate mounting
configurations; vertical and horizontal. There are some very low power applications where the Atlas unit may be
mounted without mechanical attachment to the screw tabs. In such cases mechanical attachment to the PCB occurs
via the electrical solder connections.
Most applications however will utilize the Atlas unit’s integral screw tab mounts to rigidly connect the Atlas to the
PCB, to a heat sink, or to some other mechanical support. As shown in Figure 2-5 there are a number of Atlas
mounting options available when using the Atlas screw tabs. The choice of the mounting hardware depends on the
demands of the application.
The following table provides information related to the mechanical screw tab mounts:
Maximum
Recommended
Atlas Package
Ultra Compact M2.04.2 mm2.2 mm
CompactM2.55.4 mm2.8 mm
screw type
screw head
diameter
Maximum
screw body
diameter
18Atlas® Digital Amplifier Complete Technical Reference
Functional Characteristics
SCREWS (M2.0 or M2.5)
HEX NUT (M2.0 or M2.5)
STANDOFF
STANDOFF
HEAT SINK
HEAT SINK
SCREWS (M2.0 or M2.5)
HEX NUT (M2.0 or M2.5)
STANDOFF
STANDOFF
Vertical Unit, Mechanical Mount to Support/Cold Plate
SCREWS (M2.0 or M2.5)
SUPPORT/COLD
PLATE
SCREWS (M2.0 or M2.5)
Horizontal Unit, Mechanical Mount to Support/Cold Plate
Horizontal Unit, Mechanical Mount Through Heat Sink to PCB
THERMAL
TRANSFER
MATERIAL
THERMAL
TRANSFER
MATERIAL
THERMAL
TRANSFER
MATERIAL
THERMAL
TRANSFER
MATERIAL
SUPPORT/COLD
PLATE
BA
DC
Horizontal Unit, Mechanical Mount to PCB
Figure 2-5:
Horizontal &
Vertical Unit
Mounting
Options
2
2.3.1 Mounting Guidelines
Atlas amplifiers, while designed to be robust and easy to install, contain active electronics that can only function
reliably when the mechanical integrity and operating environment of the Atlas is maintained. The next three sections
Atlas® Digital Amplifier Complete Technical Reference
19
Functional Characteristics
2
provide important recommendations and guidelines for the configuration, selection, placement, mounting method,
and installation procedure for Atlas amplifiers.
Choice of vertical or horizontal Atlas. The horizontal configuration of Atlas is recommended for applications where the
Atlas is not mechanically mated to a supporting plate and where vibration or movement-related forces may be present.
When the Atlas unit is mechanically mated to a supporting plate, either the horizontal or the vertical configuration
may be used. Figure 2-5
Attaching Atlas to a supporting plate. Some Atlas applications will utilize a supporting plate for heat removal or for
enhanced mechanical stability. For Atlas installations that may be subject to vibration or movement-related forces and
that utilize a supporting plate, special care should be taken to insure that there is no movement between the circuit
card that the Atlas is soldered or socketed to and the supporting plate which the Atlas is mechanically attached to. Such
movement could result in damage to the Atlas unit, the circuit card, or the supporting plate.
Attaching Atlas to a free-standing heatsink. Some Atlas applications will utilize a free standing heat sink, such as is shown
in Figure 2-5
recommended for use with vertical Atlas units. When mounting Atlas units with free standing heat sinks special care
should be taken where vibration or movement-related forces may be present. These forces, acting on the additional
mass of the heat sink, may impart excessive mechanical stress on the Atlas resulting in damage to the Atlas unit, the
circuit card, or the heat sink. Depending on the nature and magnitude of the forces, in these applications mounting
the Atlas to a supporting plate may be preferred.
Choice of socket or solder connection to the circuit card. For best electrical contact to the printed circuit board (PCB),
connection by soldering to the Atlas is generally recommended. This is particularly true for Atlas units that are not
mated to a supporting plate. When the Atlas unit is mounted to a supporting plate either solder or socket electrical
connections may be used, with solder connections recommended for applications benefitting from rigid connection
of the Atlas to the PCB, and sockets being recommended when greater mechanical isolation of the PCB from the
mechanical support is desired.
C and Figure 2-5D show the Atlas unit mechanically mated to a supporting plate.
A and Figure 2-5B. Free standing heat sinks are recommended with horizontal Atlas units but are not
Some of the electrical ratings of the Atlas may not be achievable when electrical connection to the Atlas is via
sockets rather than via soldering. It is the responsibility of the user to determine whether a particular motor output current and voltage rating may be achieved with a given socket.
2.3.2Thermal Transfer Materials
Thermal transfer materials in the form of thermal tape, pads, paste, or epoxy may be used to improve thermal transfer
between the Atlas’ metal plate and an attached heat sink or supporting plate. These materials improve thermal
conductivity by filling in air gaps that form when two metallic surfaces are mated.
Figure 2-5
surface. The following guidelines may be helpful in selecting and sizing the thermal transfer material best-suited to
your application.
The capacity of thermal transfer materials to transfer heat (known as the bulk conductivity) is much lower than that
of metals such as aluminum or copper. Therefore, in general, the thinner the transfer material the better. Thickness of
the material is only precisely controllable for thermal pads and thermal tapes, with thermal pads providing the thinnest
available interfaces beginning at 5 mils (.127 mm) or even less. For use with Atlas amplifiers thermal transfer materials
that are thicker than 40 mils (1.0 mm) are not recommended regardless of the material used.
When using thermal paste or thermal epoxy glue the thickness should be carefully controlled via a silk screen or other
wet film application process. The Atlas unit itself should not be used to squeeze non-uniformly applied paste or epoxy
flat during installation. Doing so may result in damage to the Atlas.
shows a typical application of a thermal transfer material between the Atlas and a heat-removing metal
20Atlas® Digital Amplifier Complete Technical Reference
Functional Characteristics
1.40”
(35.6)
1.50”
(38.1)
1.00”
(25.4)
.95”
(24.1)
2
Whether using tape, pads, paste, or epoxy, as shown in Figure 2-6
, the thermal transfer material that is used as the
interface should not extend to the area under the Atlas’ tabs because this may reduce the amount of compression that
occurs in the thermal transfer area. The following table provides dimensions for the applied thermal transfer material
for the two available Atlas package sizes:
Maximum Pad
Atlas Package Size
Ultra Compact.1.00" x .95" (25.4 mm x 24.1mm)
Compact1.40" x 1.50" (35.6 mm x 38.1
Dimensions
mm)
Figure 2-6:
Recommended
Atlas Unit
Thermal
Transfer
Material
Dimensions
2.3.3Atlas Installation
There are a number of precautions and procedures that should be followed to maintain the electrical and mechanical
integrity of the Atlas unit during installation.
Soldering Atlas units in place. Applications that utilize Atlas units that are not mechanically mated to a heat sink or that
are mated to a self-standing heat sink may utilize a standard soldering process without special precautions or
procedures. Applications that involve Atlas units mated to a supporting plate and that will be soldered to the PCB
should take special care to insure that the solder joints are not stressed by the supporting plate once installed. The
recommended method to achieve this is to mechanically mate the Atlas to the supporting plate before soldering the
Atlas into the PCB. If, for whatever reason, this is not possible, then special care should be taken to insure that the
Atlas is precisely aligned with the supporting plate after soldering and before mechanical attachment so that upon
mechanical attachment no stress is placed on the Atlas unit, the solder contacts, or the PCB.
Mounting surface flat and clean. Thermal performance as well as safe operation of the Atlas requires that the surface that
the Atlas is mounted to be flat and clean, free of dust, grease, or foreign objects. The recommended maximum
deviation of the mating surface flatness is 3 mils (.076 mm).
Mechanical mounting limits. Applications that will utilize a mechanical attachment to the Atlas via the Atlas’s mounting
tabs should take special care not to overstress the mechanical tabs. Regardless of the attachment method, which is most
commonly screws but may also be clips or inserts, the linear force applied to each mechanical tab should not exceed
certain values as shown in the following table and the accompanying Figure 2-7
Atlas® Digital Amplifier Complete Technical Reference21
Functional Characteristics
11.0 Oz-in (.078 N-m) - Ultra Compact Package
12.5 OZ-in (.088N-m) - Compact Package
M2.0 or M2.5 Screw
2
Figure 2-7:
Atlas Torque
Specifications
Mechanical mounting procedure. Atlas units that are mated to a heat sink or mechanical plate should be attached by
progressively tightening both of the Atlas unit’s tabs. This means that one screw may be tightened, followed by the
other, than back to the first etc. until the desired torque at each screw has been achieved. Following this procedure is
particularly important when installing Atlas units over paste or epoxy, where the subsurface layer will undergo
compression and movement before settling to a final installed position.
To ensure that proper contact exists between the Atlas and the entire thermal transfer material substrate, and to
ensure that the Atlas unit is not damaged via mechanical overstress, the user should carefully apply equal torque
increments to each tab screw, never exceeding at any point the torque limit on either tab of 25 lbs (111 N) linear
force or 11.0 oz-in (.078 N-m) rotary torque using a M2.0 x .40 screw for the ultra compact Atlas package, and
35 lbs(156N) linear force or 12.5oz-in (.088 N-m) rotary torque using a M2.5 x .45screw for the compact Atlas
package.
.
It is the responsibility of the user to ensure that all Atlas units have been installed within the above prescribed
mechanical stress limits and following the above described procedures. Failure to observe any of the above recommended procedures and limits may result in incorrect operation or failure of the Atlas during operation.
22Atlas® Digital Amplifier Complete Technical Reference
3.Electrical Specifications
In This Chapter
Drive Ratings
Absolute Maximum Ratings
Environmental Ratings
Safety and Compliance
DC Characteristics
AC Characteristics
Pin Descriptions and Pinouts
Signal Interfacing
Connection Overview
Heat Sink Grounding
Atlas Conversion Factors
3.1Drive Ratings
3.1.1Low Power Units (P/Ns MD2x1048/02xB)
3
Specifications
Nominal supply voltage12-48 VDC12-48 VDC12-48 VDC
Continuous current1.5 ADC1.5 Arms1.5 Arms
Peak current (per phase)3.8 A3.8 A3.8 A
Maximum continuous power72 W88 W102 W
*
transformer isolated power supply, T < 40° C
A coldplate or a heatsink in an environment with sufficient airflow can be used to achieve the above drive ratings.
For temperature operation beyond the standard 0-40° C range, above-listed ratings may change. Contact your PMD
representative for additional information on Atlas extended temperature operation including higher temperature drive
ratings.
*
DC Brush
Motor
Brushless DC
Motor
Step
Motor
3.1.2Medium Power Units (P/Ns MD2x1048/05xB)
Specifications
Nominal supply voltage12-48 VDC12-48 VDC12-48 VDC
Continuous current7.0 ADC5 Arms4.5 Arms
Peak current (per phase)12.5 A12.5 A 12.5 A
Maximum continuous power336 W294 W305 W
*
DC Brush MotorBrushless DC Motor Step Motor
Atlas® Digital Amplifier Complete Technical Reference
23
Electrical Specifications
3
*
transformer isolated power supply, T < 40° C
A coldplate or a heatsink in an environment with sufficient airflow can be used to achieve the above drive ratings.
For temperature operation beyond the standard 0-40° C range, above-listed ratings may change. Contact your PMD
representative for additional information on Atlas extended temperature operation including higher temperature drive
ratings.
3.1.3High Power Units (P/Ns MD2x1056/25xB)
Specifications
Nominal supply voltage12-56 VDC12-56 VDC12-56 VDC
Continuous current14.0 ADC10.0 Arms9.0 Arms
Peak current (per phase)25.0 A25.0 A25.0 A
Maximum continuous power670 W590 W610 W
*
transformer isolated power supply, T < 40° C
*
DC Brush MotorBrushless DC Motor Step Motor
A coldplate or a heatsink in an environment with sufficient airflow can be used to achieve the above drive ratings.
For temperature operation beyond the standard 0-40° C range, above-listed ratings may change. Contact your PMD
representative for additional information on Atlas extended temperature operation including higher temperature drive
ratings.
3.2Absolute Maximum Ratings
ParameterRating
HV voltage range, low power units0 V to +52 V
HV voltage range, medium power units0 V to +52 V
HV voltage range, high power units0 V to +60 V
~Enable voltage range-10 V to +24 V
SPISI, SPIClk, ~SPICS voltage range-0.5 V to 6.5 V
SPISO voltage range-0.5 V to 3.7 V
FaultOut voltage range-0.3 V to 24 V
FaultOut output current-35 uA to 50 mA
5V output current, low power units50 mA
5V output current, medium power units 50 mA
5V output current, high power units100 mA
All voltage values are with respect to GND unless otherwise noted.
24Atlas® Digital Amplifier Complete Technical Reference
3.3Environmental Ratings
SpecificationValue
Operating ambient temperature0 to 40 C
Maximum base plate temperature75 C
Storage temperature-20 to 85 C
Reflow soldering temperature300 C (1.5mm for 10 seconds)
Humidity0 to 95%, non-condensing
AltitudeUp to 2,000 meters without derating
ContaminationPollution Degree 2
3.4Safety and Compliance
SpecificationStandard
CELVD: EN60204-1
EMC-D: EN61000-6-1, EN61000-6-3, EN55011
Electrical safetyDesigned to UL508C, UL840 and EN60204-1
Hazardous materialsRoHS compliant
FlammabilityUL94-HB
EnclosureIP20
Electrical Specifications
3
3.5DC Characteristics
3.5.1SPISI, SPIClk
Schmitt-trigger InputMinMaxConditions
, Positive-going input threshold voltage1.6 V2.0 V
V
+
V-, Negative-going input threshold voltage 0.9 V1.2 V
VT, Hysteresis V+-V-0.6 V1.0 V
, input current±1 uAInput voltage is 5.5 V or GND
I
IN
3.5.2SPISO
MinMaxConditions
, output voltage03.3 V
V
O
, Logic 1 output voltage3.2 VIOH=-100 uA
V
OH
2.4 VI
, Logic 0 output voltage0.1 VIOL=100 uA
V
OL
0.7 VI
I
, input current when ~SPICS is “1”10 uAVO = 0 to 3.7 V
OZ
=-16 mA
OH
=16 mA
OL
Atlas® Digital Amplifier Complete Technical Reference25
Electrical Specifications
3
3.5.3~SPICS
, Logic 1 input voltage2 V
V
IH
, Logic 0 input voltage0.8 V
V
IL
, pull-up current-500 uA
I
IN
3.5.4~Enable
Schmitt-trigger inputMinMaxConditions
V+, Positive-going input threshold voltage1.6 V2.0 V
V-, Negative-going input threshold voltage 0.9 V1.2 V
VT, Hysteresis V+-V-0.6 V1.0 V
3.5.5FaultOut
Output impedance with Logic 1 output148 Kohm152 KohmI
, Logic 0 output voltage0.25 VIOL=10 mA
V
OL
MinTYPMaxConditions
MinMaxConditions
=-100 uA
OH
3.5.65V
MinMaxConditions
Voltage tolerance, low power units-5%5%Output current 0-50 mA
Voltage tolerance, medium power units -5%5%Output current 0-50 mA
Voltage tolerance, high power units-5%5%Output current 0-100 mA
Short circuit protectionNot available
26Atlas® Digital Amplifier Complete Technical Reference
3.6AC Characteristics
SPISI
SPISO
SPIClk
~SPICS
T1
T3
T2
T5T6
data is valid
data
must be valid
T8
T4
T9
T7
Electrical Specifications
Figure 3-1:
Timing
Diagrams
3
See Figure 3-1
Timing IntervalNo.MinMax
, SPI clock cycle timeT1125 nsec
T
SPI
Pulse duration, SPIClk highT3(0.5 T
Pulse duration, SPIClk lowT4(0.5 T
SPIClk high to SPISO valid delay timeT530 nsec
SPISO date valid time after SPIClk lowT60 nsec
SPISI setup time before SPIClk lowT730 nsec
SPISI valid time after SPIClk lowT8(0.5 T
~SPICS low to first SPIClk highT2400 nsec
Last SPIClk low to ~SPICS highT90.5 T
for timing numbers.
-10) nsec
SPI
-10) nsec
SPI
-6) nsec
SPI
SPI
3.7 Pin Descriptions and Pinouts
Atlas units regardless of package size or mounting configuration provide a common set of signals and functions
All
however the pin addresses and number of pins for various functions are different between the ultra compact Atlas
units and the compact Atlas units. In addition, the pin addresses are different between the horizontal and vertical
mounting configurations for each package size.
The following sections provide detailed pinouts for the two Atlas packages; ultra compact and compact, and the two
mounting configuration; horizontal and vertical.
All Atlas unit pins are 0.1 inch spacing and 0.025inch pin width.
Atlas® Digital Amplifier Complete Technical Reference
1HV2
3Motor A 4Pwr_Gnd
5Motor C6Motor B
7Motor D8NC (No Connect)
9NC (No Connect)10NC (No Connect)
11~Enable12FaultOut
13GND145V
15SPISO16~SPICS/AtRest
17SPIClk/Pulse18SPISI/Direction
The ultra compact Atlas vertical package is keyed so that it is installation direction dependent. It has no physical
pin installed at the Pin #2 location.
3.7.2Atlas Pinouts - Ultra Compact, Horizontal
PinNamePinName
1Motor D2Motor C
3Motor B4Motor A
5HV6Pwr_Gnd
7SPISI/Direction8SPIClk/Pulse
9SPISO10~SPICS/AtRest
28Atlas® Digital Amplifier Complete Technical Reference
115V12GND
19
17 15
13 11 9 7 5 3 1
20
18
16 14
12 10 8 6
4
2
12
10 8
6
4 2
22 21 20 19
18
17 16 15 14 13
11
9
7 5
3
1
13FaultOut14~Enable
15GND16NC (no connect)
17NC (no connect)18NC (no connect)
3.7.3Atlas Pinouts - Compact, Vertical
PinNamePinName
1Pwr_Gnd2Pwr_Gnd
3HV4HV
5Motor A6Motor A
7Motor B8Motor B
9Motor C10Motor C
11Motor D12Motor D
13~Enable14FaultOut
155V16GND
17~SPICS/AtRest18SPISI/Direction
19SPIClk/Pulse20SPISO
Electrical Specifications
Figure 3-4:
Atlas Pinouts Compact,
Vertical
3
The compact Atlas package provides additional power output via doubling of the HV, Pwr_Gnd, and Motor output
pins. To achieve the rated unit power output be sure that both pins are connected.
The compact Atlas vertical package is not keyed and therefore care should be taken to install in the correct orientation.
3.7.4Atlas Pinouts - Compact, Horizontal
Figure 3-5:
Atlas Pinouts Compact,
Horizontal
Atlas® Digital Amplifier Complete Technical Reference29
Electrical Specifications
3
PinNamePinName
1Motor D2Motor D
3Motor C4Motor C
5Motor B6Motor B
7Motor A8Motor A
9HV10HV
11Pwr_Gnd12Pwr_Gnd
135V14GND
15~Enable16FaultOut
17GND18~SPICS/AtRest
19SPISO20SPISI/Direction
21SPIClk/Pulse 22GND
The compact Atlas package provides additional power output via doubling of the HV, Pwr_Gnd, and Motor output
pins. To achieve the rated unit power output be sure that both pins are connected.
3.7.5Pin Descriptions
Pin NameDirection Description
HVDC power to Atlas module, referenced to Pwr_Gnd. The DC power source
Pwr_GndPower return for HV, Motor A, Motor B, Motor C and Motor D. For the compact
Motor AMotor output pin A. Used with Brushless DC, DC Brush, and Step Motors. For the
Motor BMotor output pin B. Used with Brushless DC, DC Brush, and Step Motors. For the
Motor CMotor output pin C. Used with Brushless DC, and Step Motors. For the compact
Motor DMotor output pin D. Used with Step Motors. For the compact Atlas package two
~EnableInput~Enable is an active-low input. Should be tied or driven low for Atlas motor output
FaultOutOutputFaultOut is high impedance when active. It provides programmable fault indication,
SPIClk/PulseInputSPI input clock or Pulse signal.
SPISOOutputSPI data master in slave out signal. It goes to high impedance when ~SPICS is high.
should be a transformer isolated power supply. For the compact Atlas package two
pins carry this signal, so care should be taken to connect both pins.
Atlas package two pins carry this signal, so care should be taken to connect both
pins. For greatest EMI protection double shielded cables on the motor winding A,
B, C, and D should be used with the inner shield connected to Pwr_Gnd and the
outer shield connected to chassis ground.
compact Atlas package two pins carry this signal, so care should be taken to connect both pins.
compact Atlas package two pins carry this signal, so care should be taken to connect both pins.
Atlas package two pins carry this signal, so care should be taken to connect both
pins.
pins carry this signal, so care should be taken to connect both pins.
to be active.
and is low when inactive.
Pulse is used when Atlas is set to pulse & direction signal mode, and causes a position change command upon a high to low transition. Selection of signal interpretation for this pin is via the SPI communications bus. The default signal interpretation
is SPIClk.
This pin is not used if Atlas is operating in pulse & direction signal mode.
30
Electrical Specifications
Pin NameDirection Description
SPISI/DirectionInputSPI data master out slave in signal or Direction signal.
Direction is used when Atlas is set to pulse & direction signal mode, and indicates
the step direction. Low means the position decreases upon a high to low transition
of the Pulse signal, and high means the position increases. Selection of signal interpretation for this pin is via the SPI communications bus. The default signal interpretation is SPISI.
~SPICS/AtRestInput~SPICS signal or AtRest signal.
~SPICS enables SPI communication when transitioning low. The SPI block is disabled when ~SPICS is high.
AtRest is used when Atlas is set to pulse & direction signal mode, and indicates that
the step motor holding current should be used rather than the drive current.
Selection of signal interpretation for this pin is via the SPI communications bus. The
default signal interpretation is ~SPICS.
GNDGround return for ~Enable, FaultOut, SPI or pulse & direction signals and 5V.
5V5V output used to drive external circuitry.
3
Atlas® Digital Amplifier Complete Technical Reference31
3
5V5V
22k
5.6n
~Enable
10k
FaultOut
150k
5V
Q1
Figure 3-6:
Signal
Interfacing
~Enable
Electrical Specifications
3.8Signal Interfacing
3.8.1~Enable
~Enable and FaultOut signals are typically used to implement a safety interlock between the Atlas module and other
portions of the system.
~Enable is an active low input that must be tied or driven low for the Atlas power output to be active. Its input buffer
is shown in Figure 3-6
thresholds. It has a pull-up to 5V to allow direct interfacing to open collector enable sources without external pull-up
resistor and a 1.3kHz R-C low-pass filter to reject noise.
. The circuit accepts signals in the range of 0-24V and has TTL compatible, Schmidt trigger
Figure 3-7:
Signal
Interfacing
FaultOut
3.8.2FaultOut
FaultOut is asserted high when a fault occurs. The external controller can select which fault conditions drive the
FaultOut signal.
An Atlas FaultOut output circuit is shown in diagram Figure 3-7
low. It has a 150kohm pull-up resistor to 5V. Its voltage range is 0 to 24V.
. This circuit can continuously sink 50mA when pulled
32Atlas® Digital Amplifier Complete Technical Reference
3.9Connection Overview
EnableFaultOut
Motor A
Motor B
Motor C
Optional Hall Sensors
Atlas
®
Digital
Amplifier
3 - Phase
Brushless
DC Motor
External
Controller
Optional
Optional Encoder Feedback
Hall & Encoder
SPI
SPICS
SPIClk
SPISI
SPISO
Pwr_Gnd
HV
3.9.1Brushless DC Motors
Electrical Specifications
Figure 3-8:
Brushless DC
Connections
3
The following table summarizes the recommended connections when connecting Atlas amplifiers to brushless DC
motors
Optional
TypeRequired Connections
Connections
PowerHV, Pwr_Gnd
Communication~SPICS, SPISO, SPISI, SPIClk, GND
MotorMotor A, Motor B, Motor C
Miscellaneous~EnableFaultOut
If Atlas is used as part of a higher level position controller, as shown in the Figure 3-8
, the Brushless DC motor
provides feedback signals to the external controller. Commonly, both Hall sensor signals and a position encoder are
used, but only one or the other is needed in a minimal configuration. In this configuration the external controller
generally consists of a PMD Magellan Motion Processor or a programmable microprocessor or DSP-type device.
Alternatively, Atlas can be operated by an external controller as a standalone device, driving the motor at commanded
voltage or torque levels and not part of a higher-level servo controller. In this configuration, the external controller
can be either a microprocessor-type device, or a logic device such as an FPGA (field programmable gate array).
Atlas functions as a power block providing amplification, current control, and safety management of the amplifier and
motor. Atlas does not directly accept Hall signals or encoder signals, so to operate with a brushless DC motor the
motor's current phase angle must be provided by the external controller through the SPI interface.
The Atlas does not support direct Hall signal inputs. To operate the Atlas with a Brushless DC motor, continuous
motor phase angle is provided by the external controller, via either Hall inputs or an encoder.
Atlas® Digital Amplifier Complete Technical Reference33
Electrical Specifications
EnableFaultOut
Optional Encoder Feedback
Encoder
Atlas
®
Digital
Amplifier
DC Brush
Motor
External
Controller
SPI
SPICS
SPIClk
SPISI
SPISO
Optional
Pwr_Gnd
HV
Motor A
Motor B
3
Figure 3-9:
DC Brush
Connections
3.9.2DC Brush Motors
The following table summarizes the recommended connections when connecting Atlas amplifiers to DC Brush
motors.
Optional
TypeRequired Connections
PowerHV, Pwr_Gnd
Communication~SPICS, SPISO, SPISI, SPIClk, GND
MotorMotor A, Motor B
Miscellaneous~EnableFaultOut
Connections
If Atlas is used as part of a higher level servo controller, as shown in Figure 3-9
, an encoder provides position or
velocity feedback signals to the external controller. In this configuration the external controller generally consists of a
PMD Magellan Motion Processor or a programmable microprocessor or DSP-type device.
Alternatively, Atlas can be operated by an external controller as a standalone device, driving the motor at commanded
voltage or torque levels. In this configuration the external controller can be either a microprocessor-type device, or a
logic device such as an FPGA (field programmable gate array).
34Atlas® Digital Amplifier Complete Technical Reference
Electrical Specifications
Enable
Pwr_Gnd
FaultOut
Optional Encoder Feedback
Encoder
Atlas
®
Digital
Amplier
2 - Phase
Step
Motor
External
Controller
Pulse
Direction
AtRest
Motor A
Motor B
Motor C
Motor D
HV
3.9.3Step Motors in Pulse & Direction Signal Mode
The following table summarizes the recommended connections when connecting Atlas amplifiers to two-phase step
motors when using the pulse & direction signal mode. In this mode the external controller provides position
commands to Atlas via pulse and direction signals.
3
Figure 3-10:
Step Motor
Pulse and
Direction Mode
Connections
These connections apply to bipolar motors. If connecting to unipolar motors do not connect the center tap.
In this configuration the external controller generally consists of an off-the-shelf motion control card or module, a
programmable microprocessor or DSP-type device, or a FPGA (field programmable gate array). The external
controller provides a continuous stream of pulse and direction commands, along with (optionally) an
AtRest signal to
control the torque.
To initially set up and store its application-specific configuration parameters, Atlas is programmed using the SPI
interface and then commanded to convert to pulse & direction signal mode.
FaultOut signal input to external controller is strongly recommended when the Atlas is used in Pulse & Direction signal
mode.
Atlas® Digital Amplifier Complete Technical Reference35
Electrical Specifications
EnableFaultOut
Optional Encoder Feedback
Encoder
Atlas
®
Digital
Amplifier
2 - Phase
Step
Motor
External
Controller
SPI
SPICS
SPIClk
SPISI
SPISO
Optional
Motor C
Motor D
Pwr_Gnd
HV
Motor A
Motor B
3
Figure 3-11:
Step Motor
SPI Communication Connections
3.9.4Step Motors Using SPI Communications
The following table summarizes the recommended connections when connecting Atlas amplifiers to two-phase step
motors when using the SPI communications channel. In this mode the external controller provides position
commands to Atlas via the SPI interface.
These connections apply to bipolar motors. If connecting to unipolar motors do not connect the center tap.
In this configuration the external controller generally consists of a PMD Magellan Motion Processor, a programmable
microprocessor or DSP-type device, or a FPGA (field programmable gate array). The external controller provides a
continuous stream of position commands or individual phase torque output commands to control the motor position.
3.10Heat Sink Grounding
The heat sink may be left ungrounded or may be connected to chassis ground for best EMI protection. The heat sink
should not be connected to the Atlas Pwr_Gnd.
3.11Atlas Conversion Factors
The following table provides electrical conversion factors for the various Atlas units. These factors convert Atlas
command values specified via the Atlas unit's digital SPI interface (referred to as counts) to physical quantities such
as amperage or volts, and vice versa. For more information on the Atlas functions related to these conversion factors
see Chapter 4,
36Atlas® Digital Amplifier Complete Technical Reference
Operation.
Electrical Specifications
3
Unit
All Low Power
Atlas
All Medium
Power Atlas
All High Power
AtlasExample Usage
Amps.231 mA/count.763 mA/count1.526 mA/countTo command a torque of 3.5A
to the high power Atlas a value
of 3,500mA/1.526mA/count =
2,294 counts is specified.
Volts1.361 mV/count1.361 mV/count1.361 mV/countA command request to read the
Atlas unit’s DC Bus voltage gives
a value of 12,345. This corresponds to a voltage of 12,345
counts * 1.361 mV/count = 16.8
volts.
Temperature.0039°C/count
.0039°C/count
.0039°C/countA command request to read the
Atlas unit’s internal temperature
gives a value of 7,890. This corresponds to a temperature of
7,890 counts * .0039°C/count =
30.8°C.
Foldback Energy
.0059 A
2
sec/count.064 A2sec/count.256 A2sec/count
To command a foldback energy
2
sec to the high power
of 50A
Atlas a value of 50A
2
sec/.256
A2sec/count = 195 counts is
specified.
3.11.1Atlas Settings Defaults and Limits
The following table provides default and limit values for all Atlas units.
Overvoltage LimitDefault: 52.0 VDefault:52.0 VDefault: 60.0 V
Low Limit: 10.0 VLow Limit: 10.0 VLow Limit:10.0 V
High Limit: 52.0 VHigh Limit: 52.0 VHigh Limit:60.0 V
Undervoltage LimitDefault: 10.0 VDefault:10.0 VDefault: 10.0 V
Low Limit: 10.0 VLow Limit: 10.0 VLow Limit:10.0 V
High Limit: 48.0 VHigh Limit: 48.0 VHigh Limit:56.0 V
All Medium
Power Atlas
All High
Power Atlas
Atlas® Digital Amplifier Complete Technical Reference37
Electrical Specifications
3
Quantity
All Low
Power Atlas
All Medium
Power Atlas
All High
Power Atlas
Current Foldback
Continuous Current Limit, Default:2.12 ADefault:7.07 ADefault: 14.1 A
Brushless DC MotorLow Limit: 0.0 ALow Limit: 0.0 ALow Limit:0.0 A
High Limit: 2.12 AHigh Limit: 7.07 AHigh Limit:14.1 A
Continuous Current Limit, DC Default:1.50 ADefault:7.00 ADefault: 14.0 A
Brush MotorLow Limit: 0.0 ALow Limit: 0.0 ALow Limit:0.0 A
High Limit: 1.50 AHigh Limit: 7.00 AHigh Limit:14.0 A
Continuous Current Limit, Step Default:2.12 ADefault:6.36 ADefault: 12.7 A
MotorLow Limit: 0.0 ALow Limit: 0.0 ALow Limit:0.0 A
High Limit: 2.12 AHigh Limit: 6.36 AHigh Limit:12.7 A
2
2
2
2
sec
sec
sec
sec
Default:
Low Limit:
High Limit:
Default:
Low Limit:
High Limit:
Default:
Low Limit:
High Limit:
31.9 A2sec
0.0 A2sec
31.9 A2sec
32.2 A2sec
0.0 A2sec
32.2 A2sec
34.7 A2sec
0.0 A2sec
34.7 A2sec
Energy Limit, Brushless DC Default:
MotorLow Limit:
High Limit:
Energy Limit, DC Brush MotorDefault:
Low Limit:
High Limit:
Energy Limit, Step MotorDefault:
Low Limit:
High Limit:
2.95 A
0.0 A2sec
2.95 A2sec
3.63 A
0.0 A2sec
3.63 A
2.95 A
0.0 A2sec
2.95 A2sec
For more information on Atlas overtemperature safety functions see Section4.8.2, "
Default:
Low Limit:
High Limit:
Default:
Low Limit:
High Limit:
Default:
Low Limit:
High Limit:
127.5 A2sec
0.0 A2sec
127.5A2sec
128.7 A2sec
0.0 A2sec
128.7 A2sec
138.9 A2sec
0.0 A2sec
138.9 A2sec
Overtemperature Fault."
For more information on Atlas overvoltage and undervoltage safety functions see Section4.8.4, "Undervoltage Fault."
For more information on Atlas Current Foldback safety functions see Section4.8.9, "Current Foldback."
38Atlas® Digital Amplifier Complete Technical Reference
4.Operation
EnableFaultOut
Optional Encoder Feedback
Atlas
®
Digital
Amplifier
Brushless DC
DC Brush
Step Motor
External
Controller
SPI
Command
Protocol
NVRAM
In This Chapter
Functional Overview
Internal Block Diagram
Notes on Command Mnemonics
Commutation
Current Loop
Power Stage
Status Registers
Safety Processing Functions
Step Motor Control
User Memory Space & Buffers
Trace Capture
Power-up
Non-Volatile (NVRAM) Storage
Writing and Reading NVRAM Data
SPI Communications Overview
4
4.1Functional Overview
Atlas Digital Amplifiers are
DC Brush motors, or two-phase step motors. They accept a stream of desired torque or voltage values from an external
controller and perform all current loop processing and switching bridge control to continuously drive the motor coils
to the specified, commanded values.
single-axis devices for torque or voltage-mode control of three-phase brushless DC motors,
Figure 4-1:
High Level
System
Diagram
Atlas® Digital Amplifier Complete Technical Reference
39
4
Atlas
®
Control
Processor
AtRest
Power
Stage
SPI
Command
Processor
Pulse and
Direction Counter
Pulse Direction
NVRAM
Trace
RAM
Digital
Current
Loop
Commutation
&
Microstep
Control
HV
5V
Bus Monitoring
Bus Voltage
Bus Voltage
Motor
Outputs
~
EnableFaultOut
Current Sense
DC Bus
Logic Supply
+ 3.3 V
A
B
C
D
A
B
A
B
SPISO
SPICS
SPIClk
SPISI
Operation
In addition to providing a stream of torque or voltage commands, the external controller is used to set up operational
parameters needed by Atlas such as control gains, safety-related parameters, and other information. These parameters
may be provided to Atlas at each power up, or stored non-volatilely on Atlas so that they no longer need to be loaded
at each power-up. See Section 4.12, “
Communication to/from Atlas occurs via an SPI interface and associated protocol that uses packet-oriented
commands to specify various Atlas parameters, and, if desired, request status information from Atlas. This protocol
has been designed for maximum speed and flexibility so that torque or voltage commands can be continuously sent
to Atlas even while the external controller queries Atlas for various information. See Chapter 5, “
Communications” for more information on the SPI interface.
When Atlas is used in a higher level system such as a servo-based velocity or position controller, torque commands
are typically sent to Atlas continuously, at the motion controller’s servo rate. For most systems this rate is in the 1,000
to 10,000 samples per second range. However Atlas may also be used with direct voltage or torque control applications
that utilize Atlas to specify a desired output value just once after power-up, or only occasionally as required by the
application.
Power-up” for more information on non-volatile parameter storage.
SPI
Figure 4-2:
Internal Block
Diagram
To disable Atlas operations it may be powered down, the
Enable signal may be de-asserted, or various commands that
result in Atlas operations being suspended may be sent by the external controller to Atlas through the SPI interface.
In addition, there are several conditions where Atlas automatically shuts down for safety-related reasons. These may
include short circuit detection, under and over voltage protection, I
detection. See Section 4.8, “
Safety Processing Functions” for more information on emergency stop and related
2
t current limiting, and amplifier over temperature
functions.
4.2Internal Block Diagram
40Atlas® Digital Amplifier Complete Technical Reference
Operation
4
Figure 4-2 shows the
internal block diagram of Atlas. Here are summary descriptions of the major modules and
functional areas:
Commutation—this module utilizes internally generated information, or information provided by the external
controller, to split up the desired overall torque command into individual phase commands to drive Brushless DC and
step motors.
Current Loop—this module inputs the desired current for each motor coil and uses the measured current feedback
from each motor coil to develop PWM (pulse width modulation) output command values for the power stage.The
current loop module may be disabled, in which case Atlas will drive the motor in voltage mode. See Section 4.5,
“Current Loop” for more information on the current loop module.
Power Stage—this module receives desired voltages for each motor coil and manages the Atlas unit’s high
performance MOSFET-based switching bridge to precisely drive the coils of the motor. See Section 4.6, “Power
Stage” for a detailed description of this module.
Status Registers—this module holds various status registers including an Event Status Register, a Drive Status
register, a Drive Fault Status Register, a signal status, and an SPI Status Register.
Safety Processing—this module manages Atlas unit safety-related functions including the internal temperature
sensor, bus voltage error, the Enable input signal, current foldback, the FaultOut output signal, event action processing,
and more.
Step Motor Processing—this module implements step motor-specific features including microstep signal
generation, holding current management, and Pulse, Direction, and AtRest signal processing.
Memory Buffers—this module provides user-accessible memory for trace and setup parameter configuration storage.
Trace—this module provides
a facility for continuously storing up to four simultaneous Atlas variables in the memory
buffers.
Power-up & Non-Volatile Initialization Storage—this modules manages the power-up sequence and provides the
ability to store selected
SPI Command Processor—This module, described in the next chapter, manages all communications to/from the
parameter into the Atlas unit’s non-volatile memory.
external controller.
4.3 Notes on Command Mnemonics
For simplicity, throughout this and subsequent chapters, we will use a mnemonic-style nomenclature to indicate
external controller commands sent to Atlas. Such commands are sent over an SPI (serial peripheral interface)
connection, using a packet-based protocol designed to control all aspects of Atlas unit’s operation. Atlas supports over
65 commands through this powerful and flexible protocol.
For example, to set the proportional current gain, the command:
The actual data packet sent to Atlas to effect the SetCurrentLoop command is a specific sequence of signal states on
the SPI data lines, not the mnemonic itself. However to more easily illustrate command sequences, the mnemonic
format will be used throughout this manual.
SetCurrentLoop is used.
See Chapter
Atlas® Digital Amplifier Complete Technical Reference
5, “SPI Communications” for complete command details, along with other aspects of the SPI protocol.
41
Operation
Motor Output
(PWM or DAC)
SPI Voltage
or
Torque Command
Phase
Angle
To
current
loop or
power
stage
Phase A
Command
Phase B
Command
Phase C
Command
4
Figure 4-3:
Commutation
Control
Sequence
4.4Commutation
Brushless DC motors have three phases (generally referred to as A, B, and C) separated from each other by 120
electrical degrees. The process of splitting up the overall torque command into constituent phase commands is called
commutation. Figure 4-3
provides an overview of the control sequence when a brushless DC motor is controlled by
Atlas.
The first step is that the external controller specifies the desired motor voltage or torque command to the Atlas. This
command is then commutated into constituent phase-specific values. This process applies to step motors as well as
Brushless DC motors, however for step motors the process is called microstepping. See Section 4.9, “
Step Motor
Control” for a detailed discussion of step motor control with Atlas amplifiers. DC Brush motors are single phase
devices, and do not require commutation.
Once commutated, the individual commands for the A, B, and C phases are output either directly to the power stage
or to the current loop module (depending on whether current control has been requested). If output to the current
loop module, additional calculations are performed using the measured current through each winding to determine a
final phase command. See Section 4.5, “
Current Loop” for details.
4.4.1Determining Phase Angle
Atlas does not directly accept commutation inputs such as Hall sensors, so phase angle information must be provided
by the external controller via the SPI interface.
Phase angle in this context means the position of the motor within its overall electrical cycle. Whether or not the
electrical phase angle corresponds directly to the mechanical motor angle depends on how many poles the motor has.
The most common brushless DC motor configuration has four poles (two pole pairs), meaning it traverses two full
electrical cycles for each rotation of the motor. In this example therefore, the mechanical angle would be half of the
electrical angle.
The phase angle that is provided to Atlas by the external controller is encoded as a 12 bit word, consisting of the
instantaneous electrical angle of the rotor. A minimum angle of 0 corresponding to an electrical phase angle of 0.0
and a maximum value of 4,095 corresponding to a value of 359.9
and have a maximum value of 360.0
°. This means a motor that moves in the negative direction from a position angle
°. Phase angles expressed to Atlas are always positive
°,
42Atlas® Digital Amplifier Complete Technical Reference
Operation
4
of 0.0 will ‘wrap’ around to a value of 360.0
0.0
°.
°. Conversely, a position angle that moves past 360.0° wraps to a value of
To actually send the phase angle to Atlas it is combined with the motor voltage or torque command into a single SPI
command packet. Since the phase angle and torque must be provided at each command update cycle, this provides an
efficient approach for continuously transmitting Brushless DC motion command packets. See Chapter 5.3, “
Sending
a Voltage or Torque Output Value” for complete word format and protocol information.
4.4.2Phasing with Hall Sensors
As the previous section indicates, to control a Brushless DC motor the external controller continuously provides phase
information to Atlas. Typically, the external controller utilizes either Hall sensors or position encoders to determine
this information.
If the external controller directly inputs Halls converting the three incoming hall signal states to a commanded phase
angle is straightforward. The table shows how to convert an instantaneous hall sensor reading for the most common
Hall encoding scheme to an output command phase angle sent to Atlas over the SPI interface.
Atlas® Digital Amplifier Complete Technical Reference43
4
180180
Hall C
Hall B
Hall A
Phase-to-
phase BEMF
Votages
Phase
Angle
in degs
Phase
Currents
240
A-BB-CC-A
ABC
300060120
Figure 4-4:
Phasing
Reference
Signals
Operation
4.4.3Phasing with an Encoder
Figure 4-4
shows the relationship between a range of references signals such as Hall signals, and common
manufacturer-provided motor control waveforms. Note that these waveforms apply when the motor torque command
is positive. If negative, the sign of the “Phase Currents” and “Phase to phase BEMF Voltages” is inverted.
If the external controller uses an encoder to update the phase angle, the phase angle can be sent to Atlas with
significantly finer resolution than with Hall sensors (which resolve only to within 60 electrical degrees). Greater
commutation resolution allows the motion to be smoother and more efficient. However there are a few important
considerations when using an encoder for commutation compared to Hall sensors.
The first is that care should be taken to correctly update the phase angle at the encoder wraparound point. This is the
point at which the largest encoder value transitions to the smallest, or vice versa (depending on the motor direction).
At these points, the phase angle must still be smoothly and correctly updated as if an encoder wrap had not occurred.
The second is that if an incremental encoder is used and there is the possibility of losing counts, it is important that
this be corrected by the external controller. The most common approach toward accomplishing this is to utilize the
encoder’s Index pulse signal to record a fixed phase angle for the motor, and thereafter compare the incremental
encoder reading at each occurrence of the Index pulse. Please refer to the Magellan Motion Processor User’s Manual for
more information on this technique.
The third is known as phase initialization. In the case of incremental encoders, at power-up there is no explicit
correlation between the encoder position and the rotor angle, therefore the phasing must be initialized. By contrast,
44Atlas® Digital Amplifier Complete Technical Reference
for absolute encoders or certain measuring devices such as resolvers, the phasing may be explicitly known from the
to
motor
coil
Measured
Current
Foldback
Processing
Power
Stage
P
Proportional
I
Integral
I limit
Current
Command
Voltage
Command
encoder angle. Consult the manufacturer's data sheet for more information.
4.4.4Phase Initialization for Incremental Encoders
If an incremental encoder is used to provide continuous phase angle information to Atlas, some method is needed to
correlate measured motor angles with phase angle. There are a few commonly used approaches to accomplish this.
Operation
4
The first and simplest is to use Hall sensors. Upon initialization, the table in Section 4.4.2, “
Phasing with Hall Sensors”
is used to set up the phase angle. As the motor rotates thereafter, the encoder updates the phase angle. For highest
accuracy, the phase angle at the transition of one Hall state to another is used. In this manner the initial accuracy, equal
to one Hall state width of 60
° can be improved to just a few electrical degrees, depending on how accurately the Hall
sensors were originally aligned by the motor manufacturer.
If Hall sensors are not available, a technique called algorithmic initialization can be used. In this approach, the
brushless DC motor coils are energized in a specific sequence and the resultant motor reactions are used to determine
the initial phase angle. Particularly for free-wheeling motors such as spindles, centrifuges, fans, and similar devices, this
approach can work well. However a detailed discussion of this is beyond the scope of this manual, so consult your
PMD representative for more information.
4.5Current Loop
The next section describes a number of concepts that apply even when the current loop is not enabled. All Atlas
users should therefore read this section, whether they plan to operate the Atlas with a current loop, or without
a current loop in voltage mode.
Digital current control is a technique used with DC
the current through each winding of the motor. By controlling the current, response times are improved and motor
efficiency is increased.
Figure 4-5
provides
an overview of Atlas unit’s current controller. For single-phase motors such as DC brush, one
current loop per axis is
Atlas® Digital Amplifier Complete Technical Reference
used. For brushless DC motors, two current loops are used and the third phase command is
brush, brushless DC, and step motors for precisely controlling
Figure 4-5:
Current Loop
Control Flow
45
4
Operation
derived from the other two phases. When driving step motors, two current loops are used, one for the phase A coil,
and one for the phase B coil.
There are three overall methods of current control provided by Atlas, however not all methods are used with all motor
types. The first method is individual phase control. See Section 4.5.2, “
See Section 4.5.3, “
See Section 4.5.4, “
table below summarizes which current control modes are available with the three motor types supported by Atlas,
along with the default configuration for that motor type.
Individual Phase Control” for a description.
Field Oriented Control” for a description of the second method, FOC (Field Oriented Control).
Third Leg Floating Control” for a description of the third approach, called ‘third leg floating.’ The
Current Control
Method
Individual Phase Control
Field Oriented Control
Third Leg Floating
Brushless DCDC
Brush
Step
Motor
(default)
(default) (default)
The large majority of applications will use FOC to drive Brushless DC or step motors. FOC usually provides the
highest top speeds and more energy efficient operation of the motor compared to individual phase control. Third leg
floating is an option that should generally only be considered for Hall-commutated motors. In that configuration, third
leg floating can sometimes provide a higher top speed than FOC. Finally, individual phase control is always used with
DC Brush motors, and may, under certain specialized conditions, provide improved performance for Brushless DC
motors over FOC.
To select which type of control method will be used, use the command
set using this command, use
GetCurrentControlMode.
SetCurrentControlMode. To read the value
4.5.1Enabling and Disabling the Current Loop
If during normal operation the current loop is disabled, then the output from the commutation module will pass
directly to the power stage module, with no current control being performed. The most common use of this is to run
the amplifier in voltage mode, which may be useful under some conditions for calibration or testing.
Even when operated in the voltage mode, the user must still select the current control method. This is because
selection of this control method also affects aspects of the power stage, specifically the use of space vector PWM,
versus sinusoidal PWM, versus standard single-phase PWM generation.
To disable the motor output module the command
can be read using
GetOperatingMode.
SetOperatingMode is used. The value set using this command
A previously disabled current loop module may be re-enabled in a number of ways. If output was disabled using the
SetOperatingMode command, then another SetOperatingMode command may be issued. If disabled as part of an
automatic safety event-related action (see Section 4.8.9, “
command
RestoreOperatingMode is used.
The default condition of the current loop module is disabled, therefore to begin motor operations, the external
controller must send a SetOperatingMode command enabling the current loop module.
Current Foldback” for more information), then the
46Atlas® Digital Amplifier Complete Technical Reference
Operation
256
256
Output
< >
Ki
Kp
ILimit
PWM
Limit
64
Command
Anti
Windup
Actual
Current
Reference
Error
Integrator
Sum
2
Z
-1
4
To read the instantaneous actual state of the operating mode, the command
4.5.2Individual Phase Control
GetActiveOperatingMode is used.
Figure 4-6:
Individual
Phase Control
Calculation
Flow
When individual phase control mode is selected Atlas utilizes the commanded current for each motor winding
provided by the commutation module, along with the actual measured current provided by circuitry within the power
stage, to perform current loop calculations.
As can be seen in Figure 4-6
, the desired current and measured current are subtracted to develop a current error, which
is passed through a PI (proportional, integral) filter to generate an output voltage command for each motor coil. The
output command for each coil is then passed to the power stage module to generate precise PWM (pulse width
modulation) output signals, representing the applied voltage, that control the power stage’s switching bridge.
To enable individual phase control the command
command can be read back using
GetCurrentControlMode.
SetCurrentControlMode is used. The value set using this
Three parameters are set by the user to control the current loop; Kp, Ki, and Ilimit. Two of these are gain factors for
the PI controller, and the other is a limit for the integral contribution.
To set any of these three parameters the command
command
GetCurrentLoop is used. For multi-phase motors, the values for the phase A and B loops can be set
independently while for single-phase DC brush motors, only the phase A loop parameters are used. The values set
SetCurrentLoop is used. To read back these parameters, the
using this command are buffered, meaning they are held by Atlas in a buffer but do not instantaneously become active.
Buffered commands are activated using the SPI Header. See Section 5.2, “
It is the responsibility of the user to determine control parameters that are suitable for use in a given application.
Packet Header” for details.
Atlas® Digital Amplifier Complete Technical Reference47
4
Operation
4.5.2.1Reading Current Loop Values
To facilitate tuning there are a number of current loop values that can be read back as well as traced. To read back
these values the command
values for trace during automatic trace capture.
The variables within the current loop that can be read or traced when the control loop mode is set to individual phase
control are summarized in the following table. Refer to Figure 4-6
GetCurrentLoopValue is used. See Section 4.11.1.3, “Trace Variables” to specify these
when viewing this table.
Variable Name
Phase A Reference, Phase B ReferenceBrushless DC & microstepping motor:
Phase A Current, Phase B Current, Phase C CurrentBrushless DC:
Phase A Error, Phase B ErrorBrushless DC & microstepping motor:
Phase A Integrator Sum, Phase B Integrator SumBrushless DC & microstepping motor:
Phase A Output, Phase B OutputBrushless DC & microstepping motor:
Function
These registers hold the commanded (reference) currents for
the phase A and phase B coils.
DC Brush motor:
Phase A Current holds the commanded (reference) current for
the motor.
These registers hold the measured actual currents for the phase
A, phase B, and phase C coils.
Step motor:
These registers hold the measured currents for the phase A, and
phase B coils.
DC Brush motor:
Phase A Current holds the measured current for the motor.
These registers hold the difference between the current loop
reference and the measured current value (Phase A Current,
Phase B Current).
DC Brush motor:
The Phase A Error register holds the difference between the
current reference and the measured current value (Phase A
Current).
These registers hold the sum of the integrator for the phase A
and B current loops.
DC Brush motor:
Phase A Integrator Sum holds the sum of the integrator for the
current loop
These registers hold the output command for the phase A and B
current loop.
DC Brush motor:
Phase A Output holds the output command for the current loop
4.5.2.2Individual Phase Control with Step Motors
The Atlas unit’s individual phase control mode is designed to work with both 3-phase brushless DC motors and 2phase step motors. When operating step motors in this mode (see Section 4.9, “
Step Motor Control” for more
information on operations with step motors), the basic method is identical. The same three current loop parameters
described in Section 4.5.2, “
Individual Phase Control” are set, and the readable parameters are also the same.
4.5.2.3Individual Phase Control in Voltage Mode
If Atlas is operated in individual phase control mode with the current loop disabled, then after commutation
(Brushless DC motors) or microstep signal generation (step motors) the phase-specific commands are output directly
to the power stage with no current loop performed.
For example, if the incoming torque command provided by the external controller is 25% full scale, then for an Atlas
that is operating with a bus voltage of 24V, the average voltage presented at the motor coil will be 25% of 24V or 6V.
48Atlas® Digital Amplifier Complete Technical Reference
For single phase motors such as DC Brush, the PWM generator directly outputs this external controller-commanded
2
Kpq
qOutput
AOutput
Phase
Angle
Phase A Actual Current
Phase B Actual Current
BOutput
Inverse
Park
Transform
Clarke,
Park
Transform
64
Motor
Command
qReference
qError
Kpd
dOutput
64
dReference
0 (zero)
dFeedback
qFeedback
dError
256
256
Kiq
ILimitq
q Integrator
sum
Z
-1
256
256
Kid
ILimitd
d Integrator
sum
Z
-1
value to the power stage. For multi-phase motors such as brushless DC or step motor, the PWM generator outputs
this commanded value after commutation (brushless DC motors) or microstep signal generation (step motors) to the
power stage.
Operation
4
See Section 4.6, “
Power Stage” for more information on power stage operations.
4.5.3Field Oriented Control
Figure 4-7:
Field Oriented
Control
Calculation
Flow
Figure 4-7 provides
an overview of the calculation flow when field oriented control (FOC) is selected. Instead of
separating phases as individual phase control mode does, FOC combines them and “re-references” them to what are
known as d (direct torque) and q (quadrature torque) reference frames.
To enable field oriented control mode the command
command can be read back using GetCurrentControlMode.
For each control loop (d and q) three parameters are set by the user, Kp, Ki, and I limit. Two of these are gain factors
for the PI (proportional, integral) controller that comprises the heart of the FOC controller, and the other is a limit
for the integral contribution.
SetCurrentControlMode is used. The value set using this
Atlas® Digital Amplifier Complete Technical Reference
49
4
Operation
To set these parameters the command
The values set using this command are buffered and are activated using the SPI header. See Section 5.2, “
SetFOC is used. To read back these parameters the command GetFOC is used.
Packet
Header” for details.
It is the responsibility of the user to determine control parameters that are suitable for use in a given application.
4.5.3.1Reading FOC Loop Values
To facilitate tuning there are a number of FOC loop values that can be read back as well as traced. To read back these
values the command
GetFOCValue is used. See Section 4.11, “Trace Capture” to specify these values during
automatic trace capture.
Refer to Figure 4-7
for an overview of the FOC loop. The variables within the FOC loop that can be read or traced
are summarized as follows:
Variable NameFunction
q Reference, d ReferenceAre the commanded values input into the q and d loops. Note
that d is always set to 0 (zero).
q Feedback, d FeedbackAre the measured values for the q (quadrature) and d (direct)
force after re-referencing from the actual measured current in
the phase A, phase B coils.
q Error, d ErrorAre the differences, for the q loop and the d loop, between the
loop reference and the loop measured value.
q Integrator Sum, d Integrator SumAre the integrator sums for the d and q loops.
q Output, d OutputAre the output commands of the q and the d loops.
FOC Output, FOC OutputAre the FOC outputs in the , reference frame.
Phase A Actual Current, Phase B Actual CurrentAre the measured currents for the phase A and phase B coils.
4.5.3.2FOC with Step Motors
The Atlas unit’s field oriented control algorithm is designed to work with both 3-phase brushless DC motors and 2phase step motors. When operating step motors in this mode (see Section 4.9, “
Step Motor Control” for more
information on operations with step motors), the basic method is identical. The same three FOC parameters described
in Section 4.5.3, “
Field Oriented Control” are set, and the readable parameters are also the same.
4.5.3.3FOC in Voltage Mode
If Atlas is operated in FOC mode with the current loop disabled, then after commutation (Brushless DC motors) or
microstep signal generation (step motors) the phase-specific commands are output directly to the power stage with no
current loop performed.
However unlike the independent phase control mode, a space vector modulation scheme is used to generate the PWM
signals and control the switching bridge. Space vector modulation is recommended for most applications because it
provides a larger effective range of voltage drive capacity.
See Section 4.6, “
Power Stage” for more information on power stage operations.
50Atlas® Digital Amplifier Complete Technical Reference
4.5.4Third Leg Floating Control
256
256
< >
Ki
Kp
ILimit
PWM
Limit
64
Command
A Output
q Output
B OutputSel.
C Output
Leg A Current
Leg B CurrentSel.
Leg C Current
Anti
Windup
Actual Current
2
Z
-1
q Integrator
sum
qReference
qError
Operation
Figure 4-8:
Third Leg
Floating
Control
4
Figure 4-8
provides an overview of the calculation flow when third leg floating control mode is selected. Compared
to individual phase control or FOC, third leg floating uses a different method in that only two of three legs are driven
at any instant with the third, non-driven, leg floating. The actual driven and non-driven legs continuously change based
on the phase, as does the leg current used as input to the current loop. In this way, as the motor rotates, each motor
leg will go through a sequence of being driven for two cycles and then left floating for one.
To enable third leg floating mode the command
can be read back using
GetCurrentControlMode.
SetCurrentControlMode is used. The value set using this command
Other than the method by which the motor phases are driven and the leg current is sensed, third leg floating is similar
to FOC, however with only the q loop calculated. For the q current loop three parameters are set by the user, Kp, Ki,
and Ilimit. Two of these are gain factors for the PI (proportional, integral) controller that comprises the heart of the
third leg floating controller, and the other is a limit for the integral contribution. To set any of these parameters the
command
command are buffered and may be activated using the update bit of the SPI header. See Section 5.2, “
SetFOC is used. To read back these parameters the command GetFOC is used. The values set using this
Packet Header”
for more information on command buffering.
It is the responsibility of the user to determine control parameters that are suitable for use in a given application.
The third leg floating control mode is applicable to Brushless DC motors only.
Atlas® Digital Amplifier Complete Technical Reference51
4
Operation
4.5.4.1Reading Third Leg Floating Loop Values
To facilitate tuning there are a number of third leg floating loop values that can be read back as well as traced. To read
back these values the command
for trace.
GetFOCValue is used. See Section 4.11.1.3, “Trace Variables” to specify these values
Refer to the diagram in Section 4.5.4, “
Third Leg Floating Control” for an overview of the control loop. The variables
that can be read or traced are summarized as follows:
Variable NameFunction
q ReferenceIs the commanded value input into the q loop.
q FeedbackIs the measured value of the q component of the current
q ErrorIs the difference between the measured q component of the
current and the commanded q component.
q Integrator sumIs the integrator sum for the q loop.
q OutputIs the output command of the q loop
q Actual CurrentIs the measured current for the q current
4.5.4.2Third Leg Floating in Voltage Mode
If Atlas is operated in third leg floating mode with the current loop disabled then the external controller-provided
torque command is used to specify PWM duty cycle (voltage) to two out of the three motor output terminals, one
positive and one negative. The third terminal is put into a high impedance (floating) state. Which terminal is positive,
negative, or floating depends on the controller-provided phase angle.
4.6Power Stage
Atlas contains a high performance MOSFET-based power stage that utilizes one or more switching bridges to drive
the motor coils. The use of 3-phase and H-bridge topologies provides full 4-quadrant operation for all motor types.
In addition, Atlas uses an advanced PWM switching scheme that minimizes the ripple current on the motor windings
while maximizing the current loop performance. The fundamental frequency of the ripple current is twice the PWM
frequency, and well out of the audible range in all cases.
The PWM frequency is selectable between 20 kHz, 40kHz, 80kHz, and 120kHz to cover a broad range of motor
inductances.
In addition to the output bridge function, Atlas provides a current measurement function for use by the current loop
module as well as by the safety processing module. Two channels of phase current feedback are provided for brushless
DC and step motor current loops. For DC Brush motors feedback for one phase is provided.
To set the Atlas unit’s PWM rate the command
GetPWMFrequency is used.
SetPWMFrequency is used. To read this value, the command
52Atlas® Digital Amplifier Complete Technical Reference
In addition to the output bridge function, Atlas provides a current measurement function for use by the current loop
PWM
Control
PWM output
selection
Clock
A
B
C
D
• sinusoidal
• space vector
• single-phase
Phase A
Phase B
Voltage
command
from
current loop
or SPI
interface
Only
A bridge
shown
for clarity
to
coil
AH
pre-
driver
AL
pre-
driver
PWM
bridge
signal
generator
+HV
Mtr_Gnd
module as well as by the safety processing module. Two channels of phase current feedback are provided for brushless
DC and step motor current loops. For DC Brush motors feedback for one phase is provided.
Operation
Figure 4-9:
Power Stage
Control Flow
4
Three selectable control methods are provided; independent phase, field oriented control, and third leg floating. The
choice of control method affects the power stage in the selection of the PWM generation technique. The table below
shows this.
Control ModePWM Output Method
Independent Phasesinusoidal
Field Oriented Controlspace vector modulation
Third Leg Floatingstandard single-phase
To select the control method use the
use
GetCurrentControlMode.
SetCurrentControlMode command. To read the value set using this command
4.6.1PWM Output Limiting
In some applications it may be desirable to limit the maximum allowed output of the power stage PWM generator. For
example if the bus voltage is 36 volts, and the desired voltage limit for a particular motor is 18 volts, a PWM limit of
50% is programmed.
Depending on the Atlas unit bus voltage and the effective inductance of the system being controlled, under some
circumstances lowering the maximum PWM duty cycle may not fully limit the effective voltage experienced by the
device. If this is the case for your system, you may consider increasing the Atlas unit PWM frequency, adding an
inductor to the motor circuit, or consulting a PMD representative for more information.
Atlas® Digital Amplifier Complete Technical Reference53
4
Operation
To set the PWM limit value the command
GetDrivePWM is used.
The programmed drive limit value affects the PWM duty cycle only. It does not limit the effective current that is
delivered to the motor. To explicitly limit the current, the current foldback mechanism can be used. See
SetDrivePWM is used. To read this value back the command
Section
4.8.9, “Current Foldback” for more information.
4.6.2Disabling the Power Stage
During normal operation the Atlas unit’s primary function is to drive the motor at the torque or voltage requested by
the external controller. However there are a number of circumstances where it may be desirable to disable the power
stage. In particular, the power stage may be disabled if certain safety-related conditions occur, or for system calibration.
See Section 4.8, “
If the power stage module is disabled, all external controller-provided voltage or torque commands are ignored, and
all bridge FETs are turned off. This has the effect of “free-wheeling” the motor, which means the motor may stop,
coast, or even accelerate (if a constant external force exists such as a gravitational load) depending on the load, inertia,
and configuration of the axis mechanics.
To disable the power stage module the command
be read using
Safety Processing Functions” for more information on Atlas safety processing.
SetOperatingMode is used. The value set using this command can
GetOperatingMode.
The default condition of the power stage is disabled. Therefore to begin drive operations, a
SetOperatingMode
command must be sent to enable the drive stage module.
4.6.3Enabling the Power Stage
A previously disabled power stage module may be re-enabled in a number of ways. If output was disabled using the
SetOperatingMode command, then another SetOperatingMode command may be issued. If this module was
disabled as part of an automatic safety event-related action (see Section 4.8.9.3, “
for more information), then the command
RestoreOperatingMode is used.
To read the instantaneous actual state of the operating mode the command
Regardless of how the module is re-enabled, at the time that the re-enable operation is requested, the power stage
module will begin normal operations within approximately 1.0 milliseconds. Care should therefore be taken to reenable the power stage when the motor axis is in a stable condition such that no abrupt motion occurs.
If Atlas is in a condition where the current loop module also needs to be re-enabled, both the power stage and
the current loop module should be enabled at the same time. This is normally the case when recovering from all
safety processing conditions. See
Section 4.8, “Safety Processing Functions” for more information.
Current Foldback Event Processing”
GetActiveOperatingMode is used.
It is the responsibility of the user to manage the operation of the power stage so that appropriate safety conditions
are maintained at all times.
54Atlas® Digital Amplifier Complete Technical Reference
4.7Status Registers
In addition to various numerical registers that may be queried by the external controller, there are five bit-oriented
status registers.
These status registers conveniently combine a number of separate bit-oriented fields into a single register. These
registers are Event Status, Drive Status, Signal Status, SPI Status, and Drive Fault Status Register. The external
controller may directly query these four registers, or the contents of these registers may be utilized by other functional
portions of Atlas, such as
FaultOut processing.
4.7.1Event Status Register
The Event Status register is defined in the following table:
BitNameDescription
0-6ReservedMay contain 0 or 1.
7Instruction errorSet when an instruction error occurs. This may be due to an incorrect command
8ReservedMay contain 0 or 1.
9Overtemperature faultSet when an overtemperature fault occurs.
10Drive exceptionSet when a drive exception event such as bus voltage fault, watchdog timer fault,
11ReservedMay contain 0 or 1.
12Current foldbackSet when current foldback occurs.
13-15ReservedMay contain 0 or 1.
FaultOut signal processing. See Section 4.8.8, “FaultOut Signal” for more information on
transmission, an Atlas-detected checksum error, or various other SPI interface
command-related conditions.
overcurrent fault, or deassertion of the enable pin occurs that causes Atlas to disable output.
Operation
4
The command
GetEventStatus returns the contents of the Event Status register.
Bits in the Event Status register are latched. Once set, they remain set until cleared by an external controller instruction
or a reset. Event Status register bits may be reset to 0 by the instruction
ResetEventStatus, using a 16-bit mask.
Register bits corresponding to 0s in the mask are reset; all other bits are unaffected.
4.7.2Drive Status Register
The Drive Status register is different than the Event Status register in that the contents are not latched, but rather
continuously set and reset by Atlas to indicate the status of the corresponding conditions.
The specific status bits provided by the Drive Status register are defined in the following table:
BitNameDescription
0ReservedMay contain 0 or 1.
1In foldbackSet 1 when in foldback, cleared 0 if not in foldback.
2OvertemperatureSet 1 when currently in an overtemperature condition. Cleared 0 if currently not
in an overtemperature condition.
3ReservedMay contain 0 or 1.
4In holdingSet 1 when in a holding current condition. Cleared 0 if not in a holding current
condition.
5OvervoltageSet 1 when currently in an overvoltage condition. Cleared 0 if currently not in an
overvoltage condition.
Atlas® Digital Amplifier Complete Technical Reference55
4
Operation
BitNameDescription
6UndervoltageSet 1 when currently in an undervoltage condition. Cleared 0 if currently not in an
undervoltage condition.
7DisabledSet 1 when the Atlas unit’s Enable pin is inactive. Cleared 0 when the Atlas unit’s
Enable pin is active.
8-11ReservedMay contain 0 or 1.
12Output clippedSet 1 when current loop output clipping is occurring. This occurs when the PWM
limit value becomes the output of the current loop due to the fact that the desired
output value of the current loop exceeds the PWM Limit value. Cleared 0 when
output clipping is not occurring.
13-14ReservedMay contain 0 or 1.
15Drive not initializedUpon powerup this bit is set to 1. Cleared 0 when Atlas has finished its power-up
initialization sequence and is ready for normal SPI command processing.
The command
GetDriveStatus returns the contents of the Drive Status register.
4.7.3Signal Status Register
The Signal Status register provides real-time signal levels for some Atlas hardware signals. The Signal Status register is
defined in the following table:
PinNameDescription
0-12ReservedMay contain 0 or 1.
13Enable pinSet 1 when a high voltage is present at the Enable pin (enabled). Cleared 0 when
there is a low signal (disabled).
14FaultOut pinSet 1 when a high voltage is being output at the FaultOut pin (fault condition pres-
ent). Cleared 0 when there a low is being output (fault condition not present).
The command
GetSignalStatus returns the contents of the Signal Status register.
4.7.4SPI Status Register
The SPI Status Register is used during SPI communications to provide a quick summary status of the overall Atlas
amplifier. See Chapter 5, “
There is no way to set or clear the bits in this register. The bits in this register simply echo an amalgam of bits in various
other status registers, as noted in the table below. To change the value of these bits it is therefore necessary to utilize
the commands that are associated with those particular status registers.
SPI Communications” for more information on SPI communications processing.
The SPI Status register is defined in the following table:
BitNameDescription
0In foldbackEchoes the in foldback bit of the Drive Status register. Set 1 when in foldback,
cleared 0 if not in foldback
1OvertemperatureEchoes the overtemperature bit of the Drive Status register. Set 1 when cur-
rently in an overtemperature condition. Cleared 0 if currently not in an over-
temperature condition.
2-3ReservedMay contain 0 or 1.
4OvervoltageEchoes the overvoltage bit of the Drive Status register. Set 1 when currently
in an overvoltage condition. Cleared 0 if currently not in an overvoltage con-
dition.
5UndervoltageEchoes the undervoltage bit of the Drive Status register. Set 1 when currently
in an undervoltage condition. Cleared 0 if currently not in an undervoltage
condition.
56Atlas® Digital Amplifier Complete Technical Reference
BitNameDescription
6DisabledEchoes the Disabled bit of the Drive Status register. Set 1 when the Enable pin
is inactive. Cleared 0 when the Enable pin is active.
7Instruction errorEchoes the Instruction error bit of the Event Status register. Set 1 when an
instruction error occurs. This may be due to an incorrect command transmission, an Atlas-detected checksum error, or various other SPI interface com-
mand-related conditions.
8ReservedMay contain 0 or 1
9Over temperature eventEchoes the overtemperature bit of the Event Status register. Set 1 when an
overtemperature fault occurs.
10Drive exception eventEchoes the drive exception bit of the Event Status register. Set 1 when a drive
exception event such as bus voltage fault, watchdog timer fault, over current
fault, occurs that causes Atlas to disable output.
11Output clippedEchoes the output clipped bit of the Drive Status register. Set 1 when current
loop output clipping is occurring. Cleared 0 when output clipping is not
occurring.
12Foldback eventEchoes the foldback bit of the Event Status register. Set 1 when current fold-
back occurs.
13-15ReservedMay contain 0 or 1.
The SPI Status Register is not directly read via an Atlas command. It is read as part of SPI header processing. See
Section 5.2.1, “
See Section 4.11, “
Header Return Words” for more information. In addition, it may be selected as a traceable variable.
Trace Capture” for more information on tracing.
Operation
4
4.8Safety Processing Functions
Atlas provides a number of amplifier control features that automatically detect and manage safety-related conditions.
In addition, Atlas can signal when various conditions, safety or otherwise, occur.
The subsequent sections describe these features.
4.8.1Overcurrent Fault
Atlas supports automatic detection of excessive current output. This fault occurs when the motor, the wiring leading
from Atlas, or Atlas unit’s power stage becomes short circuited.
An overcurrent fault will cause the following events to occur:
•The current loop and power stage modules are disabled, thereby halting further motor output.
•The Drive Fault Status register records an overcurrent fault condition.
•The Event Status register records a drive exception condition.
To recover from this condition the user should determine the nature of the fault using the
command. It may be desirable to power down Atlas to check connections or otherwise correct the Atlas-attached
hardware so that the problem does not occur again.
If the condition is resolved but Atlas is not power cycled, the following sequence should be used to restore the drive
to normal operation:
GetDriveFaultStatus
•Clear the fault condition using the
•Clear the drive exception bit of the Event Status word using the
ClearDriveFaultStatus command.
ResetEventStatus command. It is not
possible to re-enable the current loop or the power stage module if the drive exception bit is still active.
Atlas® Digital Amplifier Complete Technical Reference57
4
Operation
•Re-enable the current loop and power stage modules using the
RestoreOperatingMode command.
If the overcurrent condition has been resolved, at the end of this sequence Atlas will resume normal operations. If the
overcurrent condition has not been resolved, the overcurrent condition will immediately occur again, and the recovery
sequence described above must be undertaken again.
Over current faults are serious conditions and warrant the utmost precaution before re-enabling amplifier operation. It is the responsibility of the user to determine the cause and corrective action of any electrical fault.
4.8.2Overtemperature Fault
Atlas provides the capability to continually monitor and detect excessive internal temperature conditions. Such a
condition may occur if excessive current is requested, if heat sinking of the Atlas unit is inadequate, or if some other
problem results in elevated drive temperatures.
To detect this condition a programmable temperature threshold is continuously compared to an internal temperature
sensor. If the value read from the internal sensor exceeds the programmed threshold, an overtemperature fault occurs.
In addition, a settable overtemperature hysteresis allows the user to ensure that the Atlas temperature drops by a
specified number of degrees before allowing drive restart.
To set the programmable temperature threshold or the programmable temperature hysteresis the command
SetDriveFaultParameter is used. To read back these values the command GetDriveFaultParameter is used.
The maximum allowed setting for the temperature threshold is 75.0° C, which is also the default value. The value set
using the
SetDriveFaultParameter command is in units of degrees C/256. For example, a value of 12,800 sets a
threshold of 50° C. The maximum allowed value of the hysteresis parameter is 50° C, and the default value is 5° C.
An over temperature fault will cause the following events to occur:
•The current loop and power stage modules are disabled, thereby halting further motor output.
•The Drive Fault Status register records an overtemperature fault condition.
•The Event Status register records a drive exception condition.
To recover from this condition the user should determine the nature of the fault using the
GetDriveFaultStatus
command. It may be desirable to power down Atlas to correct the condition.
If the condition is resolved but Atlas is not power cycled, the following sequence should be used to restore the drive
to normal operation:
•Clear the fault condition using the
•Clear the drive exception bit of the Event Status word using the
ClearDriveFaultStatus command.
ResetEventStatus command. It is not
possible to re-enable the current loop or the power stage module if the drive exception bit is still active.
•Re-enable the current loop and power stage modules using the
RestoreOperatingMode command.
If the overtemperature condition has been resolved, at the end of this sequence Atlas will resume normal operations.
If the overtemperature condition has not been resolved, the condition will immediately occur again, and the sequence
described above should be undertaken again.
The instantaneous status of the overtemperature threshold comparison can be read using the command
GetDriveStatus.
58Atlas® Digital Amplifier Complete Technical Reference
Operation
4
To read the current value of the temperature sensor the command
Overtemperature faults indicate that the internal safe limit of the drive temperature range has been exceeded.
This potentially serious condition can result from incorrect motor connections, excessive power demands placed
on the Atlas amplifier, or inadequate heat sinking. It is the responsibility of the user to operate Atlas within safe
limits.
GetTemperature is used.
4.8.3Overvoltage Fault
Atlas provides the capability to continually monitor and detect excessive voltages on the incoming voltage supply. Such
a condition may occur if there is a fault in the system power supply, if a large back EMF (electro motive force) is
generated during motor deceleration, or if some other problem results in an elevated bus voltage.
To detect this condition a programmable bus voltage threshold is continuously compared to the bus voltage sensor.
If the value read from the internal sensor exceeds the programmed threshold, an overvoltage fault occurs.
To read the current value of the bus voltage the command
To set the programmable overvoltage threshold the command
value the command
GetDriveFaultParameter is used.
The maximum allowed setting for the overvoltage threshold is either 52.0 or 60.0 volts depending on the Atlas unit
used. The minimum allowed threshold is 10.0 volts. The value set using the
in units of 1.361 mV/count. For example, a value of 14,695 sets a threshold of 14,695 * 1.361 mV/count = 20.00 volts.
See Section 3.11.1, “
Atlas Settings Defaults and Limits” for a complete list of Atlas limits and default temperature
settings.
GetBusVoltage is used.
SetDriveFaultParameter is used. To read back this
SetDriveFaultParameter command is
An overvoltage fault will cause the following events to occur:
•The current loop and power stage modules are disabled, thereby halting further motor output.
•The Drive Fault Status register records an overvoltage fault condition.
•The Event Status register records a drive exception condition.
To recover from this condition the user should determine the nature of the fault using the
GetDriveFaultStatus
command. In most cases it is desirable to power down Atlas to correct the condition.
If the condition is resolved but Atlas is not power cycled, the following sequence should be used to restore the drive
to normal operation:
•Clear the fault condition using the
•Clear the drive exception bit of the Event Status word using the
ClearDriveFaultStatus command.
ResetEventStatus command. It is not
possible to re-enable the current loop or the power stage module if the drive exception bit is still active.
•Re-enable the current loop and power stage modules using the
RestoreOperatingMode command.
If the overvoltage condition has been resolved, at the end of this sequence Atlas will resume normal operations. If the
overvoltage condition has not been resolved, the condition will immediately occur again, and the sequence described
above should be undertaken again.
Atlas® Digital Amplifier Complete Technical Reference
59
4
Operation
The instantaneous status of the overvoltage threshold comparison can be read using the command
Overvoltage faults indicate that a serious safety condition has occurred. It is the responsibility of the user to operate Atlas within safe limits.
GetDriveStatus.
4.8.4Undervoltage Fault
Atlas also provides the capability to sense undervoltage conditions. To set the programmable threshold the command
SetDriveFaultParameters is used. This value is compared to the value read from the drive DC bus, and if the value
read is less than the programmed threshold, an undervoltage fault occurs. See Section 3.11.1, “
Atlas Settings Defaults
and Limits” for a list of undervoltage-related limits and defaults.
Threshold units, recovery procedure, and all other aspects of this feature are the same as for overvoltage sense except
that the bit status location in the Drive Fault Status register is different. Just as for overvoltage conditions, it is the
user's responsibility to determine the seriousness of, and appropriate response to, an undervoltage condition.
4.8.5Watchdog Timeout
Atlas provides a programmable watchdog timer that can detect an unexpected lack of activity from the external
controller. Typically, such a condition is due to an SPI communication problem or an external controller malfunction.
Particularly when the external controller is used to provide higher level velocity or position control, a watchdog
timeout may therefore represent a very serious condition.
To effect the watchdog function Atlas monitors the amount of time between successive valid SPI torque or voltage
commands from the external controller. If the amount of time between commands exceeds the programmed
watchdog timer, the watchdog fault is triggered.
To set the watchdog timeout value the
command,
GetDriveFaultParameters is used. The watchdog time value is in units of 51.2 uSec. For example a value
SetDriveFaultParameter command is used. To read the value set using this
of 100 indicates a timeout interval of 5,120 uSec or 5.12 mSecs. A value of zero (0) means the watchdog is disabled.
A watchdog timeout fault will cause the following events to occur:
•The current loop and power stage modules are disabled, thereby halting further motor output.
•The Drive Fault Status register records a watchdog timeout fault condition.
•The Event Status register records a drive exception condition.
To recover from this condition the user should determine the nature of the fault using the
GetDriveFaultStatus
command. In most cases it is desirable to power down Atlas to correct the condition.
If the condition is resolved but Atlas is not power cycled, the following sequence should be used to restore the drive
to normal operation:
•Clear the fault condition using the
•Clear the drive exception bit of the Event Status word using the
ClearDriveFaultStatus command.
ResetEventStatus command. It is not
possible to re-enable the current loop or the power stage module if the drive exception bit is still active.
60
•Re-enable the current loop and power stage modules using the
Atlas® Digital Amplifier Complete Technical Reference
RestoreOperatingMode command.
At the end of this sequence Atlas will resume normal operations. This includes operation of the watchdog timer itself.
Unless a zero value has been loaded into the watchdog timeout value (thereby disabling the watchdog timeout), Atlas
will immediately begin counting SPI command intervals to determine if a another timeout has occurred.
Watchdog timeout faults indicate that a serious safety condition has occurred. It is the responsibility of the user
to operate Atlas within safe limits.
4.8.6Drive Enable
Atlas supports an Enable input signal that must be active for proper amplifier operation. This signal is useful for
allowing external hardware to automatically shut Atlas down. The signal has an active low interpretation.
Operation
4
The status of the
Enable signal can be read using the command GetSignalStatus.
If the Enable signal becomes inactive (goes high) the following events occur:
•The current loop and power stage modules are disabled, thereby halting further motor output.
•The Drive Fault Status register records a Disabled fault condition.
•The Event Status register records a drive exception condition.
To recover from this condition the user should determine the nature of the fault using the
GetDriveFaultStatus
command. It may be desirable to power down Atlas to correct the condition.
If the condition is resolved but Atlas is not power cycled, the following sequence should be used to restore the drive
to normal operation:
•Clear the fault condition using the
•Clear the drive exception bit of the Event Status word using the
ClearDriveFaultStatus command.
ResetEventStatus command. It is not
possible to re-enable the current loop or the power stage module if the drive exception bit is still active.
•Re-enable the current loop and power stage modules using the
At the end of this sequence Atlas will resume normal operations. If the
RestoreOperatingMode command.
Enable signal is still inactive while the disable
bit of the Event Status register is being cleared, this bit will immediately be set again, and the recovery sequence must
be executed again.
4.8.7Drive Fault Status Register
To simplify recovery from drive-related faults Atlas provides a Drive Fault Status register. This register is read using
the command
The bits in this register use a latch mechanism, meaning they are set by Atlas, and cleared by the user.
The following table indicates the contents of this register:
BitNameDescription
0OvercurrentSet 1 to indicate an overcurrent event due to a short circuit,
1-2ReservedMay contain 0 or 1
3Operating mode mismatchSet 1 to indicate that Atlas received a torque command when
4Watchdog timeoutSet 1 to indicate that the command watchdog has timed out.
Atlas® Digital Amplifier Complete Technical Reference
GetDriveFaultStatus.
overload in the drive output, or other such condition.
output was not enabled.
61
4
Operation
BitNameDescription
5OvervoltageSet 1 to indicate an overvoltage event in the supply bus volt-
age.
6UndervoltageSet 1 to indicate an undervoltage event in the supply bus volt-
age.
7DisabledSet 1 to indicate Enable signal was not asserted
8-11ReservedMay contain 0 or 1
12Current foldbackSet 1 to indicate a current foldback event
13-15ReservedMay contain 0 or 1
To clear the bits in this register the command
ClearDriveFaultStatus is used.
4.8.8FaultOut Signal
The Atlas unit’s FaultOut signal is used to indicate an occurrence of one or more drive faults. This signal is active high,
meaning it is high when a fault has occurred, and it is low when a fault has not occurred.
The
FaultOut signal is programmable, so that the user may determine what fault states result in the FaultOut signal
becoming active. In particular, any bit condition of the Drive Fault Status register may be used to trigger activation of
the
FaultOut signal. This is done using the command SetFaultOutMask. The value set using this command can be read
back using
GetFaultOutMask. See Section 4.8.7, “Drive Fault Status Register” for more information on the Drive
Fault Status register
The bit mask specified using this command is ANDed with the Drive Fault Status register. If the result is non-zero,
the
FaultOut signal is driven active. For example if a watchdog timeout has occurred (bit 4 of the Drive Fault Status
register and the mask has been set to a value of 0x10 (hexadecimal notation, equivalent to decimal value of 16)
FaultOut
will be active.
The default value for the fault out mask is 0x71, indicating that
FaultOut will go active whenever an overcurrent,
overvoltage, undervoltage, or watchdog timeout event occurs.
4.8.9Current Foldback
Current foldback, also known as I2t foldback, is a general purpose tool to protect the drive output stage or the motor
from excessive current.
62
2
I
t current foldback works by integrating, over time, the difference of the square of the actual motor current and the
square of a user-settable continuous current limit. When the integrated value reaches a user-settable energy limit, Atlas
goes into current foldback. The default response to this event is to cause the current loop and power stage modules
to be disabled. However it is also possible to program Atlas to attempt to clamp the maximum current to the
continuous current limit value. Note that the Atlas unit’s ability to do so depends on a properly functioning current
loop.
Atlas will stay in foldback until the integrator returns to zero. This is shown in Figure 4-10
Atlas® Digital Amplifier Complete Technical Reference
.
Operation
0
30
20
10
10
5
0
10
5
0
Commanded
Current
Amps
Continuous
current limit
exceeded
Integrated
energy limit
exceeded
Amps
Amp
2
-sec
Output
Current
Integrated
Energy
Time
Figure 4-10:
Current
Foldback
Processing
Example
4
Each Atlas amplifier has particular default and maximum allowed values for both the continuous current limit and
energy limit. These values are designed to protect the Atlas from excessive heat generation. Refer to Section 3.11.1,
“Atlas Settings Defaults and Limits” for a complete listing of these defaults and limits.
Setting continuous current limit and energy limit to less than the maximum supported by the Atlas is useful if the
current limit is due to the motor, or to some other factor external to Atlas.
To set the continuous current limit and the energy limit the command
using this command can be read back using
16-bit integer. Refer to Section 3.11, “
GetCurrentFoldback. The provided current value is an unsigned
Atlas Conversion Factors” for applicable units and scale factors for the specific
SetCurrentFoldback is used. The values set
Atlas unit you are using.
The instantaneous state of the current foldback mechanism (whether the foldback limit is active or not) is available in
the Drive Status register and can be read using the command
GetDriveStatus. If a foldback event has occurred, this
event is recorded in the Event Status register as well as the Drive Fault Status register, and can be read back using
GetEventStatus and GetDriveFaultStatus respectively.
4.8.9.1Current Foldback in Voltage Mode
Atlas unit’s current foldback mechanism still operates when Atlas is in voltage mode (current loop disabled). When in
this mode, the I
mode.
Nevertheless, when in voltage mode, there is an important operational difference. In particular, if the limit is exceeded,
2
t energy calculations and condition testing are identical as when Atlas is operating in current control
rather than clamping the maximum current output to the programmable maximum continuous current limit setting,
Atlas disables the power stage module, thereby halting further motor output.
4.8.9.2 Example I
The following example may help illustrate use of current foldback:
2
t Calculations
A particular motor has an allowed continuous current rating of 3 amps. In addition, this motor can sustain a temporary
current of 5 amps for 2 seconds.
Atlas® Digital Amplifier Complete Technical Reference
63
4
Operation
In this example the continuous current limit would be set to 3 amps, and the energy limit would be set to:
Energy Limit = (peak current
Energy Limit = (5A
Energy Limit = 32A
4.8.9.3Current Foldback Event Processing
Atlas provides a programmable mechanism related to the current foldback condition. This can be useful for tailoring
the response of the Atlas to best suit a specific application.
The Atlas facility that handles this type of programmable response is called an event. Events allow event actions to be
executed automatically once a specified condition occurs. In this case, the event condition is satisfied if Atlas is in a
current foldback condition, and the following table describes the event actions that can be selected by the external
controller:
2
- continuous current limit2) * time
2
- 3A2) * 2 Sec
2
Sec
Current foldback, when it occurs, may indicate a serious condition affecting motion stability, smoothness, and performance. It is the responsibility of the user to determine the appropriate response to a current foldback event.
Action NameDescription
No ActionNo event-related action taken, current limited to continuous
current limit
Disable power stage and current loopDisables the power stage and the current loop module
The command
SetEventAction is used to specify both the condition and the action that should be taken. The external
controller must specify that the condition is “current foldback,” and also specify one of the two conditions from the
table above. Upon occurrence, the programmed action is executed along with any related actions, such as setting the
appropriate bit in the Event Status register.
If a foldback event occurs when Atlas is in voltage mode (current loop not enabled), then the power stage will be
disabled regardless of the setting of the event action.
To recover from an event action the command
the operating mode previously specified using
RestoreOperatingMode is used. This command will reset Atlas to
SetOperatingMode command. Note that if the event condition is still
present, the event action will immediately occur again.
Once programmed, an event action will be in place until reprogrammed. The occurrence of the event condition does
not reset the programmed event action.
The default action for the current foldback event is to disable the power stage and current loop.
64
4.9Step Motor Control
While many aspects of Atlas operation are similar between step motors and Brushless DC or DC Brush motors, Atlas
provides a number of special features for supporting step motors. This section describes these special step motorspecific features.
Atlas® Digital Amplifier Complete Technical Reference
Overall, Atlas provides two step-motor specific position command methods. These are summarized in the table below:
Holding Current
Pulse
Direction
Drive Current
Position
CounterMicrostep
signal
generation
To
current
loop or
power
stage
Phase A
Command
Phase B
Command
AtRest Asserted?
Y
N
Position Command ModeDescription
Pulse & direction signal inputAtlas directly supports input of hardware Pulse, Direction, and AtRest sig-
nals to interface with traditional external controllers that provide these
signals. When operated in this mode, SPI communication is not available.
SPI pulse & directionThis pulse & direction interface utilizes the external controller SPI inter-
face to provide continuous position information to Atlas. Compared to
pulse & direction signal input, this approach allows full use of the SPI
communication interface.
4.9.1Pulse & Direction Signal Input Mode
Operation
Figure 4-11:
Pulse and
Direction Signal
Input Mode
Control Flow
4
Figure 4-11
signal drives a counter which increments or decrements a step motor command position based on the state of the
Direction signal. Pulse signals are expected to be active low, meaning that a position increment or decrement occurs
when this signal transitions from high to low. The
is low is interpreted as a negative direction command, and a pulse received while this signal is high as a positive
direction command.
Atlas provides programmable microstepping resolution, which means that the incoming position data stream can be
interpreted by the Atlas at various resolutions. The maximum is 256 microsteps per full step, and the default
interpretation is 64 microsteps per full step. This means that in the default condition, for a standard 1.8
stepper, Atlas provides a resolution of 12,800 microsteps per mechanical motor rotation, or roughly .028
mechanical motion per incoming pulse. Note that the control resolution may not equal the actual system accuracy.
To set the microstep resolution the command
GetPhaseCounts is used. Phase counts are expressed as microsteps per electrical cycles and there are four full steps
per electrical cycle. So for example, to set 256 microsteps per full step, the command
shows the control flow of the Atlas when used in pulse & direction signal input mode. The Atlas Pulse
Direction signal indicates that a pulse received while the Direction signal
° two-phase
degreesof
SetPhaseCounts is used. To read this value back, the command
When actually connected to Atlas in pulse & direction signal mode, SPI communication is not available. Command
examples in this section are therefore provided for use during setup, before pulse & direction signal mode is operational.
SetPhaseCounts 1,024 is used.
Atlas® Digital Amplifier Complete Technical Reference
65
4
Operation
4.9.1.1Setting the Motor Current
When operating in pulse & direction input mode the current output by Atlas must be specified. Atlas supports two
separate, programmable torques. The first is called the drive current and is used during normal step motor operations.
The second is called the holding current and is used when the motor is stationary as indicated by the
signal is typically set when the external controller’s trajectory generator completes its move or shortly thereafter.
is an active low signal, meaning when no motion is occurring this signal should be is set low, and set high when motion
is occurring.
AtRest signal. This
AtRest
To set both the drive current and the holding current the command
is set. The scaling of this command is determined by the particular Atlas you are using. See Section 3.11, “
SetCurrent is used. A value between 0 and 32,767
Atlas
Conversion Factors” for details. To read this value, the command GetCurrent is used.
4.9.1.2Pulse & Direction Signal Mode Operation Setup
Because Atlas shares SPI bus signal pins with the
Pulse, Direction, and AtRest pins it is not possible to operate the Atlas
in the pulse & direction signal input mode while communicating via the SPI communication bus.
To resolve this, Atlas is first connected in SPI mode, and the SPI interface is used to optimize the motion control
application during application development and to download desired drive parameters to Atlas unit’s non-volatile
initialization storage memory. See Section 4.12, “
Power-up” for more information on non-volatile initialization
storage.
Once Atlas has been fully prepared, to switch Atlas to pulse & direction signal input mode the command
SetDriveCommandMode is used. This command takes effect immediately, so further SPI command processing is
disabled, and the external controller should begin sending pulse & direction commands. Note that this command
sequence is generally only performed during power-on initialization. See Section 4.12, “
Power-up” for more
information.
Once the command mode has been set to pulse and direction signal, Atlas will be in pulse & direction signal mode
and the SPI bus will no longer be functional until a subsequent power cycle occurs.
66
4.9.1.3Recovering from Pulse & Direction Signal Mode
It is possible to restore an Atlas that is functioning in pulse & direction signal mode to SPI operation. While this is an
uncommon operation, it may be useful for testing, diagnosing a field problem, or to allow a production Atlas to be
used for prototyping with optimization software such as PMD’s Pro-Motion software. Here is how such a recovery is
accomplished.
For approximately 250 ms after power on Atlas will monitor its
Pulse and Direction input signals for a special pattern.
If detected, this recovery pattern will cause the Atlas to revert to SPI communication mode.
The recovery pattern consists of a rising edge on the
on the
Direction signal, followed by a falling edge on the Pulse signal. The time between direction edges is required to
be at least 500 us, and the
Note that in this recovery pattern
AtRest/~SPICS signal should be low throughout the recovery pattern.
Direction signal edges occur while the Pulse input signal is high, contrary to normal
pulse and direction input where a step is signaled by a high to low transition of the
should occur while
Pulse is low. Note also that when in pulse and direction signal input mode the SPISO pin is in a high
impedance state. Once the recovery pattern is recognized
Pulse signal with the Direction signal set low, five pulses (ten edg es)
Pulse input, and all Direction edges
SPISO is driven low.
Atlas® Digital Amplifier Complete Technical Reference
4.9.1.4Fault Processing While in Pulse & Direction Signal Input Mode
In order to allow recovery from safety-related faults such as overtemperature or current foldback while operating in
pulse & direction signal input mode, an automatic recovery mode is available. While this mode is most often used when
in pulse & direction signal input mode, it may in fact be selected even when SPI communications are available.
Operation
4
Automatic event recovery mode is set using the
GetDriveFaultParameter.
While in automatic recovery mode the
fault condition. After the
FaultOut signal goes active, the external controller must delay a minimum of 150 uSec, but
Enable signal is used to request that the Atlas automatically attempt to reset a
thereafter may request that the Atlas attempt to automatically recover by deasserting, and then asserting, the
signal. The
Enable signal must be in the deasserted state for at least 150uSec for the request to be recognized.
SetDriveFaultParameter command, and may be read back using
Enable
When an automatic recovery request is recognized by Atlas it behaves as though the command sequence
ResetEventStatus 0, ClearDriveFaultStatus and RestoreOperatingMode has been sent to it by the external
controller. As is the case when these commands are sent by the external controller, if the fault condition is still present
when recovery is attempted, Atlas will immediately again disable itself, and a recovery procedure must once again be
requested. If the fault has been corrected however, a recovery request will result in resumption of normal Atlas
operation.
While in automatic recovery mode, the FaultOutMask should be set to assert the FaultOut signal during a current
foldback event. If not, the external controller will be unaware that Atlas is in a foldback condition, and therefore
will not know when to request an automatic recovery via the Enable signal.
4.9.2 SPI Pulse & Direction Mode
The SPI pulse & direction mode allows emulated pulse & direction information to be transmitted via the SPI bus.
While it is possible to use this mode in a production application, this mode is most useful during development, when
the values for various Atlas parameters are still being optimized, and full SPI communication is desired.
When placed in this mode an incremental signed move distance is specified via the SPI command protocol at each
external controller command. For example, a value of +7 specified by the external controller means the Atlas will
move the step motor position forward 7 microsteps, and a command of -3 will cause the Atlas to move the step motor
position backwards 3 microsteps.
To accommodate the
AtRest signal, the SPI protocol incorporates a bit which is utilized by Atlas in the same manner
as the AtRest signal when in the hardware pulse & direction mode. See Chapter 5, “SPI Communications” for a
complete description of the SPI command format.
As was the case for pulse & direction signal mode, both a drive current and a holding current should be specified when
using the SPI pulse & direction mode. To accomplish this the command SetCurrent is used. The values set using this
commands can be read by the command GetCurrent.
To assist with operation in this mode it may be useful to read the current step motor position. This 32 bit quantity can
be read using the command
GetCommandedPosition.
4.9.3 Current Control with Step Motors
Current control when driving step motors occurs using either field-oriented control or independent phase control. See
Section 4.5.3, “Field Oriented Control” for a detailed description of field-oriented control, and see Section 4.5, “Cur-
rent Loop” for a detailed summary of the Atlas unit’s current loop.
Atlas® Digital Amplifier Complete Technical Reference
67
4
Start Address
Function
(in Hexadecimal)
0X0000 0000 Trace RAM (1,020 words)
0X0000 03FD Reserved
0X2000 0000 NVRAM (1,024 words)
0X2000 0400 Reserved
Operation
Figure 4-12:
User Memory
Space and
Buffers
To select field oriented control or current control the command
be read back using
GetCurrentControlMode.
SetCurrentControlMode is used. The value set can
4.10User Memory Space & Buffers
Atlas provides the ability to store or retrieve data from an internal user memory space. Figure 4-12
memory space for Atlas. There is a trace area, and an area that is used to store non-volatile setup commands that can
be read back by the external controller. See Section 4.11, “
Trace Capture” for more information on trace. See Section
4.12, “Power-up” for more information on Atlas operational configuration storage.
Atlas provides access to the user memory space via a mechanism known as a buffer. Atlas allows up to four different
buffers to be defined, allowing the overall user memory space to be partitioned in a manner most useful to the external
controller. Typically, there will just be two buffers, one for the trace area, and one for the setup area. However this
additional flexibility may be useful for storing temporary application specific data, or to set up multiple trace data
storage areas.
shows the user
Buffers describe a contiguous block of memory and are defined by specifying a base address for the memory block
and a block length. Once a buffer’s base address and length have been defined, data values may be written to and read
from the buffer.
When defining memory buffers the memory space is treated as a sequence of 16-bit memory locations. Atlas allows
any values to be used for the base address and length as long as these values result in addresses within the available
user memory space.
4.10.1Buffer Indexes
In addition to the base address and length each buffer maintains a read index and a write index. The read index may
be assigned a value between 0 and L-1 where L is the buffer length. The read index defines the location from which
the next value will be read.
Similarly, the write index ranges from 0 to L-1 and defines the location at which the next value will be written. When
a value is read from the memory buffer, the read index is automatically incremented, thus selecting the next value for
reading. The write index is incremented whenever a value is written to a buffer. If either index reaches the end of the
buffer, it is automatically reset to 0 on the next read/write operation.
4.10.2Buffer Access Commands
The following table details the commands that set up, access, and monitor memory buffers.
CommandArgumentsDescription
SetBufferStartbufferID, addressSets the base address of a buffer. bufferID is either 0, 1, 2, or
68
GetBufferStartbufferIDReturns the base address of the specified buffer.
3. Address is a 32-bit integer that defines the base address of
the buffer.
Atlas® Digital Amplifier Complete Technical Reference
CommandArgumentsDescription
SetBufferLengthbufferID, lengthSets the length of the specified buffer. Length is a 32-bit inte-
ger. Atlas adds length to the current buffer base address (as
set by the SetBufferStart instruction) to ensure that the buffer
will not extend beyond the addressable memory limit.
GetBufferLengthbufferIDReturns the length of the specified buffer.
SetBufferReadIndexbufferID, indexSets the read index for the specified buffer. Index is a 32-bit
integer in the range 0 to length-1, where length is the current
buffer length.
GetBufferReadIndexbufferIDReturns the value of the read index for the specified buffer.
SetBufferWriteIndexbufferID, indexSets the write index for the specified buffer. Index is a 32-bit
integer in the range 0 to length-1, where length is the current
buffer length.
GetBufferWriteIndexbufferIDReturns the value of the write index for the specified buffer.
ReadBuffer16bufferIDReturns a 16-bit value from the specified buffer. The location
from which the value is read is determined by adding the base
address to the read index. After the value has been read, the
read index is incremented. If the result is equal to the current
buffer length, the read index is set to zero (0).
4.11Trace Capture
Operation
4
Trace capture is a powerful Atlas feature that allows parameters and registers to be continuously captured and stored
to the Atlas units’ trace RAM user memory space. The captured data may later be downloaded by the external
controller using standard memory buffer access commands. Data traces are useful for optimizing current loop
performance, diagnosing SPI communications, capturing signal data, or assisting with any type of monitoring where
a precise time-based record is required.
Broadly speaking, there are three phases associated with data trace operations. In the first phase, the external controller
specifies which parameters will be captured, and how the trace will be executed. In the second phase, Atlas captures
the trace data. This can occur autonomously, or under external controller control. Finally, in the third phase the
external controller retrieves the data. This can occur after the trace is complete, or concurrently with capture.
4.11.1Trace Parameters
To start a trace the external controller must specify a number of parameters. They are:
ParameterDescription
Trace bufferThe external controller must initialize and specify the memory buffer that will be
used for the trace data storage area. See
Buffers” for more information on buffers.
Trace periodAtlas can capture the value of the trace variables for every single time cycle, every
other cycle, or at any programmed frequency. This trace period of data collection
and storage must be specified.
Section 4.10, “User Memory Space &
Figure 4-13:
Example
Motion Trace
Capture
Atlas® Digital Amplifier Complete Technical Reference
69
4
Operation
ParameterDescription
Trace variablesThere are dozens of separate variables and registers within Atlas that may be
Trace modeAtlas can trace in one of two modes: one-time, or rolling mode. This determines
Trigger modeAtlas supports two different methods for determining the moment when data cap-
Trace Start/StopAtlas allows the external controller to control when trace capture starts and
4.11.1.1Trace Buffer
Atlas organizes its internal user memory space into data buffers. Each buffer is given a numerical ID. The trace buffer
must always be ID 0 (zero). Before trace capture may be used, memory buffer 0 must be programmed with a valid
base address and length.
The size of the trace buffer determines the maximum number of data points that can be captured. For the large
majority of applications the trace buffer will be set to a size of 1,020 words, which corresponds to the maximum
available memory for trace. If the external controller specifies some of this area for other functions however, such as
to store a previous trace, the trace buffer must be set to a smaller size.
traced; for example, the phase A current command, the current loop error, etc…
The user must specify the variables that will be traced by Atlas.
how the data is stored, and whether the trace will stop automatically or be
stopped explicitly by the external controller.
ture actually occurs. The first is internally, via the Atlas unit’s internal clock cycle
and the trace period defined above. The second is externally commanded by the
external controller via the SPI communication protocol. See
Chapter 5, “SPI
Communications” for more information on the SPI protocol. Note that when
external trigger mode is selected the trace period is not used.
stops. Two overall conditions are supported; starting and stopping immediately via
a command or via the trace bit of the SPI communication header.
While trace data is being collected it is not legal to change the trace buffer configuration. If an attempt is made to
change the base address, length, write index, or read index associated with buffer 0 while a trace is running the change
will be ignored and an error will be flagged.
4.11.1.2Trace Period
The tracing system supports a configurable period register that defines the frequency at which data is stored to the
trace buffer. The tracing frequency is specified in units of 51.2 uSecs.
The command
SetTracePeriod sets the trace period, and the command GetTracePeriod retrieves it. Note that if
the trigger mode is set to external, the trace period is not used.
4.11.1.3Trace Variables
When traces are running one to four Atlas parameters may be stored to the trace buffer for each occurrence of the
trigger. The four trace variable registers are used to define which parameters are stored.
The command
SetTraceVariable selects which traceable parameter will be stored by the trace variable specified. The
values passed by this command specify the variable number of the parameter to be traced, and the variable ID. The
command
GetTraceVariable retrieves this same value.
The following table shows all of the Atlas variables that can be traced along with the variable ID code that is used to
select this variable for tracing.
Variable IDNameDescription
Status Registers
12Event StatusThe Event Status register
14Signal StatusThe Signal Status register
56Drive StatusThe Drive Status register
70
Atlas® Digital Amplifier Complete Technical Reference
Variable IDNameDescription
79Drive Fault StatusThe Drive Fault Status register
80SPI StatusThe SPI Status word
Commutation/Phasing
7Active Motor CommandThe external controller-commanded voltage or torque com-
mand
17Phase A CommandThe output command for phase A
18Phase B CommandThe output command for phase B
19Phase C CommandThe output command for phase C
29Phase Angle ScaledThe phase angle, scaled from 0 to 360° rather than in encoder
counts.
Current Loop
66Phase A ReferenceThe current loop reference for Phase A
67Phase B ReferenceThe current loop reference for Phase B
30Phase A ErrorThe current loop error for Phase A
35Phase B ErrorThe current loop error for Phase B
31Phase A Actual CurrentThe current loop actual current for Phase A
36Phase B Actual CurrentThe current loop actual current for Phase B
33Phase A Integrator Contribution The current loop integrator contribution for Phase A
38Phase B Integrator Contribution The current loop integrator contribution for Phase B
34Phase A Current Loop OutputThe current loop output for Phase A
39Phase B Current Loop OutputThe current loop output for Phase B
Field Oriented Control
40d ReferenceThe FOC reference for d (direct) loop
46q ReferenceThe FOC reference for q (quadrature) loop
41d ErrorThe FOC d (direct) loop error
47q ErrorThe FOC q (quadrature) loop error
42d FeedbackThe d (direct) feedback current
48q FeedbackThe q (quadrature) feedback current
44d Integrator ContributionThe FOC integrator contribution for d (direct)
50q Integrator ContributionThe FOC integrator contribution for q (quadrature)
45d OutputThe FOC output for d (direct)
51q OutputThe FOC output for q (quadrature)
52FOC phase A OutputThe FOC output for phase A
53FOC phase B OutputThe FOC output for phase B
73Alpha CurrentThe FOC current component (stationary frame)
74Beta CurrentThe FOC current component (stationary frame)
31Phase A Actual CurrentThe FOC actual current for phase A
36Phase B Actual CurrentThe FOC actual current for phase B
Motor Output
54Bus voltageThe bus voltage
55TemperatureThe temperature of Atlas
68
2
t EnergyAccumulated I2t foldback energy
I
75Terminal A OutputThe PWM duty cycle for terminal A
76Terminal B OutputThe PWM duty cycle for terminal B
77Terminal C OutputThe PWM duty cycle for terminal C
69Leg Current AThe measured current in lower leg A
70Leg Current BThe measured current in lower leg B
71Leg Current CThe measured current in lower leg C
72Leg Current DThe measured current in lower leg D
78Clip FactorActual output as a fraction of commanded output
Operation
4
Atlas® Digital Amplifier Complete Technical Reference
71
4
Operation
Variable IDNameDescription
Miscellaneous
0NoneNo trace variable is selected
8Atlas TimeAtlas unit’s processor time in units of cycles
Setting a trace variable’s parameter to zero will disable that variable and all subsequent variables. Therefore, if N
parameters are to be saved at each trace period, trace variables 0 to (N–1) must be used to identify the parameters to
be saved, and trace variable N must be set to zero.
4.11.1.4Trace Mode
As trace data is collected it is written to sequential locations in the trace buffer. When the end of the buffer is reached
the trace mechanism will behave in one of two ways, depending on the selected trace mode.
If one-time mode is selected then the trace mechanism will stop collecting data when the buffer is full.
If rolling-buffer is selected then the trace mechanism will wrap around to the beginning of the trace buffer and
continue storing data, overwriting data from previous cycles. In this mode the trace will not end until explicitly
commanded by the external controller. See Section 4.11.2, “
start control.
Trace Start/Stop” for more information on trace stop/
Use the command
SetTraceMode to select the trace mode. The command GetTraceMode retrieves the trace mode.
4.11.1.5Trigger Mode
Atlas supports two separate methods for synchronizing data capture during trace operations; internal, under Atlas
control, and external, under external controller control.
If internal is selected, trace data capture occurs automatically as determined by the trace period variable described
previously. If external is selected, a special bit in the SPI protocol format is used to command when the trace will occur.
In external trigger mode an explicit command must be sent to prepare Atlas for tracing. This command resets various
trace variables such as the write index so that they start the trace correctly initialized.
To select trigger mode use the command
SetTraceMode. The command GetTraceMode retrieves this same
information.
4.11.2Trace Start/Stop
The external controller has the ability to control when trace capture starts and stops. Both the start condition and the
stop condition can be independently programmed.
The command that is used to specify how the trace will start is
it will stop is
stops immediately upon receipt of the
SetTraceStop. Two conditions are specifiable, the first is immediate, meaning that the trace starts or
SetTraceStart or SetTraceStop command. The second condition specifies
that the trace bit of the SPI header will control when trace starts and stops. Trace starts at the moment this bit is set
to 1, and stops at the moment this bit is set to zero.
SetTraceStart, and the command that controls how
72
Once a specified start or stop condition occurs, the condition is no longer active. This generally means that the
condition should be reprogrammed for each trace operation.
The commands
GetTraceStart and GetTraceStop are used to retrieve the currently active trace start/stop
conditions.
Whether started immediately or via the SPI header trace bit, when the trace start condition occurs, all indexes are set
to zero and trace data storage starts at the beginning of the buffer.
Atlas® Digital Amplifier Complete Technical Reference
It is always necessary to specify a start condition for the trace to begin, however it is not necessary to specify a stop
condition. If in rolling buffer mode, if no stop condition is specified then the trace will continue indefinitely. If in onetime buffer mode, the trace will continue till the end of the buffer is reached.
Operation
4
See Section 5.2, “
Packet Header” for detailed information of the SPI header packet format.
4.11.3Trace Status Word
Atlas provides a register that summarizes the instantaneous state of the trace process. This register can be read using
the command
BitNameDescription
0Trace modeSet to 0 when in one-time mode. Set to 1 when in rolling
1Trace activeSet to 1 when trace is active (currently tracing). Set to 0 if
2Write index wrapSet to 1 when trace capture has wrapped. Set to 0 if it has
3OverrunSet to 1 when the write index laps the read index, indicat-
4Trigger modeSet to 1 when Atlas is in external trigger mode. Set to 0
5-15ReservedMay contain 0 or 1.
GetTraceStatus, and is summarized below:
mode.
it is not.
not wrapped. If 0, the buffer has not yet been filled and all
recorded data is intact. If 1, the trace has wrapped to the
beginning of the buffer; any previous data may have been
overwritten if not explicitly retrieved by the external controller using the ReadBuffer16 command while the
trace is active.
ing that data is not being read at a sufficient rate while
operating in rolling mode, and that unread data is now
being overwritten by Atlas. A 0 indicates that there is no
overrun. Note that this bit is never set when operating in
one-time trace mode.
when Atlas is in internal trigger mode.
4.11.4 Downloading Trace Data
Captured data may be downloaded by the external controller using standard buffer memory commands. See Section
4.10, “User Memory Space & Buffers” for a complete description of external memory buffer commands.
When operating in one-time trace mode, the most common approach for downloading data is to allow the trace to
finish, and then to read the entire buffer starting at read index 0.
When operating in rolling mode, there are some additional considerations introduced by the fact that the write index
can wrap, continuing to write data at buffer addresses already written during that trace.
To assist with this the command
GetTraceCount is available to retrieve the total number of captures that have
occurred since the start of the trace. By comparing this number with the number of data capture sets retrieved by the
external controller, the external controller can determine how many more data capture sets are available for retrieval.
Also useful during rolling trace mode is the Overrun bit of the Trace Capture register. This bit indicates that Atlas has
overwritten data that has not yet been read by the external controller. If the external controller's intention is to
continually retrieve all data recorded, this indicates a problem.
4.11.5 Trace Data Format
During each trace period each of the trace variables is used in turn to store a 16-bit value to the trace buffer. Therefore,
when data is read from the buffer, the first value read would be the value corresponding to trace variable 1, the second
Atlas® Digital Amplifier Complete Technical Reference
73
4
Variable 1
Address +0 +1+2+3+4
Variable 2Variable 3Variable 1Variable 2
Operation
Figure 4-14:
Trace Data
Format
value will correspond to trace variable 2, up to the number of trace variables used. This is shown in Figure 4-14
three variables shown captured.
Along those lines, both the length of the trace buffer and the number of trace variables specified for capture affect the
number of capture sets that may be stored. For example, if the trace buffer is set to the Atlas unit’s maximum value of
1,020 words and two trace variables are specified, up to 510 trace samples can be stored. However if three trace
variables are specified then 340 trace sets may be stored.
If smaller trace buffer sizes are used it is recommended that the length be set to an even multiple of the number of
trace variables being used. A simple solution is to verify that the trace buffer length is an even multiple of 12, since 12
is evenly divisible by all possible numbers of trace variables: 1, 2, 3, and 4.
with
4.12Power-up
After receiving stable power at the HV pins Atlas begins its initialization sequence.
In a power-up where no user-provided initialization parameters have been stored this takes approximately 250 mSec.
At the end of this sequence all parameters are at their default values, and both the current loop module and the power
stage module are disabled. At this point Atlas is ready to receive commands and begin operation.
Atlas also supports the ability to store initialization parameters that are applied during the power up sequence. For this
purpose, Atlas supports a 1,024 word memory that is non-volatile (NVRAM), meaning the data stored will be available
even after power to the Atlas is removed. Figure 4-12
segment.
The power-up initialization information stored in the NVRAM takes the form of Atlas command packets, however
rather than being sent via SPI, these packet words are stored in memory. If the non-volatile initialization memory has
been loaded with initialization information the power-up sequence detects this and begins executing the commands
stored in the non-volatile memory. Note that processing stored commands may increase the overall initialization time
depending on the command sequence stored.
For more information on how the initialization commands are stored into NVRAM see Section 4.13, “
(NVRAM) Storage”.
shows the user memory space and the location of the NVRAM
Non-Volatile
4.12.1Initialization Command Processing
If there are errors in the stored command sequence then an instruction error will be set so that the error can later be
diagnosed. Atlas will abort initialization if it detects any error while processing commands.
The external controller polls the Drive Status register to determine when initialization is complete. If an error is
detected the external controller can send a
processed during initialization.
GetInstructionError to diagnose the nature of the erroneous command
The order of initialization for most commands does not matter. However commands that enable Atlas for operation
should be executed last in the sequence. This is because Atlas should not begin operations until all of the initialization
parameters are loaded in. These commands include
SetDriveCommandMode, which is used to set Atlas to pulse & direction signal input mode.
74
SetOperatingMode, which is used to enable Atlas modules, and
Atlas® Digital Amplifier Complete Technical Reference
4.12.2Initialization-Specific Commands
PSF
Start Sequence
Word 4Word 3Word 2Word 1
Word 8Word 7Word 6Word 5
0x00x10x00x0
Segment 1
Segment 2
Segment N...
PSF
Segment
Storage Area
PSF
User Sequence
To make power-up initialization as flexible as possible there are a few commands that are only available during
initialization. These commands are listed below:
Operation
4
The command
Update is used to activate buffered commands that would otherwise be made active (updated) using
an SPI header command.
The command
InitializationDelay takes an argument which specifies a delay during stored command initialization
processing. This command is useful in the case that the user wants Atlas to be ready for operation only when other
hardware in the overall system is powered up.
4.13Non-Volatile (NVRAM) Storage
A primary purpose of the NVRAM is to allow Atlas initialization information to be stored so that upon power up it
can be automatically loaded rather than requiring an external controller to perform this function. In addition however
the NVRAM can be used for other functions such as labeling the stored initialization sequence, or for general purpose
user-defined storage.
All data stored in the Atlas NVRAM utlizes a data format known as PMD Structured data Storage Format (PSF). Users
who rely only on PMD’s Pro-Motion software package to communicate with Atlas and store and retrieve initialization
parameters may not need to concern themselves with the details of PSF. Users who want to address the NVRAM from
their own software, or who want to create their own user-defined storage on the Atlas NVRAM will utilize the PSF
format details provided in the subsequent sections.
4.13.1PMD Structured Data Format
PSF (PMD Structured data Format) is a general purpose data storage format designed for use with non-volatile storage
memory such as provided by Atlas Digital Amplifiers. PSF provides a method to store and label initialization
information used by the Atlas
Figure 4-15
start sequence and a 4-word user programmable sequence. Each word is 16 bits in size, as are future references to
shows the overall format of a PSF-managed memory area. The PSF memory space begins with a 4-word
during startup, as well as to allow user-defined storage in NVRAM.
words in the following sections unless otherwise noted. The start sequence must contain, in order, the values 0x0, 0x0,
Figure 4-15:
High-Level
Format of a
PSF (PMD
Structured
Data Format)
Memory Space
Atlas® Digital Amplifier Complete Technical Reference
75
Operation
Header Word 1
ChecksumSegment Type
Data Length (low)
Identifier
Data Length (high)
Header Word 3
Header Word 2
Header Word 5
Header Word 4
Reserved
Data1
Data2Data2
Data1
DataN...
DataN...
4
Figure 4-16:
PSF Data
Segment
Format
0x0, and 0x1. The user sequence can be specified by the user and may contain any values. The user sequence can be
used for any purpose but is often used to identify the type of information stored in the PSF memory space.
Following the eight words of sequence words are one or more data storage blocks known as segments, which are
themselves structured memory blocks which must follow a specific format.
4.13.2PSF Data Segments
The central mechanism which PSF provides to store data is called a data segment. PSF data segments come with their
own headers which allow structuring and data integrity checks of the PSF memory space. Figure 4-16
format of a PSF data segment. The following section details each of the elements in this data structure.
Checksum - is the ones complement of an 8-bit ones complement checksum with a seed of 0xAA. It is computed over
the entire segment space including the header. If the checksum field is computed correctly then the checksum will be
255 (0xff). The size of this field is one byte.
Segment type - specifies the formatting of the data stored in the segment. This 8 bit field encodes the values 0 through
255.
re
Data length low word & high word - contains a 32 bit value encoding the number of 16-bit words of data (data0, data1,
etc…) included with this segment. Data segments can be defined such that a variable number of data words is expected
or a fixed number of words is expected. Whether the number of data words varies or not, the data length word must
always be specified correctly for the number of data words actually contained in the segment.
Identifier - contains an unformatted 16-bit value that may be used for any purpose but is generally used to identify
separate instances of multiply stored segments of the same segment type. For example if there was an array of stored
segments, each of the same segment type, the identifier field might be used to identify a specific element within of the
overall array of segments.
Data0, Data1, etc… is the data that is being stored in this segment. The exact format of this data is determined by the
segment type.
shows the
Users may assign segment type values 192-255 for segment types of their own design while all other values
served. The size of this field is one byte.
are
76
Atlas® Digital Amplifier Complete Technical Reference
4.13.3Pre-Defined Segment Types
Segment Header
Command1
Command2
Command3
Command4...
Segment Data
Segment Header For
Initialization Commands Segment Type (0x92)
There are two pre-defined Atlas PSF storage segment types. The Initialization Commands storage type defines the
segment that holds configuration information used during power-up while the Parameter List segment holds
information that is useful to label the contents of the Initialization Commands segment.
During power up Atlas scans the NVRAM space for a properly formatted segment with type ‘Initialization Commands,’
and if found it initializes the Atlas using the information provided. The Initialization Commands segment type is defined
in detail in Section 4.13.4, “
Initialization Commands Segment Type”.
A segment of type Parameter List, when preceding another segment and when containing certain specific values in the
data, stores identification information associated with that segment. For example a human-readable name for the
segment can be assigned along with information such as when the segment data was stored. This segment-identifying
data is not utilized directly by Atlas but rather by software programs such as Pro-Motion. The Parameter List segment
type is discussed in detail in Section 4.13.5, “
Parameter List Segment Type”.
4.13.4Initialization Commands Segment Type
Operation
Figure 4-17:
Initialization
Commands
Segment
Format
4
The Initialization Commands segment type selects a segment format that holds the PMD commands that are processed
during powerup. The segment type value for the Initialization Commands segment type is 0x92. The overall format of
this segment type is shown in Figure 4-17
.
Atlas commands stored into the segment data portion of the Initialization Commands segment is formatted exactly as if
it were being sent by the external controller using the SPI protocol during normal SPI operations. See Chapter 5, “
SPI
Communications” for more information on the exact format of Atlas commands sent over the SPI protocol.
The table below shows a portion of an example initialization command sequence. These example commands enable
automatic event recovery mode, delay for 256 cycles so that other system components may initialize themselves, and
enable motor output and current control.
Segment
Data
AddressMnemonic
Data1SetDriveFaultParameter 2 10xEF62Opcode (0x62) and checksum
Data20x0002Argument 1: event handling mode
Data30x0001Argument 2: automatic event recovery
Data4InitializationDelay 0 2560x1F35Opcode (0x35) and checksum
Data50x0000Argument 1: time delay
Data60x0000Argument 2: delay, high word
Data70x0100Argument 2: low word
Data8SetOperatingMode 0x70xE865Opcode (0x65) and checksum
Data90x0007Argument 1: Enable output, current loop
Stored Code
(in hex)Comments
Atlas® Digital Amplifier Complete Technical Reference
77
4
Segment Header
Parameter Assignment Entry1
Parameter Assignment Entry2
Parameter Assignment Entry3...
Segment Data
Segment Header For
Parameter List Segment Type (0x90)
Operation
Figure 4-18:
Parameter List
Segment
Format
See Section 4.13.4, “
Initialization Commands Segment Type” for an example of a complete PSF memory image
including an initialization command sequence.
See Section 4.12, “
Power-up” for more information on initialization command processing during power up.
4.13.5Parameter List Segment Type
The Parameter List segment type provides a general purpose mechanism for the assignment of values to parameters. A
major use of the Parameter List segment type is to allow human-readable identification information to be recorded and
read back, thereby assisting with the identification of PSF-stored data. See Section 4.13.5.2, “
Mechanism” for information on how this segment ID mechanism is used within the PSF system. The segment type
value for the Parameter List segment type is 0x90. The overall format of this segment type is shown in Figure 4-18
Using the ID Segment
.
The parameter list segment type contains one or more assignments of the general form:
Parameter = Assigned Value
Parameter specifies the name of the parameter being assigned. Assigned Value contains the value to assign to the
parameter. Assigned Value may be formatted as a character string, an integer, a floating point number, or other formats
depending on the Parameter being assigned.
The data structure that is used to encode each such assignment in the Parameter List segment data area is called a
parameter assignment entry. The following section details the format of this data structure.
78
Atlas® Digital Amplifier Complete Technical Reference
4.13.5.1Parameter Assignment Entry
Parameter2
Data2
Data1
Data3
Parameter1
Parameter4
Parameter3
LengthType
Data4
Assigned Value1
Assigned Value0
Data5
Assigned Value2
Assigned Value3...
Data6...
Operation
Figure 4-19:
Format of
Parameter
Assignment
Entry
4
Figure 4-19
shows the encoding of the data words for a parameter assignment entry.
The Parameter field is specified as four byte-length ASCII characters.
The Type determines the encoding of the Assigned Value data. This field has a length of four bits.
The Length field determines the number of words contained in the Assigned Value. This field has a length of 12 bits.
Assigned Value1, Assigned Value2, etc… hold the data words comprising the Assigned Value.
Six specific parameters can be assigned for the purpose of segment identification. Note that not all of these parameters
need to be recorded. If not found, Pro-Motion will simply not display the contents for those specific segment IDrelated parameters. The following table provides details on the six available segment-ID related parameters
Parameter
Field
Encoding
C, N, [0], [0]The Assigned Value fields contain a
C,V,E,RSee aboveThe CVER parameter specifies a version identifier for the seg-
D,E,S,CSee aboveThe DESC parameter specifies a general purpose comment for
F,N,[0],[0]See aboveThe FN parameter specifies the script file name used to store or
Data Encoding
Length & TypeDescription
The CN parameter specifies a general purpose name identifier for
UTF-16 uni-code character string
of a variable length set via the
length field. The type code for a
UTF-16 encoded string is 0.
the segment to follow. An example name might be “X axis motor
init. cmds.” Note that the two unused parameter field words after
“CN” are filled with zeroes.
ment to follow. An example version might be “version12.3.”
the segment to follow. An example comment might be “These
gain factors were determined using the prototype unit in the engi-
neering lab.”
retrieve the data in the segment to follow. An example file name
might be “xaxis.txt.” Note that the two unused parameter field
bytes after "FN" are filled with ASCII nuls.
Atlas® Digital Amplifier Complete Technical Reference
79
4
Operation
F,D,[0],[0]See aboveThe FD parameter specifies the modification time of the script file
used to store the data in the segment to follow. Times should be
recorded in ISO-8601 format “YYYY-MM-DDThh:mm:ss”, with
hh recorded in 24 hour format. If desired only the year, month
and day need be specified. The time portion of this assigned value
is optional. An example assigned value might be "2017-0125T17:13:00" to store a date and time of January 25, 2017 at
5:13pm. Note that the two unused parameter field bytes after
“FD” are filled with ASCII nuls.
W,D,[0],[0]See aboveThe WD parameter specifies the time that data in the segment to
follow was written to NVRAM. See “FD” description for encoding
and usage example. Note that the two unused parameter field
bytes after “WD” are filled with ASCII nuls.
4.13.5.2Using the ID Segment Mechanism
Collectively the six parameters from the table above are known as an ID segment. ID Segments specify information
for the data segment that immediately follows it in the NVRAM PSF memory space.
When used to provide segment identifying information Pro-Motion, or a similar software program, takes ID
information provided by the user and stores it in the correct format into the Parameter List segment. The same software
program can later search the PSF memory space for segments of type Parameter List which hold the correct parameters
to retrieve these assigned values for display to the user.
For example if the segment name (see Section 4.13.5.1, “
Parameter Assignment Entry” for the various types of ID
information that can be stored) was specified and saved to NVRAM as “Axis 1 motor gains” by the user during
development, Pro-Motion would read from an Atlas with unknown contents and retrieve this same string for display
to the user.
Other than checking the segment checksum the Atlas unit does not read or otherwise process the ID segment.
ID segment information is recorded and retrieved by programs such as Pro-Motion for the convenience and utility
of the user. Inclusion of an ID-containing segment is therefore optional.
4.13.6User Defined Segment Types
PSF is a highly flexible data storage system that allows the user to store and if desired, label via the ID segment
mechanism structured data into the Atlas NVRAM.
Other than ensuring that the overall NVRAM memory size is not exceeded and that the segment header format is
followed there are no restrictions placed on what can be stored in the PSF memory space.
Although not required, PMD recommends that each user-defined segment be preceded with an ID segment that
identifies the contents as detailed in Section 4.13.5, “
track of what data was stored, when, etc… It will also allow the user to develop software tools that can scan the content
of the PSF NVRAM space and display a summary of what is stored there, or to utilize Pro-Motion to provide this
function.
Parameter List Segment Type”. Doing so will assist in keeping
80
4.13.7Complete Example PSF Memory Space
Figure 4-20 provides a word-by-word example of an NVRAM image used to store PSF-formatted initialization
commands along with associated segment ID content.
Atlas® Digital Amplifier Complete Technical Reference
The preceding sections described the format of data written to or read from the Atlas unit’s NVRAM memory. The
following section describes how writing and reading to the NVRAM memory space is accomplished.
4.14.1 Writing to NVRAM
There are significant restrictions to writing to the NVRAM area. In particular it is not possible to erase and rewrite
selected sections of the memory space. Only the special sequence described in this section can be used to write
memory into the user NVRAM space.
Atlas® Digital Amplifier Complete Technical Reference
81
4
Operation
As detailed in Section 4.13, “
Non-Volatile (NVRAM) Storage” if used, the NVRAM memory area should follow the
PMD Structured data Format. Failure to do so may result in unexpected behavior of the Atlas unit during power up
or during operation. If not used the NVRAM area does not need to be written to or otherwise initialized.
Data stored into the NVRAM area must follow the PSF format detailed in Section 4.13, “Non-Volatile
(NVRAM) Storage” . Failure to do so may result in unexpected behavior of the Atlas.
The following sequence is used to store command initialization data or other data to the non-volatile memory area:
1Send a
DriveNVRAM command with an argument of NVRAMMode. Sending this command places Atlas in
a special mode allowing it to store memory into the NVRAM. Before proceeding the external controller
should delay 1 second or more.
2Send a
DriveNVRAM command with an argument of EraseNVRAM. This command will erase the entire
NVRAM memory area. Before proceeding the external controller should delay four seconds or more.
3For each 16-bit word of data that is to be written into the NVRAM area the command
an argument of
Write is sent, along with the data word to be written. After each word is written Atlas
DriveNVRAM with
increments an internal pointer so that subsequent data words are automatically stored in the correct location.
4Check for NVRAM write completion by sending a
NOP command until a valid checksum is returned. In
most cases this will occur right away, however due to the nature of NVRAM writing there may be times when
this takes up to a millisecond. Once a valid checksum is returned check the Instruction error bit of the
returned SPI Status register. If an error is recorded the entire sequence described above must be repeated
from step 2. If no error is recorded continue by repeating steps 3 & 4 until all data is written.
5Once all data is successfully written the external controller should send a
Reset command, which will cause
Atlas to reboot and execute a power up sequence. Note that this power-up sequence will include processing
the stored data sent using the above sequence.
If an error occurs when processing NVRAM the Instruction Error event bit will be set and the
GetInstructionError
command may be used to read the error code.
4.14.2Reading Non-Volatile Memory
If desired, it is possible to directly read the NVRAM memory area using buffer commands. See Section 4.10, “User
Memory Space & Buffers” for more information on Atlas buffer processing.
To read the whole NVRAM area the buffer location should be set to 0x20000000 and the length should be set to 1,024.
The standard
It is not possible to write to the NVRAM area using the buffer commands. The procedure outlined in Section
ReadBuffer16 command can be used.
4.14.1, “Writing to NVRAM” must be used to write data to the NVRAM area.
4.15SPI Communications Overview
82
Atlas uses an SPI (Serial Peripheral Interface) digital connection to communicate with the external controller. This
connection is used to setup Atlas parameters, specify voltage or torque output values, monitor Atlas operation, as well
as other functions.
Atlas® Digital Amplifier Complete Technical Reference
SPI is a convenient interface because it is available on many microprocessors, provides relatively high speed
Controller word 0
xtu0Header data 1
Atlas word 0
SPI Status word
1
514131211109876543210
Controller word 1
Header data 2
Atlas word 1
Atlas checksumController checksum
1514131211109876543210
Controller word 2-N
Optional command
Atlas word 2-N
Optional command response
1514131211109876543210
Controller word 0
0tu0Data 1
Atlas word 0
SPI Status word
1
514131211109876543210
Controller word 1
Data 2
Atlas word 1
Atlas checksumController checksum
1514131211109876543210
communications, and uses only 4 signals; SPIClk (Clock), SPICS (chip select), SPISI (slave in), and SPISO (slave out).
Atlas utilizes standard SPI signaling and timing control for the hardware interface and implements a higher level
protocol on top of this. See Section 3.6, “
AC Characteristics” to learn more about low-level hardware SPI signal timing,
All communications to and from Atlas are in the form of a packet. Figure 4-21
shows the overall packet format. A
falling edge of the chip select begins the packet, and a rising edge of the chip select ends the packet. All Atlas SPI
packets are comprised of a two word header and one or more optional command words.
The first two words of the packet are called the header and are used to specify a desired motor voltage or torque along
with certain other functions such as when a trace starts and when a command update should occur.
As shown in Figure 4-21
each SPI word sent from the external controller to Atlas results in a return word sent from
Atlas to the external controller. In fact at a signal level, each outgoing bit is sent simultaneously with each incoming
bit, providing full duplex communications.
The external controller must receive and process data words sent to it by Atlas. These return words, depending on the
context, contain transmission integrity information, status bits, or other useful information.
4.15.1Sending a Voltage or Torque Output Value
Figure 4-22:
Sending a
Voltage or
Torque Output
Val u e
Generally the most frequently used head
by the drive. If Atlas is used as part of a higher level velocity or position controller, then these values are continuously
sent to Atlas at the servo sampling speed of the main motion controller, typically between 1 kHz and 10 kHz.
Figure 4-22
Depending on the motor type and command mode being used the data words will be loaded one of several different
ways.
For a complete description of these fields, along with many other details of Atlas SPI operation, refer to the Atlas
Digital Amplifier Complete Technical Reference.
Atlas® Digital Amplifier Complete Technical Reference
er transaction is an instantaneous voltage or torque output request for output
shows the overall format of the header words when voltage or torque commands are being sent.
83
4
Operation
This page intentionally left blank.
84
Atlas® Digital Amplifier Complete Technical Reference
5.SPI Communications
Controller word 0
xtu0Header data 1
Atlas word 0
SPI Status word
1
514131211109876543210
Controller word 1
Header data 2
Atlas word 1
Atlas checksumController checksum
1514131211109876543210
Controller word 2-N
Optional command
Atlas word 2-N
Optional command response
1514131211109876543210
In This Chapter
SPI Communications Overview
Packet Header
Sending a Voltage or Torque Output Value
Sending an Amplifier Disable
Sending aNOP
Sending Atlas Commands
5.1SPI Communications Overview
Atlas uses an SPI (Serial Peripheral Interface) digital connection to communication with the external controller. This
connection is used to setup Atlas parameters, specify voltage or torque output values, monitor Atlas operation, as well
as other functions.
SPI is a convenient interface because it is available on many microprocessors, provides relatively high speed
communications, and uses only 4 signals; SPIClk (Clock), SPICS (chip select), SPISI (slave in), and SPISO (slave out).
Atlas utilizes standard SPI signaling and timing control for the hardware interface and implements a higher level protocol
on top of this. See Section 3.6, “
levels, etc.
AC Characteristics” to learn more about low-level hardware SPI signal timing, voltage
5
All communications to and from Atlas are in the form of a packet. Figure 5-1
edge of the chip select begins the packet, and a rising edge of the chip select ends the packet. All Atlas SPI packets are
comprised of a two word header and one or more optional command words.
Atlas® Digital Amplifier Complete Technical Reference
shows the overall packet format. A falling
Figure 5-1:
SPI
Communications Protocol
Overview
85
SPI Communications
5
5.2Packet Header
The first two words of the packet are called the header and are used to specify a desired motor voltage or torque along
with certain other functions such as when a trace starts and when a command update should occur.
Here is a detailed description of the Atlas packet header:
FieldBitNameDescription
data 10-11Header data 1Holds various data, the format of which depends on the
u13Update flagA 0 in this field means that a buffered command update is
t14Trace active flagThis field controls various trace-related activities. See
x15Torque data flagA 0 in this field means the header will contain a desired
data 20-15Header data 2Holds various data, the format of which depends on the
state of the Torque data flag.
12ReservedThis field is reserved, and should be loaded with a 0.
not commanded. A 1 in this field results in an update of all
buffered parameters.
Section 4.11, “Trace Capture” for details. A 0 in this
field means that trace is not active. A 1 signals that a trace
is active, or that a capture is requested.
voltage or torque output value. A 1 means that it will contain a request for a disable operation or a NOP operation.
state of the Torque data flag.
The ‘x’ bit field affects the format of other fields, in particular the data 1 and data 2 fields. Therefore care should be
taken to correctly select the value of this field and associated data 1 and data 2 fields.
The ‘t’ and the ‘u’ bit-fields do not affect the format of other fields, and may be set to any value at any time as desired
by the external controller. These fields are a means for the external controller to synchronize activities for trace and
update-related functions of Atlas. See Section 4.11, “
Trace Capture” for more information on use of the trace active
flag.
5.2.1Header Return Words
As shown in Figure 5-1 each SPI word sent from the external controller to Atlas results in a return word sent from
Atlas to the external controller. In fact at a signal level, each outgoing bit is sent simultaneously with each incoming
bit, providing full duplex communications.
The external controller must receive and process data words sent to it by Atlas. These return words, depending on the
context, contain transmission integrity information, status bits, or other useful information.
The table below provides the contents of the data words returned by Atlas during header SPI transmissions.
FieldDescription
SPI Status wordContains 16 bits of drive status, signal status, and event information that can be monitored
by the external controller. See
tion of this word.
Atlas checksumAtlas checksum is the 8 bit, ones-complement checksum of four bytes: the low byte of SPI
Status Word, the high byte of SPI Status Word, the Controller Checksum byte (see next
field), and the byte value 0xAA. These four bytes along with the Atlas checksum received by
the external controller should evaluate to a checksum of 0xFF.
Controller checksumController checksum is the 8 bit, ones-complement checksum of five bytes: the low and high
bytes of both previously received header words and the byte value 0xAA. These five bytes
along with the controller checksum received by the external controller, should evaluate to a
checksum of 0xFF.
Section 4.7.4, “SPI Status Register” for a complete descrip-
86
Atlas® Digital Amplifier Complete Technical Reference
SPI Communications
The external controller should verify both the Atlas and Controller checksum. Checksum errors of any kind may
indicate a serious problem with external controller to Atlas communications. It it the responsibility of the user to
determine the source of any communication problems and take appropriate corrective action
5.2.1.1Example Checksum Calculations
A ones-complement checksum is computed by adding each 8 bit byte as an unsigned quantity, and in case of a carry
adding 1. Only the low 8 bits are ke pt for the final result. A seed of 0xAA is used to make sure that the checksum does
not verify in the case that a data line is locked either high or low.
Here is an example of header checksum calculations in the host:
Assume the two words of the previously sent header were 0x6789 and 0xABCD. Assume that the just-received SPI
Status Word has a value of 0x147A, and assume that the received Atlas and Controllers checksums are 0xDB and 0xEA
respectively.
First, we check the controller checksum-related fields. This is a ones complement addition as follows:
0x67/ high byte of header word 1
0x89/ low byte of header word 1
0xAB/ high byte of header word 2
0xCD/ low byte of header word 2
0xAA/ checksum seed
0xEA/ received controller checksum
+ ------
0XFF
5
The total indeed equals 0xFF, indicating that Atlas correctly received the previous two header words.
Next, we check the Atlas checksum-related fields. This is a ones-complement addition as follows:
0x14/ high byte of received SPI Status Word
0x7A/ low byte of received SPI Status Word
0xEA/ received controller checksum
0xAA/ checksum seed
0xDB/ received Atlas checksum
+----
0xFF
Atlas® Digital Amplifier Complete Technical Reference
87
SPI Communications
Controller word 0
0tu0Data 1
Atlas word 0
SPI Status word
1
514131211109876543210
Controller word 1
Data 2
Atlas word 1
Atlas checksumController checksum
1514131211109876543210
5
Figure 5-2:
Sending a
Voltage or
Torque Output
Val u e
5.3Sending a Voltage or Torque
Output Value
Generally the most frequently used header transaction is an instantaneous voltage or torque output request for output
by the drive. If Atlas is used as part of a higher level velocity or position controller, then these values are continuously
sent to Atlas at the servo sampling speed of the main motion controller, typically between 1 kHz and 10 kHz.
Figure 5-2
shows the overall format of the header words when voltage or torque commands are being sent. Depending
on the motor type and command mode being used the data words will be loaded one of several different ways. The
following table shows this:
Header Data
WordContentsDescription
DC Brush
Data 10Must contain zero
Data 2TorqueContains a 16-bit signed integer representing the desired
torque. The provided current value is an unsigned
16-bit integer with units of 1.526 mA/count. For example
a specified value of 6,553 represents a current command
of 1.526mA * 6,553 = 10.00 A.
Brushless DC
Data1Phase angleContains a 12-bit unsigned integer representing the elec-
trical phase angle of the motor. A value of 0 equals 0.0°,
and a value of 0xFFF represents 359.9°. See
Section 4.4,
“Commutation” for more information on phase control
in brushless motors.
Data 2TorqueContains a 16-bit signed integer representing the desired
torque. See the above description for the torque scaling.
Step Motor SPI Pulse & Direction Mode
Data 1AtRest IndicatorBit 0 indicates whether the motor is at rest. If set to 1
motor is at rest and Atlas will use the pre-programmed
holding torque. If set to 0 Atlas will use the pre-programmed drive torque.
Data 2Position incrementContains a 16-bit signed integer representing the relative
position increment to move. See
Section 4.9.2, “SPI
Pulse & Direction Mode” for more information
88
Atlas® Digital Amplifier Complete Technical Reference
SPI Communications
Controller word 0
1tu01checksum
Atlas word 0
SPI Status word
1
514131211109876543210
Controller word 1
0
Atlas word 1
Atlas checksumController checksum
1514131211109876543210
Controller word 0
1tu00anything
Atlas word 0
SPI Status word
1
514131211109876543210
Controller word 1
anything
Atlas word 1
Atlas checksumController checksum
1514131211109876543210
5.4Sending an Amplifier Disable
The header can be used to rapidly disable Atlas motor output. This operation is identical to sending a
SetOperationMode command with current loop and power stage modules disabled, however faster.
To disable Atlas output, a 1 should appear in the ‘x’ field (bit 15 of the first header word), the high four bits of Data
1 should be loaded with a 1, a checksum should be loaded into the low 8 bits of Data 1, and 0 should be loaded into
Data 2. This is shown in Figure 5-3
The checksum byte should be loaded such that when the ones-complement checksum of all four bytes of the header
words, the byte value 0xFF, and the transmitted checksum byte evaluate to 0xFF. If the checksum is not correct, Atlas
will take no action as a result of this packet transmission.
.
5
Figure 5-3:
Amplifier
Disable
Command
Format
5.5Sending a NOP
There are times when it may be useful to send a header without providing a new torque command or disabling the
drive. This might be the case, for example, when the external controller only wants to update the ‘t’ (trace) header field
or the ‘u’ (update) fields. In addition, this may be useful to verify controller to Atlas communication without requesting
a specific action.
Such an operation is called a NOP (no operation) header transaction.
To send a NOP to Atlas, a 1 should appear in the ‘x’ field (bit 15 of the first header word), the high four bits of Data
1 should be loaded with a 0, the low byte of Data 1 can contain anything, and Data 2 can contain anything. This is
shown in Figure 5-4
.
Figure 5-4:
NOP Command
Format
Atlas® Digital Amplifier Complete Technical Reference
89
5
Controller word 0
checksumopcode
Atlas word 0
0
1514131211109876543210
Controller word 1
argument word 0
Atlas word 1
0
1514131211109876543210
Controller word 2
argument word 1
Atlas word 2
0
1514131211109876543210
Controller word 3
argument word 2
Atlas word 3
0
1514131211109876543210
Figure 5-5:
Send
Command
Format
SPI Communications
5.6Sending Atlas Commands
Header communication transactions, described in the preceding sections, always consist of two 16-bit words. As such,
they are well suited to high speed operations such as continuously sending desired torque commands.
In addition to header communications however, Atlas supports an extensive command set that specifies and queries
a much larger number of registers and parameters. Throughout this manual we have illustrated the use of this
command set with mnemonics, for example the commands
Access to this full Atlas command set is supported within the SPI protocol using the command words shown in
Figure 5-5
information from Atlas. Processing of each type is somewhat different, and the following sections will describe both
of these types of command operations.
5.6.1Sending an Atlas Command
. Commands are split into two overall groups, those that specify information to Atlas, and those that query
SetOperatingMode or GetEventAction.
90
Figure 5-5
shows the overall format for commands that request an action or specify data to Atlas.
The associated data fields begin at the third word of the overall SPI packet and consist of a checksum byte, an opcode
byte, and one or more argument data words.
The checksum is calculated by ones-complement adding a byte value of 0xAA and all bytes of all words of the
command including the opcode and argument words, but not including any data words in the header. When evaluated,
this checksum should give a value of 0xFF for the checksum.
Each separate command mnemonic supported by Atlas is encoded with a unique 8 bit opcode. These opcodes, along
with the argument fields of the command data word, are listed in Chapter 6, the Programmer Command Reference. Users
familiar with PMD’s Magellan, Navigator, or 1st generation motion processor products will note that the overall
format of these commands are very similar to those products.
Atlas® Digital Amplifier Complete Technical Reference
SPI Communications
Controller word 0
0
Atlas word 0
checksumresult status
1514131211109876543210
Controller word 1
0
Atlas word 1
result word 0
1514131211109876543210
Controller word 2
0
Atlas word 2
result word 1
1514131211109876543210
Controller word 3
0
Atlas word 3
result word 2
1514131211109876543210
5.6.2Error Processing
If the command checksum shown in Figure 5-6 received by Atlas does not evaluate to 0xFF Atlas will return an SPI
Checksum Error and set the instruction error bit of the Event Status register.
In addition to such checksum errors the instruction error bit is set when an otherwise valid instruction or instruction
sequence is sent when the Atlas unit’s current operating state makes the instructions invalid, when an invalid opcode
is sent, or when the arguments to a command are invalid.
5.6.3Sending Commands that Query Information
5
Figure 5-6:
Query
Command
Format
Figure 5-6
information from Atlas.
Atlas returns a series of result words. The first such word contains a checksum byte such that the ones-complement
sum of 0xAA, the checksum itself, and all the data bytes returned by Atlas evaluates to 0xff. This checksum is correct
when the ones-complement sum of these bytes is 0xFF. This first result word also contains a signed 8-bit number
containing the number of result words to follow. If this number is negative, an error has occurred, and the instruction
error bit of the Event Status register is set.
Subsequent result words hold the actual data being returned by Atlas. For example if the command
GetOperatingMode is sent, the first result word will contain an 8-bit checksum in the high byte and the number 1 in
the low byte indicating 1 data word to follow. The next result word will contain the actual 16-bit value of the operating
mode register.
shows the overall return packet format for an Atlas command sent by the external controller that requests
During a read command, while the external controller is loading data from Atlas, it should write zeroes to the SPI
bus. Similarly, during a write command by the external controller Atlas loads zeroes in the return word. Therefore
it is recommended that the external processor check that these words have a zero. If not, this indicates that the
external controller has become out of synch with Atlas indicating a communication problem.
Atlas® Digital Amplifier Complete Technical Reference
91
SPI Communications
5
5.6.4Interlacing Command Communications
There may be situations where processing the entire Atlas command sequence in one contiguous SPI packet will place
an undue burden on the external processor. This is particularly true if the external processor has a large number of
axes to manage and a limited time slice to send information to each connected Atlas.
To lower the worst case timing burden of sending and retrieving results from commands Atlas allows the command
data stream to be interlaced with header operations. In other words Atlas does not require that each transmitted or
received word associated with command processing occur in its entirety after a particular header transaction. The
overall command data transmissions may occur over the course of several such header transactions.
92
Atlas® Digital Amplifier Complete Technical Reference
6. Instruction Reference
6.1 How to Use This Reference
The instructions are arranged alphabetically, except that all “Set/Get” pairs (for example, SetFOC and GetFOC) are
described together. Each description begins on a new page and most occupy no more than a single page. Each page is
organized as follows:
NameThe instruction mnemonic is shown at the left, its hexadecimal code at the right.
SyntaxThe instruction mnemonic (in bold) and its required arguments (in italic) are shown with all
arguments separated by spaces.
BufferedCertain parameters and other data written to the motion processor are buffered. That is, they are
not acted upon until the next command update. These parameters are identified by the word
“buffered” in the instruction heading.
Motor TypesThe motor types to which this command applies. Supported motor types are printed in black;
unsupported motor types for the command are greyed out.
ArgumentsThere are two types of arguments: encoded-field and numeric.
Encoded-field arguments are packed into a single 16-bit data word. The name of the argument (in
italic) is that shown in the generic syntax. Instance (in italic) is the mnemonic used to represent
the data value. Encoding is the value assigned to the field for that instance.
For numeric arguments, the parameter value, the type (signed or unsigned integer), and the range
of acceptable values are given. Numeric arguments may require one or two data words. For 32-bit
arguments, the high-order part is transmitted first.
Packet StructureThis is a graphic representation of the 16-bit words transmitted in the packet: the instruction,
which is identified by its name, followed by 1, 2, or 3 data words. Bit numbers are shown directly
below each word. For each field in a word, only the high and low bits are shown. For 32-bit
numeric data, the high-order bits are numbered from 16 to 31, the low-order bits from 0 to 15.
The hex code of the instruction is shown in boldface.
Argument names are shown in their respective words or fields.
For data words, the direction of transfer—read or write—is shown at the left of the word's
diagram.
Unused bits are shaded. All unused bits must be 0 in data words and instructions sent (written) to
the motion processor.
DescriptionDescribes what the instruction does and any special information relating to the instruction.
RestrictionsDescribes the circumstances in which the instruction is not valid, that is, when it should not be
issued. For example, GetCommandedPosition is relevant only in pulse and direction mode.
seeRefers to related instructions.
6
Atlas® Digital Amplifier Complete Technical Reference
93
ClearDriveFaultStatus6Ch
6
SyntaxClearDriveFaultStatus
Motor Types
Arguments
DC BrushBrushless DCMicrostepping
None
Packet
Structure
Description
158 70
ClearDriveFaultStatus clears all bits in the Drive Fault Status register. A bit is cleared only if it has
been read by
information on faults detected between
lost.
checksum6Ch
GetDriveFaultStatus since the last detection of the fault condition, so that
Restrictions
seeGetDriveFaultStatus (p. 102)
ClearDriveFaultStatus
GetDriveFaultStatus and ClearDriveFaultStatus is not
94
Atlas® Digital Amplifier Complete Technical Reference
DescriptionThe DriveNVRAM command is used to program the non-volatile memory. This memory is used
primarily for user-specified power-on initialization, but may also be used for storing arbitrary nonvolatile user data.
The command
NVRAM. This command is required in order to read NVRAM contents when they would configure
Atlas in pulse and direction input mode. It may be used either in NVRAM or normal modes.
Atlas must be put in a special mode of operation in order to program NVRAM, in this mode most Atlas
commands are not supported, and will return an error code of NVRAM Mode (26). In order to enter
NVRAM mode, use the command
While changing to NVRAM mode Atlas will not respond to SPI communications, so the controlling
processor should use this sequence of operations:
1) Send the
ait for at least 500 microseconds
2) W
3)
Send a NOP torque command
4) W
hile the checksum read is wrong, repeat step (3)
This sequence of operations should also be used with the
commands, all of which may interfere with SPI communications for some time. The Instruction Error
bit of the SPI status word should be checked after each such NVRAM operation, and the
GetInstructionError command used to check error status if it is set.
DriveNVRAM 0 1 may be used to reset Atlas without executing the commands in
DriveNVRAM 0 0.
DriveNVRAM command
Erase NVRAM, Write, and Block Write End
Atlas® Digital Amplifier Complete Technical Reference
95
DriveNVRAM (cont.)
6
Description
(cont.)
NVRAM bits may be cleared individually, but may only be set as an entire block. This operation is
called an erase, in the erased state each word reads as 0xFFFF. Typically NVRAM will be erased
each time new initialization instructions are written, but this is not absolutely required.
In order to erase NVRAM, use the command
shown for entering NVRAM mode.
After erasing NVRAM, 16-bit words may be written, beginning at location zero. After writing each
word an internal pointer will be advanced to the next location. It is the user’s responsibility to keep
track of the current write position, it cannot be directly read.
In order to write a single word, use the command
16-bit word. After writing the wait sequence should be followed.
If it is desired to skip a sequence of locations that already have the correct values the command
DriveNVRAM 8 N may be used, where N is the number of words to skip. No wait procedure is
required after this command.
In order to speed up long NVRAM writes a block write facility is provided. A block write is begun
by using the
a block. N may be at most 32. No wait procedure is required after this command.
The values to write are provided using a torque-like command, the first header word of this
command is 0x0F00, and the second word is the value to write to an internal buffer.
Once all the values of a write block have been sent the command
be sent to start the actual write process. The checksum argument is a 16-bit ones complement
checksum over all of the words to be written, if Atlas does not verify the checksum it will respond
with an NVRAM checksum Error (25). If the checksum is verified then the success code will be
returned, and the wait procedure should be followed.
DriveNVRAM 3 N command, where N is the number of words that will be written as
DriveNVRAM 1 0, and follow the wait sequence
DriveNVRAM 2 Value, where Value may be any
DriveNVRAM 4 checksum should
When all NVRAM operations are complete it is necessary to either power cycle Atlas or send a
Reset command in order to exit NVRAM mode.
It is not necessary to enter NVRAM mode in order to read the contents of NVRAM, that may be
done by using the SetBufferStart command to specify the NVRAM base, 0x20000000, as the start
of a buffer, and the ReadBuffer16 command to retrieve NVRAM values.
RestrictionsBefore entering NVRAM mode motor output must be disabled by setting the operating mode to 1.
Most ordinary commands are not supported in NVRAM mode.
Atlas® Digital Amplifier Complete Technical Reference
GetActiveOperatingMode57h
SyntaxGetActiveOperatingMode
6
Motor Types
Arguments
DC BrushBrushless DCMicrostepping
None
Returned DataType
modeunsigned 16 bitsbit field
Packet
Structure
158 70
readmode
150
Description
GetActiveOperatingMode gets the actual operating mode that the Atlas is currently using. This may or
may not be the same as the static operating mode, as safety responses or programmable conditions may
change the
the programmed static operating mode using the
definitions of the operating mode are given below.
Active Operating Mode. When this occurs, the Active Operating Mode can be changed to
NameBitDescription
—0Reserved.
Motor Output Enabled10: motor outputs disabled. 1: motor outputs enabled.
Current Control Enabled 20: current control bypassed. 1: current control active.
—3–15Reserved
GetActiveOperatingMode
checksum57h
First data word
RestoreOperatingMode command. The bit
When the current loop is disabled, it operates by passing its input directly to its output, and clearing all
internal state variables (such as integrator sums, etc.).