Motor control device
Let the rotating axis whose direction coincides with the direction of the current vector that achieves maximum torque control be called the qm-axis, and the rotating axis perpendicular to the qm-axis be called the dm-axis. A motor control device switches its operation between low-speed sensorless control and high-speed sensorless control according to the rotation speed of the rotor. In low-speed sensorless control, the magnetic salient pole of the motor is exploited, and the d-q axes are estimated by, for example, injection of a high-frequency rotating voltage. In high-speed sensorless control, the dm-qm axes are estimated based on, for example, the induction voltage produced by the rotation of the rotor. During high-speed sensorless control, the γ(dm)-axis current is kept at zero irrespective of the δ(qm)-axis current.
Latest Sanyo Electric Co., Ltd. Patents:
This nonprovisional application claims priority under 35 U.S.C. §119(a) on Patent Application No. 2006-177989 filed in Japan on Jun. 28, 2006, the entire contents of which are hereby incorporated by reference.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to a motor control device for controlling the operation of a motor. The present invention also relates to a motor drive system incorporating such a motor control device.
2. Description of Related Art
There have conventionally been developed motor control devices (position-sensorless control devices) that estimate the rotor position of a motor without the use of a rotor position sensor and controls the motor based on the so estimated rotor position. Sensorless control performed in such motor control devices divides into high-speed sensorless control suitable for a motor in high-speed rotation and low-speed sensorless control suitable for a motor in low-speed rotation or at a standstill.
High-speed sensorless control generally adopts a method relying on the induced voltage (in other words, electromotive force) that appears as the rotor rotates. With this method, however, it is difficult to accurately estimate the position and speed of the rotor in low-speed rotation or at a standstill. For this reason, with the rotor in low-speed rotation or at a standstill, low-speed sensorless control is used that relies on the magnetic salient pole and magnetic saturation of the rotor.
A motor control device is therefore often configured so as to be capable of switching among a plurality of control methods, including one for high-speed sensorless control and another for low-speed sensorless control, so as to be thereby able to achieve stable control in a wide range of speed. Such switching is performed, for example, according to the rotation speed of the rotor.
On the other hand, there has conventionally been disclosed a method whereby a phase generated by a phase determination method for a low-frequency region and a phase generated by a phase determination method for a high-frequency region are subjected to averaging with different weights given at different frequencies, and the resulting phase is estimated to be the phase in a d-q coordinate system.
Now, with reference to
A current detector 11 detects the U-phase current iu and V-phase current iv in the motor current supplied from a PWM inverter 2 to a salient-pole motor 1. A coordinate converter 12 converts the U-phase current iu and V-phase current iv into a γ-axis current iγ and a δ-axis current iδ. A position/speed estimator 120 (hereinafter referred to simply as “the estimator 120”) estimates and outputs an estimated rotor position θe and an estimated motor speed ωe.
A subtracter 19 subtracts the estimated motor speed ωe fed from the estimator 120 from a specified motor speed value ω*, and outputs the result of the subtraction. Based on the result (ω*−ωe) of the subtraction by the subtracter 19 etc., a speed controller 17 creates a specified δ-axis current value iδ* to be followed by the δ-axis current iδ. Based on the specified δ-axis current value iδ* etc., a magnetic flux controller 116 outputs a specified γ-axis current value iγ* to be followed by the γ-axis current iγ. A current controller 15 outputs a specified γ-axis voltage value vγ* and a specified δ-axis voltage value vδ* such that the current error (iγ*−iγ) and current error (iδ*−iδ) fed from subtracters 13 and 14 both converge to zero.
Based on the estimated rotor position θe fed from the estimator 120, a coordinate converter 18 performs reverse conversion of the specified γ-axis voltage value vγ* and the specified δ-axis voltage value vδ* to create specified three-phase voltage values composed of a specified U-phase voltage value vu*, a specified V-phase voltage value vv*, and a specified W-phase voltage value vw*; the coordinate converter 18 feeds these to the PWM inverter 2. Based on these specified three-phase voltage values (vu*, vv*, and vw*), the PWM inverter 2 creates pulse-width-modulated signals, and supplies the motor 1 with a motor current commensurate with the specified three-phase voltage values to thereby drive the motor 1.
Formula (1) above is a formula for calculating the axis error Δθ. In formula (1), Eexγ and Eexδ represent the γ-axis component and δ-axis component, respectively, of the extension induction voltage Eex.
To achieve a PLL (phase-locked loop), the proportional-plus-integral calculator 131 cooperates with different parts of the motor control device 103 to perform proportional-plus-integral control, and thereby calculates the estimated motor speed ωe such that the axis error Δθ calculated by the axis error estimator 130 converges to zero. The integrator 132 integrates the estimated motor speed ωe outputted from the proportional-plus-integral calculator 131 to calculate the estimated rotor position θe. The estimated motor speed ωe outputted from the proportional-plus-integral calculator 131 and the estimated rotor position θe outputted from the integrator 132 are, as the output values of the estimator 120, fed to those parts of the motor control device 103 which require those values.
With the motor control device 103 configured as described above, the axis error Δθ between the d-axis and γ-axis converges to zero, and this allows stable motor control. Incidentally, while the axis error Δθ is kept equal to zero, the d-axis current id follows the specified γ-axis current value iγ*, and the q-axis current iq follows the specified δ-axis current value iδ*.
The formula for calculating the d-axis current id to achieve maximum torque control exploiting a reluctance torque is well known. In the motor control device 103 configured as described above, to perform maximum torque control, the magnetic flux controller 116 calculates the specified γ-axis current value iγ* according to formula (2) below. Here, Φa represents the armature flux linkage ascribable to the permanent magnet.
Maximum torque control according to formula (2) presupposes that the axis error Δθ is kept equal to zero. On the other hand, calculating the axis error Δθ according to formula (1) above requires, as a calculator parameter (motor parameter), the value of the q-axis inductance Lq. Accordingly, in general, to perform maximum torque control, the actual value of the q-axis inductance Lq of the motor 1 is monitored and, by use of the actual value of the q-axis inductance Lq as it is, the axis error Δθ (and hence the estimated rotor position θe) is calculated.
Moreover, to achieve high-efficiency operation through maximum torque control or the like exploiting a reluctance torque, as will be understood from formula (2) above, a d-axis current id commensurate with the q-axis current iq needs to be passed through the motor. Accordingly, to perform high-efficiency operation by use of the motor control device 103 shown in
Moreover, the formula for calculating the specified γ-axis current value iγ* for maximum torque control or the like contains a plurality of motor parameters whose true values are unknown, and thus, if there are errors between the motor parameters (calculation parameters) used to calculate the specified γ-axis current value iγ* and the true motor parameters, it is impossible to perform motor control as desired. For this reason, in the motor control device 103 shown in
There has conventionally been disclosed, also, the relationship between the errors in the calculation parameters used to estimate the rotor position and the error in the estimated position (axis error).
While the description thus far given with reference to
According to one aspect of the present invention, a motor control device is provided with: an estimator that estimates the rotor position of a motor; and a controller that controls the motor based on the estimated rotor position. Here, let two mutually perpendicular rotating axes that rotate as the rotor of the motor rotates be called the x1-axis and the y1-axis, let a rotating axis different from the x1-axis be called the x2-axis, and let the rotating axis perpendicular to the x2-axis be called the y2-axis, then the control performed by the controller can be switched between a first type of control by which, for the purpose of controlling the motor, the controller breaks down the motor current flowing through the motor into an x1-axis component parallel to the x1-axis and a y1-axis component parallel to the y1-axis, and a second type of control by which, for the purpose of controlling the motor, the controller breaks down the motor current into an x2-axis component parallel to the x2-axis and a y2-axis component parallel to the y2-axis.
Specifically, for example, the estimation processing performed by the estimator can be switched between a first type of estimation processing whereby the estimator makes the controller perform the first type of control and a second type of estimation processing whereby the estimator makes the controller perform the second type of control, and the estimation processing actually performed by the estimator is switched between the first and second types of estimation processing according to speed information representing the rotation speed of the rotor.
Specifically, for example, let the axis parallel to the magnetic flux produced by the permanent magnet forming the rotor be called the d-axis, let the axis leading the d-axis by the electrical angle of 90 degrees be called the q-axis, let the rotating axis whose direction coincides with the direction of the current vector that achieves maximum torque control, or a rotating axis further leading that rotating axis in phase, be called the qm-axis, and let the rotating axis perpendicular to the qm-axis be called the dm-axis, then the x1-axis and the y1-axis are the d-axis and the q-axis, respectively, or axes based on a given specified speed value, and the x2-axis and the y2-axis are the dm-axis and the qm-axis, respectively.
For example, when the estimation processing actually performed by the estimator is switched between the first and second types of estimation processing, a shift from one type of estimation processing to the other is made through estimation processing whereby the results of the first and second types of estimation processing are taken into consideration according to the speed information or according to the length of time that has passed since the start of the switching.
For example, the estimator is provided with: a first estimation processor that derives a value for estimating the phase of the x1-axis relative to a predetermined fixed axis; and a second estimation processor that derives a value for estimating the phase of the x2-axis relative to the fixed axis. Here, the phase of the x1-axis estimated based on the value derived by the first estimation processor represents the rotor position as supposed to be estimated when the first type of estimation processing is performed, and the phase of the x2-axis estimated based on the value derived by the second estimation processor represents the rotor position as supposed to be estimated when the second type of estimation processing is performed. Moreover, the second estimation processor can derive a value for estimating the phase of the x1-axis by using a first predetermined inductance as a calculation parameter corresponding to a q-axis inductance of the motor and, when deriving the value for estimating the phase of the x2-axis, uses, as the calculation parameter, a second predetermined inductance different from the first inductance. Furthermore, when the estimation processing actually performed by the estimator is switched from the first estimation processing to the second estimation processing, the calculation parameter used by the second estimation processor is temporarily made equal to the first inductance and is then made to vary toward the second inductance so as to eventually converge to the second inductance, and based on the value derived by the second estimation processor while the calculation parameter is so varying, the rotor position is estimated during the switching.
Alternatively, for example, the estimator is provided with: a first estimation processor that derives a value for estimating the phase of the x1-axis relative to a predetermined fixed axis, and a second estimation processor that derives a value for estimating a phase of the x2-axis relative to the fixed axis. Here, the phase of the x1-axis estimated based on the value derived by the first estimation processor represents the rotor position as supposed to be estimated when the first type of estimation processing is performed, and the phase of the x2-axis estimated based on the value derived by the second estimation processor represents the rotor position as supposed to be estimated when the second type of estimation processing is performed. Moreover, when the estimation processing actually performed by the estimator is switched from the first estimation processing to the second estimation processing, the first estimation processor can derive a value for temporarily estimating the phase of the x2-axis. Furthermore, when the estimation processing actually performed by the estimator is switched from the first estimation processing to the second estimation processing, prior to the switching, the value derived by the first estimation processor is temporarily made to converge to the value derived by the second estimation processor for estimating the phase of the x2-axis, and, after completion of the convergence, the switching from the first estimation processing to the second estimation processing is actually performed.
For example, let the axis parallel to the magnetic flux produced by the permanent magnet forming the rotor be called the d-axis, and let the axis estimated, for control purposes, as corresponding to the d-axis be called a γ-axis, then, when the control actually performed by the controller is switched between the first and second types of control, the specified γ-axis current value that should be followed by the γ-axis component of the motor current is switched between a specified current value for the first type of control and a specified current value for the second type of control.
For example, when the control actually performed by the controller is switched between the first and second types of control, the specified γ-axis current value is derived based on both the specified current values for the first and second types of control.
According to another aspect of the present invention, a motor drive system is provided with: a motor; an inverter that drives the motor; and any of the motor control devices described above which controls the motor by controlling the inverter.
Hereinafter, embodiments of the present invention will be described specifically with reference to the accompanying drawings. Among these drawings, such parts as appear more than once are identified with common reference designations.
The switching among different control methods—the feature with which one of the main objects of the invention is achieved—will be dealt with in the second and following embodiments. To begin with, for easy understanding of the description of the second and following embodiments, a first embodiment of the invention will be described as a technology that the second embodiment presupposes.
First EmbodimentThe reference numeral 2 represents a PWM (pulse-width modulation) inverter that supplies the motor 1 with three-phase alternating-current voltages of U-, V-, and W-phases according to the position of the rotor of the motor 1. The voltage supplied to the motor 1 is referred to as the motor voltage (armature voltage) Va, and the current supplied from the PWM inverter 2 to the motor 1 is referred to as the motor current (armature current) Ia.
The reference numeral 3 represents a motor control device (position-sensorless control device) that estimates the rotor position etc. of the motor 1 by use of the motor current Ia and that feeds the PWM inverter 2 with a signal for making the motor 1 rotate at the desired rotation speed. The desired rotation speed here is fed, as a specified motor speed value ω*, from an unillustrated CPU (central processing unit) or the like to the motor control device 3.
The d-q axes is rotating, and its rotation speed is called the actual motor speed ω. The γ-δ axes also is rotating, and its rotation speed is called the estimated motor speed ωe. Moreover, with regard to the rotating d-q axes, the phase of the d-axis at a given moment is represented by θ (the actual rotor position θ) relative to the U-phase armature winding fixed axis. Likewise, with regard to the rotating γ-δ axes, the phase of the γ-axis at a given moment is represented by θe (the estimated rotor position θe) relative to the U-phase armature winding fixed axis. Then, the axis error Δθ between the d-axis and the γ-axis (the axis error Δθ between the d-q axes and the γ-δ axes) is given by Δθ=θ−θe.
In the following description, the γ-axis component, δ-axis component, d-axis component, and q-axis component of the motor voltage Va are referred to as the γ-axis voltage vγ, δ-axis voltage vδ, d-axis voltage vd, and q-axis voltage vq, respectively, and the γ-axis component, δ-axis component, d-axis component, and q-axis component of the motor current Ia are referred to as the γ-axis current iγ, δ-axis current iδ, d-axis current id, and q-axis current iq, respectively.
Moreover, in the following description, Ra represents the motor resistance (the resistance of the armature winding of the motor 1); Ld and Lq represent the d-axis inductance (the d-axis component of the inductance of the armature winding of the motor 1) and the q-axis inductance (the q-axis component of the inductance of the armature winding of the motor 1), respectively; and Φa represents the armature flux linkage ascribable to the permanent magnet 1a. Incidentally, the values of Ld, Lq, Ra, and Φa are determined at the stage of the fabrication of the motor drive system, and those values are used in the calculations performed by the motor control device. Moreover, in the relevant formulae presented below, s represents the Laplace operator.
The current detector 11 includes, for example, Hall devices or the like, and detects the U-phase current iu and V-phase current iv, which are the fixed axis components of the motor current Ia supplied from the PWM inverter 2 to the motor 1. Receiving the results of the detection of the U-phase current iu and V-phase current iv by the current detector 11, the coordinate converter 12 converts them into the γ-axis current iγ and δ-axis current iδ by use of the estimated rotor position θe fed from the estimator 20. The conversion here is performed according to formula (3) below.
The estimator 20 estimates and outputs the estimated rotor position θe and the estimated motor speed ωe. The method by which the estimated rotor position θe and the estimated motor speed ωe are estimated will be described in detail later.
The subtracter 19 subtracts the estimated motor speed ωe fed from the estimator 20 from the specified motor speed value ω*, and outputs the result of the subtraction (the speed error). Based on the result (ω*−ωe) of the subtraction by the subtracter 19, the speed controller 17 creates a specified δ-axis current value iδ*. This specified δ-axis current value iδ* represents the current value to be followed by the δ-axis current iδ, which is the δ-axis component of the motor current Ia. The magnetic flux controller 16 outputs a specified γ-axis current value iγ*. This specified γ-axis current value iγ* represents the current value to be followed by the γ-axis current iγ, which is the γ-axis component of the motor current Ia. In this embodiment, the specified γ-axis current value iγ* is kept equal to zero, as will be described in detail later in connection with the estimator 20.
The subtracter 13 subtracts the γ-axis current iγ outputted from the coordinate converter 12 from the specified γ-axis current value iγ* outputted from the magnetic flux controller 16, and thereby calculates the current error (iγ*−iγ). The subtracter 14 subtracts the δ-axis current iδ outputted from the coordinate converter 12 from the specified δ-axis current value iδ* outputted from the speed controller 17, and thereby calculates the current error (iδ*−iδ).
Receiving the current errors calculated by the subtracters 13 and 14, the γ-axis current iγ and δ-axis current iδ from the coordinate converter 12, and the estimated motor speed ωe from the estimator 20, the current controller 15 outputs a specified γ-axis voltage value vγ* and a specified δ-axis voltage value vδ* such that the γ-axis current iγ follows the specified γ-axis current value iγ* and in addition that the δ-axis current iδ follows the specified δ-axis current value iδ*.
Based on the estimated rotor position θe fed from the estimator 20, the coordinate converter 18 performs reverse conversion of the specified γ-axis voltage value vγ* and the specified δ-axis voltage value vδ* to create specified three-phase voltage values composed of a specified U-phase voltage value vu*, a specified V-phase voltage value vv*, and a specified W-phase voltage value vw*, which represent the U-, V-, and W-phase components of the motor voltage Va; the coordinate converter 18 feeds these to the PWM inverter 2. The reverse conversion here is performed according to formula (4) below, which consists of two equations.
Based on the specified three-phase voltage values (vu*, vv*, and vw*), which represent the voltages to be applied to the motor 1, the PWM inverter 2 creates pulse-width-modulated signals, and supplies the motor 1 with a motor current Ia commensurate with the specified three-phase voltage values to thereby drive the motor 1.
The axis error estimator 30 calculates an axis error Δθ′. As will become clear later, this axis error Δθ′ is different from the axis error Δθ. Whereas the axis error estimator 130 shown in
Formula (5) is obtained by replacing Δθ and Lq in formula (1) above with Δθ′ and L, respectively. Thus, when estimating the axis error Δθ′, the axis error estimator 30 handles L as, among calculation parameters for estimating the rotor position, one corresponding to the q-axis inductance. The method by which the value of this calculation parameter L is set, and the significance of the axis error Δθ′ in relation to that method, will be described in detail later.
To achieve a PLL (phase-locked loop), the proportional-plus-integral calculator 31 cooperates with different parts of the motor control device 3 to perform proportional-plus-integral control, and thereby calculates the estimated motor speed ωe such that the axis error Δθ′ calculated by the axis error estimator 30 converges to zero. The integrator 32 integrates the estimated motor speed ωe outputted from the proportional-plus-integral calculator 31 to calculate the estimated rotor position θe. The estimated motor speed ωe outputted from the proportional-plus-integral calculator 31 and the estimated rotor position θe outputted from the integrator 32 are, as the output values of the estimator 20, fed to those parts of the motor control device 3 which require those values.
If the true value (actual value) of the q-axis inductance is used as L in formula (5), that is, if L=Lq, then Δθ′=Δθ, and thus the PLL control by the proportional-plus-integral calculator 31 etc. makes the axis error Δθ′(=Δθ) converge to zero (i.e., the same control as achieved with the configuration shown in
Ld≦L<Lq (6)
Preferably, the calculation parameter L is set so as to fulfill formula (7) below.
Ld≦L<(Ld+Lq)/2 (7)
Quite naturally, the axis error Δθ′ obtained when L set as described above is adopted as the calculation parameter corresponding to the q-axis inductance differs from the axis error Δθ. Thus, even when PLL control is performed such that the axis error Δθ′ converges to zero, a deviation (a non-zero axis error) arises between the d-axis and γ-axis.
In this embodiment, this deviation is produced intentionally, and is exploited positively while the specified γ-axis current value iγ* outputted from the magnetic flux controller 16 is made equal to zero. In this way, control approximate to maximum torque control is achieved. Now, this control will be discussed.
First, as disclosed in “Position and Speed Sensorless Control for IPMSM Based on Estimation of Position Error”, Sigeo Morimoto et al., T.IEE Japan, Vol. 122-D, No. 7, 2002, pp. 722-729 (hereinafter referred to as “Non-patent Document 1”), the relationship between the errors in the calculation parameters used to estimate the rotor position (i.e., to calculate the estimated rotor position θe) and the error in the estimated position (axis error) is expressed by formula (8) below. Here, Ra′ represents the value of the motor resistance as a calculation parameter used in the formula for estimating the rotor position, and (Ra−Ra′) represents the error of this calculation parameter from the true motor resistance Ra; Lq′ represents the value of the q-axis inductance as a calculation parameter used in the formula for estimating the rotor position, and (Lq−Lq′) represents the error of this calculation parameter from the true q-axis inductance.
Now, suppose that Lq′=L; that is, suppose that, when the rotor position is estimated, an error corresponding to (Lq−L) is given intentionally. Estimating the axis error Δθ′ according to formula (5) above is equivalent to estimating the axis error with an error corresponding to (Lq−L) given intentionally. Moreover, assume that (Ra−Ra′) is equal to zero. Furthermore, consider a case where, as mentioned above, the specified γ-axis current value iγ* to be followed by the γ-axis current iγ is made equal to zero; that is, assume that, in formula (8), iγ=0. Then, formula (8) is rearranged into formula (9) below.
Substituting formula (10), which gives the d-axis current id that achieves maximum torque control, in formula (9), and solving the resulting formula with respect to L gives formula (11) below. Incidentally, formula (10) is well known, and supplying the motor 1 with a d-axis current id fulfilling formula (10) according to q-axis current iq achieves maximum torque control.
As will be clear from how formula (11) is derived, L given by formula (11) represents the value of the q-axis inductance as a calculation parameter to be adopted by the axis deviation estimator 30 to achieve maximum torque control in an ideal fashion in a case where the specified γ-axis current value iγ* is made equal to zero.
L given by formula (11) is a function of the q-axis current iq. To make the description specific, the following description deals with a numerical example where Φa=0.2411 Vs/rad, Ld=0.003 H, and Lq=0.008 H. The relationship between iq and L in this case is represented by a curve 60 in
In view of what has just been described, in this embodiment, a calculation parameter L that fulfills formula (6) or (7) above is adopted, and in addition specified γ-axis current value iγ* is made equal to zero, to achieve control close to maximum torque control. For example, in the numerical example described above, the relationship between the d-axis current id and q-axis current iq flowing through the motor 1 when the calculation parameter L is kept fixed at 0.0039 H irrespective of iq is as represented by a broken line 62 in
The reason that a d-axis current id commensurate with the q-axis current iq flows despite the specified γ-axis current value iγ* being equal to zero is that there is a deviation between the d-axis and γ-axis resulting from the adoption, as a calculation parameter corresponding to the q-axis inductance, of the calculation parameter L that fulfills formula (6) or (7). Incidentally, in the curve 60 shown in
To make the description specific, the description thus far given deals with an example where the specified γ-axis current value iγ* is made equal to zero. Here, however, the specified γ-axis current value iγ* does not necessarily have to be exactly equal to zero, but simply needs to be close to zero (i.e., iγ*≈0). In other words, whenever “zero” is mentioned in the discussion of the specified γ-axis current value iγ*, it should be interpreted to mean “substantially zero” covering a certain range around zero. This is because, even if iγ* is not exactly equal to zero, when it has a value that can be considered to be substantially zero, it is possible to achieve control close to maximum torque control.
To achieve control approximate to maximum torque control as described above, the value of the calculation parameter L is set within the range that fulfills formula (6) or (7) above. Specifically, the specified γ-axis current value iγ* is set at a predetermined value equal or close to zero, and thereby the γ-axis current iγ is set approximately equal to that predetermined value, so that the motor 1 is given a predetermined load torque. Then, in this state, the value of the calculation parameter L is set within the range that fulfills formula (6) or (7) above such that the magnitude of the motor current Ia is at its minimum. As shown in
When L is thus given the value that puts the magnitude of the motor current Ia at its minimum when iγ*≈0, at that predetermined load torque, L serves as a calculation parameter that achieves maximum torque control in an ideal fashion. Incidentally, such a value of the calculation parameter L is searched for and determined at the stage of designing.
As described above, setting the value of the q-axis inductance as a calculation parameter for estimating the rotor position appropriately beforehand eliminates the need to constantly calculate the specified γ-axis current value iγ*, and makes it possible to achieve control close to maximum torque control simply by making iγ*≈0. Thus, first of all, the amount of calculation needed to achieve maximum torque control can be reduced. Moreover, whereas conventional examples like the one shown in
Although the above description deals with an example where the calculation parameter L is kept at a fixed value (in the above example, L=0.0039 H) irrespective of the value of the q-axis current iq, it is also possible, instead, to vary the calculation parameter L according to the value of the q-axis current iq (according to the value of the specified δ-axis current value iδ*). For example, by varying the calculation parameter L according to the value of the q-axis current iq (according to the value of the specified δ-axis current value iδ*) such that it traces the curve 60 in
Although the above description deals with a method for achieving maximum torque control or control approximate to maximum torque control, it is also possible, depending on the method by which the calculation parameter L is set, to perform another type of control exploiting a reluctance torque.
For example, the specified δ-axis current value iγ* is set at a predetermined value equal or close to zero, and thereby the γ-axis current iγ is set approximately equal to that predetermined value, so that the motor 1 is put into a predetermined load condition. Then, in this state, the value of the calculation parameter L is set within the range that fulfills formula (6) or (7) above such that the loss (copper loss and iron loss) in the motor 1 is at its minimum. As in maximum torque control, the value of L that puts the loss at its minimum when iγ*≈0 falls between Ld and Lq, and, when L has that value, it fulfills formula (7) above irrespective of the values of Φa, Ld, and Lq.
When L is thus given the value that puts the loss at its minimum when iγ*≈0, in that predetermined load condition, L serves as a calculation parameter that achieves maximum efficiency control. Incidentally, such a value of the calculation parameter L is searched for and determined at the stage of designing. The above “predetermined load condition” is, for example, one in which the motor 1 is rotated at a predetermined rotation speed, or one in which the motor 1 is given a predetermined load torque.
The current controller 15 performs the necessary calculations according to formulae (12a) and (12b) below, which consist of two equations. The speed controller 17 and the proportional-plus-integral calculator 31 perform the necessary calculations according to formulae (13) and (14) below, respectively.
Here, Kcp, Ksp and Kp are coefficients of proportionality, and Kci, Ksi, and Ki are coefficients of integration. These all have values set beforehand at the stage of the designing of the motor drive system.
Estimator: The method by which the estimator 20 has been described to estimate the rotor position is merely one example among various estimation methods that can be adopted. Any estimation method can be adopted that estimates the rotor position (i.e., calculates the estimated rotor position θe) by use of a calculation parameter corresponding to the q-axis inductance of the motor 1.
For example, the rotor position may be estimated by use of the method disclosed in Non-patent Document 1 mentioned above. According to Non-patent Document 1, the axis error Δθ is calculated according to formula (15) below. Considered in terms of the designations and symbols used in the description of this embodiment, eγ and eδ represent the γ-axis component and δ-axis component, respectively, of the induction voltage (in other words, electromotive force) produced by the rotation of the motor 1 and the armature flux linkage Φa ascribable to the permanent magnet 1a. Moreover, s represents the Laplace operator, and g represents the gain of a disturbance observer.
In a case where a method that estimates the axis error from the induction voltage as expressed by formula (15) is applied to the axis error estimator 30 shown in
Alternatively, the rotor position may be estimated by use of any other method, such as the one disclosed in JP-A-2004-096979.
Instead of the configuration shown in
Performing coordinate conversion such that formula (17) on the real axes is converted to one on the control axes gives formula (19) below.
On the other hand, the magnetic flux calculated with the transient term (the second term of the right side) of formula (18)—which expresses the extension induction voltage Eex—ignored is defined as the extension magnetic flux Φex, which is thus given by formula (20) below.
Φex=(Ld−Lq)id+Φa (20)
When the motor speed and (or) the load are fixed, variations in the magnitude and phase of the motor current are very small. Thus, the second term of the right side of formula (18), which is a differential term of the q-axis current, is sufficiently smaller than ωΦex, and can be regarded as zero. Moreover, so long as the motor 1 is being driven without synchronization failure, the actual motor speed ω and the estimated motor speed ωe have mutually close values. Thus, the third term of the right side of formula (19) also is sufficiently smaller than ωΦex, and can be regarded as zero. Accordingly, when the second term of the right side of formula (18) and the third term of the right side of formula (19) are formula (19) is rearranged as formula (21) below.
The symbol Φδ represents the δ-axis component of the extension magnetic flux Φex. Thus, Φδ=Φex ·sin Δθ holds. Unfolding and rearranging the first row of the matrix in formula (21) above gives formula (22) below.
Generally, the magnetic flux produced by the permanent magnet is sufficiently larger than that produced by the d-axis current, that is, Φa>>(Ld−Lq) id produced. Thus, Φex can be regarded as fixed, that is, Φex≈Φa. If, in addition, the axis error Δθ is so small as to permit the approximation sin Δθ≈Δθ, then, with reference to formula (22), formula (23) below holds.
As will be understood from formula (23), Φδ is approximated as equal to the δ-axis component of the armature flux linkage Φa (the δ-axis magnetic flux, which is the magnetic flux component of the permanent magnet 1a (
Accordingly, the estimator 20 shown in
The proportional-plus-integral calculator 31a is similar to the proportional-plus-integral calculator 31 shown in
As will be understood from formula (24), the term including Ld is multiplied by iγ, and thus the value of the term is comparatively small. That is, the estimation of the rotor position is little influenced by the d-axis inductance Ld (because the value of iγ is notably smaller than that of iδ). In view of this, in formula (24) used for estimation, L may be used as the value of Ld. This makes it possible to operate a salient-pole motor with high efficiency by the same control as when operating a non-salient-pole motor that does not exploit a reluctance torque (such as a surface permanent magnet synchronous motor). This eliminates the need to change control to cope with different types of magnet fitting, and thus helps achieve higher compatibility. High compatibility is achieved also in cases where formulae (5), (16), etc. are used.
Although formula (23) uses the approximation Φex≈Φa, it is also possible to estimate the δ-axis magnetic flux without using this approximation. In that case, the δ-axis magnetic flux Φδ′ is estimated according to formula (25) below. Also in that case, as a calculation parameter corresponding to the q-axis inductance, instead of the actual value of Lq, a value of L that fulfills formula (6) or (7) may be used.
Next, a second embodiment of the invention will be described as one involving switching among different control methods—the feature with which one of the main objects of the invention is achieved. Throughout all the embodiments, that is, the first embodiment described above, this embodiment, and the following embodiments described later, unless otherwise described, the same parts are identified by the same reference numerals, and the same values, directions, etc. are identified by the same symbols (such as θ and ω). Accordingly, in principle, no overlapping explanations will be repeated for the parts, values, directions, etc. that bear the same reference numerals and symbols once they have been described.
The motor control device 3a estimates the rotor position etc. of the motor 1 by use of the motor current Ia and that feeds the PWM inverter 2 with a signal for making the motor 1 rotate at the desired rotation speed. The desired rotation speed here is fed, as a specified motor speed value ω*, from an unillustrated CPU (central processing unit) or the like to the motor control device 3a.
In addition, the rotating axis whose direction coincides with the direction of the current vector to be supplied to the motor 1 to achieve maximum torque control is defined as the qm-axis; the rotating axis that lags behind the qm-axis by an electrical angle of 90 degrees is defined as the dm-axis. The coordinate axes composed of the dm-axis and qm-axis are called the dm-qm axes.
As will be clear from the solid line 61 in
The phase (angle) of the q-axis relative to the qm-axis is represented by θm, and the phase (angle) of qm-axis relative to the δ-axis is represented by Δθm. In this case, needless to say, the phase of the d-axis relative to the dm-axis also is θm, and the phase of dm-axis relative to the γ-axis also is Δθm. What θm represents is the angle by which the qm-axis (dm-axis) leads the q-axis (d-axis). What Δθm represents is the axis error between the qm-axis and the δ-axis (the axis error between the dm-qm axes and the γ-δ axes). The axis error Δθ between the d-axis and γ-axis is given by Δθ=Δθm+θm.
As described above, the dm-axis leads the d-axis in phase, and here it is assumed that θm has a negative value. Likewise, when the γ-axis leads the dm-axis in phase, Δθm has a negative value. The vectors (such as Em) shown in
The dm-axis component and qm-axis component of the motor current Ia are referred to as the dm-axis current idm and qm-axis current iqm, respectively. The dm-axis component and qm-axis component of the motor voltage Va are referred to as the dm-axis voltage vdm and qm-axis voltage vqm, respectively.
The motor control device according to this embodiment switches control methods between when the motor 1 is at a standstill or in low-speed rotation and when the motor 1 is in high-speed rotation. The control performed at a standstill or in low-speed rotation is called the low-speed control (low-speed sensorless control), and the control performed in high-speed rotation is called the high-speed control (high-speed sensorless control).
In low-speed control, the axis error Δθ between the d-axis and γ-axis is estimated and the γ-axis, which is an estimated axis, is made to converge to the d-axis (i.e., the axis error Δθ is made to converge to zero). Moreover, the motor 1 is controlled with the motor current Ia broken down into the d-axis component and q-axis component. On the other hand, in high-speed control, the axis error Δθm between the dm-axis and γ-axis is estimated and the γ-axis, which is an estimated axis, is made to converge to the dm-axis (i.e., the axis error Δθm is made to converge to zero). Moreover, the motor 1 is controlled with the motor current Iabroken down into the dm-axis component and qm-axis component.
As described previously, to achieve maximum torque control, conventional motor control devices require both adjustment of parameters for estimation for keeping the axis error equal to zero and adjustment of parameters for achieving maximum torque control. Also in a case where maximum torque control is achieved by use of the high-speed control according to this embodiment, it is necessary to adjust parameters for estimation for estimating the axis error Δθm (for making the axis error Δθm converge to zero), but here doing so simultaneously completes the adjustment of parameters for achieving maximum torque control (see the definition of the qm-axis). That is, adjustment of parameters for estimating the axis error simultaneously serves as adjustment of parameters for achieving maximum torque control. This permits extremely easy adjustment.
Moreover, as will be clear from the definition of the qm-axis, the current locus of the motor current Ia as observed when maximum torque control is performed traces the qm-axis as indicated by a solid line 82 in
Now, the theoretical formula of the control based on the dm-qm axes (corresponding to the high-speed control mentioned above) will be described by use of a voltage equation. To begin with, the extension induction voltage equation on the real axes is given as formula (26) below, and the extension induction voltage Eex is given by formula (27) below. Formula (26) is the same as formula (17) above, and formula (27) is the same as formula (18) above. In the following formulae, p represents the differential operator.
Performing coordinate conversion such that formula (26) on the real axes is converted to one on the control axes gives formula (28) below. Ignoring the third term of the right side of formula (28) for the sake of simplification gives formula (29) below
Rearranging formula (29) in terms of the dm-qm axes gives the formula (30).
Here, assume that formula (31) holds. Then, since id=iqm·sin θm, formula (32) holds.
Lq1iqm=sin θm{(Φa+(Ld−Lq)id} (31)
Lq1iqm=sin θm{(Φa+(Ld−Lq)id}=sin θm{Φa+(Ld−Lq)iqm sin θm} (32)
Rearranging formula (30) using formula (32) gives formula (33). Here, Em is given by formula (34). Lq1 represents an imaginary inductance that depends on θm. Lq1 is determined for the sake of convenience to deal with Eex·sin θm in the second term of the right side of formula (30) as a voltage drop ascribable to an imaginary inductance. Lq1 has a negative value.
Here, an approximation is made such that the equation Lm=Lq+Lq1 holds (since θm depends on iq and iqm, Lq1 depends on iq and iqm; in addition, under the influence of magnetic saturation, Lq also depends on iq and iqm; the dependence of Lq1 on iq and the dependence of Lq on iq are integrated into Lm, and the influence of iq and iqm is taken into consideration at the time of estimation). Now, formula (33) is rearranged into formula (35) below. Incidentally, as will be described later, Lm corresponds to the calculation parameter L in the first embodiment.
Further rearranging the formula (35) gives formula (36) below. Here, Eexm is given by formula (37) below.
When there is an axis error Δθm between the γ-δ axes and the dm-qm axes, formula (36) is rearranged into formula (38) below. That is, performing coordinate conversion such that formula (36) on the dm-qm axes is converted to one on the γ-δ axes, as formula (26) is to formula (28), gives formula (38).
When approximations are made such that p Δθm≈0, idm≈0, and (Ld−Lq) (p iq)≈0, then Eexm given by formula (37) is approximated as given by formula (39).
Substituting Lm=Lq+Lq1 in formula (32), then solving the resulting formula with respect to θm, and then assuming that iδ≈iqm gives formula (40) below. As expressed by formula (40), θm is a function of iδ, and therefore Eexm also is a function of iδ.
Now, with reference to
As will be understood from a comparison between formulae (34) and (37), Eexm is the sum of Em and ω(Lq−Lm)idm. Thus, in the rotating coordinate system, like Em, Eexm also is an induction voltage vector on the qm-axis. When maximum torque control is performed, since idm≈0 as described above, Eexm (substantially) coincides with Em.
Next, with reference to
When Φex is considered to be a flux linkage vector in a rotating coordinate system, the flux linkage vector Φex is a flux linkage vector on the d-axis. The flux linkage vector Φex is considered to be broken down into a flux linkage vector on the qm-axis and a flux linkage vector on the dm-axis. When, of these broken down flux linkage vectors, the flux linkage vector on the dm-axis is represented by Φm, then Φm=Em/ω; on the other hand, the flux linkage vector on the qm-axis (Φex·sin θm), represented by the reference numeral 81 in
Let Φexm=Eexm/ω, then Φexm is the sum of Φm and (Lq−Lm)idm. Thus, in the rotating coordinate system, like Φm, Φexm is a flux linkage vector on the dm-axis. When maximum torque control is performed, since idm≈0 as described above, Φexm (substantially) coincides with Φm.
Specific Configuration—
The current detector 11 detects the U-phase current iu and V-phase current iv, which are the fixed axis components of the motor current Ia. Receiving the results of the detection of the U-phase current iu and V-phase current iv by the current detector 11, the coordinate converter 12 converts them into the γ-axis current iγ and δ-axis current iδ by use of the estimated rotor position θe fed from the estimator 40. As in the first embodiment, the conversion here is performed according to formula (3) above.
The estimator 40 estimates and outputs the estimated rotor position θe and the estimated motor speed ωe. The method by which the estimator 40 estimates the estimated rotor position θe and the estimated motor speed ωe will be described in detail later. The estimator 40 here is so configured as to switch its operation between low-speed estimation processing for achieving low-speed control and high-speed estimation processing for achieving high-speed control according to the rotation speed of the rotor.
The subtracter 19 subtracts the estimated motor speed ωe fed from the estimator 40 from the specified motor speed value ω*, and outputs the result of the subtraction (the speed error). Based on the result (ω*−ωe) of the subtraction by the subtracter 19, the speed controller 17 creates a specified δ-axis current value iδ*. Referring to the estimated motor speed ωe and the specified δ-axis current value iδ*, the magnetic flux controller 44 creates a specified γ-axis current value iγ*.
The subtracter 13 subtracts the γ-axis current iγ outputted from the coordinate converter 12 from the specified γ-axis current value iγ* outputted from the magnetic flux controller 44, and thereby calculates the current error (iγ*31 iγ). The subtracter 14 subtracts the δ-axis current iδ outputted from the coordinate converter 12 from the specified δ-axis current value iδ* outputted from the speed controller 17, and thereby calculates the current error (iδ*−iδ).
Receiving the current errors calculated by the subtracters 13 and 14, the γ-axis current iγ and δ-axis current iδ from the coordinate converter 12, and the estimated motor speed ωe from the estimator 40, the current controller 15 calculates and outputs a specified γ-axis voltage value vγ* and a specified δ-axis voltage value vδ* such that the γ-axis current iγ follows the specified γ-axis current value iγ* and in addition that the δ-axis current iδ follows the specified δ-axis current value iδ*.
The superposed voltage generator 41 generates and outputs superposed voltages to be superposed on the specified γ-axis voltage value vγ* and specified δ-axis voltage value vδ*. These superposed voltages are composed of a γ-axis superposed voltage vhγ* for vγ*(the γ-axis component of the superposed voltages) and a δ-axis superposed voltage vhδ* for vδ* (the δ-axis component of the superposed voltages). The γ-axis superposed voltage vhγ* and δ-axis superposed voltage vhδ* are also collectively called the superposed voltages vhγ* and Vhδ*.
In this embodiment, superposed voltages are superposed on the drive voltages, represented by vγ* and vδ*, for driving the motor 1. As the result of the superposition of these superposed voltages, superposed currents commensurate with those superposed voltages are superposed on the drive currents, referred to by the specified γ-axis current value iγ* and specified δ-axis current value iδ*, for driving the motor 1.
The superposed voltages generated by the superposed voltage generator 41 are, for example, high-frequency rotating voltage. Here, “high-frequency” means that the frequency of the superposition voltages is sufficiently higher than the frequency of the drive voltages. Accordingly, the frequency of the superposition currents, which are superposed according to those superposition voltages, is sufficiently higher than the frequency of the drive currents. On the other hand, “rotating voltage” means that the voltage vector locus of the superposition voltages is circular on fixed coordinate axes.
The adder 42 adds the γ-axis superposed voltage vhγ* to the specified γ-axis voltage value vγ* outputted from the current controller 15, and feeds the result (vγ*+vhγ*) of the addition to the coordinate converter 18. The adder 43 adds the δ-axis superposed voltage vhδ* to the specified δ-axis voltage value vδ* outputted from the current controller 15, and feeds the result (vδ*+vhδ*) of the addition to the coordinate converter 18.
Based on the estimated rotor position θe fed from the estimator 40, the coordinate converter 18 performs reverse conversion of the specified γ-axis voltage value vγ* having vhγ* superposed on it (i.e., (vγ*+vhγ*)) and the specified δ-axis voltage value vδ* having vhδ* superposed on it (i.e., (vδ*+vhδ*)) to create specified three-phase voltage values composed of a specified U-phase voltage value vu*, a specified V-phase voltage value vv*, and a specified W-phase voltage value vw*, which represent the U-, V-, and W-phase components of the motor voltage Va; the coordinate converter 18 feeds these to the PWM inverter 2. The reverse conversion here is performed according to formula (4) above, with vγ* and vδ* replaced with (vγ*+vhγ*) and (vδ*+vhδ*).
Based on the specified three-phase voltage values (vu*, vv*, and vw*), which represent the voltages to be applied to the motor 1, the PWM inverter 2 creates pulse-width-modulated signals, and supplies the motor 1 with a motor current Ia commensurate with the specified three-phase voltage values to thereby drive the motor 1.
The estimator 40a includes a first axis error estimator 201, a second axis error estimator 202, a switching processor 203, a proportional-plus-integral calculator 204, and an integrator 205.
By use of all or part of the values of vγ*, vδ*, iγ, and iδ, and based on the superposed current components that flow in accordance with the injected high-frequency superposed voltages, the first axis error estimator 201 estimates the axis error Δθ between the d-axis and the γ-axis. Here, the first axis error estimator 201 uses the value of the estimated motor speed ωe whenever necessary. There have conventionally been proposed many methods for estimating (calculating) the axis error Δθ, and the first axis error estimator 201 can adopt any of those. Later on (after the description of the seventh embodiment), examples of methods for estimating the axis error Δθ will be presented. This type of estimation based on high-frequency superposed components and exploiting a magnetic salient pole offers high accuracy even in low-speed rotation.
By use of all or part of the values of vγ*, vδ*, iγ, and iδ, and based on the induction voltage generated by the rotation of the rotor etc., the second axis error estimator 202 estimates the axis error Δθm between the dm-axis and the γ-axis. Here, the second axis error estimator 202 uses the value of the estimated motor speed ωe whenever necessary. A plurality of specific examples of the method by which the axis error Δθm is estimated (calculated) here will be presented later on (after the description of the seventh embodiment); for example, the second axis error estimator 202 calculates (estimates) the axis error Δθm according to formula (A1) below. Formula (A1) is derived from the result of rearrangement of the first and second rows of matrix formula (38) above (provided that the third term of the right side of matrix formula (38) is ignored). The second axis error estimator 202 uses vγ*, vδ*, and ωe, as vγ, vδ, and ω in formula (A1) below.
In formula (A1), the calculation parameter Lq in formula (1) above is replaced with Lm. That is, using Lq, which represents the actual value of the q-axis inductance, as the calculation parameter corresponding to the q-axis inductance gives Δθ, and using Lm instead gives Δθm. This type of estimation exploiting an induction voltage or the like offers high accuracy in particular in high-speed rotation. As will be described later in connection with the method for estimating the axis error Δθm, Lm is given a value equal to or larger than Ld but smaller than Lq.
The switching processor 203 receives the axis error Δθ as a first input value and the axis error Δθm as a second input value; according to speed information representing the rotation speed of the rotor of the motor 1, the switching processor 203 calculates an output value from the first and second input values and outputs the output value. In the estimator 40a, used as the speed information is the estimated motor speed ωe calculated by the proportional-plus-integral calculator 204. Instead, the specified motor speed value ω* may be used as the speed information.
Specifically, for example, the switching processor 203 performs weighted averaging in accordance with the speed information. In this case, if the rotation speed represented by the speed information is lower than a predetermined first threshold speed VTH1, the switching processor 203 outputs the first input value as the output value; if it is higher than a predetermined second threshold speed VTH2, the switching processor 203 outputs the second input value as the output value. Here, VTH1<VTH2 holds.
If the rotation speed represented by the speed information is in the range between the first threshold speed VTH1 and the second threshold speed VTH2, a weighted average of the first and second input values is calculated and outputted as the output value. Specifically, as schematically shown in
Instead, for example, the weighted averaging by the switching processor 203 may be performed in accordance with the time (length of time) that has passed since the start of switching. Specifically, as schematically shown in
Here, the first threshold speed VTH1 is a rotation speed, for example, in the range from 10 rps (revolutions per second) to 20 rps; the second threshold speed VTH2 is a rotation speed, for example, in the range from 20 rps to 30 rps.
In the estimator 40a shown in
The magnetic flux controller 44a includes a first magnetic flux controller 221, a second magnetic flux controller 222, and a iγ switching controller 223. The first magnetic flux controller 221 and the second magnetic flux controller 222 receive the specified δ-axis current value iδ* calculated by the speed controller 17 shown in
The first magnetic flux controller 221 calculates and outputs the specified γ-axis current value that achieves low-speed control. The specified γ-axis current value that is outputted from the first magnetic flux controller 221 is dealt with as one candidate of iγ* outputted from the magnetic flux controller 44a, and is represented by iγ1*. As described previously, low-speed control is control based on the d-q axes, and accordingly, to achieve maximum torque control, the first magnetic flux controller 221 calculates iγ1* according to formula (A2) below, as well known.
The second magnetic flux controller 222 outputs the specified γ-axis current value that achieves high-speed control. The specified γ-axis current value that is outputted from the second magnetic flux controller 222 is dealt with as another candidate of iγ* outputted from the magnetic flux controller 44a, and is represented by iγ2*. Since high-speed control is control based on the dm-qm axes, to achieve maximum torque control, iγ2* is set at a predetermined value equal or close to zero irrespective of iδ*. This is because, so long as the γ-δ axes follows the dm-qm axes, the γ-axis current that achieves maximum torque control may be zero or approximately zero.
The iγ switching controller 223 receives iγ1* as a first input value and iγ2* as a second input value; according to the speed information that represents the rotation speed of the rotor of the motor 1, the iγ switching controller 223 calculates iγ* as an output value form iγ1* and iγ2*, and outputs iγ*. Used as the speed information by the iγ switching controller 223 is the estimated motor speed ωe. Instead, the specified motor speed value ω* may be used as the speed information.
Specifically, for example, like the switching processor 203 shown in
If the rotation speed represented by the speed information is in the range between the first threshold speed VTH1 and the second threshold speed VTH2, a weighted average of iγ1* and iγ2* is calculated and outputted as iγ*. Specifically, as in the switching processor 203 (see
Instead, for example, the weighted averaging by the iγ switching controller 223 may be performed in accordance with the time (length of time) that has passed since the start of switching. Specifically, as schematically shown in
Whenever, as in low-speed rotation, the axis error Δθ calculated by the first axis error estimator 201 is needed, it is absolutely necessary that the superposed voltage generator 41 shown in
In cases as where weighted averaging is performed, however, it is necessary to calculate the axis error Δθm while superposing the superposed voltages. In that case, it is advisable that the γ-axis current iγ and δ-axis current iδ from the coordinate converter 12 be subjected to high cut processing so that the values of the γ-axis current iγ and δ-axis current iδ having the components of the superposed currents (ihγ and ihδ described after the description of the seventh embodiment) removed from them are used to calculate the axis error Δθm.
As described above, in low-speed rotation and at a standstill, low-speed control is performed based on superposed components so that Δθ, which is the estimated axis error between the γ-axis and d-axis, converges to zero; in high-speed rotation, high-speed control is performed based on an induction voltage or the like so that Δθm, which is the estimated axis error between the γ-axis and the dm-axis, converges to zero. Thus, it is possible to achieve satisfactory sensorless control in a wide range of speed. Furthermore, by performing high-speed control based on the dm-qm axes, it is possible, as described previously, to simplify the adjustment of parameters and reduce the load of calculation.
To achieve low-speed control, low-speed estimation processing based on the axis error Δθ is performed, and the estimated rotor position θe calculated based on the axis error Δθ represents the estimated value of the phase θ (estimated phase) of the d-axis relative to the U-phase armature winding fixed axis. To achieve high-speed control, high-speed estimation processing based on the axis error Δθm is performed, and the estimated rotor position θe calculated based on the axis error Δθm represents the estimated value of the phase (θ−θm) (estimated phase) of the dm-axis relative to the U-phase armature winding fixed axis. Which of these two types of estimation processing is performed is switched according to the speed information representing the rotation speed of the rotor.
Between low-speed control and high-speed control, the estimated axis differs; thus, switching between the different types of control needs to be done cleverly. In this embodiment, during a shift from low-speed control to high-speed control, and during a shift from high-speed control to low-speed control, weighted averaging is performed to perform estimation processing temporarily with consideration given to both of two estimated results (in this example, θ and θm). This prevents the value based on which the estimated rotor position θe and the estimated motor speed ωe are calculated from becoming discontinuous during switching, and thus ensures smooth switching.
Moreover, between control based on the d-q axes (low-speed control) and control based on the dm-qm axes (high-speed control), the γ-axis current to be fed to the motor 1 differs; thus, at switching between the different types of control, the specified γ-axis current value iγ* needs to be changed appropriately. In this embodiment, during a shift from low-speed control to high-speed control, and during a shift from high-speed control to low-speed control, in coordination with the weighted averaging by the estimator, a weighted average of iγ1* and iγ2* is calculated as iγ*. This prevents iγ* from becoming discontinuous during switching, and thus ensures smooth switching; in addition, it makes high-efficiency operation possible even during switching.
Third EmbodimentThe switching processor 203 shown in
The estimator 40b shown in
The switching processor 203a receives the axis error Δθ as a first input value and the axis error Δθm as a second input value; according to speed information representing the rotation speed of the rotor of the motor 1, the switching processor 203a outputs either the first input value or the second input value as an output value. Specifically, if the rotation speed represented by the speed information is lower than a predetermined threshold speed VTH, the switching processor 203a outputs the first input value as the output value; if it is higher than the predetermined threshold speed VTH, the switching processor 203a outputs the second input value as the output value. Used as the speed information by the switching processor 203a is the estimated motor speed ωe. Instead, the specified motor speed value ω* may be used as the speed information.
The threshold speed VTH is a rotation speed, for example, in the range from 10 rps (revolutions per second) to 30 rps.
Even when the axis error fed to the proportional-plus-integral calculator 204 is switched swiftly between Δθ and Δθm with the switching processor 203a, the estimated values of the motor speed and the rotor position only vary at a speed corresponding to the response of the PLL control using the proportional-plus-integral calculator 204, and therefore, even without weighted averaging processing or the like, the continuity of those estimated values is ensured.
The estimator 40b shown in
Switching Smoothing Processing α: When the value fed to the proportional-plus-integral calculator 204 is switched from the output value of the first axis error estimator 201 to the output value of the second axis error estimator 202 in order to shift the control and estimation processing performed in the motor control device from low-speed control and low-speed estimation processing to high-speed control and high-speed estimation processing, the following processing (which will hereinafter be referred to as “switching smoothing processing α”) may be adopted. The time point at which the switching is made is represented by T1. For example, the time point at which the rotation speed represented by speed information turns from lower than the threshold speed VTH to higher than the threshold speed VTH is time point T1.
With reference to
After time point T1, the calculation parameter used, as corresponding to the q-axis inductance, to calculate the axis error is gradually decreased from Lq toward Lm such that, as time passes after time point T1, the output value of the second axis error estimator 202 varies from Δθ toward Δθm. A predetermined time after time point T1, namely at time point T2, the calculation parameter corresponding to the q-axis inductance is made equal to Lm, and with this the switching to high-speed control (high-speed estimation processing) is completed.
For example, in a case where formula (A1) above is used, the second axis error estimator 202 operates as follows:
-
- at time point T1, it calculates and outputs the axis error according to formula (A1) modified with Lq substituting the Lm;
- at time point T2, it calculates and outputs the axis error according to formula (A1) as it is; and
- between time points T1 and T2, it calculates and outputs the axis error according to formula (A1) modified with “a value between Lq and Lm” substituting the Lm.
When switching smoothing processing α is performed, it is advisable that, as shown in
The example above deals with a case where, in accordance with the time that has passed since the start of switching, the axis error estimated by the second axis error estimator 202 is shifted from Δθ to Δθm. Instead, such a shift may be performed in accordance with speed information (ω* or ωe) that represents the rotation speed of the rotor of the motor 1. Specifically, after time point T1, the calculation parameter used, as corresponding to the q-axis inductance, to calculate the axis error is gradually decreased from Lq toward Lm such that, as the rotation speed represented by the speed information increases, the output value of the second axis error estimator 202 varies from Δθ toward Δθm. Then, when the rotation speed reaches a predetermined threshold speed, the calculation parameter is made equal to Lm, and with this the switching to high-speed control (high-speed estimation processing) is completed.
Also in this case, it is advisable that iγ* be varied gradually from iγ1* toward iγ2* in coordination with the variation of the calculation parameter corresponding to the q-axis inductance (in other words, in coordination with the variation of the rotation speed). Specifically, at time point T1, iγ* is made equal to iγ1*; after time point T1, as the rotation speed represented by the speed information increases, iγ* is increased; then, when the calculation parameter reaches Lm, iγ* is made to converge to iγ2*.
Incidentally, when switching from low-speed control to high-speed control is needed, the rotation speed usually increases. In case, however, the rotation speed represented by speed information decreases before switching to high-speed control is completed, it is possible, in addition to increasing the calculation parameter toward Lq, to decrease iγ* toward iγ1*.
As described above, with switching smoothing processing α, when switching of the actually performed control and estimation processing is performed from low-speed control and low-speed estimation processing to high-speed control and high-speed estimation processing, in accordance with the time (length of time) that has passed since the start of the switching, or in accordance with speed information, the calculation parameter for estimation is varied gradually from Lq toward Lm so that it eventually converges to Lm, when the desired switching is completed. Here, while the calculation parameter is being varied, based on the output value of the second axis error estimator 202, the estimated motor speed ωe and the estimated rotor position θe during the variation of the calculation parameter are calculated; accordingly, iγ* also is varied gradually. In this way, it is possible to achieve smooth switching of control while ensuring the continuity of the axis error and the γ-axis current.
Incidentally, when switching smoothing processing α is performed with the estimator 40b, the first axis error estimator 201 functions as a first estimation processor for calculating the value (Δθ) for estimating the phase θ of the d-axis, and the second axis error estimator 202 functions as a second estimation processor for calculating the value (Δθm) for estimating the phase (θ−θm) of the dm-axis.
Switching Smoothing Processing β: To achieve smooth switching of control, the estimator 40b shown in
The estimator 40c shown in
In the estimator 40c, the subtracter 211 subtracts the specified axis error value Δθ* from the axis error Δθ calculated by the first axis error estimator 201, and outputs the result (Δθ−Δθ*) of the subtraction. In the estimator 40c, the switching processor 203a receives the result (Δθ−Δθ*) of the subtraction by the subtracter 211 as a first input value and the axis error Δθm as a second input value; according to speed information representing the rotation speed of the rotor of the motor 1, the switching processor 203a outputs either the first input value or the second input value as an output value. When low-speed control (low-speed estimation processing) is performed, the specified axis error value Δθ* is set at zero. The second axis error estimator 202 in the estimator 40c, unlike that for switching smoothing processing α described above, always estimates and outputs Δθm.
In the estimator 40c, when the value fed to the proportional-plus-integral calculator 204 is switched from the output value of the subtracter 211 to the output value of the second axis error estimator 202 in order to shift the control and estimation processing performed in the motor control device from low-speed control and low-speed estimation processing to high-speed control and high-speed estimation processing, before the switching, the specified axis error value Δθ* is varied gradually from zero toward θm. After the specified axis error value Δθ* has converged to θm, the value fed to the proportional-plus-integral calculator 204 is switched from the output value of the subtracter 211 to the output value of the second axis error estimator 202. When Δθ*=θm, the output value of the subtracter 211 equals Δθm.
As in switching smoothing processing α, the specified axis error value Δθ* is varied from zero to θm in accordance with the increase in the time that has passed since the start of the variation, or in accordance with the increase in the rotation speed represented by speed information.
Moreover, as the specified axis error value Δθ* varies from zero to θm, iγ* also varies gradually from iγ1* to iγ2*.
As described above, in the estimator 40c designed for switching smoothing processing β, before the value fed to the proportional-plus-integral calculator 204 is switched to the output value of the second axis error estimator 202, temporarily the output value (Δθ−Δθ*) of the section composed of the first axis error estimator 201 and the subtracter 211 is made to converge to the output value Δθm of the second axis error estimator 202; after completion of the convergence of this value, the switching processor 203a actually performs switching; accordingly, iγ* also is varied. In this way, it is possible to achieve smooth switching of control while ensuring the continuity of the axis error and the γ-axis current.
In the estimator 40c, the section composed of the first axis error estimator 201 and the subtracter 211 functions as a first estimation processor for calculating the value for estimating the phase θ of the d-axis, and the second axis error estimator 202 functions as a second estimation processor for calculating the value for estimating the phase (θ−θm) of the dm-axis.
The value of θm, which is necessary to determine the specified axis error value Δθ*, is calculated by an unillustrated θm calculator provided within or outside the estimator 40c. Using the value of the δ-axis current iδ outputted from the coordinate converter 12 shown in
The iγ switching controller 223 shown in
The magnetic flux controller 44b shown in
The iγ switching processor 223a receives iγ1* as a first input value and iγ2* as a second input value; according to speed information representing the rotation speed of the rotor of the motor 1, the iγ switching processor 223a outputs either iγ1* or iγ2* as iγ*. Used as the speed information by the iγ switching processor 223a is the estimated motor speed ωe. Instead, the specified motor speed value ω* may be used as the speed information.
Specifically, like the switching processor 203a shown in
In connection with the second (and third) embodiment, the estimator 40a (and also 40b and 40c) was described as the first configuration example of the estimator 40 shown in
The estimator 40d includes a first axis error estimator 201, a second axis error estimator 202, a switching processor 203, proportional-plus-integral calculators 206 and 207, and an integrator 208. The estimator 40d performs switching at the stage of the estimated speed.
The first axis error estimator 201 and the second axis error estimator 202 in the estimator 40d are similar to those in the estimator 40a shown in
To achieve a PLL, the proportional-plus-integral calculator 206 cooperates with different parts of the motor control device 3a to perform proportional-plus-integral control, and thereby calculates the estimated motor speed such that the axis error Δθ converges to zero. The estimated motor speed calculated by the proportional-plus-integral calculator 206 is outputted as the first candidate speed ωe1. The first candidate speed ωe1 corresponds to the estimated value of the rotation speed ω (the estimated rotation speed) of the d-q axes.
To achieve a PLL, the proportional-plus-integral calculator 207 cooperates with different parts of the motor control device 3a to perform proportional-plus-integral control, and thereby calculates the estimated motor speed such that the axis error Δθm converges to zero. The estimated motor speed calculated by the proportional-plus-integral calculator 207 is outputted as the second candidate speed ωe2. The second candidate speed ωe2 corresponds to the estimated value of the rotation speed (the estimated rotation speed) of the dm-qm axes.
The switching processor 203 in the estimator 40d is similar to that in the estimator 40a shown in
The integrator 208 integrates the estimated motor speed ωe outputted from the switching processor 203, and thereby calculates the estimated rotor position θe. The estimated motor speed ωe outputted from the switching processor 203 and the estimated rotor position θe outputted from the integrator 208 are, as the output values of the estimator 40d, fed to those parts of the motor control device 3a which require those values.
Sixth EmbodimentNext, a position/speed estimator 40e (hereinafter referred to simply as “the estimator 40e”) as a third configuration example of the estimator 40 shown in
The estimator 40e includes a first axis error estimator 201, a second axis error estimator 202, a switching processor 203, proportional-plus-integral calculators 206 and 207, and integrators 209 and 210. The estimator 40e performs switching at the stage of the estimated position.
The first axis error estimator 201, the second axis error estimator 202, and the proportional-plus-integral calculators 206 and 207 in the estimator 40e are similar to those in the estimator 40d shown in
The switching processor 203 in the estimator 40e is similar to that in the estimator 40a shown in
The estimated rotor position θe outputted from the switching processor 203 is, as the output value of the estimator 40e, fed to those parts of the motor control device 3a which require that value. As necessary, the estimated rotor position θe outputted from the switching processor 203 may be differentiated to calculate the estimated motor speed ωe.
All the description of the estimators 40a, 40b, and 40c applies also to the estimators 40d and 40e unless inconsistent. The estimator 40d shown in
In a case where the switching processor 203 in the estimator 40d or 40e is made to function as a switch like the switching processor 203a shown in
Moreover, in a case where the switching processor 203 in the estimator 40d or 40e is made to function as a switch like the switching processor 203a shown in
Configuring the estimator as in the fifth or sixth embodiment offers benefits similar to those obtained with the second or third embodiment.
Seventh EmbodimentIn the motor control devices according to the second to sixth embodiments described above, in-low-speed rotation, control based on the d-q axes is performed. Instead of control based on the d-q axes, control based on the axes determined according to a specified speed may be performed. As an embodiment in which control based on the axes that match a specified speed is performed in low-speed rotation, a seventh embodiment of the invention will be described below.
The motor drive system and the motor control device 3b shown in
In accordance with the above differences, the specified γ-axis voltage value vγ* and specified δ-axis voltage value vδ* outputted from the current controller 15 are, as they are, fed to the coordinate converter 18 (i.e., with no superposed voltages superposed on them); moreover, the specified δ-axis current value calculated by the speed controller 17 is first fed to the switch 46.
In low-speed rotation, that is, for example, when the rotation speed of the rotor of the motor 1 as represented by the specified motor speed value ω* is lower than a predetermined threshold speed VTH, the switch 46 feeds, as the specified δ-axis current value iδ*, a predetermined specified low-speed δ-axis current value iδ0* fed from a CPU (unillustrated) or the like to the subtracter 14 and the magnetic flux controller 47. On the other hand, in high-speed rotation, that is, for example, when the rotation speed of the rotor of the motor 1 as represented by the specified motor speed value ω* is higher than the threshold speed VTH, the switch 46 feeds, as the specified δ-axis current value iδ*, the specified δ-axis current value calculated by the speed controller 17 to the subtracter 14 and the magnetic flux controller 47.
The subtracter 14 calculates the current error (iδ*−iδ) between the specified δ-axis current value iδ* from the switch 46 and the δ-axis current iδ from the coordinate converter 12, and feeds the result of the calculation to the current controller 15. The subtracter 13 calculates the current error (iγ*−iγ) between the specified γ-axis current value iγ* from the magnetic flux controller 47 and the γ-axis current iγ from the coordinate converter 12, and feeds the result of the calculation to the current controller 15.
The axis error estimator 231 is similar to the second axis error estimator 202 in
To achieve a PLL (phase-locked loop), the proportional-plus-integral calculator 232 cooperates with different parts of the motor control device 3b to perform proportional-plus-integral control, and thereby calculates the estimated dm-axis speed ωm such that the axis error Δθm converges to zero. The estimated dm-axis speed ωm corresponds to the estimated value of the rotation speed of the dm-qm axes.
The switching processor 233 is similar to the switching processor 203a in
The integrator 234 integrates the estimated motor speed ωe outputted from the switching processor 233, and thereby calculates the estimated rotor position θe. The estimated motor speed ωe outputted from the switching processor 233 and the estimated rotor position θe, outputted from the integrator 234 are, as the output values of the estimator 45, fed to those parts of the motor control device 3b which require those values.
As shown in
The first magnetic flux controller 221a outputs a specified γ-axis current value for achieving low-speed control. The specified γ-axis current value outputted from the first magnetic flux controller 221a is dealt with as one candidate of iγ* to be outputted from the magnetic flux controller 47, and is represented by iγ1*.
The second magnetic flux controller 222 in
The iγ switching processor 223 in
With the configuration described above, in high-speed rotation, the ωe=ωm and in addition iγ*=iγ2*; thus, high-speed control based on the dm-qm axes is performed, and in addition the estimator 45 performs high-speed estimation processing for high-speed control. On the other hand, in low-speed rotation, ωe=ω* and in addition iγ*=iγ1*; thus, low-speed control based on the axes determined according to the specified speed (ω*) is performed, and in addition the estimator 45 performs low-speed estimation processing for low-speed control.
Now, the control axes (γ-δ axes) in low-speed control will be described.
A complementary description of the state here will be given below. Consider a current vector having a fixed vector magnitude. When the load torque is smaller than the maximum torque that the current vector can generate, operation is performed with the δ-axis lagging behind the q-axis such that the torque generated by the current vector matches the load torque (incidentally, if the load torque is larger than the maximum torque, synchronization failure occurs). Here,
-
- (1) the more the current vector lags behind the q-axis, the positive d-axis current increases, and the q-axis current decreases; thus the generated torque decreases;
- (2) if the generated torque is larger than the load torque, the rotation speed of the rotor increases; thus, the lag of the δ-axis relative to the q-axis tends to increase, and the generated torque decreases; and
- (3) by contrast, if the generated torque is smaller than the load torque, the rotation speed of the rotor decreases; thus, the lag of the δ-axis relative to the q-axis tends to decrease, and the generated torque increases.
In this way, operation is performed with a phase difference (between the q-axis and δ-axis) produced such that the load torque matches the generated torque.
The value of iγ1* may be zero, or may be positive. It is known that, in a state where ωe=ω*, giving iγ*(=iγ1*) a positive value generates a torque that locks the d-axis onto the γ-axis and thereby helps achieve enhanced stability in low-speed rotation (e.g., see JP-A-H11-018499 and JP-A-2001-190099).
In a case where iγ1* is given a positive value, it is advisable that, after the switching processor 233 switches ωe from ω* to the output value of the proportional-plus-integral calculator 232, iγ* be shifted from iγ1* to iγ2*. Moreover, the estimation of the dm-qm axes through calculation of Δθm and ωm is started at the same time that the output value of the switching processor 233 shown in
Incidentally, in a case where iγ1*=iγ2* as where iγ1* equals zero, the iγ switching processor 223 may be omitted from the magnetic flux controller 47 shown in
In the estimator 45 shown in
Configuring the motor control device as in this embodiment, too, permits proper switching between low-speed control and high-speed control, and offers benefits similar to those obtained with the second embodiment etc. Needless to say, as described previously, performing high-speed control based on the dm-qm axes helps simplify the adjustment of parameters and reduce the load of calculation.
Methods for Calculating the Axis Error Δθ
Next, the method by which the first axis error estimator 201 shown in
Now, consider a case where, as described in connection with the second embodiment, the superposed voltages generated by the superposed voltage generator 41 in
When the motor 1 is an interior permanent magnet synchronous motor or the like and Ld<Lq holds, the current vector locus of the superposed currents that are made to flow through the motor 1 by the superposed voltages describing the voltage vector locus 270 describe, on the γ-δ axes, an ellipse having its center at the origin, having its major axis on the γ-axis, and having its minor axis on the δ-axis, like the current vector locus 271 shown in
Let the γ-axis component and δ-axis component of the superposed currents be referred to as the γ-axis superposed current ihγ and the δ-axis superposed current ihδ, respectively. Then, their arithmetic product (ihγ×ihδ) contains a direct-current component that depends on the tilt of the ellipse described by the current vector locus 272. The arithmetic product (ihγ×ihδ) has a positive value in the first and third quadrants of the current vector locus, and has a negative value in the second and fourth quadrants of the current vector locus. Thus, when the ellipse is not tilted (as with the current vector locus 271), no direct-current component is contained; when the ellipse is tilted (as with the current vector locus 272), a direct-current component is contained. In
In
This is exploited by the first axis error estimator 201 shown in
The BPF 241 extracts the ωh frequency components from the γ-axis current iγ and δ-axis current iδ, and outputs the γ-axis superposed current ihγ and δ-axis superposed current ihδ. The BPF 241 is a band-pass filter that receives iγ and iδ as its input signals and whose pass band includes the frequency of ωh, with the center frequency of the pass band typically set at ωh. The BPF 241 eliminates the drive current frequency components.
The multiplier 242 calculates the arithmetic product of ihγ and ihδ, and the LPF 243 extracts the direct-current component of the arithmetic product (ihγ×ihδ). The coefficient multiplier 244 multiplies the direct-current component extracted by the LPF 243 by a coefficient of proportionality K, and calculates and outputs the result of the multiplication as the axis error Δθ.
The above description deals with a case where the superposed voltages form a rotating voltage whose voltage vector locus on the γ-δ axes describes a perfect circle; instead, the voltage vector locus may describe an ellipse having its minor or major axis on the γ-axis, or a line on the γ-axis or δ-axis (i.e., the superposed voltages may form an alternating voltage), or a rectangular having its center at the origin.
Methods for Calculating the Axis Error Δθm
Next, the method by which the second axis error estimator 202 in
It should be understood that, when the formulae noted below in connection with the first to fifth calculation methods are used in practice, the values of vγ*, vδ*, and ωe, are used as the values of vγ, vδ, and ω, respectively, in the formulae. It should also be understood that any description given in conjunction with a given calculation method (e.g., how to determine the value of Lm) is applicable to all the calculation methods.
First Calculation Method: First, a first calculation method for calculating the axis error Δθm will be described. In the first calculation method, the induction voltage vector Eex appearing in the motor 1 is considered to be broken down into an induction voltage vector on the qm-axis and an induction voltage vector on the dm-axis. Then, by using the induction voltage vector Eexm (≈Em; see
Let the γ-axis component and δ-axis component of the induction voltage vector Eexm be Eexmγ and Eexmδ, respectively. Then, as will be clear from
When Δθm is calculated according to formula (41), the differential terms p Ldiγ and p Ldiδ can be ignored. To calculate the value of Lm, which is necessary to calculate Δθm, formula (42) below is used. Formula (42) is obtained by substituting idm=0 and formulae (43) and (44) below in formula (32) above, then solving the resulting formula with respect to Lq1, and then using the result.
Furthermore, rearranging formula (42) above by using formula (45), which gives the d-axis current id that achieves maximum torque control, and formula (43), which expresses the relationship among id, iq, and iqm, gives Lm as a function of iqm (i.e., id and iq are removed from the formula for calculating Lm). Thus, by assuming that iδ≈iqm, the second axis error estimator 202 etc. can calculate, based on iδ, the value of Lm, which is now expressed as a function of iqm. Then, by use of the value of Lm thus calculated, the axis error Δθm is calculated according to formula (41).
Alternatively, assuming that iδ≈iqm, the value of Lm may be calculated according to an approximation formula that gives Lm as a function of iδ. Alternatively, table data containing different values of Lm corresponding to different values of iδ may be prepared beforehand so that an appropriate value of Lm is obtained by referring to the table data whenever necessary.
As in the first embodiment, the value of Lm is eventually so determined as to fulfill formula (46) or (47) below. In this way, as in the first embodiment, the motor control device 3a shown in
Ld≦Lm<Lq (46)
Ld≦Lm<(Ld+Lq)/2 (47)
Lm may have a fixed value. Specifically, Lm may be given a value that remains fixed irrespective of the value of iδ. In
Second Calculation Method: Next, a second calculation method for calculating Δθm will be described. As in the first calculation method described above, also in the second calculation method, the axis error Δθm is calculated by use of the induction voltage vector Eexm, and thereby the phase (θe) of the γ-axis, which is an axis estimated for control purposes, is calculated (i.e., the rotor position is estimated). The difference is that the second calculation method does not use the δ-axis component Eexmδ of the induction voltage vector Eexm. Specifically, the axis error Δθm is calculated according to formula (48) below. In formula (48), it is assumed that Δθm is small, and eventually an approximation is used such that sin−1(−Eexmγ/Eexm)≈(−Eexmγ/Eexm).
When Δθm is calculated according to formula (48), the differential term p Ldiγ can be ignored. The value of Lm is determined in the same manner as in the first calculation method described above.
Eexm in formula (48) is calculated according to formula (39) above. As an approximation formula for calculating Eexm, it is possible to use, for example, formula (49), (50), or (51) below. Formula (49) approximates formula (37) by use of the approximations “p Δθm≈0, idm≈0, and (Ld−Lq)(p iq)≈0”. Formula (50) further approximates formula (49) by use of the approximation “cos θm≈1”. Formula (51) further approximates formula (50) by use of the approximation “(Ld−Lq)iδ sin θm<<Φa”. When formulae (49), (50), and (51) are used, ωe is used as the value of ω.
Eexm≈ω((Ld−Lq)iδ sin θm+Φa)cos θm (49)
Eexm≈ω((Ld−Lq)iδ sin θm+Φa) (50)
Eexm≈ωΦa (51)
To calculate θm appearing in formula (49) etc., formula (40) above is used. As will be understood from formula (40), θm is a function of iδ, and thus Eexm also is a function of iδ. Since the calculation of Eexm is complicated, it is preferable to use an appropriate approximation formula to calculate it. Alternatively, table data containing different values of Eexm corresponding to different values of iδ may be prepared beforehand so that an appropriate value of Eexm is obtained by referring to the table data whenever necessary.
Third Calculation Method: Next, a third calculation method for calculating the axis error Δθm will be described. In the third calculation method, the flux linkage Φex around the armature winding of the motor 1 is considered to be broken down into a flux linkage vector on the qm-axis and a flux linkage vector on the dm-axis. Then, by using the Φexm(≈Φm; see
Let the γ-axis component and δ-axis component of the flux linkage vector Φexm be Φexmγ and Φexmδ, respectively. Then, as will be clear from
When Δθm is calculated according to formula (52), the differential terms p Ldiγ and p Ldiδ can be ignored. The value of Lm is determined in the same manner as in the first calculation method described above.
Fourth Calculation Method: Next, a fourth calculation method for calculating the axis error Δθm will be described. As in the third calculation method described above, also in the fourth calculation method, the axis error Δθm is calculated by use of the flux linkage vector Φexm, and thereby the phase (θe) of the γ-axis, which is an axis estimated for control purposes, is calculated (i.e., the rotor position is estimated). The difference is that the fourth calculation method does not use the γ-axis component Φexmγ of the flux linkage vector Φexm. Specifically, the axis error Δθm is calculated according to formula (53) below. In formula (53), it is assumed that Δθm is small, and eventually an approximation is used such that sin−1(−Φexmδ/Φexm)≈(−Φexmδ/Φexm).
When Δθm is calculated according to formula (53), the differential term p Ldiγ can be ignored. The value of Lm is determined in the same manner as in the first calculation method described above.
Φexm in formula (53) is calculated according to the formula obtained by dividing both sides of formula (39) by ω. As an approximation formula for calculating Φexm, it is possible to use, for example, formula (54), (55), or (56). Formulae (54), (55), or (56) are obtained by dividing both sides of formulae (49), (50), and (51), respectively, by ω. When formulae (54), (55), or (56) are used, ωe is used as the value of ω.
Φexm≈((Ld−Lq)iδ sin θm+Φa)cos θm (54)
Φexm≈((Ld−Lq)iδ sin θm+Φa) (55)
Φexm≈Φa (56)
To calculate θm appearing in formula (54) etc., formula (40) above is used. As will be understood from formula (40), θm is a function of iδ, and thus Φexm also is a function of iδ. Since the calculation of Φexm is complicated, it is preferable to use an appropriate approximation formula to calculate it. Alternatively, table data containing different values of Φexm corresponding to different values of iδ may be prepared beforehand so that an appropriate value of Φexm is obtained by referring to the table data whenever necessary.
Let K(iδ)=1/Φexm, and regard K(iδ) as a coefficient of compensation. Then, when the fourth calculation method is used, the internal configuration of the second axis error estimator 202 etc. is as shown in
Fifth Calculation Method: Next, a fifth calculation method for calculating the axis error Δθm will be described. In the fifth calculation method, by use of the error current between the current on the dm-qm axes (the current through the motor model) and the current on the γ-δ axes, the axis error Δθm is calculated, and thereby the phase (θe) of the γ-axis, which is an axis estimated for control purposes, is calculated (i.e., the rotor position is estimated).
The method will now be described by way of formulae. Ignoring the third term of the right side of formula (38) gives formula (57) below.
When discretization is performed at a sampling period of Ts, formula (57) can be rearranged to formula (58) below.
On the other hand, the estimated currents iMγ and iMδ obtained through the calculation by the second axis error estimator 202 etc. are given by formula (59) below by use of estimated induction voltages EMexmγ and EMexmδ, which are the values of Eexmγ and Eexmδ as calculated on a model basis.
The second axis error estimator 202 etc. calculates the estimated induction voltages EMexmγ and EMexmδ as estimated values of Eexmγ and Eexmδ, respectively. Moreover, since the estimated currents iMγ and iMδ are calculated by use of Lm instead of Lq, the estimated currents iMγ and iMδ can be called currents that estimate the dm-axis and qm-axis components of the motor current Ia.
The differences between the currents iγ and iδ based on the fixed-axis components (iu and iv) of the motor current Ia detected by the current detector 11 and the estimated currents iMγ and iMδ obtained through calculation are called the error currents Δiγ and Δiδ, and are given by formula (60), which is based on formulae (58) and (59).
Here, ΔEexmγ is the error between the induction voltage Eexmγ and the estimated induction voltage EMexmγ, which is an estimated value of the Eexmγ, and ΔEexmδ is the error between the induction voltage Eexmδ and the estimated induction voltage EMexmδ, which is an estimated value of the Eexmδ.
As will be clear from formula (60), the errors (ΔEexmγ, etc.) of the estimated values of the induction voltages are proportional to the error currents (Δiγ, etc.). Thus, the errors of the estimated values of the induction voltages can be made to converge by use of the error currents. That is, the estimated induction voltages EMexmγ and EMexmδ can be used as correct estimates of the induction voltages Eexmγ and Eexmδ (the induction voltages can be estimated correctly).
Specifically, the estimated induced voltages now are calculated by use of the estimated induced voltages and the estimation errors before. More specifically, according to formula (61), the estimated induction voltages EMexmγ and EMexmδ are calculated cyclically. Here, g represents the feedback gain for making the errors of the estimated values of the induction voltages converge.
Then, as in the first or second calculation method described above, according to formula (62) or (63) below, the axis error Δθm is calculated.
In formulae (58) to (63), parenthesized symbols (“n” and “n−1”) represent the count of the sampling cycle in a case where discretization is performed at a sampling period of Ts. The symbol n stands for a natural number, and represents the next sampling cycle after the sampling cycle (n−1). The parts constituting the motor control device 3a or 3b calculate and output values cyclically every sampling period of Ts. Specifically, iγ(n) and iδ(n) represent iγ and iδ in the nth sampling cycle, and iγ(n−1) and iδ(n−1) represent iγ and iδ in the (n−1)th sampling cycle. The same applies to other symbols.
When the axis error Δθm calculated as described above is made to converge to zero so that the γ-axis follows the dm-axis, then iγ and iδ follow idm and iqm, respectively. That is, it can be said that, when high-speed control is performed, the motor control device 3a or 3b breaks down the current flowing through the motor 1 into qm-axis and dm-axis components, and drives and controls the motor 1.
Modifications and Variations
Any description given above in conjunction with a given embodiment applies to any other embodiment unless inconsistent. All specific values given in the above description are merely examples, and thus may quite naturally be altered to different values.
According to the description above, in the first embodiment, iγ* is set at zero or approximately zero; in the second to seventh embodiments, when high-speed control is performed, iγ* is set at zero or approximately zero. Instead, at rotation speeds at which flux-weakening control needs to be performed, it is needless to say possible to output iγ* having a value that suits such rotation speeds.
The current detector 11 may be configured to directly detect the motor current as shown in
All or part of the functions of the motor control device of each embodiment are realized, for example, with software (programs) incorporated into a general-purpose microcomputer or the like. When a motor control device is realized on a software basis, the block diagrams showing the configuration of relevant parts of the motor control device serve as functional block diagrams. Needless to say, it is also possible to realize a motor control device on a hardware basis alone, without using software (programs).
The second to seventh embodiments have been described as intended to achieve maximum torque control (or control approximate to it) when high-speed control is performed. It is however also possible to exploit what has been described above to achieve desired vector control different from maximum torque control. Needless to say, even then, it is possible to obtain the benefits described above, such as simplified parameter adjustment.
For example, in the second to seventh embodiments, a rotating axis that further leads in phase the rotating axis whose direction coincides with the direction of the current vector to be supplied to the motor 1 to achieve maximum torque control may be adopted as the qm-axis. This helps reduce iron loss, and thus helps enhance motor efficiency. By appropriately setting the lead of the qm-axis in phase, it is possible even to achieve maximum efficiency control.
To achieve maximum torque control, the value of Lm is calculated according to formula (42) above. Using as Lm a value smaller than the value calculated according to formula (42) above helps enhance motor efficiency.
For switching between low-speed control and high-speed control, in the second to sixth embodiments, the estimated axes are switched between the d-q axes and the dm-qm axes; in the seventh embodiment, the estimated axes are switched between the axes based on a specified speed and the dm-qm axes. These configurations, however, are in no way meant to limit the present invention. That is, the axes estimated when low-speed control is performed may be any axes other than the d-q axes and the axes based on a specified speed, and the axes estimated when high-speed control is performed may be any axes other than the dm-qm axes. Wherever the axes estimated when low-speed control is performed are different from the axes estimated when high-speed control is performed, it is possible to use a technique for switching between different types of control (and estimation processing) like those described in connection with the second to seventh embodiments.
The parts of the motor control device 3 shown in
In each embodiment, the coordinate converters 12 and 18, the subtracters 13 and 14, and the current controller 15 together constitute a specified voltage calculator. The magnetic flux controller (16, 44, or 47), the speed controller 17, and the subtracter 19 together constitute a specified current calculator.
In the present specification, for the sake of simplicity, a status quantity or the like is often referred to by its symbol (iγ etc.) alone. For example, in the present specification, “iγ” and “the γ-axis current iγ” denote the same thing.
The present invention is suitable for all kinds of electric appliance employing a motor; it is suitable for, for example, electric cars that exploit the rotation of a motor to run, and compressors and the like employed in air conditioners and the like.
There is no restriction whatsoever on how to derive (or estimate) any of the values that need to be derived (or estimated), which include the various specified values (iγ*, iδ*, vγ*, vδ*, etc.) and other status quantities (ωe etc.) mentioned above. Specifically, these values may be derived (or estimated) through calculation within the motor control device (3, 3a, etc.), or may be derived (or estimated) from table data prepared beforehand.
Claims
1. A motor control device comprising:
- an estimator estimating a rotor position of a motor; and
- a controller controlling the motor based on the estimated rotor position,
- wherein
- let two mutually perpendicular rotating axes that rotate as a rotor of the motor rotates be called an x1-axis and a y1-axis,
- let a rotating axis different from the x1-axis be called an x2-axis, and
- let a rotating axis perpendicular to the x2-axis be called a y2-axis,
- control performed by the controller can be switched between a first type of control by which, for a purpose of controlling the motor, the controller breaks down a motor current flowing through the motor into an x1-axis component parallel to the x1-axis and a y1-axis component parallel to the y1-axis, and a second type of control by which, for a purpose of controlling the motor, the controller breaks down the motor current into an x2-axis component parallel to the x2-axis and a y2-axis component parallel to the y2-axis.
2. The motor control device according to claim 1, wherein
- estimation processing performed by the estimator can be switched between a first type of estimation processing whereby the estimator makes the controller perform the first type of control and a second type of estimation processing whereby the estimator makes the controller perform the second type of control, and
- the estimation processing actually performed by the estimator is switched between the first and second types of estimation processing according to speed information representing a rotation speed of the rotor.
3. The motor control device according to claim 1, wherein
- let an axis parallel to a magnetic flux produced by a permanent magnet forming the rotor be called a d-axis,
- let an axis leading the d-axis by an electrical angle of 90 degrees be called a q-axis,
- let a rotating axis whose direction coincides with a direction of a current vector that achieves maximum torque control, or a rotating axis further leading that rotating axis in phase, be called a qm-axis, and
- let a rotating axis perpendicular to the qm-axis be called a dm-axis,
- the x1-axis and the y1-axis are the d-axis and the q-axis, respectively, or axes based on a given specified speed value, and
- the x2-axis and the y2-axis are the dm-axis and the qm-axis, respectively.
4. The motor control device according to claim 2, wherein
- when the estimation processing actually performed by the estimator is switched between the first and second types of estimation processing, a shift from one type of estimation processing to the other is made through estimation processing whereby results of the first and second types of estimation processing are taken into consideration according to the speed information or according to a length of time that has passed since a start of the switching.
5. The motor control device according to claim 2, wherein
- the estimator comprises: a first estimation processor deriving a value for estimating a phase of the x1-axis relative to a predetermined fixed axis; and a second estimation processor deriving a value for estimating a phase of the x2-axis relative to the fixed axis,
- the phase of the x1-axis estimated based on the value derived by the first estimation processor represents the rotor position as supposed to be estimated when the first type of estimation processing is performed, and the phase of the x2-axis estimated based on the value derived by the second estimation processor represents the rotor position as supposed to be estimated when the second type of estimation processing is performed,
- the second estimation processor can derive a value for estimating the phase of the x1-axis by using a first predetermined inductance as a calculation parameter corresponding to a q-axis inductance of the motor and, when deriving the value for estimating the phase of the x2-axis, uses, as the calculation parameter, a second predetermined inductance different from the first inductance, and
- when the estimation processing actually performed by the estimator is switched from the first estimation processing to the second estimation processing, the calculation parameter used by the second estimation processor is temporarily made equal to the first inductance and is then made to vary toward the second inductance so as to eventually converge to the second inductance, and based on the value derived by the second estimation processor while the calculation parameter is so varying, the rotor position is estimated during the switching.
6. The motor control device according to claim 2, wherein
- the estimator comprises: a first estimation processor deriving a value for estimating a phase of the x1-axis relative to a predetermined fixed axis, and a second estimation processor deriving a value for estimating a phase of the x2-axis relative to the fixed axis,
- the phase of the x1-axis estimated based on the value derived by the first estimation processor represents the rotor position as supposed to be estimated when the first type of estimation processing is performed, and the phase of the x2-axis estimated based on the value derived by the second estimation processor represents the rotor position as supposed to be estimated when the second type of estimation processing is performed,
- when the estimation processing actually performed by the estimator is switched from the first estimation processing to the second estimation processing, the first estimation processor can derive a value for temporarily estimating the phase of the x2-axis, and
- when the estimation processing actually performed by the estimator is switched from the first estimation processing to the second estimation processing, prior to the switching, the value derived by the first estimation processor is temporarily made to converge to the value derived by the second estimation processor for estimating the phase of the x2-axis, and, after completion of the convergence, the switching from the first estimation processing to the second estimation processing is actually performed.
7. The motor control device according to claim 1, wherein
- let an axis parallel to a magnetic flux produced by a permanent magnet forming the rotor be called a d-axis, and
- let an axis estimated, for control purposes, as corresponding to the d-axis be called a γ-axis,
- when the control actually performed by the controller is switched between the first and second types of control, a specified γ-axis current value that should be followed by a γ-axis component of the motor current is switched between a specified current value for the first type of control and a specified current value for the second type of control.
8. The motor control device according to claim 7, wherein
- when the control actually performed by the controller is switched between the first and second types of control, the specified γ-axis current value is derived based on both the specified current values for the first and second types of control.
9. A motor drive system comprising:
- a motor;
- an inverter driving the motor; and
- the motor control device according to claim 1, the motor control device controlling the motor by controlling the inverter.
5264773 | November 23, 1993 | Koyama et al. |
6329781 | December 11, 2001 | Matsui et al. |
6636008 | October 21, 2003 | Yamada et al. |
6768280 | July 27, 2004 | Kitajima |
7112931 | September 26, 2006 | Kitajima |
7248989 | July 24, 2007 | Bae |
7388246 | June 17, 2008 | Ahn et al. |
20010019251 | September 6, 2001 | Nakazawa |
20010024100 | September 27, 2001 | Shinnaka |
20020113615 | August 22, 2002 | Atarashi |
20070119634 | May 31, 2007 | Egami et al. |
20070194763 | August 23, 2007 | Egami et al. |
20070241703 | October 18, 2007 | Yamada et al. |
10-094298 | April 1998 | JP |
11-018499 | January 1999 | JP |
2001-190099 | July 2001 | JP |
3411878 | June 2003 | JP |
- “Position and Speed Sensorless Control for IPMSM Based on Estimation of Position Error”, Sigeo Morimoto et al., T.IEE Japan, vol. 122-D, No. 7, 2002, pp. 722-729, published in 2002.
Type: Grant
Filed: Jun 25, 2007
Date of Patent: Sep 29, 2009
Patent Publication Number: 20080001571
Assignee: Sanyo Electric Co., Ltd. (Osaka)
Inventor: Yoshio Tomigashi (Hirakata)
Primary Examiner: Paul Ip
Attorney: NDQ&M Watchstone LLP
Application Number: 11/819,067
International Classification: H02P 21/14 (20060101);