Method EndStop¶
This method uses an user-configurable end stop signal, for example the Event signal of a ‘tracking error limit’ or ‘control output saturation’ exceeded event. Optionally an index pulse can be configured. Required configuration for method EndStop describes the inputs that are required to have a connected signal for this method to operate. If the end stop signal is active, the direction is reversed and the end stop signal should become inactive again. If an index pulse is configured, the search for the rising edge of the index pulse starts after the end stop signal becomes inactive. The position of the end stop is stored in signal TriggerPosition for position B. The UserOffset signal is used to modify the HomeOffset.
After the home position has been found, the HomeOffset is updated as follows:
HomeOffset = - HomePosition + UserOffset
Note
In EndStopA homing, the direction is not reversed when the end stop signal is active. However, a quick stop is performed when the home position is reached. This means that the demand position extends beyond the end stop, which will cause the control output to grow and possibly saturate. The control loop is briefly opened and closed to reset the demand position to the actual position, so that the tracking error becomes zero. Furthermore, this also resets the state of the feedback controller.
Attention
Opening and closing the loop can have unintended side effects for some types of systems. In particular, any axis that requires a steady-state control output, for example to compensate for gravity or a flexure guide, might get large control transients when resetting the feedback controller. It is not recommended to use EndStopA homing for these kinds of systems.
Method EndStop (for positive home direction)¶
Home pos |
Input name |
Signal |
---|---|---|
A |
EndStop |
Event signal representing end stop. |
B |
EndStop |
Event signal representing end stop. |
IndexPulse |
Actual signal of index pulse. |
Controller saturation¶
EndStopA homing can result in controller saturation issues. The sections below illustrate possible causes and explain how to address this risk.
Elastic endstop¶
The home position is determined based on a trigger such as the tracking error limit exceeded event or control output saturation exceeded event. Holding the axis in this position typically requires a control output unequal to 0, which can potentially lead to saturation problems.
Rigid (hard) endstop¶
Noise can cause the axis to be in the endstop even after opening and closing the loop (as done for Homing method EndStopA). As a consequence, this can cause controller saturation problems.
Tip
- There are some good practices to reduce the risk for saturation problems:
Temporarily reduce the MaximumVelocity, MaximumAcceleration, MaximumJerk and CoutSaturationLimit, to make sure that the maximum currents remain as low as possible during homing
Decreasing the control gain in combination with strict tracking error/control output saturation limits is not recommended, this may cause false positives during the homing movement, resulting in a wrong home position
Signals¶
The signals for this homing method are given in Homing signals for Method EndStop.
Name |
Data type |
R/W |
Description |
---|---|---|---|
HomeDirection |
Enum |
RW |
Direction of initial movement, see Homing directions for possible values. |
HomeVelocity |
Float |
RW |
Velocity used in state Homing for last move towards the desired home position. 0 \(\le\) HomeVelocity \(\le\) DemandVelocityLimit. The MaximumVelocity is used if set to 0. |
InitialVelocity |
Float |
RW |
Velocity used in state Homing for all moves except the final move towards the desired home position. 0 \(\le\) InitialVelocity \(\le\) DemandVelocityLimit. The MaximumVelocity is used if set to 0. |
TriggerPosition |
Double |
R |
Trigger position as stored during homing, relative to coordinate system after successful homing, used for method EndStopB. |
Run exceptions¶
The EndStop homing method can fail with the run exceptions given in Homing run exceptions for method EndStop.
Run exception |
Description |
---|---|
TimeoutException |
The configured timeout was exceeded. |
AbortedException |
The homing procedure was aborted due to one of the following reasons:
The exact abort reason is given by the exception message available via the RunException property on the Homing interface. |
OutOfResourcesException |
No commands available during homing procedure. |