0% found this document useful (0 votes)
140 views56 pages

AN Commutation With ACS Drives

Uploaded by

mborich
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
140 views56 pages

AN Commutation With ACS Drives

Uploaded by

mborich
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Commutation with ACS Drives

Application Note
December 2017
Document Revision: 1.10
Commutation with ACS Drives Application Note

Commutation with ACS Drives

Release Date: December 2017

C OPYRIGHT

© ACS Motion Control Ltd.2017. All rights reserved.

Changes are periodically made to the information in this document. Changes are published as release notes and later
incorporated into revisions of this document.

No part of this document may be reproduced in any form without prior written permission from ACS Motion Control.

TRADEMARKS

ACS Motion Control, SPiiPlus, PEG, MARK, ServoBoost, NetworkBoost, and NanoPWM are trademarks of ACS Motion Control Ltd.

Windows and Visual Basic are trademarks of Microsoft Corporation.

EtherCAT is registered trademark and patented technology, licensed by Beckhoff Automation GmbH, Germany.

Any other companies and product names mentioned herein may be the trademarks of their respective owners.

www.acsmotioncontrol.com

[email protected]

[email protected]

NOTICE

The information in this document is deemed to be correct at the time of publishing. ACS Motion Control reserves the right to
change specifications without notice. ACS Motion Control is not responsible for incidental, consequential, or special damages of
any kind in connection with using this document.

Revision History
Date Revision Description

December 2017 1.10 Reformatted

August 2016 1.00 First Release

Version 1.10 2
Commutation with ACS Drives Application Note

Conventions Used in this Guide


Text Formats

Format Description

Bold Names of GUI objects or commands.

BOLD+ UPPERCASE ACSPL+ variables and commandss

Monospace + grey background Code example.

Italic Names of other documents.

Blue Web pages, and e-mail addresses.

[] In GUIs indicates optional item(s)

| In GUIs indicates either/or items

Flagged Text

Note - includes additional information or programming tips.

Caution - describes a condition that may result in damage to equipment.

Warning - describes a condition that may result in serious bodily injury or death.

Model - highlights a specification, procedure, condition, or statement that depends


on the product model.

Advanced - indicates a topic for advanced users.

Version 1.10 3
Commutation with ACS Drives Application Note

Related Documents
Documents listed in the following table provide additional information related to this document.
The most updated version of the documents can be downloaded by authorized users from
www.acsmotioncontrol.com/downloads.
Online versions for all ACS software manuals are available to authorized users at ACS Motion Control
Knowledge Center.

Document Description

SPiiPlus ACSPL+ Programmer's Provides practical instruction on how to use ACSPL+ to


Guide program your motion controller.

SPiiPlus Command & Variable Describes all of the variables and commands available in
Reference Guide the ACSPL+ programming language.

SPiiPlus MMI Application Explains how to use the SPiiPlus MMI Application Studio
Studio User Guide and associated monitoring tools.

Provides guidance in how to configure and adjust SPiiPlus


SPiiPlus Setup Guide
systems.

MC4U Control Module


Hardware Guide
NPMpc Installation and Carrier
Board Design Guide
NPMpm Installation Guide
SPiiPlusCMhp/ba Product
Guide
SPiiPlusCMhv Installation Guide
SPiiPlusCMnt Product Guide
SPiiPlusNT/DC Hardware Guide
SPiiPlusSAnt-LT/HP Installation Technical description of the product.
and Setup Guide
UDMnt Hardware Guide
UDMpc Hardware Guide
UDMhp/ba Product Guide
UDMhv Installation Guide
UDMlc Product Guide
UDMmc Installation Guide
UDMnt Installation Guide
UDMpm Product Guide

Version 1.10 4
Commutation with ACS Drives Application Note

Document Description

SPiiPlus True Gantry System


Provides the setup procedure for gantry systems.
Support Application

Version 1.10 5
Commutation with ACS Drives Application Note

Table of Contents
1. Document scope 10
2. Introduction 11
2.1 Brush motor commutation 12
2.1.1 Mechanical versus electrical cycle 13
2.2 Brushless motor commutation 14
2.2.1 Sinusoidal commutation 14
2.2.2 Trapezoidal commutation 15
2.3 Stepper Motor 15
2.3.1 Stepper motor commutation 16
3. Useful ACSPL+ functions and commands 17
3.1 COMMUT 17
3.2 MFLAGS 18
3.3 SLCHALL 19
3.4 SLSTHALL 19
3.5 SLCOFFS 20
3.6 SLCORG 20
3.7 GETCONF 20
3.8 SETCONF 21
4. Commutation through Adjuster Wizard 23
4.1 A detent point commutation scheme 23
4.1.1 Adjuster Wizard setup with detent point 25
4.1.2 Generating commutation program in the SPiiPlus MMI Appplication Studio 28
4.1.3 Troubleshooting tips 29
4.1.3.1 Incorrect feedback setting 30
4.1.3.2 Incorrect motor setting 31
4.1.3.3 Incorrect motor wiring 32
4.1.3.4 Axes with limited travel 32
4.1.3.5 Adjusting commutation parameters 33
4.2 Absolute encoder commutation scheme 34
4.2.1 Adjuster Wizard setup with absolute encoder 34
4.2.2 Changing feedback position before commutation 34
4.3 Hall commutation scheme 35
4.3.1 Hall sensor compatibility 35

Version 1.10 6
Commutation with ACS Drives Application Note

4.3.2 Adjuster Wizard setup with hall sensors 36


4.3.3 Troubleshooting tips 38
4.3.3.1 Hall state signal verification 38
4.3.3.2 Hall commutation bit 40
4.3.3.3 Inverting hall signal 40
4.4 Additional commutation schemes 40
5. Quick commutation 43
5.1 Troubleshooting tips 43
5.1.1 Error 5101: phase error 43
5.1.1.1 Using COMMUT before axis is set up 44
5.1.1.2 Controller gains 44
5.1.1.3 Excessive excitation current 47
5.1.2 Error 5102: position error 47
5.1.2.1 Vertical axis 47
5.1.2.2 High friction stage 48
5.1.2.3 Air bearing stages 48
5.1.2.4 Hardstop 48
5.2 Repeatability 48
5.3 Optimization 49
6. Manual commutation 52
6.1 Static current method 52
6.2 Setting commutation angle 53
7. Gantry commutation 55

