Motor control device and motor control method

The motor control device calculates an approximation line for motor current based on detected values at each control cycle, addressing unstable control issues caused by averaging processes, ensuring stable and efficient motor operation.

JP7844981B2Active Publication Date: 2026-04-14GENERAL CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
GENERAL CO LTD
Filing Date
2022-03-25
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing sensorless motor control methods using averaging processes like first-order lag filters cause time delays and can lead to unstable control due to current value deviations, potentially increasing unnecessary control operations.

Method used

A motor control device and method that calculates an approximation line for motor current based on detected values at each control cycle, using the electrical angular period of AC voltage or current, reducing the impact of noise and allowing for proper motor control without frequent averaging.

Benefits of technology

This approach achieves stable motor control by minimizing unnecessary control operations and reducing the frequency of feedback, thereby maintaining control accuracy and stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007844981000001
    Figure 0007844981000001
  • Figure 0007844981000002
    Figure 0007844981000002
  • Figure 0007844981000003
    Figure 0007844981000003
Patent Text Reader

Abstract

To reduce useless control and achieve proper motor control.SOLUTION: A motor control device according to an embodiment of the present invention comprises a drive unit, a current detection unit, a current approximation unit, and a control unit. The drive unit supplies, to a motor, an AC voltage or an AC current that corresponds to a control command value, and controls the motor. The current detection unit detects a motor current flowing in the motor. The current approximation unit calculates, for each control cycle based on the electrical control cycle of the AC voltage or AC current, the approximate line of the motor current on the basis of a plurality of detection values derived from detection of the motor current, and calculates the approximate value of the motor current on the basis of the approximate line. The control unit calculates the control command value on the basis of the approximate value.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a motor control device and a motor control method for controlling a motor. [Background technology]

[0002] In recent years, sensorless control has been developed as a method of controlling motors without using sensors to detect the motor's rotational position, etc. This method is a feedback control that detects the current flowing through the motor. For example, the current flowing through the motor is detected, and the command values ​​for the current and voltage to drive the motor are set from the detected value.

[0003] For example, the detected value of the current flowing through the motor may change abruptly due to disturbances such as sudden noise. If feedback control is performed using such a rapidly changing value, the command value for driving the motor will change significantly temporarily. Although the change in the command value is gradually reduced by repeated control, if the command value oscillates due to disturbances during this time and harmonic components are superimposed on the current waveform, the control accuracy of the motor may decrease.

[0004] For example, Patent Document 1 describes a method for controlling a motor driven by three-phase AC by filtering the estimated value of the feedbacked motor current. In this method, the d-axis and q-axis current estimates are calculated based on the detected value of the motor current for one phase (e.g., U-phase) and the estimated values ​​of the motor current for two phases (e.g., V-phase and W-phase) calculated in the previous processing, and these estimates are used to control the motor. At this time, the d-axis and q-axis current estimates are averaged by a first-order lag filter before being fed back. Therefore, changes in the estimated values ​​due to sudden noise, etc., are reduced, and their impact can be mitigated. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Japanese Patent Publication No. 2001-145398 [Overview of the project] [Problems that the invention aims to solve]

[0006] In general, averaging processes, such as the first-order lag filter described above, are known to cause a time delay due to filtering. For example, if the current value fluctuates during this time delay, the current value calculated by the averaging process may deviate from the actual current value. As a result, the current waveform flowing through the motor may become discontinuous, potentially leading to unstable motor control.

[0007] Furthermore, averaging using a first-order lag filter needs to be performed every time the motor current is detected. For example, depending on the type of motor, it may be possible to make the motor perform the desired operation even with relatively coarse control accuracy. In such cases, performing averaging every time the current is detected may actually increase unnecessary control.

[0008] In view of the above circumstances, the object of the present invention is to provide a motor control device and a motor control method that can achieve appropriate motor control while reducing unnecessary control. [Means for solving the problem]

[0009] A motor control device according to one embodiment of the present invention comprises a drive unit, a current detection unit, a current approximation unit, and a control unit. The drive unit drives the motor by supplying an AC voltage or AC current to the motor according to the control command value. The current detection unit detects the motor current flowing through the motor. The current approximation unit calculates an approximation line for the motor current based on a plurality of detected values ​​for each control cycle based on the electrical angular period of the AC voltage or AC current, and calculates an approximate value of the motor current based on the approximation line. The control unit calculates the control command value based on the approximate value.

[0010] In this motor control device, the motor current is detected at each control cycle, and an approximation line is calculated. The motor control command value is calculated using the approximation value obtained with this approximation line. Since the control cycle is set based on the electrical angular period of the AC voltage or AC current supplied to the motor, the control frequency is reduced. Furthermore, by using the approximation line, it is possible to calculate the feedback value without being affected by noise, etc. This makes it possible to achieve proper motor control while reducing unnecessary control.

[0011] The motor current may be a d-axis current and a q-axis current. In this case, the current detection unit may detect the d-axis current and the q-axis current. The approximation line may be an approximation line for the d-axis current and an approximation line for the q-axis current. The approximation value may be an approximation value for the d-axis current and an approximation value for the q-axis current. The current approximation unit may calculate an approximation line for the d-axis current and an approximation value for the d-axis current based on the detected value of the d-axis current, and calculate an approximation line for the q-axis current and an approximation value for the q-axis current based on the detected value of the q-axis current.

[0012] The control unit may include: an axis error calculation unit that calculates the axis error of the motor based on an approximate value of the d-axis current and an approximate value of the q-axis current; a voltage adjustment unit that adjusts the motor voltage so that the axis error converges to zero; and a command value calculation unit that calculates a command value for the d-axis voltage and a command value for the q-axis voltage based on an approximate value of the d-axis current, an approximate value of the q-axis current, the adjusted motor voltage, and a speed command value for the motor.

[0013] The command value calculation unit calculates the command value of the electrical angular velocity for the motor ωe * The q-axis inductance of the motor may be set to Lq, the approximate value of the q-axis current to iq', the d-axis voltage Vd may be calculated according to equation (1) shown below, and the command value of the d-axis voltage may be calculated based on the result of this calculation. Vd=-ωe* ×Lq×iq' ···(1)

[0014] The command value calculation unit may calculate the q-axis voltage Vq according to equation (2) shown below, with the motor voltage being V and the d-axis voltage being Vd, and then calculate the command value of the q-axis voltage based on the calculation result. Vq=sqrt(V 2 -Vd 2 ) ···(2)

[0015] The approximation line may be an approximation line that approximates the change in the motor current with respect to time. In this case, the current detection unit may detect the motor current at a predetermined period. The current approximation unit may also calculate an approximate value of the motor current from the detection timing of the most recent detected value of the motor current used to calculate the approximation line and from the approximation line.

[0016] The aforementioned approximation line may be a regression line calculated by the least squares method for the plurality of detected values.

[0017] The control period may be set to n times or 1 / n times the electrical angular period, where n is an arbitrary positive integer value.

[0018] The drive unit may include a PWM generation unit that generates a PWM signal based on the control command value, and a power supply unit that supplies power to the motor based on the PWM signal. In this case, the current detection unit may perform a current detection process that detects the motor current at least once within the carrier cycle of the PWM signal a predetermined number of times within the control cycle.

[0019] The current detection unit may detect the motor current using a single shunt resistor.

[0020] The motor may be a fan motor that drives a fan mounted on an air conditioner.

[0021] A motor control method according to one embodiment of the present invention includes supplying an AC voltage or AC current to a motor in accordance with a control command value to drive the motor. The motor current flowing through the motor is detected. For each control cycle based on the electrical angular period of the AC voltage or AC current, an approximation line of the motor current is calculated based on a plurality of detected values ​​of the motor current, and an approximation value of the motor current is calculated based on the approximation line. For each control cycle, the control command value is calculated based on the approximate value.

[0022] According to the present invention, it is possible to achieve proper motor control while reducing unnecessary control. [Brief explanation of the drawing]

[0023] [Figure 1] This is a schematic diagram showing an example configuration of an air conditioner equipped with a motor control device according to this embodiment. [Figure 2] Example configuration block of a motor control device. [Figure 3] This is a schematic diagram showing the definition of the coordinate axes of a motor. [Figure 4] This is a schematic diagram illustrating the relationship between the alternating current flowing through the motor and the PWM signal. [Figure 5] This is a flowchart illustrating an example of the operation of a motor control device. [Figure 6] This graph shows an example of approximation lines for the d-axis current and q-axis current. [Figure 7] This is a time chart showing the timing of motor control. [Figure 8] This block diagram shows an example configuration of a motor control device as a comparative example. [Modes for carrying out the invention]

[0024] Embodiments of the present invention will be described below with reference to the drawings.

