Ac motor control device and electric power steering device

JPWO2024089861A5Active Publication Date: 2024-12-23MITSUBISHI ELECTRIC MOBILITY CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024552627
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-10-02
Publication Date
2024-12-23
Estimated Expiration
2042-10-28

AI Technical Summary

Technical Problem

High-speed rotation of AC motors leads to increased frequency of detected currents in stationary coordinates, causing phase lag during noise component reduction, which decreases control accuracy due to difficulties in combining noise reduction methods across different coordinate systems.

Method used

An AC motor control device with a current detector, first and second coordinate converters, a two-axis current filter, and controllers to reduce noise components in detected currents while maintaining control accuracy, including a biaxial current filter that reduces noise by adding past and present detected values, and a second controller generating three-phase voltage commands based on filtered currents.

Benefits of technology

The solution effectively reduces noise components in detected currents during high-speed rotation, minimizing phase lag and maintaining control accuracy of the AC motor.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

This AC motor control device comprises: a current detector; a first coordinate converter that converts a detection current before conversion, which is the detection result detected by the current detector, into a two-axis detection current which is a current on two rotating axes; a two-axis current filter that reduces the noise component of the two-axis detection current; a second coordinate converter that converts the filtered two-axis current into a filtered three-phase current in a stationary coordinate system; a first controller that generates a first three-phase voltage command on the basis of the two-axis detection current or the filtered two-axis current; a second controller that generates a second three-phase voltage command on the basis of the filtered three-phase current; and an inverter that applies a voltage to an AC motor on the basis of the first and second three-phase voltage commands.
Need to check novelty before this filing date? Find Prior Art

Description

AC motor control device and electric power steering device

[0001] The present disclosure relates to a control device for an AC motor and an electric power steering device.

[0002] Conventionally, a vector control method has been used in current control of AC motors, in which voltage command calculations are performed on two rotation axes (e.g., d-axis and q-axis). Specific examples of disclosures relating to vector control methods include Patent Documents 1 and 2 listed below. In Figures 1 and 4 of Patent Document 1, a second voltage command calculation unit uses detected currents (iu, iv, iw) on stationary coordinates to generate a second voltage command without coordinate transformation. Patent Document 2 detects currents flowing through three-phase windings and converts the detected currents into values ​​on two rotation axes (d-axis and q-axis). Furthermore, Patent Document 2 discloses a method of reducing resonance-period noise components included in detected values ​​by adding the most recent detected value and the previous detected value on the d-axis and q-axis.

[0003] Patent No. 5178768 International Publication No. 2021 / 144867

[0004] When an AC motor rotates at high speed, the frequency of the detected current (iu, iv, iw) on the stationary coordinate system also increases, as shown in Patent Document 1. It has been found that when the frequency of the detected current on the stationary coordinate system is high, attempting to remove the noise components contained in this detected current using a filter results in a phase lag after filtering. Phase lag can reduce the control accuracy of AC motors. Furthermore, the noise component reduction method disclosed in Patent Document 2, for example, is a process on the d- and q-axes, making it difficult to incorporate into the configuration of Patent Document 1.

[0005] The present disclosure has been made to solve the above-mentioned problems, and aims to provide an AC motor control device and an electric power steering device that are capable of reducing noise components contained in detected current while suppressing a decrease in control accuracy of the AC motor during high-speed rotation.

[0006] A control device for an AC motor according to the present disclosure includes: a current detector that detects three-phase currents flowing through the AC motor; a first coordinate converter that converts pre-conversion detected currents, which are detection results by the current detector, into two-axis detected currents, which are currents on two axes of rotation; a two-axis current filter that reduces noise components in the two-axis detected currents; a second coordinate converter that converts filtered two-axis currents, which are the two-axis detected currents in which the noise components have been reduced by the two-axis current filter, into filtered three-phase currents in a stationary coordinate system; a first controller that generates first three-phase voltage commands based on the two-axis detected currents or the filtered two-axis currents; a second controller that generates second three-phase voltage commands based on the filtered three-phase currents; and an inverter that applies voltages to the AC motor based on the first three-phase voltage commands and the second three-phase voltage commands.

[0007] An electric power steering device according to the present disclosure includes the above-described AC motor control device and the AC motor that generates an assist torque in steering a vehicle.

[0008] According to the present disclosure, it is possible to provide an AC motor control device and an electric power steering device that can reduce noise components contained in detected current while suppressing a decrease in control accuracy of the AC motor during high-speed rotation.

[0009] 12 is a diagram showing the configuration of a control device for an AC motor according to a first embodiment. FIG. 13 is a diagram for explaining the principle of generation of a switching signal in the first embodiment. FIG. 14 is a diagram showing an example of the configuration of the two-axis current filter of FIG. 1. FIG. 15 is a diagram showing an example of the configuration of the d-axis current controller of FIG. 1. FIG. 16 is a diagram showing an example of the configuration of the q-axis current controller of FIG. 1. FIG. 17 is a diagram showing an example of the configuration of the second controller of FIG. 1. FIG. 18 is a diagram showing a first example of the operation of the selector shown in FIG. 1. FIG. 19 is a diagram showing a second example of the operation of the selector shown in FIG. 1. FIG. 20 is a diagram showing a third example of the operation of the selector shown in FIG. 21. FIG. 22 is a diagram showing an example of the sound-frequency characteristics of an AC motor. FIG. 23 is a diagram showing the results of verifying the magnitude of phase delay associated with filtering processing. FIG. 24 is a diagram showing the configuration of a control device for an AC motor according to a second embodiment. FIG. 25 is a diagram showing an example of the configuration of the second controller of FIG. 22. FIG. 25 is a diagram showing the configuration of a control device for an AC motor according to a third embodiment. FIG. 26 is a graph showing an example of the waveform of the voltage across a shunt resistor. FIG. 27 is a diagram showing the configuration of a control device for an AC motor according to a fourth embodiment. FIG. 28 is a diagram explaining calculated on / off signals and a weighted average gain in the fourth embodiment. FIG. 29 is a diagram showing the configuration of an electric power steering device according to a fifth embodiment.

[0010] Embodiment 1. Fig. 1 is a block diagram showing a schematic configuration of a control device for an AC motor (hereinafter referred to as control device 1) according to embodiment 1. As shown in Fig. 1, control device 1 includes a rotor position detector 11, an inverter 12, and a control unit 13. Control device 1 controls AC motor 10 based on current command values ​​id_ref and iq_ref input from outside control device 1. The current command values ​​id_ref and iq_ref will be described later.

[0011] The AC motor 10 is a three-phase AC motor having three-phase windings U, V, and W. In this specification, the coordinate system corresponding to the three-phase windings U, V, and W is referred to as a stationary coordinate system or a uvw coordinate system. The AC motor 10 is also an AC motor that can be controlled based on two rotating axes. In this specification, the "two rotating axes" refer to two axes that rotate synchronously with the rotor of the AC motor 10 and are perpendicular to each other in a cross section. A "cross section" refers to a cross section perpendicular to the central axis of the rotor. For example, the two rotating axes may be d-q axes. The d-axis is an axis connecting the central axis of the rotor and the magnetic poles. The q-axis is an axis perpendicular to both the d-axis and the central axis. The two rotating axes may also be γ-δ axes. The γ-axis is an axis shifted in the rotational direction from the d-axis. The δ-axis is an axis perpendicular to both the γ-axis and the central axis. One of the two rotating axes is referred to as the first axis, and the other is referred to as the second axis. For example, if the d-axis is referred to as the first axis, the q-axis is referred to as the second axis. Note that the q-axis may be the first axis and the d-axis may be the second axis. Similarly, if the γ-axis is referred to as the first axis, the δ-axis is referred to as the second axis.

[0012] In the following, a case will be described in which the AC motor 10 is a permanent magnet synchronous AC motor and the two rotating axes are the d- and q-axes. However, the AC motor 10 may also be, for example, a wound-field synchronous AC motor, an induction AC motor, or a synchronous reluctance motor. Furthermore, the d-axis and q-axis in the following disclosure may be replaced with the δ-axis and γ-axis.

[0013] The rotor position detector 11 includes a resolver, an encoder, an MR (magnetoresistive) sensor, etc., and detects the rotor position θ using these. The rotor position θ is the position of the rotor of the AC motor 10 in the direction of rotation. In this embodiment, the rotor position θ of the AC motor 10 is detected using the rotor position detector 11. However, it is also possible to employ a configuration in which the rotor position θ of the AC motor 10 is estimated without using the rotor position detector 11. In other words, in the present disclosure, the control device 1 does not necessarily have to include the rotor position detector 11.

[0014] The inverter 12 is a power converter that applies a voltage to the AC motor 10. Specifically, under the control of the control unit 13, the inverter 12 converts DC power supplied from the DC power supply BT into AC power and supplies the converted AC power to the AC motor 10. The DC power supply BT includes devices for supplying DC power, such as a DC-DC converter, a diode rectifier, and a PWM rectifier, in addition to a battery. In this specification, the output voltage (DC bus voltage) of the DC power supply BT is represented as Vdc.

[0015] The inverter 12 includes upper-arm switching elements Sup, Svp, and Swp, lower-arm switching elements Sun, Svn, and Swn, and shunt resistors Ru, Rv, and Rw. The upper-arm switching elements Sup, Svp, and Swp are connected to the positive electrode of a DC power supply BT. The lower-arm switching elements Sun, Svn, and Swn are connected to the upper-arm switching elements Sup, Svp, and Swp, respectively, and are also connected to the negative electrode of the DC power supply BT via the shunt resistors Ru, Rv, and Rw, respectively.

[0016] Here, the upper arm switching element Sup, the lower arm switching element Sun, and the shunt resistor Ru form a U-phase series circuit (conducting line 12u). In this U-phase series circuit, the connection point between the upper arm switching element Sup and the lower arm switching element Sun is connected to the winding U of the AC motor 10.

[0017] Furthermore, the upper arm switching element Svp, the lower arm switching element Svn, and the shunt resistor Rv form a V-phase series circuit (conducting line 12v). In this V-phase series circuit, the connection point between the upper arm switching element Svp and the lower arm switching element Svn is connected to the winding V of the AC motor 10.

