Most stepper motors are used without feedback. They are homed occasionally, but are otherwise expected to go to the position to which they are commanded. However, some applications require verifying that the load is in the correct position. There are three main reasons why the load does not reach or maintain the commanded position:
There is backlash in the gearing between the motor and load.
The load gets pushed or bumped with a force large enough to overcome the motor torque.
The motor is commanded to move faster than it is capable of moving.
The method of compensation for reasons 1 and 2 is very different from the method required for 3. The RMC currently will only compensate for 1 and 2. It is left to the user to make sure that the requested speeds and accelerations are not beyond the motor’s capabilities.
How the Compensation Works
Three parameters control the compensation:
Compensation Rate
This parameter determines the speed at which the axis will try to return to the target position. If the axis is in motion, this rate will be added to the target speed. The compensation rate is only added when the actual position is outside the Compensation or In Position Window as described below. To disable compensation, enter a 0 for this parameter.
Compensation Window
When the axis is not moving, the compensation is applied only when the axis is outside the In Position Window parameter. When the axis is moving, the compensation rate is applied when the actual position differs from the target position by more than the Compensation Window parameter. This window should normally be set to a value greater than the In Position Window, but less than the Following Error Window.
Compensation Timeout
When the axis is stopped outside the In Position Window, compensation will be applied to try to move the it back inside the window. If the axis is not able to move back into the In Position Window in the time specified by the Compensation Timeout parameter, the Timeout bit will be set in the Status word. This bit can be used to trigger a hard stop on the axis, as controlled by the Auto Stop Mask parameter. Do not use the soft stop with this bit, since the axis is already stopped, so the closed loop stop initiated by the soft stop does nothing.
The timeout is only active when the axis is stopped or geared to an axis that is stopped. It does not take effect while moving since the Following Error Window will catch problems at this stage.
A Compensation Timeout of 0 will disable the timeout feature so the Timeout bit will always be off.
Several modes of compensation can be configured using these three parameters:
Disabled
To entirely disable compensation, enter a zero (0) Compensation Rate. The Compensation Window parameter will then have no effect. However, the Compensation Timeout parameter can still be used to turn on the Timeout bit if the axis is not In Position within a specified number of seconds of the Target Position reaching the Command Position.
Disabled When Moving, Active When Stopped
To disable compensation while moving, enter a non-zero Compensation Rate and a large Compensation Window (for example, 65535). You can set the Compensation Timeout parameter as desired. This effectively disables compensation while moving because the error will always be within the Compensation Window, and therefore the Compensation Rate will never be added to the target speed. While stopped, the In Position Window is used instead of the Compensation Window, and therefore compensation will work normally.
Active when Moving and Stopped
Enter a non-zero Compensation Rate. Enter a Compensation Window between the In Position Window and Following Error Window parameters. Enter a Compensation Timeout to fit your needs.
See also:
Copyright (c) 1997-2015 by Delta Computer Systems, Inc.