MicroE’s Micro Motion Absolute technology combines the benefits of our small encoder sizes with the ability to acquire absolute position with minimal initial movement.

The Challenge

When an incremental encoder is turned on, the device needs to report accurate location information to the controller. This can be done with a single index mark on the scale indicating the home position for the device. Upon startup, the system will move until the encoder sensor finds an index. Depending on the initial location of the encoder relative to the index, this homing movement could be a long distance, and could take quite a while in situations where high gear ratios are used between the encoder and the motor. This homing movement results in unwanted initial displacement of the device, which depending on the application could cause potential safety hazards for operators of the equipment.

A way to help solve this issue is by using absolute encoders. Absolute encoders know their position right at startup, which saves time and makes for higher efficiency, but these devices are often much larger and can be very expensive.

The Solution: Micro Motion Absolute

MicroE’s Micro Motion Absolute technology combines the benefits of our small encoder sizes with the ability to acquire absolute position with minimal initial movement.

Micro Motion Absolute (MMA) is an OEM solution that combines existing MicroE technology with MMA specific hardware and firmware to allow for the calculation of absolute position with minimal movement at startup. In addition to the incremental main track for position decoding, the scales used with MMA solutions include an additional scale with multiple index marks arranged in a specific pattern across the full range of motion. Information from the index scale is interpreted by the detector and is decoded using MMA firmware, resulting in the calculation of absolute position after a small movement.

How MMA works: the index scale

The index scale has index marks spaced in a particular pattern throughout the entire range of travel. There are many different patterns that can be used to create the index scale, see figure 1

The Index Scale

MicroE MMA technology typically employs distance coded index marks, meaning the spacing between any two consecutive index marks is unique to that pair only. Figure 2 below shows an example of an 18mm OD ChipEncoder grating with distance coded index marks that is used in an existing project. Notice how the separation between index marks gets larger and larger as you travel around the scale clockwise.

MMA Technology

At the end of the path of travel, larger scales will have larger distances between index marks than smaller scales do. The maximum size of the initial homing movement, or “bump,” is equal to the greatest distance between two consecutive index marks. For linear scales, this maximum bump size gets larger when larger scales are used, but for rotary encoders, the maximum bump size in degrees actually decreases when scales with larger diameters are used. See the table below for comparisons between scale size and maximum bump size.

Optical DiameterMax Bump
0.5 inch8.0°
1.0 inch5.4°
2.0 inch3.7°
3.0 inch3.0°
4.0 inch2.6°
Linear TravelMax Bump
50mm1.0mm
100mm1.4mm
500mm2.9mm
1000mm4.1mm
2000mm5.7mm

How MMA Works: The Algorithm

The decoding can be handled in a variety of ways. Typically, at startup the encoder’s position will read all zeros. The encoder will then move while keeping track of the relative position until any two consecutive index marks are crossed.

At that point, the firmware will be able to calculate the absolute position. This process can be carried out either in open loop operation, or closed loop operation with the encoder reporting information on the absolute position, speed, direction, etc. If a customer needs a particular solution, the algorithm can be engineered to meet the specifications required by the customer.

The output signal from the decoding of the index scale is a TTL digital signal which is approximately one period wide. The period is either 20um or 40um wide depending on which sensor model is used. The signal is high when the detector is over an index mark and low when it is not. This digital signal is called the Index Window. The variables in the algorithm are explained below.

APAbsolute position
IWIndex Window signal level
RP Encoder position relative to the position at power up (position 0)
SIIStarting index increment
IIIndex Increment
DIDistance between index marks
RE1Index 1 rising edge
FE1Index 1 falling edge
RE2Index 2 rising edge
FE2Index 2 falling edge
CIP1Index 1 center position
CIP2Index 2 center position

For a distance coded index scale, the spacing between each index mark will have a starting index increment (SII), with each proceeding mark having an additional index increment (II) added to the previous distance between index marks (DI). So the first index is at position 0, the next index is at position SI, the next index is at position SII + II, the next is at position SII + 2*II, etc.

The algorithm for a distance coded MMA scale is as follows:

1. Power up the encoder. The encoder position at power up is position 0. Once the encoder moves, the encoder position relative to position 0 is RP.

2. If the Index Window signal level (IW) is high at power up, move the encoder until the signal goes low.

3. Move the encoder in any direction until there is a transition in IW from low to high and back to low. Record RP for the IW rising edge (RE1) and falling edge (FE1) for index 1.

  • A valid index window width must be between 0.5 * the fundamental period of the encoder and 1.5 * the fundamental period of the encoder. If this is not the case, the signal should be ignored, and the control system should keep searching for the next index signal.

4. Move the encoder in the same direction until there is another transition in IW from low to high and back to low. Record RP for the IW rising edge (RE2) and falling edge (FE2) for index 2.

  • A valid index window width must be between 0.5 * the fundamental period of the encoder and 1.5 * the fundamental period of the encoder. If this is not the case, the signal should be ignored, and the control system should keep searching for the next index signal.

5. Calculate and record the center index position for each of the two index marks (CIP1 and CIP2)

  • CIP1 = RE1 + ((FE1-RE1) / 2)
  • CIP2 = RE2 + ((FE2-RE2) / 2)

6. Calculate the distance between the two index marks (DI)

  • DI = CIP2 – CIP1

7. A table will be provided with each scale which contains the absolute position (AP) in counts for each index mark and the associated DI for each index.

8. The AP of the two index marks may be determined by matching up DI with the closest value in the scale index table.

  • Due to encoder alignment and scale run out on rotary scales, DI will not necessarily match any of the table entries exactly, so rounding to the closest value is valid.
  • The DI should be within the scale index table range (smallest DI in table to largest DI in table) to within +/- 0.5 * II. If it is not within that range, return to step 2 and find two more index signals.

9. Once the AP of the index marks are determined, the AP of the encoder may be determined:

  • Encoder AP = (RP – CIP2) + Index 2 AP
  • It is important that the encoder does not move during this calculation, so the position value of (RP– CIP2) is not variable

Additional robustness may be added by detecting more than two indexes at start up and real time monitoring of the absolute position is possible by continuously monitoring the location of the index marks and comparing the calculated absolute position values to the incremental counter.

Integrating MMA With Your MicroE Encoder

An MMA product requires an MMA scale, a read head with index window output, and decoding software which contains the MMA look up table and converts the position to a serial word. As each customer’s requirements vary, there is no set of standard scales or encoder systems which include MMA technology, requiring that each new application of MMA will be engineered and developed for the specific purpose detailed by the customer.

Any Mercury, Mercury II or ChipEncoder is compatible with MMA without the need for any hardware changes; only a custom scale and custom decoding firmware will be needed. Our FPGA based encoders like the M2000, M3000, M3500, MII5000 or MII6000 would not require any secondary electronics. The firmware would be run using the existing micro, flash memory and FPGA. Non-programmable encoders like the O.P.S., M1000, M1200, M1500, MII1600, MII1900 or CE300 would require secondary electronics which the customer could implement themselves or buy from MicroE.

When considering MMA for an application, consider the following:

  • Is this a linear or rotary axis?
  • How large will the grating be? (linear range travel or desired optical radius)
  • Will the customer or MicroE be providing the decoding?
  • What output format does the customer want? (SPI, BiSS, A-quad-B, Panasonic protocol, etc.)

Conclusion

Micro Motion Absolute provides a cost-effective way to report absolute position at start up with minimal movement by the decoder. MicroE looks forward to evaluating the application to determine if an MMA OEM solution is a fit to the requirements.