[0018] Furthermore, the upper arm switching element Swp, the lower arm switching element Swn, and the shunt resistor Rw form a W-phase series circuit (conducting line 12w). In this W-phase series circuit, the connection point between the upper arm switching element Swp and the lower arm switching element Swn is connected to the winding W of the AC motor 10.

[0019] The upper arm switching elements Sup, Svp, Swp and the lower arm switching elements Sun, Svn, Swn may be semiconductor switches such as IGBTs (Insulated Gate Bipolar Transistors), bipolar transistors, and MOSFETs (Metal-Oxide-Semiconductor Field Effect Transistors).

[0020] The upper arm switching elements Sup, Svp, Swp receive switching signals Gup, Gvp, Gwp output from the control unit 13. The lower arm switching elements Sun, Svn, Swn receive switching signals Gun, Gvn, Gwn output from the control unit 13. The upper arm switching elements Sup, Svp, Swp and the lower arm switching elements Sun, Svn, Swn are turned on or off by the switching signals Gup, Gvp, Gwp, Gun, Gvn, Gwn output from the control unit 13. In this specification and drawings, the switching signals Gup, Gvp, Gwp, Gun, Gvn, Gwn may be collectively referred to as "switching signals Gup to Gwn."

[0021] For example, when the switching signal Gup is an "on command (=1)," the upper arm switching element Sup is in the on state, and when the switching signal Gup is an "off command (=0)," the upper arm switching element Sup is in the off state. The same applies to the other switching elements (upper arm switching elements Svp, Swp and lower arm switching elements Sun, Svn, Swn). In this way, the inverter 12 generates AC power to be supplied to the AC motor 10 from the DC power supplied by the DC power supply BT.

[0022] The shunt resistors Ru, Rv, and Rw are resistive elements for detecting current. The shunt resistor Ru outputs a voltage VRu (=-Ru x iu) across the resistor R, which is proportional to the current iu (AC motor current) flowing through the winding U of the AC motor 10, to the control unit 13. The shunt resistor Rv outputs a voltage VRv (=-Rv x iv) across the resistor R, which is proportional to the current iv (AC motor current) flowing through the winding V of the AC motor 10, to the control unit 13. The shunt resistor Rw outputs a voltage VRw (=-Rw x iw) across the resistor R, which is proportional to the current iw (AC motor current) flowing through the winding W of the AC motor 10, to the control unit 13. In this specification and drawings, the voltages VRu, VRv, and VRw may be collectively referred to as "voltages VRu to VRw."

[0023] Here, the end-to-end voltages VRu, VRv, and VRw are values ​​obtained by multiplying the AC motor currents iu, iv, and iw by the resistance values ​​of the shunt resistors Ru, Rv, and Rw, and are quantities proportional to the currents iu, iv, and iw. Therefore, the end-to-end voltages VRu, VRv, and VRw can be considered to be detected current values ​​(detected AC motor current values). In this embodiment, the inverter 12 includes current lines 12u, 12v, and 12w for supplying current to the AC motor 10, and shunt resistors Ru, Rv, and Rw connected in series to the current lines 12u, 12v, and 12w. In other words, the inverter 12 is a so-called shunt resistor inverter. The inverter 12 may be integrated with the AC motor 10. The integrated inverter 12 and AC motor 10 are referred to as a power pack.

[0024] The control unit 13 uses current command values ​​id_ref, iq_ref, end-to-end voltages VRu, VRv, VRw, and rotor position θ as input values. Based on these input values, the control unit 13 generates switching signals Gup to Gwn that drive the inverter 12. The control unit 13 is a PWM controller implemented by a discrete time calculator such as a microcomputer or a DSP (Digital Signal Processor). The control unit 13 includes a two-axis current filter 21, a current detector 22, a first coordinate converter 23, a first controller 24, a selector 26, a PWM signal generator 27, a second coordinate converter 28, a third coordinate converter 29, and a second controller 15.

[0025] The current command values ​​id_ref and iq_ref are command values ​​(target values) of currents supplied to the AC motor 10, which are input from the outside to the control device 1. The current command value id_ref is also called a "field-weakening current command value," and the current command value iq_ref is also called a "torque current command value." The current command values ​​id_ref and iq_ref may be calculated by appropriately combining known MTPA (Maximum Torque Per Ampere) control, MTPV (Maximum Torque Per Voltage) control, and flux-weakening control for each operating range (range of speed-torque characteristics).

[0026] Next, the PWM signal generator 27 will be described. The PWM signal generator 27 outputs switching signals Gup to Gwn that are PWM modulated based on the final voltage commands vu, vv, and vw output from the selector 26. The final voltage commands vu, vv, and vw will be described later.

[0027] 2 is a diagram for explaining the principle of generating switching signals in embodiment 1. The PWM signal generator 27 generates switching signals Gup to Gwn by comparing final voltage commands vu, vv, and vw with a carrier triangular wave (carrier wave) C having a period Tc (frequency fc). The final voltage commands vu, vv, and vw correspond to the U phase, V phase, and W phase, respectively.

[0028] Specifically, the PWM signal generator 27 turns on ("1") the switching signal Gup and turns off ("0") the switching signal Gun if the final voltage command vu is greater than the carrier triangular wave C. Conversely, the PWM signal generator 27 turns off ("0") the switching signal Gup and turns on ("1") the switching signal Gun if the final voltage command vu is smaller than the carrier triangular wave C.

[0029] Furthermore, the PWM signal generator 27 turns on ("1") the switching signal Gvp and turns off ("0") the switching signal Gvn if the final voltage command vv is greater than the carrier triangular wave C. Conversely, if the final voltage command vv is smaller than the carrier triangular wave C, the PWM signal generator 27 turns off ("0") the switching signal Gvp and turns on ("1") the switching signal Gvn.

[0030] Furthermore, the PWM signal generator 27 turns on ("1") the switching signal Gwp and turns off ("0") the switching signal Gwn if the final voltage command vw is greater than the carrier triangular wave C. Conversely, if the final voltage command vw is smaller than the carrier triangular wave C, the PWM signal generator 27 turns off ("0") the switching signal Gwp and turns on ("1") the switching signal Gwn.

[0031] In addition, a short circuit prevention time (dead time) may be provided for the switching signals Gup to Gwn so that the upper arm switching elements Sup, Svp, Swp and the lower arm switching elements Sun, Svn, Swn of the inverter 12 are not turned on simultaneously.

[0032] The switching signals Gup to Gwn include a pattern in which all of the lower arm switching elements Sun, Svn, and Swn are turned on during one electrical angle cycle of the AC motor 10. Specifically, the switching signals include a pattern in which all of the switching signals Gun, Gvn, and Gwn are turned on (1), as in section D in FIG.

[0033] Here, the PWM-modulated voltage applied from inverter 12 to AC motor 10 contains components of the final voltage commands vu, vv, and vw, as well as components that are integer multiples of the period Tc of carrier triangular wave C. As a result, a current with components that are integer multiples of the period Tc flows through AC motor 10, and depending on the value of period Tc, AC motor 10 may produce abnormal noise.

[0034] To prevent the generation of such abnormal noise, for example, when the AC motor 10 is used as a motor that provides steering assist for electric power steering, the period Tc of the carrier triangular wave C can be set to 60 μs or less. By setting Tc = 60 μs, the frequency fc (= 1 / Tc) of the abnormal noise becomes 16.6 kHz, which is less likely to be a noise that is unpleasant to humans. More preferably, the period Tc of the carrier triangular wave C can be set to approximately 50 μs. By setting Tc = 50 μs, the frequency fc (= 1 / Tc) of the abnormal noise becomes approximately 20 kHz, making it almost inaudible to humans. The frequency band that humans can hear is approximately 20 Hz to 20 kHz. In the following description, Tc = 50 μs.

[0035] Next, the current detector 22 shown in Fig. 1 will be described. The current detector 22 outputs pre-conversion detected currents ius, ivs, iws using voltages VRu, VRv, VRw across the shunt resistors Ru, Rv, Rw and switching signals Gup to Gwn output from the PWM signal generator 27. Specifically, the current detector 22 acquires the voltages VRu, VRv, VRw across the shunt resistors Ru, Rv, Rw at timing "X" shown in Fig. 2. This timing "X" is the timing when the carrier triangular wave C reaches its maximum value (DC bus voltage Vdc).

[0036] 2, at timing "X," the switching signals Gun, Gvn, and Gwn input to the lower-arm switching elements Sun, Svn, and Swn are all on ("1"), so the current detector 22 obtains the values ​​of the pre-conversion detected currents ius, ivs, and iws by dividing the voltages VRu, VRv, and VRw across the shunt resistors Ru, Rv, and Rw by -Ru, -Rv, and -Rw, respectively.

[0037] The first coordinate converter 23 performs coordinate conversion based on the pre-conversion detected currents ius, ivs, iws detected by the current detector 22 and the rotor position θ detected by the rotor position detector 11. As a result, the first coordinate converter 23 converts the pre-conversion detected currents ius, ivs, iws into two-axis detected currents id, iq (dq-axis currents), which are currents on the two rotation axes (d- and q-axes). The first coordinate converter 23 also inputs the calculated two-axis detected currents id, iq to the two-axis current filter 21.

[0038] The two-axis current filter 21 outputs filtered two-axis currents idf, iqf in which noise components (ripples) contained in the two-axis detected currents id, iq have been reduced. Hereinafter, the processing by the two-axis current filter 21 may be referred to as "filtering processing." The two-axis current filter 21 will be described in detail below with reference to FIG. 3. As shown in FIG. 3, the two-axis current filter 21 has a first filter section 21d and a second filter section 21q.

[0039] The first filter unit 21d calculates a filtered biaxial current idf using the detected current id. The first filter unit 21d includes a first delay unit 601, a second delay unit 602, a first adder 603, and a first multiplier 604. The first delay unit 601 calculates a current id_z1 one cycle ago. The current id_z1 one cycle ago is the detected current id at a time 1×Ts before the time when the detected current id was detected, where Ts is the current detection period. The first delay unit 601 outputs the current id_z1 one cycle ago to the second delay unit 602.