Version 1.10 7
Commutation with ACS Drives Application Note

List Of Figures
Figure 2-1. Example of electromagnetic force 11
Figure 2-2. A simple rotary motor 12
Figure 2-3. Two phase brush motor 12
Figure 2-4. Comparison between a two-pole brush motor and a four-pole brush motor 13
Figure 2-5. Three-phase brushless motor 14
Figure 2-6. Relationship between current input to each phase and mechanical angle 15
Figure 2-7. Hall state transition in relation to a rotating magnet inside a brushless motor 15
Figure 2-8. Schematic of a stepper motor with phase 16
Figure 4-1. T phase missing from the motor 32
Figure 5-1. Repeatability 49

Version 1.10 8
Commutation with ACS Drives Application Note

List of Tables
Table 3-1. MFLAGS bit designators 18
Table 3-2. GETCONF return values 21
Table 3-3. 16-bit binary value template 21
Table 3-4. SETCONF Arguments 22
Table 4-1. Number of hall inputs per axis 35
Table 4-2. Expected logic level 39
Table 4-3. Additional commutation schemes 40

Version 1.10 9
Commutation with ACS Drives Application Note
1. Document scope

1. Document scope
The purpose of this document is to provide step by step instructions for setting up commutation
with ACS drives. This document covers the various schemes used to obtain commutation angle, or
the angle between the current vector and the magnetic field. It also provides basic troubleshooting
tips for commutation. This note is written with the assumption that the user has basic working
knowledge of the SPIIPLUS MMI APPLICATION STUDIO and that the INITIALIZATION, AXIS
ARCHITECTURE, and COMPONENTS tasks of the ADJUSTER WIZARD are configured properly.

For more details regarding basic setup and commutation, refer to the SPiiPlus Setup
Guide.

Version 1.10 10
Commutation with ACS Drives Application Note
2. Introduction

2. Introduction
Commutation is the process of adjusting current input to a motor in order to create continuous
motion. It is based on the principle of electromagnetism, which states that a force is generated
whenever there is current traveling in a magnetic field. An example of electromagnetic force is
illustrated below, where a wire is placed between two magnets. As current flows through the wire,
a downward force is generated based on the interaction of the moving electrons with the
magnetic field.

Figure 2-1. Example of electromagnetic force

The force generated is given by the following equation.

Where:

> is the force generated

> is the current input


> is the length of the wire

> is the magnetic field


As noted by the vector sign in the equation above, the force output depends on the direction of
the current flow and the field vector. Whenever the two vectors are perpendicular, the force
output is maximized. Whenever the two vectors are aligned, the force output becomes zero.
A rotary motor consists of a single coil and a magnet. In this configuration, the electromagnetic
force generates torque as illustrated below. It should be noted that the magnet is free to rotate
but not to translate.

Version 1.10 11
Commutation with ACS Drives Application Note
2. Introduction

Figure 2-2. A simple rotary motor

Since the magnet can only rotate, the torque generated is given by a the follwing scalar equation.

Where:
> is the torque produced
> is a constant
> is the magnetic flux density
> is the armature current
> is the angle between the current and the field vectors
If the current is static through the coil, then the magnet eventually stops rotating as it becomes
aligned with the magnetic field. This is similar to a compass which always points north. If the
direction for the flow of current is reversed, then the magnet realigns in the opposite direction.
The purpose of commutation is to continually adjust current input such that continuous motion
results. Two common methods for commutation are:
> Brush motor commutation
> Brushelss motor commutation

2.1 Brush motor commutation


The first motor commutation method adjusts the current input mechanically using components
called brushes. A brush is a conductor that transfers electrical current from the rotor to the stator.
The type of motor that uses this method of commutation is known as a brush motor.
A brush motor consists of two parts, a rotor and a stator. The commutator and the windings are
attached to the rotor, while the magnets are attached to the stator. This is illustrated below.

Figure 2-3. Two phase brush motor

Version 1.10 12
Commutation with ACS Drives Application Note
2. Introduction

Whenever a power source is connected to the motor, a torque is generated based on the armature
current and the magnetic field. As the rotor spins, the torque output eventually becomes zero as
the current and field vectors become aligned. However, brush motors are designed such that the
direction of the current changes based on the position of the rotor.
For the brush motor illustrated in Figure 2-3, whenever the rotor rotates 180°, the commutator, or
contact point for the windings, switches between the two brushes. Since each brush carries a
different polarity, the result is a reverse in direction for the armature current which generates a
new torque in the same direction. For this reason, a brush motor does not require inputs from the
user or the drive.

2.1.1 Mechanical versus electrical cycle


For the simple brush motor illustrated in Figure 2-3, the commutation process is not efficient, since
the torque output varies as the motor spins. For this reason, most brush motors contain multiple
windings and magnets as illustrated below.

Figure 2-4. Comparison between a two-pole brush motor and a four-pole brush motor

The more electrical cycles the motor has, then the smoother the motion becomes. An electrical
cycle is defined as a complete cycle between the magnetic poles from North to South. It is different
from the mechanical cycle, which represents a complete rotation of the shaft. To further
distinguish between the two, consider the two brush motors illustrated in Figure 2-4. For the two-
pole brush motor, there is only one pair of magnets. In this example, the number of mechanical and
electrical cycle is the same. For the four-pole brush motor, there are two pair of magnets. In this
example, there are two electrical cycles for every mechanical cycle. This relationship is generalized
by the following equation.

Where:
> is the number of electrical cycles
> is the number of poles
> is the number of mechanical cycles

Version 1.10 13
Commutation with ACS Drives Application Note
2. Introduction

2.2 Brushless motor commutation


The second method for commutation is to adjust the current input electronically using a drive. The
type of motor that relies on this method of commutation is known as a brushless motor. A
brushless motor is any construction where the rotor contains passive elements, usually magnets,
while the stator contains active elements, such as coils. This design helps reduce the moment of
inertia on the rotor, allowing for fast motor response.
A brushless motor can have any number of phases, but we will only consider a three-phase
brushless motor for this application note. As illustrated below, the three phases (R, S, and T) are
offset from one another by a fixed 120°. By adjusting the current input sent to each of the three
phases, a continuous torque using the attraction and repulsion of the magnet to each winding is
generated. However, this only works if the rotary position of the motor is known. For this reason, a
form of feedback signal (e.g. encoder or resolver) is required for drive commutation.
The two popular methods for drive commutation are:
> Sinusoidal commutation
> Trapezoidal commutation

