Motor control device

- Sanyo Electric Co., Ltd.

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.

Skip to: Description  ·  Claims  ·  References Cited  · Patent History  ·  Patent History
Description

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 INVENTION

1. 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 FIG. 37, common sensorless control (e.g., high-speed sensorless control) will be described.

FIG. 37 is a block diagram of a conventional motor control device 103. In the configuration shown in FIG. 37, the axes estimated, for control purposes, to correspond to the d-axis and q-axis assumed for vector control of a motor are shown as the γ-axis and δ-axis, respectively. FIG. 39 shows the relationship among the d-axis, q-axis, γ-axis, and δ-axis. In FIG. 39, the symbol Eex represents the voltage vector generally called the extension induction voltage (extended electromotive force).

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.

FIG. 38 shows the internal configuration of the estimator 120. The estimator 120 includes an axis error estimator 130, a proportional-plus-integral calculator 131, and an integrator 132. The axis error estimator 130 estimates the axis error Δθ between the d-axis and γ-axis. The axis error estimator 130 calculates the axis error Δθ according to, for example, formula (1) below. Here, Ld and Lq represent the d-axis inductance and q-axis inductance of the motor 1, and Ra represents the motor resistance of the motor 1; s represents the Laplace operator. There have been proposed various methods for estimating the rotor position, of which many use, as an operation parameter, the value of the q-axis inductance of the motor in the estimation formula, as in formula (1) below.

Δθ = tan - 1 ( - E ex γ E ex δ ) = tan - 1 ( - ( v γ * - ( R a + L d s ) i γ + ω e L q i δ ) v δ * - ( R a + L d s ) i δ - ω e L q i γ ) ( 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.

i γ * = Φ a 2 ( L q - L d ) - Φ a 2 4 ( L q - L d ) 2 + i δ * 2 ( 2 )

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 FIG. 37, the specified γ-axis current value iγ* is calculated according to formula (2).

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 FIG. 37, adjustments are made beforehand to minimize such errors.

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 FIGS. 37 to 39 deals with the operation of common sensorless control, conventional motor control devices that use a plurality of control methods switch among different control methods within a single coordinate system so that the rotation axes (d-q axes) to be estimated do not change between before and after a switch. From the perspective of easy adjustment of the operation parameters, reduction of calculation amount, or any other benefit, however, switching within a single coordinate system is not always be the optimum choice.

SUMMARY OF THE INVENTION

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.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an outline of the configuration of a motor drive system according to a first embodiment of the invention;

FIG. 2 is an analysis model diagram of the motor in the first embodiment of the invention;

FIG. 3 is a configuration block diagram of the motor drive system shown in FIG. 1;

FIG. 4 is an internal block diagram of the position/speed estimator shown in FIG. 3;

FIG. 5 is a diagram showing the relationship between the q-axis current that achieves maximum torque control and the q-axis inductance as a calculation parameter, as observed in the condition that makes the γ-axis current equal to zero;

FIG. 6 is a diagram showing a comparison between ideal maximum torque control and the control in the motor drive system shown in FIG. 1;

FIG. 7 is a diagram showing the relationship between the q-axis inductance as an operation parameter and the motor current, as observed in the conditions that makes the γ-axis current equal to zero;

FIG. 8 is a vector diagram illustrating the operation of the motor shown in FIG. 1;

FIG. 9 is a diagram showing a modified example of the position/speed estimator shown in FIG. 3;

FIG. 10 is a block diagram showing an outline of the configuration of a motor drive system according to a second embodiment of the invention;

FIG. 11 is an analysis model diagram of the motor in the second embodiment of the invention;

FIG. 12 is an analysis model diagram of the motor in the second embodiment of the invention;

FIG. 13 is a diagram showing an example of the current locus of the motor current flowing through the motor shown in FIG. 10;

FIG. 14 is a configuration block diagram of the motor drive system shown in FIG. 10;

FIG. 15 is an internal block diagram of a position/speed estimator usable as the position/speed estimator shown in FIG. 14 (a first configuration example);

FIG. 16 is a diagram illustrating the operation of the switching processor shown in FIG. 15;

FIG. 17 is a diagram illustrating the operation of the switching processor shown in FIG. 15;

FIG. 18 is an internal block diagram of a magnetic flux controller usable as the magnetic flux controller shown in FIG. 14;

FIG. 19 is a modified internal block diagram showing the position/speed estimator shown in FIG. 15, according to a third embodiment of the invention;

FIG. 20 is a diagram showing the operation of the position/speed estimator shown in FIG. 19;

FIG. 21 is a modified internal block diagram showing the position/speed estimator shown in FIG. 15, according to the third embodiment of the invention;

FIG. 22 is an internal block diagram of a magnetic flux controller usable as the magnetic flux controller shown in FIG. 14;

FIG. 23 is an internal block diagram of a position/speed estimator usable as the position/speed estimator shown in FIG. 14 (a second configuration example);

FIG. 24 is an internal block diagram of a position/speed estimator usable as the position/speed estimator shown in FIG. 14 (a third configuration example);

FIG. 25 is a block diagram showing an outline of the configuration of a motor drive system according to a seventh embodiment of the invention;

FIG. 26 is an internal block diagram of the position/speed estimator and the magnetic flux controller shown in FIG. 25;

FIG. 27 is a diagram showing the current vector observed when low-speed control is performed in the motor control device shown in FIG. 25;

FIG. 28 is a diagram showing the current vector observed when low-speed control is performed in the motor control device shown in FIG. 25;

FIG. 29 is a diagram illustrating the method for calculating the axis error Δθ estimated by the first axis error estimator shown in FIG. 15, the diagram showing an example of the voltage vector locus of the superposed voltage generated by the superposed voltage generator shown in FIG. 14;

FIG. 30 is a diagram showing the current vector locus of the superposed current that flows through the motor as the result of the superposition of the superposed voltage shown in FIG. 29;

FIG. 31 is a diagram showing the arithmetic product, along with its direct-current component, of the γ-axis component and δ-axis component of the superposed current that flows through the motor as the result of the superposition of the superposed voltage shown in FIG. 29;

FIG. 32 is a diagram showing the arithmetic product, along with its direct-current component, of the γ-axis component and δ-axis component of the superposed current that flows through the motor as the result of the superposition of the superposed voltage shown in FIG. 29;

FIG. 33 is an internal block diagram of the first axis error estimator shown in FIG. 15;

FIG. 34 is a graph showing the qm-axis current dependence of the inductances in the second and other embodiments of the invention;

FIG. 35 is a diagram showing a comparison between ideal maximum torque control and the control (high-speed control) in the motor drive system according to the second and other embodiments of the invention;

FIG. 36 is a diagram showing an example of the internal configuration of the second axis error estimator etc. shown in FIG. 15;

FIG. 37 is a configuration block diagram of a conventional motor control device;

FIG. 38 is an internal block diagram of the position/speed estimator shown in FIG. 37; and

FIG. 39 is a vector diagram illustrating the operation of the motor shown in FIG. 37.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

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 Embodiment

FIG. 1 is a block configuration diagram of a motor drive system according to a first embodiment of the invention. The reference numeral 1 represents a three-phase permanent-magnet synchronous motor 1 (hereinafter referred to simply as “the motor 1”) that has a permanent magnet on a rotor (unillustrated) and that has an armature winding on a stator (unillustrated). The motor 1 is a salient-pole motor (a motor having a salient pole) as exemplified by an interior permanent magnet synchronous motor.

The 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.

FIG. 2 is an analysis model diagram of the motor 1. In the following description, “the armature winding” denotes the one provided in the motor 1. FIG. 2. shows the armature winding fixed axes of U-, V-, and W-phases. The reference numeral 1a represents the permanent magnet constituting the rotor of the motor 1. In a rotating coordinate system that rotates at the same speed as the magnetic flux produced by the permanent magnet 1a, the direction of the magnetic flux produced by the permanent magnet 1a is assumed to be the d-axis, and the axis estimated, for control purposes, to correspond to the d-axis is referred to as the γ-axis. Moreover, although not illustrated, the direction at a phase leading the d-axis by an electrical angle of 90 degrees is assumed to be the q-axis, and the axis estimated at a phase leading the γ-axis by an electrical angle of 90 degrees is referred to as the δ-axis. The rotating coordinate system that corresponds to the actual axes is the one having the d-axis and q-axis as its coordinate axes, and these coordinate axes are referred to as the d-q axes. The rotating coordinate system estimated for control purposes (the estimated rotating coordinate system) is the one having the γ-axis and δ-axis as its coordinate axes, and these coordinate axes are referred to as the γ-δ axes.

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.

FIG. 3 is a configuration block diagram of the motor drive system, and shows the internal configuration of the motor control device 3 shown in FIG. 1. The motor control device 3 includes a current detector 11, a coordinate converter 12, a subtracter 13, a subtracter 14, a current controller 15, a magnetic flux controller 16, a speed controller 17, a coordinate converter 18, a subtracter 19, and a position/speed estimator 20 (hereinafter referred to simply as “the estimator 20”). These parts constituting the motor control device 3 can freely use, whenever necessary, any of the values generated within the motor control device 3.

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.

[ i γ i δ ] = 2 [ sin ( θ e + π / 3 ) sin θ e cos ( θ e + π / 3 ) cos θ e ] [ i u i v ] ( 3 )

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.

[ v u * v v * ] = 2 3 [ cos θ e - sin θ e cos ( θ e - 2 π / 3 ) - sin ( θ e - 2 π / 3 ) ] [ v γ * v δ * ] v w * = - ( v u * + v v * ) ( 4 )

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.

FIG. 4 shows an example of the internal configuration of the estimator 20. The estimator 20 shown in FIG. 4 includes an axis error estimator 30, a proportional-plus-integral calculator 31, and an integrator 32.

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 FIG. 38 calculates the axis error Δθ according to formula (1) above, the axis error estimator 30 shown in FIG. 4 calculates the axis error Δθ′ according to formula (5) below.

Δθ = tan - 1 ( - ( v γ * - ( R a + L d s ) i γ + ω e Li δ ) v δ * - ( R a + L d s ) i δ - ω e Li γ ) ( 5 )

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 FIG. 37). According to a feature characteristic to this embodiment, however, the calculation parameter L is set so as to fulfill formula (6) below. Specifically, a value intermediate between the actual q-axis inductance (i.e., Lq) and the actual d-axis inductance (i.e., Ld) of the motor 1 is adopted as an operation parameter corresponding to the q-axis inductance, and then the axis error is calculated. Here, needless to say, Ld<Lq holds.
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.