[0025] [Air conditioner] Figure 1 is a schematic diagram showing an example of the configuration of an air conditioner equipped with a motor control device according to this embodiment. As shown in Figure 1, the air conditioner 100 has an indoor unit 1 and an outdoor unit 2. The indoor unit 1 is used by being installed in an indoor space within a building. The indoor unit 1 has an indoor heat exchanger 10 and an indoor blower 11. The outdoor unit 2 is installed outdoors of the building where the indoor unit 1 is installed and is connected to the indoor unit 1 via refrigerant piping that circulates the refrigerant. The outdoor unit 2 includes an outdoor heat exchanger 20, a compressor 21, a pressure reducer (expansion valve) 22, a flow path switch (four-way valve) 23, a fan 24, a motor 25, and a motor control device 30.

[0026] For example, during heating operation, high-temperature, high-pressure refrigerant (gas refrigerant) discharged from the compressor 21 of the outdoor unit 2 flows into the indoor heat exchanger 10 of the indoor unit 1 via the flow path switch 23. The high-pressure refrigerant that has exchanged heat with air in the indoor heat exchanger 10 (condenser) condenses and liquefies. Subsequently, the high-temperature, high-pressure liquid refrigerant is reduced in pressure by passing through the pressure reducer 22 of the outdoor unit 2, becoming a low-temperature, low-pressure gas-liquid two-phase refrigerant that flows into the outdoor heat exchanger 20. The refrigerant that has exchanged heat with outside air in the outdoor heat exchanger 20 (evaporator) vaporizes. Subsequently, the low-temperature, low-pressure refrigerant is drawn into the compressor 21 via the flow path switch 23.

[0027] For example, during cooling operation, the high-temperature, high-pressure refrigerant discharged from the compressor 21 of the outdoor unit 2 flows into the outdoor heat exchanger 20 via the flow path switch 23. The high-temperature, high-pressure gaseous refrigerant that has exchanged heat with the outside air in the outdoor heat exchanger 20 (condenser) condenses and liquefies. Subsequently, the high-temperature, high-pressure liquid refrigerant is depressurized by passing through the pressure reducer 22 of the outdoor unit 2, becoming a low-temperature, low-pressure gaseous two-phase refrigerant, which flows into the indoor heat exchanger 10 of the indoor unit 1. In the indoor heat exchanger 10 (evaporator), the refrigerant that has exchanged heat with the air vaporizes. Subsequently, the low-temperature, low-pressure gaseous refrigerant is drawn into the compressor 21 via the flow path switch 23.

[0028] Fan 24 is, for example, a propeller fan that generates airflow in response to the rotation of an impeller, and is fixed to the rotor of motor 25 and positioned toward an outlet (not shown). Motor 25 drives the fan 24 mounted on the air conditioner 100. Motor 25 is a permanent magnet synchronous motor (PM synchronous motor) that uses permanent magnets in the rotor and windings in the stator. Motor 25 is provided with three phases of windings: U-phase, V-phase, and W-phase, and an AC voltage output from the drive circuit 31 is applied to each phase winding. The specific configuration of motor 25 is not limited, and any type of motor may be used.

[0029] Motor 25 rotates fan 24, blowing outdoor air to outdoor heat exchanger 20. The outdoor air passes through outdoor heat exchanger 20 and exchanges heat with the refrigerant. The resulting cool or warm airflow is blown out from outdoor unit 2. The airflow rate passing through outdoor heat exchanger 20 is adjusted according to the rotation speed of fan 24, i.e., the rotation speed of motor 25. In this embodiment, the motor 25 corresponds to a fan motor.

[0030] The motor control device 30 is a device that rotates the motor 25 based on the power supplied from the power source 3 and controls the rotational movement of the motor 25. In this embodiment, the motor control device 30 performs vector control of the motor 25. In vector control, the current flowing through the windings provided on the stator of the motor 25 is divided into a current component that generates magnetic flux in the rotor of the motor 25 (d-axis current) and a current component that generates torque in the rotor (q-axis current), and each current component is controlled independently. In this embodiment, the case in which the motor control device 30 performs vector control of a fan motor as the motor 25 is described, but it is also possible to apply this technology to the vector control of other motors. As shown in Figure 1, the motor control device 30 includes a drive circuit 31, a calculation circuit 32, a current detection circuit 33, and a DC detection circuit 34.

[0031] The drive circuit 31 corresponds to a drive unit that drives the motor 25 by supplying an AC voltage or AC current to the motor 25 according to the control command value. The drive circuit 31 outputs the DC voltage supplied from the power supply 3 as a three-phase AC voltage and applies it to each phase of the motor 25, and supplies an AC current to each phase according to the AC voltage. In this embodiment, the drive circuit 31 corresponds to the drive unit.

[0032] The control command value is the command value for the parameters used to control the motor 25. For example, the command values ​​for the voltage values ​​supplied to each of the U, V, and W phases of the motor 25 are input to the drive circuit 31 as the control command value. The drive circuit 31 generates AC voltages to be applied to each phase based on the voltages indicated by the control command value. By applying these AC voltages to the windings of each phase of the motor 25, an AC current corresponding to the AC voltage flows through the windings of each phase, and the motor 25 is driven. Furthermore, in the drive circuit 31, the voltage applied to the motor 25 is controlled using a pulse width modulation (PWM) signal. The control command value is a duty command value that specifies the width (duty) of the PWM signal.

[0033] The arithmetic circuit 32 is a circuit that performs the calculations necessary for controlling the motor 25. The arithmetic circuit 32 is constructed using a computer equipped with a CPU (Central Processing Unit), memory, etc. The arithmetic circuit 32 corresponds to the control unit that generates the control command values. The calculation circuit 32 receives inputs such as the detected values ​​from the current detection circuit 33 and the DC detection circuit 34, as well as commands and setting values ​​transmitted from the indoor unit 1 of the air conditioner 100. Based on these inputs, control command values ​​for vector control of the motor 25 are calculated. In this case, duty command values ​​representing the voltage values ​​to be supplied to each phase of the motor 25 are calculated.

[0034] The current detection circuit 33 is a circuit that detects the current flowing through the three-phase windings provided on the motor 25. The current detection circuit 33 is composed of, for example, a current sensor, an amplifier, and an AD converter (see Figure 2). In this embodiment, the current flowing through two of the three phase windings of the motor 25 is detected. From this detection result, it is possible to calculate the current flowing through the remaining winding. In this embodiment, the current detection circuit 33, together with the three-phase to two-phase converter 36 (described later), constitutes a current detection unit.

[0035] The DC detection circuit 34 is a circuit that detects the voltage value of the power supply 3. In other words, the DC detection circuit 34 detects the DC voltage supplied to the motor 25. The detection result of the DC detection circuit 34 is output to the calculation circuit 32. For example, the voltage value of power supply 3 may change due to fluctuations in the voltage of the external power supply or the load. In such cases, the control command value is adjusted in the calculation circuit 32 using the detection result of the DC detection circuit 34. This makes it possible to drive the motor 25 stably even if the voltage of power supply 3 changes.

[0036] [Motor control device] Figure 2 is a block diagram showing an example configuration of the motor control device 30. Figure 3 is a schematic diagram showing the definition of the coordinate axes of the motor 25. Below, the detailed configuration of each part of the motor control device 30 will be described with reference to Figures 2 and 3.

[0037] First, let's explain the coordinate axes used in the following explanation. Figure 3 schematically shows a permanent magnet 5 installed on the rotor of the motor 25. The permanent magnet 5 is positioned perpendicular to the rotation axis (Z-axis) of the motor 25. Here, the direction of the north pole of the permanent magnet 5 (the north pole side is the positive direction) is defined as the d-axis, and the axis perpendicular to the d-axis is defined as the q-axis. The d-axis current that generates magnetic flux in the d-axis direction is the current component that generates magnetic flux in the rotor. The q-axis current that generates magnetic flux in the q-axis direction is the current component that generates torque in the rotor of the motor 25. Furthermore, θe is assumed to be the estimated rotor position expressed in electrical angles (estimated angle relative to the U-axis), and ωe is assumed to be the estimated angular velocity of the rotor expressed in electrical angles. Also, the Z-axis is assumed to be a virtual axis orthogonal to both the d-axis and the q-axis.

[0038] As shown in FIG. 2, the motor control device 30 includes the drive circuit 31, arithmetic circuit 32, and current detection circuit 33 described above. The arithmetic circuit 32 includes, as functional blocks, a three-phase to two-phase converter 36, approximation processing unit 37, axis error arithmetic processing unit 38, axis error control unit 39, integrator 40, angular velocity converter 41, and voltage command generation unit 42. Each functional block of the arithmetic circuit 32 may be configured using a dedicated IC or the like. In FIG. 2, the illustration of the DC detection circuit 34 is omitted.