Figure 2-5. Three-phase brushless motor

2.2.1 Sinusoidal commutation


For sinusoidal commutation, the current input is adjusted using sinusoidal waves. By offsetting
three sine waves by 120° and sending each one to a different motor phase, the current vector can
be kept perpendicular with the magnetic field at all time. The is illustrated below.

Version 1.10 14
Commutation with ACS Drives Application Note
2. Introduction

Figure 2-6. Relationship between current input to each phase and mechanical angle

For this method to work, the direction of the magnetic field with respect to the feedback position
must be known. With ACS products, there are several ways to determine this relationship. This is
discussed in Commutation through Adjuster Wizard.

2.2.2 Trapezoidal commutation


In trapezoidal commutation, current is sent to two motor phases at a time based on the direction of
the magnetic field. This method relies on sensors called hall effect sensors. A hall sensor is a device
that measures changes in a magnetic field and outputs either a high or low signal. By mounting
three hall sensors on the motor, one for each phase, the direction of the magnetic field can be
estimated based on the output from the three sensors as illustrated below.

Figure 2-7. Hall state transition in relation to a rotating magnet inside a brushless motor

Although this method allows the motor to achieve continuous motion, the angle between the
magnetic field and the current vector is not always 90°. It can vary as much as ± 30°. This is a 13%
variation in torque output. For this reason, after the first hall transition is detected, an ACS drive
automatically switches to sinusoidal commutation to provide maximum motor efficiency.

2.3 Stepper Motor


Another type of motor used in industry is a stepper motor. A stepper motor operates differently
than a brush and a brushless motor. Instead of shifting the current vector 90° ahead of phase, a
stepper simply aligns itself to a static current vector. The most commonly used stepper motor is a
two-phase motor with a positive pole and negative pole, as shown in Figure 2-8. Other stepper
motors have four- or five-phases; these operate on the same principle as a two-phase stepper
motor. Motion is achieved by energizing the different coils in turn. A common question is , "Why
would stepper motor operate this way?", since the rotor produces no torque when it is aligned.
The answer is that in this case, it is the restorative force that is important. Stepper motors are made
with a large number of poles (e.g. 12 poles per phase). Any misalignment in the rotor will create a
large restorative torque, since a static current is always present.

Version 1.10 15
Commutation with ACS Drives Application Note
2. Introduction

Figure 2-8. Schematic of a stepper motor with phase

2.3.1 Stepper motor commutation


Structurally, a stepper motor is no different than a brushless motor. For this reason, a stepper
motor can be used as a high-pole count brushless motor if the encoder resolution is high enough.
In order to commutate the motor, the encoder count must be at least 100 times the number of
electrical cycles in the stepper. Instead of offsetting each phase by 120°, each phase will be shifted
by 90°. The key advantage of this method is the motor will maintain the high holding torque
characteristics of a stepper motor, but with the move and settle performance of a brushless motor.

Version 1.10 16
Commutation with ACS Drives Application Note
3. Useful ACSPL+ functions and commands

3. Useful ACSPL+ functions and commands


The following ACSPL+ commands, variables, and flags may be use in commutation:
> COMMUT
> MFLAGS
> SLCHALL
> SLSTHALL
> SLCOFFS
> SLCORG
> GETCONF
> SETCONF

For more detail on the individual functions and commands, please refer to the SPiiPlus
ACSPL+ Command & Variable Reference Guide.

3.1 COMMUT
Description
COMMUT performs auto commutation and may be used when the following conditions hold true:
> The motor is DC brushless (AC servo)
> The motor is enabled
> The motor is idle
> The axis is set up and tuned
- Perform initial commutation adjustment
- Adjust the motor properly
- Save the adjustment parameters to the controller’s flash memory
Syntax
COMMUT axis [,excitation_current][,settle_time][,slope_time]
Arguments

Specifies the motor to commutate.


axis
Valid numbers are: 0, 1, 2, ... up to the number of axes in the system minus 1.

Optional.
excitation_ Specifies the motor current used during auto commutation. The current is
current specified as a percentage of the full current command. The default value is
98% of XRMS.

Optional.
settle_
Specifies the settling time in the auto commutation process in milliseconds.
time
The default value is 500 msec.

Version 1.10 17
Commutation with ACS Drives Application Note
3. Useful ACSPL+ functions and commands

Optional.
slope_
Specifies the time that the excitation current rises from zero to the desired
time
value in milliseconds. The default value is 0.

Example

COMMUT 0, 10 !Commut 0 axis with an excitation current


!of 10%.

3.2 MFLAGS
Description
MFLAGS is an integer array, with one element for each axis in the system, each element of which
contains a set of bits used for configuring the motor.
Syntax
MFLAGS(axis_index).bit_designator = 0|1
Arguments

Designates the specific axis, valid numbers are: 0, 1, 2, ... up to the number of
axis_index
axes in the system minus 1.

bit_
For commutation, the relevant bit designators are given in Table 3-1.
designator

Table 3-1. MFLAGS bit designators

Name No. Description

0 (default): The motor is a non-DC brushless type or the amplifier


provides commutation itself and uses one ±10V input from the
controller.
#BRUSHL 8
1: The controller provides commutation for the DC brushless motor.
The bit must be set only if the controller is connected to a three-
phase amplifier with two-phase input commands.

#BRUSHOK is applicable only for DC Brushless motors when


#BRUSHL.8 =1.
0 (default): DC brushless motor is not commutated.
#BRUSHOK 9
1: DC brushless motor is commutated. After power-up the controller
clears the bit. The controller automatically sets this bit =1 only after a
successful commutation or auto-commutation processes.

0 (default): The motor is a not a stepper motor.


#PHASE 10
1: The motor is a stepper motor

#INVENC 12 0 (default): Encoder counting is non-inverted.

Version 1.10 18
Commutation with ACS Drives Application Note
3. Useful ACSPL+ functions and commands

Name No. Description

1: The controller inverts the direction of encoder counting. This does


not affect the motion direction.

0 (default): Drive output command/s are not inverted.


#INVDOUT 13 1: The controller inverts the drive output command/s. This effectively
inverts the direction of the motion and the sign of the feedback.

0 (defaults): standard (SISO) PIV control scheme.


