Motor Control Device
The motor control device addresses the challenge of inaccurate locked state detection by integrating speed command values and using synchronous and position sensorless control modes, enhancing detection accuracy and stability.
Patent Information
- Application Number
- JP2023059374
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-03-31
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2043-03-31
AI Technical Summary
Existing motor control devices face challenges in accurately detecting a locked state due to variations in motor induced voltage constants and inverter output voltage errors, leading to incorrect detection of motor lock states.
A motor control device that integrates speed command values to synchronize rotational phases, uses synchronous and position sensorless control modes, and includes a voltage command generator and determiner to accurately detect locked states by analyzing voltage command values.
The device effectively detects locked states with high accuracy, reducing switching shocks and ensuring stable motor operation by correcting axis errors and integrating speed command values.
Smart Images

Figure 0007616263000045 
Figure 0007616263000046 
Figure 0007616263000047
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a motor control device. [Background technology]
[0002] Position sensorless control, which estimates the rotor position of a motor, is known as one of the methods of controlling a PMSM (Permanent Magnet Synchronous Motor). In position sensorless control, the rotor position of the motor is estimated (hereinafter sometimes referred to as "position estimation") using the induced voltage (hereinafter sometimes referred to as "motor induced voltage") that occurs as the motor rotates. In position sensorless control, the error in position estimation becomes large when the motor is stopped or when the motor is rotating at an extremely low speed where the induced voltage is small.
[0003] Since the motor induced voltage is small when starting up the motor, a method is known in which, when performing position sensorless control, a synchronous operation is performed in advance to forcibly accelerate the motor to a predetermined rotation speed, and then the control is switched to position sensorless control. A motor control device that controls a motor using this method switches between an operation mode in which synchronous operation is performed (hereinafter sometimes referred to as a "synchronous operation mode") and an operation mode in which position sensorless control is performed (hereinafter sometimes referred to as a "position sensorless control mode"). When the motor control device switches the operation mode, if the axis error between the control system coordinate axis and the rotor coordinate axis is large, a "switching shock" occurs in which vibration occurs or the rotation speed changes immediately after switching. Therefore, a technology is known in which the phase of the current vector (hereinafter sometimes referred to as a "current phase") is adjusted so that the axis error is close to zero in the synchronous operation mode, and then the operation mode is switched from the synchronous operation mode to the position sensorless control mode.
[0004] There is also known a technique for detecting whether a motor is in a state where it cannot rotate (hereinafter, sometimes referred to as a "locked state") by using a motor induced voltage. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2010-029016 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, when detecting the occurrence of a locked state using the motor induced voltage, the locked state may not be detected correctly due to the influence of variations in the motor induced voltage constant (hereinafter sometimes referred to as the "induced voltage constant") and errors in the inverter output voltage.
[0007] Therefore, the present disclosure proposes a technique that can correctly detect the locked state of a motor. [Means for solving the problem]
[0008] The motor control device disclosed herein controls a motor so that the rotational speed of the motor coincides with a speed command value, and has a synchronous operation mode in which the motor is synchronized with a rotational phase obtained by integrating the speed command value, and a position sensorless control mode in which the motor is controlled so that a speed estimated value obtained by feedback control of an axial error between a control system coordinate axis and a rotor coordinate axis coincides with the speed command value. The motor control device disclosed herein also has a synchronous operation current command value generator, a voltage command value generator, and a determiner. The synchronous operation current command value generator generates a current command value in the synchronous operation mode. The voltage command value generator generates a voltage command value so that a current flowing through the motor coincides with the current command value. The determiner determines whether the motor is locked or not based on the voltage command value. Effect of the Invention
[0009] According to the present disclosure, the locked state of the motor can be detected correctly. [Brief description of the drawings]
[0010] [Figure 1]FIG. 1 is a diagram illustrating a configuration example of a motor control device according to a first embodiment of the present disclosure. [Diagram 2] FIG. 2 is a diagram illustrating an example of operation of the motor control device according to the first embodiment of the present disclosure at a light load. [Diagram 3] FIG. 3 is a diagram illustrating an example of operation of the motor control device according to the first embodiment of the present disclosure during an overload. [Figure 4A] FIG. 4A is a diagram illustrating a first configuration example of a voltage calculator according to the first embodiment of the present disclosure. [Figure 4B] FIG. 4B is a diagram illustrating a second configuration example of the voltage calculator according to the first embodiment of the present disclosure. [Figure 4C] FIG. 4C is a diagram illustrating a third configuration example of the voltage calculator according to the first embodiment of the present disclosure. [Figure 4D] FIG. 4D is a diagram illustrating a fourth configuration example of the voltage calculator according to the first embodiment of the present disclosure. [Diagram 5] FIG. 5 is a diagram illustrating an example of a relationship between a current vector phase and a voltage amplitude according to the first embodiment of the present disclosure. [Figure 6] FIG. 6 is a diagram illustrating an example of the operation of the motor control device according to the first embodiment of the present disclosure. [Figure 7] FIG. 7 is a diagram illustrating a configuration example of a motor control device according to a second embodiment of the present disclosure. [Figure 8] FIG. 8 is a diagram illustrating a configuration example of a PLL controller according to a second embodiment of the present disclosure. [Figure 9] FIG. 9 is a diagram illustrating an example of the operation of the proportional output controller according to the second embodiment of the present disclosure. [Figure 10] FIG. 10 is a diagram illustrating a change in a current vector when the control mode is shifted to the position sensorless control mode according to the third embodiment of the present disclosure. [Figure 11] FIG. 11 is a diagram illustrating a configuration example of a sensorless current command value generator according to the third embodiment of the present disclosure. [Figure 12] FIG. 12 is a diagram illustrating an example of the operation of the weighting coefficient generator according to the third embodiment of the present disclosure. [Figure 13] FIG. 13 is a diagram illustrating an example of a current vector locus according to the third embodiment of the present disclosure. [Figure 14]FIG. 14 is a diagram illustrating a configuration example of a motor control device according to a fourth embodiment of the present disclosure at the time of a light load. [Figure 15] FIG. 15 is a diagram illustrating an example of operation of the motor control device according to the fourth embodiment of the present disclosure during an overload. [Figure 16] FIG. 16 is a diagram illustrating an example of the operation of the motor control device according to the fourth embodiment of the present disclosure. [Figure 17] FIG. 17 is a diagram illustrating a configuration example of a speed fluctuation correction value generator according to a fourth embodiment of the present disclosure. [Figure 18] FIG. 18 is a diagram illustrating a configuration example of a torque fluctuation correction value generator according to a fourth embodiment of the present disclosure. [Figure 19] FIG. 19 is a diagram illustrating a configuration example of a motor control device according to a fifth embodiment of the present disclosure. [Figure 20] FIG. 20 is a diagram illustrating a configuration example of a current tracking error correction value generator according to a fifth embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, examples of the present disclosure will be described with reference to the drawings. In the following examples, the same components are denoted by the same reference numerals, and duplicated descriptions may be omitted.
[0012] [Example 1] <Motor control device configuration> FIG. 1 is a diagram illustrating a configuration example of a motor control device according to a first embodiment of the present disclosure. In FIG. 1, a motor control device 100a includes subtractors 11, 18, and 19, a speed controller 12, a current controller 20, adders 21 and 22, a dq / uvw converter 23, a PWM (Pulse Width Modulation) processor 24, and an IPM (Intelligent Power Module) 25. The IPM 25 is connected to a motor M. An example of the motor M is a PMSM such as an IPMSM (Interior Permanent Magnet Synchronous Motor) or an SPMSM (Surface Permanent Magnet Synchronous Motor). The technology of the present disclosure is applicable to motors with and without magnetic salience, regardless of the type of motor.
[0013] The motor control device 100a also has a current detector 28, a uvw / dq converter 29, an axis error calculator 30, a PLL (Phase Locked Loop) controller 31, a position estimator 32, and a decoupling controller .
[0014] The motor control device 100a also has a current command value generator 10, switches SW1, SW2, and SW3, an operation mode switcher 40, a voltage calculator 51, and a lock determinator 52. The current command value generator 10 has a synchronous operation current command value generator 13 and a sensorless current command value generator 14. Each of the switches SW1, SW2, and SW3 has an A contact and a B contact.
[0015] The operation modes of the motor control device 100a include a synchronous operation mode and a position sensorless control mode. The operation mode switch 40 switches the operation mode of the motor control device 100a between the synchronous operation mode and the position sensorless control mode. The operation mode switch 40 is controlled by a controller external to the motor control device 100a. When the operation mode is the synchronous operation mode, the operation mode switch 40 operates the synchronous operation current command value generator 13 in the current command value generator 10 while stopping the operation of the sensorless current command value generator 14, and connects the switches SW1, SW2, and SW3 to a contact B. When the operation mode is the position sensorless control mode, the operation mode switch 40 operates the sensorless current command value generator 14 in the current command value generator 10 while stopping the operation of the synchronous operation current command value generator 13, and connects the switches SW1, SW2, and SW3 to a contact A. The synchronous operation current command value generator 13 generates a current command value when the operation mode is in the synchronous operation mode. The sensorless current command value generator 14 generates a current command value when the operation mode is in the position sensorless control mode.
[0016] The axis error calculator 30 calculates an axis error Δθ, which is the difference between the dc-qc coordinate axes, which are the control system coordinate axes, and the dq coordinate axes, which are the rotor coordinate axes of the motor M, based on the d-axis current detection value id, the q-axis current detection value iq, the d-axis voltage command value Vd, and the q-axis voltage command value Vq. The axis error Δθ calculated by the axis error calculator 30 is input to the PLL controller 31 and the synchronous operation current command value generator 13.
[0017] The position estimator 32 generates a rotational phase θdq of the dc-qc coordinate axes by integrating the speed information input via the switch SW3. When the operation mode is in the synchronous operation mode, the switch SW3 is connected to the contact B, and therefore a speed command value ω * is input to the position estimator 32 as speed information. Therefore, in the synchronous operation mode, the speed command value ω *The motor M is synchronized with the rotational phase θdq generated based on this. On the other hand, when the operation mode is in the position sensorless control mode, the switch SW3 is connected to the contact A, and therefore the speed estimation value ω, which is an estimate of the electrical angular velocity output from the PLL controller 31, is input to the position estimator 32 as speed information. Therefore, in the position sensorless control mode, the rotational phase θdq is generated based on the speed estimation value ω obtained by feedback control of the axis error Δθ.
[0018] In this way, in the synchronous operation mode, the speed command value ω * On the other hand, in the position sensorless control mode, the speed estimate ω obtained by feedback control of the axis error Δθ between the control system coordinate axis and the rotor coordinate axis is synchronized with the speed command value ω * The motor M is controlled so that it coincides with
[0019] The current controller 20 calculates a d-axis current command value id * The current controller 20 calculates the d-axis voltage command value Vd_cc before decoupling by proportional-integral control of the d-axis current error id_dif, which is the error between the q-axis current detection value iq * and the q-axis current detection value iq, and calculates the q-axis voltage command value Vq_cc before decoupling by proportional-integral control of the q-axis current error iq_dif. For example, the current controller 20 calculates the d-axis voltage command value Vd_cc according to equation (1), and calculates the q-axis voltage command value Vq_cc according to equation (2). In equation (1), Kp_d is the d-axis proportional gain, and Ki_d is the d-axis integral gain, and in equation (2), Kp_q is the q-axis proportional gain, and Ki_q is the q-axis integral gain.
number
[0020] The decoupling controller 36 controls the speed command value ω * and the d-axis current command value id * and the q-axis current command value iq *The decoupling controller 36 calculates a d-axis decoupling voltage command value Vd_a for compensating for the d-axis voltage command value Vd_cc based on the speed command value ω * and the d-axis current command value id * and the q-axis current command value iq * and calculates a q-axis decoupling voltage command value Vq_a for compensating for the q-axis voltage command value Vq_cc based on the above. For example, the decoupling controller 36 calculates a d-axis decoupling voltage command value Vd_a according to equation (3), and calculates a q-axis decoupling voltage command value Vq_a according to equation (4). In equations (3) and (4), R is the winding resistance of the motor M, Ld is the d-axis inductance of the motor M, Lq is the q-axis inductance of the motor M, and Ψa is the armature flux linkage of the motor M.
number
[0021] Here, the current used to calculate the d-axis decoupling voltage command value Vd_a and the q-axis decoupling voltage command value Vq_a in the decoupling controller 36 is the d-axis current command value id * and q-axis current command value iq * By setting the current command value id to 1, the motor M can be controlled even if the current command value changes suddenly. * and q-axis current command value iq * Even in a situation where the load changes instantaneously, it is possible to achieve both stable and responsive control of the motor M.
[0022] The adder 21 calculates the final d-axis voltage command value Vd by adding the d-axis decoupling voltage command value Vd_a to the d-axis voltage command value Vd_cc according to equation (5). The adder 22 calculates the final q-axis voltage command value Vq by adding the q-axis decoupling voltage command value Vq_a to the q-axis voltage command value Vq_cc according to equation (6). This calculates the d-axis voltage command value Vd and the q-axis voltage command value Vq in which the interference between the d and q coordinate axes is cancelled by feedforward. When the operation mode is the synchronous operation mode, the d-axis voltage command value Vd and the q-axis voltage command value Vq calculated by the adder 21 are input to the voltage calculator 51.
number
[0023] The dq / uvw converter 23 converts the two-phase d-axis voltage command value Vd and q-axis voltage command value Vq output from the adders 21, 22 into a three-phase U-phase voltage command value Vu, a V-phase voltage command value Vv, and a W-phase voltage command value Vw, based on the rotational phase θdq output from the position estimator 32.
[0024] The PWM processor 24 generates six-phase PWM signals based on the U-phase voltage command value Vu, the V-phase voltage command value Vv, and the W-phase voltage command value Vw, and a carrier signal, and outputs the generated six-phase PWM signals to the IPM 25.
[0025] The IPM 25 generates three-phase AC voltages, U phase, V phase, and W phase, from the DC voltage Vdc based on the six-phase PWM signal output from the PWM processor 24, and applies each of the generated three-phase AC voltages to the U phase, V phase, and W phase of the motor M.
[0026] When the bus current of the IPM 25 is detected using the one-shunt method, the current detector 28 detects a U-phase current value iu, a V-phase current value iv, and a W-phase current value iw of the motor M from the six-phase PWM signals output from the PWM processor 24 and the detected bus current, and outputs the phase current values iu, iv, and iw of each phase to the uvw / dq converter 29. Note that the current detector 28 may detect currents of two phases out of the phase current values iu, iv, and iw, and calculate the current of the remaining phase using Kirchhoff's law.
[0027] The uvw / dq converter 29 converts the three-phase U-phase current value iu, V-phase current value iv, and W-phase current value iw into two-phase d-axis current detection value id and q-axis current detection value iq based on the rotational phase θdq output from the position estimator 32.
[0028] The PLL controller 31 performs proportional-integral control of the axis error Δθ to calculate a speed estimate ω such that the axis error Δθ becomes 0. The speed estimate ω calculated by the PLL controller 31 is input to the position estimator 32 via the switch SW3 to correct the rotational phase θdq, and as a result, the axis error Δθ can be brought closer to 0.
[0029] The subtractor 11 subtracts the speed command value ω * The speed error ω_dif is calculated by subtracting the speed estimated value ω from the
[0030] The speed controller 12 controls the speed error ω_dif proportionally and integrally to obtain a torque command value T * For example, the speed controller 12 generates a torque command value T * In equation (7), Kp_sc is a proportional gain of the speed controller 12, and Ki_sc is an integral gain of the speed controller 12. Note that the speed controller 12 generates the d-axis current command value id * and q-axis current command value iq * The integral value of the speed controller 12 is initialized based on the above equation. By initializing the integral value, it is possible to reduce switching shock before and after switching of the operation mode.
number
[0031] When the operation mode is the position sensorless control mode, the sensorless current command value generator 14 generates a torque command value T based on a constant torque curve, which is a current locus where the torque is constant. * is converted into a current vector on the dq coordinate axis, the sensorless d-axis current command value id_sl * and the sensorless q-axis current command value iq_sl * Hereinafter, the sensorless d-axis current command value and the sensorless q-axis current command value may be collectively referred to as the "sensorless current command value."
[0032] As described above, the current controller 20, the decoupling controller 36, and the adder 21 generate the d-axis voltage command value Vd and the q-axis voltage command value Vq such that the current flowing through the motor M coincides with the current command value.
[0033] Here, since the preferred method of generating the sensorless current command value differs depending on whether the motor M is an SPMSM or an IPMSM, it is preferable to set in advance in the motor control device 100a a method of generating the sensorless current command value according to the type of motor to be controlled. For example, when the motor M is an SPMSM, the sensorless current command value generator 14 generates the sensorless d-axis current command value id_sl on the constant torque curve. * is set to 0, and the sensorless q-axis current command value iq_sl * The reason is that when the motor M is an SPMSM, the torque that generates the rotational force is mainly magnet torque (that is, no reluctance torque is generated).
[0034] On the other hand, when the motor M is an IPMSM, the sensorless current command value generator 14 calculates the sensorless d-axis current command value id_sl from the intersection (hereinafter sometimes referred to as the "two-curve intersection") between the constant torque curve and the MTPA curve (maximum torque / current control curve). * and the sensorless q-axis current command value iq_sl* The reason is that when the motor M is an IPMSM, the torque that generates the rotational force is not only the magnet torque but also the contribution of the reluctance torque is large.
[0035] In addition, methods for generating sensorless current command values for both the case where the motor M is SPMSM and the case where the motor M is IPMSM may be preset in the motor control device 100a, and one of the generation methods may be selected depending on the type of motor M.
[0036] For example, when the motor M is an SPMSM, the sensorless current command value generator 14 calculates the sensorless d-axis current command value id_sl in the motor torque equation shown in equation (8). * By substituting 0 into, the sensorless q-axis current command value iq_sl shown in equation (9) is obtained. * In the formulas (8) and (9), Pn is the number of pole pairs of the motor M.
number
[0037] For example, when the motor M is an IPMSM, the sensorless current command value generator 14 calculates the sensorless d-axis current command value id_sl according to the motor torque equation shown in equation (8) and equation (10). * and the sensorless q-axis current command value iq_sl * Calculate.
number
[0038] First, the sensorless d-axis current command value id_sl is calculated from equations (8) and (10). * When it is deleted, the sensorless q-axis current command value iq_sl * We obtain the fourth-order equation (11).
number
[0039] One of the real solutions of the quartic equation shown in equation (11) is the sensorless q-axis current command value iq_sl at the intersection of the two curves. * Therefore, the sensorless current command value generator 14 derives the solution of the equation (11) to obtain the sensorless q-axis current command value iq_sl * The solution of the fourth-order equation can be derived using, for example, the Newton method. The sensorless current command value generator 14 calculates the sensorless q-axis current command value iq_sl using the equation (11). * After calculating the sensorless q-axis current command value iq_sl in equation (10), * By substituting the above, the sensorless d-axis current command value id_sl * Calculate.
[0040] When the operation mode is the position sensorless control mode, the switches SW1 and SW2 are connected to the contact A, so that the sensorless d-axis current command value id_sl generated by the sensorless current command value generator 14 is * and the sensorless q-axis current command value iq_sl * is the d-axis current command value id input to the subtractors 18 and 19 and the decoupling controller 36. * and q-axis current command value iq * It becomes.
[0041] On the other hand, when the operation mode is the synchronous operation mode, the switches SW1 and SW2 are connected to the contact B, so that the synchronous operation d-axis current command value id_sy generated by the synchronous operation current command value generator 13 is * and synchronous operation q-axis current command value iq_sy * is the d-axis current command value id input to the subtractors 18 and 19 and the decoupling controller 36. * and q-axis current command value iq * When the operation mode is the synchronous operation mode, the synchronous operation d-axis current command value id_sy generated by the synchronous operation current command value generator 13 is * is input to the voltage calculator 51.
[0042] The subtractor 18 subtracts the d-axis current command value id *The subtractor 19 calculates the d-axis current error id_dif by subtracting the d-axis current detection value id from the q-axis current command value iq * The q-axis current error iq_dif is calculated by subtracting the q-axis current detection value iq from
[0043] The voltage calculator 51 calculates a voltage (hereinafter sometimes referred to as a "lock determination voltage") used to determine whether or not the motor M is in a locked state (hereinafter sometimes referred to as a "lock determination voltage"), and outputs the calculated lock determination voltage to the lock determination device 52. Note that in this embodiment, the lock determination voltage is calculated by the voltage calculator 51, but the final voltage command value after non-interference, which is the output result of the adders 21 and 22, may be used as it is as the lock determination voltage.
[0044] The lock determinator 52 determines whether the motor M is in a locked state based on the lock determination voltage. When the lock determinator 52 determines that the motor M is in a locked state, the lock determinator 52 outputs a signal indicating that the motor M is in a locked state (hereinafter, may be referred to as a "lock state signal") LS to the outside of the motor control device 100a (for example, to a higher-level controller).
[0045] <Operation of the motor control device when the motor is not locked> 2 and 3 are diagrams showing an example of operation of the motor control device according to the first embodiment of the present disclosure. FIG. 2 and FIG. 3 show an example of operation when the motor M is not in a locked state. FIG. 2 shows an example of operation when the motor M is lightly loaded, and FIG. 3 shows an example of operation when the motor M is overloaded. When the motor M is started or rotates at a low speed, the motor induced voltage is small, so that an error occurs in the axis error Δθ calculated by the axis error calculator 30, and the control of the motor M may become unstable due to the influence of the error in the axis error Δθ. Therefore, in order to increase the rotation speed of the motor M to a rotation speed at which the position sensorless control can be applied, positioning and synchronous operation are performed before performing the position sensorless control. That is, the operation mode of the motor control device 100a shifts in the order of the positioning mode M1, the synchronous operation mode M2, and the position sensorless control mode M3, as shown in FIG. 2 and FIG. 3. When the operation mode is the positioning mode M1 or the synchronous operation mode M2, the operation mode switch 40 operates the synchronous operation current command value generator 13 in the current command value generator 10 while stopping the operation of the sensorless current command value generator 14 and connects the switches SW1, SW2, and SW3 to the contact B. With the operation of the sensorless current command value generator 14 stopped, the operations of the speed controller 12 and the PLL controller 31 located on the input side of the sensorless current command value generator 14 are also stopped. When the operation mode is the position sensorless control mode M3, the operation mode switch 40 operates the sensorless current command value generator 14 in the current command value generator 10 while stopping the operation of the synchronous operation current command value generator 13 and connects the switches SW1, SW2, and SW3 to the contact A.
[0046] As shown in Figs. 2 and 3, the synchronous operation mode M2 has a speed increase section I1 and a current adjustment section I2, and in the synchronous operation mode M2, the control section transitions in the order of the speed increase section I1 and the current adjustment section I2.
[0047] In addition, when the operation mode is the positioning mode M1 or the synchronous operation mode M2, the switches SW1 and SW2 are connected to the contact B, so that the synchronous operation d-axis current command value id_sy generated by the synchronous operation current command value generator 13 is * and synchronous operation q-axis current command value iq_sy* is the d-axis current command value id input to the subtractors 18 and 19 and the decoupling controller 36. * and q-axis current command value iq * On the other hand, when the operation mode is the position sensorless control mode M3, the switches SW1 and SW2 are connected to the contacts A, so that the sensorless d-axis current command value id_sl generated by the sensorless current command value generator 14 is * and the sensorless q-axis current command value iq_sl * is the d-axis current command value id input to the subtractors 18 and 19 and the decoupling controller 36. * and q-axis current command value iq * It becomes.
[0048] As shown in FIGS. 2 and 3, in the positioning mode M1, the speed command value ω * is set to 0, and the synchronous operation current command value generator 13 calculates the d-axis current command value id * While increasing from 0 to a predetermined value id_ini, the q-axis current command value iq * Set to 0. d-axis current command value id * While the current is increasing, the rotor of the motor M starts to move and is positioned. For example, by setting a current value capable of driving a maximum load as the predetermined value id_ini, the motor M can be started without losing synchronism even when overloaded in the synchronous operation mode M2.
[0049] As shown in FIG. 2 and FIG. 3, in the speed increase section I1, the synchronous operation current command value generator 13 sets the d-axis current command value id * is kept constant at a predetermined value id_ini, and the q-axis current command value iq * While keeping constant at 0, the speed command value ω * is linearly increased from 0 to the predetermined rotation speed ω1. As a result, in the speed increase section I1, the d-axis current command value id * and q-axis current command value iq *is kept constant, the rotation speed of the motor M increases to a predetermined rotation speed corresponding to the predetermined rotation speed ω1. The predetermined rotation speed ω1 is preset to a rotation speed at which it is known that the motor induced voltage can be sufficiently detected and is large enough to prevent the motor M, which is not in a locked state, from being erroneously determined to be in a locked state, and is, for example, an electrical angular speed equivalent to 15 rps in the case of a motor for a compressor. If the motor M is in a locked state, the rotation speed of the motor M does not increase in the speed increase section I1. In this embodiment, since the lock determiner 52 that determines whether the motor M is in a locked state based on the voltage command value is included, it is possible to quickly determine whether the motor M is in a locked state in the speed increase section I1. If it is determined that the motor M is not in a locked state, the operation mode of the motor control device 100a transitions to the current adjustment section I2. The operation of the lock determiner 52 will be described later.
[0050] Next, in the current adjustment section I2, the speed command value ω * is kept constant at a predetermined rotation speed ω1, the synchronous operation current command value generator 13 generates the d-axis current command value id * and q-axis current command value iq * In the current adjustment section I2, the synchronous operation current command value generator 13 adjusts the d-axis current command value id * In the current adjustment section I2, the synchronous operation current command value generator 13 starts adjusting the q-axis current command value iq * The initial value of is set to 0, and the q-axis current command value iq * Start adjusting the d-axis current command value id in the current adjustment section I2. * and q-axis current command value iq * In the current adjustment section I2, the current vector on the dc-qc coordinate axes is adjusted to a state close to the current vector in the position sensorless control mode M3 by adjusting the d-axis current command value id *is converged to the target command value id_sy_end at the end point of the current adjustment section I2 by using a filter or by linearly decreasing it. The target command value id_sy_end has a positive value close to 0 and is slightly over-excited (id * It is preferable to set it to a value that is greater than or equal to 0.
[0051] That is, in the speed increase section I1, the synchronous operation current command value generator 13 sets the d-axis current command value id_ini to a predetermined value id_ini that is greater than the target command value id_sy_end. * In the current adjustment section I2 following the speed increase section I1, the synchronous operation current command value generator 13 sets the d-axis current command value id * is gradually decreased to the target command value id_sy_end.
[0052] Generally, when the motor M is an SPMSM that does not have saliency, the d-axis current command value id on the constant torque curve is * is set to 0, and when the motor M is an IPMSM having a saliency, the position sensorless control is performed based on the intersection of the two curves. On the other hand, in the synchronous operation mode M2, the rotation phase θdq is not corrected based on the speed estimate value ω calculated by the PLL controller 31, so the d-axis current command value id * If the d-axis current command value id at the end of the current adjustment section I2 is decreased, the load torque may exceed the output torque depending on the response speed of the synchronous operation current command value generator 13 when generating the current command value, and the motor M may lose synchronization. * It is preferable to converge to a slight overexcitation.
[0053] In addition, by setting the target command value id_sy_end at the end point of the current adjustment section I2 to a value of about 10% of the rated current amplitude value of the motor M or the current amplitude value when the motor M drives the maximum load, the d-axis current command value id *The d-axis current command value id in position sensorless control mode M3 * Since the target command value id_sy_end can be converged to a certain degree of over-excitation while being appropriately brought close to the target command value id_sy_end, it is possible to prevent the motor M from losing synchronism in the current adjustment section I2. For example, when the rated current amplitude value is about 10A, it is preferable to set the target command value id_sy_end to about 1A.
[0054] In the current adjustment section I2, the synchronous operation current command value generator 13 performs integral or proportional integral control of the axis error Δθ to obtain the q-axis current command value iq * When the axis error Δθ is positive, the synchronous operation current command value generator 13 generates the q-axis current command value iq * When the axis error Δθ is negative, the q-axis current command value iq * In this way, in the current adjustment section I2, the synchronous operation current command value generator 13 reduces the q-axis current command value iq by feedback control so as to bring the axis error Δθ closer to zero. * In the current adjustment section I2, the synchronous operation current command value generator 13 adjusts the synchronous operation q-axis current command value iq_sy according to, for example, equation (12). * In equation (12), Ki_iq is the integral gain.
number
[0055] In the position sensorless control mode M3, when the axis error Δθ is positive, the PLL controller 31 reduces the speed estimate ω so that the speed estimate ω becomes equal to the speed command value ω. * Since the torque command value T * The sensorless current command value generator 14 increases the q-axis current command value iq * On the other hand, in the synchronous operation mode M2, the speed command value ω * is directly input to the position estimator 32, the synchronous operation current command value generator 13 directly calculates the q-axis current command value iq * Therefore, the d-axis current command value id at the start point of the current adjustment section I2 is adjusted. *The desired response speed of the synchronous operation current command value generator 13 can be obtained by adjusting the integral gain Ki_iq (equation (12)) according to the magnitude of the predetermined value id_ini, which is the initial value of the motor M, the inertia of the motor M, the induced voltage constant of the motor M, or the characteristics of the load driven by the motor M.
[0056] When transitioning from the current adjustment section I2 to the position sensorless control mode M3, the speed controller 12 calculates the d-axis current command value id * and q-axis current command value iq * (That is, the synchronous operation d-axis current command value id_sy in the synchronous operation mode M2 * and the synchronous operation q-axis current command value iq_sy in the synchronous operation mode M2. * The torque command value T * The torque command value T * is set as the initial value of the integral value of the speed controller 12 for the speed error ω_dif. By doing so, the torque command value T * Since the occurrence of discontinuity can be prevented, the switching shock that occurs in the motor M due to switching of the operation mode can be reduced.
number
[0057] In addition, the torque command value T calculated according to the formula (13) * Since the position sensorless control is started with the initial value of the proportional-integral control for the speed error ω_dif, in the position sensorless control mode M3, the sensorless d-axis current command value id_sl generated by the sensorless current command value generator 14 is * is adjusted to a value smaller than the target command value id_sy_end, as shown in Fig. 2 and Fig. 3. For example, when the target command value id_sy_end has a positive value close to 0, the sensorless d-axis current command value id_sl * is adjusted to a value less than or equal to 0.
[0058] As described above, by converging the d-axis current command value to near 0 at the stage of synchronous operation and generating the q-axis current command value by feedback controlling the axis error, it is possible to transition from synchronous operation to position sensorless control in a state in which the axis error is adjusted to near 0 and the degree of overexcitation is suppressed. Therefore, since the change in the current vector after transition to position sensorless control is small, it is possible to reduce switching shock due to current jumps, speed jumps, etc., when transitioning to position sensorless control, even in an IPMSM or the like having saliency. Therefore, it is possible to improve the stability of control of the motor M when transitioning to the position sensorless control mode, regardless of the type of motor M, such as whether the motor M has saliency. Therefore, it is possible to stably start the motor M regardless of the type of motor M.
[0059] <Voltage calculator configuration> Regarding the configuration of the voltage calculator 51, configuration examples 1 to 4 will be given below. <Configuration Example 1 (Fig. 4A)> 4A is a diagram illustrating a first configuration example of a voltage calculator according to the first embodiment of the present disclosure. A voltage calculator 51A illustrated in FIG. 4A corresponds to the voltage calculator 51 illustrated in FIG. 1. In FIG. 4A, the voltage calculator 51A includes an error calculator 511, a voltage corrector 512, and an averager 513. The voltage calculator 51A calculates a voltage amplitude value (hereinafter, sometimes referred to as a "synthetic voltage amplitude value") calculated from the d-axis voltage command value Vd and the q-axis voltage command value Vq by multiplying the d-axis voltage command value Vd and the synchronous operation d-axis current command value id_sy * The voltage amplitude value after correction and averaging (hereinafter, may be referred to as “average corrected voltage amplitude value”) Va_co_ave is output to the lock determinator 52 as a lock determination voltage.
[0060] In positioning mode M1, the speed command value ω *Since is set to 0, the voltage theoretically output from the IPM 25 (hereinafter may be referred to as the "theoretical output voltage") is only the voltage for the winding resistance R of the motor M. Therefore, in the positioning mode M1, the difference between the theoretical output voltage for the winding resistance R and the voltage actually applied to the motor M appears as an error (hereinafter may be referred to as the "output voltage error") ΔV in the three-phase AC voltage (hereinafter may be referred to as the "output voltage") output from the IPM 25. Therefore, in this embodiment, whether or not the motor M is in a locked state is determined taking into account the output voltage error ΔV. By taking into account the output voltage error ΔV, it is possible to accurately determine whether or not the motor M is locked, even if the output voltage error ΔV is large (for example, when the dead time of the IPM used in the motor control device is large). The error calculator 511 calculates the synchronous operation d-axis current command value id_sy at the time of completion of positioning. * Based on the d-axis voltage command value Vd and the winding resistance R of the motor M, the output voltage error ΔV is calculated according to equation (14). The d-axis voltage command value Vd after high-frequency components have been removed by filtering may be used as the d-axis voltage command value Vd in equation (14). Since ripples such as cogging torque do not occur in the positioning mode M1, it is preferable that the time constant of the filter used to remove high-frequency components from the d-axis voltage command value Vd is about 10 ms.
number
[0061] In addition, the error calculator 511 calculates the output voltage error ΔV UVW The output voltage error ΔV may be calculated from the output voltage error ΔV UVW can be calculated according to the formula (15) based on the carrier frequency fc, the dead time Td in the IPM 25, and the DC voltage Vdc. UVW Since is a value on a fixed coordinate system, the output voltage error ΔV calculated according to equation (15) UVW needs to be converted to values on the dc-qc coordinate system.
number
[0062] Here, in the speed increase section I1, the d-axis current command value id * is kept constant at a predetermined value id_ini and the q-axis current command value iq * is kept constant at 0, the d-axis current component of the current vector exists, but the q-axis current component of the current vector does not exist. Therefore, in the speed increase section I1, an output voltage error ΔV occurs only in the d-axis voltage command value Vd. Furthermore, when the carrier frequency fc, the dead time Td in the IPM 25, and the DC voltage Vdc are constant from the positioning mode M1 to the speed increase section I1, the output voltage error ΔV at the end point T1 of the speed increase section I1 (hereinafter sometimes referred to as the "end point of the speed increase section") is almost the same as the output voltage error ΔV calculated at the completion of positioning. Therefore, the voltage compensator 512 corrects the composite voltage amplitude value Va calculated from the d-axis voltage command value Vd and the q-axis voltage command value Vq according to equation (16) according to equation (17) based on the output voltage error ΔV at the completion of positioning, and outputs the corrected voltage amplitude value Va_co (hereinafter sometimes referred to as the "corrected voltage amplitude value") to the averager 513.
number
[0063] The averager 513 performs time averaging of the correction voltage amplitude value Va_co, which is an instantaneous value, and outputs the correction voltage amplitude average value Va_co_ave to the lock determiner 52 as a lock determination voltage. The averaging process in the averager 513 can prevent the lock determiner 52 from making an erroneous determination due to the oscillation of the correction voltage amplitude value Va_co when the motor M is in a locked state. For example, when a rotating magnetic field is applied to the motor M in a locked state, it is possible to eliminate the influence of a frequency component of the rotating magnetic field (hereinafter sometimes referred to as "electrical angle order ripple") superimposed on the correction voltage amplitude value Va_co due to the saliency of the inductance. In addition, the averaging process in the averager 513 can calculate an average correction voltage amplitude value even in a state where the rotor of the motor M does not rotate completely one or more times but there is a section where the rotor phase changes instantaneously (hereinafter sometimes referred to as "rare lock state") or in a state where the rotor is out of step and the motor M cannot be started correctly (hereinafter sometimes referred to as "out-of-step state"). Therefore, the averaging process by the averager 513 makes it possible to determine a wide range of locked states, including rare locked states and out-of-step states, thereby improving the accuracy of the lock determination. The averager 513 is formed, for example, using a low-pass filter. It is preferable that the time constant of the low-pass filter forming the averager 513 is such that the ability to follow the increase in output voltage accompanying an increase in the rotation speed of the motor M is not impaired, and that the time constant is large enough to eliminate electrical angle order ripples (for example, about 100 ms).
[0064] <Configuration Example 2 (Fig. 4B)> Fig. 4B is a diagram illustrating a second configuration example of the voltage calculator according to the first embodiment of the present disclosure. A voltage calculator 51B illustrated in Fig. 4B corresponds to the voltage calculator 51 illustrated in Fig. 1. In Fig. 4B, the voltage calculator 51B has a voltage amplitude generator 514. The voltage amplitude generator 514 generates a composite voltage amplitude value Va from the d-axis voltage command value Vd and the q-axis voltage command value Vq according to equation (16), and outputs the generated composite voltage amplitude value Va to the lock determinator 52 as a lock determination voltage.
[0065] <Configuration example 3 (Fig. 4C)> Fig. 4C is a diagram showing a third configuration example of the voltage calculator according to the first embodiment of the present disclosure. A voltage calculator 51C shown in Fig. 4C corresponds to the voltage calculator 51 shown in Fig. 1. In Fig. 4C, the voltage calculator 51C includes a voltage amplitude generator 514 and an averaging unit 515.
[0066] The voltage amplitude generator 514 generates a composite voltage amplitude value Va from the d-axis voltage command value Vd and the q-axis voltage command value Vq in accordance with equation (16), and outputs the generated composite voltage amplitude value Va to the averager 515.
[0067] The averager 515 time-averages the composite voltage amplitude value Va, which is an instantaneous value, and outputs the averaged composite voltage amplitude value Va_ave to the lock determinator 52 as a lock determination voltage.
[0068] <Configuration Example 4 (Fig. 4D)> Fig. 4D is a diagram illustrating a fourth configuration example of the voltage calculator according to the first embodiment of the present disclosure. A voltage calculator 51D illustrated in Fig. 4D corresponds to the voltage calculator 51 illustrated in Fig. 1. In Fig. 4D, the voltage calculator 51D includes an error calculator 511 and a voltage corrector 512.
[0069] The voltage compensator 512 corrects the composite voltage amplitude value Va, which is calculated from the d-axis voltage command value Vd and the q-axis voltage command value Vq according to equation (16), based on the output voltage error ΔV at the time of completion of positioning, according to equation (17), and outputs the corrected voltage amplitude value Va_co to the lock determinator 52 as a lock determination voltage.
[0070] <Operation of lock detector> As described above, in the speed increase section I1, the speed command value ω * is linearly increased from 0 to a predetermined rotation speed ω1. The predetermined rotation speed ω1 is set to a rotation speed at which the motor induced voltage is sufficiently observed in the motor M that is not in a locked state.
[0071] Therefore, the lock determination unit 52 determines whether the speed command value ω *At a speed increase section end point T1, which is a time point when the speed reaches a predetermined rotational speed ω1, the lock determination unit 52 compares the lock determination voltage with a lock determination threshold V_jd to determine whether the motor M is in a locked state. When the lock determination voltage is less than the lock determination threshold V_jd, the lock determination unit 52 determines that the motor M is in a locked state and outputs a locked state signal LS. On the other hand, when the lock determination voltage is equal to or greater than the lock determination threshold V_jd, the lock determination unit 52 determines that the motor M is not in a locked state and does not output the locked state signal LS. In other words, when the lock determination voltage at the predetermined speed increase section end point T1 is less than the lock determination threshold V_jd, the lock determination unit 52 determines that the motor M is locked, whereas when the lock determination voltage at the predetermined speed increase section end point T1 is equal to or greater than the lock determination threshold V_jd, the lock determination unit 52 determines that the motor M is not locked.
[0072] For example, when a lock state signal LS is input from the lock determinator 52, an external controller of the motor control device 100a stops the supply of current to the motor M in the speed increase section I1 without transitioning the synchronous operation mode M2 from the speed increase section I1 to the current adjustment section I2. Here, when the motor M is in a locked state, no motor induced voltage is generated due to the rotation of the motor M. For this reason, if the synchronous operation mode M2 transitions from the speed increase section I1 to the current adjustment section I2 while the motor M is in a locked state, the axis error calculator 30 will no longer be able to calculate a correct axis error Δθ, and therefore the synchronous operation current command value generator 13 will not calculate the synchronous operation q-axis current command value iq_sy * When the motor M is in a locked state, the feedback control of the axis error Δθ when generating the current command value I2 becomes unstable. Therefore, as described above, when the motor M is in a locked state, the supply of current to the motor M is stopped before the synchronous operation mode M2 transitions to the current adjustment section I2, thereby preventing destabilization of the axis error calculator 30 and the synchronous operation current command value generator 13 used in the current adjustment section I2. On the other hand, when the locked state signal LS is not input from the lock determinator 52, an external controller of the motor control device 100a transitions the synchronous operation mode M2 from the speed increase section I1 to the current adjustment section I2.
[0073] By performing the lock determination based on the voltage command value as described above, the lock determination can be performed before the transition to the current adjustment section I2. Therefore, it is possible to quickly determine whether the motor M is in a locked state. Furthermore, by performing the lock determination based on the voltage command value while taking into account the output voltage error ΔV, the lock determination can be performed with high accuracy even when the output voltage error ΔV becomes large. Furthermore, by calculating the voltage amplitude value from the voltage command value when performing the lock determination, the lock determination can be performed based on the comparison result between the magnitude of the voltage command value and the threshold value. Therefore, even if the dc-qc coordinate axis, which is the control system coordinate axis, continues to rotate with respect to the dq coordinate axis, which is the rotor coordinate axis, the lock determination can be performed based on the voltage command value. Furthermore, by averaging the voltage amplitude value over time when performing the lock determination, the lock determination can be performed using the time-averaged voltage amplitude value instead of the voltage amplitude value, which is the instantaneous value. As a result, even if the motor M is in a rare lock state or out of step state, it can be determined that the motor M is in a locked state. In this way, the motor control device 100a can correctly detect the locked state of the motor M even when, for example, the effect of the output voltage error ΔV is large.
[0074] <Lock judgment threshold setting> The locking determination threshold V_jd is set to a value smaller than a first locking determination threshold V_jd_1 based on a minimum value of the theoretical output voltage of the motor M in an unlocked state (hereinafter may be referred to as the "unlocked minimum theoretical voltage value") Va_unlock_min, and larger than a second locking determination threshold V_jd_2 based on a maximum value of the theoretical output voltage of the motor M in a locked state (hereinafter may be referred to as the "locked maximum theoretical voltage value") Va_lock_max. A method for calculating the first locking determination threshold V_jd_1 and a method for calculating the second locking determination threshold V_jd_2 will be described below.
[0075] <Calculation of the first lock determination threshold> When the motor M is not locked, the voltage generated in the speed increase section I1 is a composite voltage of the voltage at the resistance and inductance of the motor M (hereinafter, sometimes referred to as the "RL voltage") and the motor induced voltage. The RL voltage is a function of the current supply frequency of the IPM 25 (speed command value ω * ) The RL voltage is minimum when the temperature of the motor M is low (i.e., when the resistance value of the motor M is small) in the usage environment of the motor M. On the other hand, the motor induced voltage is minimum when the temperature of the motor M is high (i.e., when the armature flux linkage Ψa is small) in the usage environment of the motor M. Therefore, there is no time when both the RL voltage and the motor induced voltage are minimum at the same time in the usage environment of the motor M. However, in the following, in order to simplify the calculation of the unlocked minimum theoretical voltage value Va_unlock_min, the minimum value of the resistance value of the motor M (hereinafter sometimes referred to as the "minimum resistance value") and the minimum value of the armature flux linkage (hereinafter sometimes referred to as the "minimum armature flux linkage") in the usage environment of the motor M are used to calculate the unlocked minimum theoretical voltage value Va_unlock_min. In this way, by calculating the unlocked minimum theoretical voltage value Va_unlock_min using the minimum resistance value and the minimum armature linkage flux so as to reduce the calculated value of the theoretical output voltage of the motor M, and setting the first lock determination threshold V_jd_1 below that calculated value, the risk of erroneously determining that the motor M is in a locked state when it is not in a locked state can be reduced.
[0076] In addition, in the motor M that is not in a locked state, the direction of the RL voltage vector relative to the motor induced voltage vector changes according to the phase θi of the current vector ia (hereinafter, sometimes referred to as the "current vector phase") of the current vector ia. Therefore, as shown in FIG. 5, the amplitude of the voltage obtained by vector synthesis of the RL voltage vector and the motor induced voltage vector changes according to the load and becomes nonlinear. FIG. 5 is a diagram showing an example of the relationship between the current vector phase and the voltage amplitude in the first embodiment of the present disclosure. Therefore, it is preferable to calculate the unlocked minimum theoretical voltage value Va_unlock_min based on the change in the output voltage amplitude (hereinafter, sometimes referred to as the "current vector dependency") when the state in which the d-axis current id is the same as the current vector ia and the q-axis current is 0 (i.e., the state in which the current vector phase θi is 0 degrees) is unloaded, while the state in which the d-axis current id is 0 and the q-axis current iq is the same as the current vector ia (i.e., the state in which the current vector phase θi is 90 degrees) is overloaded.
[0077] Furthermore, in order to prevent erroneous determination of lock, it is desirable to take into consideration the minimum values (for example, about -10%) within the individual variations of the winding resistance R, inductance L, and armature interlinkage magnetic flux Ψa.
[0078] The formula for calculating the theoretical minimum voltage value Va_unlock_min when the motor M is not in a locked state is shown below. In the formula below, the d-axis current id and the q-axis current iq are the values when the phase θi of the current vector ia is changed from 0 degrees to 90 degrees, and the d-axis inductance Ld and the q-axis inductance Lq are the values when the d-axis current command value id * In the following formula, Vd_unlock is the d-axis voltage command value when motor M is not locked, Vq_unlock is the q-axis voltage command value when motor M is not locked, R_min is the minimum resistance value taking into account the temperature characteristics and individual variations of winding resistance R, Ψa_min is the minimum armature flux linkage taking into account the temperature characteristics and individual variations of motor M, and Va_unlock is the theoretical output voltage when motor M is not locked.
number
[0079] The unlocked minimum theoretical voltage value Va_unlock_min calculated as described above is set as the first lock determination threshold value V_jd_1.
[0080] <Calculation of the second lock determination threshold> When the motor M is in a locked state, the motor M cannot accelerate in the speed increase section I1, and therefore no motor induced voltage is generated. Therefore, the only voltage generated in the speed increase section I1 is the RL voltage that corresponds to the current supply frequency of the IPM 25 and is applied to the winding resistance R and inductance L of the motor M. In addition, in the speed increase section I1, the q-axis current iq is controlled to 0, and therefore the d-axis voltage Vd_lock of the motor M in the locked state is expressed by equation (18), and the q-axis voltage Vq_lock of the motor M in the locked state is expressed by equation (19).
number
[0081] Therefore, the output voltage Va_lock when the motor M is in a locked state is expressed by equation (20).
number
[0082] Here, in calculating the maximum theoretical voltage value Va_lock_max in the locked state, it is preferable to take into consideration the influence of parameter fluctuations, as in the calculation of the minimum theoretical voltage value Va_unlock_min in the unlocked state. For example, it is preferable to calculate the voltage at the resistance of the motor M by using the maximum resistance value R_max in the environment in which the motor M is used as the resistance value of the motor M. Also, for example, it is preferable to calculate the inductance voltage using the inductance values (Ld_ini, Lq_ini) that reflect the magnetic saturation characteristics when a current equivalent to the d-axis current command value during synchronous operation is passed through the inductance, assuming that the inductance does not have a temperature characteristic. Also, for example, when the motor M is in a locked state, the dc-qc coordinate axis, which is the control system coordinate axis, continues to rotate relative to the dq coordinate axis, which is the rotor coordinate axis of the motor M, so it is preferable to calculate the average value of the d-axis inductance Ld and the q-axis inductance Lq as the inductance L. Furthermore, in order to prevent erroneous lock determination due to parameter fluctuations, it is preferable to consider the maximum values (for example, about +10%) of the winding resistance R and the inductance L within the individual variations of each of them.
[0083] The locked-state theoretical maximum voltage value Va_lock_max calculated as above is set as the second lock determination threshold value V_jd_2.
[0084] The method for calculating the first locking determination threshold V_jd_1 and the method for calculating the second locking determination threshold V_jd_2 have been described above.
[0085] The lock determination threshold V_jd used for the lock determination in the lock determination unit 52 is set to a value smaller than the first lock determination threshold V_jd_1 and larger than the second lock determination threshold V_jd_2. This can improve the accuracy of the lock determination. For example, when the armature interlinkage magnetic flux is reduced and the output voltage is reduced due to a low temperature of the motor M even though the motor M is not in a locked state, it is possible to prevent the motor M from being erroneously determined to be in a locked state. Also, when the motor M is in a locked state but the winding resistance is increased and the output voltage is increased due to a high temperature of the motor M, it is possible to prevent the motor M from being erroneously determined to be not in a locked state.
[0086] For example, the lock-up determination threshold V_jd is set according to equation (21). By setting the lock-up determination threshold V_jd according to equation (21), the lock-up determination threshold V_jd can be set to a value closer to the second lock-up determination threshold V_jd_2 than to the first lock-up determination threshold V_jd_1. This can further reduce the risk of erroneously determining that the motor M, which is not in a locked state, is in a locked state even if the permanent magnet used in the rotor of the motor M is demagnetized.
number
[0087] <Operation of the motor control device when the motor is locked> Fig. 6 is a diagram showing an example of the operation of the motor control device according to the first embodiment of the present disclosure. In Fig. 6, the change in voltage when the motor M is in a locked state (hereinafter, may be referred to as a "locked voltage") is shown by a solid line, and the change in voltage when the motor M is not in a locked state (hereinafter, may be referred to as a "non-locked voltage") is shown by a dotted line.
[0088] As described above, the lock determination is performed at the end point T1 of the speed increase section. Also, as described above, in the speed increase section I1, the d-axis current command value id * is kept constant at a predetermined initial value id_ini, and the q-axis current command value iq *is kept constant at 0, and the speed command value ω * is increased linearly from 0 to a predetermined rotation speed ω1.
[0089] The voltage generated in the speed increase section I1 when the motor M is not in a locked state is a composite voltage of the RL voltage and the motor induced voltage, and corresponds to the "unlocked voltage" shown by the dotted line in FIG. 6. On the other hand, when the motor M is in a locked state, the motor induced voltage is not generated, so the voltage generated in the speed increase section I1 when the motor M is in a locked state is only the RL voltage that increases according to the energization frequency of the IPM 25, and corresponds to the "locked voltage" shown by the solid line in FIG. 6. In this way, there is a difference between the output voltage when the motor M is not in a locked state (hereinafter sometimes referred to as the "unlocked output voltage") and the output voltage when the motor M is in a locked state (hereinafter sometimes referred to as the "locked output voltage"). In other words, the presence or absence of the motor induced voltage occurs when the motor M is in a locked state and when it is not in a locked state, and the magnitudes of the d-axis voltage command value Vd and the q-axis voltage command value Vq generated to make the motor current follow the current command value change, resulting in a difference in the output voltage.
[0090] Therefore, by setting the lock determination threshold V_jd as described above between the unlocked output voltage and the locked output voltage, it becomes possible to perform the lock determination.
[0091] The first embodiment has been described above.
[0092] [Example 2] In the first embodiment, the synchronous operation mode is switched to the position sensorless control mode in a state in which the degree of overexcitation is suppressed by reducing the d-axis current command value in the synchronous operation mode. In the first embodiment, a small d-axis current is caused to flow at the end point of the current adjustment section (i.e., the start point of the position sensorless control mode), thereby reducing the concern of the motor M losing synchronization. However, if the load connected to the motor M fluctuates periodically, or if the motor constant set for the motor M deviates from the true value due to changes in the temperature of the motor M or the current value flowing through the motor M, there is a concern that the motor M may lose synchronization during the process of reducing the d-axis current command value.
[0093] Therefore, in the second embodiment, the concern of the motor M losing synchronism in the current adjustment section in the synchronous operation mode is further reduced. Below, the points different from the first embodiment will be described.
[0094] <Motor control device configuration> 7 is a diagram illustrating an example of the configuration of a motor control device according to a second embodiment of the present disclosure. In FIG. 7, a motor control device 100b includes a PLL controller 31b and an adder 41.
[0095] The PLL controller 31b receives the axis error Δθ from the axis error calculator 30. In the synchronous operation mode, the PLL controller 31b calculates a speed command value ω * and outputs the calculated speed correction value ωb. In addition, in the position sensorless control mode, the PLL controller 31b calculates a speed estimation value ω based on the axis error Δθ, and outputs the calculated speed estimation value ω.
[0096] The adder 41 calculates the speed command value ω * and the speed correction value ωb to calculate the speed sum ω+ to be input to the position estimator 32.
[0097] When the operation mode is the synchronous operation mode, the position estimator 32 generates the rotational phase θdq by integrating the speed addition value ω+. On the other hand, when the operation mode is the sensorless control mode, the position estimator 32 generates the rotational phase θdq by integrating the estimated speed ω, similarly to the first embodiment.
[0098] <Configuration of PLL Controller> FIG. 8 is a diagram showing a configuration example of the PLL controller according to the second embodiment of the present disclosure. In FIG. 8, the PLL controller 31b includes a proportional-integral controller 311, a proportional controller 312, a proportional output controller 313, and a switch SW4.
[0099] The proportional controller 312 calculates a speed variation component ωa representing the speed variation due to the periodic variation of the load connected to the motor M by proportionally controlling the axis error Δθ.
[0100] The proportional output controller 313 calculates a gradually increasing speed correction value ωb by multiplying the time-varying proportional output coefficient R by the speed variation component ωa.
[0101] The proportional-integral controller 311 calculates the estimated speed ω by proportionally integrating the axis error Δθ, similarly to the PLL controller 31a of the first embodiment.
[0102] The switch SW4 has an A contact and a B contact. When the operation mode is the synchronous operation mode, the operation mode switch 40 connects the switch SW4 to the contact B, while when the operation mode is the sensorless control mode, the operation mode switch 40 connects the switch SW4 to the contact A. Therefore, when the operation mode is the synchronous operation mode, the speed correction value ωb is output from the PLL controller 31b, and when the operation mode is the sensorless control mode, the estimated speed ω is output from the PLL controller 31b.
[0103] <Operation of PLL Controller> FIG. 9 is a diagram showing an operation example of the proportional output controller according to the second embodiment of the present disclosure.
[0104] As described above, the proportional output controller 313 calculates the speed correction value ωb by multiplying the speed fluctuation component ωa, which is the proportional output, by the proportional output coefficient R, which gradually increases with the passage of time. As shown in FIG. 9, the proportional output coefficient R increases linearly from 0 to 1 between the start point TA of the section (hereinafter sometimes referred to as the "proportional output adjustment section") in which the magnitude of the speed correction value ωb is adjusted by multiplying the speed fluctuation component ωa by the proportional output coefficient R, and the end point TB of the proportional output adjustment section. For example, the start point of the current adjustment section I2 may be set as the start point TA, and the end point of the current adjustment section I2 may be set as the end point TB. Also, for example, when the axis error Δθ is adjusted to approximately 0, the proportional output coefficient R may be increased to 1 without substantially providing a proportional output adjustment section. In other words, the start point TA may be set as the point in time when the axis error Δθ is adjusted to approximately 0 in the current adjustment section, and the proportional output coefficient R may be increased to 1 immediately after the start point TA arrives, to reach the end point TB.
[0105] The speed correction value ωb is calculated by multiplying the speed fluctuation component ωa by the proportional output coefficient R shown in FIG. 9, and the magnitude of the speed correction value ωb gradually increases from 0 over time.
[0106] By adjusting the magnitude of the speed correction value ωb in the current adjustment section as described above, in the section at the beginning of the current adjustment section where the d-axis current command value is large and there is little concern about the motor M losing synchronization, the proportional response of the PLL control is suppressed to a small value, so that the motor M can be prevented from suddenly decelerating. On the other hand, in the section at the end of the current adjustment section where the d-axis current command value is small and there is a large concern about the motor M losing synchronization, the axis error Δθ is in a state where it converges to near 0, so there is no problem even if the proportional response of the PLL control is increased. Therefore, by increasing the proportional output coefficient R at the end of the current adjustment section or in a state where the axis error Δθ is in a state where it converges to near 0, it is possible to generate a rotation phase according to the fluctuation in the speed of the motor M. This makes it possible to instantly correct the rotation phase of the dc-qc coordinate axes according to the fluctuation in the speed of the motor M. Therefore, it is possible to prevent the motor M from losing synchronization due to the influence of periodic load fluctuations and deviations from the true value of the motor constant when the d-axis current command value decreases.
[0107] The second embodiment has been described above.
[0108] [Example 3] When an IPMSM having saliency is started under an overload, the current vector at the intersection of the constant torque curve equivalent to the load torque and the MTPA curve deviates from the final current vector during synchronous operation, as shown in Fig. 10. Fig. 10 is a diagram illustrating a change in the current vector when transitioning to a position sensorless control mode in the third embodiment of the present disclosure.
[0109] As shown in Fig. 10, the greater the overload, the greater the deviation of the current vector between the synchronous operation mode and the position sensorless control mode. Therefore, the greater the overload, the greater the degree of discontinuity in the d-axis current command value and the q-axis current command value when the operation mode is switched from the synchronous operation mode M2 to the position sensorless control mode M3. This raises concerns that switching the operation mode may cause a switching shock in the motor M, which may destabilize the control of the motor M.
[0110] Therefore, in the third embodiment, concerns about instability in the control of the motor M are reduced. The following describes the differences from the second embodiment.
[0111] <Configuration of sensorless current command value generator> 11 is a diagram illustrating a configuration example of a sensorless current command value generator according to a third embodiment of the present disclosure. In FIG. 11, the sensorless current command value generator 14 includes a weighting coefficient generator 141, an MTPA current command value generator 142, a synchronous operation final current command value generator 143, multipliers 144, 145, 146, and 147, and adders 148 and 149.
[0112] The MTPA current command value generator 142 performs the process performed by the sensorless current command value generator 14 in the second embodiment only for MTPA control, thereby * Based on MTPA_d-axis current command value id_mt * and MTPA_q-axis current command value iq_mt * That is, the MTPA current command value generator 142 generates the torque command value T* Based on this, the MTPA_d-axis current command value id_mt * and MTPA_q-axis current command value iq_mt * Hereinafter, the MTPA_d-axis current command value and the MTPA_q-axis current command value may be collectively referred to as the "MTPA current command value."
[0113] The synchronous operation final current command value generator 143 calculates a final point d-axis current command value id_sy_end, which is a d-axis current command value at the final point of the current adjustment section I2 (i.e., the end point of the synchronous operation mode M2). * The synchronous operation final current command value generator 143 generates the final point d-axis current command value id_sy_end * and the torque command value T * Based on this, the final point q-axis current command value iq_sy_end is calculated according to equation (22). * The final q-axis current command value iq_sy_end is generated according to equation (22). * is the d-axis current command value on the dc-qc coordinate axis. * It is a value that lies on a straight line parallel to the qc-axis fixed at θ and fluctuates according to changes in the load torque. Hereinafter, the final point d-axis current command value and the final point q-axis current command value may be collectively referred to as the "final point current command value."
number
[0114] In addition, when it is known in advance by an experiment or the like that the load torque does not change suddenly in the section where the current command value is switched from the final point current command value to the MTPA current command value (hereinafter, sometimes referred to as the "current vector smoothing section"), the synchronous operation final current command value generator 143 calculates the final point q-axis current command value iq_sy_end according to the equation (22). * As with the d-axis current command value, the q-axis current command value at the end of the current regulation section I2 is set to the final q-axis current command value iq_sy_end * It is also possible to say this.
[0115] The weighting coefficient generator 141 generates a first weighting coefficient W_up and a second weighting coefficient W_down by which the MTPA current command value and the final point current command value are multiplied, respectively.
[0116] The multiplier 144 multiplies the MTPA_d-axis current command value id_mt * is multiplied by the first weighting coefficient W_up.
[0117] The multiplier 145 calculates the MTPA_q-axis current command value iq_mt * is multiplied by the first weighting coefficient W_up.
[0118] The multiplier 146 calculates the final point d-axis current command value id_sy_end * is multiplied by the second weighting factor W_down.
[0119] The multiplier 147 calculates the final point q-axis current command value iq_sy_end * is multiplied by the second weighting factor W_down.
[0120] An adder 148 adds the multiplication result of the multiplier 144 and the multiplication result of the multiplier 146 to obtain a sensorless d-axis current command value id_sl in the current vector smoothing section. * Generate.
[0121] An adder 149 adds the multiplication result of the multiplier 145 and the multiplication result of the multiplier 147 to obtain a sensorless q-axis current command value iq_sl in the current vector smoothing section. * Generate.
[0122] In other words, the sensorless d-axis current command value id_sl in the current vector smoothing section * is generated according to equation (23), and the sensorless q-axis current command value iq_sl in the current vector smoothing section * is generated according to equation (24).
number
[0123] Therefore, when the operation mode is the position sensorless control mode, the MTPA current command value is calculated based on the intersection point of the two curves, and corresponds to a first provisional current command value calculated before the sensorless current command value is finally calculated by adders 148, 149. Moreover, when the operation mode is the position sensorless control mode, the final point current command value is calculated based on the d-axis current command value at the final point of the current adjustment section I2, and corresponds to a second provisional current command value calculated before the sensorless current command value is finally calculated by adders 148, 149.
[0124] <Operation of sensorless current command generator> Fig. 12 is a diagram illustrating an example of the operation of the weighting coefficient generator according to the third embodiment of the present disclosure. As illustrated in Fig. 12, the weighting coefficient generator 141 generates a first weighting coefficient W_up that increases linearly from 0 to 1 between a start point TX of the current vector smoothing section and an end point TY of the current vector smoothing section. The weighting coefficient generator 141 also generates a second weighting coefficient W_down that decreases linearly from 1 to 0 between the start point TX and the end point TY.
[0125] Here, the current vector smoothing section can be set arbitrarily. For example, the current vector smoothing section is set as follows: * It is preferable that the period be set within a position sensorless control mode section, such as a section in which increases from ω1 to ω2.
[0126] 13 is a diagram illustrating an example of a current vector locus according to the third embodiment of the present disclosure. * and the sensorless q-axis current command value iq_sl *is generated according to equations (23) and (24) using the first weighting coefficient W_up and the second weighting coefficient W_down, the continuity of the current vector is maintained even when the operation mode transitions from the synchronous operation mode to the position sensorless control mode, as shown in Fig. 13. Therefore, as shown in Figs. 2 and 3 above, the continuity of the d-axis current command value and the q-axis current command value is maintained when the operation mode is switched from the synchronous operation mode M2 to the position sensorless control mode M3. As a result, it is possible to reduce switching shock due to current jumps, speed jumps, etc., when transitioning to the position sensorless control mode, and therefore it is possible to further improve the stability of control of the motor M when transitioning to the position sensorless control mode.
[0127] The third embodiment has been described above.
[0128] [Example 4] There is a concern that a switching shock may occur when transitioning from the synchronous operation mode M2 to the position sensorless control mode M3 due to periodic torque fluctuations at the start of the motor M. In the fourth embodiment, the speed fluctuations due to periodic torque fluctuations at the start of the motor M are suppressed, and the switching shock when transitioning from the synchronous operation mode M2 to the position sensorless control mode M3 is reduced. Below, the points that differ from the first embodiment will be described.
[0129] <Motor control device configuration> 14 is a diagram illustrating an example of the configuration of a motor control device according to a fourth embodiment of the present disclosure. In FIG. 14, a motor control device 100c includes adders 81, 52, and 62, a speed fluctuation correction value generator 61, a torque fluctuation correction value generator 63, and a q-axis current correction value calculator 64.
[0130] The axis error Δθ calculated by the axis error calculator 30 is input to the PLL controller 31 , the synchronous operation current command value generator 13 and the speed fluctuation correction value generator 61 .
[0131] The position estimator 32 generates a rotational phase θdq of the dc-qc coordinate axes by integrating the speed information ω_cor calculated by the adder 62. When the operation mode is in the synchronous operation mode, the switch SW3 is connected to the contact B, so that the adder 62 integrates the speed fluctuation value Δω output from the speed fluctuation correction value generator 61 into a speed command value ω, which is a command value for an electrical angular velocity input to the motor control device 100c from outside the motor control device 100c (for example, a higher-level controller). * By adding this to the speed fluctuation value Δω, a speed command value corrected by the speed fluctuation value Δω (hereinafter sometimes referred to as a "corrected speed command value"). Therefore, when the operation mode is the synchronous operation mode, the corrected speed command value is input to the position estimator 32 as the speed information ω_cor. Therefore, in the synchronous operation mode, the speed command value ω * The motor M is synchronized with the rotational phase θdq generated based on the above. On the other hand, when the operation mode is in the position sensorless control mode, the switch SW3 is connected to the contact A, so that the adder 62 adds the speed fluctuation value Δω output from the speed fluctuation correction value generator 61 to the speed estimation value ω, which is an estimate of the electrical angular velocity output from the PLL controller 31, to calculate a speed estimation value corrected by the speed fluctuation value Δω (hereinafter sometimes referred to as a "corrected speed estimation value"). Therefore, when the operation mode is in the position sensorless control mode, the corrected speed estimation value is input to the position estimator 32 as speed information ω_cor, so that in the position sensorless control mode, the rotational phase θdq is generated based on the speed estimation value ω obtained by feedback controlling the axis error Δθ.
[0132] In addition, the position estimator 32 generates a mechanical angle phase θm that represents the rotation angle of the rotor position of the motor M based on the speed information ω_cor input via the switch SW3.
[0133] The PLL controller 31 performs proportional-integral control of the axis error Δθ to calculate a speed estimate ω such that the axis error Δθ becomes 0. The speed estimate ω calculated by the PLL controller 31 is input to the adder 62 via the switch SW3, and the corrected speed estimate is input to the position estimator 32 to correct the rotational phase θdq, thereby making it possible to bring the axis error Δθ closer to 0.
[0134] The subtractor 11 subtracts the speed command value ω * The speed error ω_dif is calculated by subtracting the speed estimated value ω from the
[0135] The speed controller 12 controls the speed error ω_dif in a proportional-integral manner to obtain an average torque command value T_ave such that the average component of the periodically pulsating speed error ω_dif approaches zero. * Generate.
[0136] The adder 81 adds the torque fluctuation correction value ΔT output from the torque fluctuation correction value generator 63 to the average torque command value T_ave * The total torque command value T * Calculate.
[0137] When the operation mode is the position sensorless control mode, the sensorless current command value generator 14 generates a total torque command value T based on a constant torque curve, which is a current trajectory where the total torque is constant. * is converted into a current vector on the dq coordinate axis, the sensorless d-axis current command value id_sl * and the sensorless q-axis current command value iq_sl * Hereinafter, the sensorless d-axis current command value and the sensorless q-axis current command value may be collectively referred to as the "sensorless current command value."
[0138] On the other hand, when the operation mode is the synchronous operation mode, the switch SW1 is connected to the contact B. Therefore, the synchronous operation d-axis current command value id_sy generated by the synchronous operation current command value generator 13 * is the d-axis current command value id input to the subtractor 18 and the decoupling controller 36. *In addition, when the operation mode is the synchronous operation mode, the switch SW2 is connected to the contact B, so that the adder 52 multiplies the q-axis current correction value Δiq_t output from the q-axis current correction value calculator 64 by the synchronous operation q-axis current command value iq_sy generated by the synchronous operation current command value generator 13. * The synchronous operation q-axis current command value corrected by the q-axis current correction value Δiq_t (hereinafter sometimes referred to as the "corrected synchronous operation q-axis current command value") iq_sy * Therefore, when the operation mode is the synchronous operation mode, the corrected synchronous operation q-axis current command value iq_sy * ' is the q-axis current command value iq * In the following description, the synchronous operation d-axis current command value and the synchronous operation q-axis current command value may be collectively referred to as the "synchronous operation current command value."
[0139] <Operation of the motor control device when there is no periodic torque fluctuation> When there is no periodic torque fluctuation, the motor control device 100c operates in the same manner as in the first embodiment, as shown in Fig. 2 and Fig. 3. However, when the operation mode is the positioning mode M1 or the synchronous operation mode M2, the switches SW1 and SW2 are connected to the contact B, so that the synchronous operation d-axis current command value id_sy generated by the synchronous operation current command value generator 13 is * and the corrected synchronous operation q-axis current command value iq_sy * ' is the d-axis current command value id input to the subtractors 18 and 19 and the decoupling controller 36. * and q-axis current command value iq * It becomes.
[0140] <Motor control device operation when there are periodic load torque fluctuations> 15 and 16 are diagrams illustrating an example of operation of the motor control device according to the fourth embodiment of the present disclosure. FIGS. 15 and 16 illustrate an example of operation when there is a periodic load torque fluctuation (hereinafter sometimes referred to as "periodic torque fluctuation"). FIG. 15 illustrates an example of operation under a light load, and FIG. 16 illustrates an example of operation under an overload. In FIGS. 15 and 16, in the current adjustment section I2, the motor control device 100c operates in the same manner as in the example of operation when there is no periodic torque fluctuation, thereby adjusting the average current according to the average load torque. In addition, in the current adjustment section I2, the amount of fluctuation in the rotation speed of the motor M is within a speed fluctuation allowable value |Δω|, which will be described later. * The amount of fluctuation in current is adjusted in response to the periodic torque fluctuation so that the periodic torque fluctuation is suppressed to within a range of 0.5 to 1.0 V. In this manner, the suppression of the periodic torque fluctuation is performed from the current adjustment section I2 of the synchronous operation mode M2.
[0141] <Configuration of the speed fluctuation correction value generator> Fig. 17 is a diagram showing an example of the configuration of a speed fluctuation correction value generator according to Example 4 of the present disclosure. In Fig. 17, a speed fluctuation correction value generator 61 has an axis error fluctuation component separator 611, an axis error fluctuation integrator 612, and a speed fluctuation demodulator 613. The speed fluctuation correction value generator 61 receives the mechanical angle phase θm from the position estimator 32 and the axis error Δθ from the axis error calculator 30.
[0142] In the motor control device 100c, the fluctuation in the axis error Δθ caused by periodic torque fluctuation (hereinafter sometimes referred to as "axis error fluctuation") is fed back, and the fluctuation in the rotational speed of the motor M (hereinafter sometimes referred to as "speed fluctuation") required to make the axis error fluctuation zero is generated for each mechanical angle period.
[0143] Therefore, the axis error fluctuation component separator 611 separates the fundamental component of the axis error fluctuation from which the harmonic components have been removed into a sine component and a cosine component based on the axis error Δθ and the mechanical angle phase θm. The axis error fluctuation component separator 611 calculates the first Fourier coefficient Δθsin and the second Fourier coefficient Δθcos according to equations (25) and (26) to separate the fundamental component of the axis error fluctuation into a sine component and a cosine component. The axis error fluctuation component separator 611 calculates and updates the first Fourier coefficient Δθsin and the second Fourier coefficient Δθcos for each mechanical angle period. By updating the Fourier coefficient of the fundamental component for each mechanical angle period, the axis error fluctuation fundamental component from which the harmonic components of the axis error fluctuation have been removed can be extracted with high accuracy.
number
[0144] The axis error fluctuation integrator 612 calculates an integrated value Δθsin_i of the multiplication result Δθsin·k_Δθ of the first Fourier coefficient Δθsin and the correction gain k_Δθ for correcting the axis error fluctuation according to equation (27), and calculates an integrated value Δθcos_i of the multiplication result Δθcos·k_Δθ of the second Fourier coefficient Δθcos and the correction gain k_Δθ according to equation (28). Δθsin_i_old in equation (27) is the integrated value Δθsin_i calculated in the previous mechanical angle period, and Δθcos_i_old in equation (28) is the integrated value Δθcos_i calculated in the previous mechanical angle period. The calculation of the integrated value Δθsin_i and the integrated value Δθcos_i starts in the current adjustment section I2 and continues in the position sensorless control mode M3.
number
[0145] The speed fluctuation demodulator 613 demodulates the speed fluctuation value Δω using the integrated values Δθsin_i, Δθcos_i according to equation (29) to generate a speed fluctuation value Δω. By generating the speed fluctuation value Δω according to equation (29), a speed fluctuation whose phase lags by π / 2 from the integrated value of the axis error fluctuation is generated, and an instantaneous value of the speed fluctuation at the mechanical angle phase θm is generated. Here, by generating a speed fluctuation whose phase lags by π / 2 with respect to the axis error fluctuation, a position fluctuation represented by the integral of the speed fluctuation occurs with a phase that lags by an additional π / 2 from the speed fluctuation. Therefore, the position fluctuation has an opposite phase to the axis error fluctuation, and the axis error fluctuation is converged to zero.
number
[0146] In addition, when a theoretical mathematical relationship is established between the axis error fluctuation and the speed fluctuation, it is possible to converge the axis error fluctuation to zero by generating a speed fluctuation value Δω whose phase is delayed by a fixed value of π / 2 from the phase of the axis error fluctuation according to equation (29). However, when the axis error Δθ itself contains an error, the theoretical mathematical relationship between the axis error fluctuation and the speed fluctuation does not hold, so there is a risk that the axis error fluctuation cannot be converged to zero with the phase of the speed fluctuation whose phase is delayed by a fixed value of π / 2 from the phase of the axis error fluctuation. It is considered that the error of the axis error Δθ itself occurs due to the response speed of the axis error calculator 30, which depends on the rotation speed of the motor M. Therefore, when the axis error Δθ itself contains an error, the axis error fluctuation can be converged to zero by changing the shift amount θshift of the phase of the speed fluctuation relative to the phase of the axis error fluctuation according to the rotation speed of the motor M. Therefore, when the axis error Δθ itself contains an error, it is preferable that the speed fluctuation demodulator 613 generates the speed fluctuation value Δω according to equations (30) to (33). f(ω * ) is the speed command value ω * is a function whose input is the speed command value ω * The phase of the speed fluctuation is expressed by, for example, a linear or quadratic function so that the phase of the speed fluctuation changes depending on
[0147] As described above, the preferred method of generating the speed fluctuation value Δω differs depending on whether or not the axis error Δθ itself contains an error. Therefore, it is preferable to confirm in advance by experiment or the like whether or not the axis error Δθ itself contains an error, and to set in advance in the motor control device 100c a method of generating the speed fluctuation value Δω depending on whether or not the axis error Δθ itself contains an error.
number
[0148] The speed fluctuation value Δω generated according to the equation (29) or the equation (30) is * and is used as a speed fluctuation correction value for correcting the speed estimated value ω.
[0149] The configuration of the speed fluctuation correction value generator 61 has been described above.
[0150] Returning to FIG. 14, when the operation mode is the synchronous operation mode, the adder 62 calculates the speed command value ω * When the operation mode is in the position sensorless control mode, the adder 62 adds the speed fluctuation value Δω to the speed estimated value ω as a speed fluctuation correction value to calculate speed information ω_cor, which is the corrected speed command value.
number
[0151] The position estimator 32 generates the rotational phase θdq by integrating the speed information ω_cor according to equation (35).
number
[0152] Furthermore, the position estimator 32 generates the mechanical angle phase θm in accordance with the equation (36) based on the speed information ω_cor.
number
[0153] As described above, the speed command value ω * Furthermore, since the fluctuation component of the speed estimated value ω is corrected by the speed fluctuation value Δω, an accurate position estimation can be performed in which the dq coordinate axes and the dc-qc coordinate axes including the fluctuation component coincide with each other.
[0154] <Configuration of Torque Fluctuation Correction Value Generator> Fig. 18 is a diagram showing an example of the configuration of a torque fluctuation correction value generator according to a fourth embodiment of the present disclosure. In Fig. 18, the torque fluctuation correction value generator 63 has a speed fluctuation component separator 631, a speed fluctuation amplitude calculator 632, a subtractor 633, a correction torque amplitude calculator 634, a speed fluctuation phase corrector 635, an orthogonal component separator 636, and a correction torque demodulator 637. The speed fluctuation value Δω is input to the torque fluctuation correction value generator 63 from the speed fluctuation correction value generator 61, and the mechanical angle phase θm is input to the position estimator 32. The torque fluctuation correction value generator 63 also receives a speed fluctuation allowable value |Δω| from outside the motor control device 100c (for example, a higher-level controller). * is input. Speed fluctuation tolerance |Δω| * is a tolerance for the amplitude value of the speed fluctuation, and is set to a value that keeps the vibration generated in the motor M within a tolerance range. The torque fluctuation correction value generator 63 calculates the torque fluctuation correction value when the fluctuation of the speed estimate value ω is less than the speed fluctuation tolerance value |Δω| * In order to suppress the torque fluctuation correction value ΔT within the range, the torque fluctuation correction value ΔT is generated as follows.
[0155] The torque fluctuation correction value generator 63 adjusts the amplitude and phase of the torque fluctuation correction value ΔT for each mechanical angle period based on the fed back speed fluctuation value Δω so that the vibration generated in the motor M is within a range of speed fluctuation that does not cause problems in practical use.
[0156] Therefore, the speed fluctuation component separator 631 separates the fundamental wave component of the speed fluctuation from which the harmonic components have been removed into a sine component and a cosine component based on the speed fluctuation value Δω and the mechanical angle phase θm. The speed fluctuation component separator 631 separates the fundamental wave component of the speed fluctuation into a sine component and a cosine component by calculating the third Fourier coefficient ωsin and the fourth Fourier coefficient ωcos according to equations (37) and (38). The speed fluctuation component separator 631 calculates and updates the third Fourier coefficient ωsin and the fourth Fourier coefficient ωcos for each mechanical angle period. By the speed fluctuation component separator 631 updating the Fourier coefficient of the fundamental wave component for each mechanical angle period, it is possible to accurately extract the speed fluctuation fundamental wave component from which the harmonic components of the speed fluctuation have been removed.
number
[0157] The speed fluctuation amplitude calculator 632 calculates the amplitude value |Δω| of the speed fluctuation fundamental wave component based on the third Fourier coefficient ωsin and the fourth Fourier coefficient ωcos in accordance with equation (39). Since the third Fourier coefficient ωsin and the fourth Fourier coefficient ωcos are updated every mechanical angle cycle as described above, the amplitude value |Δω| is also updated every mechanical angle cycle.
number
[0158] The subtractor 633 subtracts the speed fluctuation allowable value |Δω| from the amplitude value |Δω|. * and subtract the difference value |Δω|-|Δω| * to the corrected torque amplitude calculator 634.
[0159] The correction torque amplitude calculator 634 calculates the difference value |Δω|-|Δω| according to the equation (40). * and the multiplication result k_Δω·(|Δω|-|Δω| *) for each mechanical angle cycle to calculate the corrected torque amplitude |ΔT| for each mechanical angle cycle. |ΔT|_old in equation (40) is the corrected torque amplitude |ΔT| calculated for the previous mechanical angle cycle. The amount of change in the corrected torque amplitude |ΔT| is determined by the magnitude of the correction gain k_Δω in equation (40). Setting the correction gain k_Δω in equation (40) to an appropriate value can suppress hunting of speed fluctuations at the boundary of the speed fluctuation allowable value, and can suppress the speed fluctuations from exceeding the speed fluctuation allowable value due to a sudden change in load torque, resulting in the generation of vibrations and noise in the motor M. The calculation of the corrected torque amplitude |ΔT| starts in the current adjustment section I2 and continues in the position sensorless control mode M3.
number
[0160] The speed fluctuation phase corrector 635 calculates an integrated value ωsin_i of the multiplication result ωsin·k_Δω of the third Fourier coefficient ωsin and the correction gain k_Δω according to equation (41), and calculates an integrated value ωcos_i of the multiplication result ωcos·k_Δω of the fourth Fourier coefficient ωcos and the correction gain k_Δω according to equation (42). ωsin_i_old in equation (41) is the integrated value ωsin_i calculated in the previous mechanical angle cycle, and ωcos_i_old in equation (42) is the integrated value ωcos_i calculated in the previous mechanical angle cycle.
number
[0161] Further, the speed fluctuation phase corrector 635 calculates a phase (hereinafter sometimes referred to as "speed fluctuation correction phase") φωi in which the phase of the speed fluctuation component is corrected, based on the integrated values ωsin_i and ωcos_i, in accordance with equation (43). The speed fluctuation correction phase φωi becomes the reference for the torque control phase, and the phase delayed by π / 2 from the speed fluctuation correction phase φωi becomes the correction torque phase.
number
[0162] The orthogonal component separator 636 calculates a sine component ωsin_i of the fundamental wave whose amplitude is the correction torque amplitude |ΔT| and whose phase is the speed fluctuation correction phase φωi according to equation (44), and calculates a cosine component ωcos_i of the fundamental wave whose amplitude is the correction torque amplitude |ΔT| and whose phase is the speed fluctuation correction phase φωi according to equation (45). This process rewrites equations (41) and (42) based on the results of equations (44) and (45), and also plays a role in preventing divergence during phase correction by the calculation of equations (41) and (42).
number
[0163] The correction torque demodulator 637 demodulates the torque fluctuation correction value ΔT using the sine component ωsin_i and the cosine component ωcos_i according to equation (46) to generate the torque fluctuation correction value ΔT. By generating the torque fluctuation correction value ΔT according to equation (46), a correction torque phase that lags behind the speed fluctuation correction phase φωi by π / 2 is calculated, and an instantaneous value of the correction torque at the mechanical angle phase θm is generated.
number
[0164] The correction torque demodulator 637 may generate the torque fluctuation correction value ΔT according to the equation (47) instead of the equation (46).
number
[0165] The above describes the configuration of the torque fluctuation correction value generator 63. The torque fluctuation correction value ΔT generated as above is used to calculate the average torque command value T_ave * By correcting the difference, the fluctuation in the rotation speed of the motor M is suppressed.
[0166] Returning to FIG. 14, the torque fluctuation correction value ΔT generated by the torque fluctuation correction value generator 63 is input to the adder 81 and the q-axis current correction value calculator 64. The q-axis current correction value calculator 64 also receives the synchronous operation d-axis current command value id_sy from the synchronous operation current command value generator 13. * is entered.
[0167] The q-axis current correction value calculator 64 converts the torque-dimensional physical quantity into a current-dimensional physical quantity in accordance with the equation (48) to calculate the q-axis current correction value Δiq_t from the torque fluctuation correction value ΔT.
number
[0168] The adder 52 converts the q-axis current correction value Δiq_t into the synchronous operation q-axis current command value iq_sy * By adding to the corrected synchronous operation q-axis current command value iq_sy * ' is calculated.
[0169] As described above, in the current adjustment section I2 of the synchronous operation mode M2, the speed fluctuation value Δω required to suppress the axis error fluctuation is generated. In addition, the torque fluctuation correction value ΔT is generated based on the speed fluctuation value Δω, and the corrected synchronous operation q-axis current command value iq_sy * This suppresses speed fluctuations caused by periodic torque fluctuations when starting up the motor M. This reduces vibration and noise of the motor M, as well as the switching shock when transitioning to the position sensorless control mode M3.
[0170] Here, the speed fluctuation correction value generator 61 generates a speed fluctuation value Δω required to make the axis error fluctuation 0. As a result, from the viewpoint of improving the efficiency of the motor M, the speed fluctuation allowable value |Δω| * is set to a large value, the fluctuation of the axis error Δθ is suppressed. Therefore, the torque control functions normally, and the vibration and noise of the motor M can be reduced, and the switching shock when switching to the position sensorless control mode M3 can be reduced.
[0171] Furthermore, the torque fluctuation correction value generator 63 generates a torque fluctuation correction value ΔT based on the speed fluctuation value Δω. This makes it possible to realize torque control based on the torque fluctuation correction value ΔT regardless of whether the operation mode is the synchronous operation mode or the sensorless control mode.
[0172] In the above description, an example has been given of a configuration in which the motor control device 100c has a separate speed fluctuation correction value generator 61 and a separate torque fluctuation correction value generator 63. However, instead of having the separate speed fluctuation correction value generator 61 and the torque fluctuation correction value generator 63, the motor control device 100c may have a "torque controller" that integrates the speed fluctuation correction value generator 61 and the torque fluctuation correction value generator 63.
[0173] The fourth embodiment has been described above.
[0174] [Example 5] Depending on the parameters that determine the characteristics of the motor M, such as the winding resistance, the d-axis inductance, the q-axis inductance, and the linkage magnetic flux, and the size of the load, the fluctuation amplitude of the q-axis current correction value Δiq_t increases, and the current detection value may not follow the current command value due to the response delay of the current controller 20 and the influence of interference between the d and q axes.
[0175] Therefore, in the fifth embodiment, the ability of the current detection value to follow the current command value is improved. Hereinafter, the points different from the fourth embodiment will be described.
[0176] <Motor control device configuration> 19 is a diagram illustrating an example of the configuration of a motor control device according to a fifth embodiment of the present disclosure. In FIG. 19, a motor control device 100d includes a current tracking error correction value generator 71 and adders 72 and 73. The current tracking error correction value generator 71 receives a d-axis current command value id * and q-axis current command value iq *The current tracking error correction value generator 71 also receives the mechanical angle phase θm from the position estimator 32, and receives the d-axis current detection value id and the q-axis current detection value iq from the uvw / dq converter 29.
[0177] <Configuration of current tracking error correction value generator> Here, the current detection value fluctuates with the period of the periodic torque fluctuation. Therefore, although the average value of the current detection value follows the average value of the current command value, the fluctuation component of the current detection value may not follow the fluctuation component of the current command value due to the effect of the response delay of the current controller 20 and interference between the d- and q-axes. When the current detection value does not follow the current command value, a shift occurs between the phase of the current detection value and the phase of the current command value.
[0178] Therefore, the current tracking error correction value generator 71 has the following configuration. Fig. 20 is a diagram showing an example of the configuration of a current tracking error correction value generator according to a fifth embodiment of the present disclosure. In Fig. 20, the current tracking error correction value generator 71 has subtractors 711 and 712, a d-axis current error component separator 713, a q-axis current error component separator 714, a d-axis current error integrator 715, a q-axis current error integrator 716, a d-axis current error correction value demodulator 717, and a q-axis current error correction value demodulator 718.
[0179] The subtractor 711 subtracts the d-axis current command value id from the d-axis current detection value id according to equation (49). * The d-axis current fluctuation error id_err is calculated by subtracting
number
[0180] The d-axis current error component separator 713 calculates a fifth Fourier coefficient id_err_sin and a sixth Fourier coefficient id_err_cos according to equations (50) and (51) to separate the fundamental component of the d-axis current fluctuation error id_err from which harmonic components have been removed into a sine component and a cosine component. The d-axis current error component separator 713 calculates and updates the fifth Fourier coefficient id_err_sin and the sixth Fourier coefficient id_err_cos for each mechanical angle period. The d-axis current error component separator 713 updates the Fourier coefficient of the fundamental component for each mechanical angle period, thereby enabling the d-axis current fluctuation error fundamental component from which harmonic components of the d-axis current fluctuation error id_err have been removed to be extracted with high accuracy.
number
[0181] The d-axis current error integrator 715 calculates an integrated value id_err_sin_i of the multiplication result id_err_sin·k_Δid of the fifth Fourier coefficient id_err_sin and the correction gain k_Δid for correcting the d-axis current fluctuation error id_err according to equation (52), and calculates an integrated value id_err_cos_i of the multiplication result id_err_cos·k_Δid of the sixth Fourier coefficient id_err_cos and the correction gain k_Δid according to equation (53). In equation (52), id_err_sin_i_old is the integrated value id_err_sin_i calculated in the previous mechanical angle cycle, and in equation (53), id_err_cos_i_old is the integrated value id_err_cos_i calculated in the previous mechanical angle cycle. Furthermore, the calculation of the integrated value id_err_sin_i and the integrated value id_err_cos_i starts in the current adjustment section I2 and continues in the position sensorless control mode M3.
number
[0182] The d-axis current error correction value demodulator 717 demodulates the d-axis current error correction value Δid_i using the integrated values id_err_sin_i, id_err_cos_i in accordance with equation (54) to generate the d-axis current error correction value Δid_i, and outputs the generated d-axis current error correction value Δid_i to the adder 72. By generating the d-axis current error correction value Δid_i in accordance with equation (54), a d-axis current error correction value Δid_i with an inverted phase is generated from the integrated value of the d-axis current fluctuation error id_err, and an instantaneous value of the d-axis current error correction value Δid_i at the mechanical angle phase θm is generated.
number
[0183] On the other hand, a subtractor 712 subtracts the q-axis current command value iq from the q-axis current detection value iq according to the equation (55). * The q-axis current fluctuation error iq_err is calculated by subtracting
number
[0184] The q-axis current error component separator 714 calculates a seventh Fourier coefficient iq_err_sin and an eighth Fourier coefficient iq_err_cos according to equations (56) and (57) to separate the fundamental component of the q-axis current fluctuation error iq_err from which harmonic components have been removed into a sine component and a cosine component. The q-axis current error component separator 714 calculates and updates the seventh Fourier coefficient iq_err_sin and the eighth Fourier coefficient iq_err_cos for each mechanical angle period. The q-axis current error component separator 714 updates the Fourier coefficient of the fundamental component for each mechanical angle period, thereby enabling the q-axis current fluctuation error fundamental component from which harmonic components of the q-axis current fluctuation error iq_err have been removed to be extracted with high accuracy.
number
[0185] A q-axis current error integrator 716 calculates an integrated value iq_err_sin_i of the multiplication result iq_err_sin·k_Δiq of the seventh Fourier coefficient iq_err_sin and the correction gain k_Δiq for correcting the q-axis current fluctuation error iq_err according to equation (58), and calculates an integrated value iq_err_cos_i of the multiplication result iq_err_cos·k_Δiq of the eighth Fourier coefficient iq_err_cos and the correction gain k_Δiq according to equation (59). iq_err_sin_i_old in equation (58) is the integrated value iq_err_sin_i calculated in the previous mechanical angle cycle, and iq_err_cos_i_old in equation (59) is the integrated value iq_err_cos_i calculated in the previous mechanical angle cycle. Furthermore, the calculation of the integrated value iq_err_sin_i and the integrated value iq_err_cos_i starts in the current adjustment section I2 and continues in the position sensorless control mode M3.
number
[0186] The q-axis current error correction value demodulator 718 demodulates the q-axis current error correction value Δiq_i by using the integrated values iq_err_sin_i, iq_err_cos_i according to equation (60) to generate the q-axis current error correction value Δiq_i, and outputs the generated q-axis current error correction value Δiq_i to the adder 73. By generating the q-axis current error correction value Δiq_i according to equation (60), a q-axis current error correction value Δiq_i with an inverted phase is generated from the integrated value of the q-axis current fluctuation error iq_err, and an instantaneous value of the q-axis current error correction value Δiq_i at the mechanical angle phase θm is generated.
number
[0187] Returning to FIG. 19, the adder 72 calculates the d-axis current command value id * The d-axis current command value after correction using the d-axis current error correction value Δid_i is obtained by adding the d-axis current error correction value Δid_i to the * Calculate.
number
[0188] The adder 73 calculates the q-axis current command value iq according to the equation (62). * The corrected q-axis current command value iq_FF is obtained by adding the q-axis current error correction value Δiq_i to the * Calculate.
number
[0189] The subtractor 18 calculates the corrected d-axis current command value id_FF * The subtractor 19 calculates the d-axis current error id_dif by subtracting the d-axis current detection value id from the corrected q-axis current command value iq_FF. * The q-axis current error iq_dif' is calculated by subtracting the q-axis current detection value iq from
[0190] The current controller 20 calculates a d-axis voltage command value Vd_cc before decoupling by performing proportional-integral control on the d-axis current error id_dif, and calculates a q-axis voltage command value Vq_cc before decoupling by performing proportional-integral control on the q-axis current error iq_dif.
[0191] In the above manner, the d-axis current error correction value Δid_i and the q-axis current error correction value Δiq_i are used to calculate the d-axis current command value id * and q-axis current command value iq * By correcting the above, it is possible to suppress the response delay of the current controller 20 and the interference between the d-axis and q-axis caused by the current control, and therefore the ability of the detected current value to follow the current command value is improved.
[0192] The fifth embodiment has been described above.
[0193] As described above, the motor control device (motor control devices 100a, 100b, 100c, and 100d of the embodiment) of the present disclosure controls a motor (motor M of the embodiment) so that the rotation speed of the motor coincides with the speed command value. The motor control device of the present disclosure also has a synchronous operation mode in which the motor is synchronized with a rotation phase obtained by integrating the speed command value, and a position sensorless control mode in which the motor is controlled so that a speed estimate value obtained by feedback control of an axis error between a control system coordinate axis and a rotor coordinate axis coincides with the speed command value. The motor control device of the present disclosure also has a synchronous operation current command value generator (synchronous operation current command value generator 13 of the embodiment), a voltage command value generator (current controller 20, non-interacting controller 36, and adder 21 of the embodiment), and a determiner (lock determiner 52 of the embodiment). The synchronous operation current command value generator generates a current command value in the synchronous operation mode. The voltage command value generator generates a voltage command value so that the current flowing through the motor coincides with the current command value. The determiner determines whether or not the motor is locked based on the voltage command value.
[0194] For example, the determiner determines whether or not the motor is locked based on the magnitude of the voltage command value.
[0195] Also, for example, the synchronous operation mode has a speed increase section and a current adjustment section, and the determiner determines whether or not the motor is locked based on the voltage command value in the speed increase section.
[0196] Also, for example, the determiner determines whether or not the motor is locked based on a result of comparing the voltage command value with a threshold value (lock determination threshold value V_jd in the embodiment).
[0197] For example, the threshold value is set to a value between the motor output voltage value when the motor is locked (the second lock determination threshold value V_jd_2 in the embodiment) and the motor output voltage value when the motor is not locked (the first lock determination threshold value V_jd_1).
[0198] The motor control device of the present disclosure also includes a corrector (voltage calculator 51 in the embodiment). The corrector corrects the voltage command value and outputs a corrected voltage command value, which is the voltage command value after correction. The determiner determines whether or not the motor is locked based on the magnitude of the corrected voltage command value.
[0199] Furthermore, the synchronous operation current command value generator increases the motor rotation speed to a predetermined rotation speed (predetermined rotation speed ω1 in the embodiment) in the speed increase section, and then adjusts the q-axis current command value in the current adjustment section by performing feedback control to bring the axis error closer to 0 while bringing the d-axis current command value closer to the target command value (target command value id_sy_end in the embodiment). The determiner can determine whether the motor is locked in the speed increase section, and this can improve the reliability of the feedback control of the axis error in the current adjustment section.
[0200] The motor control device of the present disclosure also has a position sensorless current command value generator (sensorless current command value generator 14 in the embodiment). The synchronous operation current command value generator sets the d-axis current command value to a predetermined value (predetermined value id_ini in the embodiment) that is greater than the target command value in the speed increase section. The position sensorless current command value generator adjusts the d-axis current command value to a value smaller than the target command value in the position sensorless control mode.
[0201] In addition, the synchronous operation current command value generator brings the d-axis current command value closer to a target command value having a positive value near 0 in the synchronous operation mode, and the position sensorless current command value generator adjusts the d-axis current command value to a value equal to or less than 0 in the position sensorless control mode.
[0202] The motor control device of the present disclosure also has a speed controller (speed controller 12 in the embodiment). When the operation mode transitions from the synchronous operation mode to the position sensorless control mode, the speed controller sets an initial value of the torque command value for bringing the difference between the speed command value and the speed estimated value closer to 0, based on the final value of the d-axis current command value in the synchronous operation mode and the final value of the q-axis current command value in the synchronous operation mode.
[0203] The motor control device of the present disclosure also has a PLL controller (PLL controller 31b in the embodiment) and a position estimator (position estimator 32 in the embodiment). In the current adjustment section, the PLL controller calculates a speed fluctuation component (speed fluctuation component ωa in the embodiment) by proportionally controlling the axis error, and calculates a speed correction value based on the speed fluctuation component, while in the position sensorless control mode, it calculates a speed estimated value by proportional-integral control of the axis error. In the current adjustment section, the position estimator generates a rotation phase based on a speed command value and a speed correction value, while in the position sensorless control mode, it generates a rotation phase by integrating the speed estimated value.
[0204] Furthermore, in the current adjustment section, the PLL controller calculates a speed correction value by multiplying the speed fluctuation component by a coefficient that increases with the passage of time.
[0205] The position sensorless current command value generator includes a first current command generator (MTPA current command value generator 142 in the embodiment), a second current command generator (synchronous operation final current command value generator 143 in the embodiment), and a coefficient generator (weighting coefficient generator 141 in the embodiment). The first current command generator generates a first tentative current command value (MTPA current command value in the embodiment) in the position sensorless control mode. The second current command generator generates a second tentative current command value (final point current command value in the embodiment) based on a d-axis current command value immediately before the operation mode transitions from the synchronous operation mode to the position sensorless control mode. The coefficient generator generates an increase coefficient (first weighting coefficient W_up in the embodiment) that increases from 0 to 1 from the start to the end of the smoothing section (current vector smoothing section in the embodiment) set in the section in which the operation mode is in the position sensorless control mode, and a decrease coefficient (second weighting coefficient W_down in the embodiment) that decreases from 1 to 0 from the start to the end of the smoothing section. Then, the position sensorless current command value generator generates a current command value in the position sensorless control mode by adding the product of the first provisional current command value and an increase coefficient to the product of the second provisional current command value and a decrease coefficient.
[0206] The motor control device of the present disclosure also has a torque controller (a speed fluctuation correction value generator 61 and a torque fluctuation correction value generator 63 in the embodiment). In the speed increase section, the synchronous operation current command value generator sets the current command value to a predetermined value (a predetermined value id_ini in the embodiment) to increase the motor rotation speed to a predetermined rotation speed (a predetermined rotation speed ω1 in the embodiment), and then adjusts the current command value in accordance with the motor load in the current adjustment section. The torque controller performs torque control of the motor in the current adjustment section.
[0207] The torque controller also has a speed fluctuation correction value generator (speed fluctuation correction value generator 61 in the embodiment). The speed fluctuation correction value generator generates a speed fluctuation correction value (speed fluctuation value Δω in the embodiment) based on the fluctuation components of the axial error in the current adjustment section. The determiner can determine whether the motor is locked in the speed increase section, thereby improving the reliability of the feedback control of the axial error in the current adjustment section. Therefore, the reliability of the speed fluctuation correction value based on the fluctuation components of the axial error when the operation mode transitions to the position sensorless control mode is also improved, making it possible to reliably suppress vibrations by torque control.
[0208] The torque controller also has a torque fluctuation correction value generator (torque fluctuation correction value generator 63 in the embodiment). The torque fluctuation correction value generator generates a torque fluctuation correction value (torque fluctuation correction value ΔT in the embodiment) for suppressing fluctuations in the rotation speed of the motor based on the speed fluctuation correction value. The motor control device of the present disclosure also has a current correction value calculator (q-axis current correction value calculator 64 in the embodiment). The current correction value calculator calculates a current correction value (q-axis current correction value Δiq_t in the embodiment) based on the torque fluctuation correction value. The current correction value is calculated based on the q-axis current command value (synchronous operation q-axis current command value iq_sy in the embodiment). * ) is a correction value (q-axis current correction value Δiq_t in the embodiment).
[0209] In addition, the synchronous operation current command value generator generates a d-axis current command value (synchronous operation d-axis current command value id_sy in the embodiment) in the current adjustment section. *) to a target command value (target command value id_sy_end in the embodiment) having a value smaller than a predetermined value, and the q-axis current command value (synchronous operation q-axis current command value iq_sy in the embodiment) is obtained by feedback control so as to bring the axis error closer to zero. * ) to adjust the
[0210] The motor control device disclosed herein also has a current tracking error correction value generator (current tracking error correction value generator 71 in the embodiment) and an adder (adders 72 and 73 in the embodiment). The current tracking error correction value generator generates current tracking error correction values (d-axis current error correction value Δid_i, q-axis current error correction value Δiq_i in the embodiment) based on the current error (d-axis current fluctuation error id_err, q-axis current fluctuation error iq_err in the embodiment) between the current command value and the current detection value. The adder generates a corrected current command value (corrected d-axis current command value id_FF in the embodiment) by adding the current tracking error correction value to the current command value. * , corrected q-axis current command value iq_FF * ) is calculated.
[0211] Moreover, the current tracking error correction value generator integrates the current error, and generates a value with the phase of the current error integration result inverted as the current tracking error correction value.
[0212] The components of each part shown in the figure do not necessarily have to be physically configured as shown in the figure. The specific form of distribution and integration of the components of each part is not limited to that shown in the figure, and all or part of the components of each part may be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.
[0213] Furthermore, all or any part of the various processing functions described above may be executed using a processor such as a CPU (Central Processing Unit), MPU (Micro Processing Unit), MCU (Micro Controller Unit), etc. Also, all or any part of the various processing functions may be executed on a program executed by a processor or on hardware based on wired logic. [Explanation of symbols]
[0214] 100a, 100b, 100c, 100d Motor control device 12 Speed Controller 13 Synchronous operation current command generator 14 Sensorless current command generator 51 Voltage Calculator 512 Voltage Compensator 52 Lock Determinator
Claims
1. A motor control device that controls a motor so that a rotation speed of the motor coincides with a speed command value, a synchronous operation mode in which the motor is synchronized with a rotation phase obtained by integrating the speed command value, and a position sensorless control mode in which the motor is controlled so that a speed estimated value obtained by feedback control of an axis error between a control system coordinate axis and a rotor coordinate axis coincides with the speed command value, a synchronous operation current command value generator for generating a current command value in the synchronous operation mode; a voltage command value generator that generates a voltage command value so that a current flowing through the motor coincides with the current command value; a determiner for determining whether or not the motor is locked based on the magnitude of the voltage command value; A motor control device comprising:
2. The synchronous operation mode has a speed increase section and a current regulation section, The determiner determines whether or not the motor is locked based on the voltage command value in the speed increase section. The motor control device according to claim 1 .
3. The determiner determines whether or not the motor is locked based on a result of comparing the voltage command value with a threshold value. The motor control device according to claim 1 .
4. the threshold value is set to a value between an output voltage value of the motor when the motor is in a locked state and an output voltage value of the motor when the motor is in an unlocked state; The motor control device according to claim 3.
5. a corrector for correcting the voltage command value and outputting a corrected voltage command value, The determiner determines whether or not the motor is locked based on the magnitude of the correction voltage command value. The motor control device according to claim 1 .
6. the synchronous operation current command value generator increases the rotation speed of the motor to a predetermined rotation speed in the speed increase section, and then, in the current adjustment section, adjusts the q-axis current command value by performing feedback control so as to bring the axis error closer to zero while bringing the d-axis current command value closer to a target command value. The motor control device according to claim 2 .
7. the synchronous operation current command value generator sets the d-axis current command value to a predetermined value greater than the target command value in the speed increase section; a position sensorless current command value generator that adjusts the d-axis current command value to a value smaller than the target command value in the position sensorless control mode. The motor control device according to claim 6.
8. the synchronous operation current command value generator, in the synchronous operation mode, causes the d-axis current command value to approach the target command value having a positive value close to 0; the position sensorless current command value generator adjusts the d-axis current command value to a value equal to or less than 0 in the position sensorless control mode; The motor control device according to claim 7.
9. a speed controller that sets an initial value of a torque command value for bringing a difference between the speed command value and the speed estimated value closer to 0 based on a final value of the d-axis current command value in the synchronous operation mode and a final value of the q-axis current command value in the synchronous operation mode when an operation mode transitions from the synchronous operation mode to the position sensorless control mode. The motor control device according to claim 6.
10. a PLL controller that calculates a speed fluctuation component by proportionally controlling the axis error in the current adjustment section, calculates a speed correction value based on the speed fluctuation component, and calculates the speed estimation value by proportional-integral control of the axis error in the position sensorless control mode; a position estimator that generates the rotation phase based on the speed command value and the speed correction value in the current adjustment section, and generates the rotation phase by integrating the speed estimated value in the position sensorless control mode; The motor control device according to claim 6 , further comprising:
11. the PLL controller calculates the speed correction value by multiplying the speed fluctuation component by a coefficient that increases with time in the current adjustment section; The motor control device according to claim 10.
12. a first current command generator that generates a first tentative current command value in the position sensorless control mode; a second current command generator that generates a second tentative current command value based on a d-axis current command value immediately before an operation mode transitions from the synchronous operation mode to the position sensorless control mode; a coefficient generator that generates, in a smoothing section set within a section in which the operation mode is in the position sensorless control mode, an increase coefficient that increases from 0 to 1 from the start to the end of the smoothing section and a decrease coefficient that decreases from 1 to 0 from the start to the end of the smoothing section; a position sensorless current command generator having a the position sensorless current command value generator generates a current command value in the position sensorless control mode by adding a product of the first tentative current command value and the increase coefficient and a product of the second tentative current command value and the decrease coefficient. The motor control device according to claim 6.
13. the synchronous operation current command value generator sets a current command value to a predetermined value in the speed increase section to increase the rotation speed of the motor to a predetermined rotation speed, and then adjusts the current command value in the current adjustment section according to a load of the motor; Further comprising a torque controller for controlling the torque of the motor in the current adjustment section. The motor control device according to claim 2 .
14. The torque controller includes a speed fluctuation correction value generator that generates a speed fluctuation correction value based on a fluctuation component of the axial error in the current adjustment section. The motor control device according to claim 13.
15. the torque controller further includes a torque fluctuation correction value generator that generates a torque fluctuation correction value for suppressing fluctuations in the rotation speed of the motor based on the speed fluctuation correction value; A current correction value calculator that calculates a current correction value based on the torque fluctuation correction value. The motor control device according to claim 14.
16. the synchronous operation current command value generator reduces the d-axis current command value to a target command value having a value smaller than the predetermined value in the current adjustment section, and adjusts the q-axis current command value by performing feedback control so as to bring the axis error closer to zero; The current correction value is a correction value for the q-axis current command value. The motor control device according to claim 15.
17. a current tracking error correction value generator that generates a current tracking error correction value based on a current error between a current command value and a current detection value; an adder for calculating a corrected current command value by adding the current tracking error correction value to the current command value; The motor controller of claim 16 further comprising:
18. the current tracking error correction value generator integrates the current error, and generates a value obtained by inverting a phase of the integration result of the current error as the current tracking error correction value; The motor control device according to claim 17.
Citation Information
Patent Citations
Motor control apparatus, motor control system, motor control module, and refrigerating apparatus
JP2010029016A
Drive unit for synchronous motor, freezer, air conditioner and refrigerator using the same, and drive method for synchronous motor
JP2013146162A
Motor controller
JP2020036513A