Method WakeAndShake

The WakeAndShake alignment method injects current on different commutation angles, which causes relatively small movements in the system. These movements are detected, and the WakeAndShake method determines the absolute electrical angle based on the directions of these movements. This approach results in less movement in the system compared to other alignment methods. This section describes the phases and visualizes the movement detection procedure in Indication of the relevant signals when the WakeAndShake alignment completes.

  1. Wake phase: The following steps describe how the Wake phase determines a \(0.5 \pi\) wide search range (on the unit circle) in which the absolute electrical angle is located.

    1. The Movement detection procedure is executed twice. First with AngleOffset 0 ,then with AngleOffset \(0.5 \pi\).

    2. If no movement was detected during both movement detection procedures, then an AbortedException is thrown.

    3. If movement was only detected for an angle offset equal to 0, then an extra movement detection procedure is executed for an AngleOffset of \(\pi\).

    4. If movement was only detected for an angle offset equal to \(0.5 \pi\), the movement detection procedure is repeated with an AngleOffset of \(1.5 \pi\).

  2. Shake phase: The following steps describe how the Shake phase iteratively reduces the search range to find the absolute electrical angle.

    1. The Movement detection procedure is executed with the AngleOffset value set in the middle of the search range, according to a bisection search algorithm.

    2. If movement larger than ThresholdAngle is detected, the current AngleOffset value is set as new LowerBound/UpperBound of the search range, depending on the direction of movement found in the previous step. The next iteration (step 2.a) is started with the new search range.

    3. If no significant movement is detected, or if the search range is smaller than ThresholdAngle, then the alignment will be considered successful. The procedure is completed by setting the IsAligned flag to True.

Note

  • It is assumed that the motion system has enough friction to slow down by itself.

  • The alignment error is not calculated.

  • If movement larger than the DeltaAngle is detected during any step, an AbortedException is thrown.

Movement detection

Movement detection procedure:

  1. Ramp: The demand current is ramped in RampTime seconds from LowCurrent to HighCurrent until significant movement is detected or HighCurrent is reached.

  2. Hold: The demand current is kept at HighCurrent until significant movement is detected or HoldTime is exceeded.

  3. Wait: The TheWakeAndShake method sets the demand current to zero and waits MoveTime seconds for the system to stop moving.

Note

A movement is considered significant if it exceeds ThresholdAngle.

Indication of the relevant signals when the WakeAndShake alignment completes

Indication of the relevant signals when the WakeAndShake alignment completes

Signals

The signals applicable for this method are given in Alignment signals for method WakeAndShake.

Alignment signals for method WakeAndShake

Name

Data type

R/W

Description

ThresholdAngle

Float

RW

Angular [rad] threshold for movement detection.

DeltaAngle

Float

RW

Maximum angular [rad] movement during alignment. Ignored when set to zero.

HighCurrent

Float

RW

Maximum current used during alignment.

LowCurrent

Float

RW

Current that doesn’t result in motion (optional).

RampTime

Float

RW

Current ramp time [s].

HoldTime

Float

RW

HighCurrent hold time [s].

MoveTime

Float

RW

Time [s] to wait for the system to stop moving after the current injection.

Run exceptions

The WakeAndShake alignment method can fail with the run exceptions given in Alignment run exceptions for method WakeAndShake.

Alignment run exceptions for method WakeAndShake

Run exception

Description

TimeoutException

The configured timeout was exceeded.

AbortedException

The alignment procedure was aborted due to one of the following reasons:

  • Axis left state Operation enabled, e.g. to Fault, during alignment procedure.

  • No movement larger than ThresholdAngle was detected, while it was expected.

  • A movement larger than the DeltaAngle limit was detected.

The exact abort reason is given by the exception message available via the RunException property on the Alignment interface.