[0039] The drive circuit 31 receives a voltage command vector (Vu * , Vv * , Vw * ) in the fixed coordinate system (UVW coordinate system), that is, the U-phase voltage command value Vu * , the V-phase voltage command value Vv * , and the W-phase voltage command value Vw * from the voltage command generation unit 42 (two-phase to three-phase converter 55), and receives a DC voltage Vdc from the power supply 3. In this embodiment, the U-phase voltage command value Vu * , the V-phase voltage command value Vv * , and the W-phase voltage command value Vw * correspond to control command values. The drive circuit 31 also receives the U-phase voltage command value Vu * , the V-phase voltage command value Vv * , the W-phase voltage command value Vw * , and supplies a three-phase AC voltage to the motor 25 via the windings of each of the U-phase, V-phase, and W-phase in accordance with the DC voltage Vdc, thereby driving the motor 25. Specifically, the drive circuit 31 includes a PWM modulator 45 and an intelligent power module (IPM) 46.

[0040] The PWM modulator 45 receives the control command values (U-phase voltage command value Vu * , V-phase voltage command value Vv * , W-phase voltage command value Vw *These are converted into PWM signals and supplied to the IPM46. For example, a PWM signal is generated in which the pulse width is set according to each command value. In this embodiment, the PWM modulator 45 corresponds to a PWM generation unit that generates a PWM signal based on the control command value.

[0041] The IPM46 has multiple switching elements, receives a PWM signal from the PWM modulator 45, and performs power conversion by switching the multiple switching elements at predetermined timings according to the PWM signal. It drives the motor 25 by supplying the generated three-phase AC voltage to the motor 25. In this embodiment, the IPM46 corresponds to a power supply unit that supplies power to the motor 25 based on the PWM signal.

[0042] The current detection circuit 33 detects (picks up) the current values ​​of at least two phases. In the example shown in Figure 2, the U-phase current iu and W-phase current iw flowing through the U-phase and W-phase windings are detected. However, it is not limited to this, and configurations in which the U-phase current iu and V-phase current iv are detected, or the V-phase current iv and W-phase current iw are detected, are also possible. Alternatively, all of the U-phase current iu, V-phase current iv, and W-phase current iw may be detected.

[0043] The current detection circuit 33 includes a current sensor 47u, a current sensor 47w, and an AD converter 48. Current sensor 47u detects the U-phase current iu. Current sensor 47w detects the W-phase current iw. The detection results of each current sensor 47u and 47w are output to the AD converter 48. Current sensors such as CTs (Current Transformers) and Hall elements can be used. The AD converter 48 performs AD conversion on the current values ​​output from the current sensors 47u and 47w and outputs them as a signal that can be controlled by a computer. The specific configuration of the current detection circuit 33 is not limited, and other current detection methods, such as using a shunt resistor, may be used.

[0044] Next, we will explain each functional block of the arithmetic circuit 32. The 3-phase to 2-phase converter (u,v,w / dq) 36 receives two current values ​​(U-phase current iu and W-phase current iw) from the AD converter 48 of the current detection circuit 33, and calculates the current value of the remaining phase (V-phase current iv) based on these current values. The 3-phase to 2-phase converter 36 also receives the estimated rotor position (electrical rotation angle θe) from the integrator 40 and converts the current vector (iu,iv,iw) in the fixed coordinate system (UVW coordinate system) to the current vector (id,iq) in the rotating coordinate system (dq coordinate system). The rotating coordinate system (dq coordinate system) has a d-axis and a q-axis that intersect each other, as shown in Figure 3. Hereafter, the current vector (id,iq) will be simply referred to as the d-axis current id and the q-axis current iq.

[0045] In this embodiment, the motor current flowing through the motor 25 is detected by the current detection circuit 33 and the 3-phase to 2-phase converter 36. Here, the motor current is the drive current that drives the motor 25. For example, the current flowing through the three-phase windings (the U-phase current iu, W-phase current iw detected by the current detection circuit 33, and the V-phase current iv calculated by the three-phase to two-phase converter) is an example of motor current. Furthermore, the d-axis current id and q-axis current iq, calculated by converting the U-phase current iu, V-phase current iv, and W-phase current iw, are also motor currents.

[0046] Furthermore, the d-axis current id and q-axis current iq are converted from the detected values ​​of the U-phase current iu, V-phase current iv, and W-phase current iw, and can therefore be considered as detected values. Therefore, it can be said that the current detection circuit 33 and the 3-phase to 2-phase converter 36 detect the d-axis current id and the q-axis current iq as motor currents. In this embodiment, the current detection unit is realized by the current detection circuit 33 and the 3-phase to 2-phase converter 36. The 3-phase to 2-phase converter 36 outputs the d-axis current id and the q-axis current iq to the approximation processing unit 37.

[0047] The approximation processing unit 37 calculates an approximation line for the motor current based on multiple detected values ​​for each control period T, which is based on the electrical angular period Te, and calculates an approximate value of the motor current based on this approximation line. In this embodiment, the approximation processing unit 37 functions as a current approximation unit.

[0048] Here, an approximation line is a line that approximately represents the current component (change in motor current) that changes over time (phase). The approximation line can be a straight line or a curve. For example, a regression line can be used as an approximation line. In addition, exponential approximation curves, power approximation curves, logarithmic approximation curves, etc., may also be used. Furthermore, an approximation line using any arbitrary function may be used. These approximation lines can be selected appropriately depending on factors such as the trend of change in the current component or the data interval used to calculate the approximation line. In this embodiment, as will be described later, a regression line calculated by the least squares method is used.

[0049] The electrical angular period Te is the period of the AC voltage or AC current supplied to the motor 25, and is, for example, the time it takes for the electrical rotation angle θe to complete one rotation. The electrical angular period Te changes depending on the rotation speed of the motor 25, etc. The control period T is the period during which feedback control is performed on the motor 25. This can also be described as the period during which the feedback parameters used to calculate the control command value of the motor 25 are updated. For example, the approximate value of the motor current and the value calculated from the approximate value are the feedback parameters. In this embodiment, an approximate line and approximate value of the motor current are calculated for each control period T. The control period T is set appropriately to a period of the same degree as the electrical angular period Te, or to a period longer (or shorter) than the electrical angular period Te, based on the electrical angular period Te.

[0050] Note that the electrical angular period Te is sufficiently longer than the carrier period Tc of the PWM signal (see Figure 4). For example, if the carrier frequency is 20kHz, the motor speed is 900rpm, and the number of pole pairs is 4, then Te = (60 / (4 × 900)) and Tc = (1 / 20k). In this case, Te / Tc = 333.33, meaning Te is approximately 300 times Tc. Similarly, if the motor speed is 200rpm, Te will be approximately 1500 times Tc. Therefore, the control period T, which is set based on the electrical angular period Te, is sufficiently longer than the carrier period Tc, and the frequency of performing feedback control on the motor 25 is sufficiently lower than the frequency of generating the PWM signal.

[0051] In the approximation processing unit 37, the approximation line and approximation value of the motor current (d-axis current id and q-axis current iq) received from the 3-phase to 2-phase converter 36 are calculated, respectively. For example, the approximation processing unit 37 sequentially records the d-axis current id received from the 3-phase to 2-phase converter 36 as d-axis current data, calculates an approximation line λd which is an approximation line of the d-axis current id, and calculates the d-axis current approximation value id' which is an approximation value of the d-axis current id from the approximation line λd. Furthermore, the approximation processing unit 37 sequentially records the q-axis current iq received from the 3-phase to 2-phase converter 36 as q-axis current data, calculates an approximation line λq which is an approximation line of the q-axis current iq, and calculates the q-axis current approximation value iq' which is an approximation value of the q-axis current iq from the approximation line λq.

[0052] Thus, in this embodiment, the approximation lines calculated by the approximation processing unit 37 are the approximation line λd for the d-axis current id and the approximation line λq for the q-axis current. The approximation values ​​calculated by the approximation processing unit 37 are the d-axis current approximation value id' and the q-axis current approximation value iq'.

[0053] Furthermore, the approximation processing unit 37 sets the d-axis voltage command value Vd * The voltage command is received from the voltage command generation unit 42, and the d-axis voltage command value Vd * The approximate value of the d-axis voltage command is Vd. * The approximation processing unit 37 calculates the q-axis voltage command value Vq. * The voltage command is received from the voltage command generation unit 42, and the q-axis voltage command value Vq * The approximate value of the q-axis voltage command is the approximation value Vq.* Calculate the 'd axis voltage command approximation Vd * 'and q-axis voltage command approximate value Vq * ' is, for example, the d-axis voltage command value Vd used within the control period T. * and d-axis voltage command value Vd * It is calculated using an approximation line for [the given value].

[0054] The axis error calculation processing unit 38 calculates the axis error Δθ of the motor 25 based on the approximate d-axis current value id' and the approximate q-axis current value iq'. Specifically, the axis error calculation processing unit 38 calculates the d-axis current approximate value id', the q-axis current approximate value iq', and the d-axis voltage command approximate value Vd * ', and the approximate value of the q-axis voltage command Vq * The approximation processing unit 37 receives the electrical angular velocity command value ωe * The voltage command generation unit 42 receives the approximate d-axis current value id', the approximate q-axis current value iq', and the approximate d-axis voltage command value Vd. * ', q-axis voltage command approximate value Vq * ', and the electrical angular velocity command value ωe * Accordingly, the axis error Δθ, which is the difference between the actual position and the estimated position of the rotor, is calculated and output to the axis error control unit 39. In this embodiment, the axis error calculation processing unit 38 corresponds to the axis error calculation unit.

[0055] The axis error Δθ represents the error between the actual rotor position and the assumed rotor position on the control shaft. Therefore, the axis error control unit 39 can also be said to be a position estimation unit that estimates the rotor position by calculating the axis error Δθ. Typically, algorithms using observers or similar methods are used to calculate the axis error Δθ. Alternatively, any algorithm capable of calculating the axis error Δθ may be used.

[0056] The axis error control unit 39 receives the axis error Δθ from the axis error calculation processing unit 38, and based on the axis error Δθ, it determines a motor voltage V that converges this error to zero, and outputs it to the voltage command generation unit 42. In other words, the axis error control unit 39 adjusts the motor voltage V so that the axis error Δθ converges to zero. Here, the motor voltage V is a voltage value representing the magnitude of the voltage vector (d-axis voltage Vd and q-axis voltage Vq) supplied to the motor 25. In this embodiment, the axis error control unit 39 corresponds to the voltage adjustment unit. The axis error control unit 39 is, for example, a PI controller configured using an integrator and a proportional controller. However, it is not limited to this, and for example, to avoid abrupt control, an I controller configured using an integrator may be used as the axis error control unit 39.

[0057] The integrator 40 receives the electrical angular velocity command value ωe output from the angular velocity converter 41. * By integrating over time, the electrical rotation angle θe is calculated as the estimated position of the rotor in a fixed coordinate system (UVW coordinate system), and this is output to the 3-phase to 2-phase converter 36 and the 2-phase to 3-phase converter 55 of the voltage command generation unit 42, respectively.

[0058] The angular velocity converter 41 converts the mechanical angular velocity of the motor 25 into electrical angular velocity. Specifically, the angular velocity converter 41 converts the mechanical angular velocity command value ωm * The motor 25 receives a command value ωm from an external source and uses the number of pole pairs corresponding to its configuration to obtain the mechanical angular velocity command value. * The electrical angular velocity command value ωe * Convert to the electrical angular velocity command value ωe. * The output is sent to the voltage command generation unit 42, the approximation processing unit 37, the axis error calculation processing unit 38, and the integrator 40.

[0059] The voltage command generation unit 42 receives the d-axis current approximation value id' and the q-axis current approximation value iq' from the approximation processing unit 37, the motor voltage V from the axis error control unit 39, and the machine angular velocity command value ωm * The system receives the following values ​​from an external source (e.g., a higher-level controller not shown in the diagram): d-axis current approximation id', q-axis current approximation iq', motor voltage V, and mechanical angular velocity command value ωm. * Accordingly, control command value (U-phase voltage command value Vu * V-phase voltage command value Vv * W-phase voltage command value Vw * ) generates.

[0060] Specifically, the voltage command generation unit 42 receives the d-axis current approximation id', the q-axis current approximation iq', the adjusted motor voltage V, and the mechanical angular velocity command value ωm. * Based on this, the d-axis voltage command value Vd * and q-axis voltage command value Vq * The d-axis voltage command value Vd calculated here is used. * and q-axis voltage command value Vq * The U-phase voltage command value Vu * V-phase voltage command value Vv * W-phase voltage command value Vw * It will be converted. In this embodiment, the mechanical angular velocity command value ωm * This corresponds to the speed command value for the motor. The voltage command generation unit 42 corresponds to the command value calculation unit.

[0061] As shown in Figure 2, the voltage command generation unit 42 includes a d-axis voltage calculator 50, a q-axis voltage calculator 51, a deinterfering controller 52, a subtractor 53, an adder 54, and a two-phase to three-phase converter (dq / u,v,w) 55.

[0062] The d-axis voltage calculator 50 calculates the electrical angular velocity command value ωe * The angular velocity converter 41 receives the q-axis current approximation value iq' from the approximation processing unit 37, and the electrical angular velocity command value ωe * The d-axis voltage Vd is calculated based on the approximate q-axis current value iq', and the d-axis voltage Vd is output to the q-axis voltage calculator 51 and subtractor 53. This process calculates the current speed command value (ωe) from the approximate q-axis current value (iq'). * This process calculates the d-axis voltage (Vd) to achieve the desired result.

[0063] The q-axis voltage calculator 51 receives the motor voltage V from the axis error control unit 39 and the d-axis voltage Vd from the d-axis voltage calculator 50, calculates the q-axis voltage Vq according to the motor voltage V and the d-axis voltage Vd, and outputs the q-axis voltage Vq to the adder 54. This process takes into account the current speed command value (ωe * This process calculates the q-axis voltage (Vq) that achieves both the motor voltage V that eliminates the axis error Δθ and the motor voltage V that makes the axis error Δθ zero.

[0064] The calculation process for the d-axis voltage Vd and q-axis voltage Vq by the d-axis voltage calculator 50 and q-axis voltage calculator 51 involves substituting the parameters input to each calculator into a predetermined function. This will be explained in more detail later.

[0065] The decoupling controller 52 decouples the q-axis voltage Vq and the d-axis voltage Vd. Specifically, the decoupling controller 52 receives an approximate d-axis current value id' from the approximation processing unit 37, calculates a decoupling correction value Vqa to decouple the q-axis voltage Vq according to the approximate d-axis current value id', and outputs the decoupling correction value Vqa to the adder 54. The decoupling controller 52 also receives an approximate q-axis current value iq' from the approximation processing unit 37, calculates a decoupling correction value Vda to decouple the d-axis voltage Vd according to the approximate q-axis current value iq', and outputs the decoupling correction value Vda to the subtractor 53.

[0066] The subtractor 53 receives the d-axis voltage Vd from the d-axis voltage calculator 50 and the decoupling correction value Vda from the decoupling controller 52. It subtracts the decoupling correction value Vda from the d-axis voltage Vd and the result of this subtraction is the decoupled d-axis voltage command value Vd. * The output is then sent to the 2-phase to 3-phase converter 55 and the approximation processing unit 37.

[0067] The adder 54 receives the q-axis voltage Vq from the q-axis voltage calculator 51 and the decoupling correction value Vqa from the decoupling controller 52, adds the q-axis voltage Vq and the decoupling correction value Vqa, and calculates the decoupling-treated q-axis voltage command value Vq as the result of this addition. * The output is then sent to the 2-phase to 3-phase converter 55 and the approximation processing unit 37.

[0068] The 2-phase to 3-phase converter (dq / u,v,w) 55 uses the d-axis voltage command value Vd * The subtractor 53 receives the q-axis voltage command value Vq. * The voltage command vector (Vd) in the rotating coordinate system (dq coordinate system) is received from the adder 54 and the electrical rotation angle θe is received from the integrator 40, and for example, according to the electrical rotation angle θe, the voltage command vector (Vd) in the rotating coordinate system (dq coordinate system) is calculated. * ,Vq * ) is the voltage command vector (Vu) in a fixed coordinate system (UVW coordinate system). * ,Vv* VW * Convert to ).

[0069] Thus, in this embodiment, based on the approximate values ​​(d-axis current approximate value id' and q-axis current approximate value iq') calculated by the approximation processing unit 37, the axis error calculation processing unit 38, the axis error control unit 39, and the voltage command generation unit 42 generate a control command value, which is the voltage command vector (Vu * ,Vv * VW * The following is calculated: The axis error calculation processing unit 38, the axis error control unit 39, and the voltage command generation unit 42 calculate the control command value based on the approximate value. This approximate value is updated at the control cycle T. In this embodiment, the control unit is realized by the coordinated operation of the axis error calculation processing unit 38, the axis error control unit 39, and the voltage command generation unit 42.

[0070] Figure 4 is a schematic diagram illustrating the relationship between the AC current flowing through the motor 25 and the PWM signal. The upper part of Figure 4 shows a schematic graph illustrating the currents flowing through the U-phase, V-phase, and W-phase windings of the motor 25 (U-phase current iu, V-phase current iv, W-phase current iw). The lower part of Figure 4 shows a schematic graph illustrating the PWM signals for the U-phase, V-phase, and W-phase (PWM signal 6u, PWM signal 6v, PWM signal 6w) for a period corresponding to a portion of the graph in the upper part of Figure 4.

[0071] As shown in the upper graph of Figure 4, the U-phase current iu, V-phase current iv, and W-phase current iw are sinusoidal alternating currents oscillating with an electrical angular period Te. The phases of the currents iu, iv, and iw of each phase are shifted by 120° intervals. Note that the electrical angular period Te becomes shorter as the rotational speed of the motor 25 increases. The voltage applied to the winding is set by the duty cycle command value of the PWM signal output at the carrier frequency, so that this type of AC current waveform is realized.

[0072] The lower graph in Figure 4 illustrates the pulse waveforms of PWM signals 6u, 6v, and 6w, which vary with a carrier period Tc. For each PWM signal, one pulse is contained within one carrier period Tc. The carrier period Tc of a PWM signal is generally a constant and is set to be sufficiently small compared to the electrical angular period Te. Therefore, for example, a large number of PWM signals will be generated during the time it takes for one electrical angular period Te to elapse.

[0073] In this embodiment, the control period T for calculating approximate values ​​and performing feedback control is set with respect to the electrical angular period Te. Therefore, the time interval used for feedback after calculating approximate values ​​from the detected values ​​of the U-phase current iu, V-phase current iv, and W-phase current iw is sufficiently longer than, for example, the carrier period Tc of the PWM signal. This makes it possible to significantly reduce the frequency of feedback control compared to cases where feedback control is performed at a period several times the carrier period Tc (for example, 4 to 5 times the carrier period Tc). Furthermore, because the number of control cycles is reduced, it becomes possible to avoid unnecessary control, such as feeding back sudden current fluctuations.

[0074] For example, the control period T can be set to n times the electrical angular period Te, where n is an arbitrary positive integer (T = n × Te). In this case, even if n is set to 1, for example, the frequency of feedback control can be kept sufficiently low. Alternatively, the control period T can be set to 1 / n times the electrical angular period Te, where n is an arbitrary positive integer (T = Te / n). In this case, n feedback control cycles are performed during the duration of one electrical angular period T, which improves the control accuracy of the motor.

[0075] The control period T is the period during which the d-axis current approximation id' and the q-axis current approximation iq' are updated. For example, between the time each approximation is updated and the next update is performed, the control command value (Vu) that defines the PWM signal 6u, PWM signal 6v, and PWM signal 6w is determined using the latest approximation. * ,Vv * VW* ) is calculated. For example, the two-phase to three-phase converter 55 shown in Figure 2 receives the electrical rotation angle θe from the integrator 40. The electrical rotation angle θe is the angle that rotates with an electrical angular period Te, and is updated, for example, with the carrier period Tc. Therefore, the two-phase to three-phase converter 55 receives a control command value (Vu) corresponding to the electrical rotation angle θe at each carrier period Tc. * ,Vv * VW * This outputs a value that generates a sinusoidal AC current. This makes it possible to calculate the control command value that creates a sinusoidal AC current using the carrier period Tc.

[0076] [Motor control device operation] Figure 5 is a flowchart showing an example of the operation of the motor control device 30. The basic operation of the motor control device 30 will be explained below with reference to Figure 5. First, the motor 25 is driven based on the control command value (step 101). For example, the control command value generated using the most recent approximate values ​​(d-axis current approximate value id' and q-axis current approximate value iq') is input to the PWM modulator 45 of the drive circuit 31. Here, the control command value is the U-phase voltage command value Vu * V-phase voltage command value Vv * W-phase voltage command value Vw * That is the case.

[0077] Furthermore, the PWM modulator 45 generates PWM signals 6u, 6v, and 6w corresponding to each control command value, which are input to the IPM 46. The IPM46 supplies voltages corresponding to the PWM signals 6u, 6v, and 6w to the U-phase, V-phase, and W-phase windings of the motor 25, thereby driving the motor.

[0078] Next, it is determined whether or not it is the detection timing to detect the motor current (step 102). Here, the process of detecting the motor current (current detection process) is the process of detecting the U-phase current iu, V-phase current iv, and W-phase current iw, and converting the detection results to detect the d-axis current id and q-axis current iq.

[0079] The current detection process is, for example, a process that detects the motor current at least once within a carrier cycle Tc. Specifically, within one carrier cycle Tc, at least two of the U-phase, V-phase, and W-phase currents are detected at least once. This makes it possible to detect the U-phase current iu, V-phase current iv, and W-phase current iw, as well as the d-axis current id and q-axis current iq, within that carrier cycle Tc. In step 102, the timing for executing such a current detection process is determined.

[0080] In this embodiment, the current detection process is executed a predetermined number of times within the control cycle T. The number of current detection processes is, for example, the number of data points used to calculate the approximation line. For example, if there are too many data points, the approximation value will follow sudden loads. On the other hand, if there are too few data points, it becomes difficult to calculate the approximation line properly. Therefore, the number of current detection processes is set so that the approximation line can be calculated properly. In this embodiment, the current detection process is performed at a predetermined detection period Tm. The detection period Tm is the interval between detection timings and is set appropriately so that a predetermined number of current detection processes can be performed within the control period T. For example, if current detection is performed M times within the control period T, Tm is set to T / M. Also, for example, if current detection is performed once within one carrier period Tc, Tm is set to Tc. In this embodiment, the detection period Tm corresponds to a predetermined period. Note that the current detection process does not necessarily need to be performed periodically.

[0081] As shown in Figure 5, if it is determined that it is not the detection timing (No. in step 102), step 105, which will be described later, is executed. Furthermore, if it is determined that it is a detection timing (Yes in step 102), the U-phase current iu, V-phase current iv, and W-phase current iw of the motor 25 are detected as part of the current detection process (step 103).

[0082] In step 103, the current detection circuit 33 detects the currents of two of the three phases—the U-phase current iu, the V-phase current iv, and the W-phase current iw—during one carrier cycle ΔT, and inputs these to the three-phase to two-phase converter 36. The current values ​​of the remaining phases are calculated appropriately from the current values ​​of the two phases by the three-phase to two-phase converter 36. This makes it possible to detect the U-phase current iu, V-phase current iv, and W-phase current iw at approximately the same timing.

[0083] Next, the 3-phase to 2-phase converter 36 converts the U-phase current iu, V-phase current iv, and W-phase current iw into the d-axis current id and q-axis current iq (step 104). Here, the dq conversion is performed on the currents of all three phases (iu, iv, iw), and the d-axis current id and q-axis current iq are calculated. The d-axis current id is recorded as d-axis current data, and the d-axis current iq is recorded as q-axis current data.

[0084] This current detection process (steps 103 and 104) is performed at a detection period Tm. That is, the d-axis current id and the q-axis current iq are detected at a detection period Tm. Therefore, the d-axis current data consists of the detected values ​​of multiple d-axis currents id detected during the detection period Tm, and the q-axis current data consists of the detected values ​​of multiple q-axis currents iq detected during the detection period Tm.

[0085] Next, it is determined whether or not it is a control timing for feedback control (step 105). For example, the elapsed time since the last feedback control is counted, and it is determined whether or not the elapsed time is equal to or greater than the control period T. For example, if the elapsed time is less than T, it is determined that it is not a control timing (No. in step 105), and step 108, which will be described later, is executed. Furthermore, if the elapsed time is greater than or equal to T, it is determined that it is a control timing (Yes in step 105). In this case, the regression line λd for the d-axis current id and the regression line λq for the q-axis current iq are calculated using the d-axis current data and q-axis current data (step 106).

[0086] Figure 6 is a graph showing an example of approximation lines for the d-axis current id and the q-axis current iq. Figure 6 schematically illustrates the data points of multiple current detection values ​​and the graph of the approximation line calculated from the current detection values. When the current detection value is the detected value of the d-axis current id, the approximation line is the d-axis current id approximation line λd. When the current detection value is the detected value of the q-axis current iq, the approximation line is the q-axis current iq approximation line λq. The data points shown in Figure 6 plot the d-axis current data (or q-axis current data). The horizontal axis x of the graph represents the rotor position ωe × t of motor 25 at time t. The vertical axis y of the graph represents the value of the d-axis current id (or q-axis current iq).

[0087] The approximation line shown in Figure 6 is calculated from each data point of the current detection value. Here, a tendency for the current detection value to increase with time is observed. The approximation line approximates this change in the current detection value (change in motor current). In other words, the approximation line is a line that approximately represents the trend of change in the current detection value. Of course, the trends in change of the d-axis current id and the q-axis current iq are different. Therefore, the approximation line λd for the d-axis current id approximates the change of the d-axis current id with respect to time. Similarly, the approximation line λq for the q-axis current iq approximates the change of the q-axis current iq with respect to time.

[0088] In this embodiment, an approximation line is used that is a straight line in a coordinate system where the vertical axis is the d-axis current id (or q-axis current iq) and the horizontal axis is the rotor position (phase). Specifically, a regression line calculated using the least squares method on multiple detected values ​​for the d-axis current id and q-axis current iq is used as the approximation line. By using such a regression line, it becomes possible to calculate the approximate d-axis current id' and q-axis current iq' with high accuracy and stability. In the following, the approximation line λd for the d-axis current id will be referred to as the regression line λd, and the approximation line λq for the q-axis current iq will be referred to as the regression line λq.

[0089] Specifically, the approximation processing unit 37 calculates regression lines λd and λq from multiple current detection values ​​detected during the control period T. Therefore, the interval range of the data used to calculate the regression lines λd and λq is set to the range corresponding to the control period T. Here, the control period T is set to the electrical angular period Te. In this case, the horizontal axis x of the graph corresponds to the motor phase in the electrical angular period Te (i.e., the electrical rotation angle θe at time t). Also, the value of x at the last time t=Te in the data interval range is 2π (=ωe × Te). Note that the data interval range does not necessarily have to coincide with the electrical angular period Te and can be set arbitrarily.

[0090] In the example shown in Figure 6, a certain number of current detection processes are performed based on the electrical angular period Te during one electrical angular period Te. This generates a certain number of data points for each of the d-axis current id and q-axis current iq. By applying the least squares method to these data points, the regression lines λd and λq are calculated.

[0091] For example, if we denote the d-axis current id (or q-axis current iq) as y and the rotor position ωe × t as x, then the equation of the regression line is y = ax + b. Here, a is the slope of the regression line, and b is the intercept of the regression line. The process of calculating the regression line is the process of calculating the slope a and the intercept b. In the approximation processing unit 37, the slope a and intercept b for the d-axis current id are calculated as part of the process to calculate the regression line λd. In addition, the slope a and intercept b for the q-axis current iq are calculated as part of the process to calculate the regression line λq. Any calculation formula or algorithm using the least squares method may be used to calculate the slope a and intercept b.

[0092] Next, the approximation processing unit 37 calculates the d-axis current approximation id' and the q-axis current approximation iq' from the regression lines λd and λq (step 107). The d-axis current approximation id' is calculated by setting the x-value of the regression line λd. Similarly, the q-axis current approximation iq' is calculated by setting the x-value of the regression line λq.

[0093] For example, as shown in Figure 6, the actual detected values ​​are not necessarily stable and may vary. Furthermore, the detected values ​​may change instantaneously due to noise and other factors. Therefore, if the detected values ​​are used directly in feedback control, for example, control that rapidly changes the current value may be executed, potentially causing hunting phenomena.

[0094] Therefore, in this embodiment, an approximate value calculated from the regression line is used for feedback control instead of the actual detected value. This stabilizes the value used for feedback and makes it possible to avoid hunting phenomena and the like. Thus, the process of calculating approximate values ​​from the regression line can also be described as a current averaging process to remove harmonic components from motor control.

[0095] In this embodiment, the value of the regression line at the end of the interval range of the data used to calculate the regression line (here, the control period T) is used as an approximation. Therefore, by substituting x=2π (where 0≦x≦2π) into each regression line, an approximation (y=a×2π+b) is calculated. This is a process to calculate the approximation at the detection timing of the most recent detection value among all detected values. In Figure 6, points on the regression line at x=2π (t=Te) are schematically illustrated by white circles. The current values ​​indicated by these white circle points are used as approximations for feedback control.

[0096] In step 107, the above processes are performed for the d-axis current id and the q-axis current iq, respectively. For example, the approximate d-axis current value id' is calculated from the detection timing of the most recent detected value of the d-axis current id used to calculate the regression line λd, and from the regression line λd. That is, id' is the value obtained by substituting x=2π into λd. For example, the approximate q-axis current iq' is calculated from the detection timing of the most recent detected value of the q-axis current iq used to calculate the regression line λq, and from the regression line λq. In other words, iq' is obtained by substituting x=2π into λq. This makes it possible to feed back the latest values ​​represented by each approximation line λd and λq as approximation values ​​id' and iq', enabling the accurate calculation of control command values.

[0097] Setting the value of x corresponds to, for example, setting the timing for reading the current used for control. x can be set arbitrarily; for example, it can be set to estimate future current values ​​or to estimate past current values.

[0098] In this way, the approximation processing unit 37 calculates an approximation line (regression line λd) and an approximate d-axis current value id' based on the detected value of the d-axis current id. Similarly, based on the detected value of the q-axis current iq, an approximation line (regression line λq) and an approximate q-axis current value iq' are calculated. This enables vector control using the approximate d-axis current value id' and the approximate q-axis current value iq', making it possible to achieve efficient and highly accurate control.

[0099] Next, the control command value for the motor 25 is calculated using the d-axis current approximation id' and the q-axis current approximation iq' (step 108). Here, the U-phase voltage command value Vu, which is the control command value, is calculated from the latest d-axis current approximation id' and q-axis current approximation iq'. * V-phase voltage command value Vv * W-phase voltage command value Vw * This is calculated.

[0100] For example, if it is determined in step 105 that it is a control timing, the d-axis voltage command value Vd is calculated using the d-axis current approximation id' and q-axis current approximation iq' calculated in steps 106 and 107. * and q-axis voltage command value Vq * The process to update the data is executed.

[0101] d-axis voltage command value Vd * and q-axis voltage command value Vq * As a process for updating them, specifically, a position estimation process, an axis error control process, and a voltage command update process are executed in this order (see Fig. 7). The position estimation process is executed by the axis error calculation processing unit 38. Specifically, the axis error Δθ of the motor 25 is calculated from the d-axis current approximation value id' and the q-axis current approximation value iq'. The axis error control process is executed by the axis error control unit 39. Specifically, the motor voltage V that converges the axis error Δθ to 0 is calculated.

[0102] The voltage command update process is executed by the voltage command generation unit 42, and is a process for updating the d-axis voltage command value Vd * and q-axis voltage command value Vq * Specifically, using the d-axis current approximation value id', the q-axis current approximation value iq', the motor voltage V, and the electrical angular velocity command value ωe, the d-axis voltage command value Vd * and q-axis voltage command value Vq * are updated.

[0103] As a method for controlling the motor 25, for example, there is a method of calculating an error in the rotational speed of the motor 25 from the axis error Δθ and performing speed control of the motor 25 so as to approach the error to 0 (see Fig. 8). In this case, high-precision speed control becomes possible, but there is also a possibility that the processing load required for feedback control increases due to performing speed control.

[0104] On the other hand, as described with reference to Fig. 2, in this embodiment, speed control is omitted, and directly from the axis error Δθ obtained from the axis error calculation processing unit 38, the voltage command values (d-axis voltage command value Vd * and q-axis voltage command value Vq * ) are controlled. Thereby, it is possible to reduce the processing load required for feedback control and reduce unnecessary control. Hereinafter, the operations of the d-axis voltage calculator 50 and the q-axis voltage calculator 51 in the voltage command generation unit 42 will be specifically described.

[0105] The d-axis voltage calculator 50 calculates the d-axis voltage Vd that is the basis for the d-axis voltage command value Vd * By performing a decoupling process on the d-axis voltage Vd, the d-axis voltage command value Vd * is calculated. Here, let the electrical angular velocity command value for the motor 25 be ωe * , let the q-axis inductance of the motor 25 be Lq, and let the approximate value of the q-axis current be iq'. The d-axis voltage calculator 50 calculates the d-axis voltage Vd according to the following equation (1). Vd = -ωe * × Lq × iq' ···(1)

[0106] Furthermore, based on the calculation result of equation (1), the d-axis voltage command value Vd * is calculated. Specifically, the decoupling correction value Vda is subtracted from the d-axis voltage Vd by the subtractor 53, and the result is calculated as the d-axis voltage command value Vd * . The decoupling correction value Vda is calculated by the decoupling controller 52 according to the approximate value of the q-axis current iq'. [

[0107] The q-axis voltage calculator 51 calculates the q-axis voltage Vq that is the basis for the q-axis voltage command value Vq * By performing a decoupling process on the q-axis voltage Vq, the q-axis voltage command value Vq * is calculated. Here, let the motor voltage be V and the d-axis voltage be Vd. The q-axis voltage calculator 51 calculates the q-axis voltage Vq according to the following equation (2). Vq = sqrt(V 2 - Vd 2 ) ···(2) Note that sqrt() in equation (2) means the square root of the value inside ().

[0108] [ Furthermore, based on the calculation result of equation (2), the q-axis voltage command value Vq * is calculated. Specifically, the decoupling correction value Vqa is added to the q-axis voltage Vq by the adder 54, and the result is the q-axis voltage command value Vq *It is calculated as follows. The decoupling correction value Vqa is calculated by the decoupling controller 52 according to the d-axis current approximation value id'.

[0109] Thus, by applying decoupling processing to Vd calculated by equation (1) and Vq calculated by equation (2), the d-axis voltage command value Vd * and q-axis voltage command value Vq * This is calculated. The current value used in this decoupling is also an approximate value calculated using the regression line. The calculated d-axis voltage command value Vd * and q-axis voltage command value Vq * The control command value (Vu) is controlled by the 2-phase to 3-phase converter 55. * ,Vv * VW * It will be converted to ).

[0110] If it is determined in step 105 that it is not the control timing, steps 106 and 107 will not be executed. In this case, the latest d-axis voltage command value Vd * and q-axis voltage command value Vq * However, the 2-phase to 3-phase converter 55 controls the control command value (Vu) according to the electrical rotation angle θe at that time. * ,Vv * VW * It will be converted to ).