[0040] Next, the second delay unit 602 calculates the current id_z2 two cycles ago based on the current id_z1 one cycle ago. The current id_z2 two cycles ago is the detected current id at a time point 2×Ts before the time point at which the detected current id was detected. Next, the first adder 603 adds the detected current id and the current id_z2 two cycles ago, and outputs the result to the first multiplier 604. The first multiplier 604 calculates the filtered biaxial current idf by multiplying the output from the first adder 603 by 0.5. As shown in FIG. 1 , the filtered biaxial current idf is output to the second coordinate converter 28 and the first error calculator 24a.

[0041] As shown in FIG. 3 , the second filter unit 21q calculates a filtered biaxial current iqf using the detected current iq. The second filter unit 21q includes a third delay unit 605, a fourth delay unit 606, a second adder 607, and a second multiplier 608. The third delay unit 605 calculates a one-cycle-ago current iq_z1. The one-cycle-ago current iq_z1 is the detected current iq at a time 1×Ts before the time at which the detected current iq was detected. The third delay unit 605 outputs the one-cycle-ago current iq_z1 to the fourth delay unit 606.

[0042] Next, a fourth delay unit 606 calculates a current iq_z2 two cycles ago based on the current iq_z1 one cycle ago. The current iq_z2 two cycles ago is the detected current iq at a time point 2×Ts before the time point at which the detected current iq was detected. Next, a second adder 607 adds the detected current iq and the current iq_z2 two cycles ago, and outputs the result to a second multiplier 608. The second multiplier 608 multiplies the output from the second adder 607 by 0.5 to calculate a filtered biaxial current iqf. As shown in FIG. 1 , the filtered biaxial current iqf is output to the second coordinate converter 28 and the second error calculator 24b.

[0043] Next, we will explain the principle of noise component reduction by the two-axis current filter 21. When a signal contains a component with a period T and the signal is detected discretely, if the detected value at any point in time is added to the detected value half a period before that point (T / 2 before), the component with the period T cancels out and becomes zero.

[0044] For example, for a signal with a period of 2π, the detected value S1 at any point in time can be expressed as follows: Here, A is the amplitude of the signal, and α is the initial phase of the signal. S1 = A sin(θ + α) Furthermore, the detected value S2 half a period before (π before) the detected value S1 can be expressed as follows: S2 = A sin(θ + α - π) As is clear from the above equation, S1 + S2 = 0. This is the principle by which the two-axis current filter 21 reduces noise components.

[0045] Assume that the two-axis detected currents id and iq contain noise components of the resonance period Tr. It is possible that the resonance period Tr and the current detection period Ts are not an exact integer multiple, making it impossible to completely eliminate the noise components. Even in this case, it is preferable to add the detected values ​​of the two-axis detected currents id and iq to the detected values ​​of the time t at which the two-axis detected currents id and iq are detected, and the time t' closest to the time t, which is half a resonance period Tr before the time t (t - Tr / 2 before the time t). This reduces the noise components of the resonance period Tr. The "closest time t'" can be expressed as t' = t - Ts × n, where n is a natural number. In other words, time t' is the time preceding time t by a natural number multiplied by the current detection period Ts, and is the time closest to t - Tr / 2.

[0046] In this embodiment, the current detection period Ts is determined so that the resonance period Tr and the current detection period Ts satisfy the relationship Tr≧2×Ts. For example, if the mechanical resonance frequency of the AC motor 10 is approximately 2500 Hz, the resonance period Tr is approximately 400 μs. Therefore, the current detection period Ts may be set to 100 μs so as to satisfy the relationship Tr≧2×Ts.

[0047] The specific configuration of the two-axis current filter 21 is not limited to that shown in Fig. 3, and other configurations capable of reducing noise components can be employed. For example, the two-axis current filter 21 may be a low-pass filter whose cutoff frequency is lower than the mechanical resonance frequency of the AC motor 10. Alternatively, the two-axis current filter 21 may be a notch filter capable of lowering the gain transfer characteristics with respect to the mechanical resonance frequency of the AC motor 10. An IIR (Infinite Impulse Response) filter or an FIR (Finite Impulse Response) filter may be used as the two-axis current filter 21.

[0048] Here, the processing performed by the biaxial current filter 21 immediately after startup of the control device 1 will be described. Hereinafter, the first filter unit 21d will be described as an example, but it is preferable to perform similar processing on the second filter unit 21q. As described above, the first filter unit 21d calculates the filtered biaxial current idf based on the detected current id, which is the currently detected value, and the current id_z1 one cycle ago and the current id_z2 two cycles ago, which are past detected values. Immediately after startup, values ​​corresponding to id_z1 and id_z2 do not exist, so the filtered biaxial current idf cannot be calculated as is. Therefore, to perform the calculation, some values ​​must be set as id_z1 and id_z2.

[0049] Therefore, in this embodiment, immediately after startup, id_z1 = id_z2 = idf = id. In other words, immediately after startup, when the control device 1 performs control, the latest "input value" (two-axis detected current id) is set for the "past input value" (id_z1, id_z2) and "filter output value" (idf) of the two-axis current filter 21, and calculations are performed. This measure makes it possible to avoid a torque shock in the AC motor 10 caused by inputting inappropriate values ​​as id_z1 and id_z2, causing a deviation between the values ​​before and after filtering processing.

[0050] 1 , the first controller 24 includes a first deviation calculator 24a, a second deviation calculator 24b, a d-axis current controller 24d, a q-axis current controller 24q, and a control coordinate converter 25. The first controller 24 calculates first three-phase voltage commands vu1, vv1, and vw1 using the current command values ​​id_ref and iq_ref described above, and the filtered biaxial currents idf and iqf output from the biaxial current filter 21. The first controller 24 will be described in detail below.

[0051] The first error calculator 24a calculates a d-axis current error ed, which is the deviation between the d-axis current command value id_ref and the filtered biaxial current idf. The second error calculator 24b calculates a q-axis current error eq, which is the deviation between the q-axis current command value iq_ref and the filtered biaxial current iqf. The value of the d-axis current error ed calculated by the first error calculator 24a is input to a d-axis current controller 24d. The value of the q-axis current error eq calculated by the second error calculator 24b is input to a q-axis current controller 24q. The d-axis current controller 24d calculates a d-axis voltage command value vd using the d-axis current error ed. The q-axis current controller 24q calculates a q-axis voltage command value vq using the q-axis current error eq.

[0052] In this specification, the deviation between the current command value and the detected current value for the first axis of the two rotating axes may be referred to as the first deviation. Similarly, the deviation between the current command value and the detected current value for the second axis of the two rotating axes may be referred to as the second deviation. For example, when the d axis is the first axis, the d axis current deviation ed is the "first deviation" and the q axis current deviation eq is the "second deviation." Similarly, when the q axis is the first axis, the q axis current deviation eq is the "first deviation" and the d axis current deviation ed is the "second deviation."

[0053] The configuration of the d-axis current controller 24d is shown in Fig. 4, and the configuration of the q-axis current controller 24q is shown in Fig. 5. As shown in Fig. 4, the d-axis current controller 24d includes a d-axis proportional amplifier 101d, a d-axis integral amplifier 103d, an integrator 109d, and an adder 111d.

[0054] The d-axis proportional amplifier 101d calculates the d-axis proportional output Vdp by multiplying the d-axis current deviation ed by Kpd. That is, Vdp = ed × Kpd. "Kpd" is a d-axis proportional gain by which the actual AC motor current is multiplied to achieve a desirable response to the current command value id_ref. For example, Kpd = ωcc × Ld. Here, ωcc is a response angular frequency (more specifically, the reciprocal of the time constant of the feedback control system) used to adjust the frequency response of the AC motor current to the current command value so that it falls within a desirable range, and Ld is the d-axis inductance of the AC motor 10. However, the value of Kpd is not limited to ωcc × Ld and may be adjusted appropriately by, for example, actually measuring the responsiveness of the actual AC motor current to the current command value id_ref. The d-axis proportional output Vdp calculated by the d-axis proportional amplifier 101d is input to an adder 111d.

[0055] The d-axis integral amplifier 103d calculates its own axis integral input Cdi by multiplying the d-axis current deviation ed by Kid (integral compensation control). That is, Cdi = ed x Kid. "Kid" is the integral gain by which the steady-state value of the d-axis current deviation ed is set to zero. For example, Kid = ωcc x R, where R is the winding resistance value of the AC motor 10. However, the value of Kid is not limited to ωcc x R and may be adjusted as appropriate based on actual measurement results, etc.

[0056] The d-axis integral input Cdi calculated by the d-axis integral amplifier 103d is input to an integrator 109d. The integrator 109d performs an integration operation on the d-axis integral input Cdi and outputs the result to an adder 111d as a d-axis integral output Vdi. The adder 111d adds the d-axis proportional output Vdp and the d-axis integral output Vdi to obtain a d-axis voltage command value vd. The obtained voltage command value vd is input to the control coordinate converter 25, as shown in FIG. 1.

[0057] As shown in FIG. 5 , the q-axis current controller 24q includes a q-axis proportional amplifier 101q, a q-axis integral amplifier 103q, an integrator 109q, and an adder 111q. The q-axis proportional amplifier 101q calculates a q-axis proportional output Vqp by multiplying the q-axis current deviation eq by Kpq. That is, Vqp = eq × Kpq. "Kpq" is a q-axis proportional gain by which the actual AC motor current is multiplied to obtain a desirable response to the current command value iq_ref. For example, Kpq = ωcc × Lq. Here, ωcc is a response angular frequency (more specifically, the reciprocal of the time constant of the feedback control system) used to adjust the frequency response of the AC motor current to the current command value so that it falls within a desirable range, and Lq is the q-axis inductance of the AC motor 10. However, the value of Kpq is not limited to ωcc × Lq and may be adjusted appropriately by, for example, measuring the responsiveness of the actual AC motor current to the current command value iq_ref. The q-axis proportional output Vdq calculated by the q-axis proportional amplifier 101q is input to an adder 111q.