#GANTRY 25
1: gantry control (MIMO) scheme.

Note:
#HALL applies only to DC brushless motors when #BRUSHL (bit 8) =1.
#HALL 27
0 (default): Commutation is not based on hall signals.
1: Commutation is based on hall signals.

Note:
#INVHALL applies only for DC brushless motors when #BRUSHL (bit 8)
#INVHALL 28 =1.
0 (default): Motor hall signals are non-inverted.
1: Motor hall signals are inverted.

3.3 SLCHALL
Description
SLCHALL is an integer array, with one element for each axis in the system, and serves for storing
the hall shift.
Comments
The ADJUSTER commutation program calculates this parameter and saves it.

Do not change this parameter manually.

3.4 SLSTHALL
Description
SLSTHALL is an integer array, with one element for each axis in the system, and is used for getting
the hall state of each axis.
Syntax
SLSTHALL(axis_index) = value
Arguments

Version 1.10 19
Commutation with ACS Drives Application Note
3. Useful ACSPL+ functions and commands

axis_ Designates the specific axis, valid numbers are: 0, 1, 2, ... up to the number of axes
index in the system minus 1.

value value ranges from -1 to 5, Default=-1 for invalid hall state.

Comments
The SLSTHALL variable’s value is being updated every cycle.

3.5 SLCOFFS
Description
SLCOFFS is a real array, with one element for each axis in the system, and defines a commutation
offset in electrical degrees to be added to the commutation phase.
Syntax
SLCOFFS(axis_index) = value
Arguments

axis_ Designates the specific axis, valid numbers are: 0, 1, 2, ... up to the number of axes
index in the system minus 1.

value value ranges from -60 to 60, Default=0.

3.6 SLCORG
Description
SLCORG is a real array, with one element for each axis in the system, that defines the commutation
phase in electrical degrees at the point of origin which is usually at the index point.
Syntax
SLCORG(axis_index) = value
Arguments

axis_ Designates the specific axis, valid numbers are: 0, 1, 2, ... up to the number of axes
index in the system minus 1.

value ranges from:


value > -60 to 60, Default=0
> 0 to 360, Default=0

3.7 GETCONF
Description
GETCONF retrieves system configuration data that was configured by SETCONF.
Syntax
GETCONF(key,index)
Arguments

Version 1.10 20
Commutation with ACS Drives Application Note
3. Useful ACSPL+ functions and commands

key Specifies the configured feature.

Specifies the axis, buffer, or type of information requested.


index The index argument contains the axis index, valid numbers are: 0, 1, 2, ... up to the
number of axes in the system minus 1.

Return Value
GETCONF return values are described in Table 3-2 according to key.
Table 3-2. GETCONF return values

Key Bit and explanation

Only valid for brushless motors (MFLAGS.8 = 1).


214
Returns the commutation phase (degrees) at the current point.

Returns the current hall state, which can be 0, 1, 2, 3, 4, or 5, of the axis given by axis_
262 def (a number: 0, 1, 2, ... up to the number of axes in the system minus 1). It returns -1
for invalid states.

3.8 SETCONF
Description
SETCONF defines system configuration data.
All the keys that can be set by SETCONF listed in Table 3-4 can also be retrieved by GETCONF.
Syntax
SETCONF(key,index,value)
Arguments

key Specifies the configured feature.

index Specifies axis or buffer number.

The set of bit states for the defined key. value is set up according to a 16-bit binary
template, illustrated in Table 3-3. The controller strips all leading zeros. The
controller understands value in binary, hexidecimal, or decimal format.
The following prefixes determine value format:
value
0B - binary
0H - hexidecimal
A decimal value does not require any prefix.

Table 3-3. 16-bit binary value template

3 3 2 2 2 ..
Bit 6 5 4 3 2 1 0
1 0 9 8 7 .

Version 1.10 21
Commutation with ACS Drives Application Note
3. Useful ACSPL+ functions and commands

Prefi
x
..
[0B] | 0 0 0 0 0 0 0 0 0 0 0 0
.
[0H]
value

SETCONF arguments are detailed in Table 3-4.


Table 3-4. SETCONF Arguments

Key Index Value - Bit and Explanation

Valid only for brushless motors


(MFLAGS.8 = 1).
If value = 1:
MFLAGS.9=0 (Commutation is not
OK)
MFLAGS bits 1, 4, 5, 6 are set to zero
MFLAGS.8 is set to 1
Axis:
216 DCOM is reset to zero
0, 1, 2, ..., up to total number of axes in
system minus 1 Sets RPOS = FPOS
If value = 0:
MFLAGS.9=0 (Commutation is not
OK)
MFLAGS bits 1, 4, 5, 6 are set to zero
MFLAGS.8 is set to 10
Variable DCOM is reset to zero.

Version 1.10 22
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

4. Commutation through Adjuster Wizard


In order to operate a brushless motor in closed-loop mode with an ACS drive, an initial setup must
be completed through the Adjuster Wizard. The wizard establishes the relationship between the
feedback signal and the current vector. It also corrects the polarity of the drive and the hall signals
if they are counting in the opposite direction from the encoder. Afterward, the axis is commutated
via a buffer program or by using the COMMUTcommand. With ACS drives, there are several
commutation schemes.

The following section assumes the axis and motor parameters are properly configured.
See SPiiPlus Setup Guide for information regarding motor setup.

4.1 A detent point commutation scheme

The most common scheme is A Detent Point. It works with all types of feedback signals. The
procedure is described below.
1. An arbitrary static current vector is sent to the motor’s windings from the drive. The
amount of current sent is set based on the value stored for Excitation Current.

2. The rotor aligns itself with the current vector at this location, known as a detent point.

Version 1.10 23
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

3. The controller checks to see if the motor has stopped within the Settling Window Time.
4. The current vector rotates to a new detent point using the velocity specified as the Search
Velocity.

5. While the current vector is rotating, the location of magnetic poles is measured by a
feedback signal.

6. Once the rotor is aligned with the current vector, the actual pole pitch is compared to the
theoretical pitch calculated from the motor’s known parameters. If the deviation is
acceptable, the commutation passes, and the current vector is set perpendicular to the
motor’s magnetic field.

Version 1.10 24
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

4.1.1 Adjuster Wizard setup with detent point