R a - R a ω i γ - ( L q - L q ) i δ = sin Δθ { Φ a + ( L d - L q ) ( i γ cos Δθ + i δ sin Δθ ) } ( 8 )

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.

i d i d 2 + i q 2 { Φ a + ( L d - L q ) i d } + ( L q - L ) i d 2 + i q 2 = 0 ( 9 )

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.

i d = Φ a 2 ( L q - L d ) - Φ a 2 4 ( L q - L d ) 2 + i q 2 ( 10 ) L = L q + - 2 ( L q - L d ) 3 i q 2 Φ a 2 - Φ a Φ a 2 + 4 ( L d - L q ) 2 i q 2 + 4 ( L d - L q ) 2 i q 2 ( 11 )

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 FIG. 5. In a case where the specified γ-axis current value iγ* is made equal to zero, the value of L that achieves maximum torque control is largely in the range of 0.003 H to 0.0042 H when 1 A≦iq≦40 A. That is, in a case where the specified γ-axis current value iγ* is made equal to zero, the value of L that achieves maximum torque control falls notably closer to Ld (in the case under discussion, 0.003 H) than to Lq (in the case under discussion, 0.008 H).

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 FIG. 6. The solid line 61 there represents the relationship between the d-axis current id and q-axis current iq as observed in a case where maximum torque control is performed in an ideal fashion. FIG. 6 shows that the broken line 62 and the solid line 61 describe very similar curves.

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 FIG. 5, when iq=30 A, L=0.0039 H; thus, quite naturally, the solid line 61 and the broken line 62 in crosses each other at iq=30 A.

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 FIG. 7, the value of L that puts the magnitude of the motor current Ia 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 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 FIGS. 37 and 38 require both adjustment of calculation parameters for estimating the rotor position and adjustment of calculation parameters for achieving maximum torque control, this embodiment only requires adjustment of the calculation parameter L for estimating the rotor position to achieve control close to maximum torque control. Thus, second, the time required for adjustment can be reduced greatly, leading to higher efficiency in terms of use of time.

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 FIG. 5, even with iγ*≈0, it is possible to achieve maximum torque control in an ideal fashion (in this case, the solid line 61 and the broken line 62 in FIG. 6 completely overlap). Incidentally, how the calculation parameter L is varied according to the value of the q-axis current iq (according to the value of the specified δ-axis current value iδ*) is studied beforehand at the stage of designing.

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.

v γ * = ( K cp + K ci s ) ( i γ * - i γ ) - ω e L q i δ ( 12 a ) v δ * = ( K cp + K ci s ) ( i δ * - i δ ) + ω e ( L d i γ + Φ a ) ( 12 b ) i δ * = ( K sp + K is / s ) · ( ω * - ω e ) ( 13 ) ω e = ( K p + K i / s ) · Δθ ( 14 )

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.

Δθ = tan - 1 ( - e γ e δ ) = tan - 1 - g s + g ( v γ + ω e L q i δ - ( L d s + R a ) i γ ) g s + g ( v δ - ω e L q i γ - ( L d s + R a ) i δ ) ( 15 )

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 FIG. 4, the axis error estimator 30 can calculate the axis error Δθ′ according to formula (16) below. Formula (16) is obtained by replacing Δθ and Lq in formula (15) above with Δθ′ and L, respectively. Then, as in the configuration shown in FIG. 4, the proportional-plus-integral calculator 31 calculates the estimated motor speed ωe and the integrator 32 calculates the estimated rotor position θe such that the axis error Δθ′ converges to zero. This produces a deviation between the d-axis and γ-axis.