[0111] Once the control command value is calculated, it is determined whether or not to terminate the control of the motor 25 (step 109). For example, if the user of the air conditioner 100 performs an operation to stop its operation, the control of the motor 25 is terminated. If the control is terminated (Yes in step 109), the loop processing based on the flowchart in Figure 5 is terminated. If the control is to be continued (No in step 109), the processing from step 101 onwards is executed again.

[0112] [Timing of motor control] Figure 7 is a time chart showing the timing of motor control. At the top of Figure 7 is a schematic graph showing the time change of the electrical rotation angle θe. Below this graph, time charts for current detection processing, approximation processing, position estimation processing, axis error control processing, and voltage command update processing are shown in that order. The horizontal axis of the graph and time chart in Figure 7 represents time. Here, the control period T is set to the electrical angular period Te. Also, in Figure 7, the end timing of the current detection process is set to the end timing of the electrical angular period Te (θe=2π).

[0113] As shown in Figure 7, the motor control device 30 repeatedly executes the following processes in this order: current detection processing, approximation processing, position estimation processing, axis error control processing, and voltage command update processing. In the current detection process, as described above, the U-phase current iu, V-phase current iv, and W-phase current iw are detected, and the results are converted into the d-axis current id and q-axis current iq. The current detection process corresponds to steps 103 and 104 in Figure 6. The detection period Tm for executing this process is set to a period that allows for a predetermined number of samples to be taken within the control period T.

