Encoder - Incremental Encoder Parameters

ID Label Type #Val Min Max Attr Description

10220

Incremental encoder hardware configuration

Int16

 

 

 

 

Incremental encoder hardware configuration. The bit definitions are defined as follows:

   bit 0:2 - Index qualification of A/B/Z signals.  The controller determines that an encoder zero index has occurred whenever the values of the A/B/Z level signals match the qualification pattern specified by this parameter. When this match occurs, the corresponding encoder value is latched and made available in the "Motor position at index" (DataID 12220).  There are a total of 8 possible index qualification patterns based on the A/B/Z level signal polarities:
          0 = L, L, L
          1 = H, L, L
          2 = L, H, L
          3 = H, H, L
          4 = L, L, H
          5 = H, L, H
          6 = L, H, H
          7 = H, H, H
   bit 3 - Disable quadrature error detection, 1 = disable
   bit 4 - Enable encoder filter, 1 = enable (default)
   bit 5:8 - If bit 4 is set, these bits specify how much digital filtering is to be applied to both the A and B encoder channels.  The more filtering that is applied, the more noise will be rejected and the noise immunity of the encoder signals will be increased.  However, as the filtering is increased, the maximum permitted counting rate of the encoder is reduced.  The following values indicate the recommended filter setting for various maximum encoder count rates (encoder counts/sec).  If the noise is very short, the setting can be increased by one.  If the noise is long in duration, the setting may have to be decreased by one or more.  If the filtering is too strong or the noise cannot be filtered out, the encoder will generate quadrature errors.

         b0000 - 8,000,000 encoder cnts/sec
         b0001 - 5,333,333 encoder cnts/sec
         b0010 - 4,000,000 encoder cnts/sec
         b0011 - 3,200,000 encoder cnts/sec
         b0100 - 2,666,667 encoder cnts/sec
         b0101 - 2,000,000 encoder cnts/sec
         b0110 - 1,600,000 encoder cnts/sec
         b0111 - 1,333,333 encoder cnts/sec
         b1000 - 1,000,000 encoder cnts/sec
         b1001 -    800,000 encoder cnts/sec
         b1010 -    533,333 encoder cnts/sec
         b1011 -    400,000 encoder cnts/sec
         b1100 -    320,000 encoder cnts/sec
         b1101 -    250,000 encoder cnts/sec

By default, this value is set to b1000 (1M counts/sec). Note, to use settings from b1000 to b1101, the FPGA firmware must be version 2.x or higher.

10221

Index skew count limit, mcnt

Int32

 

 

 

 

Accumulated index skew counts limit.  Normally, if all encoder counts are accurately detected, then the change in encoder counts between consecutive indices is a constant. However, if there are missing encoder counts, then the position of a successive index would start to skew. To detect this error, the skew amount at every index is accumulated and an error is generated if the accumulated value exceeds this limit.

During the homing process, this limit is temporarily set to 0. This ensures that the index is right on.

Recommendation
: This value should be set to a small value, typically 5 counts (system default). The side-effects of losing encoder counts are:

   - axis starts to lose position, and the application fails
   - motor starts to lose its commutation reference and lose strength. This could trigger either an envelope error, or a duty cycle error

10222

Index noise spikes limit

Uint32

 

 

 

 

Maximum allowed number of noise spikes detected on the encoder index line per encoder revolution. The purpose of this parameter is to allow the system to be more or less immune to noise on the encoder index line when it occurs between the valid index signals. This limit value should not be set too high, since excessive encoder noise should always be corrected to ensure proper operation. From the hardware standpoint, the user should pay special attention to the motor/encoder grounding, and/or the layout of motor wires and encoder wires.

Recommendation: This value should be small, typically 4, which is the system default.

10223

Index increment for variable index encoder

Uin32

 

 

 

 

This parameter is used if the incremental encoder has a varying index delta. That is, rather than having the distance between index marks be a fixed number of encoder counts, the number of encoder counts between indices varies. Typically, this is found on a linear scale where the distance between adjacent index marks increases by a fixed amount. This allows the axis to move a short distance and determine its absolute position. By setting this parameter to the incremental number of additional encoder counts between adjacent indices, the servo’s can continue to perform a level of index verification. The default value is “0”.

10227

Number of repeat hall signal reads

Uin8

 

 

 

 

This parameter is for encoders, such as the Tamagawa reduced wiring incremental encoder (Encoder type 47), that transmit a hall sensor reading on the ABZ incremental encoder signals when the encoder is powered up.  This parameter defines the number of times the hall state is read.  For the Tamagawa encoder, the first read occurs 7 msec after the high impedance state terminates and subsequent reads occur at 2 msec intervals.  For the default value of 3, the total read time is 11 msec, which corresponds to the minimum hall signal output time for this encoder (22 msec +/- 11 msec).  Too many reads will cause a -3 error code to be set in DataID 12226.