Δθ = tan - 1 ( - e γ e δ ) = tan - 1 - g s + g ( v γ + ω e Li δ - ( L d s + R a ) i γ ) g s + g ( v δ - ω e Li γ - ( L d s + R a ) i δ ) ( 16 )

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 FIG. 4, a configuration may be adopted that estimates the axis error (rotor position) from the flux linkage that produces the induction voltage. Now, a description will be given of this method. To begin with, the extension induction voltage equation on the real axes is generally given as formula (17) below. The term Eex in formula (17) is given by formula (18), and is called the extension induction voltage (extended electromotive force). In the following formulae, p represents the differential operator.

[ v d v q ] = [ R a + pL d - ω L q ω L q R a + pL d ] [ i d i q ] + [ 0 E ex ] ( 17 ) E ex = ω ( ( L d - L q ) i d + Φ a ) - ( L d - L q ) ( p i q ) ( 18 )

Performing coordinate conversion such that formula (17) on the real axes is converted to one on the control axes gives formula (19) below.

[ v γ v δ ] = [ R a + pL d - ω L q ω L q R a + pL d ] [ i γ i δ ] + E ex [ - sin Δθ cos Δθ ] + ( ω e - ω ) L d [ - i δ i γ ] ( 19 )

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)ida  (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.

[ v γ v δ ] = [ R a + pL d - ω L q ω L q R a + pL d ] [ i γ i δ ] + E ex [ - sin Δθ cos Δθ ] = [ R a + pL d - ω L q ω L q R a + pL d ] [ i γ i δ ] + ωΦ ex [ - sin Δθ cos Δθ ] ( 21 )

FIG. 8 is a vector diagram showing the relationship among the voltages at different parts in the motor 1 etc. The motor voltage Va is given as the sum of the extension induction voltage Eex=ωΦex, the voltage drop vector Ra·Ia across the motor resistance Ra, and the voltage drop vector VL across the inductance of the armature winding. Since the extension magnetic flux Φex is the sum of the magnetic flux Φa produced by the permanent magnet and the magnetic flux (Ld−Lq) id produced by the d-axis current, the direction of the vector coincides with that of the d-axis. The vector represented by Lq·Ia is the vector of the magnetic flux produced by the q-axis inductance and the motor current Ia, and the reference numeral 70 represents the composite magnetic flux vector of Φex and Lq·Ia.

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.

Φ ex sin Δθ = - ( v γ - ( L d s + R a ) i γ ω + L q i δ ) ( 22 )

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.

Φ δ = Φ ex sin Δθ = - ( v γ - ( L d s + R a ) i γ ω + L q i δ ) Φ a sin Δθ Φ a Δθ ( 23 )

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 (FIG. 2) parallel to the δ-axis). That is, an approximation is made such that Φδ≈(a fixed value)×Δθ. Thus, also by performing control such that Φδ converges to zero, it is possible to make the axis error Δθ converge to zero. That is, it is possible to estimate the rotor position and the motor speed based on Φδ.

Accordingly, the estimator 20 shown in FIGS. 3 and 4 can be replaced with the estimator 20a shown in FIG. 9. The estimator 20a includes a δ-axis magnetic flux estimator 33, a proportional-plus-integral calculator 31a, and an integrator 32a. To make the axis error Δθ converge to zero, the δ-axis magnetic flux estimator 33 has simply to estimate the δ-axis magnetic flux Φδ; here, on the same principle as described above, to intentionally produce a deviation between the d-axis and γ-axis, the δ-axis magnetic flux estimator 33 estimates the δ-axis magnetic flux Φδ′ according to formula (24) below. That is, the δ-axis magnetic flux estimator 33 estimates the δ-axis magnetic flux Φδ′ by use of, as a calculation parameter corresponding to the q-axis inductance, a value of L that fulfills formula (6) or (7) above, instead of the actual value of Lq.

Φ δ = - ( v γ * - ( L d s + R a ) i γ ω e + Li δ ) ( 24 )

The proportional-plus-integral calculator 31a is similar to the proportional-plus-integral calculator 31 shown in FIG. 4; specifically it 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 magnetic flux Φδ′ calculated by the δ-axis magnetic flux estimator 33 converges to zero. The integrator 32a integrates the estimated motor speed ωe outputted from the proportional-plus-integral calculator 31a to calculate the estimated rotor position θe. The estimated motor speed ωe outputted from the proportional-plus-integral calculator 31a and the estimated rotor position θe outputted from the integrator 32a are, as the output values of the estimator 20a, fed to those parts of the motor control device 3 which require those values.

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.

Φ δ = - Φ a ( L d - L ) i γ + Φ a ( v γ * - ( L d s + R a ) i γ ω e + Li δ ) ( 25 )

Second Embodiment

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.

FIG. 10 is a block configuration diagram of a motor drive system according to a second embodiment of the invention. The motor drive system according to the second embodiment includes a motor 1, an inverter 2, and a motor control device 3a.

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.

FIGS. 11 and 12 are analysis model diagrams of the motor 1, as applied to this embodiment. FIG. 11. shows the armature winding fixed axes of U-, V-, and W-phases. In this embodiment, the d-axis, q-axis, γ-axis, and δ-axis, the actual rotor position θ, the estimated rotor position θe, the axis error Δθ, the actual motor speed ω, and the estimated motor speed ωe are defined in the same manner as in the first embodiment (see FIG. 2).

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 FIG. 6 representing the current locus obtained when maximum torque control is achieved, the motor current that achieves maximum torque control has a positive q-axis component and a negative d-axis component. Thus, the qm-axis leads the q-axis in phase. In FIGS. 11 and 12, a rotation counter-clockwise means a lead in phase.

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 Δθ=Δθmm.

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 FIG. 12 will be described later.

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 FIG. 13. Thus, to achieve maximum torque control, there is no need to perform the complicated calculation expressed by formula (2) above to calculate specified γ-axis current value iγ*. This helps reduce the load of calculation. Specifically, when high-speed control is performed, the specified γ-axis current value iγ* is set at a predetermined value equal or close to zero irrespective of the value of iδ.

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.

[ v d v q ] = [ R a + pL d - ω L q ω L q R a + pL d ] [ i d i q ] + [ 0 E ex ] ( 26 ) E ex = ω ( ( L d - L q ) i d + Φ a ) - ( L d - L q ) ( p i q ) ( 27 )

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

[ v γ v δ ] = [ R a + pL d - ω L q ω L q R a + pL a ] [ i γ i δ ] + E ex [ - sin Δθ cos Δθ ] - ( p Δθ ) L d [ - i δ i γ ] ( 28 ) [ v γ v δ ] = [ R a + pL d - ω L q ω L q R a + pL d ] [ i γ i δ ] + E ex [ - sin Δθ cos Δθ ] ( 29 )

Rearranging formula (29) in terms of the dm-qm axes gives the formula (30).

