CONTROL DEVICE OF ROTATING MACHINE, AND CONTROL DEVICE OF ELECTRIC VEHICLE
20210391814 · 2021-12-16
Assignee
Inventors
Cpc classification
H02P21/24
ELECTRICITY
Y02T10/64
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
Abstract
Provided is a control device for a rotating machine including a magnetic pole position estimation unit, a vector calculation unit, a current command correction unit configured to correct a first d-axis current command and a first q-axis current command, to thereby output a second d-axis current command and a second q-axis current command, a voltage application unit configured to superimpose a high-frequency voltage including a specific frequency component on voltage commands on rotational coordinates. The magnetic pole position estimation unit is configured to estimate the position of the magnetic pole based on a state quantity of the specific frequency component. The current command correction unit is configured to correct the current commands so that a current amplitude of electrical angle frequency components is equal to or larger than a half of a current amplitude of the specific frequency component.
Claims
1. A control device for a rotating machine, comprising: a magnetic pole position estimation unit configured to estimate a position of a magnetic pole of a rotor based on a state quantity of the rotating machine; a vector calculation unit configured to obtain a magnetic pole position estimated value which is an estimation result obtained by the magnetic pole position estimation unit, and to generate a d-axis current and a q-axis current based on a detection result of a phase current in each phase flowing through the rotating machine; a current command correction unit configured to correct a first d-axis current command and a first q-axis current command, to thereby output a second d-axis current command and a second q-axis current command; a current control unit configured to generate voltage commands on rotational coordinates so that the d-axis current matches the second d-axis current command and the q-axis current matches the second q-axis current command; a voltage application unit configured to superimpose, on the voltage commands on the rotational coordinates, a high-frequency voltage including a specific frequency component at a high frequency with respect to electrical angle frequency components in synchronization with the number of rotations of the rotating machine; and a voltage control unit which is configured to obtain the magnetic pole position estimated value, and to convert the voltage commands on the rotational coordinates after the superimposition by the voltage application unit to voltage commands on fixed coordinates, to thereby control voltages to be applied to the rotating machine, wherein the magnetic pole position estimation unit is configured to estimate the position of the magnetic pole based on a state quantity of the specific frequency component, and wherein the current command correction unit is configured to correct the first d-axis current command and the first q-axis current command so that a current amplitude of the electrical angle frequency components is equal to or larger than a half of a current amplitude of the specific frequency component, to thereby output the second d-axis current command and the second q-axis current command.
2. The control device for a rotating machine according to claim 1, wherein the magnetic pole position estimation unit is configured to obtain the detection result of the phase current in each phase flowing through the rotating machine as the state quantity, and to estimate the position of the magnetic pole based on the specific frequency component included in the detection result of the phase current in each phase.
3. The control device for a rotating machine according to claim 2, wherein the current command correction unit is configured to correct the first d-axis current command toward a negative direction in accordance with the detection result of the phase current in each phase.
4. The control device for a rotating machine according to claim 1, wherein the magnetic pole position estimation unit is configured to obtain a detection result of an output torque of the rotating machine as the state quantity, and to estimate the position of the magnetic pole based on the specific frequency component included in the detection result of the output torque.
5. The control device for a rotating machine according to claim 4, wherein the current command correction unit is configured to correct the first d-axis current command toward a negative direction in accordance with the detection result of the output torque.
6. The control device for a rotating machine according to claim 1, wherein the current command correction unit is configured to correct the first q-axis current command based on a correction amount of the first d-axis current command so that the rotating machine achieves a desired torque.
7. A control device for an electrically driven vehicle, comprising the control device for a rotating machine of claim 1.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
DESCRIPTION OF EMBODIMENTS
First Embodiment
[0027]
[0028] A detailed description is now given of each component of
[0029] The rotating machine 1 is formed of a three-phase AC rotating machine such as a permanent magnet synchronous rotating machine, an induction rotating machine, or a reluctance rotating machine. As permanent magnets used for a rotor of the permanent magnet synchronous rotating machine, a rare-earth magnet, for example, neodymium, is used. However, the permanent magnet may be another type of magnet such as a samarium cobalt magnet or a ferrite magnet.
[0030] The inverter 2 is formed of, for example, six power switching elements and diodes each connected in parallel to the power switching element. As the power switching element, for example, an insulated gate bipolar transistor (IGBT) can be used.
[0031] A DC voltage smoothed by a smoothing capacitor is supplied to the inverter 2. Moreover, the inverter 2 inverts the DC volage to AC voltages based on an output signal from a voltage control unit 16, and supplies the AC voltages to the rotating machine 1, which is the AC rotating machine, to thereby drive the rotating machine 1.
[0032] The current sensor 3 detects the three-phase currents supplied from the inverter 2 serving as a power converter to the rotating machine 1. The current sensor 3 is only required to be provided for at least two phases. The current detection unit 10 can obtain a current in the remaining one phase through calculation assuming that a sum of the currents in the three phases is zero. In the following, description is given while assuming that the AC currents in the three phases are detected by the current sensor 3 as illustrated in
[0033] The current detection unit 10 detects output signals corresponding to the three-phase currents output by the current sensor 3 based on detection cycles. Three-phase currents i.sub.u, i.sub.v, and i.sub.w detected by the current detection unit 10 at each detection cycle are input to a detection current vector calculation unit 11.
[0034] The DC power supply 4 is formed of a rechargeable battery such as a lead battery, nickel hydrogen, or lithium ion. There may be employed such a configuration that a DC/DC converter, which is configured to step up or step down the output voltage of the DC power supply 4 to supply the stepped-up or stepped-down voltage to the inverter 2, is further connected.
[0035] The detection current vector calculation unit 11 serving as a vector calculation unit reads, as input signals, a magnetic pole position estimated value θ{circumflex over ( )}, which is an estimation result obtained by a magnetic pole position estimation unit 20 described in detail later, and the three-phase currents i.sub.u, i.sub.v, and i.sub.w, which are the detection results obtained by the current detection unit 10. A notation of “{circumflex over ( )}” herein indicates that “{circumflex over ( )}” is added over a corresponding symbol, and means that the symbol represents an estimated value. The magnetic pole position estimated value θ{circumflex over ( )} is a value corresponding to an estimated rotor position.
[0036] The detection current vector calculation unit 11 converts the three-phase currents i.sub.u, i.sub.v, and i.sub.w to a d-axis current and a q-axis current, which are currents on rotational coordinates defined by a “d” axis and a “q” axis and rotating in synchronization with a rotational speed, based on the magnetic pole position estimated value θ{circumflex over ( )}. Further, the detection current vector calculation unit 11 cuts a high-frequency current including a specific frequency component from the d-axis current and q-axis current after the conversion, to thereby extract electrical angle frequency components in synchronization with the number of rotations, and supplies the extracted electrical angle frequency components as a d-axis current I.sub.d and a q-axis current I.sub.q to the current control unit 15.
[0037] A current command calculation unit 13 calculates a d-axis current command I.sub.d0* and a q-axis current command I.sub.q0*, which are current command values in a rotational coordinate system, based on a power supply voltage, a number-of-rotation command, and a torque command. The d-axis current command I.sub.d0* corresponds to a first d-axis current command. The q-axis current command I.sub.q0* corresponds to a first q-axis current command.
[0038] A current command correction unit 14 calculates a d-axis current command correction amount I.sub.dcmp and a q-axis current command correction amount I.sub.qcmp, which are correction amounts for the current command values in the rotational coordinate system, based on a difference value Δi.sub.h output from the magnetic pole position estimation unit 20.
[0039] A d-axis current command I.sub.d* is generated by adding the d-axis current command correction amount I.sub.dcmp, which is the output of the current command correction unit 14, to the d-axis current command I.sub.d0*, which is the output of the current command calculation unit 13. Similarly, a q-axis current command I.sub.q* is generated by adding the q-axis current command correction amount I.sub.qcmp, which is the output of the current command correction unit 14, to the q-axis current command I.sub.q0*, which is the output of the current command calculation unit 13. The d-axis current command I.sub.d* corresponds to a second d-axis current command. The q-axis current command I.sub.q* corresponds to a second q-axis current command.
[0040] The current control unit 15 reads the d-axis current command I.sub.d* and the q-axis current command I.sub.q* as command values, and reads the d-axis current I.sub.d and the q-axis current I.sub.q output from the detection current vector calculation unit 11 as feedback values. The current control unit 15 calculates a difference between the d-axis current command I.sub.d* and the d-axis current I.sub.d and a difference between the q-axis current command I.sub.q* and the q-axis current I.sub.q. After that, the current control unit 15 executes proportional integral control so as to eliminate each of the current differences, to thereby calculate voltage commands on the rotational coordinates. That is, the current control unit 15 executes current feedback control, and consequently generates the voltage commands on the rotational coordinates as voltage command vectors.
[0041] A high-frequency voltage application unit 21 serving as a voltage application unit outputs, to the current control unit 15, a high-frequency voltage including the specific frequency component to be applied to the voltage commands so as to be superimposed, in order to estimate the magnetic pole position. After that, the current control unit 15 outputs, to the voltage control unit 16, voltage commands V.sub.d* and V.sub.q* obtained by superimposing the high-frequency voltage including the specific frequency component on the calculated voltage commands on the rotational coordinates.
[0042] The voltage control unit 16 uses the magnetic pole position estimated value θ{circumflex over ( )} to convert the voltage commands V.sub.d* and V.sub.q* superimposed with the high-frequency voltage including the specific frequency component to three-phase voltage commands V.sub.u*, V.sub.v*, and V.sub.w* on fixed coordinates, and outputs the converted three-phase voltage commands V.sub.u*, V.sub.v*, and V.sub.w* to the inverter 2.
[0043] As the voltage commands to be superimposed with the high-frequency voltage including the specific frequency component, the three-phase voltage commands may be used in place of the voltage commands on the rotational coordinates. That is, the high-frequency voltage including the specific frequency component is only required to be superimposed on the voltage command values of one of the voltage commands on the rotational coordinates and the three-phase voltage commands.
[0044]
[0045] Moreover, the state observation unit 201 obtains a current amplitude of the specific frequency component from the voltage commands V.sub.d* and V.sub.q* superimposed with the high-frequency voltage including the specific frequency component. After that, the state observation unit 201 obtains the difference value Δi.sub.h, between a current amplitude of the electrical angle frequency components and a half of the current amplitude of the specific frequency component, and outputs the obtained difference value Δi.sub.h, to the current command correction unit 14.
[0046] A permanent-magnet magnetic-flux calculation unit 202 calculates permanent magnet magnetic flux vectors φ.sub.fd and φ.sub.fq at a zero speed and in a low-speed range in which induced voltages are low, and outputs the permanent magnet magnetic flux vectors φ.sub.fd and φ.sub.fq to the state observation unit 201. The state observation unit 201 executes calculation for correcting a rotor position error. As a result, it is possible to suppress deterioration of a position estimation precision also at the zero speed and in the low-speed range.
[0047]
[0048] In the first embodiment, in order to satisfy those conditions, there is provided a configuration that applies, to a numerical model of the rotating machine 1, an α-axis voltage command V.sub.α* and a β-axis voltage command V.sub.β* obtained by converting the three-phase voltage commands V.sub.u*, V.sub.v*, and V.sub.w* to stationary Cartesian coordinates referred to as “α coordinate” and “β coordinate” and an α-axis current I.sub.α and a β-axis current I.sub.β obtained by converting the three-phase currents i.sub.u, i.sub.v, and i.sub.w to currents on the α axis and the β axis, to thereby calculate the rotor position. Expression (1) is a voltage equation of the rotating machine 1 on the α axis and the β axis.
[0049] V.sub.α* and V.sub.β*, I.sub.α and I.sub.β can be obtained by Expression (2) and Expression (3), respectively.
[0050] Symbols E.sub.α and E.sub.β of Expression (1) represent induced voltages generated by the rotation of the rotating machine 1. Those induced voltages can be obtained as represented by Expression (4) through transformation of Expression (1).
[0051] Regarding the “d” axis, an adder/subtractor 702 outputs, to an amplifier 706 and a speed identifier 710, a current difference e.sub.id obtained by subtracting the d-axis current i.sub.d on the “d” axis and the “q” axis from an estimated current i.sub.d{circumflex over ( )} on the rotational coordinates defined by the “d” axis and the “q” axis, which is output of an estimated current calculator 707 described later. Similarly, regarding the “q” axis, the adder/subtractor 702 outputs, to the amplifier 706 and the speed identifier 710, a current difference e.sub.iq obtained by subtracting the q-axis current i.sub.q on the “d” axis and the “q” axis from an estimated current i.sub.q{circumflex over ( )} on the rotational coordinates defined by the “d” axis and the “q” axis, which is output of the estimated current calculator 707.
[0052] A rotating-machine matrix calculator 705 is configured to use a matrix A represented by Expression (5) to execute calculation for input. Moreover, the amplifier 706 is configured to use a matrix H represented by Expression (6) to execute calculation for input.
[0053] In Expression (5), a rotor angular speed ω is unknown. For this reason, the rotor angular speed ω is substituted by the rotational speed estimated value ω.sub.r{circumflex over ( )}, which is output of the speed identifier 710 described later.
[0054] Calculation satisfying a relationship represented by Expression (7) can be executed by using an adder/subtractor 703, an integrator 704, the rotating-machine matrix calculator 705, and the amplifier 706.
[0055] Finally, the integrator 704 integrates a calculation result of values on the right side of Expression (7), to thereby generate stator magnetic flux estimated values φ.sub.ds{circumflex over ( )} and φ.sub.qs{circumflex over ( )} and rotor magnetic flux estimated values φ.sub.dr{circumflex over ( )} and φ.sub.qr{circumflex over ( )} of the rotating machine. The integrator 704 inputs the stator magnetic flux estimated values φ.sub.ds{circumflex over ( )} and φ.sub.qs{circumflex over ( )} and the rotor magnetic flux estimated values φ.sub.dr{circumflex over ( )} and φ.sub.qr{circumflex over ( )} to the rotating-machine matrix calculator 705 and the estimated current calculator 707. Moreover, the integrator 704 outputs the rotor magnetic flux estimated values φ.sub.dr{circumflex over ( )} and φ.sub.qr{circumflex over ( )} to the adder/subtractor 708 and the speed identifier 710.
[0056] The estimated current calculator 707 executes calculation represented by Expression (8) for the output of the integrator 704, and outputs the estimated currents i.sub.d{circumflex over ( )} and i.sub.q{circumflex over ( )} on the “d” axis and the “q” axis to the adder/subtractor 702.
[0057] Regarding the “d” axis, the adder/subtractor 708 outputs to the speed identifier 710 a rotor magnetic flux error Δφ.sub.dr obtained by subtracting the permanent magnet magnetic flux vector φ.sub.fd from the rotor magnetic flux estimated value φ.sub.dr{circumflex over ( )}. Similarly, regarding the “q” axis, the adder/subtractor 708 outputs to the speed identifier 710 a rotor magnetic flux error Δφ.sub.qr obtained by subtracting the permanent magnet magnetic flux vector φ.sub.fq from the rotor magnetic flux estimated value φ.sub.qr{circumflex over ( )}.
[0058] The speed identifier 710 uses the rotor magnetic flux estimated values φ.sub.dr{circumflex over ( )} and φ.sub.qr{circumflex over ( )}, the current differences e.sub.id and e.sub.iq, and the rotor magnetic flux errors Δφ.sub.dr and Δφ.sub.qr to calculate the rotational speed estimated value ω.sub.r{circumflex over ( )}.
[0059] Expression (9) is an example of an arithmetic expression to be used when the rotational speed estimated value ω.sub.r{circumflex over ( )} is obtained through use of the rotor magnetic flux estimated values φ.sub.dr{circumflex over ( )} and φ.sub.qr{circumflex over ( )} and the current differences e.sub.id and e.sub.iq without considering the rotor magnetic flux errors Δφ.sub.dr and Δφ.sub.qr. As represented by Expression (9), there is provided a configuration capable of indirectly obtaininc the rotational speed estimated value ω.sub.r{circumflex over ( )} by executing proportional integral control through use of a proportional gain K.sub.p, and an integral gain K.sub.i.
[0060] Moreover, in general, a direction of a rotor magnetic flux vector is matched with the “d” axis, and the rotor magnetic flux estimated value of the “q” axis is thus φ.sub.qr{circumflex over ( )}=0. As a result, Expression (9) can be transformed to Expression (10). It is understood from Expression (10) that the rotational speed estimated value ω.sub.r{circumflex over ( )} is indirectly calculated by providing the proportional integral control so that e.sub.iq/φ.sub.dr{circumflex over ( )} is zero.
[0061] A case in which the rotational speed estimated value ω.sub.r{circumflex over ( )} is obtained as represented by Expression (9) or Expression (10) is considered. In this case, as described above, an error occurs in the magnetic pole position estimated value θ{circumflex over ( )} due to an estimation delay of the proportional integral control under a transient state, for example, a quick change in speed.
[0062] Moreover, all of the rotor magnetic flux estimated values φ.sub.dr{circumflex over ( )} and φ.sub.qr{circumflex over ( )} and the current differences e.sub.id and e.sub.iq used for Expression (9) or Expression (10) are obtained through the coordinate conversion that uses the magnetic pole position estimated value θ{circumflex over ( )}. For this reason, those values obtained through the coordinate conversion that uses the magnetic pole position estimated value θ{circumflex over ( )} containing the error also contain errors caused by the error of the magnetic pole position estimated value θ{circumflex over ( )}.
[0063] Further, there is formed such a loop that the rotational speed estimated value ω.sub.r{circumflex over ( )} is calculated by applying the proportional integral control to the values containing the errors and the rotational speed estimated value ω.sub.r{circumflex over ( )} is then used to calculate again the magnetic pole position estimated value θ{circumflex over ( )}. As a result, the speed estimation and the position estimation are liable to become unstable. As a result, the proportional gain K.sub.p and the integral gain K.sub.i cannot be set to large values. That is, it is difficult to increase an estimation response of the rotational speed estimated value ω.sub.r{circumflex over ( )}.
[0064] Thus, in the speed identifier 710 in the first embodiment, the rotor magnetic flux errors Δφ.sub.dr and Δφ.sub.qr are taken into consideration to increase the estimation response. Specifically, as represented by Expression (11), the speed identifier 710 in the first embodiment uses the rotor magnetic flux errors Δφ.sub.dr and Δφ.sub.qr calculated as the differences between the permanent magnet magnetic flux vectors φ.sub.fd and φ.sub.fq calculated by the permanent-magnet magnetic-flux calculation unit 202 and the rotor magnetic flux estimated values φ.sub.dr{circumflex over ( )} and φ.sub.qr{circumflex over ( )}, which are the output of the integrator 704, respectively, to execute the proportional integral control.
[0065] The permanent-magnet magnetic-flux calculation unit 202 can use Expression (12) to obtain the permanent magnet magnetic flux vectors φ.sub.fd and φ.sub.fq. In Expression (12), φ.sub.f represents a permanent magnet magnetic flux, and Δθ represents a rotor magnetic pole position error.
[0066] In the method of superimposing the specific frequency component used for the magnetic pole position estimation on the voltage commands on the rotational coordinates, when an error exists between a direction in which the specific frequency component is applied and a direction in which the inductance is the minimum, a high-frequency current having a q-axis high-frequency current amplitude |i.sub.qh| represented by Expression (13) is generated cn the estimated “q” axis. In Expression (13), V.sub.h represents a voltage amplitude of the specific frequency component, ω.sub.h represents a specific angular frequency, and Δθ denotes the rotor magnetic pole position error.
[0067] As represented by Expression (13), a q-axis high-frequency current obtained by applying the specific frequency component includes the rotor magnetic pole position error Δθ. Thus, in the first embodiment, it is considered to calculate the rotor magnetic pole position error Δθ through detection of the q-axis high-frequency current including the specific frequency component.
[0068] The magnetic pole position estimated value θ{circumflex over ( )} is used to convert the three-phase currents i.sub.u, i.sub.v, and i.sub.w, which are the output of the current detection unit 10, to the currents i.sub.d and i.sub.q on the rotational coordinates defined by the “d” axis and the “q” axis rotating in synchronization with the rotational speed estimated value ω.sub.r{circumflex over ( )}.
[0069] The converted q-axis current i.sub.q includes the specific high-frequency component. Thus, through use of a filter to cut a low-frequency component, it is possible to extract the q-axis high-frequency current amplitude |i.sub.qh| including the specific frequency component higher than the electrical angle frequency components in synchronization with the number of rotations. The rotor magnetic pole position error Δθ can be obtained through use of the q-axis high-frequency current amplitude |i.sub.qh| as represented by Expression (14).
[0070] As a specific configuration of the filter configured to extract the q-axis high-frequency current amplitude |i.sub.qh|, a high-pass filter configured to cut the low-frequency component, a band-pass filter configured to extract the specific frequency component, or the like can be used.
[0071] Description is now given of a result of a comparison between related-art control and the control in the first embodiment at the time when the rotating machine is controlled through sensor-less control in a low-load region in which the current amplitude is small.
[0072]
[0073] From the waveforms of
[0074] As a result, in the low-load region in which the current amplitude is small, the estimation precision of the rotor position deteriorates due to an influence of the deterioration of the precision of the detection signals and the voltage error caused by the deadtime due to zero-crossing of the currents of the specific frequency component.
[0075] Meanwhile,
[0076] The control in the first embodiment corrects the current commands so that the current amplitude of the electrical angle frequency components is equal to or larger than half of the high-frequency current amplitude used to estimate the magnetic pole position. Specifically, the difference value Δi.sub.h, between the current amplitude of the electrical angle frequency components and the half of the current amplitude of the specific frequency component is calculated by the magnetic pole position estimation unit 20. Further, the correction amounts for the current commands are calculated by the current command correction unit 14 based on the difference value Δi.sub.h.
[0077] The symbol Δi.sub.h can be represented by Expression (15) as the difference value between the current amplitude If.sub.amp of the electrical angle frequency components and the half of the current amplitude Ih.sub.amp of the specific frequency component.
Δi.sub.h=If.sub.amp−½.Math.Ih.sub.amp (15)
[0078]
[0079] The current amplitude Ih.sub.amp of the specific frequency component may be obtained through use of a high-pass filter, a band-pass filter, or the like from the current values obtained from the current detection unit 10. The current amplitude Ih.sub.amp may be obtained through another method as long as the relationship with the If.sub.amp shown in
[0080] A detailed description is given of the correction method for the current commands with reference to a flowchart.
[0081] Then, in Step S102, the current command correction unit 14 determines whether or not the difference value Δi.sub.h is equal to or larger than 0. When the difference value Δi.sub.h is smaller than 0, the current command correction unit 14 proceeds to Step S103, and corrects the d-axis current command correction amount I.sub.dcmp. For example, when the rotating machine 1 is an interior permanent magnet synchronous motor (IPMSM) in which permanent magnets are embedded in a rotor, it is desired that the current command correction unit 14 correct the d-axis current command correction amount I.sub.dcmp to a negative value.
[0082] As illustrated in
[0083] The respective functions of the current detection unit 10, the detection current vector calculation unit 11, the current command calculation unit 13, the current command correction unit 14, the current control unit 15, the voltage control unit 16, the magnetic pole position estimation unit 20, and the high-frequency voltage application unit 21, which are the components of the control device for a rotating machine according to the first embodiment, are implemented by a processing circuit.
[0084] The processing circuit may be dedicated hardware or a processor (also referred to as central processing unit (CPU), central processing device, processing device, calculation device, microprocessor, microcomputer, or digital signal processor (DSP)) configured to execute programs stored in a storage device.
[0085] As described above, the first embodiment can achieve the following effects.
In the low-load region in which the current amplitude is small, it is possible to suppress the influence of the deterioration of the estimation precision of the rotor position due to the deterioration of the precision of the detection signals or the voltage error caused by the deadtime due to the zero-crossing of the currents of the specific frequency component.
Further, it is possible to achieve the configuration that can be applied to various types of rotating machines and can easily estimate the rotor position highly precisely.
[0086] The current command correction unit corrects the d-axis current command toward the negative direction as required in accordance with at least one of the currents or the torque. As a result, in a rotating machine having saliency, the current commands calculated by the current command calculation unit can continuously be changed by adding the negative correction amount to the d-axis current command.
[0087] When the control device for a rotating machine according to the first embodiment is applied to a drive system for an electrically driven vehicle such as an electric vehicle or a hybrid vehicle, an increase in cost caused by mounting a position sensor can be suppressed, and a mounting space and a wiring space can easily be secured. Moreover, in a case in which the position sensor is used, even when the position sensor fails, the operation can be continued without stopping the rotating machine.
Second Embodiment
[0088] In a second embodiment, description is given of a case in which q-axis current correction by the current command correction unit 14 is also considered in addition to the d-axis current correction by the current command correction unit 14. The block diagram of the control device for a rotating machine according to the second embodiment is the same as
[0089]
[0090] In Step S104, to which the current command correction unit 14 has proceeded from Step S103, the current command correction unit 14 uses the d-axis current command correction amount I.sub.dcmp generated in Step S103 and motor parameters to calculate a torque estimated value T{circumflex over ( )}. After that, in Step S105, the current command correction unit 14 calculates a difference between the torque command value T* and the torque estimated value T{circumflex over ( )}, and determines whether or not the difference is 0.
[0091] When the difference of the torque does not exist, the current command correction unit 14 finishes a series of processing steps for the current command correction. Meanwhile, when a difference occurs in the torque, the current command correction unit 14 proceeds to Step S106. After that, in Step S106, the current command correction unit 14 corrects the q-axis current command correction amount I.sub.qcmp so that the difference of the torque approaches 0.
[0092] As illustrated in
[0093] That is, the current command correction unit 14 executes the processing in Step S104 to Step S106, to thereby generate the q-axis current command correction amount Iqcmp to correct the q-axis current command I.sub.d0* so that the rotating machine 1 achieves the desired torque based on the d-axis current command correction amount I.sub.dcmp.
[0094] As a result, as in the first embodiment, the control device for a rotating machine according to the second embodiment suppresses the voltage error caused by the deadtime due to the zero-crossing of the currents superimposed with the specific frequency component, to thereby be able to highly precisely estimate the magnetic pole position estimated value θ{circumflex over ( )}. Further, in accordance with the output torque changed due to the correction of the d-axis current command, the q-axis current command is corrected so as to be able to secure the torque precision.
[0095] In the first and second embodiments, description has been given of the case in which the magnetic pole position estimated value θ{circumflex over ( )} is estimated based on the currents of the specific frequency component of the rotating machine. However, the method for estimating the magnetic pole position estimated value which is performed by the control device for a rotating machine according to each embodiment is not limited to this estimation method. Through further provision of a torque detection unit configured to detect the output torque, it is also possible to estimate the magnetic pole position estimation unit based on the specific high-frequency component included in the output torque of the rotating machine.
[0096] Moreover, in the first and second embodiments, the control method performed by the control device for a rotating machine is described as the method for the sensor-less control that does not use a rotor position sensor such as an encoder or a resolver. However, the method performed by the control device for a rotating machine according to each embodiment is not limited to this control method. The control device for a rotating machine according to each embodiment can be applied in combination with a rotation position sensor in a configuration including the rotation position sensor. In the case in which the rotation position sensor is used in combination as described above, even when the rotation position sensor fails, the rotation position can be switched to the magnetic pole position estimated value θ{circumflex over ( )}, to thereby be able to continue the control processing.
[0097] Further, the configurations of each of the embodiments are not limited to individual application, and may be applied in combination with the configurations of the other embodiments unless a conflict occurs.
REFERENCE SIGNS LIST
[0098] 1 rotating machine, 2 inverter, 3 current sensor, 4 DC power supply, 10 current detection unit, 11 detection current vector calculation unit (vector calculation unit), 13 current command calculation unit, 14 current command correction unit, 15 current control unit, 16 voltage control unit, 20 magnetic pole position estimation unit, 21 high-frequency voltage application unit (voltage application unit), 201 state observation unit, 202 permanent-magnet magnetic-flux calculation unit, 701 coordinate converter, 702, 703 adder/subtractor, 704 integrator, 705 rotating-machine matrix calculator, 706 amplifier, 707 estimated current calculator, 710 speed identifier, 711 integrator