[0058] The q-axis integral amplifier 103q calculates its own axis integral input Cqi by multiplying the q-axis current deviation eq by Kiq (integral compensation control). That is, Cqi = eq x Kiq. "Kiq" is an integral gain by which the steady-state value of the q-axis current deviation eq is set to zero. For example, Kiq = ωcc x R. However, the value of Kiq is not limited to ωcc x R, and may be adjusted as appropriate based on actual measurement results, etc.

[0059] The self-axis integral input Cqi calculated by the q-axis integral amplifier 103q is input to an integrator 109q. The integrator 109q performs an integration operation on the q-axis integral input Cqi and outputs the result to an adder 111q as a q-axis integral output Vqi. The adder 111q adds the q-axis proportional output Vqp and the q-axis integral output Vqi to obtain a q-axis voltage command value vq. The obtained voltage command value vq is input to the control coordinate converter 25, as shown in FIG. 1.

[0060] 1 , voltage command values ​​vd, vq on two rotation axes (d-axis, q-axis) and the rotor position θ are input to the control coordinate converter 25. The control coordinate converter 25 performs coordinate conversion of the voltage command values ​​vd, vq based on the rotor position θ to calculate first three-phase voltage commands vu1, vv1, vw1. The first three-phase voltage commands vu1, vv1, vw1 are input to the selector 26 and the second controller 15.

[0061] The second coordinate converter 28 performs coordinate conversion on the filtered biaxial currents idf, idq output from the biaxial current filter 21, based on the rotor position θ detected by the rotor position detector 11. The second coordinate converter 28 outputs filtered three-phase currents iuf, ivf, iwf obtained by this calculation to the second controller 15. In other words, the filtered three-phase currents iuf, ivf, iwf are the results of converting the filtered biaxial currents idf, idq, which are values ​​on the two rotating axes, into values ​​in the stationary coordinate system (uvw coordinate system).

[0062] The third coordinate converter 29 calculates three-phase current command values ​​iu_ref, iv_ref, iw_ref by coordinate converting the current command values ​​id_ref, iq_ref based on the rotor position θ detected by the rotor position detector 11. The third coordinate converter 29 also outputs the calculation results to the second controller 15.

[0063] The second controller 15 calculates second three-phase voltage commands vu2, vv2, and vw2 based on the current command values ​​id_ref and iq_ref and the filtered three-phase currents iuf, ivf, and iwf. As shown in Fig. 6, the second controller 15 includes a u-phase proportional amplifier 15u, a v-phase proportional amplifier 15v, a w-phase proportional amplifier 15w, a u-phase adder 200u, a v-phase adder 200v, and a w-phase adder 200w.

[0064] As shown in Fig. 6 , the second controller 15 uses stored values ​​vu1z, vv1z, and vw1z as input values ​​for calculation. The stored value vu1z is the value of the first three-phase voltage command vu1 at a time point ΔT before the target control time point. The stored value vv1z is the value of the first three-phase voltage command vv1 at a time point ΔT before the target control time point. The stored value vw1z is the value of the first three-phase voltage command vw1 at a time point ΔT before the target control time point. ΔT is the execution period of control by the control unit 13. The stored values ​​vu1z, vv1z, and vw1z may be stored, for example, in a memory area inside the second controller 15.

[0065] The second controller 15 calculates a u-phase current deviation eu by subtracting the filtered three-phase current iuf from the current command value iu_ref. The u-phase current deviation eu is input to a u-phase proportional amplifier 15u. The u-phase proportional amplifier 15u multiplies the u-phase current deviation eu by Kpu, and the u-phase adder 200u adds the stored value vu1z to the resulting value to calculate a second three-phase voltage command vu2 for the u-phase (proportional compensation control). Here, Kpu is a proportional gain used to multiply the AC motor current iu to the current command value iu_ref to achieve a desired response. For example, Kpu is given by Kpu = ωcc × Lu, where Lu is the u-phase inductance. However, the value of Kpu is not limited to ωcc × Lu, and may be adjusted as appropriate by, for example, measuring the responsiveness of the actual AC motor current iu to the current command value iu_ref.

[0066] The second controller 15 calculates the v-phase current deviation ev by subtracting the filtered three-phase current ivf from the current command value iv_ref. The v-phase current deviation ev is input to the v-phase proportional amplifier 15v. The v-phase proportional amplifier 15v multiplies the v-phase current deviation ev by Kpv, and the v-phase adder 200v adds the stored value vv1z to the resulting value to calculate the second three-phase voltage command vv2 for the v-phase (proportional compensation control). Here, Kpv is a proportional gain used to multiply the AC motor current iv to the current command value iv_ref to achieve the desired response. For example, it is given by Kpv = ωcc × Lv, where Lv is the v-phase inductance. However, the value of Kpv is not limited to ωcc × Lv, and may be adjusted as appropriate by, for example, measuring the responsiveness of the actual AC motor current iv to the current command value iv_ref.

[0067] The second controller 15 calculates the w-phase current deviation ew by subtracting the filtered three-phase current iwf from the current command value iw_ref. The w-phase current deviation ew is input to the w-phase proportional amplifier 15w. The w-phase proportional amplifier 15w multiplies the w-phase current deviation ew by Kpw, and the w-phase adder 200w adds the stored value vw1z to the resulting value to calculate the second three-phase voltage command vw2 for the w-phase (proportional compensation control). Here, Kpw is a proportional gain used to multiply the AC motor current iw to the current command value iw_ref to achieve the desired response. For example, it is given by Kpw = ωcc × Lw, where Lw is the w-phase inductance. However, the value of Kpw is not limited to ωcc × Lw, and may be adjusted as appropriate by, for example, measuring the responsiveness of the actual AC motor current iw to the current command value iw_ref.

[0068] As described above, the second controller 15 uses the stored values ​​vu1z, vv1z, and vw1z and the current deviations eu, ev, and ew of each phase when calculating the second three-phase voltage commands vu2, vv2, and vw2. This allows the integral control term included in the first three-phase voltage commands vu1, vv1, and vw1 generated by the first controller 24 to be reflected in the second three-phase voltage commands vu2, vv2, and vw2. This suppresses chattering that occurs when the input to the PWM signal generator 27 switches between the first three-phase voltage commands vu1, vv1, and vw1 and the second three-phase voltage commands vu2, vv2, and vw2. This also reduces the amount of calculation compared to when an integrator is provided in the second controller 15 to perform integral control.

[0069] 1 , the second three-phase voltage commands vu2, vv2, vw2 calculated by the second controller 15 are output to a selector 26. The selector 26 selects one of the first three-phase voltage commands vu1, vv1, vw1 and the second three-phase voltage commands vu2, vv2, vw2, and outputs it to a PWM signal generator 27 as final voltage commands vu, vv, vw.

[0070] An example of the operation of the selector 26 will be described using FIG. 7. As mentioned above, "ΔT" in FIG. 7 is the execution period of control by the control unit 13. The execution period ΔT is determined depending on the responsiveness to the current command values ​​id_ref and iq_ref, the carrier period (frequency) of the inverter 12, and the like. Below, a case where ΔT=100 μs will be described. The "time" column in FIG. 7 indicates the passage of time from time 0 as the starting point. For example, "ΔT" indicates the time 1×ΔT has elapsed since time 0, and "2ΔT" indicates the time 2×ΔT has elapsed since time 0.

[0071] 7 , the control unit 13 executes one of the first controller 24 and the second controller 15. The selector 26 selects the first three-phase voltage commands vu1, vv1, and vw1 when the control unit 13 executes the first controller 24, and selects the second three-phase voltage commands vu2, vv2, and vw2 when the control unit 13 executes the second controller 15.

[0072] In the example of Fig. 7, the filter 21 performs filtering processing every ΔT. However, the period of the filtering processing does not have to be the same as ΔT. The period of the filtering processing is set to be the same as or shorter than the period in which the selector 26 switches from the first three-phase voltage commands vu1, vv1, vw1 to the second three-phase voltage commands vu2, vv2, vw2, or the period in which the selector 26 switches from the second three-phase voltage commands vu2, vv2, vw2 to the first three-phase voltage commands vu1, vv1, vw1. This makes it possible to suppress performance degradation due to discretization of the output from the filter 21.

[0073] In the example of Fig. 7, the first controller 24 is selected every 2 × ΔT. However, the selection of the first controller 24 and the second controller 15 is not limited to the example of Fig. 7, and may be performed as shown in Figs. 8 and 9, for example. In the example of Fig. 8, the first controller 24 is selected every 3 × ΔT. In the example of Fig. 9, the first controller 24 is selected every 4 × ΔT. The ratio at which the first controller 24 is selected may be determined based on the cycle at which integral compensation control is executed. For example, if it is desired to further improve the steady-state error, the ratio at which the first controller 24 is selected may be increased, and if not, the ratio at which the first controller 24 is selected may be decreased.

[0074] Next, a description will be given of the operation of the control device 1 according to this embodiment. The control device 1 provides the following operations (1) to (3).

[0075] Action (1) The amount of calculations performed by the first controller 24 and the second controller 15 is compared. As shown in FIGS. 4 and 5, the first controller 24 performs proportional and integral control on the dq coordinate system, which is a two-axis rotation. In contrast, the second controller 15 performs proportional control in a stationary coordinate system (uvw coordinate system). Therefore, the amount of calculations performed by the second controller 15 is smaller than that performed by the first controller 24. Therefore, compared to when the control device 1 executes the processing performed by the first controller 24 every ΔT, the amount of calculations performed by combining the processing performed by the second controller 15, as shown in FIGS. 7 to 9, is smaller. Therefore, the overall processing load on the CPU included in the control device 1 can be reduced.

[0076] Action (2) When detection noise is included in the pre-conversion detection currents ius, ivs, and iws, it is preferable to perform processing by the first controller 24 and the second controller 15 using the results obtained by removing the detection noise. For example, FIG. 10 shows an example of the sound-frequency characteristics of the AC motor 10. The vertical axis of FIG. 10 represents sound, and the horizontal axis represents frequency. In this example, the detection noise increases near 2500 Hz, which is the mechanical resonance frequency of the AC motor 10. According to the control device 1, the influence of such detection noise can be suppressed by using the filtered biaxial currents idf and idq in which the noise components have been reduced by the biaxial current filter 21.