[ v dm v qm ] = [ R a + pL d - ω L q ω L q R a + pL d ] [ i dm i qm ] + E ex [ - sin θ m cos θ m ] ( 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 θma+(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.

[ v dm v qm ] = [ R a + pL d - ω ( L q + L q 1 ) ω L q R a + pL d ] [ i dm i qm ] + E m [ 0 1 ] ( 33 ) E m = ( ω ( ( L d - L q ) i d + Φ a ) - ( L d - L q ) ( pi q ) ) cos θ m = E ex cos θ m ( 34 )

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.

[ v dm v qm ] = [ R a + pL d - ω L m ω L q R a + pL d ] [ i dm i qm ] + E m [ 0 1 ] ( 35 )

Further rearranging the formula (35) gives formula (36) below. Here, Eexm is given by formula (37) below.

[ v dm v qm ] = [ R a + pL d - ω L m ω L m R a + pL d ] [ i dm i qm ] + [ 0 E m ] + ω ( L q - L m ) [ 0 0 1 0 ] [ i dm i qm ] = [ R a + pL d - ω L m ω L m R a + pL d ] [ i dm i qm ] + [ 0 E m + ω ( L q - L m ) i dm ] = [ R a + pL d - ω L m ω L m R a + pL d ] [ i dm i qm ] + [ 0 E exm ] ( 36 ) E exm = ( ω ( ( L d - L q ) i d + Φ a ) - ( L d - L q ) ( pi q ) ) cos θ m + ω ( L q - L m ) i dm = E m + ω ( L q - L m ) i dm ( 37 )

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).

[ v γ v δ ] = [ R a + pL d - ω L m ω L m R a + pL d ] [ i γ i δ ] + E exm [ - sin Δθ m cos Δθ m ] - ( p Δθ m ) L d [ - i δ i γ ] ( 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).

E exm = ( ω ( ( L d - L q ) i d + Φ a ) - ( L d - L q ) ( pi q ) ) cos θ m + ω ( L q - L m ) i dm ( ω ( ( L d - L q ) i δ sin θ m + Φ a ) - ( L d - L q ) ( pi q ) ) cos θ m + ω ( L q - L m ) i dm ω ( ( L d - L q ) i δ sin θ m + Φ a ) cos θ m ( 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δ.

θ m = sin - 1 ( Φ a - Φ a 2 + 4 ( L q - L m ) ( L q - L d ) i δ 2 2 i δ ( L q - L d ) ) ( 40 )

Now, with reference to FIG. 12, a description will be given of the relationship among Eex, Em, and Eexm. Consider Eex, Em, and Eexm to be voltage vectors in a rotating coordinate system. Then, Eex can be called an extension induction voltage vector. The extension induction voltage vector Eex is an induction voltage vector on the q-axis. Moreover, consider the extension induction voltage vector Eex to be broken down into an induction voltage vector on the qm-axis and an induction voltage vector on the dm-axis. As will be understood from formula (34) above, of these broken down induction voltage vectors, the induction voltage vector on the qm-axis is Em; on the other hand, the induction voltage vector on the dm-axis (Eex·sin θm) represented by the reference numeral 80 in FIG. 12 is a voltage drop vector ascribable to the imaginary inductance Lq1 .

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 FIG. 12, a description will be given also of the magnetic flux corresponding to Eex, Em, and Eexm. Eex is an induction voltage generated by the Φex, which is the flux linkage of the motor 1, and the rotation of the motor 1 (see formula (20) above). Put conversely, Φex is calculated by dividing Eex by ω (provided that the transient term (the second term of the right side) of Eex given by formula (27) is ignored).

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 FIG. 12, is a magnetic flux vector ascribable to the imaginary inductance Lq1.

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—FIG. 14: Next, a specific example of a motor drive system exploiting the formulae noted above will be described. FIG. 14 is a configuration block diagram of a motor drive system, and shows the details of the internal configuration of the motor control device 3a shown in FIG. 10. The motor control device 3a includes a current detector 11, a coordinate converter 12, a subtracter 13, a subtracter 14, a current controller 15, a magnetic flux controller 44, a speed controller 17, a coordinate converter 18, a subtracter 19, a position/speed estimator 40 (hereinafter referred to simply as “the estimator 40”), a superposed voltage generator 41, and adders 42 and 43. These parts constituting the motor control device 3a can freely use, whenever necessary, any of the values generated within the motor control device 3a.

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 v* for vγ*(the γ-axis component of the superposed voltages) and a δ-axis superposed voltage v* for vδ* (the δ-axis component of the superposed voltages). The γ-axis superposed voltage v* and δ-axis superposed voltage v* are also collectively called the superposed voltages v* and V*.

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 v* to the specified γ-axis voltage value vγ* outputted from the current controller 15, and feeds the result (vγ*+v*) of the addition to the coordinate converter 18. The adder 43 adds the δ-axis superposed voltage v* to the specified δ-axis voltage value vδ* outputted from the current controller 15, and feeds the result (vδ*+v*) 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 v* superposed on it (i.e., (vγ*+v*)) and the specified δ-axis voltage value vδ* having v* superposed on it (i.e., (vδ*+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) above, with vγ* and vδ* replaced with (vγ*+v*) and (vδ*+v*).

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.

FIG. 15 is an internal block diagram of a position/speed estimator 40a (hereinafter referred to simply as “the estimator 40a”) as a first configuration example of the estimator 40 shown in FIG. 14. The estimator 40a can be used as the estimator 40 in FIG. 14.

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.

θ m = tan - 1 - ( v γ - ( R a + pL d ) i γ + ω L m i δ ) v δ - ( R a + pL d ) i δ - ω L m i γ ( A 1 )

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 FIG. 16, when the rotation speed represented by the speed information is in the range between the first threshold speed VTH1 and the second threshold speed VTH2, the weighted average of the first and second input values is calculated such that, as the rotation speed increases, the contribution of the second input value to the output value increases and that, as the rotation speed decreases, the contribution of the first input value to the output value increases.

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 FIG. 17, at time point t1 at which the rotation speed represented by the speed information turns from lower than the first threshold speed VTH1 to higher than the first threshold speed VTH1, the output value starts to be switched from the first input value to the second input value. Just at time point t1, the output value is, for example, equal to the first input value. Then, the weighted average of the first and second input values is calculated such that, as the time that has passed since time point t1 increases, the contribution of the second input value to the output value increases. Then, when a predetermined time has passed since time point t1—the time point at which the switching was started, the output value is made equal to the second input value, and the switching is finished. Similar operations are performed when the rotation speed represented by the speed information turns from higher than the second threshold speed VTH2 to lower than the second threshold speed VTH2. In a case where weighted averaging is performed in accordance with the time that has passed since the start of switching, the first threshold speed VTH1 and the second threshold speed VTH2 may be equal.

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 FIG. 15, the output value of the switching processor 203 is fed to the proportional-plus-integral calculator 204, which functions as a speed estimator. To achieve a PLL (phase-locked loop), the proportional-plus-integral calculator 204 cooperates with different parts of the motor control device 3a to perform proportional-plus-integral control, and thereby calculates the estimated motor speed ωe such that the output value of the switching processor 203 converges to zero. The integrator 205 integrates the estimated motor speed ωe outputted from the proportional-plus-integral calculator 204 to calculate the estimated rotor position θe. The estimated motor speed ωe outputted from the proportional-plus-integral calculator 204 and the estimated rotor position θe outputted from the integrator 205 are, as the output values of the estimator 40a, fed to those parts of the motor control device 3a which require those values.

FIG. 18 is an internal block diagram of a magnetic flux controller 44a as an example of the configuration of the magnetic flux controller 44 shown in FIG. 14. The magnetic flux controller 44a can be used as the magnetic flux controller 44 in FIG. 14.

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 FIG. 14.

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.

i γ 1 * = Φ a 2 ( L q - L d ) - Φ a 2 4 ( L q - L d ) 2 + i δ * 2 ( A 2 )

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 FIG. 15, the iγ switching controller 223 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 iγ switching controller 223 outputs iγ1* as iγ*; if it is higher than a predetermined second threshold speed VTH2, the iγ switching controller 223 outputs iγ2* as iγ*.

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 FIG. 16) shown in FIG. 15, when the rotation speed represented by the speed information is in the range between the first threshold speed VTH1 and the second threshold speed VTH2, the weighted average of iγ1* and iγ2* is calculated such that, as the rotation speed increases, the contribution of iγ2* to iγ* increases and that, as the rotation speed decreases, the contribution of iγ1* to iγ* increases.

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 FIG. 17, at time point t1 at which the rotation speed represented by the speed information turns from lower than the first threshold speed VTH1 to higher than the first threshold speed VTH1, the output value (iγ*) starts to be switched from the first input value (iγ1*) to the second input value (iγ2*). Just at time point t1, the output value (iγ*) is, for example, equal to the first input value (iγ1*). Then, the weighted average of the first and second input values (iγ1* and iγ2*) is calculated such that, as the time that has passed since time point t1 increases, the contribution of the second input value (iγ2*) to the output value (iγ*) increases. Then, when a predetermined time has passed since time point t1—the time point at which the switching was started, the output value (iγ*) is made equal to the second input value (iγ2*), and the switching is finished. Similar operations are performed when the rotation speed represented by the speed information turns from higher than the second threshold speed VTH2 to lower than the second threshold speed VTH2. In a case where weighted averaging is performed in accordance with the time that has passed since the start of switching, the first threshold speed VTH1 and the second threshold speed VTH2 may be equal.

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 FIG. 14 generate the superposed voltages; on the other hand, whenever, as in high-speed rotation, the axis error Δθ calculated by the first axis error estimator 201 is not needed, the superposed voltage generator 41 may be stopped from generating the superposed voltages. This is because what is needed to calculate the axis error Δθm is the drive current components that flow in accordance with the drive voltages (vγ* and vδ*) and the superposed current components act as noise to the calculation of the axis error Δθm.

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 (i and i 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 Embodiment

The switching processor 203 shown in FIG. 15 may be made to function simply as a switch that switches between the first and second input values. Now, an example where the switching processor 203 is made to function as a switch will be described as a third embodiment of the invention. All the description of the second embodiment applies also to this embodiment unless inconsistent.

FIG. 19 is an internal block diagram of the position/speed estimator 40b (hereinafter referred to simply as “the estimator 40b”) according to the third embodiment. In the estimator 40b, the switching processor functions as a switch. The switching processor in the estimator 40b is called the switching processor 203a. The switching processor 203a provides an example of the configuration of the switching processor 203. The estimator 40b can be used as the estimator 40 shown in FIG. 14.

The estimator 40b shown in FIG. 19 differs from the estimator 40a shown in FIG. 15 in that the switching processor 203 in the latter is replaced with the switching processor 203a; in other respects, they are the same.

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 FIG. 19 is used, for example, in combination with the magnetic flux controller 44a shown in FIG. 18. In a case where the axis error fed to the proportional-plus-integral calculator 204 is switched swiftly from Δθ to Δθm, in consideration of the response of the above-mentioned PLL control, it is advisable that the specified γ-axis current value iγ* be varied gradually from iγ1* to iγ2*. The same applies in a case where the axis error fed to the proportional-plus-integral calculator 204 is switched swiftly from Δθm to Δθ.

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 FIG. 20, at the moment of the switching (i.e., at time point T1), the second axis error estimator 202 is made to estimate Δθ. This is achieved by making the second axis error estimator 202 use, as the calculation parameter corresponding to the q-axis inductance, not Lm but Lq.

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 FIG. 20, iγ* be increased gradually from iγ1* toward iγ2* in coordination with the variation of the calculation parameter corresponding to the q-axis inductance. Specifically, at time point T1, iγ* is made equal to iγ1*; as time passes from time point T1 to time point T2, iγ* is increased; and at time point T2 and thereafter, iγ* is made equal to iγ2*.

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 FIG. 19 may be modified as shown in FIG. 21. FIG. 21 is an internal block diagram of the position/speed estimator 40c (hereinafter referred to simply as “the estimator 40c”) as such a modified example. The estimator 40c can be used as the estimator 40 shown in FIG. 14. The processing performed with the estimator 40c is called switching smoothing processing β.

The estimator 40c shown in FIG. 21 differs from the estimator 40b shown in FIG. 19 in that the former additionally includes a subtracter 211; in other respects, they are the same. Accordingly, no overlapping description regarding the common features will be repeated. Additionally including the subtracter 211, the estimator 40c operates in the following characteristic manner.

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 FIG. 14 as iδ in formula (40) above, the θm calculator calculates θm according to formula (40) above. Here, table data containing different values of θm corresponding to different values of iδ may be prepared beforehand so that an appropriate value of θm is obtained by referring to the table data whenever necessary.

Fourth Embodiment

The iγ switching controller 223 shown in FIG. 18 may be made to function simply as a switch that switches between the first and second input values. Now, an example where the iγ switching controller 223 is made to function as a switch will be described as a fourth embodiment of the invention.

FIG. 22 is an internal block diagram of the magnetic flux controller 44b according to the fourth embodiment. In the magnetic flux controller 44b, the iγ switching processor functions as a switch. The iγ switching processor in the magnetic flux controller 44b is called the iγ switching processor 223a. The iγ switching processor 223a provides an example of the configuration of the iγ switching controller 223. The magnetic flux controller 44b can be used as the magnetic flux controller 44 shown in FIG. 14. The magnetic flux controller 44b may be used in combination with any of the second and third embodiments described above and the fifth and sixth embodiments described later.

The magnetic flux controller 44b shown in FIG. 22 differs from the magnetic flux controller 44a shown in FIG. 18 in that the iγ switching controller 223 in the latter is replaced with the iγ switching processor 223a; in other respects, they are the same.

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 FIG. 19, the iγ switching processor 223a operates as follows: if the rotation speed represented by the speed information is lower than a predetermined threshold speed VTH, the iγ switching processor 223a outputs iγ1*—the first input value—as iγ* and, if it is higher than the threshold speed VTH, the iγ switching processor 223a outputs iγ2*—the second input value—as iγ*.

Fifth Embodiment

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 FIG. 14. In a fifth embodiment of the invention, a position/speed estimator 40d (hereinafter referred to simply as “the estimator 40d”) will be described as a second configuration example of the estimator 40 shown in FIG. 14.

FIG. 23 is an internal block diagram of the estimator 40d. The estimator 40d can be used as the estimator 40 shown in FIG. 14.

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 FIG. 15. The differences are: when calculating the axis error Δθ, whenever necessary, the first axis error estimator 201 uses the output value of the proportional-plus-integral calculator 206 (the first candidate speed ωe1 described later) as the estimated motor speed ωe; likewise, when calculating the axis error Δθm, whenever necessary, the second axis error estimator 202 uses the output value of the proportional-plus-integral calculator 207 (the second candidate speed ωe2 described later) as the estimated motor speed ωe.

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 FIG. 15, and may be a switch like the switching processor 203a shown in FIG. 19. The difference is that, in the estimator 40d, the first and second input values to the switching processor 203 are the first and second candidate speed ωe1 and ωe2, respectively. Thus, the switching processor 203 in the estimator 40d outputs the first candidate speed ωe1, the second candidate speed ωe2, or a weighted average of the two according to speed information representing the rotation speed of the rotor of the motor 1. As the speed information, it is advisable to use the specified motor speed value ω*. In the estimator 40d, the output value of the switching processor 203 is outputted as the estimated motor speed ωe.

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 Embodiment

Next, a position/speed estimator 40e (hereinafter referred to simply as “the estimator 40e”) as a third configuration example of the estimator 40 shown in FIG. 14 will be described as a sixth embodiment of the invention.

FIG. 24 is an internal block diagram of the estimator 40e. The estimator 40e can be used as the estimator 40 shown in FIG. 14.

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 FIG. 23. The integrator 209 integrates the first candidate speed ωe1 outputted from the proportional-plus-integral calculator 206, and thereby calculates a first candidate position θe1. The first candidate position θe1 corresponds to the estimated value of the phase θ (the estimated phase) of the d-axis relative to the U-phase armature winding fixed axis. The integrator 210 integrates the second candidate speed ωe2 outputted from the proportional-plus-integral calculator 207, and thereby calculates a second candidate position θe2. The second candidate position θe2 corresponds to the estimated value of the phase (θ−θm) (the estimated phase) of the dm-axis relative to the U-phase armature winding fixed axis.

The switching processor 203 in the estimator 40e is similar to that in the estimator 40a shown in FIG. 15, and may be a switch similar to the switching processor 203a shown in FIG. 19. The difference is that, in the estimator 40e, the first and second input values to the switching processor 203 are the first candidate positions θe1 and θe2, respectively. Thus, the switching processor 203 in the estimator 40e outputs the first candidate position θe1, the second candidate position θe2, or a weighted average of the two according to speed information representing the rotation speed of the rotor of the motor 1. As the speed information, it is advisable to use the specified motor speed value ω*. In the estimator 40e, the output value of the switching processor 203 is outputted as the estimated rotor position θe.

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 FIG. 23 and the estimator 40e shown in FIG. 24 are used in combination with the magnetic flux controller 44a shown in FIG. 18 or the magnetic flux controller 44b shown in FIG. 22.

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 FIG. 19, switching smoothing processing a described above can be applied to the estimator 40d or 40e. Specifically, in the estimator 40d or 40e, immediately after the switching of the output value of the switching processor 203 from the first input value to the second input value, Lq is used as the calculation parameter corresponding to the q-axis inductance to make the second axis error estimator 202 calculate the axis error Δθ. Thereafter, as time passes, or with the increase in the rotation speed of the rotor represented by speed information, the calculation parameter is decreased gradually from Lq toward Lm until it eventually converges to Lm.

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 FIG. 19, switching smoothing processing β described above corresponding to FIG. 21 can be applied to the estimator 40d or 40e. Specifically, in the estimator 40d or 40e, a subtracter like the subtracter 211 shown in FIG. 21 is provided between the first axis error estimator 201 and the proportional-plus-integral calculator 206, and the output value (Δθ−Δθ*) of the subtracter is fed to the proportional-plus-integral calculator 206. Then, before the switching of the output value of the switching processor 203 from the first input value to the second input value, temporarily the output value (Δθ−Δθ*) of the subtracter is made to converge toward the output value Δθm of the second axis error estimator 202; after completion of the convergence of this value, the switching processor 203 actually performs switching.

Configuring the estimator as in the fifth or sixth embodiment offers benefits similar to those obtained with the second or third embodiment.

Seventh Embodiment

In 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.

FIG. 25 is a configuration block diagram of a motor drive system according to the seventh embodiment. The motor drive system according to the seventh embodiment includes a motor 1, a PWM inverter 2, and a motor control device 3b. The motor control device 3b includes a current detector 11, a coordinate converter 12, a subtracter 13, a subtracter 14, a current controller 15, a magnetic flux controller 47, a speed controller 17, a coordinate converter 18, a subtracter 19, a position/speed estimator 45 (hereinafter referred to simply as “the estimator 45”), and a switch 46. These parts constituting the motor control device 3b can freely use, whenever necessary, any of the values generated within the motor control device 3b.

The motor drive system and the motor control device 3b shown in FIG. 25 differ from the motor drive system and the motor control device 3a shown in FIG. 14 in that the estimator 40 and the magnetic flux controller 44 in the latter are replaced with the estimator 45 and the magnetic flux controller 47 here, that the switch 46 is additionally provided here, and that the superposed voltage generator 41 and the adders 42 and 43 are omitted here; in other respects, they are the same. Accordingly, the following description proceeds with emphasis placed on the difference between the two, and no overlapping description will be repeated unless necessary.

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.

FIG. 26 is an internal block diagram of the estimator 45 and the magnetic flux controller 47. The estimator 45 includes an axis error estimator 231, a proportional-plus-integral calculator 232, a switching processor 233, and an integrator 234.

The axis error estimator 231 is similar to the second axis error estimator 202 in FIG. 15; specifically, 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 axis error estimator 231 estimates the axis error Δθm between the dm-axis and the γ-axis. Here, whenever necessary, the axis error estimator 231 uses the output value of the proportional-plus-integral calculator 232 (the value of the estimated dm-axis speed ωm described later) as the estimated motor speed ωe. The axis error Δθm estimated by the axis error estimator 231 is fed to the proportional-plus-integral calculator 232, which functions as a speed estimator.

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 FIG. 19; specifically, according to speed information (ω* or ωe) representing the rotation speed of the rotor of the motor 1, the switching processor 233 outputs, as an output value, either the specified motor speed value ω*, which it receives as a first input value, or the estimated dm-axis speed ωm, which it receives as a second input value. More specifically, if the rotation speed represented by the speed information is lower than a predetermined threshold speed VTH, the switching processor 233 outputs the first input value (ω*) as the output value; if it is higher than the threshold speed VTH, the switching processor 233 outputs the second input value (ωm) as the output value. The output value of the switching processor 233 is dealt with as the estimated motor speed ωe.

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 FIG. 26, the magnetic flux controller 47 includes a first magnetic flux controller 221a, a second magnetic flux controller 222, and an iγ switching processor 223. The first magnetic flux controller 221a and the second magnetic flux controller 222 receive the specified δ-axis current value iδ* from the switch 46.

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 FIG. 26 is similar to that in FIG. 18, and outputs a specified γ-axis current value for achieving a high-speed control. The specified γ-axis current value outputted from the second magnetic flux controller 222 is dealt with as another candidate of iγ* to be outputted from the magnetic flux controller 47, and is represented by iγ2*. To achieve maximum torque control, iγ2* is set at a predetermined value equal or close to zero irrespective of iδ*.

The iγ switching processor 223 in FIG. 26 is similar to that in FIG. 18; according to speed information (ω* or ωe), the iγ switching processor 223 outputs, as iγ*, iγ1* outputted from the first magnetic flux controller 221a, iγ2* outputted from the second magnetic flux controller 222, or a weighted average of the two.

With the configuration described above, in high-speed rotation, the ωem 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. FIG. 27 shows the current vector on the rotating coordinate system as observed when ωe=ω* and in addition iγ*=iγ1*=0. In this case, the direction of the current vector is parallel to the δ-axis, and its magnitude is equal to the magnitude (iδ0) of iδ0*. Operation is performed with the δ-axis lagging behind the q-axis such that the torque generated by that current vector matches the load torque.

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). FIG. 28 shows the current vector on the rotating coordinate system as observed when iγ*(=iγ1*) is given a positive value in a state where ωe=ω*.

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 FIG. 26 is switched from ω* to the output value of the proportional-plus-integral calculator 232. Here, it is advisable to appropriately initialize the value integrated through the proportional-plus-integral calculation in the proportional-plus-integral calculator 232 so that, immediately after the start of estimation, the initial value of the output value of the proportional-plus-integral calculator 232 equals ω*. Moreover, at the same time that the output value of the switching processor 233 is switched from ω* to the output value of the proportional-plus-integral calculator 232, the switch 46 shown in FIG. 25 is so switched that iδ* to be fed to the subtracter 14 etc. is switched from iδ0* to the output value of the speed controller 17. Here, it is advisable to appropriately initialize the value integrated through the proportional-plus-integral calculation in the speed controller 17 so that, immediately after the switching, the initial value of the output value of the speed controller 17 equals iδ0*.

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 FIG. 26 and instead either iγ1* or iγ2* is used as iγ* all the time.

In the estimator 45 shown in FIG. 26, switching between control based on the dm-qm axes and control based on the axes determined according to a specified speed is performed at the stage of the estimated speed. Alternatively, this switching may be performed at the stage of the estimated position, just as the estimator 40d in FIG. 23 is modified to the estimator 40e in FIG. 24. Performing the switching at the stage of the estimated speed, however, offers the advantage that, as a result of the estimated value (θe) of the rotor position being calculated through integrating calculation, the estimated value does not become discontinuous at switching. Thus, it is preferable to perform the switching at the stage of the estimated speed as in the estimator 45 shown in FIG. 26.

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 FIG. 15 etc. calculates the axis error Δθ will be described. As described earlier, there have conventionally been proposed many methods for estimating (calculating) the axis error Δθ based on high-frequency superposed components, and any such method may be used to calculate Δθ. Here, as an example, one method proposed by the applicant of the present invention will be described.

Now, consider a case where, as described in connection with the second embodiment, the superposed voltages generated by the superposed voltage generator 41 in FIG. 14 form a rotating voltage. In this case, on the γ-δ axes, the voltage vector locus of the superposed voltages describes a circle like the voltage vector locus 270 in FIG. 29. In a case where the superposed voltages are three-phase balanced voltages, their voltage vector describes, on the γ-δ axes, a perfect circle having its center at the origin, like the voltage vector locus 270. Since this rotating voltage (formed by the superposed voltages) is a high-frequency voltage that is not synchronous with the motor 1, application of that rotating voltage to the motor 1 does not cause it to rotate.

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 FIG. 30. Here, the current vector locus 271 is one observed when the axis error Δθ between the d-axis and γ-axis is zero. When the axis error Δθ is non-zero, the current vector locus of the superposed currents describes an ellipse like the current vector locus 272, and its major axis does not coincide with the γ-axis. That is, when the axis error Δθ is non-zero, on the γ-δ axes, the current vector locus 271 tilts about the origin to describe the current vector locus 272 instead.

Let the γ-axis component and δ-axis component of the superposed currents be referred to as the γ-axis superposed current i and the δ-axis superposed current i, respectively. Then, their arithmetic product (i×i) contains a direct-current component that depends on the tilt of the ellipse described by the current vector locus 272. The arithmetic product (i×i) 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 FIG. 30, the symbols I, II, III, and IV represent the first, second, third, and fourth quadrants on the γ-δ axes.

In FIG. 31, along the horizontal axis representing the lapse of time, the arithmetic product (i×i) and the direct-current component contained in it as observed when the axis error Δθ is zero are represented by curves 280 and 281, respectively. In FIG. 32, along the horizontal axis representing the lapse of time, the arithmetic product (i×i) and the direct-current component contained in it as observed when the axis error Δθ is non-zero are represented by curves 282 and 283, respectively. As will be understood from FIGS. 31 and 32, the direct-current component contained in the arithmetic product (i×i) is zero when Δθ=0°, and is non-zero when Δθ≠0°. Moreover, this direct-current component increases as the magnitude of the axis error Δθ increases (it is largely proportional to the axis error Δθ). Thus, controlling the direct-current component such that it converges to zero makes the axis error Δθ converge to zero.

This is exploited by the first axis error estimator 201 shown in FIG. 15 etc. to estimate the axis error Δθ. FIG. 33 shows an internal block diagram of the first axis error estimator 201. The first axis error estimator 201 shown in FIG. 33 includes a BPF (band-pass filter) 241, a multiplier 242, an LPF (low-pass filter) 243, and a coefficient multiplier 244. Now, let the frequency of the superposed voltages v* and v* (the electrical angular velocity on the γ-δ axes) be ωh.

The BPF 241 extracts the ωh frequency components from the γ-axis current iγ and δ-axis current iδ, and outputs the γ-axis superposed current i and δ-axis superposed current i. 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 i and i, and the LPF 243 extracts the direct-current component of the arithmetic product (i×i). 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 FIG. 15 etc. and the axis error estimator 231 in FIG. 26 calculate the axis error Δθm will be described. There are various methods applicable for calculating the axis error Δθm. As examples of different methods for calculating the axis error Δθm, a first to a fifth calculating method will be presented below.

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 FIG. 12), which is the induction voltage vector on the qm-axis, 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).