The following steps are used to set up A Detent Point commutation with the Adjuster Wizard.
To open the Adjuster Wizard:
1. Select Add Component > Setup > Adjuster Wizard. The Adjuster Wizard window opens.

2. Select the relevant axis by clicking the Axis Selector field and then select the axis from the
drop down list.

3. In the Adjuster Wizard Select Task window, select Axis Setup and Tuning > Commutation.
The Axis Setup and Tuning: Commutation window opens.

Version 1.10 25
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

4. Select Default.

5. Select a buffer by clicking the Run in Buffer selector field and then select the buffer from
the drop down list.

Select an empty buffer to run the commutation program. By default, the program is
stored in buffer 0, any existing buffer program stored in buffer 0 is written. This step is
necessary to update information from previous sessions stored in the wizard.

Make sure the axis has enough space for travel. By default, the stage will measure four
electrical cycles. If the axis cannot measure four electrical cycles, see Axes with limited
travel.

6. Select Start Commutation Program.

If the axis is configured correctly, the Commutation Program Printout should show that
commutation has succeeded.

Version 1.10 26
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

7. In the Adjuster Wizard Select Task window, select Save to Flash. The Save to Flash prompt
is displayed.

8. Check / Uncheck all desired options.


9. Select SAVE.

Version 1.10 27
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

At the beginning of each power cycle, the COMMUT command performs an auto
commutation of the motor. COMMUT retrieves the commutation angle of the motor
with minimal movement of the motor. This is the recommended method for
commutation after the axis is set up and tuned instead of running the A Detent Point
commutation program.

4.1.2 Generating commutation program in the SPiiPlus MMI Appplication Studio


To use A Detent Point commutation scheme outside the Adjuster Wizard, export or store the
scheme in an ACSPL+ buffer.
To store A Detent Point commutation scheme in an ACSPL+ buffer:
1. In the Adjuster Wizard Select Task window, select Axis Setup and Tuning > Commutation.
The Axis Setup and Tuning: Commutation window opens.

2. In the Preferences field, select Retrieve Commutation Phase at.

3. Select A Detent Point.

Version 1.10 28
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

4. Select Generate Startup Program. The Generate Startup Program window opens.
5. Select an empty buffer by clicking the Buffer field.

6. Select Generate.
After the commutation program is generated, it is run directly in the Program Manager of the
SPiiPlus MMI Application Studio.

4.1.3 Troubleshooting tips


In the event that A Detent Point commutation program fails, the Commutation Program Output
window provides relevant information regarding the cause for failure. The following section
discusses the most common reasons for these failures as well as solutions.

Version 1.10 29
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

4.1.3.1 Incorrect feedback setting


One possible reason for commutation failure is that the encoder feedback is set up incorrectly.
Verify the feedback settings in the Verification: Feedback: Motor Feedback window of the Adjuster
Wizard.
1. In the Adjuster Wizard Select Task window, select Verification > Feedback > Motor. The
Verification: Feedback: Motor Feedback window opens.

2. Manually move the axis by a fixed distance.


3. Ensure that the change in the feedback position matches the actual distance traveled.
A common mistake when using a rotary motor is to use counts per revolution instead of lines per
revolution. As a reminder, for quadrature encoders, four counts makes up one line.

If the encoder feedback is wrong, correct the encoder settings.


1. In the Adjuster Wizard SELECT TASK window, select Components > Calculate Parameters.
2. Select Calculate Parameters.

Version 1.10 30
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

3. Select APPLY CHANGES.

If Calculate Parameters and Apply changes are not selected, then the parameters are
not updated in the controller!

4.1.3.2 Incorrect motor setting


Another possible reason for commutation failure is entering the wrong value for the magnetic
pitch or the number of poles. For all ACS products, the input is required in terms of half electrical
cycles. This is the physical distance measured from North to South in the electrical cycle. The most
noticeable sign for this error is that the measured and expected move is off by a factor of two. A
good sanity check for a rotary motor is to verify that number of poles is an even number.

If the measurement is off by half, correct the magnetic pitch.


1. In the Adjuster Wizard Select Task window, select Components > Motors. The Components:
Motor window opens.

2. Enter the correct magnetic pitch in the Pole Pitch Units field.

Version 1.10 31
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

If the motor specification does not mention if the magnetic pitch is given in terms of
full or half electrical cycle, contact the manufacturer. Alternatively, the motor pitch can
be measured directly using a caliper.

3. Select Update in database.

4.1.3.3 Incorrect motor wiring


In some cases, the motor phases are wired incorrectly. For example, if the T phase is wired into
ground or missing as shown in Figure 4-1, the commutation will fail with 0 counts for the measured
move

Figure 4-1. T phase missing from the motor

4.1.3.4 Axes with limited travel


If the axis cannot measure four magnetic pole pitches due to limited space, change the maximum
travel distance and measured poles.
1. In the Axis Setup and Tuning > Commutation window, expand the Advance Parameters
field.

Version 1.10 32
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

2. Select User Defined in the Maximum Search Distance drop down list.

3. Enter an appropriate distance in the deg field.


4. Enter an appropriate number for the Number of Magnetic Pitches to Measure.

Commutation will pass as long as one magnetic pitch can be measured. If commutation
still fails, see Manual commutation for different Manual Commutation methods.

4.1.3.5 Adjusting commutation parameters


In addition to the axis configuration, sometimes the Excitation Current, Search Velocity, and Settling
Window Time are adjusted for the commutation program to be successful.

Version 1.10 33
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

By default, the Excitation Current is set to be 50% of the XRMS value. For systems with low
damping, a lower Excitation Current and a longer Settling Window Time are required to prevent
oscillations. On the other hand, for systems with high fiction, a higher Excitation Current are
required to overcome the static friction. In this case, the best approach is to gradually increase the
excitation current until it reaches 95% of XRMS. For a system with a heavy load or a large moment
of inertia, the Settling Window Time and the Search Velocity are adjusted to allow the axis enough
time to move and settle.

4.2 Absolute encoder commutation scheme


Absolute encoders are encoders that retain their position, even after power cycles. For this type of
encoder, the commutation angle is retrieved automatically after power up. This commutation angle
is valid only after completing an initial commutation setup through the Adjuster Wizard. Absolute
encoders are useful for stages that require to be homed multiple times and for a stage carrying a
vertical load.

4.2.1 Adjuster Wizard setup with absolute encoder

