Spanish Italian
17436 Users    

Sensorless PMSM Drive for Dishwasher Pump Using Freescale MC56F8006 Device 2/2

  Download PDF version of the Article

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:

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:

back_EMF_observer

where estimated_stator_current_valuesare the estimated stator current values expressed in the stator reference frame, estimated_back_EMF_voltage_valuesare 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.

Block Diagram of Back EMF Observer
Figure 3. Block Diagram of Back EMF Observer

The back EMF observer outputs two components, estimated_back_EMF_voltage_values. 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.

Block Diagram of 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.

Running_Dishwasher_Pump_Demo
Figure 5. Running Dishwasher Pump Demo

 3-Phase Inverter with Freescale MC56F8006 Device
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.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
13 + 6 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Who's new

  • pulper
  • mauriss
  • jbares
  • christiank79
  • agabor
  • fabriziopd
  • irenix
  • pepershoe
  • raghun14
  • andreaspousette

Who's online

There are currently 0 users and 62 guests online.