SinCos encoder
SinCos encoders are angular encoders that modulate the shaft motion in the absence/presence and the frequency of two analog sine signals in quadrature (hence a sine and a cosine). In spite of the nuisance that supposes not working on digital signals directly for the controlling element, the fact that the signals have a continous range of values allows the controller to obtain an arbitrary level of resolution on the measurement, hence compensating the additional computational costs with improved resolution.
EMCL accepts SinCos encoders as a means to close the position loops, and provides a large amount of customization options to allow the motion control system to exploit the SinCos encoder to its optimal resolution and performance.
SinCos configuration
The number of SinCos cycles per revolution (or magnetic pole pitch for linear motors) has to be defined to get adequate position resolution and correct commutation. This parameter can be set by the register:
0x608F; 0x01 - Encoder increments - Position encoder resolution. This register determines the number of SinCos cycle per Motor Revolution or Magnetic Pole pitch (linear motors).
0x608F; 0x02 - Motor revolutions - Position encoder resolution . This register determines the number of motor revolutions for the number of encoder increments. In the most cases its value is 1, but for SinCos encoders with a small number of SinCos cycles per Motor Revolution or Magnetic Pole pitch (linear motors), it is useful the increasing of this value to get more precision.
Example
If a SinCos encoder has 1,2 SinCos Cycles per Magnetic Pole pitch for a linear actuator, it is not possible to set the appropriated encoder increments value without modifying the motor revolutions:
- Motor revolution = 1 --> Encoder increments = 1. There is an error of 0.2 cycles.
- Motor revolution = 10 --> Encoder increments = 12. There is no error.
Additionally, an interpolation technique is applied to increase the resolution of the SinCos encoder cycles. This technique can be configured by the next register:
- 0x2354 - SinCos multiplier factor. This register determines the resolution per SinCos cycle.
Therefore, the final position resolution per magnetic pole pitch or revolution is:
SinCos calibration
Sometimes the SinCos encoders produce minor signal anomalies or inaccuracies, due to manufacturing deviations and other causes. The registers shown below, allow users get the driver SinCos readings to check the SinCos signal waveform:
- 0x2350 - SinCos values. This parameter shows the read values from the SinCos encoder.
0x2353 - SinCos estimated angle. This parameter shows the resultant angle of the rotor, estimated from the SinCos readings.
If the SinCos signals waveforms are deformed, the next registers help to correct these imperfections in order to get an ideal response of these feedbacks:
0x2352 - SinCos gains. This parameter is used to correct the amplitude differences between SinCos signals.
- 0x2351 - SinCos offsets. This parameter is used to correct the offset differences between SinCos signal amplitudes.
SinCos as commutation feedback
SinCos encoder is able to measure the rotor electrical angle if a phasing process is executed before the first movement. If there is an absolute reference available (like an SSI encoder), then no forced method is required.
SinCos as reference feedback (Analog halls 90 º)
Some actuator manufacturer includes analog halls signals with a phase shift of 90º (instead of 120 º) which it cycle matches with one electrical revolution. The electrical singals of this sensor is usually the same as standard SinCos encoders, so they can be measured by the SinCos interface of the Ingenia drives. Furthermore, as they contain the absolute information of one electrical revolution, the SinCos interface can be configured as reference sensor, allowing avoid initial movement for phasin purposes.
Related objects
0x608F - Position encoder resolution
0x2354 - SinCos multiplier factor