Sensorless PMSM Drive for Dishwasher Pump Using Freescale MC56F8006 Device 2/2
ROTOR POSITION AND SPEED ESTIMATION
Generally, the “estimator” is defined as a dynamic system that estimates state variables. There are basically two forms of the estimator implementation: open-loop and closed-loop. In the case of the closed-loop estimator, the error between estimated and measured state variables is used as a correction term to adjust the response of the estimator. The closed-loop estimator is also referred to as an observer.
The back EMF observer is based on an estimation of the electromotive force. The back EMF model includes both the induced voltage from conventional back EMF (rotor magnets) and induced voltage from the stator inductance. This allows us to estimate the rotor position using an estimation of the back EMF. This approach has a limitation at low speeds because the back EMF signal is very low, or almost zero, and the observer diverges. When the minimum operating speed required for valid estimations is reached, the back EMF observer estimates rotor position, and thus can be used as a feedback signal for the vector control algorithm. The minimum operating speed (voltage) threshold for correct observer operation depends on motor construction, and must be calculated from motor parameters or tested directly on the motor.
The observer algorithm processes the following equations resulting from the mathematical model of the PMSM:
where s = d/dt (the differential operator), ke is the back EMF constant, and re is the electrical angular speed.
The observer itself estimates the phase currents and back EMF values. The estimated current is compared to the measured one, and an error is fed back to the observer structure as a correction signal. This keeps the observer stable and convergent, so the state variables will approach the real values. The back EMF observer can be put into the following form:
where
are the estimated stator current values expressed in the stator reference frame,
are estimated back EMF voltage values, F1(s) and F2(s) are error minimization strategies of the difference between estimated and real current. The block diagram of the back EMF observer is shown in Figure 3.

Figure 3. Block Diagram of Back EMF Observer
The back EMF observer outputs two components,
. These two signals yield information about the rotor position. The rotor electrical position, which translates to the rotor shaft angle, can be determined by an inverse tangent function of the two inputs from the extended back EMF estimates. This method results in an unfiltered value for the rotor angle without speed information.
Another widely used approach for the estimation of the rotor position and speed is generally known as an angle tracking observer. By employing an angle tracking observer, noise on the position estimate can be filtered out. Another advantage of the angle tracking observer algorithm is that it also yields a rotor speed estimate as part of the algorithm. Figure 4 depicts the structure of the angle tracking observer.
Figure 4. Block Diagram of Angle Tracking Observer
CONTROL ALGORITH IMPLEMENTATION
The vector control technique with rotor position and speed estimation algorithms based on the back EMF observer and the angle tracking observer has been implemented with a Freescale MC56F8006 device.
There are three control loops controlling the speed, torque, and flux. The control algorithms are executed in prioritized interrupt service routines. The inner control loops are most critical (q-current and d-current), and are executed every 125us. The outer control loop (speed) is executed every 1ms. The inner control loops must not be interrupted, which is ensured by assigning them appropriately high interrupt priority levels. This method simplifies the design of the application framework, allowing the interrupt routine priorities to be automatically managed by the processor. The vector control algorithm processes the following analog signals:
Three motor phase currents (ia, ib, ic). These signals are measured using three shunt resistors installed on the low side of each of the three inverter circuits.
DC Bus voltage.
At any given instant just two of the three phase currents are measured, and the third one is calculated. The current is visible on the shunt resistor when the corresponding bottom transistor is switched on. The window within which the current can be measured depends on the duty cycle of generated PWM control signal, so we need to start an ADC conversion process at an appropriate, precise instant. This difficult task is accomplished via specifically designed hardware implemented in the MC56F8006 DSC. The PWM module generates configurable synchronization pulses which can input into the programmable delay block (PDB). The synchronization pulses are then processed by the PDB module, and output directly to trigger the ADC module, enabling precise, synchronized control of ADC measurements. This synchronization mechanism is processed by hardware, without any software intervention. The software only need to read the ADC result registers. The application described here utilizes this feature, and converts six analog signals every 125 us. The ADC module consists of two independent 12-bit ADC converters that can be configured to run sequentially, simultaneously or in parallel. To sample the phase currents, ADC measurements are taken on two phases at the same time using the simultaneous operation mode. This yields an accurate, instantaneous measurement from which all three phase currents can be extracted. Since the back EMF observer does not run from zero speed, the rotor is aligned by driving the motor to a known state (phase), so we know the initial rotor position. Then an open loop startup algorithm is applied to accelerate the motor to a speed where the back EMF observer gives accurate feedback results. Switching from an open loop startup to closed loop control is done smoothly.
A picture of the dishwasher pump solution running is shown in Figure 5, and the Freescale MC56F8006 based inverter solution is shown in Figure 6.

Figure 5. Running Dishwasher Pump Demo

Figure 6. 3-Phase Inverter with Freescale MC56F8006 Device
CONCLUSION
The solution implemented for this dishwasher pump is structured in such a way that the algorithm is easily adapted to different motors. The control system has been thoroughly tested throughout the operational speed and load torque range on a test bench and in an actual dishwasher. The application meets requirements of dishwasher producers, and will be published on Freescale’s website as a reference design.
Read also: Sensorless PMSM Drive for Dishwasher Pump Using Freescale MC56F8006 Device 1/2
by Jaroslav Lepka, Freescale Semiconductor, Inc.
CONTACT REQUEST
If you want to know more about this Freescale product, please submit your request to Arrow Italy using this form.
NOTE: this form is valid ONLY for Companies or Customers based in Italy and working in the Italian area.
- Ionela's blog
- 497 reads





Post new comment