[0077] Action (3) FIG. 11 shows the results of verifying the magnitude of the phase delay associated with filtering. In FIG. 11, (a1) to (a3) ​​show the case where the AC motor 10 rotates at a low speed (fundamental wave of 50 Hz), while (b1) to (b3) show the case where the AC motor 10 rotates at a high speed (fundamental wave of 250 Hz). In each graph, the horizontal axis represents time, and the vertical axis represents current value. Current values ​​corresponding to the U phase, V phase, and W phase are indicated by thin, thick, and dashed lines. (a1) and (b1) show waveforms of the pre-conversion detection currents ius, ivs, and iws. (a2) and (b2) are graphs for a comparative example. Specifically, the comparative examples shown in (a2) and (b2) show waveforms obtained when direct filtering (processing similar to that performed by the two-axis current filter 21) is performed on the pre-conversion detection currents ius, ivs, and iws.

[0078] A comparison of (a1) and (a2) in Figure 11 shows that, in the case of low-speed rotation, no phase delay occurs even when filtering is performed on the pre-conversion detection currents ius, ivs, and iws. However, a comparison of (b1) and (b2) in Figure 11 shows that, in the case of high-speed rotation, filtering the pre-conversion detection currents ius, ivs, and iws causes a phase delay. In other words, filtering the current in the stationary coordinate system causes a phase delay, especially in the case of high-speed rotation, which may reduce the accuracy of control of the AC motor 10.

[0079] (a3) and (b3) in Fig. 11 are graphs of examples corresponding to this embodiment. Specifically, in the examples shown in (a3) ​​and (b3), the pre-conversion detected currents ius, ivs, and iws are subjected to coordinate transformation by the first coordinate converter 23 (two-axis detected currents id, iq), and filtering is performed on the results. As a result, filtered biaxial currents idf and idq are obtained. Waveforms of the filtered biaxial currents idf and idq (filtered three-phase currents iuf, ivf, and iwf) are shown in (a3) ​​and (b3) in Fig. 11 , respectively.

[0080] A comparison of (a1) and (a3) ​​in Figure 11 shows that, in the case of low-speed rotation, the noise components contained in the waveform of (a1) are removed without causing a phase delay. Furthermore, a comparison of (b1) and (b3) in Figure 11 shows that, even in the case of high-speed rotation, the noise components contained in the waveform of (b1) are removed without causing a phase delay. In other words, it was confirmed that the configuration of the control device 1 can improve the phase delay associated with filtering processing, particularly in the case of high-speed rotation. In this way, improving the phase delay can improve the control accuracy of the AC motor 10.

[0081] Due to the above-described effects (1) to (3), the control device 1 according to this embodiment reduces the calculation load, suppresses phase lag during high-speed rotation, and contributes to quieting the AC motor 10 by removing noise components.

[0082] In this embodiment, the first controller 24 uses the filtered biaxial currents idf and iqf for calculation. However, instead of the filtered biaxial currents idf and iqf, the first controller 24 may perform calculations using the biaxial detected currents id and iq. More specifically, the first coordinate converter 23 may output the biaxial detected currents id and iq to the first deviation calculator 24a and the second deviation calculator 24b, and the deviations ed and eq may be calculated based on the biaxial detected currents id and iq. In this case, noise reduction can also be achieved by adjusting the proportional gains Kpd and Kpq in the proportional compensation control or the proportional gains Kid and Kiq in the integral compensation control.

[0083] As described above, the control device 1 according to this embodiment includes the current detector 22 that detects three-phase currents iu, iv, iw that are supplied to the AC motor 10, the first coordinate converter 23 that converts the pre-conversion detected currents ius, ivs, iws that are the detection results of the current detector 22 into two-axis detected currents id, iq that are currents on the two rotation axes, the two-axis current filter 21 that reduces noise components of the two-axis detected currents id, iq, and the filtered two-axis currents idf, idq that have had their noise components reduced by the two-axis current filter 21 into filtered three-phase currents iuf, ivf, iwf in the stationary coordinate system. a first controller 24 that generates first three-phase voltage commands vu1, vv1, vw1 based on the two-axis detected currents id, iq or the filtered two-axis currents idf, idq so that the two-axis detected currents id, iq become desired values; a second controller 15 that generates second three-phase voltage commands vu2, vv2, vw2 based on the filtered three-phase currents iuf, ivf, iwf; and an inverter 12 that applies voltages to the AC motor 10 based on the first three-phase voltage commands vu1, vv1, vw1 and the second three-phase voltage commands vu2, vv2, vw2.

[0084] According to the control device 1, noise components are reduced in the process of generating the second three-phase voltage commands vu2, vv2, and vw2, thereby achieving an effect of reducing vibration or noise of the AC motor 10. Furthermore, compared to, for example, performing filtering processing on the pre-conversion detected currents ius, ivs, and iws, performing filtering processing on the two-axis detected currents id and iq can reduce phase lag during high-speed rotation.

[0085] The two-axis current filter 21 is configured to calculate filtered two-axis currents idf and iqf using past two-axis detected currents (current id_z1 one cycle ago and current id_z2 two cycles ago). Immediately after startup of the control device 1 for the AC motor 10, the two-axis current filter 21 performs calculations by substituting the latest two-axis detected currents id and iq as the past two-axis detected currents. This makes it possible to perform appropriate control even immediately after startup of the control device 1. For example, it is possible to reduce torque shock caused by substituting inappropriate values ​​as the past two-axis detected currents immediately after startup.

[0086] Furthermore, in this embodiment, the second controller 15 generates second three-phase voltage commands vu2, vv2, vw2 using values ​​obtained by multiplying the current deviations eu, ev, ew in the stationary coordinate system (U-phase, V-phase, W-phase) by proportional gains Kpu, Kpv, Kpw. Such proportional control in the stationary coordinate system can reduce the amount of calculation compared to proportional and integral control in a two-axis rotating coordinate system. Therefore, by partially utilizing the calculation results (second three-phase voltage commands vu2, vv2, vw2) of not only the first controller 24 but also the second controller 15, the amount of calculation of the entire device can be reduced.

[0087] Furthermore, the two-axis current filter 21 may be a notch filter that reduces the mechanical resonance frequency of the AC motor 10, or a low-pass filter whose cutoff frequency is equal to or lower than the mechanical resonance frequency. In this case, noise components that appear based on the mechanical resonance frequency can be reduced, thereby contributing to quieter operation.

[0088] Second Embodiment Next, a second embodiment of the present disclosure will be described, but the basic configuration is the same as that of the first embodiment. Therefore, explanations of parts that overlap with the first embodiment will be omitted, and differences will be mainly described. As shown in FIG. 12 , the control device 2 according to this embodiment does not include the third coordinate converter 29 described in the first embodiment. Furthermore, instead of the second controller 15 in the first embodiment, a second controller 15b is included.

[0089] The second controller 15b will be described with reference to FIG. 13. The second controller 15b uses stored values ​​iufz, ivfz, and iwfz as input values ​​for calculation. The stored values ​​iufz, ivfz, and iwfz are values ​​of the filtered three-phase currents iuf, ivf, and iwf at a time point ΔT before the time point to be controlled. The stored values ​​iufz, ivfz, and iwfz may be stored in, for example, an internal memory area of ​​the second controller 15b.

[0090] The second controller 15b calculates current deviations eu, ev, and ew by subtracting the filtered three-phase currents iuf, ivf, and iwf from the stored values ​​iufz, ivfz, and iwfz. The u-phase proportional amplifier 15u, the v-phase proportional amplifier 15v, and the w-phase proportional amplifier 15w multiply the current deviations eu, ev, and ew by gains Kpu, Kpv, and Kpw, respectively, and output the results to the u-phase adder 200u, the v-phase adder 200v, and the w-phase adder 200w. The u-phase adder 200u, the v-phase adder 200v, and the w-phase adder 200w add stored values ​​vu1z, vv1z, and vw1z to these outputs, respectively. This calculates second three-phase voltage commands vu2, vv2, and vw2.

[0091] Here, the calculation function of the second controller 15b will be described using an example in which control is performed as shown in Figure 7. In the example of Figure 7, the control unit 13 performs time-discretized processing for every natural number multiple of the execution period ΔT. Hereinafter, the chronological order of control by the control unit 13 will be generalized by a natural number K (K = 1, 2, 3, ...). For example, the K-1th processing represents the processing performed ΔT before the Kth processing.

[0092] First, the "difference between the current iu actually flowing through the winding U of the AC motor 10 and the current command value iu_ref" is defined as the u-phase current deviation eu. According to this definition, the Kth u-phase current deviation eu(K) is expressed by the following equation (2-1): eu(K)=iu_ref(K)-iu(K) ... (2-1) The K-1th u-phase current deviation eu(k-1) is expressed by the following equation (2-2): eu(K-1)=iu_ref(K-1)-iu(K-1) ... (2-2) It is assumed that fluctuations in the three-phase current command values ​​iu_ref, iv_ref, and iw_ref appear later than fluctuations in the actual currents iu, iv, and iw of the AC motor 10. Therefore, in equation (2-1), iu_ref(K)=iu_ref(K-1). Then, by substituting equation (2-2) into equation (2-1), we obtain the following equation (2-3): eu(K) = eu(K-1) + (iu(K-1) -iu(K)) ... (2-3)

[0093] Multiplying both sides of equation (2-3) by Kpu gives the following equation (2-4): Kpu・eu(K) = Kpu・eu(K-1) + Kpu・(iu(K-1) - iu(K)) ... (2-4) Adding the integral term I to both sides of equation (2-4) gives the following equation (2-5): Kpu・eu(K) + I = {Kpu・eu(K-1) + I} + Kpu・(iu(K-1) - iu(K)) ... (2-5) The function of the integral term I is to improve steady-state error, and its contribution to responsiveness is small. If we consider the fluctuation of the integral term I during the execution period ΔT to be sufficiently small, the term enclosed in {} on the right-hand side of equation (2-5) is equal to vu1(K-1) (= vu1z). Therefore, equation (2-5) can be expressed as the following equation (2-6). Kpu・eu(K)+I = vu1(K-1)+Kpu・(iu(K-1) -iu(K)) …(2-6)

