Introduction

In the examples to follow, we’ll show how to use the Teledyne LeCroy MDA810 Motor Drive Analyzer with resolver sine, cosine, and excitation frequency signals for calculation of motor shaft speed, angle, and absolute position. Most commonly, these signals are captured along with drive output voltage and current signals or other control system signals for cross-correlation of behaviors and debug of anomalous events.

Resolver Operation

A resolver outputs two analog sinewave signals 90° apart (sine and cosine signals) to convey mechanical rotation and direction information. Stated simply, a resolver is a rotary transformer with one primary winding and two secondary windings that are phased 90 mechanical degrees as shown in Figure 1 below:

A basic, or single-speed, resolver has two poles (one pole pair). The excitation signal is input across R1 and R2 (in the figure above), while output-signal sensing occurs across S1 and S3, and S2 and S4. These output signals appear as shown in Figure 2 for a single-speed, two-pole (or one pole pair) resolver:

For a basic resolver with two poles, one complex sine/cosine pair equals one revolution. The relative angle of the two signals determines absolute rotor shaft angle. For greater accuracy at lower rotational speeds, resolvers with two or more sine/cosine pairs are used.

Calculating Rotor Shaft Speed, Angle, and Position from the Resolver Signals

The MDA810 Motor Drive Analyzer simplifies calculation of the desired values and shows them as time-varying waveforms that are correlatable to other drive output-power signals or control-system events. The MDA810’s highly accurate input channels use 12-bit ADCs, and software in the MDA810 processes the resolver interface signals and calculates the required quantities. Find the detailed formula definitions in the Motor Drive Analyzer Software Instruction Manual (see http://cdn.teledynelecroy.com/files/manuals/motor-drive-analyzer-software-operators-manual.pdf). In summary, the calculations are as follows:

  • The MDA810 calculates the instantaneous angle from the arctangent of the ratio of the sin/cos signals at the amplitude peak of the excitation frequency signal. Angle calculation accounts for the number of rotor-pole pairs. Resulting angle values range from –π/2 to π/2.
  • Conversion of the instantaneous angle value to a 0 to 2π basis (or 0 to 360°)
  • Calculation of the angle over a single excitation frequency (period) as the average of the instantaneous angle values.
  • Calculation of instantaneous shaft speed from the difference in time between two angle calculations and the difference in their respective times, taking into account any gearing ratio present.
  • The average of the instantaneous speed values yields the speed over a single excitation (period). If the angle tracking observer is employed, then additional values are provided.

MDA Setup for Calculations

Figure 3 shows a capture of the resolver sine (M1, or yellow), cosine (M2, or magenta), and excitation frequency (M3, or light blue) along with the MDA mechanical setup dialog. It shows a relatively low sample rate of 250 kS/s using only 1.25 Mpts/Ch of acquisition memory. One may take much longer acquisitions using the MDA’s maximum 250 Mpts/Ch of acquisition memory at sample rates up to 2.5 GS/s (for correlation to higher-speed power or control events).

Note that the MDA Mechanical setup dialog also permits correction of the angle value from the mechanical location of the resolver to that of the rotor magnetic field. Doing so allows direct display of angle as an electrical rotor magnetic field angle value instead of a mechanical resolver/shaft angle. The Offset Angle setting facilitates such a correction (though this is not demonstrated in this example).

After selecting the resolver method, assign M1, M2, and M3 and make appropriate choices for Speed and Angle units and Sync signal. Then, for display of the data shown in Figure 4 take the following steps:

  • Display the MDA Numerics table for the Speed and Angle calculations. The table shows the average value for these measurements throughout the full acquisition, and can be turned on in the MDA’s Numerics dialog.
  • Display per-cycle Waveforms of the Speed (orange, second from the bottom) and Angle (dark pink, bottom) values. These waveforms show the variation of the Speed and Angle values over time and are time-correlated to the original acquisition signals, and are displayed by simply touching the respective cell in the Numerics table.
  • Display the MDA Statistics table for the Speed and Angle calculations. The table shows the number of Speed and Angle values in the full acquisition (39,999) and the min, max, mean, standard deviation, etc. Of the full value sets, and is turned on automatically when a per-cycle Waveform is displayed. 
  • Enable a horizontal (time) cursor that displays an instantaneous value of the Speed and Angle values in the appropriate descriptor boxes.

Note that the use of the angle tracking observer filter settings result in a startup filter delay of ~60 ms. This is to be expected at the beginning of an acquisition. The MDA810’s Zoom+Gate functionality can be used to ignore this startup time, if required.

Conclusion

Modern motor drive-control systems commonly use resolvers or other complex speed, direction, and position sensors, such as quadrature encoder interfaces (QEIs) or brushless DC (BLDC) Hall sensors. Traditional power-analyzer instruments are limited by their interface to only the most basic analog and digital tachometer signals, such as those present on dynamometers located in validation test cells. In contrast, Teledyne LeCroy’s Motor Drive Analyzers permit interface to the modern speed, direction, and position sensors commonly available in engineering designs, with direct calculation of speed and angle information, including correction to electrical (rotor magnetic field) Angle values. Thus, development engineers may debug and validate control system operation more effectively and without the need to instrument the motor and drive into a dynamometer, which may not even be possible at a system level.