Alignment

This chapter describes the Alignment interface, which is used to align the magnetic fields of an actuator. The Alignment interface can be retrieved using the GetAlignment method on the Actuator interface.

Overview

Torque is proportional to the sine of the angle between the magnetic field of the stator and rotor and the current applied to the motor:

\[T \propto k I \sin \Theta\]

A 90 degrees (or \(\frac{\pi}{2}\) rad) angle thus obtains the maximum amount of torque per Ampere. Proper alignment of an actuator is desired to maximize torque and minimize heat losses.

The Alignment interface supports multiple predefined alignment methods that are executed using the Start method on the Alignment interface. At the start of each method, the IsAligned signal is cleared. This signal is asserted at the end of successful alignment.

Preconditions

An axis must be in state Operation Enabled at the start of execution of the alignment method and must not be changed by the user, unless stated otherwise. The alignment method fails if this condition is not met. For each alignment method it holds that if the required input(s) is (are) not properly configured, the alignment method cannot be executed.

Alignment methods involving the physical control of an actuator use the actuator demand value to apply a current on an actuator. It is therefore required to not use any (additional) offsets, an active processing block or any other mechanism that influences this signal.

Signals

The generic signals for alignment are given in Generic alignment signals.

Generic alignment signals

Name

Data type

R/W

Description

IsAligned

Bool

R

Alignment status signal.

AngleOffset

Float

R

Angle offset value [rad].

Methods

Alignment methods lists the supported alignment methods.

Alignment methods

Method

Description

None

No alignment method.

AbsoluteAngle

Set a commutation angle offset (the current commutation angle is known).

AbsoluteOffset

Set a commutation angle offset (the current offset is known).

KickAndSwing

Automatically determine the commutation angle offset without verification.

CatchAndMove

Automatically determine the commutation angle offset and verify if successful.

WakeAndShake

Automatically determine the commutation angle offset with a procedure that causes minimal movement.

State machine

Alignment state machine represents the state machine of the alignment implementation and Alignment states lists the possible states.

Alignment state machine

Alignment state machine

Alignment states

State

Description

Idle

No alignment busy.

Aligning

Alignment procedure busy. The active alignment procedure can be aborted by calling the Reset method on the Alignment interface.

Aligned

Alignment procedure completed without error.

Error

Error occurred during alignment. Use the RunException property on the Alignment interface to obtain details regarding the error.

On start of execution of an alignment method, the IsAligned signal is reset. The IsAligned signal is set when an alignment method is completed successfully. The alignment state remains valid (e.g. during top-controller state transitions) unless it is explicitly invalidated. After execution of an alignment method, it is possible to align again.

Sequence diagram

Example alignment sequence shows an example of how to get and use the alignment interface. The example assumes alignment is pre-configured for example using XML configuration.

Example alignment sequence

Example alignment sequence

See also

Alignment

XML configuration example of the alignment interface.