[0094] The left side of equation (2-6) coincides with the second three-phase voltage command vu2(K) for the U phase, which is to be obtained for the Kth time. Therefore, the following equation (2-7) is obtained. vu2(K)=vu1(K-1)+Kpu·(iu(K-1)-iu(K)) ... (2-7) Equation (2-7) can also be expressed as the following equation (2-8). vu2=vu1z+Kpu·(iufz-iuf) ... (2-8) Equation (2-8) coincides with the calculation process for obtaining the second three-phase voltage command vu2 in FIG. 13. The same applies to the V phase and the W phase.

[0095] As described above, in this embodiment, the second controller 15 generates the second three-phase voltage commands vu2, vv2, and vw2 using values ​​obtained by multiplying the current deviations eu, ev, and ew in the stationary coordinate system (U-phase, V-phase, and W-phase) by the proportional gains Kpu, Kpv, and Kpw. Such proportional control in the stationary coordinate system reduces the amount of calculation compared to proportional and integral control in a two-axis rotating coordinate system. Therefore, by partially utilizing the calculation results (second three-phase voltage commands vu2, vv2, and vw2) of not only the first controller 24 but also the second controller 15, the amount of calculation of the entire device can be reduced. Furthermore, in this embodiment, the third coordinate converter 29 related to the generation of the current command values ​​iu_ref, iv_ref, and iw_ref can be omitted while still achieving the same effects as those of the first embodiment. Therefore, the processing load on the CPU can be more effectively reduced.

[0096] Embodiment 3 Next, a third embodiment of the present disclosure will be described, but the basic configuration is the same as that of the first embodiment. Therefore, the description of the parts that overlap with the first embodiment will be omitted, and the description will focus on the differences. In this embodiment, an example will be described in which the process immediately after startup of the control device 1 described in the first embodiment is applied.

[0097] FIG. 14 is a diagram showing the configuration of a control device 3 according to this embodiment. Descriptions of parts similar to those in the first and second embodiments will be omitted. The control device 3 includes an amplitude calculator 100, a first auxiliary selector 102, and a second auxiliary selector 101. The first auxiliary selector 102 switches the current input to the first controller 24 between the two-axis detected currents id, iq and the filtered two-axis currents idf, iqf based on Vamp_z, which is the previous value of the voltage amplitude Vamp output from the amplitude calculator 100. The second auxiliary selector 101 switches the current input to the second controller 15b between the pre-conversion detected currents ius, ivs, iws and the filtered three-phase currents iuf, ivf, iwf based on Vamp_z. These will be described in more detail below.

[0098] The amplitude calculator 100 calculates the voltage amplitude Vamp of the first three-phase voltage commands vu1, vv1, and vw1 based on the following equation (3-1): Vamp = {(Vu1 2 +Vv12 +Vw1 2 ) / (Vdc 2 / 2)} 0.5 ...(3-1) In equation (3-1), the value of the output voltage Vdc of the DC power supply BT may be a value detected by a voltage detection sensor (not shown). Alternatively, the output voltage Vdc may be a fixed value (e.g., Vdc = 12 V) for the purpose of reducing costs by reducing the number of sensors.

[0099] The second auxiliary selector 101 compares the previous value Vamp_z of the voltage amplitude Vamp with the amplitude threshold Vth, and selects the current to be input to the second controller 15b as follows: If Vamp_z > ​​Vth: iuf, ivf, iwf are input to the second controller 15b ... (3-2) If Vamp_z ≦ Vth: ius, ivs, iws are input to the second controller 15b ... (3-3) In other words, if the previous value Vamp_z is greater than the amplitude threshold Vth, the filtered three-phase currents iuf, ivf, iwf are input to the second controller 15b. On the other hand, if the previous value Vamp_z is smaller than the amplitude threshold Vth, the unconverted detected currents ius, ivs, iws, which have not been filtered, are input to the second controller 15b. However, if the previous value Vamp_z and the amplitude threshold Vth are the same, the filtered three-phase currents iuf, ivf, and iwf may be input to the second controller 15b. Setting of the amplitude threshold Vth will be described later.

[0100] The first auxiliary selector 102 compares the previous value Vamp_z of the voltage amplitude Vamp with the amplitude threshold Vth, and selects the current to be input to the first controller 24 as follows: If Vamp_z > ​​Vth: input idf, iqf to the first controller 24 ... (3-4) If Vamp_z ≦ Vth: input id, iq to the first controller 24 ... (3-5) In other words, if the previous value Vamp_z is greater than the amplitude threshold Vth, the filtered biaxial currents idf, iqf are input to the first controller 24. On the other hand, if the previous value Vamp_z is smaller than the amplitude threshold Vth, the unfiltered biaxial detected currents id, iq are input to the first controller 24. However, if the previous value Vamp_z and the amplitude threshold Vth are the same, the filtered biaxial currents idf, iqf may be input to the first controller 24.

[0101] Next, the amplitude threshold Vth will be described. The inverter 12 shown in FIG. 14 is a so-called shunt resistor type inverter. However, the following description can be similarly applied to inverters of other types. The configuration of the inverter 12 can be changed as long as resistors are inserted in the current carrying lines 12u, 12v, and 12w of the main circuit and three-phase currents iu, iv, and iw are detected based on the voltages across the resistors.

[0102] In FIG. 15 , Gxn denotes an example waveform of one of the switching signals Gun, Gvn, and Gwn of the lower-arm switching elements Sun, Svn, and Swn. Also, VRx denotes an example waveform of one of the voltages VRu, VRv, and VRw across the shunt resistors Ru, Rv, and Rw. In the example shown in FIG. 15 , ringing occurs in the voltage VRx across the shunt resistor for several microseconds after the signal Gxn changes from 0 to 1. Ringing is a phenomenon in which the voltage across the shunt resistor fluctuates for a certain period of time when switching is performed in the inverter 12. If the current detector 22 obtains the pre-conversion detection currents ius, ivs, and iws based on the voltages VRu, VRv, and VRw across the shunt resistors that include this ringing, an error will be included in the detection result. If the pre-conversion detected currents ius, ivs, and iws contain errors, the two-axis detected currents id and iq after coordinate conversion also contain errors.

[0103] In order to accurately obtain the pre-conversion detection currents ius, ivs, and iws, it is preferable that the on-time of the corresponding lower-arm switching elements Sun, Svn, and Swn be longer than a time threshold Tmin set in accordance with the convergence time of ringing. In order to make the on-time of the lower-arm switching elements Sun, Svn, and Swn longer than the time threshold Tmin, it is preferable that the voltage input to the PWM signal generator 27 be equal to or less than Vdc×(Tc−Tmin) / Tc shown by the dashed dotted line in FIG. 2.

[0104] 2, the final voltage commands vu, vv, and vw (i.e., the voltages input to the PWM signal generator 27) are all equal to or less than Vdc×(Tc−Tmin) / Tc. Therefore, it is possible to eliminate errors due to ringing and accurately obtain the pre-conversion detected currents ius, ivs, and iws based on the voltages VRu, VRv, and VRw across the shunt resistors. This detection method for obtaining the pre-conversion detected currents ius, ivs, and iws based on the voltages VRu, VRv, and VRw across the shunt resistors corresponding to the three phases is called "three-phase detection."

[0105] Incidentally, when the voltage amplitude Vamp increases due to an increase in the rotation speed of the AC motor 10 or the like, some of the final voltage commands vu, vv, and vw may take large values ​​close to the maximum value Vdc of the carrier triangular wave C. When the value of the final voltage command vu is greater than the value of Vdc×(Tc−Tmin) / Tc (hereinafter also referred to as the “upper limit value”), the difference between the time when Gun switches from 0 to 1 and the time at timing X becomes small. Therefore, the voltage VRu across the u-phase shunt resistor acquired at timing X includes the effect of ringing.

[0106] Therefore, the pre-conversion detection current for a phase in which the on-time of the switching signals Gun, Gvn, and Gwn of the lower-arm switching elements is shorter than the time threshold Tmin may be generated from the other two phases. This detection method, in which the pre-conversion detection current for one of the three phases is calculated based on the pre-conversion detection currents for the remaining two phases, is referred to as "two-phase detection." For example, if the on-time of the switching signal Gun is shorter than the time threshold Tmin, the pre-conversion detection current ius for the U phase may be calculated as ius = -ivs - iws. Similarly, if the on-time of the switching signal Gvn is shorter than the time threshold Tmin, ivs may be calculated as -ius - iws, and if the on-time of the switching signal Gwn is shorter than the time threshold Tmin, iws may be calculated as -ius - ivs.

[0107] The relationship between the number of phases used for current detection and the voltage amplitude Vamp is as follows. That is, when the voltage amplitude Vamp is low and the instantaneous values ​​of the three-phase final voltage commands vu, vv, and vw are all equal to or less than the upper limit (Vdc×(Tc−Tmin) / Tc), “three-phase detection” is used. Alternatively, when the voltage amplitude Vamp is high and the instantaneous value of any one of the three-phase final voltage commands vu, vv, and vw is equal to or greater than the upper limit (Vdc×(Tc−Tmin) / Tc), “two-phase detection” is used. Comparing “three-phase detection” and “two-phase detection,” “three-phase detection” offers better accuracy. Therefore, to improve the control accuracy of the AC motor 10, it is preferable to use “three-phase detection” whenever possible. However, from the perspective of increasing the output of the AC motor 10, it may be preferable to increase the voltage amplitude Vamp and use “two-phase detection.”

[0108] Therefore, in this embodiment, the amplitude threshold Vth is set to "(Tc - Tmin) / Tc." "(Tc - Tmin) / Tc" can be considered to be a normalized value obtained by dividing the aforementioned upper limit value "Vdc × (Tc - Tmin) / Tc" by Vdc. By setting the amplitude threshold Vth in this manner, the auxiliary selectors 101 and 102 select the current value that has passed through the filter 21 when performing "two-phase detection." This reduces the impact of a decrease in current detection accuracy and prevents an increase in vibration and noise generated by the AC motor 10. Furthermore, when "three-phase detection" is performed, the current detection accuracy is excellent. In three-phase detection, the responsiveness of the AC motor 10 is improved by selecting the current value that has not passed through the filter 21.

