Motor controller and motor control method
By introducing a suppression processing unit into the motor control device, the phase difference between the electromagnetic field and the motor shaft is suppressed, and the problem of difficulty in increasing the motor speed under a long control cycle is solved, and the stable and precise control of the rotation speed is achieved.
Patent Information
- Application Number
- JP2023158107
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-22
- Publication Date
- 2025-04-04
AI Technical Summary
The prior art is difficult to effectively increase the speed of the motor under long control cycles, especially those motors with large inertia, which can easily lead to a difference between the electromagnetic field and the motor shaft, resulting in the inability to increase the speed as required or the motor is out of order.
A motor control device including a rotation speed command unit, a rotation control unit and a suppression processing unit is adopted. Before starting the acceleration operation, the phase difference between the electromagnetic field and the motor shaft is suppressed by the suppression processing unit to ensure that the motor speed can be effectively increased under a long control cycle.
It realizes seamlessly increasing the motor speed under long control cycles, avoids motor offsets, and improves control accuracy and stability.
Smart Images

Figure 2025049735000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a motor control device and a motor control method for controlling the driving of a motor. [Background technology]
[0002] Conventionally, techniques for controlling a motor according to the motor's rotation speed have been disclosed. For example, Patent Document 1 describes a control method for detecting the motor's rotation speed in order to improve efficiency, and advancing the motor's energization timing to the advance angle side according to the detected value. In this method, a lead-angle value is read out from a lead-angle table in which the motor's rotation speed and lead-angle value are associated with each other, based on the detected value of the motor's rotation speed, and the motor is driven with the energization timing according to the lead-angle value (paragraphs
[0037] ,
[0047] ,
[0048] , FIG. 4, etc., of the specification of Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-80455 A Summary of the Invention [Problem to be solved by the invention]
[0004] Generally, when accelerating a motor by increasing the rotation speed of the motor, it is required to make the rotor of the motor follow a rotating magnetic field and accelerate the motor at a predetermined acceleration without losing synchronization.
[0005] In contrast, motors equipped with propeller fans, for example, have a large moment of inertia. Therefore, even if a rotating magnetic field is generated to obtain the required acceleration, the rotor may not be able to catch up with the rotating magnetic field, and may lag behind the rotating magnetic field. In this case, the motor's rotation speed may not be increased as required, or the motor may lose synchronization.
[0006] One possible method for preventing rotor lag is to detect the rotor position in a short control cycle, and if rotor lag occurs, perform control to quickly compensate for the rotor lag (for example, control to increase the rotational torque of the motor, etc.). However, shortening the control cycle to quickly detect rotor lag requires a high-performance control device that can control the motor in a short control cycle, which is costly. In addition, there is also the problem that the power consumption of the control device increases when the control device operates in a short control cycle.
[0007] In view of the above circumstances, an object of the present invention is to provide a motor control device and a motor control method that are capable of reliably increasing the rotation speed of a motor without causing loss of synchronization even when the control period is lengthened. [Means for solving the problem]
[0008] In order to achieve the above object, a motor control device according to one aspect of the present invention includes a rotation speed command unit, a rotation control, and a suppression processing unit. The rotation speed command unit outputs a rotation speed command value for the motor. The rotation control unit calculates a control command value for the motor based on a detection value of the motor current flowing through the motor so that a rotor of the motor rotates at a rotation speed indicated by the rotation speed command value, and controls a rotating magnetic field generated in the motor. The suppression processing unit executes a suppression process to suppress a phase difference between the phase of the rotating magnetic field and the phase of the rotor during the acceleration operation within a predetermined range before the start of an acceleration operation that increases the rotation speed of the motor.
[0009] In this motor control device, a control command value for rotating the rotor of the motor at a rotation speed command value is calculated from the detected value of the motor current, and the rotating magnetic field generated in the motor is controlled. In addition, before starting an acceleration operation to increase the rotation speed of the motor, a suppression process is performed to suppress the phase difference between the rotating magnetic field and the rotor during the acceleration operation to a predetermined phase difference or less. This makes it possible to reliably increase the rotation speed of the motor without losing synchronism even if the control period is lengthened.
[0010] The suppression processing unit may continue the suppression process until the acceleration operation is completed. This allows stable operation after the acceleration operation is completed.
[0011] The motor may be a fan motor that drives an impeller mounted in an air conditioner. Even in the case of a fan motor with a large moment of inertia, the present invention makes it possible to reliably accelerate the motor without losing synchronism.
[0012] The suppression process may be an advance process for advancing the phase of the rotor. This makes it possible to offset the phase lag of the rotor caused by acceleration operation by the amount of the rotor phase advance, thereby suppressing the phase difference between the rotating magnetic field phase and the rotor phase during acceleration operation, making it possible to prevent the motor from losing synchronization.
[0013] The acceleration operation may be an operation of accelerating the motor at a predetermined acceleration. In this case, the suppression processing unit may execute the advance angle process with an advance angle amount corresponding to the predetermined acceleration. In this way, by using an amount of advance angle that corresponds to the acceleration, it is possible to properly cancel the phase difference between the phase of the rotating magnetic field and the phase of the rotor that occurs during acceleration operation, enabling stable acceleration of the motor.
[0014] The rotation control unit may calculate an axis error of the motor based on the detected value of the motor current, and calculate the control command value based on the axis error. In this case, the suppression processing unit may subtract an angle corresponding to an amount of advance angle of the advance angle processing from a value of the axis error used in calculating the control command value as the advance angle processing. By changing the value of the axis error, it is possible to directly advance the phase of the rotor, which enables stable motor acceleration regardless of, for example, the load on the motor.
[0015] The rotation control unit may calculate an axis error of the motor based on the detected value of the motor current, adjust a motor voltage so that the axis error converges to zero, and calculate the control command value based on the adjusted motor voltage. In this case, the suppression processing unit may perform the advance angle processing by adding a voltage corresponding to an advance angle amount of the advance angle processing to the adjusted motor voltage value used in calculating the control command value. By changing the value of the motor voltage, it is possible to instantly advance the rotor phase, which makes it possible, for example, to quickly start accelerating the motor.
[0016] The rotation control unit may calculate a feedback value, which is a current value for feedback control of the motor, for each predetermined control period based on the detected value of the motor current, and calculate the control command value based on the feedback value. In this case, the predetermined control period may be n times or 1 / n times the electrical angle period of the motor, where n is a natural number. In this way, even if the control period is a relatively long period set on the order of the electrical angle period, the use of the present invention makes it possible to reliably accelerate without loss of synchronism.
[0017] The suppression processing unit may restore the phase of the rotor advanced by the advance processing when the acceleration operation is completed. This allows stable operation after the acceleration operation is completed.
[0018] The rotation control unit may calculate a feedback value, which is a current value for feedback control of the motor, for each predetermined control period based on the detection value of the motor current, and calculate the control command value based on the feedback value. In this case, the predetermined control period may be set to a first period when the acceleration operation is not being performed. The suppression process may be a process of changing the predetermined control period to a second period shorter than the first period. As a result, when accelerating, the control period is set short, the control command value is calculated more frequently, and the motor control accuracy is improved. As a result, the phase difference between the phase of the rotating magnetic field and the phase of the rotor during accelerating is suppressed, making it possible to prevent the motor from losing synchronization.
[0019] The motor may be controlled by a PWM signal corresponding to the control command value. In this case, the first period may be n times or 1 / n times the electrical angle period of the motor, where n is a natural number. Also, the second period may be m times the carrier period of the PWM signal, where m is a natural number. This reduces the processing load for controlling the motor when acceleration is not being performed, and when acceleration is being performed, the control command value can be calculated with high accuracy, enabling the motor to be accelerated stably.
[0020] When the acceleration operation is completed, the suppression processing unit may return the control period to the first period. As a result, after the acceleration operation is completed, the processing load for controlling the motor again can be reduced.
[0021] A motor control method according to one aspect of the present invention includes outputting a rotation speed command value for a motor. Based on a detection value of a motor current flowing through the motor, a control command value for the motor is calculated so that a rotor of the motor rotates at the rotation speed indicated by the rotation speed command value, and a rotating magnetic field generated in the motor is controlled. Prior to the start of an acceleration operation for increasing the rotation speed of the motor, a suppression process is executed for suppressing the phase difference between the phase of the rotating magnetic field and the phase of the rotor during the acceleration operation within a predetermined range. Effect of the Invention
[0022] As described above, according to the present invention, it is possible to reliably increase the rotation speed of the motor without causing loss of synchronism even if the control period is lengthened. Note that the effects described here are not necessarily limited to those described herein, and may be any of the effects described in this disclosure. [Brief description of the drawings]
[0023] [Figure 1] 1 is a schematic diagram showing an example of the configuration of an air conditioner equipped with a motor control device according to a first embodiment of the present invention. [Diagram 2] FIG. 2 is a block diagram showing a configuration example of a motor control device. [Diagram 3] 4 is a schematic diagram showing the relationship between an AC current flowing through a motor and a PWM signal. FIG. [Figure 4] FIG. 13 is a schematic diagram showing an example of calculation of a feedback value. [Diagram 5] 4 is a time chart showing the operation of the motor control device during steady operation. [Figure 6] 11 is a graph showing an example of setting a mechanical angular velocity command value during acceleration operation. [Figure 7] FIG. 2 is a schematic diagram for explaining an axis error of a motor. [Figure 8] 11 is a graph showing a d-axis voltage command value, a q-axis voltage command value, and an axis error during acceleration operation as a comparative example. [Figure 9] FIG. 11 is a schematic diagram illustrating an advance angle process. [Figure 10] 4 is a flowchart showing an example of an acceleration operation of the motor control device. [Figure 11] 5 is a schematic graph showing an example of advance angle processing due to an axis error. [Figure 12] 4 is a graph showing a d-axis voltage command value, a q-axis voltage command value, and an axis error during acceleration operation accompanied by advance angle processing due to an axis error. [Figure 13] FIG. 11 is a block diagram showing an example of the configuration of a motor control device according to a second embodiment. [Figure 14] 5 is a schematic graph showing an example of an advance angle process based on a motor voltage. [Figure 15]6 is a graph showing a d-axis voltage command value, a q-axis voltage command value, and an axis error during acceleration operation accompanied by advance angle processing by the motor voltage. [Figure 16] FIG. 11 is a block diagram showing an example of the configuration of a motor control device according to a third embodiment. [Figure 17] 5 is a schematic graph showing an example of acceleration operation accompanied by control of a control period. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0024] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0025] <First embodiment> [Air conditioner] Fig. 1 is a schematic diagram showing an example of the configuration of an air conditioner equipped with a motor control device according to a first embodiment of the present invention. As shown in Fig. 1, the air conditioner 100 has an indoor unit 1 and an outdoor unit 2. The indoor unit 1 is installed and used in an indoor space or the like within a building. The indoor unit 1 has an indoor heat exchanger 10 and an indoor blower 11. The outdoor unit 2 is installed and used outdoors or the like of the building in which the indoor unit 1 is installed, and is connected to the indoor unit 1 via a refrigerant pipe that circulates the refrigerant. The outdoor unit 2 has an outdoor heat exchanger 20, a compressor 21, a compressor control device 22, a pressure reducer (expansion valve) 23, a flow path switch (four-way valve) 24, an impeller 25, a motor 26, 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 24. The high-pressure refrigerant that has exchanged heat with air in the indoor heat exchanger 10 (condenser) is condensed and liquefied. The high-pressure liquid refrigerant is then reduced in pressure by passing through the pressure reducer 23 of the outdoor unit 2, and becomes 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) is vaporized. The low-pressure refrigerant is then sucked into the compressor 21 via the flow path switch 24.
[0027] Also, for example, during cooling operation, 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 24. The high-pressure gas refrigerant that has exchanged heat with outside air in the outdoor heat exchanger 20 (condenser) is condensed and liquefied. The high-pressure liquid refrigerant is then reduced in pressure by passing through the pressure reducer 23 of the outdoor unit 2, becoming a low-temperature, low-pressure gas-liquid 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 evaporates and vaporizes. The low-pressure gas refrigerant is then sucked into the compressor 21 via the flow path switch 24.
[0028] The compressor control device 22 is a device that controls the operation of the compressor 21, i.e., the rotation operation of a compressor motor that drives the compressor 21. For example, the rotation operation of the compressor motor is controlled according to the operation mode of the air conditioner 100, the set temperature, the outside air temperature, etc. In this embodiment, the compressor 21 corresponds to a compressor, and the compressor control device 22 corresponds to a compressor control device.
[0029] The impeller 25 is fixed to the rotor of the motor 26 and is disposed facing the air outlet (not shown). For example, a propeller-type impeller (propeller fan) that generates an airflow along the rotation axis by rotating itself is used as the impeller 25. There are no other limitations on the type of the impeller 25. The motor 26 drives the impeller 25 fixed to the rotor. In the air conditioner 100, a blower fan is configured by attaching the impeller 25 to the motor 26. In this way, the motor 26 is a fan motor that drives the impeller 25 mounted on the air conditioner 100. Note that the motor 26 is a separate element from the compressor motor described above.
[0030] The motor 26 is, for example, a permanent magnet synchronous motor (PM synchronous motor) that uses a permanent magnet in a rotor and has windings arranged in a stator. Note that the specific configuration of the motor 26 is not limited, and any type of permanent magnet motor may be used. The stator of the motor 26 is provided with three-phase windings (coils) to which three-phase AC voltages output from the drive circuit 31 are respectively applied. Hereinafter, the phases of the three-phase AC are referred to as a U-phase, a V-phase, and a W-phase. A permanent magnet is disposed on the rotor of the motor 26 so as to be perpendicular to the rotation axis of the motor 26. Here, the direction of the magnetic flux of the N pole of the permanent magnet (the N pole side is the + direction) is defined as the d-axis, and the axis perpendicular to the d-axis is defined as the q-axis. Moreover, the estimated position of the rotor expressed in electrical angle (estimated angle with respect to the U axis) is written as θe, and the estimated angular velocity of the rotor expressed in electrical angle is written as ωe.
[0031] As the motor 26 rotates the impeller 25, the outdoor air passes through the outdoor heat exchanger 20 and exchanges heat with the refrigerant. The heat-exchanged airflow of cold or warm air is blown out from the outdoor unit 2. The flow rate of the airflow passing through the outdoor heat exchanger 20 is adjusted according to the rotation speed of the impeller 25, i.e., the rotation speed of the motor 26. Below, a configuration in which the motor control device 30 controls the motor 26 will be described.
[0032] The motor control device 30 is a device that rotates the motor 26 based on the electric power supplied from the power source 3 and controls the rotational operation of the motor 26. Specifically, the motor control device 30 performs vector control of the motor 26. In vector control, the current flowing through a winding provided in a stator of the motor 26 is separated into a current component (d-axis current) that generates a magnetic flux in the rotor of the motor 26 and a current component (q-axis current) that generates a torque in the rotor, and each current component is controlled independently. Note that, in this embodiment, a case will be described in which the motor control device 30 performs vector control of a fan motor as the motor 26, but the present technology can also be applied to vector control of other motors. As shown in FIG. 1, the motor control device 30 includes a drive circuit 31, an arithmetic circuit 32, a current detection unit 33, and a DC detection circuit .
[0033] The drive circuit 31 is an inverter drive circuit that drives the motor 26. The drive circuit 31 outputs the DC voltage supplied from the power source 3 as a three-phase AC voltage and applies it to the windings of each phase provided in the motor 26. The drive circuit 31 drives the motor 26 based on a control command value of vector control. Here, the control command value is a command value of a parameter for controlling the motor 26. For example, a command value for a voltage value to be supplied to each of the U-phase, V-phase, and W-phase of the motor 26 is input to the drive circuit 31 as a control command value. The drive circuit 31 applies a voltage indicated by the control command value to each phase. A current flows through each phase of the motor 26 based on this voltage, thereby driving the motor 26. In the drive circuit 31, the voltage applied to the motor 26 is controlled by 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.
[0034] The arithmetic circuit 32 is a circuit that performs arithmetic processing required for controlling the motor 26. The arithmetic circuit 32 is configured using a computer equipped with a CPU (Central Processing Unit), memory, etc. The arithmetic circuit 32 receives detection values from a current detection unit 33 and a 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, a control command value for performing vector control of the motor 26 is calculated. Here, a duty command value indicating the voltage value to be supplied to each phase of the motor 26 is calculated.
[0035] The current detection unit 33 detects the current value of the motor current flowing through the motor 26. Here, the motor current is a drive current that drives the motor 26, and is a current that flows through the windings of the motor 26. Specifically, the U-phase current, V-phase current, and W-phase current that flow through the windings of the U-phase, V-phase, and W-phase are detected as the motor current. Hereinafter, the current values of the motor current detected by the current detection unit 33 will be referred to as U-phase current iu, V-phase current iv, and W-phase current iw. The detection results (iu, iv, iw) of the current detection unit 33 are output to the calculation circuit 32.
[0036] In this embodiment, the currents flowing through two of the three-phase windings of the motor 26 are detected. From the detection results, it is possible to calculate the currents flowing through the remaining windings. The current detection unit 33 is configured using a current sensor such as a CT (Current Transformer), an amplifier, an AD converter, and the like.
[0037] The DC detection circuit 34 is a circuit that detects the voltage value of the power supply 3. That is, the DC detection circuit 34 detects the DC voltage supplied to the motor 26. The detection result of the DC detection circuit 34 is output to the arithmetic circuit 32. For example, the voltage value of the power supply 3 may change due to fluctuations in the voltage of an external power supply supplied to the power supply 3, fluctuations in the load, etc. In such a case, the arithmetic circuit 32 adjusts the control command value using the detection result of the DC detection circuit 34. This makes it possible to stably drive the motor 26 even if the voltage of the power supply 3 changes.
[0038] [Motor control device] Fig. 2 is a block diagram showing an example of the configuration of the motor control device 30. As shown in Fig. 2, the motor control device 30 has the above-mentioned drive circuit 31, arithmetic circuit 32, and current detection unit 33. The arithmetic circuit 32 also has, as functional blocks, a rotation control unit 35, a speed command unit 70, and an advance angle processing unit 71. Each functional block of the arithmetic circuit 32 may be configured using a dedicated IC or the like. Note that the DC detection circuit 34 is omitted from Fig. 2.
[0039] The drive circuit 31 calculates a voltage command vector (Vu * ,Vv * ,Vw * ), that is, the U-phase voltage command value Vu * , V phase voltage command value Vv * , W-phase voltage command value Vw * from the voltage command generating unit 42 (the two-phase-to-three-phase converter 55), and receives a DC voltage Vdc for driving the motor 26 from the power supply 3. In this embodiment, the U-phase voltage command value Vu * , V phase voltage command value Vv * , W-phase voltage command value Vw *corresponds to a control command value.
[0040] The drive circuit 31 also controls the U-phase voltage command value Vu * , V phase voltage command value Vv * , W-phase voltage command value Vw * , and DC voltage Vdc, to supply three-phase AC voltages to windings of the U, V, and W phases to drive the motor 26. Specifically, the drive circuit 31 is an inverter drive circuit, and converts a control command value into a PWM signal and converts the signal into power by an inverter to drive the motor 26. As shown in FIG. 2, the drive circuit 31 has a PWM modulator 45 and an intelligent power module (IPM) 46.
[0041] The PWM modulator 45 receives a control command value (U-phase voltage command value Vu * , V phase voltage command value Vv * , W-phase voltage command value Vw * ) are converted into PWM signals and supplied to the IPM 46. For example, PWM signals with pulse widths set according to the command values are generated.
[0042] The IPM 46 has a plurality of switching elements, receives a PWM signal from the PWM modulator 45, and performs power conversion by switching the plurality of switching elements at a predetermined timing in accordance with the PWM signal, and supplies the generated three-phase AC voltage to the motor 26 to drive the motor 26.
[0043] The current detection unit 33 detects (picks up) the current values of at least two phases of current. In the example shown in Fig. 2, a U-phase current iu and a W-phase current iw flowing through the U-phase and W-phase windings are detected. However, this is not limited thereto, and for example, a configuration in which a U-phase current iu and a V-phase current iv are detected, or a configuration in which a V-phase current iv and a W-phase current iw are detected are also possible. Alternatively, all of the U-phase current iu, the V-phase current iv, and the W-phase current iw may be detected.
[0044] The current detection unit 33 includes a current sensor 47u, a current sensor 47w, and an AD converter . The current sensor 47u detects a U-phase current iu. The current sensor 47w detects a W-phase current iw. The detection results of the current sensors 47u and 47w are output to an AD converter 48. As the current sensors, a CT (Current Transformer), a Hall element, or the like is used. The AD converter 48 performs AD conversion of the current values output from the current sensors 47u and 47w and outputs them as a signal controllable by a computer. Note that the specific configuration of the current detection unit 33 is not limited, and other current detection methods, such as using a shunt resistor, may be used.
[0045] Next, each functional block of the arithmetic circuit 32 will be described. The rotation control unit 35 determines a control command value (U-phase voltage command value Vu) for the motor 26 based on the detection values of the motor currents (U-phase current iu, V-phase current iv, and W-phase current iw) flowing through the motor 26 so that the rotor of the motor 26 rotates at the rotation speed indicated by the rotation speed command value. * , V phase voltage command value Vv * , W-phase voltage command value Vw * ) and controls the rotating magnetic field generated in the motor 26.
[0046] The rotation speed command value is a command value for the rotation speed (rotor rotation speed) of the motor 26 output from a speed command unit 70, which will be described later. In this embodiment, the mechanical angular velocity command value ωm * is the rotation speed command value. The rotating magnetic field is a magnetic field whose polarity changes, for example, as if a pair of S and N poles were rotating around the axis at the midpoint of each pole. The rotating magnetic field is generated by U-phase, V-phase, and W-phase coils provided in motor 26, and serves as a magnetic field that rotates the rotor of motor 26. Rotation control unit 35 controls the rotation speed, phase, magnitude, etc. of the rotating magnetic field by controlling the value of the control command value.
[0047] The rotation control unit 35 has a three-phase to two-phase converter 36, a feedback value calculation unit 37, an axis error calculation processing unit 38, an axis error control unit 39, an integrator 40, an angular velocity converter 41, and a voltage command generation unit 42.
[0048] The three-phase-two-phase converter (u,v,w / dq) 36 receives two current values (U-phase current iu and W-phase current iw) of the U-phase current iu, V-phase current iv, and W-phase current iw from the AD converter 48 of the current detection unit 33, and calculates the current value of the remaining phase (V-phase current iv) based on these current values. The three-phase-two-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) into a current vector (id,iq) in the rotating coordinate system (dq coordinate system). Here, id is the d-axis current, and iq is the q-axis current.
[0049] In this embodiment, the motor current flowing through the motor 26 is detected by the current detection unit 33 and the three-phase-to-two-phase converter 36. The motor current is a drive current that drives the motor 26. In the present disclosure, the currents flowing through the three-phase windings (U-phase current iu, W-phase current iw detected by the current detection unit 33, and V-phase current iv calculated by the three-phase-to-two-phase converter 36) are referred to as motor currents.
[0050] The d-axis current id and the q-axis current iq are converted from the detected values of the U-phase current iu, the V-phase current iv, and the W-phase current iw, and can therefore be regarded as detected values. In this manner, the three-phase-two-phase converter 36 converts the detected values of the motor currents (U-phase current iu, V-phase current iv, and W-phase current iw) into detected values of the d-axis current id and the q-axis current iq. The three-phase-two-phase converter 36 outputs the detected values of the d-axis current id and the q-axis current iq to the feedback value calculation unit 37.
[0051] The feedback value calculation unit 37 receives the detection values of the d-axis current id and the q-axis current iq detected during a predetermined detection period Td from the three-phase-two-phase converter 36, and calculates a feedback value, which is a current value for feedback controlling the motor 26 for each predetermined control period T, based on these detection values.
[0052] Here, the feedback value in this embodiment is the control command value of the motor 26 (U-phase voltage command value Vu * , V phase voltage command value Vv * , W-phase voltage command value Vw* The predetermined detection period Td is a period for detecting data used to calculate the feedback value. The predetermined control period T is a period for performing feedback control on the motor 26.
[0053] In the motor control device 30, a feedback value and a d-axis voltage command value Vd * and q-axis voltage command value Vq * A process for updating is executed at a predetermined control period T. Hereinafter, the predetermined detection period Td will be simply referred to as a detection period Td, and the predetermined control period T will be simply referred to as a control period T.
[0054] The feedback value used in the vector control includes a d-axis current component id' and a q-axis current component iq'. The feedback value calculation unit 37 calculates the d-axis current component id' of the feedback value based on the detected value of the d-axis current id. The feedback value calculation unit 37 also calculates the q-axis current component iq' of the feedback value based on the detected value of the q-axis current iq.
[0055] The d-axis current component id' (q-axis current component iq') of the feedback value uses the average value of the detected value of the d-axis current id (detected value of the q-axis current iq) or an approximate value obtained from an approximation line related to the detected value of the d-axis current id (detected value of the q-axis current iq). In this way, in the motor control device 30, the detected values are not directly fed back, but the average value or approximate value calculated from each detected value is fed back.
[0056] The feedback value calculation unit 37 calculates the d-axis voltage command value Vd * and q-axis voltage command value Vq * Specifically, the feedback value calculation unit 37 calculates a reference value that reflects the feedback control for the d-axis voltage command value Vd * from the voltage command generating unit 42, and the d-axis voltage command value Vd * The d-axis voltage command reference value Vd *The feedback value calculation unit 37 calculates the q-axis voltage command value Vq * from the voltage command generating unit 42, and the q-axis voltage command value Vq * The q-axis voltage command reference value Vq * ' is calculated. d-axis voltage command reference value Vd * ' and q-axis voltage command reference value Vq * ' is, for example, the d-axis voltage command value Vd used within the detection period Td. * and d-axis voltage command value Vd * This is an approximate value obtained from the average value or approximation line for.
[0057] The feedback value calculation unit 37 outputs the d-axis current component id' and the q-axis current component iq' of the feedback value to the voltage command generation unit 42 and the axis error calculation processing unit 38, respectively. * ' and q-axis voltage command reference value Vq * ' is output to the axis error calculation processor 38.
[0058] The axis error calculation processor 38 calculates the axis error Δθ of the motor 26 based on the d-axis current component id′ of the feedback value and the q-axis current component iq′ of the feedback value. Specifically, the axis error calculation processor 38 calculates the axis error Δθ of the motor 26 based on the d-axis current component id′, the q-axis current component iq′, the d-axis voltage command reference value Vd * ', and the q-axis voltage command reference value Vq * ' is received from the feedback value calculation unit 37, and the electrical angular velocity command value ωe * from the angular velocity converter 41, and the d-axis current component id', the q-axis current component iq', and the d-axis voltage command reference value Vd * ', q-axis voltage command reference value Vq * ', and the electrical angular velocity command value ωe * The axis error Δθ is calculated based on the above and output to the advance angle processor 71.
[0059] The axis error Δθ represents the error between the actual rotor position and the rotor position estimated on the control axis (see FIG. 7). Therefore, the axis error control unit 39 can also be said to be a position estimating unit that estimates the rotor position by calculating the axis error Δθ. An algorithm using an observer or the like is typically used to calculate the axis error Δθ. Alternatively, any algorithm capable of calculating the axis error Δθ may be used.
[0060] Lead angle processing unit 71, which outputs the axis error Δθ, adjusts the axis error Δθ when accelerating operation is performed to increase the rotation speed of motor 26, as described below. Lead angle processing unit 71 also outputs the axis error Δθ as is when accelerating operation of motor 26 is not performed. In the following, the axis error adjusted by lead angle processing unit 71 when accelerating operation is performed is referred to as adjusted axis error Δθ'. The adjusted axis error Δθ' is calculated by subtracting the adjustment angle Δθ from the axis error Δθ calculated by axis error calculation processing unit 38. * is subtracted from the angle, Δθ'=Δθ-Δθ * It is.
[0061] The axis error control unit 39 receives the axis error Δθ (or Δθ') from the lead angle processing unit 71, calculates a motor voltage V that converges the axis error Δθ (or Δθ') to zero, and outputs the motor voltage V to the voltage command generating unit 42. That is, the axis error control unit 39 adjusts the motor voltage V so that Δθ (or Δθ') converges to zero. Here, the motor voltage V is a voltage value that indicates the magnitude of a voltage vector (a composite vector of a d-axis voltage Vd and a q-axis voltage Vq) supplied to the motor 26. The axis error control unit 39 is, for example, a PI controller configured using an integrator and a proportional unit. However, the present invention is not limited to this, and for example, in order to avoid abrupt control, an I controller configured using an integrator may be used as the axis error control unit 39.
[0062] The integrator 40 converts the electrical angular velocity command value ωe * is integrated over time to calculate the electrical rotation angle θe as the estimated position of the rotor in the fixed coordinate system (UVW coordinate system), and output it to the three-phase-two-phase converter 36 and the two-phase-three-phase converter 55 of the voltage command generator 42.
[0063] The angular velocity converter 41 converts the mechanical angular velocity of the motor 26 into an electrical angular velocity. Specifically, the angular velocity converter 41 converts a mechanical angular velocity command value ωm * is received from the speed command unit 70, and the mechanical angular velocity command value ωm is calculated using the number of pole pairs according to the configuration of the motor 26. * The electrical angular velocity command value ωe * Convert to the electrical angular velocity command value ωe * is output to the voltage command generating unit 42, the feedback value calculating unit 37, the axis error calculation processing unit 38, and the integrator 40.
[0064] The voltage command generator 42 receives the d-axis current component id' and the q-axis current component iq' of the feedback value from the feedback value calculator 37, receives the motor voltage V from the axis error controller 39, and calculates the electrical angular velocity command value ωe * from the angular velocity converter 41, and outputs the d-axis current component id', the q-axis current component iq', the motor voltage V, and the electrical angular velocity command value ωe * Based on this, the control command value (U phase voltage command value Vu * , V phase voltage command value Vv * , W-phase voltage command value Vw * ) is calculated.
[0065] In this embodiment, the voltage command generator 42 receives the d-axis current component id′ of the feedback value, the q-axis current component iq′ of the feedback value, the adjusted motor voltage V, and the electrical angular velocity command value ωe * Based on this, the d-axis voltage command value (d-axis voltage command value Vd * ) and the q-axis voltage command value (q-axis voltage command value Vq * ) is calculated. The d-axis voltage command value Vd * and q-axis voltage command value Vq * is the U-phase voltage command value Vu * , V phase voltage command value Vv * , W-phase voltage command value Vw * is converted to
[0066] As shown in FIG. 2, the voltage command generating unit 42 includes a d-axis voltage calculator 50, a q-axis voltage calculator 51, a decoupling controller 52, a subtractor 53, an adder 54, and a two-phase to three-phase converter (dq / u,v,w) 55.
[0067] The d-axis voltage calculator 50 calculates the electrical angular velocity command value ωe * from the angular velocity converter 41, and receives the q-axis current component iq' of the feedback value from the feedback value calculation unit 37, and receives the electrical angular velocity command value ωe * and the q-axis current component iq', and outputs the d-axis voltage Vd to the q-axis voltage calculator 51 and the subtractor 53. This process calculates the current speed command value (ωe * This is the process of calculating the d-axis voltage (Vd) that realizes the above equation.
[0068] 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 based on the motor voltage V and the d-axis voltage Vd, and outputs the q-axis voltage Vq to the adder 54. This process is carried out based on the current speed command value (ωe * This is a process of calculating the q-axis voltage (Vq) that realizes both the axis error Δθ (or Δθ') and the motor voltage V that makes the axis error Δθ (or Δθ') zero.
[0069] The calculation process of the d-axis voltage Vd and the q-axis voltage Vq by the d-axis voltage calculator 50 and the q-axis voltage calculator 51 is a process of calculating and outputting the d-axis voltage Vd and the q-axis voltage Vq by substituting the parameters input to each calculator into a predetermined function. This will be described in detail later with reference to FIG. 5.
[0070] The decoupling controller 52 decouplings the q-axis voltage Vq and the d-axis voltage Vd. Specifically, the decoupling controller 52 receives the d-axis current component id' of the feedback value from the feedback value calculation unit 37, determines a decoupling correction value Vqa for decoupling the q-axis voltage Vq based on the d-axis current component id', and outputs the decoupling correction value Vqa to the adder 54. The decoupling controller 52 also receives the q-axis current component iq' of the feedback value from the feedback value calculation unit 37, determines a decoupling correction value Vda for decoupling the d-axis voltage Vd based on the q-axis current component iq', and outputs the decoupling correction value Vda to the subtractor 53.
[0071] The subtractor 53 receives the d-axis voltage Vd from the d-axis voltage calculator 50, receives the decoupling correction value Vda from the decoupling controller 52, subtracts the decoupling correction value Vda from the d-axis voltage Vd, and calculates the result of the subtraction as the d-axis voltage command value Vd after decoupling. * to the two-phase-to-three-phase converter 55 and the feedback value calculation unit 37.
[0072] 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 together, and calculates the result of the addition as the post-decoupling q-axis voltage command value Vq * to the two-phase-to-three-phase converter 55 and the feedback value calculation unit 37.
[0073] The two-phase to three-phase converter (dq / u,v,w) 55 outputs the d-axis voltage command value Vd * is received from the subtractor 53, and the q-axis voltage command value Vq * from the adder 54, and receives the electrical rotation angle θe from the integrator 40. For example, based on the electrical rotation angle θe, a voltage command vector (Vd * ,Vq * ) in the fixed coordinate system (UVW coordinate system) * ,Vv * ,Vw * ) to
[0074] The conversion of the voltage command vector by the two-phase to three-phase converter 55 can be performed at any timing (any electrical rotation angle θe). * ,Vq * ) has been calculated, the voltage command values of the UVW phases (Vu * ,Vv * ,Vw * ) can be calculated as many times as necessary at the necessary timing. In other words, the d-axis and q-axis voltage command values (Vd * ,Vq * ) is not updated, the same control is continued. Therefore, to execute the feedback control, the d-axis voltage command value Vd * and q-axis voltage command value Vq * It can also be said that the purpose of this study is to update the
[0075] The speed command unit 70 determines the rotation speed command value (mechanical angular velocity command value ωm * Specifically, the speed command unit 70 outputs a mechanical angular velocity target value ωm ** from an external device and calculates the mechanical angular velocity target value ωm at a predetermined acceleration. ** The mechanical angular velocity command value ωm * and output it to the angular velocity converter 41. Here, the speed command unit 70 calculates the mechanical angular velocity target value ωm ** An external device that outputs the speed command is, for example, a controller that controls the overall operation of the air conditioner 100. In this embodiment, the speed command unit 70 corresponds to a rotation speed command unit.
[0076] For example, the mechanical angular velocity target value ωm ** The current mechanical angular velocity command value ωm * If the mechanical angular velocity command value ωm is higher than the value ωm, the motor 26 is accelerated to increase the rotation speed. * The value of is increased at a rate corresponding to a predetermined acceleration (see FIG. 6). ** The current mechanical angular velocity command value ωm *If the mechanical angular velocity command value ωm is lower than the value ωm, the motor 26 is decelerated to reduce the rotation speed. * The value of the mechanical angular velocity target value ωm is decreased at a rate corresponding to a predetermined acceleration. ** The current mechanical angular velocity command value ωm * If they match, the motor 26 enters a steady state operation at a constant rotation speed.
[0077] The speed command unit 70 also controls the mechanical angular velocity target value ωm ** When the mechanical angular velocity command value ωm is changed and acceleration operation is to be performed, the advance angle processing unit 71 is notified of the acceleration operation. Specifically, the speed command unit 70 generates a control signal (hereinafter, referred to as an acceleration operation signal) indicating that acceleration operation is to be performed, and outputs it to the advance angle processing unit 71. The acceleration operation signal is generated based on the mechanical angular velocity command value ωm * is increased (i.e., before acceleration starts) until acceleration is completed.
[0078] The advance angle processing unit 71 executes advance angle processing for advancing the rotor phase before the start of acceleration operation that increases the rotation speed of the motor 26. Here, executing advance angle processing before the start of acceleration operation means executing advance angle processing at a timing before the start of acceleration operation or at a timing substantially simultaneous with the start of acceleration operation. For example, if the timing at which advance angle processing is executed is written as t0 and the timing at which acceleration operation starts is written as t1, then this is expressed as t0≦t1. In this embodiment, the advance angle processing unit 71 corresponds to a suppression processing unit.
[0079] As described above, in the rotation control unit 35, the axis error Δθ of the motor 26 is calculated based on the detected value of the motor current by the three-phase-two-phase converter 36, the feedback value calculation unit 37, and the axis error calculation processing unit 38. In the rotation control unit 35, the axis error control unit 39 and the voltage command generation unit 42 calculate a control command value based on the axis error Δθ.
[0080] In this embodiment, lead-angle processing unit 71 advances the phase of the rotor by adjusting the axis error Δθ used to calculate the control command value. As shown in FIG. 2, lead-angle processing unit 71 has an axis error adjustment unit 72 and a subtractor 73.
[0081] The axis error adjustment unit 72 receives an acceleration operation signal from the speed command unit 70, and adjusts the adjustment angle Δθ * is output to the subtractor 73. Here, the adjustment angle Δθ * is an angle corresponding to the advance amount by which the rotor phase is advanced in the advance angle processing.
[0082] The subtractor 73 receives the axis error Δθ from the axis error calculation processor 38 and calculates the adjustment angle Δθ * is received from the axis error adjustment unit 72, and the adjustment angle Δθ is calculated from the axis error Δθ. * The result of the subtraction is output to the axis error control unit 39 as the adjusted axis error Δθ′.
[0083] In this way, the lead angle processing unit 71 calculates the adjustment angle Δθ corresponding to the lead angle amount of the lead angle processing from the value of the axis error Δθ used to calculate the control command value. * During the period in which the accelerating operation signal is being input, the axis error adjuster 72 subtracts the adjustment angle Δθ * During this period, the adjusted axis error Δθ' is output from the subtractor 73. The advance angle process for adjusting the axis error Δθ will be described in detail later with reference to FIG.
[0084] Furthermore, when an accelerating operation signal is not input (for example, when a steady operation or a decelerating operation is performed), the axis error adjuster 72 calculates the adjustment angle Δθ * In this case, the subtractor 73 outputs the axis error Δθ output from the axis error calculation processing unit 38 as is to the axis error control unit 39. In this way, when the accelerating operation signal is not input, the advance angle processing for adjusting the axis error Δθ is not executed.
[0085] [Electrical angle period Te and carrier period Tc] Fig. 3 is a schematic diagram showing the relationship between the AC current flowing through motor 26 and the PWM signal. The upper side of Fig. 3 shows a schematic graph showing motor currents (U-phase current iu, V-phase current iv, W-phase current iw) flowing through the windings of U-phase, V-phase, and W-phase of motor 26. The lower side of Fig. 3 shows a schematic graph showing U-phase, V-phase, and W-phase PWM signals (PWM signal 6u, PWM signal 6v, PWM signal 6w) during a partial period of the upper graph.
[0086] As shown in the upper graph of Fig. 3, the U-phase current iu, the V-phase current iv, and the W-phase current iw are AC currents with an electrical angle period Te, and their waveforms are basically sinusoidal. Here, the electrical angle period Te is the period of the U-phase current iu, the V-phase current iv, and the W-phase current iw expressed in units of electrical rotation angle θe. The length of the electrical angle period Te may also be written as Te. The phases of the currents iu, iv, and iw of each phase are shifted at intervals of 120°. The electrical angle period Te becomes shorter as the rotation speed of the motor 26 increases.
[0087] The AC voltage applied to the windings is set by the duty command value of the PWM signal output at the carrier frequency so that such an AC current waveform is realized. The lower graph in Figure 3 shows the pulse waveforms of PWM signals 6u, 6v, and 6w that vary with the carrier period Tc. In each PWM signal, one carrier period Tc contains one pulse.
[0088] The electrical angle period Te is sufficiently longer than the carrier period Tc of the PWM signal. Therefore, for example, many PWM signals are generated during one electrical angle period Te. For example, if the carrier frequency is 20 [kHz], the motor rotation speed is 900 [rpm], and the number of pole pairs is 4, the electrical angle period Te is Te = (60 / (4 x 900)), and the carrier period Tc is Tc = (1 / 20000). In this case, Te / Tc = 333.33, and Te is approximately 300 times Tc. Similarly, if the motor rotation speed is 200 [rpm], Te is approximately 1500 times Tc.
[0089] [Control period] In this embodiment, the control period T for calculating the feedback value and performing the feedback control is set based on the electrical angle period Te. Therefore, the time interval for performing the feedback control is sufficiently longer than, for example, the carrier period Tc of the PWM signal. This makes it possible to significantly reduce the frequency of the feedback control compared to the case where the feedback control is performed at a period several times the carrier period Tc (for example, 4 to 5 times the carrier period Tc).
[0090] For example, the control period T is n times the electrical angle period Te of the motor 26 (T=n×Te), where n is a natural number. In this case, even if n is set to 1, the frequency of feedback control can be sufficiently low. In addition, for example, the control period T may be 1 / n times the electrical angle period Te (T=Te / n), where n is a natural number. In this case, feedback control is performed n times during the passage of one electrical angle period T, making it possible to improve the control accuracy of the motor.
[0091] In general, the motor 26 (fan motor) that drives the impeller 25 does not necessarily need to be controlled frequently because the moment of inertia of the impeller 25, which is the load, is large. Conversely, frequent control may result in unnecessary control, such as feedback of sudden current fluctuations. This leads to losses associated with control, such as the consumption of extra time and energy in controlling the motor 26.
[0092] In contrast, in this embodiment, the motor 26 is controlled with a relatively long control period T based on the electrical angle period Te. This reduces the frequency of feedback control, making it possible to reduce losses associated with control. It also makes it possible to reduce the amount of calculation (processing load) required for feedback control, and thus to reduce costs by reducing the processing power of the CPU. This makes it possible to inexpensively realize a configuration in which, for example, the fan motor (motor 26) and the compressor motor (the motor that drives the compressor 21) are processed by the same CPU.
[0093] [Feedback value calculation] Fig. 4 is a schematic diagram showing an example of calculating a feedback value. Here, a case will be described where an approximation value of the d-axis current id or the q-axis current iq is calculated as the feedback value f. The horizontal axis x of the graph in Fig. 4 is the rotor position ωe×t (electrical rotation angle θe) of the motor 26 at time t, and the vertical axis y is the value of the dq-axis current 61 (the d-axis current id or the q-axis current iq). Furthermore, the white circles are the detection values of the dq-axis current 61 detected during the detection period Td, and the black circles are the feedback values f (approximation values) calculated from the detection values of the dq-axis current 61.
[0094] In Fig. 4, an approximation line of the dq-axis current 61 is generated from the dq-axis current 61 detected during the detection period Td. Specifically, the feedback value calculation unit 37 generates an approximation line λd of the d-axis current id based on the detection value of the d-axis current id. Also, the feedback value calculation unit 37 generates an approximation line λq of the q-axis current iq based on the detection value of the q-axis current iq. In Fig. 4, the approximation lines λd and λq are diagrammatically illustrated by thick solid lines. Hereinafter, the approximation lines λd and λq will be collectively referred to as the approximation line λ.
[0095] In this embodiment, an approximation line λ is used which is a straight line in a coordinate system with the d-axis current id (or q-axis current iq) on the vertical axis and the rotor position (phase) on the horizontal axis. Specifically, a regression line calculated by the least squares method for multiple detection values of the d-axis current id and the q-axis current iq is used as the approximation line λ. For example, if the d-axis current id (or q-axis current iq) is written as y and the rotor position ωe×t is written as x, the equation of the regression line is expressed by the following equation (1). y = ax + b (1)
[0096] In equation (1), a is the slope of the regression line, and b is the intercept of the regression line. The process of generating the regression line is a process of calculating the slope a and intercept b. Therefore, in the process of generating the approximation line λd (or the approximation line λq), the slope a and intercept b for the d-axis current id (or the q-axis current iq) are calculated. By using the regression line, it is possible to accurately and stably calculate the d-axis current component id' and the q-axis current component iq' of the feedback value f.
[0097] Once the approximation line λ is calculated, an approximation value of the dq-axis current 61 is calculated from the approximation line λ. Specifically, the feedback value calculation unit 37 calculates an approximation value of the d-axis current id as the d-axis current component id' of the feedback value f based on the approximation line λd of the d-axis current id. Also, the feedback value calculation unit 37 calculates an approximation value of the q-axis current iq as the q-axis current component iq' of the feedback value f based on the approximation line λq of the q-axis current iq.
[0098] An approximation of the d-axis current id, which becomes the d-axis current component id', is calculated by setting the x value of the approximation line λd as the control timing. Similarly, an approximation of the q-axis current iq, which becomes the q-axis current component iq', is calculated by setting the x value of the approximation line λq as the control timing. The control timing is the start timing of the feedback control executed in the control period T and the end timing of the detection period Td. In Figure 4, the point where the approximation line λ and the end timing of the detection period Td intersect is the point that represents the feedback value f.
[0099] Alternatively, an average value of the d-axis current id (or the q-axis current iq) detected during the detection period Td may be calculated as the feedback value f. For example, assume that N detection values of the d-axis current id (or the q-axis current iq) are detected during the detection period Td. In this case, a sum Σ of the N detection values is calculated, and the sum Σ of the detection values is divided by the number N of detection values (the number of data points) to calculate the average value (Σ / N) of the d-axis current id (or the q-axis current iq). By using the average value as the feedback value f, it is possible to reduce the amount of calculation compared to, for example, using an approximate value.
[0100] The detection period Td is typically set to the same length as the control period T. In this case, the period from when the previous feedback control is started to when the next feedback control is started becomes the detection period Td. As a result, the data of the dq-axis current 61 used to calculate the feedback value f becomes the most recent data with no overlaps and the largest number of data. This makes it possible to improve the accuracy of the feedback value f. The detection period Td may be set to be longer or shorter than the control period T.
[0101] In addition, the applicant proposed in Japanese Patent Application No. 2022-204791 to set the detection period Td so that a current value according to the asymmetry of the motor current can be detected. For example, the motor current (U-phase current iu, V-phase current iv, W-phase current iw) shown in FIG. 4 has a sine waveform. In this case, the positive and negative waveforms are symmetrical with respect to the zero level L0 where the current becomes 0, resulting in a symmetrical waveform. In contrast, the motor current may be distorted, causing the positive and negative waveforms to become asymmetrical with respect to the zero level L0.
[0102] Generally, when the carrier period Tc is constant, the shorter the electrical angle period Te, the fewer the current output points (the number of PWM signals) per period. This can result in the motor current waveform becoming distorted and asymmetrical. Also, the dead time provided in the IPM 46 to prevent shoot-through current can shift the timing of the output points, distorting the motor current waveform. In addition, fluctuations in the load on the motor, noise, and other factors can cause the motor current to become asymmetrical.
[0103] For example, if the motor current has a symmetrical waveform, the dq-axis current 61 is approximately constant within one electrical angle period Te, but if the motor current has an asymmetrical waveform, the dq-axis current 61 has different values on the positive and negative sides of the current. In this case, for example, if the detection period Td is made to coincide with the electrical angle period Te, it becomes impossible to detect changes in the dq-axis current 61 that occur within the electrical angle period Te. In contrast, for example, by setting the detection period Td to 1 / 2 the electrical angle period Te, it becomes possible to detect changes in the dq-axis current 61 that correspond to the asymmetry.
[0104] In this way, in order to detect the current value according to the asymmetry of the motor current, it is preferable to set the detection period Td to Te / 2. This makes it possible to reliably detect the feedback value f according to the asymmetry of the motor current, and to sufficiently suppress the error of the feedback value f.
[0105] [Operation during normal operation] FIG. 5 is a time chart showing the operation of the motor control device during steady operation. Here, referring to FIG. 5, the mechanical angular velocity command value ωm * The operation during steady operation in which the load is constant and the rotation speed of the motor 26 does not change will be described.
[0106] 5, a schematic graph showing the time change of the electrical rotation angle θe is shown at the top. The second graph from the top shows a detection period Td in which the current detection process is performed as a band-shaped region. Below the detection period Td, time charts of the feedback value calculation process, the position estimation process, the axis error control process, and the voltage command update process are shown in this order.
[0107] In Fig. 5, the length of the control period T and the length of the detection period Td are set to a half period (Te / 2) of the electrical angle period Te. The control timing (the end timing of the detection period Td) is set to the timing when the electrical rotation angle θe becomes π or 2π. Note that the electrical rotation angle θe is reset to return to 0 when it exceeds 2π. In Fig. 5, the control timing is diagrammatically illustrated using hollow arrows.
[0108] [Current detection process] In each control period T, a current detection process is executed to detect the motor current. Specifically, the current detection unit 33 detects three-phase currents 60 (U-phase current iu, V-phase current iv, and W-phase current iw) which are the motor current in a predetermined detection period. The detected values of the phase currents 60 are successively converted by the three-phase-two-phase converter 36 into dq-axis currents 61 (d-axis current id and q-axis current iq) and stored as data. That is, data is generated by detecting the d-axis current id and the q-axis current iq in a predetermined detection period.
[0109] The detection cycle is set to a cycle that allows sampling an arbitrary number of times during the detection period Td (here, Te / 2). For example, the length of the detection cycle is set to n times the carrier cycle Tc (for example, n=1 to 10). By shortening the detection cycle, the number of data points increases, making it possible to improve the accuracy of the feedback value f. Furthermore, by lengthening the detection cycle, the frequency of conversion to the dq-axis current 61 decreases, making it possible to suppress the amount of calculation. In the following, it is assumed that the length of the detection cycle is set to the same length as the carrier cycle Tc.
[0110] The timing at which the detection period Td ends is the control timing for starting the feedback control. After the control timing, the feedback value calculation process, the position estimation process, the axis error control process, and the voltage command update process are executed in this order. Note that even during the period in which these processes are being executed, the current detection process for the next detection period Td is executed in the background.
[0111] [Feedback value calculation process] The feedback value calculation process is a process for calculating a d-axis current component id′ and a q-axis current component iq′ of the feedback value f. This can also be said to be a process for updating the feedback value f. The feedback value calculation process is executed by the feedback value calculation unit 37.
[0112] The feedback value f is calculated using data of the dq-axis current 61 detected during a detection period Td immediately before the control timing. For example, as shown in Fig. 16, at the control timing when the electrical rotation angle θe = π, data detected during the detection period Td shown with fine shading is used. At the control timing when the electrical rotation angle θe = 2π, data detected during the detection period Td shown with coarse shading is used.
[0113] The feedback value calculation unit 37 reads data of the dq-axis current 61 and calculates an approximation as the feedback value f. Specifically, an approximation line λd that approximates the data of the d-axis current id detected in the detection period Td is calculated, and an approximation of the d-axis current id at the control timing is calculated from the approximation line λd. The approximation of the d-axis current iq is used as the d-axis current component id' of the feedback value f. Similarly, an approximation line λq that approximates the data of the q-axis current iq detected in the detection period Td is calculated, and an approximation of the q-axis current iq at the control timing is calculated from the approximation line λq. The approximation of the q-axis current iq is used as the q-axis current component iq' of the feedback value f.
[0114] [Location estimation process] The position estimation process is a process for calculating an axis error Δθ. This process estimates the rotor position by calculating the error (axis error Δθ) between the rotor position on the control axis and the actual rotor position. The position estimation process is executed by the axis error calculation processing unit 38. Specifically, the axis error Δθ of the motor 26 is calculated from the latest feedback value f (d-axis current component id' and q-axis current component iq') according to an algorithm using an observer or the like.
[0115] [Axial error control processing] The axis error control process is a process for calculating a motor voltage V that converges the axis error Δθ to zero. This process is a process for adjusting the motor voltage V based on the axis error Δθ so that the rotor position on the control axis coincides with the actual rotor position. The axis error control process is executed by the axis error control unit 39. Specifically, a motor voltage V that converges the axis error Δθ to zero is calculated using PI control or the like.
[0116] [Voltage command update process] The voltage command update process is the d-axis voltage command value Vd * and q-axis voltage command value Vq * The voltage command update process is executed by the voltage command generator 42. Specifically, the feedback value f (the d-axis current component id′ and the q-axis current component iq′), the motor voltage V, and the electrical angular velocity command value ωe * Based on this, the d-axis voltage command value Vd * and q-axis voltage command value Vq * is newly calculated.
[0117] One method for controlling a motor is, for example, to calculate the error in the motor's rotation speed from the axis error Δθ, and then control the motor's speed (control the number of rotations) so as to bring that error closer to 0. In this case, high-precision motor control is possible, but speed control may increase the processing load required for feedback control.
[0118] In contrast, as described with reference to FIG. 2, in this embodiment, the speed control is omitted, and the axis error Δθ obtained from the axis error calculation processing unit 38 is converted into a motor voltage V to obtain a voltage command value (d-axis voltage command value Vd * and q-axis voltage command value Vq * ) is controlled. This reduces the processing load required for feedback control and makes it possible to reduce unnecessary control. In the following, the operations of the d-axis voltage calculator 50 and the q-axis voltage calculator 51 in the voltage command generating unit 42 will be specifically described.
[0119] The d-axis voltage calculator 50 calculates the d-axis voltage command value Vd *The d-axis voltage Vd, which is the basis of the d-axis voltage command value Vd, is calculated by performing non-interference processing on the d-axis voltage Vd. * Here, the electrical angular velocity command value for the motor 26 is calculated as ωe * The q-axis inductance of the motor 26 is Lq, and the q-axis current component of the feedback value f is iq'. The d-axis voltage calculator 50 calculates the d-axis voltage Vd according to the following equation (2). Vd = -ωe * ×Lq×iq' (2)
[0120] Furthermore, based on the result of calculation of (2), the d-axis voltage command value Vd * Specifically, the decoupling correction value Vda is subtracted from the d-axis voltage Vd by a subtractor 53, and the result is the d-axis voltage command value Vd * The decoupling correction value Vda is calculated by the decoupling controller 52 based on the q-axis current component iq′ of the feedback value f.
[0121] The q-axis voltage calculator 51 calculates a q-axis voltage command value Vq * The q-axis voltage Vq, which is the basis of the q-axis voltage command value Vq, is calculated by performing non-interference processing on the q-axis voltage Vq. * Here, the motor voltage is V and the d-axis voltage is Vd. The q-axis voltage calculator 51 calculates the q-axis voltage Vq according to the following equation (3). Vq = sqrt(V 2 -Vd 2 ) ···(3) Note that sqrt() in equation (3) means the square root of the value in the ().
[0122] Furthermore, based on the result of calculation of (3), the q-axis voltage command value Vq * Specifically, the adder 54 adds the non-interacting correction value Vqa to the q-axis voltage Vq, and the result is the q-axis voltage command value Vq * The decoupling correction value Vqa is calculated by the decoupling controller 52 based on the d-axis current component id′ of the feedback value f.
[0123] In this way, the d-axis voltage command value Vd is calculated by the formula (2) and the Vq is calculated by the formula (3) by performing a non-interference process. * and q-axis voltage command value Vq * The current value used in this non-interference is also a feedback value calculated from the motor current data during the detection period Td.
[0124] d-axis voltage command value Vd * and q-axis voltage command value Vq * is converted into a control command value (Vu * ,Vv * ,Vw * ) is converted into the latest d-axis voltage command value Vd * and q-axis voltage command value Vq * In this manner, in the motor control device 30, a series of processes including the feedback value calculation process, the position estimation process, the axis error control process, and the voltage command update process are repeatedly executed in the control period T.
[0125] [Motor acceleration operation] FIG. 6 is a graph showing an example of setting the mechanical angular velocity command value during acceleration operation. The horizontal axis of the graph is time t, and the vertical axis is the mechanical angular velocity command value ωm * Here, the operation of the speed command unit 70 during acceleration operation will be described with reference to the graph of FIG.
[0126] In this embodiment, the acceleration operation is an operation in which the motor 26 is accelerated at a predetermined acceleration α. The predetermined acceleration α is determined in advance according to the characteristics of the motor 26 and the system as the acceleration when increasing the rotation speed of the motor 26. The predetermined acceleration α is typically a constant value regardless of the rotation speed of the motor 26. Hereinafter, the predetermined acceleration α will be simply referred to as acceleration α.
[0127] In the speed command unit 70, the mechanical angular velocity command value ωm * The change in the mechanical angular velocity command value ωm *For example, the mechanical angular velocity command value ωm * The unit of acceleration is rad / s. 2 For the motor 26 configured as a fan motor of the outdoor unit 2, the acceleration α is, for example, π / 3 [rad / s 2 Of course, the value of the acceleration α is not limited, and may be set appropriately depending on the application of the motor 26, etc.
[0128] The speed command unit 70 determines the target mechanical angular velocity value ωm of the motor 26. ** When the acceleration α increases, the mechanical angular velocity command value ωm * In FIG. 6, the mechanical angular velocity target value ωm ** But, ωm ** (old) to ωm with a larger value ** In response to this, the speed command unit 70 changes the mechanical angular velocity command value ωm * As a result, the mechanical angular velocity command value ωm * At time t2, ωm ** (new). After time t2, the mechanical angular velocity command value ωm * ωm ** (new). In this case, ωm from time t1 to time t2 * The slope of this is the acceleration α.
[0129] The speed command unit 70 outputs a mechanical angular velocity command value ωm * FIG. 6 shows the mechanical angular velocity command value ωm * The timing at which the electrical angular velocity command value ωe is calculated is shown by a black circle. As described above, in this embodiment, the control period T is set based on the electrical angle period Te (for example, T=Te / 2). The electrical angle period Te is the electrical angular velocity command value ωe * and the mechanical angular velocity command value ωm * Therefore, the mechanical angular velocity command value ωm * The larger the control period T, the shorter the control period T. Therefore, as shown in FIG. * The interval between the timings at which the values are calculated gradually becomes shorter as the vehicle accelerates.
[0130] [Axis error] Fig. 7 is a schematic diagram for explaining the axis error Δθ of the motor 26. Fig. 7 shows a UVW coordinate system having U-axis, V-axis, and W-axis set at 120 degree intervals, a dq coordinate system having d-axis and q-axis perpendicular to each other, and a γδ coordinate system having γ-axis and δ-axis perpendicular to each other. The UVW coordinate system is a fixed coordinate system. The dq coordinate system and the γδ coordinate system are rotating coordinate systems that rotate with respect to the UVW coordinate system. Here, the rotation direction of the dq coordinate system and the γδ coordinate system is counterclockwise (left-handed).
[0131] Moreover, the angle between the U axis and the d axis is written as the rotation angle θdq of the dq coordinate system, and the angle between the U axis and the γ axis is written as the rotation angle θγδ of the γδ coordinate system. In Fig. 7, the period during which the dq coordinate system (or the γδ coordinate system) makes one rotation, that is, the period during which the rotation angle θdq (or the rotation angle θγδ) goes from 0 to 2π, corresponds to one electrical angle period Te. Therefore, the rotation angle θdq (or the rotation angle θγδ) represents the phase of the dq coordinate system (or the γδ coordinate system) within the electrical angle period Te.
[0132] The dq coordinate system is a rotating coordinate system that indicates the direction of the magnet of the rotor 27 of the motor 26, and rotates with the rotation of the rotor 27. For example, the direction of the d axis corresponds to the direction of the magnet of the rotor 27. In FIG. 7, the rotor 27 is illustrated typically by a rectangular area. The longitudinal direction of this area corresponds to the direction of the magnet of the rotor 27. The rotation angle θdq of the dq coordinate system is an angle that indicates the actual position of the rotor 27, and can be obtained, for example, from the detected value of the motor current. In addition, since the rotation angle θdq indicates the position of the rotor 27 that rotates in the electrical angle period Te, it can also be said to be an angle that indicates the phase of the rotor 27 in the electrical angle period Te.
[0133] The γδ coordinate system is an estimated rotation coordinate system that indicates the estimated direction of the magnet of the rotor 27, and functions as a reference axis (control axis) for motor control. The rotation angle θγδ in the γδ coordinate system is an angle that indicates the position of the rotor 27 estimated on the control axis. A control command value (U-phase voltage command value Vu * , V phase voltage command value Vv* , W-phase voltage command value Vw * ) is calculated based on the rotation angle θγδ of the γδ coordinate system. Therefore, the rotating magnetic field is a magnetic field that rotates together with the γδ coordinate system. The rotation angle θγδ can also be said to be an angle that represents the phase of the rotating magnetic field in the electrical angle period Te.
[0134] As shown in Fig. 7, the difference between rotation angle θγδ and rotation angle θdq is the axis error Δθ. Specifically, this is expressed as Δθ=θγδ-θdq. As described above, in this embodiment, during steady operation where the rotation speed of motor 26 does not change, the motor voltage V is adjusted to calculate the control command value so that the axis error Δθ converges to zero. In other words, during steady operation, the control command value is adjusted so that the axis error Δθ becomes zero.
[0135] If the axis error Δθ becomes large, the adjustment of the control command value (motor voltage V) cannot keep up, and motor control may become unstable or step-out may occur. For example, depending on the application and control method of the motor 26, it is conceivable that the axis error Δθ increases during acceleration operation of the motor 26. Below, a specific description is given of cases in which the axis error Δθ increases during acceleration operation.
[0136] [Rotor delay due to motor acceleration] The axis error Δθ increases during acceleration when the control period T of the motor control is long. For example, if acceleration is performed at a constant acceleration α, the longer the control period T, the greater the increase in the rotation speed of the motor 26 (mechanical angular velocity command value ωm * and electrical angular velocity command value ωe * ) increases in one control. As a result, the number of rotations of the rotating magnetic field increases rapidly, and the axis error Δθ tends to increase.
[0137] Also, the axis error Δθ increases during acceleration operation when the moment of inertia of the motor 26 is large. For example, in the motor 26 (fan motor) that drives the impeller 25, the moment of inertia of the impeller 25, which is the load, is large, so that the rotor 27 has difficulty following the change in the rotation speed of the rotating magnetic field. For this reason, the rotation of the rotor 27 cannot keep up with the increase in the rotation speed of the rotating magnetic field, and the axis error Δθ tends to increase.
[0138] In addition, the axis error Δθ increases during acceleration when the rotation speed of the motor 26 is not directly controlled. In speed control in which the rotation speed of the motor 26 is directly controlled, for example, the mechanical angular velocity command value ωm of the motor 26 is set so that the axis error Δθ converges to 0. * is controlled. This involves controlling the number of rotations of the γδ coordinate system that serves as the control axis (i.e., the number of rotations of the rotating magnetic field), so the axis error Δθ is unlikely to become large. In contrast, in control such as this embodiment in which the motor voltage V is adjusted without speed control, the number of rotations of the rotating magnetic field increases uniformly. For this reason, even if the motor voltage V is raised to increase the number of rotations, the rotation of the rotor 27 will not be able to keep up with the rotating magnetic field, and the axis error Δθ is likely to become large.
[0139] The control method of motor 26 during steady operation described with reference to Fig. 5 is a method of adjusting motor voltage V rather than speed control for a fan motor (motor 26) having a large moment of inertia of impeller 25, which is a load, in a comparatively long control period T based on electrical angle period Te. For this reason, for example, if the control method shown in Fig. 5 is applied directly to accelerating operation, there is a possibility that control of the increase in motor voltage V, etc., will not be able to keep up depending on the magnitude of acceleration α. As a result, it is considered that rotor 27 will not be able to keep up with the rotating magnetic field and will lose synchronism.
[0140] FIG. 8 shows the d-axis voltage command value Vd * , q-axis voltage command value Vq * , and the axis error Δθ. The horizontal axis of the graph is time t, and the vertical axis is the d-axis voltage command value Vd * , q-axis voltage command value Vq *, and the actual value of the axis error Δθ, where the time interval between each data point representing Δθ corresponds to the control period T.
[0141] The graph shown in FIG. 8 shows the relationship between the acceleration α=π / 3 [rad / s 2 The data was measured when the acceleration operation was performed at ωm. The acceleration operation started at t1. Note that in the period before t1, the mechanical angular velocity command value ωm * is constant and steady-state operation is being performed. During steady-state operation, the value of the axis error Δθ oscillates so as to converge to 0, which indicates that feedback control is being performed appropriately.
[0142] On the other hand, when acceleration operation starts at time t1, the axis error Δθ increases rapidly. In other words, it can be seen that the axis error Δθ diverges in the positive direction at the moment acceleration starts. A positive axis error Δθ means that the rotation angle θdq lags behind the rotation angle θγδ, as shown in FIG. 7, that is, the rotation of the rotor 27 lags behind the rotating magnetic field. Thus, if the control method shown in FIG. 5 is applied directly to acceleration operation, the rotation of the rotor 27 will not be able to catch up with the rotating magnetic field, and the axis error Δθ will diverge. As a result, the control of the motor 26 becomes unstable, and ultimately, a situation may occur in which the motor 26 loses synchronism and stops.
[0143] In order to solve such problems, in the present disclosure, before the start of acceleration operation, a suppression process is executed to suppress the phase difference between the phase of the rotating magnetic field during acceleration operation and the phase of the rotor 27 within a predetermined range. The predetermined range is, for example, a range of phase difference that allows motor control to be continued appropriately. The suppression process is a process for continuing motor control during acceleration operation by avoiding a situation in which the phase difference between the phase of the rotating magnetic field and the phase of the motor 26 caused by acceleration operation increases.
[0144] As described with reference to Fig. 7, the axis error Δθ is a parameter that represents the phase difference between the phase of the rotating magnetic field and the phase of the rotor 27. Therefore, the suppression process can be said to be a process that suppresses the axis error Δθ during acceleration operation within a predetermined angle range and prevents it from diverging. The predetermined angle range is, for example, a range in which feedback control is possible to converge the axis error Δθ to 0. The predetermined angle range is preferably -20°<Δθ<20°, and more preferably -15°<Δθ<15°.
[0145] [Advance angle processing] In this embodiment, an advance angle process is performed as the suppression process. Usually, an advance angle refers to advancing the phase of a control command value, but in this embodiment, an advance angle process is performed to advance the phase of the rotor 27. Here, the phase of the rotor 27 is, for example, the phase of the d-axis represented by the rotation angle θdq in a dq coordinate system. In the advance angle process, the phase of the d-axis is advanced by an advance angle amount θa (θa>0) compared to the steady operation. This is a process to advance the phase of the rotor 27 by the advance angle amount θa from the phase during steady operation. Such a process is performed before the start of acceleration operation.
[0146] Fig. 9 is a schematic diagram for explaining the advance angle processing. Here, the advance angle processing will be explained using the relationship between the γ-axis of the γδ coordinate system, which is the control axis, and the d-axis of the dq coordinate system, which represents the phase of the rotor 27. Note that Figs. 9A to 9C show the U-axis, which is a fixed axis, as the reference for the phases of the two rotating coordinate systems. Also, the phase of the γ-axis (the phase of the rotating magnetic field) has the same value in each diagram.
[0147] Fig. 9A shows a state where advance angle processing is not performed during steady operation. When advance angle processing is not performed, the phase of rotor 27 (phase of the d-axis) is controlled so that the axis error Δθ converges to 0. This is control to match the γ-axis and the d-axis. During steady operation, the phase of rotor 27 does not unilaterally lag as in acceleration operation, and control is likely to be stable. Fig. 9A shows a state where the γ-axis and the d-axis are matched and Δθ=0.
[0148] FIG. 9B shows a state where advance angle processing is performed during steady operation. In advance angle processing, the phase of the rotor 27 (phase of the d-axis) is advanced by an advance angle amount θa compared to the state during steady operation. FIG. 9B shows a state where advance angle processing is performed with an advance angle amount θa from the state shown in FIG. 9A (state where the γ-axis and the d-axis are aligned). In this case, the phase of the d-axis after advance angle processing is advanced by an advance angle amount θa compared to the phase of the d-axis (phase of the γ-axis) before advance angle processing. This is a state where the phase of the rotor 27 is advanced with respect to the phase of the rotating magnetic field. Also, since the d-axis is advanced more than the γ-axis, the axis error Δθ is −θa. In other words, advance angle processing can be said to be a process of controlling the phase of the rotor 27 (phase of the d-axis) so that the axis error Δθ converges to −θa.
[0149] Fig. 9C shows a state in which acceleration operation is performed after advance angle processing. During acceleration operation, unlike the steady operation shown in Fig. 9A and Fig. 9B, rotor 27 cannot keep up with the rotating magnetic field, and the phase of rotor 27 lags. In Fig. 9C, a delay in the phase of rotor 27 (phase of the d-axis) occurs due to acceleration operation, as seen from the state of rotor 27 shown in Fig. 9B (dash line arrow).
[0150] As shown in Fig. 9C, the phase delay of rotor 27 reduces the angular interval between the γ-axis and the d-axis (the magnitude θa of the axis error Δθ) that has been widened by the advance angle processing. In other words, the phase delay of rotor 27 due to acceleration operation is offset by the advance angle amount θa. As a result, it is possible to keep the axis error Δθ within an angle range where appropriate control is possible even during acceleration operation. This corresponds to suppressing the phase difference between the phase of the rotating magnetic field and the phase of rotor 27 during acceleration operation within a predetermined range.
[0151] In this manner, in this embodiment, the rotor 27 is advanced to a certain degree before starting the acceleration operation, and the acceleration operation is started from that state. This allows the rotor 27 to accelerate without losing synchronism even if the phase lags from the advanced state as the acceleration progresses. This makes it possible to reliably increase the motor rotation speed without losing synchronism even if the control period T is lengthened.
[0152] [Motor control device acceleration operation] Fig. 10 is a flow chart showing an example of the acceleration operation of the motor control device. Fig. 10 shows a loop process that is repeatedly executed while the motor 26 is in operation. First, a steady operation is performed in which the rotation speed of the motor 26 is controlled to be constant (step 101). Here, the above-mentioned advance angle process is not performed, and motor control is performed in which the motor voltage V is adjusted so that the axis error Δθ converges to 0.
[0153] The speed command unit 70 determines the mechanical angular velocity target value ωm ** It is determined whether or not the mechanical angular velocity target value ωm input from a higher-level controller has increased (step 102). ** When the value of becomes higher than the previous value, an acceleration operation is performed to increase the rotation speed of the motor 26. Therefore, step 102 is a process of determining whether or not to perform an acceleration operation.
[0154] Mechanical angular velocity target value ωm ** If the target mechanical angular velocity ωm has not increased (No in step 102), the process in step 101 is continued. ** When the target mechanical angular velocity ωm ** In this case, in step 101, similarly to the case of steady operation, no advance angle processing is performed, and deceleration operation is performed to reduce the rotation speed of the motor 26.
[0155] Mechanical angular velocity target value ωm ** If increased (Yes in step 102), advance angle processing is performed by the advance angle processor 71 (step 103). For example, the mechanical angular velocity target value ωm ** When the speed command unit 70 increases, an acceleration operation signal notifying an acceleration operation to be performed is output from the speed command unit 70 to the advance angle processing unit 71. In response to the acceleration operation signal, the advance angle processing unit 71 executes an advance angle process for advancing the phase of the rotor 27.
[0156] In this embodiment, the advance angle processing involves adjusting the axis error Δθ calculated by the axis error calculation processor 38 so that the phase of the rotor 27 advances by an advance angle amount θa. Then, the motor voltage V is adjusted so that the adjusted axis error Δθ' converges to zero. The advance angle processing for adjusting the axis error Δθ will be described later with reference to Fig. 11. Note that, as will be described in the second embodiment, the advance angle processing can also be performed by adjusting parameters other than the axis error Δθ.
[0157] After the advance angle process is performed, the speed command unit 70 executes the acceleration process (step 104). * In this embodiment, feedback control (speed control) is not performed on the rotation speed of the motor 26, but the mechanical angular velocity command value ωm * (More specifically, the electrical angular velocity command value ωe * ) is directly changed according to the frequency of the control command value, which is a three-phase AC voltage. For this reason, the acceleration process is performed by directly changing the frequency of the mechanical angular velocity command value ωm * At a given acceleration α, the mechanical angular velocity target value ωm ** The mechanical angular velocity command value ωm * Specifically, the mechanical angular velocity command value ωm * is calculated according to the formula shown below. ωm * =ωm * +(ωm ** -ωm * ) / N ···(4)
[0158] In equation (4), ωm on the left * is the newly calculated mechanical angular velocity command value ωm * And the right hand side of ωm * is the mechanical angular velocity command value ωm calculated in the previous process. * In addition, N is a parameter determined according to the acceleration α and the control period T. Here, the acceleration α is the increase per unit time of the mechanical angular velocity [rad / s] of the motor 26, and the unit of the acceleration α is rad / s. 2In this case, N is calculated according to the following formula: N = α × p × T / 60 (5) Here, p is the number of pole pairs of the motor 26.
[0159] The mechanical angular velocity command value ωm * When the mechanical angular velocity command value ωm is newly calculated, the rotation control unit 35 calculates a control command value using the calculated value. In addition, the speed command unit 70 determines whether the acceleration operation of the motor 26 is completed (step 105). Here, the mechanical angular velocity command value ωm * is the target mechanical angular velocity ωm ** For example, it is determined whether ωm * About ωm * =ωm ** It is determined whether or not
[0160] Mechanical angular velocity command value ωm * is the target mechanical angular velocity ωm ** If it is smaller than ωm, the acceleration operation is not completed (No in step 105). In this case, the acceleration process in step 104 is executed again, and the mechanical angular velocity command value ωm is calculated according to the formula (4). * The loop process consisting of steps 104 and 105 is executed with a control perimeter T.
[0161] Mechanical angular velocity command value ωm * is the target mechanical angular velocity ωm ** If it reaches this value, it is determined that the acceleration operation is completed (Yes in step 105), and the advance angle processing is stopped (step 106). For example, when the acceleration operation is completed, the speed command unit 70 stops outputting the acceleration operation signal. In response to the stop of the acceleration operation signal, the advance angle processing unit 71 stops the advance angle processing for advancing the phase of the rotor 27. In this embodiment, the processing for adjusting the axis error Δθ, which is executed as the advance angle processing, is stopped. Therefore, after the acceleration operation is completed, motor control is performed using the axis error Δθ outputted from the axis error calculation processing unit 38 as it is, rather than the adjusted axis error Δθ'.
[0162] In this way, the advance angle processor 71 continues the advance angle processing until the acceleration operation is completed. When the acceleration operation is completed, the advance angle processing is stopped. Therefore, during the acceleration operation, the divergence of the axis error Δθ caused by the phase delay of the rotor 27 is suppressed, and after the acceleration operation is completed, it is possible to quickly return to normal operation. This makes it possible to perform stable operation after the acceleration operation is completed.
[0163] After the advance angle processing is stopped, the processing shown in FIG. 10 ends and steady operation is resumed.
[0164] [Advance angle processing due to axis error] Fig. 11 is a schematic graph showing an example of advance angle processing due to an axis error. * The dotted line in the upper graph indicates the mechanical angular velocity target value ωm ** The horizontal axis of each graph is time t.
[0165] In the period before time t0, steady operation is performed. During this period, the mechanical angular velocity target value ωm ** is constant, and the mechanical angular velocity command value is ωm * The value of ωm ** During steady-state operation, the motor voltage V is controlled so that the axis error Δθ converges to zero, so the value of the axis error Δθ is close to zero.
[0166] At time t0, the mechanical angular velocity target value ωm ** At this timing, the speed command unit 70 outputs an acceleration operation signal to the advance processing unit 71, and advance processing for advancing the phase of the rotor 27 is started. Note that, at time t0, the advance processing is started, but the mechanical angular velocity command value ωm * The acceleration operation to increase the speed has not yet started.
[0167] As described with reference to FIG. 1, in the advance angle processing, the advance angle processing unit 71 calculates the adjustment angle Δθ from the value of the axis error Δθ. *Therefore, the lead angle processor 71 (subtractor 73) subtracts Δθ from the axis error Δθ. * The value obtained by subtracting Δθ′ is output to the axis error adjuster 72 as the adjusted axis error Δθ′.
[0168] For example, during steady operation, the axis error control unit 39 performs PI control or I control using the axis error Δθ as an input, and adjusts the motor voltage V so that the axis error Δθ converges to zero. When advance angle processing has been performed, the same processing is performed using the adjusted axis error Δθ' instead of the axis error Δθ. That is, the axis error adjustment unit 72 adjusts Δθ' (=Δθ - Δθ * The motor voltage V is adjusted so that Δθ converges to 0. * This corresponds to adjusting the motor voltage V so that it converges to the adjustment angle Δθ. Therefore, in the period after the start of the advance angle process and before the start of the acceleration operation, the axis error Δθ is * will be close to
[0169] Adjustment angle Δθ * is an angle corresponding to the advance angle amount θa of the advance angle processing. As described with reference to FIG. 9B etc., if the value obtained by subtracting the phase of the d-axis from the phase of the γ-axis is the axis error Δθ, advancing the rotor 27 (d-axis) by the advance angle amount θa corresponds to converging the axis error Δθ to -θa. Therefore, the adjustment angle Δθ * =-θa, the axis error Δθ converges to -θa, and it becomes possible to advance the rotor 27 by the advance amount θa.
[0170] In Fig. 11, the axis error Δθ becomes close to -θa as a result of the advance angle processing being performed at time t0. In this state, the phase of the rotor 27 (phase of the d-axis) is advanced by the advance angle amount θa with respect to the γ-axis, which is the control axis. Note that in the graph, the axis error Δθ converges to -θa as soon as the advance angle processing is started, but in reality, it may take some time for the axis error Δθ to settle. For this reason, a waiting period or the like may be provided until the value of the axis error Δθ stabilizes.
[0171] After the advance angle process is performed, the acceleration operation starts at time t1. In this case, at each control timing, the mechanical angular velocity command value ωm * When acceleration starts, the phase of the rotor 27 cannot catch up with the rotating magnetic field and begins to lag behind. As a result, the value of the axis error Δθ increases to the positive side.
[0172] For example, because the axis error Δθ is a negative value at time t1, when the phase of the rotor 27 begins to lag, the axis error Δθ first approaches 0. It is possible that the axis error Δθ will then exceed 0 and become larger on the positive side, but in any case, it is possible to maintain the magnitude of the axis error Δθ at a value close to zero during acceleration operation. This makes it possible to properly control the motor even during acceleration operation, making it possible to prevent situations such as the motor 26 losing synchronism.
[0173] Here, a method for setting the lead angle amount θa for the lead angle processing will be described. The lead angle amount θa is set, for example, by a test in which the motor 26 is actually operated. In this embodiment, the lead angle processing unit 71 executes the lead angle processing with the lead angle amount θa according to a predetermined acceleration α. That is, the lead angle amount θa is set according to the acceleration α. For example, the higher the acceleration α, the greater the lag in the phase of the rotor 27 is likely to be. For this reason, by setting the lead angle amount θa to be larger as the acceleration α increases, the lag in the phase of the rotor 27 can be reliably offset.
[0174] A specific method for setting the amount of lead angle θa is to actually experimentally measure the phase delay of the rotor 27 that occurs during acceleration operation at the acceleration rate α, and set the amount of lead angle θa from the measurement results. For example, the amount of lead angle θa is temporarily set to θa=50°, and the motor 26 is accelerated at the acceleration rate α. In this case, the axis error Δθ before the acceleration operation is about -50°.
[0175] Assume that as a result of accelerating operation, the phase of the rotor 27 lags, and the axis error Δθ finally becomes about -20°. In this case, the amount of lag in the phase of the rotor 27 at the acceleration α is considered to be about 30°. Therefore, the advance angle θa is set to 30° so as to offset the lag. When multiple accelerations α are used, the advance angle θa can be set for each acceleration α using the method described above.
[0176] In this way, by using the advance angle θa according to the acceleration α, it is possible to appropriately cancel the phase difference between the phase of the rotating magnetic field generated by the accelerating operation and the phase of the rotor 27. As a result, stable acceleration of the motor 26 is possible.
[0177] Also, there are cases where the motor 26 can be controlled efficiently by slightly advancing the phase of the current flowing through the motor 26 with respect to the phase of the induced voltage. This is due to the reluctance torque due to the salient pole ratio of the motor 26, changes in the minimum loss phase due to iron loss, etc., and it is known that the optimal advance angle (advance angle amount θb) at which the power is minimum changes depending on the magnitude of the current. In other words, there is an optimal advance angle amount θb according to the rotation speed of the motor 26.
[0178] In the explanation so far, the advance angle θa before the acceleration operation is set to an extent that the delay of the rotor 27 during the acceleration operation does not cause step-out. Alternatively, the advance angle θa before the acceleration operation may be set so that the phase when the rotor 27 is delayed during the acceleration operation becomes the optimal advance angle θb of the motor 26.
[0179] In this case, the rotation speed of the motor 26 (mechanical angular velocity command value ωm * ) the amount of lead angle θa is set according to the amount of lead angle θb. This makes it possible to drive the motor 26 with the optimal amount of lead angle θb even during acceleration operation, and makes it possible to accelerate the motor 26 more efficiently. There are no other limitations on the method of setting the amount of lead angle θa, and for example, it is possible to appropriately set the amount of lead angle θa within a range in which the motor 26 can be appropriately controlled.
[0180] In FIG. 11, at time t2, the mechanical angular velocity command value ωm *is the target mechanical angular velocity ωm ** Therefore, after time t2, the mechanical angular velocity command value ωm * Steady operation resumes, where the angle remains constant. At this point, the advance angle process continues, so the motor voltage V is adjusted to advance the rotor 27 by the advance angle θa. As a result, as shown in FIG. 11, the axis error Δθ starts to decrease to converge to -θa.
[0181] During steady operation, it is unlikely that the phase of rotor 27 will be delayed unilaterally, and there is no need to advance the phase of rotor 27. For this reason, when acceleration operation is completed, advance angle processing unit 71 returns the phase of rotor 27 that was advanced by advance angle processing to its original state. This makes it possible to perform stable operation after the completion of acceleration operation.
[0182] For example, in Fig. 11, the advance angle processing is stopped at time t3. Specifically, the output from the axis error adjustment unit 72 of the advance angle processing unit 71 is the adjustment angle Δθ * to 0. As a result, the axis error Δθ calculated by the axis error calculation processing unit 38 is output as is from the subtractor 73. Furthermore, the axis error adjustment unit 72 adjusts the motor voltage V so that the axis error Δθ converges to 0. As a result, from time t3 onwards, as in the period up to time t0, steady operation is performed without advancing the phase of the rotor 27, making it possible to stably control the motor 26.
[0183] Fig. 12 shows the d-axis voltage command value Vd * , q-axis voltage command value Vq * , and the axis error Δθ. The horizontal axis of the graph is time, and the vertical axis is the d-axis voltage command value Vd * , q-axis voltage command value Vq * , and the actual value of the axis error Δθ. * In order to distinguish it from the graph of FIG. 8, a gray line is superimposed on the graph of the axis error Δθ. The range of the axis error Δθ is the same as that in FIG. 8. Here, the axis error Δθ is adjusted to advance the phase of the rotor 27 in advance, and the acceleration α=π / 3 [rad / s2 The period of acceleration operation is from time t1 to time t2.
[0184] In FIG. 12, advance angle processing is started at time t0 (not shown) prior to time t1. Therefore, during the period prior to time t1, the phase of the rotor 27 is advanced (the axis error Δθ converges to a negative value (−θa) corresponding to the advance angle amount θa). During this period, even though advance angle processing has been performed, no acceleration operation is performed, so the d-axis voltage command value Vd * and q-axis voltage command value Vq * is approximately constant.
[0185] At time t1, acceleration operation is started, and the rotation speed of the motor 26 (mechanical angular velocity command value ωm * In this case, the q-axis voltage command value Vq * increases to the positive side, and the d-axis voltage command value Vd * increased (decreased) to the negative side. Also, the axis error Δθ, which had converged to −θa until time t1, increased to the positive side at the same time as the start of acceleration operation. This shows that the phase of the rotor 27 is lagging.
[0186] The axis error Δθ changes significantly immediately after the start of acceleration operation. For example, at the beginning of acceleration operation, due to the RL characteristics of the coil provided in the motor 26, the increase in current is small relative to the increase in voltage, and torque is insufficient. For this reason, it is considered that the rate at which the phase of the rotor 27 lags (the gradient of Δθ) becomes large at the beginning of acceleration operation. Also, as time passes from the start of acceleration operation, the current also increases, so it is considered that the rate at which the phase of the rotor 27 lags (the gradient of Δθ) becomes small. In this way, the phase of the rotor 27 lags during acceleration operation, but by performing advance angle processing in advance, it is possible to end acceleration without losing synchronism, unlike the comparative example shown in FIG. 8.
[0187] When the acceleration operation is completed at time t2, the steady operation is resumed. Note that in FIG. 12, the advance angle processing is not stopped after time t2. Therefore, the axis error Δθ increases to the negative side as it tries to converge to -θa. As a result, the q-axis voltage command value Vq *and d-axis voltage command value Vd * In actual control, the advance angle processing is stopped when the acceleration operation is completed, so such a change does not occur and it is possible to smoothly transition from the state at time t2 to steady operation.
[0188] As described above, in the motor control device 30 according to this embodiment, the rotor 27 of the motor 26 is controlled to the mechanical angular velocity command value ωm * The control command value (U-phase voltage command value Vu * , V phase voltage command value Vv * , W-phase voltage command value Vw * ) is calculated to control the rotating magnetic field generated in the motor 26. In addition, before starting an acceleration operation to increase the rotation speed of the motor 26, an advance process is performed to advance the phase of the rotor 27 as a suppression process to suppress the phase difference between the rotating magnetic field and the rotor 27 during the acceleration operation to a predetermined phase difference or less. This makes it possible to reliably increase the rotation speed of the motor 26 without losing synchronism even if the control period T is lengthened.
[0189] By performing the advance angle processing before starting the acceleration operation, the delay in the phase of the rotor 27 caused by the acceleration operation is offset by the advance angle amount θa of the advance angle processing, making it possible to prevent the divergence of the axis error Δθ. In this embodiment, the control period T is set to a relatively long period based on the electrical angle period Te. When the control period T is long like this, the axis error Δθ is likely to increase during the acceleration operation, but by advancing the phase of the rotor 27, it becomes possible to reliably accelerate the motor 26 without losing synchronism.
[0190] Furthermore, when the moment of inertia of the motor 26 to be controlled is large or when the speed control of the motor 26 is not performed, the axis error Δθ is likely to increase during acceleration operation. Even in such cases, it is possible to appropriately accelerate the motor 26 by advancing the phase of the rotor 27. This allows stable acceleration operation even in a system with reduced computational performance and amount of computation. As a result, it is possible to reduce the cost and power consumption of the motor control device 30 that can appropriately accelerate, for example, a fan motor at a predetermined acceleration α.
[0191] In this embodiment, the process of adjusting the axis error Δθ is performed as the advance process for advancing the phase of the rotor 27. In this way, by changing the value of the axis error Δθ, it becomes possible to directly advance the phase of the rotor 27. Therefore, it becomes possible to stably accelerate the motor 26 regardless of, for example, the load on the motor 26.
[0192] <Second embodiment> A motor control device according to a second embodiment of the present invention will be described. In the following description, the description of the same configurations and operations as those of the motor control device 30 described in the above embodiment will be omitted or simplified.
[0193] Fig. 13 is a block diagram showing an example of the configuration of a motor control device according to a second embodiment. A motor control device 230 shown in Fig. 13 adjusts a motor voltage V as lead-angle processing for advancing the phase of a rotor 27. The motor control device 230 is configured such that a lead-angle processing unit 81 that adjusts the motor voltage V is provided instead of the lead-angle processing unit 71 that adjusts the axis error Δθ in the motor control device 30 described with reference to Fig. 2.
[0194] In the motor control device 230, an axis error control section 39 is provided after the axis error calculation processing section 38. Therefore, the axis error control section 39 determines a motor voltage V that causes the axis error Δθ calculated by the axis error calculation processing section 38 to converge to 0, regardless of whether acceleration is occurring, and outputs the motor voltage V to the lead angle processing section 81.
[0195] Similar to the above embodiment, the advance angle processing unit 81 executes advance angle processing for advancing the phase of the rotor before the start of acceleration operation that increases the rotation speed of the motor. In this embodiment, the advance angle processing unit 81 corresponds to a suppression processing unit.
[0196] 2, in the rotation control unit 35, the three-phase-two-phase converter 36, the feedback value calculation unit 37, and the axis error calculation processing unit 38 calculate the axis error Δθ of the motor 26 based on the detected value of the motor current. Furthermore, the axis error control unit 39 adjusts the motor voltage V so that the axis error Δθ converges to zero. Then, the voltage command generation unit 42 calculates a control command value based on the adjusted motor voltage V.
[0197] In this embodiment, lead-angle processing unit 81 advances the phase of the rotor by adjusting motor voltage V used to calculate a control command value. As shown in FIG. 13, lead-angle processing unit 81 has a motor voltage adjusting unit 82 and an adder 83.
[0198] The motor voltage adjustment unit 82 receives an acceleration operation signal from the speed command unit 70, and when the acceleration operation signal is input, outputs an adjustment voltage V * is output to the adder 83. Here, the adjustment voltage V * is a voltage corresponding to the advance angle amount θa by which the phase of the rotor 27 is advanced in the advance angle processing.
[0199] The adder 83 receives the motor voltage V from the axis error control unit 39 and outputs the adjustment voltage V * from the motor voltage adjustment unit 82, and adjusts the motor voltage V * The sum is added to the motor voltage V' (= V + V * ) to the voltage command generating unit 42.
[0200] In this way, the lead-angle processing unit 81 calculates the control command value by adding the adjustment voltage V corresponding to the lead-angle amount θa of the lead-angle processing to the value of the motor voltage V used to calculate the control command value. * During the period when the acceleration operation signal is input from the speed command unit 70, the motor voltage adjustment unit 82 adds the adjustment voltage V *During this period, the adder 83 outputs the motor voltage V'.
[0201] In addition, when the acceleration operation signal is not input (for example, when a steady operation or deceleration operation is performed), the motor voltage adjustment unit 82 outputs the adjustment voltage V * In this case, the adder 83 outputs the motor voltage V output from the axis error control unit 39 as is to the voltage command generating unit 42. In this way, when the acceleration operation signal is not input, the advance angle process for adjusting the motor voltage V is not executed.
[0202] Fig. 14 is a schematic graph showing an example of lead-angle processing based on the motor voltage V. The processing shown in Fig. 14 is realized by performing lead-angle processing to adjust the motor voltage V instead of the lead-angle processing to adjust the axis error Δθ in the flowchart described with reference to Fig. 10, for example. Here, the changes over time of the motor voltages V and V' are shown in a single graph.
[0203] Steady operation is performed in the period before time t0. During this period, the motor voltage V calculated by the axis error control unit 39 so that the axis error Δθ converges to 0 is output as is to the voltage command generation unit 42 via the lead-angle processing unit 81. Therefore, the voltage command generation unit 42 calculates a control command value based on the motor voltage V.
[0204] At time t0, the mechanical angular velocity target value ωm ** At this timing, the speed command unit 70 outputs an acceleration operation signal to the advance angle processing unit 81, and advance angle processing for advancing the phase of the rotor 27 is started. Specifically, as the advance angle processing, the motor voltage V is multiplied by the adjustment voltage V * Therefore, the motor voltage V'=V+V is output from the advance angle processor 81 (adder 83). * is output to the voltage command generating unit 42. The timing t0 at which this advance angle processing is performed is before the timing t1 at which the acceleration operation starts (t0≦t1).
[0205] Adjustment voltage V *is a positive voltage (V * >0). Therefore, the motor voltage V' is the sum of the original motor voltage V and the regulated voltage V * In this way, the advance angle processing performed by advance angle processor 81 can be said to be processing for increasing motor voltage V in steps.
[0206] The motor voltage V' is input to a q-axis voltage calculator 51 in the voltage command generator 42 and is used to calculate the q-axis voltage Vq before non-interference. Specifically, in the equation (3) used in the voltage command update process in FIG. 5, the q-axis voltage Vq is calculated using the motor voltage V' instead of the motor voltage V. Therefore, by using the motor voltage V', the q-axis voltage Vq increases, and as a result, the q-axis voltage command value Vq obtained by non-interference of the q-axis voltage Vq is calculated. * will increase.
[0207] q-axis voltage command value Vq * When the q-axis command voltage Vq increases, the torque of the motor 26 increases. As a result, it is possible to advance the phase of the rotor 27. In this way, due to the characteristics of the control that adjusts the motor voltage V, the phase of the rotor 27 can be advanced by increasing the motor voltage V. For this reason, immediately before acceleration, the motor voltage V (q-axis command voltage Vq * ), the phase of the rotor 27 advances before the start of acceleration operation, making it possible to accelerate the motor 26 without losing synchronism.
[0208] Adjustment voltage V * is set so that a desired advance angle θa can be achieved at a given acceleration α. For example, the adjustment voltage V * By adding to the motor voltage V, the phase of the rotor 27 advances, and the axis error Δθ increases to the negative side and converges to a constant negative value. The convergence value at this time is the adjustment voltage V * This results in a lead angle θa corresponding to the adjustment voltage V * It is possible to check in advance and store it in the motor control device 230. In addition, the regulated voltage V * The method of setting is not limited.
[0209] After the advance angle process is performed, acceleration operation starts at time t1, and the mechanical angular velocity command value ωm * is set to rise at an angular velocity α. The mechanical angular velocity command value ωm * As the motor voltage V' (q-axis voltage command value Vq * After that, at time t2, the mechanical angular velocity command value ωm * is the target mechanical angular velocity ωm ** and the acceleration operation is completed.
[0210] As in the above embodiment, when the acceleration operation is completed, the advance angle processing unit 81 returns the phase of the rotor 27 advanced by the advance angle processing to the original phase. Here, at time t3, the output from the motor voltage adjustment unit 82 of the advance angle processing unit 81 is adjusted to the adjusted voltage V * to 0. As a result, motor voltage V calculated by axis error control unit 39 is output as is from adder 83. As a result, from time t3 onwards, steady operation is performed without advancing the phase of rotor 27, as in the period up to time t0.
[0211] Fig. 15 shows the d-axis voltage command value Vd * , q-axis voltage command value Vq * , and the axis error Δθ. The range of the axis error Δθ is the same as in FIG. 8. Here, the motor voltage V is adjusted to advance the phase of the rotor 27 in advance, and the acceleration α=π / 3 [rad / s 2 The period of acceleration operation is from time t1 to time t2.
[0212] In FIG. 15, at time t0, which is substantially the same as the start time t1 of the acceleration operation, the motor voltage V is adjusted to the regulated voltage V * The advance angle process is started to add Vq * In this way, the q-axis voltage command value Vq * may be increased in steps.
[0213] At time t1, acceleration operation is started, and the rotation speed of the motor 26 (mechanical angular velocity command value ωm * In this case, the d-axis voltage command value Vd * was almost constant, but the q-axis voltage command value Vq * increased to the positive side. Also, during acceleration, the axis error Δθ was seen to oscillate around 0. Thus, although the amplitude of the axis error Δθ increases during acceleration compared to steady operation, the axis error Δθ does not diverge in the positive direction, and motor control can be continued appropriately.
[0214] When the acceleration operation is completed at time t2, steady operation is resumed. Note that in Fig. 15, the lead angle processing is not stopped after time t2. In actual control, when the acceleration operation is completed, the lead angle processing is stopped, and motor control is resumed using the motor voltage V calculated by the axis error control unit 39 so that the axis error Δθ converges to 0. This reduces the amplitude of the axis error Δθ, making it possible to transition to stable steady operation.
[0215] As described above, in the advance angle processing unit 81 according to this embodiment, the process of increasing the motor voltage V in a stepwise manner is performed as the advance angle process for advancing the phase of the rotor 27. In this way, by changing the value of the motor voltage V, it is possible to instantaneously advance the phase of the rotor 27. This makes it possible, for example, to quickly start accelerating the operation of the motor 26.
[0216] In order to advance the phase of the rotor 27, the q-axis voltage command value Vq * In this case, the q-axis voltage Vq before decoupling output from the q-axis voltage calculator 51 may be increased as the advance angle process. * In either case, it is possible to instantly advance the phase of the rotor 27, thereby making it possible to realize a stable acceleration operation.
[0217] <Third embodiment> 16 is a block diagram showing an example of the configuration of a motor control device according to a third embodiment. In this embodiment, a process of changing the control period T of the motor control is performed as a suppression process for suppressing the phase difference between the phase of the rotating magnetic field and the phase of the rotor 27 during acceleration operation within a predetermined range.
[0218] 1, the motor control device 330 is configured by providing a cycle control unit 91 instead of the lead-angle processing unit 71. Note that in the motor control device 330, Fig. 16 illustrates only the drive circuit 31 connected to the motor 26 and the calculation circuit 32 that calculates the control command value, but does not illustrate the current detection unit 33 and the DC detection circuit 34. As shown in Fig. 16, the calculation circuit 32 has a rotation control unit 35, a speed command unit 70, and a cycle control unit 91.
[0219] The rotation control unit 35 receives the mechanical angular velocity command value ωm * The control command value (U-phase voltage command value Vu * , V phase voltage command value Vv * , W-phase voltage command value Vw * ) is calculated. Note that in this embodiment, advance angle processing using the axis error Δθ or the motor voltage V is not performed. For this reason, the processing performed by the rotation control unit 35 is basically processing to adjust the motor voltage V so that the axis error Δθ converges to 0, and to calculate a control command value from the motor voltage V.
[0220] The speed command unit 70 determines the target mechanical angular velocity value ωm ** The mechanical angular velocity command value ωm according to * and outputs it to the rotation control unit 35. The speed command unit 70 also calculates the mechanical angular velocity target value ωm ** When the load increases and it becomes necessary to perform an acceleration operation, an acceleration operation signal is generated and output to the cycle control unit 91 before the actual acceleration operation is started.
[0221] The cycle control unit 91 shortens the control cycle T before the start of acceleration operation. As described in the above embodiment, the control cycle T is a cycle for performing feedback control based on the detection value of the motor current. This is because the d-axis voltage command value Vd* and q-axis voltage command value Vq * Therefore, shortening the control period T is the cycle for updating the d-axis voltage command value Vd * and q-axis voltage command value Vq * This means updating the database more frequently.
[0222] For example, when accelerating at a constant acceleration α, the control period T is shortened to reduce the rotation speed of the motor 26 (mechanical angular velocity command value ωm * and electrical angular velocity command value ωe * ) per control is reduced. Also, the d-axis voltage command value Vd * and q-axis voltage command value Vq * Since the frequency of updating the control period T increases, the control accuracy of the motor 26 is improved. As a result, the rotor 27 is less likely to lag behind the rotating magnetic field even when acceleration operation is started, and it is possible to suppress the lag of the phase of the rotor 27 relative to the phase of the rotating magnetic field. In this manner, the process of shortening the control period T is a suppression process that suppresses the phase difference between the phase of the rotating magnetic field and the phase of the rotor 27 during acceleration operation within a predetermined range. In this embodiment, the period control unit 91 corresponds to a suppression processing unit.
[0223] The control period T is set to the first period T1 when acceleration operation is not performed. In this case, the period control unit 91 performs a process of changing the control period T to a second period T2 shorter than the first period T1 as a suppression process before acceleration operation is started. Specifically, the period control unit 91 receives an acceleration operation signal from the speed command unit 70, and changes the control period T from T1 to T2 (T1>T2) when the acceleration operation signal is input. The change in the control period T is output to the rotation control unit 35. As a result, feedback control at the relatively short second period T2 is started before acceleration operation is started.
[0224] Furthermore, when the acceleration operation is completed, the cycle control unit 91 returns the control cycle T to the first cycle T1. For example, when the acceleration operation is completed, the acceleration operation signal is no longer output from the speed command unit 70. In this case, the cycle control unit 91 changes the control cycle T from the second cycle T2 to the first cycle T1. As a result, when steady operation or deceleration operation is performed, motor control is performed with the relatively long first cycle T1.
[0225] Fig. 17 is a schematic graph showing an example of acceleration operation accompanied by control of the control period. The process shown in Fig. 17 is realized by performing suppression processing to shorten the control period T instead of advance processing to adjust the axis error Δθ in the flowchart described with reference to Fig. 10, for example.
[0226] In the period before time t0, steady operation is performed. In this period, the control period T is set to a first period T1. Here, the first period T1 is n times or 1 / n times the electrical angle period Te of the motor 26, where n is a natural number. In this way, the first period T1 is a relatively long period based on the electrical angle period Te. As a result, during steady operation, the frequency of feedback control decreases, and the amount of calculation required for performing feedback control can be reduced.
[0227] At time t0, the mechanical angular velocity target value ωm ** At this timing, the speed command unit 70 outputs an acceleration operation signal to the cycle control unit 91. The cycle control unit 91 sets the control cycle T to a second cycle T2 that is shorter than the first cycle T1. As a result, the rotation control unit 35 increases the d-axis voltage command value Vd * and q-axis voltage command value Vq * will be updated more frequently.
[0228] As described with reference to FIG. 3 etc., the motor 26 is controlled by a PWM signal corresponding to a control command value calculated by the rotation control unit 35. The second period T2 is m times the carrier period Tc of the PWM signal, where m is a natural number. The carrier period Tc is sufficiently shorter than the electrical angle period Te, for example, about one-hundredth of the length. Therefore, the second period T2 is sufficiently shorter than the first period T1 set based on the electrical angle period Te.
[0229] The parameter m that defines the second period T2 is set within a range that allows motor control to continue appropriately during acceleration operation. For example, from the viewpoint of accurately correcting the delay of the rotor 27 during acceleration operation, it is better for m to be small. For example, if m=5, it is basically possible to correct the delay of the rotor 27 with sufficient accuracy. On the other hand, from the viewpoint of suppressing the amount of calculation during acceleration operation, it is better for m to be large. When m is made large, the value of m is appropriately set according to, for example, the operating conditions of the motor 26 and the calculation capacity of the motor control device 330. The method of setting the second period T2 is not limited, and it may be appropriately set within a range where T1>T2.
[0230] After the control period T is set to the second period T2, the acceleration operation is started at time t1. In the acceleration operation, the mechanical angular velocity command value ωm * is updated in the second period T2 so that it rises at the angular velocity α. Therefore, the mechanical angular velocity command value ωm * The increase in the mechanical angular velocity command value ωm * Therefore, it is possible to avoid a situation in which the number of rotations of the rotating magnetic field increases suddenly and the rotor 27 cannot catch up with the rotating magnetic field.
[0231] Furthermore, during acceleration operation, because the control period T is short, it is possible to accurately calculate a control command value according to the state of the motor 26, improving the control accuracy of the motor 26. This makes it possible to sufficiently suppress the phase difference between the phase of the rotating magnetic field and the phase of the rotor, enabling the motor 26 to be accelerated stably.
[0232] At time t2, the mechanical angular velocity command value ωm * is the target mechanical angular velocity ωm ** When the acceleration operation reaches the first period T1, the acceleration operation is completed. After the acceleration operation is completed, steady operation is performed, so there is no need to shorten the control period T. Therefore, when the acceleration operation is completed, the control period T is returned to the first period T1. This makes it possible to reduce the processing load for controlling the motor 26 again after the acceleration operation is completed.
[0233] In the motor control device 330, the control period T is set to the first period T1 even during deceleration operation in which the rotation speed of the motor 26 is reduced. In this way, when acceleration operation is not being performed (when steady operation or deceleration operation is being performed), the control period T is set to a relatively long period. This makes it possible to reduce the processing load over the entire motor control period, and makes it possible to conserve power in the motor control device 330.
[0234] Furthermore, in the method of shortening the control period T during acceleration operation, the amount of calculation temporarily increases during acceleration operation. On the other hand, it is possible to sufficiently reduce the amount of calculation during steady operation or deceleration operation. This makes it possible to adopt inexpensive products with low processing power compared to, for example, CPUs and RAMs (Random Access Memory), which are required to perform high-speed calculations all the time. It also makes it possible to simplify the cooling mechanism of the CPU. This makes it possible to reduce device costs compared to, for example, a case where motor control is performed all the time with a control period close to the carrier period Tc.
[0235] Of the characteristic features of the present invention described above, at least two of the characteristic features may be combined. In other words, the various characteristic features described in each embodiment may be arbitrarily combined without distinction between the embodiments. In addition, the various effects described above are merely examples and are not limiting, and other effects may be exhibited. [Explanation of symbols]
[0236] 26…Motor 27…Rotor 30, 230, 330...Motor control device 35...Rotation control section 70...Speed command section 71, 81...Advance angle processing section 91...Cycle control section 100…Air conditioner
Claims
1. a rotation speed command unit that outputs a rotation speed command value of the motor; a rotation control unit that calculates a control command value for the motor based on a detection value of a motor current flowing through the motor so that a rotor of the motor rotates at a rotation speed indicated by the rotation speed command value, and controls a rotating magnetic field generated in the motor; a suppression processing unit that executes a suppression process to suppress a phase difference between the phase of the rotating magnetic field and the phase of the rotor during the acceleration operation within a predetermined range before the start of an acceleration operation that increases the rotation speed of the motor; A motor control device comprising:
2. 2. The motor control device according to claim 1, The suppression processing unit continues the suppression process until the acceleration operation is completed. Motor control device.
3. 2. The motor control device according to claim 1, The motor is a fan motor that drives an impeller mounted in an air conditioner. Motor control device.
4. 4. The motor control device according to claim 1, The suppression process is an advance process for advancing the phase of the rotor. Motor control device.
5. 5. The motor control device according to claim 4, The acceleration operation is an operation in which the motor is accelerated at a predetermined acceleration rate, The suppression processing unit executes the advance processing with an advance amount corresponding to the predetermined acceleration. Motor control device.
6. 6. The motor control device according to claim 5, The rotation control unit is Calculating an axis error of the motor based on the detected value of the motor current; Calculating the control command value based on the axis error; The suppression processing unit subtracts an angle corresponding to an amount of advance angle of the advance angle processing from a value of the axis error used for calculating the control command value as the advance angle processing. Motor control device.
7. 6. The motor control device according to claim 5, The rotation control unit is Calculating an axis error of the motor based on the detected value of the motor current; adjusting the motor voltage so that the axis error converges to zero; Calculating the control command value based on the adjusted motor voltage; The suppression processing unit adds a voltage corresponding to an amount of advance angle of the advance angle processing to a value of the adjusted motor voltage used for calculating the control command value as the advance angle processing. Motor control device.
8. 5. The motor control device according to claim 4, The rotation control unit is calculating a feedback value, which is a current value for feedback-controlling the motor, for each predetermined control period based on the detected value of the motor current; Calculating the control command value based on the feedback value; The predetermined control period is n times or 1 / n times the electrical angle period of the motor, where n is a natural number. Motor control device.
9. 5. The motor control device according to claim 4, The suppression processing unit returns the phase of the rotor advanced by the advance processing to the original phase when the acceleration operation is completed. Motor control device.
10. 4. The motor control device according to claim 1, The rotation control unit is calculating a feedback value, which is a current value for feedback-controlling the motor, for each predetermined control period based on the detected value of the motor current; Calculating the control command value based on the feedback value; the predetermined control period is set to a first period when the acceleration operation is not being performed, The suppression process is a process of changing the predetermined control period to a second period that is shorter than the first period. Motor control device.
11. The motor control device according to claim 10, the motor is controlled by a PWM signal corresponding to the control command value; the first period is n times or 1 / n times the electrical angle period of the motor, where n is a natural number; The second period is m times the carrier period of the PWM signal, where m is a natural number. Motor control device.
12. The motor control device according to claim 10, The suppression processing unit returns the control period to the first period when the acceleration operation is completed. Motor control device.
13. Outputs the motor speed command value, calculating a control command value for the motor based on a detection value of a motor current flowing through the motor so that a rotor of the motor rotates at a rotation speed indicated by the rotation speed command value, and controlling a rotating magnetic field generated in the motor; Before starting an acceleration operation to increase the rotation speed of the motor, a suppression process is executed to suppress the phase difference between the phase of the rotating magnetic field and the phase of the rotor during the acceleration operation within a predetermined range. Motor control methods.
Citation Information
Patent Citations
Motor control device
JP2019080455A