Hardware and Software Implementation of Sensorless ... - IEEE Xplore

7 downloads 72 Views 1MB Size Report
injection of a voltage pulse in the d-axis of the motor while the q-current is kept ..... curve and P the offset that is almost equal the initial d-current id(rej)' However,.
Hardware and Software Implementation of Sensorless Rotor Temperature Estimation Technique for Permanent Magnet Synchronous Motor Martin Ganchev1, Christian KraP, Thomas Wolbank2,

lAustrian Institute of Technology, Vienna, Austria 2Vienna University of Technology, Vienna, Austria Abstract - The paper focuses on the hardware and software implementation estimation Machines

of

a

technique (PMSMs).

novel for The

sensorless

Permanent method

rotor

temperature

Magnet

Synchronous

requires

an

intermittent

injection of a voltage pulse in the d-axis of the motor while the q-current is kept zero. The slope of the resulted d-current response reflects a given saturation level of the machine stator steel core which is distinctive for a given magnet temperature. Since this is a strongly non-linear relationship, a look-up-table (LUT) for the motor is required. In order to capture correctly the current derivative, a synchronous oversampling of the d­ current along the voltage pulse duration is required. The paper demonstrates

a

suitable

hardware

setup

and

software

integration of the method into a common field oriented space vector control.

Index

Terms-magnet

temperature,

rotor

temperature,

permanent-magnet synchronous motor, saturation effects

I.

INTRODUCTION

The most widely-used type of rare-earth magnet m Permanent Magnet Synchronous Motors (PMSMs) is Nd2Fe14B, an alloy of neodymium, iron, and boron. The magnet characterized with big maximum energy product (BHmax) and relatively high intrinsic coercivity (He;). The remanent flux density Br of a sintered neodymium magnet can reach up to lAT. For comparison, ferrite or ceramic magnets typically exhibit fields of 0.5T to IT. Although the Nd2Fe14B is the world's strongest commercially available magnet, its thennal characteristic are relatively unfavorable for a PMSM since Br decreases as the magnet temperature increases. In aircraft or electric and hybrid electric vehicle applications, where PMSMs are widely used, the machine operating temperature can vary between -40°C and 150°C. In this temperature range Nd2Fe14B can experience variation of the magnetization level of more than 20%. The process is reversible as long as the demagnetizing force does not reach the area of the magnet intrinsic coercivity. Reversibility means that Br will grow to its original value when the temperature is reduced again. Under operation, a decrease of the rotor flux linkage due to temperature dependent demagnetization effects will lead directly to a lower electromagnetic torque output in the machine, [I]. In torque control, this can be compensated by a flux observer or indirectly when the temperature of the magnets is known, however more current is required. The knowledge of the

978-1-4673-1372-8/12/$31.00 ©2012

IEEE

magnet temperature has a safety aspect as well. The magnet intrinsic coercivity Hei depends on the temperature itself since its absolute value decreases as the magnet temperature increases. Thus, the magnets become vulnerable to irreversible demagnetization upon short circuit currents in the machine. The temperature of the magnets can be obtained by direct measurements or indirectly by identification of the motor parameters. Direct measurements require specific instrumentation and in many cases severe intervention on the motor. Some common techniques include battery powered devices [2]-[10], infrared sensors, [11]-[13], and slip rings, [14],[15]. In general, the equipment for direct rotor temperature measurements is rather expensive and their application is limited to laboratory and experimental setups. Recently, there have been significant efforts to develop techniques to estimate the rotor temperature in PMSM without using temperature sensors, as this is an economic and safety issue. Such techniques have been already reported in various papers. The most common approach is model based. Thermal models require good knowledge of the geometry, cooling system and the material specific parameters. Their application is rather limited to industrial usage with known environmental and operating conditions. Thermal modeling of PMSM is discussed in [16]-[23]. An algorithm to estimate rotor temperature by using flux observer is successfully presented in [24]. This method requires an accurate modeling of the nonlinearities of the inverter. The nonlinear relation between current and flux is defined by look-up-table (LUT). An approach based on high frequency signal injection is demonstrated in [12] and [13]. This method investigates changes in the high frequency stator and rotor resistances due to temperature variation and concludes indirectly the temperature level in the pennanent magnets. In this context, the work demonstrates a hardware and software implementation of a novel temperature-sensorless technique for temperature estimation of the permanent magnets of a PMSM. The main idea of the method is to detect changes in the degree of saturation in the d-axis of the machine which is caused by variation in the magnetization level of the permanent magnets. These changes are reflected in the slope of the d-current response upon a voltage pulse in the d-axis of the machine. For the purpose the d-current

should be oversampled during the voltage pulse duration so that a current derivative can be estimated. A simplified hardware implementation with a single floating point Digital Signal Processor (DSP) is demonstrated. Programming issues are addressed together with integration into a conventional field oriented space vector control (FOSVC). II.