Let the γ-axis component and δ-axis component of the induction voltage vector Eexm be Eexmγ and Eexmδ, respectively. Then, as will be clear from FIG. 12, Δθm=tan−1(−Eexmγ/Eexmδ) holds. Then, by use of the result of rearrangement of the first and second rows of the matrix formula (38) above, Δθm is given by formula (41) below (provided that the third term of the right side of matrix formula (38) is ignored). In formula (41), it is assumed that Δθm is small, and eventually an approximation is used such that tan(−Eexmγ/Eexmδ)≈(−Eexmγ/Eexmδ).

θ m = tan - 1 - E exm γ E exm δ = tan - 1 - ( v γ - ( R a + pL d ) i γ + ω L m i δ ) v δ - ( R a + pL d ) i δ - ω L m i γ - v γ - ( R a + pL d ) i γ + ω L m i δ v δ - ( R a + pL d ) i δ - ω L m i γ ( 41 )

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.

L m = L q + L q 1 = L q + i d { Φ a + ( L d - L q ) i d } i d 2 + i q 2 ( 42 ) i qm = i d 2 + i q 2 ( 43 ) sin θ m = i d i d 2 + i q 2 ( 44 )

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).

i d = Φ a 2 ( L q - L d ) - Φ a 2 4 ( L q - L d ) 2 + i q 2 ( 45 )

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.

