Optical or magnetic sensors for position and angle sensing in motion control systems generally provide sine and cosine signals for conversion. The 90° phase shift between sine and cosine allows determination of the position or angle within the 360° input cycle, as well as the direction of rotation or movement. For resolutions in the micrometer or sub-arc minute range, precise interpolation of the sine and cosine signals is necessary. This sine/cosine-to-digital conversion (SDC) can be performed in several ways, either in hardware or software. For high-precision results, the quality of the signal conditioning and of the S/D conversion is of major importance. In the following, several SDC (interpolation) methods are analyzed and compared, and accuracy results are discussed.
Sensor Signal Path with S/D Conversion
Sensors in electronic position and angle measurement work on optical, magnetic, inductive, or capacitive principles. Optical sensors with LED light source and code disc are very common, as are magnetic GMR/AMR/Hall sensors using a dipole magnet or multi-pole wheel . As shown in Figure 1, these sensors usually provide a sine and a cosine signal directly. Because they do not always provide perfect sine/cosine signals, the sensor outputs must be conditioned before interpolation to allow high accuracy results. The goal of this conditioning is to provide - as nearly as is possible - sine/cosine waves with equal amplitude, zero offset, and precisely 90° phase shift. Programmable gain amplifiers (PGAs) and/or lookup tables are often used to provide the required amplitude balancing (gain correction), offset compensation, and phase correction.
Typically, a Z sensor defines the zero position for position/angle measurement and its pulse output is sampled using an adjustable comparator. If no Z sensor is available, the interpolator can define the zero position as well . In this case, the zero position can be set anywhere within the 360° input sine/cosine cycle to generate the Z output at a user-defined position or angle.
The interpolator implements the S/D conversion and outputs its result via one of several output interfaces. This digital output can be read directly by a local microcontroller or transmitted via line drivers to a remote control system.