[0109] In the above explanation, the calculation is performed using the voltage amplitude Vamp of the first three-phase voltage commands vu1, vv1, and vw1. However, control may be performed based on a comparison of the voltage amplitudes of the second three-phase voltage commands vu2, vv2, and vw2 with an amplitude threshold Vth. Alternatively, the voltage amplitudes of both the first three-phase voltage commands vu1, vv1, and vw1 and the second three-phase voltage commands vu2, vv2, and vw2 may be compared with the amplitude threshold Vth, and control may be performed by combining the results of these comparisons.

[0110] Furthermore, in general, the voltage applied to an AC motor and the rotation speed of the AC motor, including the AC motor 10 according to this embodiment, are roughly proportional to each other. Therefore, instead of the voltage amplitude Vamp, a value related to the rotation speed may be used as the physical quantity input to the auxiliary selectors 101 and 102. For example, the rotation speed when the voltage amplitude Vamp of the AC motor 10 matches the amplitude threshold Vth may be set as the rotation speed threshold Nth. Then, the switching based on the amplitude threshold Vth in this embodiment may be replaced by switching based on the rotation speed threshold Nth. Furthermore, switching may be performed using both the amplitude threshold Vth and the rotation speed threshold Nth.

[0111] In this specification, the concept encompassing the voltage amplitude Vamp and a physical quantity proportional thereto (such as the rotation speed) is defined as an amplitude-correlated physical quantity. The physical threshold (amplitude threshold Vth) is used to determine whether or not to perform control based on the output from the two-axis current filter 21. Furthermore, the concept equivalent to the "amplitude threshold Vth" for the voltage amplitude Vamp is defined as the "physical threshold" for the amplitude-correlated physical quantity. In other words, if the amplitude-correlated physical quantity is equal to or greater than the physical threshold, a current value that has passed through the filter 21 may be selected, and if not, a current value that has not passed through the filter 21 may be selected.

[0112] 14 , a configuration may be adopted in which the second auxiliary selector 101 is used and the first auxiliary selector 102 is omitted. That is, the calculations in the first controller 24 may always use the two-axis detected currents id, iq or the filtered two-axis currents idf, idq. Alternatively, a configuration may be adopted in which the first auxiliary selector 102 is used and the second auxiliary selector 101 is omitted. That is, the calculations in the second controller 15b may always use any of the pre-conversion detected currents ius, ivs, iws and the filtered three-phase currents iuf, ivf, iwf.

[0113] Next, a process for the biaxial current filter 21 will be described. In the following description, a state in which the voltage amplitude Vamp falls below the amplitude threshold Vth will be referred to as a "first state," and a state in which the voltage amplitude Vamp is equal to or greater than the amplitude threshold Vth will be referred to as a "second state." In this embodiment, immediately after switching from the first state to the second state, a problem similar to that encountered by the biaxial current filter 21 immediately after startup, as described in the first embodiment, occurs. That is, in the first state, the biaxial current filter 21 does not perform calculations. If the biaxial current filter 21 attempts to perform calculations after switching from this state to the second state, values ​​corresponding to the current id_z1 one cycle ago and the current id_z2 two cycles ago do not exist. Therefore, the filtered biaxial current idf cannot be calculated. Alternatively, even if calculations can be performed, there is a possibility that the values ​​used when the biaxial current filter 21 previously switched from the second state to the first state will be retained and the calculations will be performed as is. Therefore, to properly perform calculations, appropriate values ​​must be set for id_z1 and id_z2.

[0114] Therefore, in this embodiment, immediately after switching from the first state (Vamp<Vth) to the second state (Vamp≧Vth), id_z1 = id_z2 = idf = id is set. In other words, the most recent input values ​​are set for the "past input values" (id_z1, id_z2) and "filter output value" (idf) of the two-axis current filter 21, and calculations are performed. This measure makes it possible to avoid a torque shock in the AC motor 10 caused by inputting inappropriate values ​​as id_z1 and id_z2 and causing a deviation between the values ​​before and after the filter.

[0115] As described above, in the control device 3 according to this embodiment, when an amplitude correlation physical quantity correlated with the voltage amplitude of the first three-phase voltage commands vu1, vv1, vw1 or the voltage amplitude of the second three-phase voltage commands vu2, vv2, vw2 is equal to or greater than a physical threshold, the control device 3 generates the first three-phase voltage commands vu1, vv1, vw1 based on the filtered two-axis currents idf, iqf and generates the second three-phase voltage commands vu2, vv2, vw2 based on the filtered three-phase currents iuf, ivf, iwf. On the other hand, when the amplitude correlation physical quantity is less than the physical threshold, the control device 3 generates the first three-phase voltage commands vu1, vv1, vw1 based on the two-axis detected currents id, iq and generates the second three-phase voltage commands vu2, vv2, vw2 based on the pre-conversion detected currents ius, ivs, iws.

[0116] According to the control device 3, when the amplitude correlation physical quantity exceeds the physical threshold, the current value after filtering processing by the two-axis current filter 21 is used. When the amplitude correlation physical quantity exceeds the physical threshold, the influence of noise components can be reduced by performing filtering processing. Furthermore, when the amplitude correlation physical quantity is less than the physical threshold, the filtering processing is not performed, thereby reducing the processing load of calculations.

[0117] Furthermore, in the control device 3, the two-axis current filter 21 is configured to calculate filtered two-axis currents idf and iqf using past two-axis detected currents (current id_z1 one cycle ago and current id_z2 two cycles ago). When switching from a first state in which the amplitude correlation physical quantity is less than the physical threshold to a second state in which the amplitude correlation physical quantity is equal to or greater than the physical threshold, the two-axis current filter 21 performs calculations by substituting the latest two-axis detected currents id and iq as the past two-axis detected currents. This makes it possible to perform appropriate control even when switching from the first state to the second state. For example, it is possible to reduce torque shock caused by substituting inappropriate values ​​as the past two-axis detected currents when switching from the first state to the second state.

[0118] The inverter 12 also includes current lines 12u, 12v, and 12w for supplying current to the AC motor 10 and shunt resistors Ru, Rv, and Rw connected in series to the current lines 12u, 12v, and 12w. The current detector 22 detects pre-conversion detection currents ius, ivs, and iws based on voltages VRu, VRv, and VRw across the shunt resistors Ru, Rv, and Rw. A physical threshold (e.g., an amplitude threshold Vth) is determined based on a period Tc of the carrier triangular wave C and a time threshold Tmin. More specifically, if the physical threshold is the amplitude threshold Vth, then Vth = (Tc - Tmin) / Tc. This reduces the effect of ringing on current detection accuracy even in a control device using a shunt resistor-type inverter 12.

[0119] Fourth Embodiment Next, a fourth embodiment of the present disclosure will be described, but the basic configuration is the same as that of the third embodiment. Therefore, the description of the parts that overlap with the third embodiment will be omitted, and the description will focus on the differences. Figure 16 shows the configuration of a control device 4 according to this embodiment. The control device 4 includes a weighted average processing unit 401 in addition to the components of the control device 3 according to the third embodiment.

[0120] 16 , the weighted average processor 401 receives the biaxial detected currents id and iq from the first coordinate converter 23. The weighted average processor 401 also receives the filtered biaxial currents idf and iqf from the biaxial current filter 21. The weighted average processor 401 also receives the previous value Vamp_z of the voltage amplitude Vamp, which is the output of the amplitude calculator 100. The weighted average processor 401 calculates the weighted average outputs idf′ and iqf′ based on the following equations (4-1) and (4-2): idf′=(1−Kf)×id+Kf×idf (4-1) iqf′=(1−Kf)×id+Kf×idf (4-2) In equations (4-1) and (4-2), Kf is the weighted average gain. 17, the weighted average gain Kf is determined according to the previous value Vamp_z of the voltage amplitude Vamp. The specific numerical value of the weighted average gain Kf varies within the range of 0 to 1 based on the previous value Vamp_z.

[0121] The upper part of Fig. 17 shows the relationship between the calculation on / off command of the two-axis current filter 21 and the previous value Vamp_z of the voltage amplitude Vamp. The lower part of Fig. 17 shows the relationship between the weighted average gain Kf of the two-axis current filter 21 and the previous value Vamp_z. The calculation on / off command is a command for switching whether or not to perform filtering processing by the two-axis current filter 21. When the calculation on / off command is on, filtering processing is performed, and when it is off, filtering processing is not performed. The calculation on / off command may be generated, for example, by the amplitude calculator 100 or by another component capable of calculation.

[0122] 17, when the previous value Vamp_z exceeds the second amplitude threshold Vth2, the calculation ON / OFF command is set to ON, and otherwise the command is set to OFF. The second amplitude threshold Vth2 is a physical quantity having the same dimension as the amplitude threshold Vth. The second amplitude threshold Vth2 is set to a value lower than the amplitude threshold Vth.

[0123] 17 , when the previous value Vamp_z is less than the second amplitude threshold Vth2, the weighted average gain Kf is set to 0. When the previous value Vamp_z is greater than the amplitude threshold Vth, the weighted average gain Kf is set to 1. When the previous value Vamp_z is between the second amplitude threshold Vth2 and the amplitude threshold Vth, the weighted average gain Kf changes linearly between 0 and 1 in conjunction with the value of the previous value Vamp_z.

[0124] According to the operation of the weighted average processing unit 401 described above, when the previous value Vamp_z of the voltage amplitude Vamp is equal to or smaller than the second amplitude threshold Vth2, the weighted average outputs idf', iqf' match the input (two-axis detected currents id, iq) of the two-axis current filter 21. When the previous value Vamp_z is equal to or larger than the amplitude threshold Vth, the weighted average outputs idf', iqf' match the output (filtered two-axis currents idf, iqf) of the two-axis current filter 21. When the previous value Vamp_z is between the second amplitude threshold Vth2 and the amplitude threshold Vth, the weighted average outputs idf', iqf' are values ​​obtained by weighting the input (two-axis detected currents id, iq) and output (filtered two-axis currents idf, iqf) of the two-axis current filter 21 based on the previous value Vamp_z.