FIG. 34 is a graph showing the dependence of Ld, Lq, and Lm on iqm in a certain numerical example (assuming that iγ*≈0). As shown in FIG. 34, the value of Lm depends on iqm, and increases as iqm increases. Here, Lm corresponds to the calculation parameter L in the first embodiment; like L, the value of Lm that achieves maximum torque control falls notably closer to Ld than to Lq (see also FIGS. 5 and 7).

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 FIG. 14 etc. achieve control approximate to maximum torque control by intentionally producing a deviation between the d-axis and γ-axis and in addition making iγ*≈0.
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 FIG. 35, a solid line 83 represents the relationship between the d-axis current id and the q-axis current iq as observed when Lm is given a predetermined fixed value; a broken line 84 represents the relationship between the d-axis current id and the q-axis current iq as observed when maximum torque control is performed in an ideal fashion. As will be understood from FIG. 35, the curves of the solid line 83 and the broken line 84 are very similar.

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).

θ m = sin - 1 ( - E exm γ E exm ) = sin - 1 - ( v γ - ( R a + pL d ) i γ + ω L m i δ ) E exm v γ - ( R a + pL d ) i γ + ω L m i δ E exm ( 48 )

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 θma)cos θm  (49)
Eexm≈ω((Ld−Lq)iδ sin θma)   (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 FIG. 12), which is the flux linkage vector on the dm-axis, 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).