[0114] In the approximation process, regression lines λd and λq are calculated for the d-axis current id and q-axis current iq. Furthermore, the approximate d-axis current id' and q-axis current iq' are calculated from the regression lines λd and λq. The approximation process corresponds to steps 106 and 107 in Figure 6.

[0115] The position estimation process, axis error control process, and voltage command update process are executed in step 108 if steps 106 and 107 are executed in Figure 6. In the position estimation process, the axis error Δθ is calculated from the d-axis current approximation id' and the q-axis current approximation iq'. In the axis error control process, the motor voltage V is calculated from the axis error Δθ. Furthermore, in the voltage command update process, the d-axis voltage command value Vd is calculated based on the d-axis current approximation id' and q-axis current approximation iq', the motor voltage V, and the electrical angular velocity command value ωe. * and q-axis voltage command value Vq* The value is updated. In the next control cycle T, the updated d-axis voltage command value Vd * and q-axis voltage command value Vq * Based on this, control command value (Vu * ,Vv * VW * ) is calculated.

[0116] In this manner, the motor control device 30 performs current detection a predetermined number of times for each control cycle T, and then performs approximation processing, position estimation processing, axis error control processing, and voltage command update processing to execute feedback control using the approximate value. Since the control period T of feedback control is based on the electrical angular period Te, it is possible to reduce the frequency of control. Furthermore, because the feedback value uses an approximate value calculated from an approximation line, it is possible to stably continue motor control without being affected by, for example, sudden changes in current.