[0125] The weighted average processing unit 401 inputs the weighted average outputs idf', iqf' to the first auxiliary selector 102. The first auxiliary selector 102 according to this embodiment performs processing in which the switching between the two-axis detected currents id, iq and the filtered two-axis currents idf, iqf described in the third embodiment is replaced with switching between the two-axis detected currents id, iq and the weighted average outputs idf', iqf'. In other words, the first auxiliary selector 102 according to this embodiment switches the current to be input to the first controller 24 between the two-axis detected currents id, iq and the weighted average outputs idf', iqf' based on the previous value Vamp_z of the voltage amplitude Vamp.

[0126] In this specification, a concept equivalent to the "second amplitude threshold Vth2" for the voltage amplitude Vamp is defined as the "second physical threshold" for the amplitude correlated physical quantity. That is, in the control device 4 according to this embodiment, when the previous value of the amplitude correlated physical quantity exceeds a second physical threshold that is smaller than the physical threshold, the two-axis current filter 21 performs a calculation (filtering process). Furthermore, when the previous value of the amplitude correlated physical quantity is between the second physical threshold and the physical threshold, the weighted average processing unit 401 performs weighted averaging on the two-axis detected currents id, iq and the filtered two-axis currents idf, iqf. When performing the weighted averaging process, the weighted average processing unit 401 increases the weight of the filtered two-axis currents idf, iqf as the amplitude correlated physical quantity increases.

[0127] The control device 4 according to this embodiment includes the weighted average processing unit 401, thereby reducing chattering of the input from the first auxiliary selector 102 to the first controller 24. In other words, the change in value is smaller when the input to the first controller 24 switches between the two-axis detected currents id, iq and the weighted average outputs idf', iqf' than when the input switches between the two-axis detected currents id, iq and the filtered two-axis currents idf, iqf. Therefore, noise, vibration, and the like generated from the AC motor 10 due to switching in the first auxiliary selector 102 can be suppressed.

[0128] Fifth Embodiment Next, a fourth embodiment of the present disclosure will be described, but the basic configuration is the same as that of the first embodiment. Therefore, explanations of parts that overlap with the first embodiment will be omitted, and differences will be mainly described. In this embodiment, a case will be described in which the techniques described in the first to fourth embodiments are applied to the control of an AC motor included in an electric power steering device.

[0129] As shown in Fig. 18, an electric power steering device 900 according to this embodiment includes a control device 5, a steering wheel 901, an AC motor 10, a torque detector 903, etc. The electric power steering device 900 is mounted on a vehicle. The steering wheel 901 is operated by a driver. The front wheels 902 of the vehicle are driven by operating the steering wheel 901. The basic configuration of the control device 5 is the same as that of the control device 1 in the first embodiment, so a detailed description will be omitted and differences will be mainly described.

[0130] The torque detector 903 detects the steering torque Tst of the steering wheel 901 applied by the driver and outputs the detection result to the control device 5. The driving force of the AC motor 10 is transmitted to the front wheels 902 and the like via a driving force transmission mechanism 904. The electric power steering device 900 uses the driving force generated by the AC motor 10 as an assist torque in steering the vehicle, and assists the driver in steering the vehicle.

[0131] The control device 5 includes a current command value calculator 501. The current command value calculator 501 receives inputs such as the steering torque Tst and the vehicle traveling speed S. Based on these inputs, the current command value calculator 501 calculates a torque current command value iq_ref and a field-weakening current command value id_ref. In the calculations performed by the current command value calculator 501, known vibration suppression control, viscosity compensation control, inertia compensation control, and the like may be used in combination.

[0132] The AC motor 10 for the electric power steering device 900 may be a brushless motor, a permanent magnet synchronous motor, or the like. The resonant period Tr of the frame of the AC motor 10, or the power pack in which the AC motor 10 and the inverter 12 are integrated, or the entire electric power steering device 900, is, for example, 200 μs or more and 500 μs or less. That is, the resonant frequency fr of these structures may be 2 kHz or more and 5 kHz or less. The resonant period Tr may more preferably be 300 μs or more and 400 μs or less. That is, the resonant frequency fr may be 2.5 kHz or more and 3.3 kHz or less. The current control response (cutoff frequency) of the AC motor 10 is, for example, 100 Hz or more and 1250 Hz or less, or 200 Hz or more and 800 Hz or less. The period Tc of the carrier triangular wave C is 50 μs or more and 60 μs or less.

[0133] According to the control devices 1 to 5 or the electric power steering device 900 according to the first to fifth embodiments, it is possible to remove the resonance frequency component included in the detected current with high precision even when the detection current has the above-described resonance period Tr, etc. The configuration according to the present disclosure is suitable for vehicles that require a high-quality steering feel, or vehicles that require quietness when the driver steers the steering wheel 901 at high speed (when the AC motor 10 rotates at high speed), etc.

[0134] Although the first to fifth embodiments have been described above, the present disclosure is not limited to the above embodiments and can be freely modified without departing from the spirit of the present disclosure. Furthermore, the first to fifth embodiments described above can also be combined as appropriate. For example, the techniques described in the first to fourth embodiments may be applied to the electric power steering device 900 described in the fifth embodiment. Alternatively, the control devices 1 to 5 may be applied to the control of an AC motor 10 other than an electric power steering device.

[0135] Each of the components of the AC motor control devices 1 to 5 and the electric power steering device 900 described above has an internal computer system. A program for realizing the functions of each of the components of the AC motor control devices 1 to 5 and the electric power steering device 900 described above may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a computer system and executed to perform processing in each of the components of the AC motor control devices 1 to 5 and the electric power steering device 900 described above. Here, "reading a program recorded on a recording medium into a computer system and executing it" includes installing the program into a computer system. The "computer system" referred to here includes hardware such as an OS and peripheral devices.

[0136] Furthermore, a "computer system" may include multiple computer devices connected via a network including the Internet or communication lines such as a WAN, LAN, or dedicated line. Furthermore, a "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into a computer system. Thus, the recording medium storing the program may be a non-transitory recording medium such as a CD-ROM.

[0137] The recording medium also includes internal or external recording media accessible from a distribution server for distributing the program. The program may be divided into multiple parts, downloaded at different times, and then combined into the respective components of the AC motor control devices 1-5 and the electric power steering device 900. Each divided program may be distributed by a different distribution server. Furthermore, the term "computer-readable recording medium" also includes a medium that stores a program for a certain period of time, such as volatile memory (RAM) within a computer system that serves as a server or client when a program is transmitted over a network. The program may also be a medium for implementing part of the above-described functions. Furthermore, the program may be a so-called differential file (differential program) that can realize the above-described functions in combination with a program already stored in the computer system.

[0138] 1 to 5: control device 10: AC motor 12: inverter 12u, 12v, 12w: current lines 15, 15b: second controller 21: two-axis current filter 22: current detector 23: first coordinate converter 24: first controller 28: second coordinate converter 401: weighted average processing unit 900: electric power steering device

Claims

1. a current detector for detecting three-phase currents flowing through an AC motor; a first coordinate converter that converts a pre-conversion detection current, which is a detection result by the current detector, into a two-axis detection current, which is a current on two rotation axes; a biaxial current filter for reducing noise components of the biaxial detection current; a second coordinate converter that converts the filtered biaxial current, which is the biaxial detection current in which the noise component has been reduced by the biaxial current filter, into a filtered three-phase current in a stationary coordinate system; a first controller that generates a first three-phase voltage command based on the two-axis detected current or the filtered two-axis current; a second controller that generates a second three-phase voltage command based on the filtered three-phase current; an inverter that applies a voltage to the AC motor based on the first three-phase voltage command and the second three-phase voltage command.

2. the two-axis current filter is configured to calculate the filtered two-axis current by using the past two-axis detected currents; 2. The AC motor control device according to claim 1, wherein the two-axis current filter performs a calculation by substituting the latest two-axis detected current as the past two-axis detected current immediately after the start of the AC motor control device.

3. generating the first three-phase voltage command based on the filtered biaxial currents and generating the second three-phase voltage command based on the filtered three-phase currents when an amplitude-correlated physical quantity correlated with a voltage amplitude of the first three-phase voltage command or a voltage amplitude of the second three-phase voltage command is equal to or greater than a physical threshold; 2. The control device for an AC motor according to claim 1, wherein, when the amplitude correlation physical quantity is less than the physical threshold value, the first three-phase voltage command is generated based on the two-axis detected currents, and the second three-phase voltage command is generated based on the pre-conversion detected currents.

4. the two-axis current filter is configured to calculate the filtered two-axis current by using the past two-axis detected currents; 4. The control device for an AC motor according to claim 3, wherein when a first state in which the amplitude correlated physical quantity is less than the physical threshold value is switched to a second state in which the amplitude correlated physical quantity is equal to or greater than the physical threshold value, the two-axis current filter performs a calculation by substituting the latest two-axis detected current as the past two-axis detected current.

5. A weighted average processor is further provided, When a previous value of the amplitude correlation physical quantity exceeds a second physical threshold value that is smaller than the physical threshold value, the two-axis current filter executes a calculation; the weighted average processing unit performs a weighted average process on the biaxial detection current and the filtered biaxial current when a previous value of the amplitude correlated physical quantity is between the second physical threshold value and the physical threshold value; 5. The control device for an AC motor according to claim 3, wherein the weighted average processing unit increases a weight of the filtered biaxial current as the amplitude correlation physical quantity increases when performing the weighted average processing.

6. 3. The control device for an AC motor according to claim 1, wherein the second controller calculates the second three-phase voltage command by using a value obtained by multiplying a current deviation in the stationary coordinate system by a proportional gain.

7. The inverter includes a current carrying line for a current supplied to the AC motor, and a shunt resistor connected in series to the current carrying line, The current detector detects the pre-conversion detection current based on a voltage across the shunt resistor; The control device for an AC motor according to claim 1 or 2, wherein the physical threshold value is determined based on a period of a carrier triangular wave and a time threshold value.

8. 3. The control device for an AC motor according to claim 1, wherein the two-axis current filter is a notch filter that reduces a mechanical resonance frequency of the AC motor, or a low-pass filter whose cutoff frequency is equal to or lower than the mechanical resonance frequency.

9. The control device for an AC motor according to claim 1 or 2; and the AC motor that generates an assist torque in steering a vehicle.