Let the γ-axis component and δ-axis component of the flux linkage vector Φexm be Φexmγ and Φexmδ, respectively. Then, as will be clear from FIG. 12, Δθm=tan−1(−Φexmδexmγ) holds. Since Φexm equals Eexm divided by ω, Δθm is given by formula (52) below. In formula (52), it is assumed that Δθm is small, and eventually an approximation is used such that tan−1(−Φexmδexmγ)≈(−Φexmδexmγ).

θ m = tan - 1 - Φ exm δ Φ exm γ = tan - 1 - ( v γ - ( R a + pL d ) i γ ω + L m i δ ) v δ - ( R a + pL d ) i δ ω - L m i γ - v γ - ( R a + pL d ) i γ ω + L m i δ v δ - ( R a + pL d ) i δ ω - L m i γ ( 52 )

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).

θ m = sin - 1 ( - Φ exm δ Φ exm ) = sin - 1 - ( v γ - ( R a + pL d ) i γ ω + L m i δ ) Φ exm - ( v γ - ( R a + pL d ) i γ ω + L m i δ ) Φ exm ( 53 )

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 θma)cos θm   (54)
Φexm≈((Ld−Lq)iδ sin θma)   (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 FIG. 36. Instead of using the coefficient of compensation K(iδ), it is also possible to vary the gains (coefficients of proportionality and of integration) used in the proportional-plus-integral calculators according to the value of iδ.

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.

[ v γ v δ ] = [ R a + pL d - ω L m ω L m R a + pL d ] [ i γ i δ ] + E exm [ - sin Δθ m cos Δθ m ] = [ R a + pL d - ω L m ω L m R a + pL d ] [ i γ i δ ] + [ E exm γ E exm δ ] ( 57 )

When discretization is performed at a sampling period of Ts, formula (57) can be rearranged to formula (58) below.

[ i γ ( n ) i δ ( n ) ] = [ 1 - R a L d T s ω ( n - 1 ) L m L d T s - ω ( n - 1 ) L m L d T s 1 - R a L d T s ] [ i γ ( n - 1 ) i δ ( n - 1 ) ] + T s L d [ v γ ( n - 1 ) v δ ( n - 1 ) ] - T s L d [ E exm γ ( n - 1 ) E exm δ ( n - 1 ) ] ( 58 )

On the other hand, the estimated currents i and i 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.

[ i M γ ( n ) i M δ ( n ) ] = [ 1 - R a L d T s ω ( n - 1 ) L m L d T s - ω ( n - 1 ) L m L d T s 1 - R a L d T s ] [ i γ ( n - 1 ) i δ ( n - 1 ) ] + T s L d [ v γ ( n - 1 ) v δ ( n - 1 ) ] - T s L d [ E Mexm γ ( n - 1 ) E Mexm δ ( n - 1 ) ] ( 59 )

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 i and i are calculated by use of Lm instead of Lq, the estimated currents i and i 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 i and i 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).