The procedure for setting up commutation with an absolute encoder is the same as A Detent Point
except for selecting Current Absolute Position for commutation scheme. Refer to "Adjuster Wizard
setup with detent point" on page 25 for the procedure.

4.2.2 Changing feedback position before commutation


If the feedback position was changed prior to commutation, the encoder must be reinitialized by
setting
E_TYPE(‘axis’) = E_TYPE(‘axis’) in the Communication Terminal. Otherwise, a run-away condition can
occur upon power up. This is due to the fact that the adjuster wizard does not account for changes
in the position offset, EOFFS, while retrieving the commutation angle. The default EOFFS at power
up will be different than the one used by the user. If the encoder range is less than 32-bit, EOFFS at

Version 1.10 34
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

power up is 0. If encoder range is larger than 32 bits, EOFFS is a non-zero value based on the DSP
overflow.

In SPiiPlus ADK Suite v2.30, this flaw has been corrected and additional safety measures
implemented to prevent a run away condition.

4.3 Hall commutation scheme


For some applications, such as a heavy vertical load, a hall sensor is a reliable option for finding the
commutation angle. When using a hall sensor with all ACS products, an initial setup must be
completed using the Adjuster Wizard. Once the setup is complete, the drive uses trapezoidal
commutation at the start of each power cycle until a hall state transition is reached. Afterward, the
controller automatically switches to encoder based sinusoidal commutation for better
performance.

4.3.1 Hall sensor compatibility


It is important to note that not every ACS product supports hall sensors. Table 4-1 lists the number
of available hall inputs per axis.
Table 4-1. Number of hall inputs per axis

Product Number of hall inputs per axis

SPiiPlusCMHP /BA three sets of three

SPiiPlusCMHV one set of three

SPiiPlusCMNT two sets of three

SPiiPlusNT/DC one set of three

SPiiPlusSANT-LT/HP one set of three

Version 1.10 35
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

Product Number of hall inputs per axis

UDMHP /BA three sets of three

UDMHV one set of three

UDMLC one set of three

UDMMC one set of three

UDMNT two sets of three

UDMPC two sets of three

UDMPM two sets of three

NPMPC one set of three

NPMPM one set of three

4.3.2 Adjuster Wizard setup with hall sensors


The setup procedure for the hall sensor is very similar to A Detent Point.
1. Open up the Adjuster Wizard and select the appropriate axis. See step #1 and step #2 in
Adjuster Wizard setup with detent point.
2. In the Adjuster Wizard Select Task window, select Components > Feedback > Motor
Feedback. The Components: Feedback: Motor Feedback window opens.

3. Select HALL SENSORS. The hall sensor dial is displayed.

Version 1.10 36
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

There should be six hall states in total counting from 0 to 5. The direction of the signal
does not matter. If the hall signal rotates in the opposite direction of the current, the
Adjuster Wizard will automatically account for it.

4. Verify that the hall sensor is working by manually rotating the motor. The diagram shows
the expected hall state transitions.

In all SPiiPlus MMI Application Studio versions up to 2.29.04, the hall sensor dial does not
work properly. The dial only captures the hall state the moment the check box is
enabled. See Hall state signal verification for an alternative method for verification.

5. In the Adjuster Wizard Select Task window, select Axis Setup and Tuning > Commutation.
The Axis Setup and Tuning: Commutation window opens.

6. Select Hall Signals Transition in the RETRIEVE COMMUTATION PHASE AT field drop down list.
7. Select Start Commutation Program.

8. In the Adjuster Wizard Select Task window, select Save to Flash. The Save to Flash prompt
is displayed.

Version 1.10 37
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

9. Check / Uncheck all desired options.


10. Select Save.

4.3.3 Troubleshooting tips


If hall commutation fails, there are several methods for diagnostics.

4.3.3.1 Hall state signal verification


One method is to verify that all hall states from 0 to 5 are present in the system.
1. Enter ?SLSTHALL(‘axis’) or ?GETCONF(262, ‘axis’) in the Communication Terminal in the
SPiiPlus MMI Application Studio. The hall states are displayed.

Version 1.10 38
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

2. Manually move the motor. If the command returns -1, this indicates an invalid hall state.

3. For each invalid hall state, use a multimeter to measure the voltage level on each channel.
Table 4-2 lists the expected logic level for each hall state.
Table 4-2. Expected logic level

Hall state A channel B channel C channel

0 Low Low High

1 Low High High

2 Low High Low

3 High High Low

Version 1.10 39
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

Hall state A channel B channel C channel

4 High Low Low

5 High Low High

4.3.3.2 Hall commutation bit


If the motor cannot be enabled because of ERROR 3261: MOTION CANNOT START BECAUSE
BRUSHLESS MOTOR IS NOT COMMUTATED, check to see if the hall sensor bit is set for that axis.
1. Enter ?MFLAGS(‘AXIS’).27 in the COMMUNICATION TERMINAL.

2. If the command returns 0, this indicates that the hall sensor is disabled. In this case, rerun
the setup in the Adjuster Wizard see Adjuster Wizard setup with hall sensors.

4.3.3.3 Inverting hall signal


If the hall signal is counting the opposite direction from the encoder, the direction can be reversed
by entering MFLAGS(‘AXIS’).28 = 1 in the communication terminal.

Usually, this is performed by the Adjuster Wizard during the initial setup.

4.4 Additional commutation schemes


In addition to A Detent Point, Absolute Position, and Hall Signal Transition, there are other schemes
for commutation in the Adjuster Wizard.
Table 4-3. Additional commutation schemes

Scheme Process

First Index in Position 1. Moves to two detent points in the positive direction
Direction 2. Searches for index mark in positive direction

Version 1.10 40
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

Scheme Process

3. Stores commutation angle at index mark

1. Moves to two detent points in the negative direction


First Index in Negative
2. Searches for index mark in negative direction
Direction
3. Stores commutation angle at index mark

1. Moves to two detent points in the positive direction


2. Continues moving until it hits the right hard stop
First Index Next to right
hard stop 3. Moves away from hard stop and searches for index
mark in negative direction
4. Stores commutation angle at index mark

1. Moves to two detent points in the positive direction


2. Continues moving until it hits the right limit switch
First Index Next to right
limit switch 3. Moves away from hard stop and searches for index
mark in negative direction
4. Stores commutation angle at index mark

1. Moves to two detent points in the negative direction