[0117] In the motor control device 30 according to this embodiment, the d-axis current id and q-axis current iq are detected for each control period T, and their approximation lines λd and λq are calculated. The control command value Vu of the motor 25 is determined using the d-axis current approximation value id' and q-axis current approximation value iq' calculated using these approximation lines λd and λq. * ,Vv * VW * The following is calculated: The control period T is set based on the electrical angular period Te, so the control frequency is reduced. Furthermore, by using an approximation line, it becomes possible to calculate the feedback value without being affected by noise, etc. This makes it possible to achieve proper motor control while reducing unnecessary control.

[0118] Figure 8 is a block diagram showing an example configuration of a motor control device as a comparative example. The motor control device 130 shown in Figure 8 is a device used, for example, for vector control of a general motor. Here, components similar to those in the motor control device 30 shown in Figure 2 are denoted by the same reference numerals and described accordingly.

[0119] As shown in Figure 8, the motor control device 130 does not have a block for calculating approximation lines or approximation values; the detected d-axis current id and q-axis current iq are used directly for feedback. For example, the axis error calculation processing unit 80 uses the detected value directly to calculate the axis error Δθ. The PLL controller 81 then calculates the estimated angular velocity ωe from the axis error Δθ. The estimated angular velocity ωe is input to the converter 83 via the low-pass filter 82 (LPF) and converted to the mechanical angular velocity ωm. The mechanical angular velocity ωm is input to the voltage command generation unit 85. The integrator 84 calculates the electrical rotation angle θe by integrating the estimated angular velocity ωe. The decoupling controller 52 calculates decoupling correction values ​​(Vda and Vqa) using the estimated angular velocity ωe, the d-axis current detection value id, and the q-axis current detection value iq.