magnets, Wr is the speed of the rotor reference frame with respect to the stator reference frame, and Ld and Lq are the inductances in the d- and q-direction of the machine respectively. Equation (5) is then decomposed in its real and imaginary components:

ANALYTICAL ApPROACH OF THE PROPOSED METHOD

Although the definition of the method has been already reported in [25], for sake of integrity, the analytical formulation is given here again. In a rotating machine the proposed method requires the knowledge of the rotor position, since a voltage pulse is applied in the d-axis while measuring the d-current id of the motor. The saturation level of the machine stator steel core experiences the highest effect of the permanent magnet magnetization level in its d-axis. This setup implies on the one hand the highest dependency of the d-current slope did/dt from the permanent magnet magnetization level and on the other hand did/dt is not directly influenced by the back electromotive force. In a common three-phase two-level bridge inverter, a voltage pulse can be generated in the pure d-axis of the machine by a corresponding switching pattern when the angle between the stator and rotor reference frames eel equals one of the 6 basic space vectors angles (eel 0°,60°,120°, 180°,240°,300°). For the sake of clarity, for the defmition and implementation of the method eel 0° is considered, as shown in Fig. 1. In a rotating machine, the voltage pulse is applied in phase a of the machine such that the electrical rotor position gets zero (eel 0°) in the middle of the pulse, as depicted in Fig. 2. The angles (eelO' eell) between the rotor and stator reference frames at the time instant of the beginning to and the end tJ of the pulse for a given machine with p pole pairs depend on the speed n[rps] and the voltage pulse width tp\V[s], and can be calculated as follows:

Fig. I. Voltage pulse injection in the d-axis of the machine at Bd=O°.

=

=

=

e elO - e ell

_

-

3600pntpw 2

.

(I)

As long as the eelO and eell are kept small, the following relationships for the stator voltage and current components are fulfilled during the voltage pulse: Ud "" Ua; uq "" up; id "" ia; iq "" ip.

(2)

Assuming star connection of the motor, upon a voltage pulse injection in the d-axis, the voltage applied on the motor terminals has the following components: Ud "" ua

2

=

'3VdC

(3)

o.

(4)

Uq "" up

=

'3Vdc

=

Rs(id + jiq) + jWr1/Jm +

Equation (6) and (7) describe the momentary state of the machine when the rotor and stator reference frames are aligned. It is a subject of the condition that the q-current is zero (iq(to) 0), before the voltage pulse is applied on the machine. Thus, the inductance in the d-axis of the motor is not influenced by the load current iq and cross-coupling effects can be neglected. The proposed method exploits the resulting relationship from (6). By neglecting the stator resistance voltage drop, equation (6) becomes =

Ld Ld

I

I =

2

did

dt

=

(8)

'3Vdc

dLd. - ' ld + Ld d ld

.

(9)

Ld' depends on the d-axis saturation level of the machine

Thus, the motor voltage equation in the dq-rotor reference frame can be written as follows:

2

Fig. 2. Voltage pulse injection in a rotating machine; visualization of the relative displacement of the d-axis along the voltage pulse duration.

d dt

(Ldid + jLqiq),

(5)

where Vdc is the inverter dc voltage, Rs is the stator resistance, 1/Jm is the flux linkage produced by the permanent

which is in tum influenced by the magnetization level of the permanent magnets and the d-current excitation. According to (8), by directly measuring the d-current slope did/dt, variation of Ld' can be detected. Thus, did/dt will change upon changes in the magnetization level of the magnets and can be used as indicator for the magnet temperature Tm. Since (9) has a non-linear character, a distinctive relationship between did/dt and Tm for a given machine is established by

a LUT. This is identified during a commissioning phase by direct measurements of Tm and did/dt. Direct rotor temperature measurements can be substituted by using general purpose environmental chamber where the entire machine can be heated-up at several reference temperatures while measuring the d-current responses upon voltage pulse injection at standstill. Another approach implies maintaining a constant stator temperature in the machine by a temperature controller that provides the reference values for the current controller. After the machine reaches thermal equilibrium, it can be assumed that the rotor temperature is almost equal the stator temperature. This approach is easy to implement, since stator temperature sensors are meanwhile state-of-the-art in modem machines. TTT.

METHOD SOFTWARE IMPLEMENTATION AND INTEGRATION INTO FOSVC

In general, the proposed routines for magnet temperature estimation are independent of the applied motor control strategy. It the following, the method integration into a conventional field oriented space vector control is demonstrated. It implies two additional software routines that are integrated into the existing control software: a Voltage Pulse Generator routine (VPG) and a Current Slope Estimation (CSE) routine. A.

Voltage Pulse Generator (VPG)

Upon magnet temperature estimation, the VPG is responsible for the generation of the voltage pulse in the d­ axis of the machine while the q-current is kept zero. In a rotating machine the proposed method requires the knowledge of the rotor position, since the d-axis of the motor should be continuously traced. Detecting the d-axis is confmed to predicting the moment when the electrical rotor position equals zero (Bel 00). The electrical rotor position for the next PWM period is estimated with respect to the middle of the voltage pulse according to the following calculation: =

(10)

the voltage pulse. The integration of the VPG algorithm into a conventional FOSVC is demonstrated in the Fig. 4. As soon as the q­ current gets zero, a software routine within the VPG, called d-axis tracer, forces interruption of the running control routine when the predicted angle between the rotor and stator oriented reference frames gets zero (Bel 00). In the following PWM period, the VPG takes the control on the inverter switching signals by applying a switching pattern, as shown in Fig. 1, for the time duration of the voltage pulse tpw. Upon completion, the control is given back to the FOSVC routine. The voltage pulse width tpw defines how long the FOSVC is interrupted. It is chosen according to the machine inductivity. Furthermore, according to (1), the voltage pulse width tpw is limited by the motor maximum operating speed and the motor pole pairs, since these parameters determine the maximum deviation (BelO' Bell) between the rotor and stator reference frames at the time instant of the beginning to and the end tJ of the pulse, see Fig. 2. It is desirable to keep tpw small possible in order to guarantee the assumptions made in (2). By varying the initial d-current id(refJ different initial saturation levels in the d-axis of the motor can be set before the voltage pulse is generated. An initial d-current id(ref) for a given pulse width (tpw=constant) provides the most sensitivity when the deviation of the d-current slopes did/dt at two different temperatures is the highest. This is normally the case, when the stator core starts to saturate in the d-axis. =

:

BeI(n.l)

,

BeI(n)

j t-PWM"1 ,. ��tp,.r ;=::U magnet

V

'"

i

:

i

Control routine space vector

i

:

i

Control routine space vector

'b

'

,

,

i

�c

...-__ ---,

Control routine space vector

=

TDT

e el(n) =

-

e el(n-l)

i ia

measurements

i

Fig. 3. Time scheduling of the control algorithm and the voltage pulse generation upon magnet temperature estimation.

start command

Voltage Pulse Generator (VPG)

em

PWMprd

The last term in (10) accounts for the inverter dead time tm. Furthermore, it is assumed that change in the machine speed from one PWM period to the next is negligible (Mel(n+l) Mel(n». It is supposed here that the pulse width modulation (PWM) is symmetrical. Then the voltage pulse is generated in phase a such that Bel is expected to become zero at the middle of the pulse, as shown Fig. 3. In a 3-phase symmetrical machine, the d-current id is actually the phase current ia at Bel 00. In order to determine the d-current slope, the phase current ia is oversampled synchronously to

,

1111111111111111 1111111111111111111111

where lle el(n)

I:::

=

q=/3 FOSVC routine (torque / speed)

d=a inverter

motor

=

Fig. 4. Integration of the pulse generation routine into a FOSVC.

B.

Current Slope Estimation (CSE)

The sensitivity of the proposed method depends strongly on the correct estimation of the slope of the d-current response did/dt. Therefore, it is important to obtain an accurate and smooth curve of the phase current ia during the voltage generation. This requires oversampling of all phase currents along the voltage pulse in order to eliminate eventual common voltages when the measured signals are affected by noise. The quantitative evaluation of the slopes of the obtained ia current curves is realized by linearization using polynomial interpolation:

yet)

=

Sat + P,

(11)

where Sa represents the estimated slope of the curve and P the offset that is almost equal the initial d-current id(rej)' However, a good linearization can be achieved only if there are an adequate number of current samples and sufficient computing power available for the interpolation algorithm. In the present investigation, with the proposed hardware implementation, the motor currents are sampled along the voltage pulse at a fixed rate of 500ns. The computing time of the CSE routine depends strongly on the number of samples to be used in the interpolation algorithm which means that CSE will have a variable executing time depending on the voltage pulse width tPIf' Therefore, the CSE routine is programmed with the lowest priority so that it does not interrupt the main control routines, as shown in Fig. 5. The CSE routine is triggered by a software interrupt generated upon completion of the VPG.

c o

� :;::;

.§ tt

.0£ CIl I-Ol

j�i:�:�/":1:,,:/"::,�,: / I

/"::,, :/"::,, :� : 'PWMT me ' �nterrup� l Task1

I

Task2

Task3

; , BackgroUrd

I I

torqu� control routine

I II i

VPG

I I

!

s�eed control routine

t



�oftwar

;

I

I I

I II

� jn�errupt �pon pulse

generation completion

current slope estimation routj e

;

I

rCSEt

I

I I Time [iJs)

Fig. 5. Task scheduling of the control routines and the current slope estimation routine (CSE).

IV.

an additional Field Programmable Gate Array (FPGA). Furthermore, the ADC triggering and read events are not governed by the CPU but from the DSP peripherals solely. The proposed hardware setup is demonstrated in Fig. 6. The output signal of an on-chip CAP (Capture Compare) unit, programmed in this case as a PWM unit, triggers the ADCs channels simultaneously every 500ns during voltage pulse generation. The same signal is used to trigger the Direct Memory Access controller (DMA) which together with the External Memory Interface (EMIF) peripheral read the sample data and moves this to an array in the DSP internal memory without interrupting the CPU. The exact timing of the signals is demonstrated in Fig. 7. The used analog digital converter is ADS8422 with 4MSPS. The ADC has a conversion time of 225ns, which is the time between the trigger event and the instant when the data is ready to be read by the DSP. All ADC channels are triggered simultaneously on the falling edge of the CAP signal. The rising edge of the same signal starts the DMA controller, which needs 230ns to initiate the first read event to the EMlF. Consequently, the EMIF needs 50ns to move the data to the DMA controller which in tum needs 90ns to store the data into the internal memory and initiate a new read event for the next ADC channel. Although the whole ADC read process takes 560ns for all three channels, due to the ADC conversion time, the data is not overwritten and it doesn't come into a conflict with the ADC triggering period of 500ns. The CAP timer is simultaneously started with the PWM timer for the inverter switching signals so that the motor currents are synchronously sampled to the beginning of the voltage pulse generated upon magnet temperature estimation procedure.

B I

It

Internal memory

J[

StH signal

r--;:::::!

I



DMC

DSP IMPLEMENTATION

The proposed temperature estimation technique together with the motor control embedded software is deployed on a single floating point DSP, TMS320C6747. The advantage of the C6747 is that it provides relatively high computing power, big internal memory, on-chip Pulse Width Modulation (PWM) peripheral for a space vector control of three-phase inverter and on-chip encoder logic peripheral for a rotor position sensor. The Analog Digital Converters (ADCs) are the only external part of the hardware setup, since the C6747 does not have internal ADC channels. The main advantage of the hardware setup with respect to the proposed method is the ability to sample synchronously up to three ADC channels at a sample rate of 500ns without using

CAP (working as PWM)

I----' I---

EMIF

address lines 16

TMS320C6747



bit parallel data bus

ADC1

ADC2

ADC3

Fig. 6. Block diagram of the implemented connectivity between the ADCs and the DSP. CAP

�.------ 500n s,-----� ......

DMC triggering (n)

'i

230nS---i:- ,' ADC conversion time ADe I SfH(n) �225ns-�

EMIF

ADC data(n) gets available

!

ADC SfH(n+1)

I



I

Fig. 7. Time diagram of the ADCs sample and read events.

V.

EXPERIMENTAL RESULTS

0.55

In the following, an experimental verification of the proposed rotor temperature estimation method IS demonstrated for a speed FOSVC. The voltage pulse width for the temperature estimation procedure is chosen to be equal the PWM period, tpw=PWMprd. This is indeed a good criterion since this is the simplest way from hardware and software point of view to integrate the voltage pulse generator in an already existing control algorithm. For the experimental setup, the PWM frequency is set to 20KHz which means tpw=50IlS. Once tpw is defmed, identification of the d-initial current id(rej) can be realized under the condition to reach best possible sensitivity of the d-current response upon changes of the magnet magnetization level. For a voltage pulse width tpw=50IlS, the d-current slope differences for two magnet temperatures (Tm=20°C and Tm=60°C) are depicted in Fig. 8 as a function of the id(rej)- As the results show, for the machine under tests good sensitivity can be expected when the initial d-current is between id(retJ=O.3pu and id(retJ=O.35pu. For further experimental validation id(ret)=O.3pu is chosen here. It should be noted that the value of id(ret), at which the curve from Fig. 8 runs through a pick, depends predominantly on the machine design and more precisely on how strong the stator core saturates in the d-axis. In case of weak saturated machines id(retJ can be even higher than for the motor under test while for strong saturated machines, a good method sensitivity can be achieved at id(ret;=O. For online magnet temperature estimation, the relationship between did/dt and the magnets temperature Tm must be known. In general, this is a non-linear relationship that is established for a given machine by direct measurements of did/dt as a function of Tm under predefined method operating parameters (tpw and id(ret)). For id(rej)=O.3pu and tpw=50IlS the d-current responses for the motor under test are depicted in Fig. 9 for various magnet temperatures. The obtained LUT is listed in Table T where the slope estimation is realized according to (11). Once the motor is indentified at standstill, the resulted LUT can be used straightforward for a rotating machine, since the d-current slopes is considered independent of the speed according to (8). G C