2. Continues moving until it hits the left hard stop
First Index Next to left hard
stop 3. Moves away from hard stop and searches for index
mark in positive direction
4. Stores commutation angle at index mark

1. Moves to two detent points in the negative direction


2. Continues moving until it hits the left limit switch
First Index Next to left limit
switch 3. Moves away from hard stop and searches for index
mark in positive direction
4. Stores commutation angle at index mark

Powerup Position 1. Retrieve the commutation at the power up position

Powerup Position in the Adjuster Wizard is not currently available. See Manual
commutation for details on setting up the commutation angle manually.

For the index schemes, the motor moves by hard pulling the current vector until the index mark
triggers. Then, the controller stores the commutation angle in SLCORG. It is important to note that
SLCORG is not retrieved automatically. The stage needs to be commutated using the COMMUT
command and moved to the index mark. The purpose of this scheme is to reuse the same
commutation offset each time. This is useful for high friction stages, where the COMMUT command
cannot provide reliable results. For some stages, the only way to performa an encoder

Version 1.10 41
Commutation with ACS Drives Application Note
4. Commutation through Adjuster Wizard

commutation is to move the stage using stepper mode until the index mark is reached and then
set the commutation angle. The following is an example for setting SLCORG.

IST(AXIS).#IND = 1 ! Reset Index Mark for latching


IST(AXIS).#IND = 0
ENABLE AXIS ! Enable Motor
IF ^MFLAGS(AXIS).#BRUSHOK ! Commutate motor if it's not already
COMMUT AXIS
TILL MFLAGS(AXIS).#BRUSHOK, 2000
END

JOG AXIS, + ! Jog motor to search for index


TILL IST(AXIS).#IND; HALT(AXIS) ! Stop motor
SET FPOS(AXIS) = FPOS(AXIS) - IND(AXIS) ! Set feedback position
PTP/E AXIS, 0 ! Move back to origin

SETCONF(214,AXIS,SLCORG(AXIS)) ! Set commutation angle

Version 1.10 42
Commutation with ACS Drives Application Note
5. Quick commutation

5. Quick commutation
To do a quick commutation use the COMMUT command. COMMUT retrieves the commutation angle
by sending three short current pulses to the motor and measuring the feedback response each
time. When using COMMUT, the entire commutation process takes less than two seconds and the
net movement of motor is a fraction of an electrical cycle. For these reasons, it is recommended to
commutate a motor using COMMUT in place of a full commutation scheme using A Detent Point.
COMMUT is done using closed-loop control. This requires the control loop to have at least 30 Hz of
bandwidth and proper stability (minimum 6dB gain margin, 30 degrees phase margin).

Using COMMUT requires a properly tuned motor.

5.1 Troubleshooting tips


Whenever COMMUT fails, there are two possible error messages.

Error code Error message

5101 Autocommutation failure (phase error)

5102 Autocommutation failure (position error)

5.1.1 Error 5101: phase error

Version 1.10 43
Commutation with ACS Drives Application Note
5. Quick commutation

5.1.1.1 Using COMMUT before axis is set up


One possible reason for receiving Error 5101 is that commutation using the COMMUT command was
attempted before an initial setup is complete. If the axis is not properly configured, then the drive
is not able to adjust the current vector.

5.1.1.2 Controller gains


Another reason for Error 5101 is that the axis is using unstable tuning gains. The COMMUT command
works only if the axis has sufficient bandwidth and stability margins. To verify this, run a FRF
analysis on the axis. Generally, ACS recommends a minimum phase margin ≥ 30° and a gain margin
≥ 6 DB. The following is an example of a system with unstable controller gains.

Alternatively, monitor the SP VARIABLE: COMMUTATION OFFSET during COMMUT to verify the
commutation result. For a system with loose tuning gain, the step response from each pulse is a
long settling time and often undershoots as shown in the scope below. In this case, increase, the
Settling Window for the COMMUT command.

Version 1.10 44
Commutation with ACS Drives Application Note
5. Quick commutation

The bode plot below shows an example of an axis with loose tuning gains.

For a system with stable tuning gains, the step response overshoots and converges quickly. The
following scope shows this behavior.

Below is the corresponding bode plot for the stable tuning gain example.

Version 1.10 45
Commutation with ACS Drives Application Note
5. Quick commutation

For an overly aggressive tuning gain, the step response oscillates. This is a good indicator of
instability.

The system above has a phase margin less than 30° and a gain margin less than 8 db, as shown in
the bode plot below.

Version 1.10 46
Commutation with ACS Drives Application Note
5. Quick commutation

5.1.1.3 Excessive excitation current


Another possible reason for Error 5101 is excessive excitation current. This is common for low
friction system such as air bearing or cross-roller stages. The large excitation current causes the
stage to limit cycle. In this case, it is recommended to lower the excitation current from the default
value of 98% of XRMS to prevent oscillations. For example, entering COMMUT 3, 10 to the
Communication Terminal will limited the excitation current to 10% of the drive peak.

5.1.2 Error 5102: position error

Error 5102 is normally caused by an axis moving or being held in place while running using COMMUT.

5.1.2.1 Vertical axis


The most common scenario when Error5102 occurs is using COMMUT on a vertical axis without a
counter-balance. The weight of the axis overcomes the response generated by the current pulses
used in the commutation. This, in turn, creates a large position error in the measurement. If the axis
is using a brake, this behavior is characterized by the axis failing as soon as the motor is enabled.

Version 1.10 47
Commutation with ACS Drives Application Note
5. Quick commutation

The motor cannot provide any holding force/torque until the motor has finished commutating. In
this case, it is recommended to use hall sensors or to manually commutate the motor as detailed in
Manual commutation.

5.1.2.2 High friction stage


A system with too much friction, requires an excitation current higher than XRMS to generate a
motor response. Specify the excitation current parameter in the COMMUT command.

Specifying an excitation current higher than XRMS does not generate an over current
fault. The duration of each pulse is shorter than the time constant used to set off the
fault.

5.1.2.3 Air bearing stages


For air bearing stages, COMMUT fails as a result of drift. This is eliminated by using dynamic braking
or simply waiting until the stage settles before issuing the command. An alternative is to run the
stage in stepper mode and look for the commutation at the index mark.

5.1.2.4 Hardstop
Although it is rare, error 5102 can also occurs by running the COMMUT command against a hard stop.
In this case, simply move the axis away from the limits before issuing the command again.