[ Δ i γ ( n ) Δ i δ ( n ) ] = [ i γ ( n ) i δ ( n ) ] - [ i M γ ( n ) i M δ ( n ) ] = - T s L d [ E exm γ ( n - 1 ) - E Mexm γ ( n - 1 ) E exm δ ( n - 1 ) - E Mexm δ ( n - 1 ) ] = - T s L d [ Δ E exm γ ( n - 1 ) Δ E exm δ ( n - 1 ) ] ( 60 )

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.

[ E Mexm γ ( n ) E Mexm δ ( n ) ] = [ E Mexm γ ( n - 1 ) E Mexm δ ( n - 1 ) ] + g [ Δ E exm γ ( n - 1 ) Δ E exm δ ( n - 1 ) ] = [ E Mexm γ ( n - 1 ) E Mexm δ ( n - 1 ) ] - g · L d T s [ Δ i γ ( n ) Δ i δ ( n ) ] ( 61 )

Then, as in the first or second calculation method described above, according to formula (62) or (63) below, the axis error Δθm is calculated.

Δθ m = tan - 1 - E Mexm γ ( n ) E Mexm δ ( n ) - E Mexm γ ( n ) E Mexm δ ( n ) ( 62 ) Δθ m = sin - 1 - E Mexm γ ( n ) E exm - E Mexm γ ( n ) E exm ( 63 )

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 FIG. 3 etc; instead, it may be configured to reproduce the motor current from an instantaneous current in the DC current from the power supply and thereby detect the motor current.

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 FIG. 3 excluding the estimator 20 together constitute a controller. The parts of the motor control device 3a shown in FIG. 14 excluding the estimator 40 together constitute a controller. In the motor control device 3a in FIG. 14, the controller may be regarded as including, or not including, the superposed voltage generator 41. The parts of the motor control device 3b shown in FIG. 25 excluding the estimator 45 together constitute a controller.

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.
Referenced Cited
U.S. Patent Documents
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.
Foreign Patent Documents
10-094298 April 1998 JP
11-018499 January 1999 JP
2001-190099 July 2001 JP
3411878 June 2003 JP
Other references
  • “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.
Patent History
Patent number: 7595604
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