[0120] In the voltage command generation unit 85, the subtractor 86 calculates the angular difference between the mechanical angular velocity command value ωm and the mechanical angular velocity ωm. The speed controller 87 then uses an integrator and a proportionalizer to calculate the q-axis current command value iq according to the angular velocity difference. * This is calculated. This corresponds to the speed control process described above.

[0121] Furthermore, the subtractor 88 receives the d-axis current command value id from an external source. * The d-axis current detection value id is subtracted from this value. From this subtraction result, the d-axis current controller 89 determines the d-axis voltage command value Vd ** The following is calculated. In addition, the subtractor 90 receives the q-axis current command value iq from the speed controller 87. * The q-axis current detection value iq is subtracted from this value. From this subtraction result, the q-axis current controller 91 sets the q-axis voltage command value Vq. ** This is calculated. Vd ** and Vq ** These are the parameters corresponding to Vd in equation (1) and Vq in equation (2) above. ** and Vq ** By performing a decoupling process on the d-axis voltage command value Vd * and q-axis voltage command value Vq * This is calculated.

[0122] As shown in Figure 8, in feedback control that uses the detected value directly, components that change due to disturbances such as noise are also fed back. For example, if an error occurs in the detected value due to disturbances such as noise and the detected value changes rapidly, the control command value may change significantly temporarily due to the inaccurate detected value, and then a hunting phenomenon may occur where it oscillates before converging. In this way, when harmonic components are superimposed on the control command value due to the influence of disturbances such as noise, the operation of the motor becomes unstable. Furthermore, in situations where the control command value fluctuates, energy loss (control loss) may occur due to speed control, etc. For example, unnecessary energy will be consumed by accelerating the motor unnecessarily according to inaccurate detection values ​​that deviate from the actual detection value.

[0123] Furthermore, in the motor control device 130 shown in Figure 8, feedback control is repeatedly performed at a period of several times the carrier frequency Tc (for example, 4 to 5 times the carrier period). Therefore, the motor control device 130 is a device that frequently performs current detection and feedback control using the detected value. Thus, when repetitive control is performed with a period based on the carrier frequency Tc, unnecessary control may increase. Furthermore, it may become more susceptible to the effects of noise and other factors, potentially leading to a decrease in energy efficiency.

[0124] One method for removing components that change due to disturbances such as noise is to use a first-order lag filter. In this case, a time delay occurs depending on the characteristics of the filter. For example, if the current value fluctuates during the time delay, the current value calculated by averaging may differ from the actual current value. Therefore, control measures that, for example, rapidly change the current flowing to the motor may be implemented, potentially leading to unstable motor operation. Furthermore, in the event of sudden load fluctuations or noise, the time delay prevents accurate estimation of the current value.

[0125] Furthermore, averaging using a first-order lag filter needs to be performed every time a current value is detected, which could lead to an increased processing load due to the high number of control cycles. For example, when driving a fan motor that drives a propeller fan, it is not always necessary to have the control follow sudden load fluctuations. In this case, performing an averaging process using a first-order lag filter every time the current value is detected would result in a lot of unnecessary control.

[0126] On the other hand, in the motor control device 30 according to this embodiment, the control period T for performing feedback control is set based on the electrical angular period Te. For example, as shown in Figure 7, the approximation process and the process of updating subsequent voltage command values ​​are executed at the electrical angular period Te. This makes it possible to significantly reduce the number of control operations compared to the case where feedback control is frequently performed based on the carrier period Tc, as shown in Figure 8. As a result, it becomes possible to reduce unnecessary feedback control.

