• No results found

Modified Synchronous Current Regulator

4.5 Field-Oriented Control Strategy

4.5.3 Modified Synchronous Current Regulator

The controller presented here uses a modified synchronous current regulator designed to minimize processing power requirements. It does so by explicitly separating the control effort into two loops: a fast loop for generating PWMs and a slow loop for executing current control.

Within these loops, further optimization is achieved with efficient software methods. The modified synchronous current regulator is shown in Figure 68. For the standard synchronous current regulator, see Section 2.3.5 and Figure 18.

Figure 68: The modified synchronous current regulator used in this controller. It replaces the inverse Park transform with a simpler sine wave generator with phase advance.

In the fast loop, a sine wave generator replaces the inverse Park transform. The sine wave generator is based on a look-up table, and the index in the table is driven by rotor position.

However, the controller is designed to work with motors that only have Hall effect sensor feedback. (These are motors that would otherwise be controlled by six-step commutation.) The Hall effect sensors produce an absolute position reference, but not with enough resolution to generate smooth sine waves. An interpolation routine fills in the gaps in information, feeding an estimated rotor speed to the sine wave generator that it uses to produce a smooth position estimate. When a new absolute position comes in, it overrides the estimate. More detail on the Hall effect interpolation and sensor fault tolerance can be found in Section 4.5.2.

The fast loop executes at 14.5kHz, the PWM frequency. Thus, it produces new voltage commands every time the PWM is reset. This is the maximum possible update rate and resolution for sine wave generation; anything higher would not be translated into voltage commands. The sine wave generator can produce sine waves with a time resolution of about 69μs. It involves no floating point calculation.

The slow loop runs at 122Hz, much slower than the PWM frequency, but still faster than the mechanical time constants of the system. It contains the Park transform, as well as the d- and q-axis control loops. These are all floating-point operations, which are processor-intensive.

However, the slow loop has much longer (8.2ms) to execute.

Information is passed from the fast loop to the slow loop to make a synchronous current measurement. When the slow loop measures the phase A and B currents, it also latches the

instantaneous rotor position estimate and uses this value for the Park transformation. Even if the Park transformation takes many cycles to complete and the rotor moves during the processing, it is using the latched value of rotor position. This ensures that the current measurement is truly synchronous.

The inputs to the modified synchronous current regulator are unchanged: d-axis reference current is always zero and q-axis reference current is the torque command. Similarly, the two axes have their own independent control blocks. However, the output of these control blocks differs from those of the standard synchronous current regulator. In the standard method, a d-axis and q-axis command were established. Here, the outputs are a magnitude and phase angle for the sine wave generator. The magnitude is a simple scaling operation applied equally to all three PWM outputs.

The phase is just a shift in the look-up table. These are processor-friendly operations that replace the inverse Park transformation in the standard synchronous current regulator.

It is important to note that this modification does actually change the fundamental control dynamics of the synchronous current regulator. Now, torque control is executed solely by adjusting the magnitude of the sine waves while phase control is handled independently.

Assuming the loops are stable, the steady-state operating point is the same, being entirely driven by the references. What will be different is the transient response and command tracking.

Control loop stability may be affected, especially at high angles. This was a concern at first, since the modified controller seemingly couples the d- and q-axis control. Interestingly, though, two were already coupled by the motor inductance, since in either case the reference is current but the controller output is voltage.

Consider the affect of a step in the Iq reference with the standard synchronous current regulator.

The q-axis controller will output an increased Vq. This will, due to motor inductance, show up as both Iq and Id. The d-axis controller will then modify Vd to correct for the extra d-axis current.

These are both occurring “simultaneously,” with at most one control loop delay between a step on Iq and a correction on Vd. So it can still effectively drive Id to zero. But the two controllers are certainly coupled.

The modified synchronous current regulator, on the other hand, takes a step on Iq and outputs an increase in the magnitude of the total voltage vector. Since that vector may already have some phase advance angle from previous control actions, more of the current resulting from this step shows up on the q-axis. The d-axis controller separately modifies the phase advance angle to correct for any d-axis current. In some sense, this is actually less coupled than the standard synchronous current regulator, since it has built-in part of the expected current lag.

A more thorough stability analysis is beyond the scope of this report, but based on the above the modified controller is expected to be at least as stable as the standard synchronous current regulator under the same operating conditions. Testing with a high-RPM RC car motor, discussed in Section 4.7.2, has shown that the modified synchronous current regulator is still effective at high advance angles.