Certain encoders, such as quadrature encoders, are incremental and do not provide absolute position. To use an incremental encoder in a position application, a known reference position must be established. This position is called the Home position. The process of determining the home position is called Homing. As the encoder is rotated, it increments or decrements the position from the initial home position, and thereby the position is obtained.
When an axis is homed, the Actual Position of the axis is changed. The Target and Command positions are also adjusted by the same amount. Therefore, the motion of the axis will not be affected. It is safe to home an axis when it is moving.
The RMC offers homing of quadrature, incremental SSI, and incremental Resolver axes. All are described in this topic.
How to Home an Axis
This section describes the basic steps for homing a quadrature axis using the Home input and/or the Z (Index) pulse as the home trigger. The RMC has many options for homing; for more details, see the rest of this topic.
Note: If you are using the Z pulse, it is important to specify the Z Alignment before homing. See the Using the Z Trigger section below.
Arm the Home
In order to perform homing, the home must first be armed. This means that the RMC will be looking for the specified trigger to occur, and when it occurs, will set the Actual Position to the specified position.
To arm the home, issue the Arm Home (50) command. This parameters for this command are:
Home Position:
This is the position to which the Actual Position will be set when the specified trigger occurs.
Trigger Type:
This is the trigger that the RMC will wait for. This is either the Home Input (select rising or falling), or the Z Input, or a combination thereof.
Repeat mode:
This specifies whether the homing should occur every time the trigger occurs, or only once.
Home Input:
Specifies which input will be used as the Home input.
When the axis is armed, the Home Armed status bit will be set. This bit can be viewed in the Axis Status Registers All tab, in the Home section.
Move the Axis Until it Homes
Move the axis so that it reaches the specified trigger, such as the Home input or Z pulse. To move the axis, use any motion command you wish. Typically, a Move Velocity works well. When the specified trigger occurs, the Actual Position will be set to the specified position. The Target and Command Positions will be adjusted by the same amount that the Actual Position was adjusted, and the motion will therefore not be affected.
When the home has occurred, the Home Latched status bit will be set and the Home Armed status bit will be cleared. If the Repeat Mode parameter was set to Repeat, both the Home Latched and the Home Armed status bits will remain set. These status bits can be used in a user program to check that the home has occurred. The Home Input status bit also shows the current state of the home input.
When the home has occurred, issue a command to stop the axis or move it to some desired location.
Quadrature Homing Details
This section gives more detail on homing a quadrature axis.
Trigger Types
The following trigger types are available on quadrature axes.
# |
Trigger Type |
Description |
Valid for |
||
RMC75 |
RMC150 |
RMC200 |
|||
0 |
H Rising |
Trigger a Home on the rising edge of the Home Input. |
|||
1 |
H Falling |
Trigger a Home on the falling edge of the Home Input. |
QAx, Q1 |
Quad, UI/O |
Q4, D24, U14 |
2 |
Z |
Trigger a Home on the Index (Z) Input. |
QAx |
Quad |
Q4, D241, U14 |
3 |
Z And H |
Trigger a Home on the Index (Z) Input if the Home Input is high. |
QAx |
Quad |
Q4, D241, U14 |
4 |
Z And Not H |
Trigger a Home on the Index (Z) Input if the Home Input is low. |
QAx |
Quad |
Q4, D241, U14 |
1 For the ABZ option only.
Using the Home Input (Trigger Types 0 - 1)
The Home input is defined as follows:
Feedback Type |
Home Input |
Home input on the axis connector. |
|
RMC75 Q1 Module |
Reg input on the axis connector. |
Universal I/O Module quadrature input |
Corresponding Reg n input on the module. |
RMC200 Q4 |
The associated Home input or Reg input. Selection is made in the Home Input parameter of the Arm Home (50) command. |
RMC200 D24 quadrature input |
Any of input 16-23, depending on the quadrature option, and defined by the Home Input parameter of the Arm Home (50) command. |
RMC200 U14 quadrature input |
Selection is made in the Home Input parameter of the Arm Home (50) command: For channel 0: Reg/Z0 or D0. For channel 1: Reg/Z1 or D1. |
When the home is armed and the Home Input trigger occurs, the exact counts at the time the trigger occurred are latched. This position is used as the physical home position. The Actual Position at this location is set to the requested Home Position as specified by the Arm Home (50) command. The Command Position and Target Position will be offset by the difference between the new and old Actual Positions.
On quadrature axes, the counts are latched within a very short time and are therefore typically very accurate (depending on the encoder resolution, of course). For details on the latching time, see the propagation delay specification for the I/O module. To obtain an accurate trigger, the direction and speed should be the same each time the axis is homed. This is because proximity switches have delays and hysteresis.
Using the Z input (Index Pulse) (Trigger Types 2 - 4)
The Z input is available on the RMC75 QA1 and QA2, RMC150 Quad, RMC200 Q4, RMC200 U14 and the RMC200 D24 module in certain modes.
Homing with the Index (Z) pulse is the most accurate method of homing. When the home is armed and the Index (Z) pulse of the encoder is encountered (with or without the Home Input, depending on the trigger type), the Home is latched. When this occurs, the Actual Position at the location of the Z pulse is set to the Requested Position as specified by the Arm Home (50) command. The Command Position and Target Position will be offset by the difference between the new and old Actual Positions.
In order to achieve the most accurate homing with the Index (Z) pulse, you must issue the Learn Z Alignment (54) command when setting up your axis. This command sets the Index (Z) Home Location parameter. Once this parameter is set correctly, you can home with the Index (Z) pulse in any direction, at any speed, and the home will always occur at the exact same position on the encoder. See the Learn Z Alignment (54) topic for details.
Linear Positioner Homing Tips
When using a quadrature encoder on a linear positioner, the axis must be homed to retain absolute positions. This is easiest if the proximity switch controlling the Home input is placed at one end of the travel (for example, in the retracted position); this will be the home position. This is a typical procedure for homing a linear positioner:
Arm the homing by issuing an Arm Home (50) command with a Trigger Type of H Falling.
If the axis is at an unknown position:
Retract until the Home Input status bit is ON. This can be done with a Move Velocity command. Then, extend until the Home Input status bit is OFF. When the Home Input status bit turns off, the axis will home and the Home Latched status bit will be set.
If the axis is already retracted:
If the axis is already retracted, the Home Input status will already be ON and the axis needs only extend as described above. When the axis is shut down, it should be retracted until the Home Input status bit is ON. This way the axis need only extend a small amount to be homed on startup.
Disarm Home
To disarm the home manually, use the Disarm Home (51) command.
Explicit Homing
The following command set adjusts the axis position without needing a Home or Z input:
Offset Position (47)
This command adds the requested Position Change to the Actual, Target, and Command Positions.
Set Target Position (48)
This command sets the Target Position to the requested Position, and adjusts the Command Position, and Actual Position by the same amount as the Target Position changed.
Set Actual Position (49)
This command sets the Actual Position to the requested Position, and adjusts the Command Position and Target Position by the same amount as the Actual Position changed.
Why Bother?
Explicit homing is useful when the operator physically measures something on the machine and needs to make an adjustment to the positions.
Explicit homing can de done on any axis type, not just those with incremental feedback.
Homing SSI and Resolver Axes
SSI and Resolver axes give absolute positions, and therefore, homing them is not necessary. In certain applications, these axes types can be set up as incremental, and can be homed. Homing SSI axes is not supported on the RMC200.
SSI and Resolver Homing Trigger Types
The following trigger types are available on SSI and Resolver axes. The axis must be set to incremental.
# |
Trigger Type |
Description |
Valid for |
||
RMC75 |
RMC150 |
RMC200 |
|||
0 |
H Rising |
Trigger a Home on the rising edge of the Home Input. |
SSI* |
|
none |
1 |
H Falling |
Trigger a Home on the falling edge of the Home Input. |
SSI* |
|
|
2 |
Z |
Trigger a Home on the Index (Z) Input. |
SSI* |
SSI*, Resolver* |
|
3 |
Z And H |
Trigger a Home on the Index (Z) Input if the Home Input is high. |
SSI* |
|
|
4 |
Z And Not H |
Trigger a Home on the Index (Z) Input if the Home Input is low. |
SSI* |
|
|
5 |
Absolute Adjust |
On the rising edge of the Home Input, the zero Raw Counts point of the SSI encoder is set to the requested Home Position. |
SSI* |
|
|
6 |
Absolute Adjust |
On the falling edge of the Home Input, the zero Raw Counts point of the SSI encoder is set to the requested Home Position. |
SSI* |
|
|
7 |
Absolute Adjust |
The zero count point of the SSI encoder is set to the requested Home Position immediately when this command is issued. |
SSI* |
SSI*, Resolver* |
Using the Home Input for SSI and Resolver Axes (Trigger Types 0 - 1)
The Home input for SSI and Resolver axes is defined as follows:
Feedback Type |
Home Input |
Defined by the SSI Home Source parameter (RMC75 only). |
|
No Home input is available on Resolver inputs. |
When the home is armed and the Home Input trigger occurs, the exact counts at the time the trigger occurred are latched. This position is used as the physical home position. For SSI and Resolver axes, the counts are only read once per control loop, so the time to latch can be up to one control loop (500μs to 4000μs).
Using the Z input for SSI and Resolver Axes (Trigger Types 2 - 4)
The Z pulse for SSI and Resolver axes is defined as follows:
Feedback Type |
Home Input |
The zero Raw Counts position of the encoder. |
|
The zero Raw Counts position of the resolver. |
For incremental SSI and resolver inputs, the Index pulse is given by the point when the Raw Counts cross zero (0). This will trigger a home in the same way that the index (Z) input will. However, there is no Learn Z Alignment parameter and no need to issue the Learn Z command.
Notice that for high-turn-count multi-turn SSI encoders, the Raw Counts may cross zero very infrequently. Therefore, homing with trigger types 2-4 on an SSI encoder is typically only useful for single-turn encoders.
Using the Absolute Home Latch (Trigger Types 5 - 7)
When the home is armed and the specified home trigger occurs, the Actual Position for the SSI axis is adjusted such that the Actual Position at zero Raw Counts of the SSI or Resolver will be set to the requested Home Position as specified by the Arm Home (50) command.
Notice that trigger type 7 will perform the homing immediately when the command is issued. Trigger type 7 is supported by the SSI and Resolver, but trigger types 5 and 6 are supported only by the SSI.
See Also
Registration | Arm Home (50) Command | Disarm Home (51) Command
Copyright © 2024 Delta Computer Systems, Inc. dba Delta Motion