[0127] Furthermore, in this embodiment, regression lines λd and λq are calculated for the d-axis current id and q-axis current iq for each control period T. Then, the approximate d-axis current id' and q-axis current iq' are calculated from the regression lines λd and λq as current values ​​to be used for feedback control. This makes it possible to accurately detect current values ​​without being affected by sudden load fluctuations or noise, for example, compared to using a first-order lag filter.

[0128] Furthermore, the d-axis current approximation id' and the q-axis current approximation iq' use the values ​​of the regression lines λd and λq at the detection timing of the last data point. By using the final values ​​of the regression lines in this way, each approximation will not deviate significantly from the actual current value. As a result, it becomes possible to control the motor 25 stably.

[0129] For example, in averaging processes such as those using first-order lag filters, a time delay occurs due to filtering, making the feedback control redundant. If a sudden load fluctuation occurs during this time delay, the current waveform may become discontinuous. In this embodiment, the values ​​used for feedback control (approximate values ​​id' and iq') are stabilized by using regression lines (λd and λq). This makes it possible to mitigate the discontinuity in the current waveform caused by redundant feedback control. Furthermore, since the values ​​used for feedback control are not affected by noise, etc., it becomes possible to stably supply a sinusoidal current to the motor 25, thereby stabilizing the operation of the motor 25. Furthermore, it becomes less likely for control to be triggered by sudden load fluctuations or noise. For example, sudden load fluctuations may occur when a person walks in front of the outdoor unit 2 of the air conditioner 100, but control that tries to follow such fluctuations would be wasteful. By reducing such wasteful control, it becomes possible to control the motor more efficiently.

[0130] Thus, in this embodiment, the number of control cycles is reduced by setting the control cycle T based on the electrical angular period Te, and tracking of sudden loads is eliminated by using approximate values ​​calculated from the approximation line. As a result, unnecessary control can be significantly reduced, and the energy consumption of the device can be improved.

[0131] For example, when driving a propeller fan with a large moment of inertia that does not require frequent control, proper control is possible even with a relatively long control period T, and the present invention can be successfully applied. In this case, energy loss associated with control can be sufficiently reduced, and efficient motor control can be achieved.

[0132] Although embodiments of the present invention have been described above, it goes without saying that the present invention is not limited to the embodiments described above and can be modified in various ways. For example, in the embodiments described above, the electrical angular period Te was set to the period of the AC current supplied to the motor 25, but the period of the AC voltage supplied to the motor 25 may also be set to the electrical angular period Te.

[0133] In the embodiments described above, a configuration was described in which a current detection circuit equipped with two current sensors detects two of the U-phase current, V-phase current, and W-phase current. The method for detecting these motor currents is not limited. For example, the current detection circuit may be configured to detect motor current using a single shunt resistor. In this case, the shunt resistor is connected in series with the wiring connecting the IPM and GND, and the voltage across the terminals of the shunt resistor is detected. This makes it possible to detect the current flowing from the IPM through the windings of each phase of the motor to GND. The U-phase current, V-phase current, and W-phase current may be detected using this method. In this case, since there is no need to provide multiple current sensors, the equipment cost can be reduced.

[0134] The above embodiments describe an example of calculating approximation lines and approximate values ​​for the d-axis current and q-axis current. However, the invention is not limited to this, and for example, approximation lines and approximate values ​​for the U-phase current, V-phase current, and W-phase current may also be calculated. In this case, for example, a sinusoidal approximation line is used to calculate the approximate values ​​for the U-phase current, V-phase current, and W-phase current. The d-axis current and q-axis current are calculated from these three phase approximation values ​​and used for feedback. As a result, even if sudden noise occurs, for example, the approximate values ​​for each phase can be calculated stably, making it possible to achieve proper motor control while reducing unnecessary control. [Explanation of Symbols]

[0135] 6u, 6v, 6w…PWM signal 24...fan 25…motor 30…Motor control device 31…Drive circuit 32...Arithmetic circuit 33...Current detection circuit 36...3-phase to 2-phase converter 37…Approximate Processing Unit 38... Axis Error Calculation Processing Unit 39... Axis Error Control Unit 40...Integrator 42...Voltage command generation unit 45…PWM modulator 46…IPM 50...d-axis voltage calculator 51...q-axis voltage calculator 100... Air conditioner

Claims

1. A drive unit that drives the motor by supplying an AC voltage or AC current to the motor according to a control command value, A current detection unit for detecting the motor current flowing through the motor, A current approximation unit calculates an approximate line for the motor current based on a plurality of detected values ​​for each control cycle based on the electrical angular period of the AC voltage or AC current, and calculates an approximate value of the motor current based on the approximate line. A control unit that calculates the control command value based on the approximate value, Equipped with, The motor currents are the d-axis current and the q-axis current. The current detection unit detects the d-axis current and the q-axis current, The aforementioned approximation lines are the approximation line for the d-axis current and the approximation line for the q-axis current. The aforementioned approximate values ​​are the approximate values ​​of the d-axis current and the q-axis current. The current approximation unit calculates an approximation line for the d-axis current and an approximate value of the d-axis current based on the detected value of the d-axis current, and calculates an approximation line for the q-axis current and an approximate value of the q-axis current based on the detected value of the q-axis current. Motor control device.

2. A motor control device according to claim 1, The control unit, An axis error calculation unit calculates the axis error of the motor based on the approximate value of the d-axis current and the approximate value of the q-axis current. A voltage adjustment unit that adjusts the motor voltage so that the aforementioned shaft error converges to zero, A command value calculation unit calculates command values ​​for the d-axis voltage and q-axis voltage based on the approximate value of the d-axis current, the approximate value of the q-axis current, the adjusted motor voltage, and the speed command value for the motor. has Motor control device.

3. A motor control device according to claim 2, The command value calculation unit calculates the command value of the electric angular velocity for the motor ωe * Let Lq be the q-axis inductance of the motor, and let iq' be the approximate value of the q-axis current. Then, calculate the d-axis voltage Vd according to equation (1) shown below, and calculate the command value of the d-axis voltage based on the calculation result. Vd=-ωe * ×Lq×iq' ・・・(1) Motor control device.

4. A motor control device according to claim 3, The command value calculation unit calculates the q-axis voltage Vq according to equation (2) shown below, with the motor voltage being V and the d-axis voltage being Vd, and calculates the command value of the q-axis voltage based on the calculation result. Vq=sqrt(V 2 -Vd 2 ) ・・・(2) Motor control device.

5. A motor control device according to any one of claims 1 to 4, The aforementioned approximation line is an approximation line that approximates the change in the motor current with respect to time, The current detection unit detects the motor current at a predetermined period, The current approximation unit calculates the motor current approximation value from the detection timing of the most recent detected value among the detected values ​​of the motor current used to calculate the approximation line and from the approximation line. Motor control device.

6. A motor control device according to any one of claims 1 to 5, The aforementioned approximation line is a regression line calculated by the least squares method for the multiple detected values. Motor control device.

7. A motor control device according to any one of claims 1 to 6, The control period is set to n times or 1 / n times the electrical angular period, where n is an arbitrary positive integer. Motor control device.

8. A motor control device according to any one of claims 1 to 7, The drive unit includes a PWM generation unit that generates a PWM signal based on the control command value, and a power supply unit that supplies power to the motor based on the PWM signal. The current detection unit performs a current detection process, which detects the motor current at least once within the carrier cycle of the PWM signal, a predetermined number of times within the control cycle. Motor control device.

9. A motor control device according to claim 8, The current detection unit detects the motor current using a single shunt resistor. Motor control device.

10. A motor control device according to any one of claims 1 to 9, The motor is a fan motor that drives a fan mounted on an air conditioner. Motor control device.

11. The steps include supplying an AC voltage or AC current to the motor according to a control command value to drive the motor, The steps include detecting the motor current flowing through the motor, The steps include: calculating an approximate line for the motor current based on a plurality of detected values ​​for each control cycle based on the electrical angular period of the AC voltage or AC current, and calculating an approximate value of the motor current based on the approximate line; For each control cycle, the steps include: calculating the control command value based on the approximate value; Includes, The motor currents are the d-axis current and the q-axis current. The step of detecting the motor current involves detecting the d-axis current and the q-axis current, The aforementioned approximation lines are the approximation line for the d-axis current and the approximation line for the q-axis current. The aforementioned approximate values ​​are the approximate values ​​of the d-axis current and the q-axis current. The step of calculating the approximate value involves calculating an approximate line for the d-axis current and an approximate value for the d-axis current based on the detected value of the d-axis current, and calculating an approximate line for the q-axis current and an approximate value for the q-axis current based on the detected value of the q-axis current. Motor control method.

Citation Information

Patent Citations

  • Inverter control method and inverter control apparatus

    JP2001145398A

  • Control unit of brushless DC motor

    JP2006262590A

  • Motor control device and image forming apparatus

    JP2017073877A