5.2 Repeatability
To ensure an axis has a “good” commutation angle, the user should verify that range of deviation
for the commutation angle is acceptable. For example, the following are results recorded at the
index mark for various COMMUT commands.

Version 1.10 48
Commutation with ACS Drives Application Note
5. Quick commutation

Figure 5-1. Repeatability

As shown in Figure 5-1, the commutation angle is different each time. However, as long as the
angle is within ±10°, there will be no noticeable drop in performance.

5.3 Optimization
A “bad” commutation angle is characterized by a reduction in the torque/force for a given amount
of current. For example, using various commutation angle offsets at the index mark, the following
are results recorded for a rotary axis jogging at 3600°/sec. Using the commutation angle obtained
from the COMMUT command, the measured current command averages out to be 2.41% of drive
peak, as shown by CH3 in the scope below.

Version 1.10 49
Commutation with ACS Drives Application Note
5. Quick commutation

By offsetting the commutation angle offset by 45°, running the same jog motion requires 1.6 times
the current required previously (3.86%).

For an even larger commutation angle offset (> 90°), the axis runs away. This triggers an
overcurrent or critical position error after enabling.

Version 1.10 50
Commutation with ACS Drives Application Note
5. Quick commutation

To optimize the commutation angle, the angle is set to a known location at each power up.
Afterward, SLCOFFS is adjusted until the current output is minimized for a given motion profile. If
desired, monitor the current output, the current command, or phase q current on the scope.

Version 1.10 51
Commutation with ACS Drives Application Note
6. Manual commutation

6. Manual commutation
In the event that commutation through the Adjuster Wizard cannot succeed due to a heavy load or
limited travel, then the axis can be manually commutated by sending a static current to the motor
or setting the commutation angle directly.

6.1 Static current method


The following steps are used in the static current method.
1. The drive sends a static current vector to the motor.

2. The motor aligns with the current vector.

3. The commutation angle is shifted 90° from the detent point and the motor is disabled.

4. The static current is turned off and the motor is re-enabled.

Version 1.10 52
Commutation with ACS Drives Application Note
6. Manual commutation

The following ACSPL+ code is used to implement the static current method and can be run directly
from the SPiiPlus MMI Application Studio Program Manager. Set the value of AXIS, Q_TURN, STEP_
SPEED, and S_CURRENT according to the user application.

Before running the commutation program, the user should verify that the encoder
and drive output is positive and in the same direction. If setting a positive DCOM value
causes the motor to move opposite of the expected direction, the drive output is
inverted by setting MFLAGS(AXIS).#INVDOUT = 1. Otherwise, the motor will run away as
a result of bad commutation.

INT AXIS;
REAL Q_TURN, STEP_SPEED, S_CURRENT;

AXIS = 3; !SET AXIS TO COMMUTE


Q_TURN = 60; !SET TO DISTANCE OF 1/4 TURN OF THE ELECTRICAL CYCLE OF
THE MOTOR
STEP_SPEED = 360; !SET TO AN APPROPIATE VERIFICATION SPEED
S_CURRENT = 5; !SET AN APPROPIATE STATIC CURRENT LEVEL

MFLAGS(AXIS).#INVENC = 0 !CORRECT FOR DRIVE/ENCODER INVERSION


MFLAGS(AXIS).#INVDOUT = 0

DISABLE(AXIS)
MFLAGS(AXIS).#BRUSHOK = 0; !TURN OFF COMMUTATION BIT
DCOM(AXIS) = S_CURRENT; !SEND A CONSTANT DRIVE COMMAND INTO THE
MOTOR
ENABLE(AXIS); !ALIGN FIELDS

WAIT 2000; !WAIT FOR MOTOR TO SETTLE


PTP/RVE AXIS,Q_TURN,STEP_SPEED; !MOVE SLOWLY 1/4 ELECTRICAL CYCLE
WAIT 2000; !WAIT FOR MOTOR TO SETTLE

MFLAGS(AXIS).#BRUSHOK = 1; DISABLE(AXIS); !SET COMMUTATION


DCOM(AXIS) = 0; !RESET CONSTANT DRIVE
COMMAND
ENABLE(AXIS);
STOP;

6.2 Setting commutation angle


If the stage always starts at a known location (e.g. at the bottom of a vertical axis), set the
commutation angle manually. However, this method only works if the commutation angle is
already known at that location. One way to obtain the angle is by doing an initial setup with the
Adjuster Wizard without the constraint that is causing the commutation to fail. Another way is
determine the angle through trial and error. The following steps are written for the case in using
the Adjuster Wizard without the constraint.
1. Commutate the axis without the constraints (e.g. load, housing)
2. Move the axis to the power up location

Version 1.10 53
Commutation with ACS Drives Application Note
6. Manual commutation

3. Retrieve the commutate angle by entering ?GETCONF(214,’AXIS’) in the Communication


Terminal.

4. Verify that MFLAGS(‘AXIS’).#BRUSHOK is true.

5. After a power cycle, the commutation angle will change and the BRUSHOK bit is set to 0.
6. Set the commutation angle manually by entering SETCONF(214,’AXIS’, ‘PREVIOUS VALUE’ -
90) and setting MFLAGS(‘AXIS’).#BRUSHOK = 1. This 90° offset is required, because the
commutation angle is shifted 90° whenever the BRUSHOK bit is set.

If the commutation is working correctly, use AUTOEXEC to set the angle after each power cycle.

Version 1.10 54
Commutation with ACS Drives Application Note
7. Gantry commutation

7. Gantry commutation

At the beginning of each power cycle, the motors in a gantry pair have to be commutated
separately. This is accomplished by turning off MFLAGS(‘AXIS’).#GANTRY for each motor and
enabling them one at a time for commutation. The commutation process is exactly the same as one
for a single motor. The only difference is that the controller gains will be different operating in
gantry and in non-gantry mode. For this reason, the user should keep the two sets of gains readily
available. See SPiiPlus True Gantry System Support Application Note for more detail.

Version 1.10 55
1 Hataasia St
Ramat Gabriel Industrial Park
Migdal Ha’Emek 2307037 Israel
Tel: (+972) (4) 654 6440 Fax: (+972) (4) 654 6443

Contact us: [email protected] | www.acsmotioncontrol.com

You might also like