Control device for synchronous motor
The control device for synchronous motors uses magnetic flux-based estimation to address inductance discrepancies, ensuring accurate rotor position sensing without sensors, enhancing torque control and reducing system costs.
Patent Information
- Application Number
- PCT/JP2025/022024
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-28
- Filing Date
- 2025-06-18
- Publication Date
- 2026-03-05
AI Technical Summary
Existing position sensorless control methods for synchronous motors, particularly in medium to high-speed regions, suffer from inaccuracies due to discrepancies in d-axis and q-axis inductance caused by magnetic saturation, leading to torque errors and unstable control.
A control device that estimates rotor position using magnetic flux-based voltage equations, incorporating a phase difference calculation unit, speed calculation unit, and magnetic flux calculation units to accurately determine the phase difference and rotor position, accounting for static and dynamic inductances and magnetic saturation changes.
Enables high-accuracy rotor position estimation, stabilizing position sensorless control and improving torque accuracy and control performance of synchronous motors, reducing system size and cost.
Smart Images

Figure JP2025022024_05032026_PF_FP_ABST
Abstract
Description
Synchronous motor control device
[0001] The present invention relates to a control device for a synchronous motor.
[0002] Electrically powered vehicles, such as hybrid vehicles and electric vehicles, often use permanent magnet synchronous motors (hereinafter referred to as synchronous motors) with permanent magnets in their rotors as their drive sources. To drive and control such synchronous motors, an inverter, which is a power converter, is generally used. Current vector control is commonly known as a method for controlling the torque of a synchronous motor using an inverter. To perform current vector control, it is necessary to accurately grasp the magnetic pole position of the rotor of the synchronous motor. As one means for grasping this magnetic pole position, a resolver, which is a position sensor, is often provided in the synchronous motor.
[0003] However, incorporating a resolver into a synchronous motor increases the number of system parts, increases the system size, and increases costs.Furthermore, the resolver has an output winding wound therein to output a position signal, which can break or short-circuit and cause a malfunction, reducing the reliability of the system.
[0004] Position sensorless vector control is a known technology for driving synchronous motors without using sensors such as resolvers. Position sensorless vector control performs current vector control by obtaining rotor position information based on information such as the voltage applied to the synchronous motor and the current flowing due to the voltage. Because it eliminates the need for position sensors such as resolvers, it is possible to prevent system size, cost increases, and reliability degradation. Methods for estimating rotor position are broadly divided into methods based on the position dependency of the inductance of the synchronous motor and methods based on the induced voltage of the synchronous motor. It is generally known that the former is used in low-speed regions where the induced voltage of the synchronous motor is zero or small, and that the latter method is used in medium- to high-speed regions where the induced voltage is high, thereby implementing position sensorless control.
[0005] As a known technique for position sensorless control of a synchronous motor in the medium to high speed range, a method based on induced voltage is known (Patent Document 1).In addition, a method based on magnetic flux of a synchronous motor is also disclosed (Patent Document 2).
[0006] Japanese Patent Publication No. 2001-251889 Japanese Patent Publication No. 2006-67656
[0007] In Patent Document 1, the rotor position of a synchronous motor is defined as the d-axis, and the axis perpendicular to the d-axis is defined as the q-axis. A coordinate system with a phase difference between these d- and q-axes and θe is defined as the dc-qc coordinate system. The induced voltage is estimated to obtain information on θe, enabling position sensorless control. However, the induced voltage calculation requires the use of d-axis inductance and q-axis inductance, which are parameters of the synchronous motor. There are two types of inductance: dynamic inductance and static inductance. The former is represented by the gradient of magnetic flux near the current operating point, while the latter represents the gradient of magnetic flux between the current operating point and the origin. Furthermore, when magnetic flux is generated by the current, these inductances cause the magnetic flux linking the stator of the synchronous motor to become overcrowded, resulting in a decrease in inductance (magnetic saturation). If this phenomenon causes a discrepancy between the set values of the d-axis inductance and q-axis inductance used to calculate the induced voltage and the actual d-axis inductance and q-axis inductance, errors in position estimation occur, leading to torque errors in the synchronous motor.
[0008] Patent Document 2 discloses a magnetic flux-based position sensorless control method in which the rotor position (the direction of the magnetic flux generated by the permanent magnet) is defined as the d-axis, the γ-axis is defined as an estimated axis for control corresponding to the d-axis, and the δ-axis is defined as an estimated axis 90 electrical degrees ahead of the γ-axis. The synchronous motor is controlled based on the current of the synchronous motor so that the magnetic flux component of the permanent magnet parallel to the δ-axis is zero, thereby reducing the difference between the d-axis and the γ-axis. By using only the γ-axis magnetic flux in this way, the amount of calculation required is reduced. However, because the γ-axis magnetic flux is calculated using an inductance value, similar to Patent Document 1, errors in the position estimation and inductance mutually occur, resulting in an issue of unstable position sensorless control.
[0009] The present invention has been made in view of the above-mentioned problems, and an object of the present invention is to estimate the rotor position of a synchronous motor with high accuracy.
[0010] A synchronous motor control device according to the present invention is a device that is connected to a synchronous motor via a power converter and controls the synchronous motor using the power converter, and includes a phase difference calculation unit that calculates a phase difference between a dq coordinate system based on a rotor position of the synchronous motor and a dc-qc coordinate system used for controlling the synchronous motor, a speed calculation unit that calculates a rotation speed of the synchronous motor based on the phase difference, a position calculation unit that calculates an estimated value of the rotor position based on the rotation speed, and a voltage calculation unit that outputs a voltage command in the dc-qc coordinate system for the synchronous motor based on a current command for the synchronous motor. a coordinate inverse transformation unit that converts the voltage command into a three-phase voltage command for the power converter using the estimated value of the rotor position calculated by the position calculation unit; a first magnetic flux calculation unit that has a magnetic flux map that represents magnetic flux characteristics of the synchronous motor and uses the magnetic flux map to determine a first magnetic flux value that represents the magnetic flux of the synchronous motor in the d-q coordinate system; and a second magnetic flux calculation unit that calculates a second magnetic flux value that represents the magnetic flux of the synchronous motor in the dc-qc coordinate system, and the phase difference calculation unit calculates the phase difference based on the first magnetic flux value and the second magnetic flux value.
[0011] According to the present invention, the rotor position of a synchronous motor can be estimated with high accuracy.
[0012] Problems, configurations, and effects other than those described above will become clear from the following description of the embodiments.
[0013] Fig. 1 is a configuration diagram of a control device for a synchronous motor according to an embodiment of the present invention; Fig. 2 is a configuration diagram of a position estimation unit in the control device for a synchronous motor according to an embodiment of the present invention; Fig. 3 is a configuration diagram of a first magnetic flux calculation unit in the position estimation unit; Fig. 4 is a configuration diagram of a phase difference calculation unit in the position estimation unit; and Fig. 5 is a configuration diagram of a speed calculation unit in the position estimation unit.
[0014] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The following description and drawings are examples for explaining the present invention, and some omissions and simplifications have been made as appropriate for clarity of explanation. The present invention can be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.
[0015] 1 is a block diagram of a control device for a synchronous motor according to one embodiment of the present invention. The control device 1 according to this embodiment has a position estimation technique that estimates the rotor position of the synchronous motor 200 with high accuracy, taking into account the static and dynamic inductances on the d-axis and q-axis of the synchronous motor 200 and changes in these inductances due to magnetic saturation.
[0016] The control device 1 includes a position estimation unit 100A, a current command calculation unit 400, a current control unit 600, a coordinate inverse transformation unit 700A, and a coordinate transformation unit 700B, and is connected to the synchronous motor 200 via a power converter 300. The control device 1 outputs three-phase voltage commands Vu*, Vv*, and Vw* to the power converter 300, thereby driving the synchronous motor 200 using the power converter 300. The control device 1 is, for example, a microcomputer, and is composed of a memory (storage device), a CPU (processor), an input / output circuit (communication device), and the like. The CPU executes a program stored in the memory to function as the position estimation unit 100A, the current command calculation unit 400, the current control unit 600, the coordinate inverse transformation unit 700A, and the coordinate transformation unit 700B.
[0017] The synchronous motor 200 is, for example, a permanent magnet type synchronous motor, and is configured by using a permanent magnet (ferromagnetic material) in the rotor and an armature winding in the stator. Note that in this embodiment, the synchronous motor 200 does not include a position sensor that detects the magnetic pole position, and instead the position estimator 100A of the control device 1 estimates the magnetic pole position (rotor position).
[0018] The power converter 300 is, for example, an inverter, and has semiconductor switch elements corresponding to the V, U, and W phases. When driving the synchronous motor 200, the three-phase voltage commands Vu*, Vv*, and Vw* input from the coordinate inverse conversion unit 700A of the control device 1 are pulse-width modulated (PWM) to control the on / off of each semiconductor switch element. In this way, three-phase voltages Vu, Vv, and Vw are applied to the synchronous motor 200, thereby driving the synchronous motor 200.
[0019] A current detection unit 500 is provided midway along the three-phase electric wire through which the power converter 300 outputs three-phase voltages Vu, Vv, and Vw to the synchronous motor 200. The current detection unit 500 is composed of current sensors 500u, 500v, and 500w that detect three-phase currents Iu, Iv, and Iw, respectively, flowing through the synchronous motor 200. The current sensors 500u, 500v, and 500w are arranged corresponding to the respective phases of the synchronous motor 200.
[0020] The current detection unit 500 detects three-phase currents Iu, Iv, and Iw and transmits signals to the coordinate conversion unit 700B of the control device 1. While FIG. 1 shows an example in which current sensors 500u, 500v, and 500w are disposed in each of the three phases of the synchronous motor 200, current sensors may be disposed in only two phases (e.g., the u-phase and the v-phase) by taking advantage of the fact that the sum of the three-phase AC currents is zero. Alternatively, the three-phase current of the synchronous motor 200 may be obtained from the current flowing through a DC bus (not shown) on the input side of the power converter 300. Such a configuration allows the number of current sensors to be reduced, thereby achieving cost reduction.
[0021] The current command calculation unit 400 receives a torque command T* as a drive command for the synchronous motor 200 from a higher-level control device (not shown), calculates current commands idc* and iqc*, which are target values of the current to be flowed to the synchronous motor 200, and transmits them to the current control unit 600.
[0022] The current control unit 600 receives the current commands idc* and iqc* from the current command calculation unit 400 and the current values idc and iqc from the coordinate conversion unit 700B, and adjusts and controls the voltage commands vdc and vqc for the synchronous motor 200 so that idc* and idc, and iqc* and iqc, respectively, match. The current control unit 600 can be configured in various ways, for example, by combining commonly known proportional-integral control, control that compensates for the armature reaction of the synchronous motor 200, control that compensates for the dead time of the power converter 300, and the like.
[0023] The coordinate inverse transformation unit 700A receives voltage commands vdc and vqc from the current control unit 600 and transforms them into three-phase voltage commands Vu*, Vv*, and Vw*. This transformation process is performed using the estimation result θest of the magnetic pole position (rotor position) of the synchronous motor 200 by the position estimator 100A.
[0024] The coordinate conversion unit 700B converts the three-phase currents Iu, Iv, Iw detected by the current detection unit 500 into current values idc, iqc in the dc-qc coordinate system, which is the coordinate system used for controlling the synchronous motor 200 in the control device 1. This conversion process is also performed using the estimation result θest of the magnetic pole position (rotor position) of the synchronous motor 200 by the position estimation unit 100A, as in the above-described coordinate inverse conversion unit 700A.
[0025] The position estimator 100A is a functional block that brings about the main effect of this embodiment, and receives the voltage commands vdc and vqc that are output signals from the current controller 600 and the current values idc and iqc that are output signals from the coordinate converter 700B, and estimates the rotor position of the synchronous motor 200 based on these.The position estimator 100A then outputs the estimation result as an estimated rotor position value θest.
[0026] Next, the basic principle of the present invention will be explained. The following equations (1) and (2) are voltage equations in the dq coordinate system using currents on the dq coordinate system. vd = R × id + Ldh × p(id) - ω × Lq × iq (1) vq = R × iq + Lqh × p(iq) + ω × (Ld × id + Φm) (2)
[0027] where R represents the winding resistance of the synchronous motor 200, Ld represents the static d-axis inductance of the synchronous motor 200, Lq represents the static q-axis inductance of the synchronous motor 200, Ldh represents the dynamic d-axis inductance of the synchronous motor 200, Lqh represents the dynamic q-axis inductance of the synchronous motor 200, Φm represents the flux linkage due to the permanent magnet of the synchronous motor 200, ω represents the angular velocity of the d-axis (electrical angular velocity of the synchronous motor 200), and p represents the differential operator, and "p()" in equations (1) and (2) represents the time derivative in parentheses.
[0028] As shown in equations (1) and (2), the voltage equations in the d-q coordinate system include the static and dynamic inductances of the d and q axes. Conventionally, equations (1) and (2) were converted into equations in the dc-qc coordinate system, respectively, and the voltage commands vdc and vqc were calculated using the following equations (3) and (4) using the extended induced voltage Eex. vdc = R × idc + Ldh × p(idc) - ω × Lq × iqc - (ω^-ω) × Ld × iqc + Eex × sin(θe) ... (3) vqc = R × iqc + Ldh × p(iqc) + ω × Lq × idc + (ω^-ω) × Ld × idc + Eex × cos(θe) ... (4)
[0029] where ω^ is the estimated value of the angular velocity of the dc axis (the rotational speed of the synchronous motor 200), Eex is the extended induced voltage, and θe is the phase difference between the dc-qc coordinate system and the dq coordinate system.
[0030] In equations (3) and (4), the phase difference θe is included in the term for the extended electromotive force Eex. Therefore, the phase difference θe can be estimated by estimating and calculating the extended electromotive force Eex in the dc-qc coordinate system.
[0031] However, equations (3) and (4) include both static and dynamic inductances of the d-axis and q-axis, each of which changes due to magnetic saturation. Therefore, if these inductances change due to magnetic saturation, the estimated inductances calculated using equations (3) and (4) will deviate from the set values, resulting in an error in the phase difference θe. Furthermore, if the static and dynamic inductances of the d-axis and q-axis and their changes due to magnetic saturation are reflected in equations (3) and (4) to calculate the phase difference θe, the calculation becomes complicated.
[0032] Alternatively, by accepting more complex calculations, the static and dynamic inductances of the d-axis and q-axis and their changes due to magnetic saturation can be reflected in equations (3) and (4) using maps or approximations that represent these characteristics. In this case, since the change in inductance due to magnetic saturation is expressed as a dependency on the d-axis and q-axis currents id and iq, the calculation must use id and iq. However, since id and iq are unknown in position sensorless control, the current values idc and iqc on the control axes (dc-qc axes) must be used instead. When the phase difference θe is zero, the currents id and iq on the d-q axes and the currents idc and iqc on the dc-qc axes match, but when the driving state (rotation speed or torque) of the synchronous motor 200 changes, an estimation error in the phase difference θe occurs transiently. This results in an error (deviation) between id, iq and idc, iqc, making it impossible to accurately reflect the change in inductance due to magnetic saturation. If the inductance change due to magnetic saturation cannot be accurately reflected, an error occurs in the estimation calculation of the extended electromotive force Eex, and as a result, an error also occurs in the estimation calculation of the phase difference θe using equations (3) and (4). This error in the phase difference θe again causes an error between id, iq and idc, iqc, resulting in the propagation and circulation of the error. As a result, in the worst case, the position sensorless control of the synchronous motor 200 may become unstable.
[0033] Therefore, in the present invention, first, instead of equations (1) and (2) which are voltage equations using current, the following equations (5) and (6) which are voltage equations using magnetic flux are used: vd = (R / Ld) × Φd + p(Φd) - ω × Φq - (R / Ld) × Φm (5) vq = (R / Lq) × Φq + p(Φq) + ω × Φd (6)
[0034] Here, Φd is the d-axis magnetic flux (magnetic flux generated by the d-axis current and the permanent magnet), and Φq is the q-axis magnetic flux (magnetic flux generated by the q-axis current).
[0035] Equation (6) can be transformed into the following equation (7): vd=(R / Lq)×Φd+p(Φd)−ω×Φq+{(R / Ld)−(R / Lq)}×Φd−(R / Ld)×Φm (7)
[0036] Equation (7) is obtained by modifying equation (5) so that the coefficient of Φd in the first term on the right-hand side becomes (R / Lq).
[0037] When the d-axis and q-axis voltage equations based on the magnetic flux expressed by equations (7) and (6) are converted from the d-q coordinate system to a dc-qc coordinate system with a phase difference of θe, the following equations (8) and (9) are obtained: vdc=(R / Lq)×Φdc+p(Φdc)-ω^×Φqc+[{(R / Ld)-(R / Lq)}×Φd-(R / Ld)×Φm]×cos(θe) ... (8) vqc=(R / Lq)×Φqc+p(Φqc)+ω^×Φdc-[{(R / Ld)-(R / Lq)}×Φd-(R / Ld)×Φm]×sin(θe) ... (9)
[0038] In equations (8) and (9), the terms for the phase difference θe appear for both the dc axis and the qc axis. Therefore, the phase difference θe can be estimated in the same way as in equations (3) and (4) above, which include the conventional extended electromotive force Eex. Furthermore, since the right-hand sides of equations (8) and (9) are expressed using only magnetic flux containing inductance information, there is no need to distinguish between dynamic and static inductance, which improves the accuracy of position estimation and simplifies calculations.
[0039] From the relationship between equations (8) and (9), the phase difference θe can be expressed by the following equation (10): θe=arctan[−{vqc−(R / Lq)×Φqc−p(Φqc)−ω^×Φdc} / {vdc−(R / Lq)×Φdc−p(Φdc)+ω^Φqc}] (10)
[0040] In addition, arctan in equation (10) is an arctangent function.
[0041] The calculation of equation (10) requires the magnetic fluxes Φdc and Φqc in the dc-qc coordinate system. Therefore, we utilize the fact that the voltage equations in the dc-qc coordinate system can also be expressed by the following equations (11) and (12). vdc = R × idc + p(Φdc) - ω^ × Φqc ... (11) vqc = R × iqc + p(Φqc) + ω^ × Φdc ... (12)
[0042] From equations (11) and (12), the magnetic fluxes Φdc and Φqc in the dc-qc coordinate system can be expressed by the following equations (13) and (14), respectively. Φdc={vqc-R×iqc-p(Φqc)} / (ω^) (13) Φqc=-{vdc-R×idc-p(Φdc)} / (ω^) (14)
[0043] By substituting the equations (13) and (14) into the equation (10) for calculating the phase difference θe, the calculation of the phase difference θe can also be expressed by the following equation (15): θe=arctan[-{iqc-Φqc / Lq} / {idc-Φdc / Lq}] (15)
[0044] Using equation (15), the phase difference θe can be calculated based on the currents idc and iqc in the dc-qc coordinate system and the magnetic fluxes Φdc and Φqc in the dc-qc coordinate system. The magnetic fluxes Φdc and Φqc in the dc-qc coordinate system can be calculated using equations (13) and (14), for example. Since equations (13) and (14) contain the magnetic flux differentials p(Φdc) and p(Φqc), the phase difference θe can be calculated taking dynamic inductance into account by calculating equation (15) using the magnetic fluxes Φdc and Φqc obtained from equations (13) and (14). Furthermore, since equation (15) uses magnetic fluxes Φdc and Φqc, the phase difference θe can be calculated taking static inductance into account. Furthermore, since equations (13) and (14) are calculated according to the operating state of the synchronous motor 200, by calculating equation (15) using the magnetic fluxes Φdc and Φqc obtained from equations (13) and (14), the calculation result of the phase difference θe will include changes in inductance due to magnetic saturation.
[0045] However, although the static and dynamic inductances and their magnetic saturation can be taken into account by calculating the phase difference θe based on equation (15) as described above, the term for the static q-axis inductance Lq still remains in the calculation of equation (15). If magnetic saturation occurs due to the flow of current through the synchronous motor 200, the value of Lq in equation (15) changes, which causes an error in the estimation calculation of the phase difference θe.
[0046] Hereinafter, an embodiment of the present invention will be described with reference to FIG. 2, in which the change in static inductance Lq in equation (15) due to magnetic saturation does not affect the estimated value of phase difference θe.
[0047] FIG. 2 is a configuration diagram of a position estimation unit 100A in a control device for a synchronous motor according to an embodiment of the present invention.
[0048] The position estimation unit 100A includes a second magnetic flux calculation unit 110, a phase difference calculation unit 120, a speed calculation unit 130, a position calculation unit 140, and a first magnetic flux calculation unit 150.
[0049] The second magnetic flux calculation unit 110 calculates magnetic fluxes Φdc, Φqc in the dc-qc coordinate system using as input values the currents idc, iqc in the dc-qc coordinate system, the voltage commands vdc, vqc in the dc-qc coordinate system, and ω^ representing the estimated value of the angular velocity of the dc axis (the rotational speed of the synchronous motor 200).
[0050] The phase difference calculation unit 120 takes as input values the q-axis magnetic flux Φqmap in the dq coordinate system, which is the output value of the first magnetic flux calculation unit 150 described later, the magnetic fluxes Φdc, Φqc in the dc-qc coordinate system, which are the output values of the second magnetic flux calculation unit 110, and the currents idc, iqc in the dc-qc coordinate system, and calculates the phase difference θe based on these.
[0051] The speed calculation unit 130 receives the phase difference θe as an input value and calculates the angular speed ω^ of the dc axis, which indicates the rotation speed of the synchronous motor 200 .
[0052] The position calculation unit 140 calculates an estimated value θest of the rotor position of the synchronous motor 200 using the dc-axis angular velocity ω^ as an input value.
[0053] The first magnetic flux calculation unit 150 receives as input values idc and iqc, which are currents in the dc-qc coordinate system, and outputs a q-axis magnetic flux Φqmap that represents the magnetic flux of the synchronous motor 200 in the dq coordinate system.
[0054] Hereinafter, each functional block constituting the position estimation unit 100A will be described in detail.
[0055] The second magnetic flux calculation unit 110 calculates the magnetic fluxes Φdc and Φqc in the dc-qc coordinate system using the above-mentioned equations (13) and (14) based on the above-mentioned input values idc, iqc, vdc, vqc, and ω^. Note that the winding resistance R of the synchronous motor 200 in equations (13) and (14) can be, for example, a preset fixed value. Alternatively, the value of the winding resistance R can be made variable in consideration of temperature characteristics. In this case, higher accuracy can be expected.
[0056] Furthermore, in equations (13) and (14), p(Φdc) and p(Φqc) represent the differential values of the magnetic flux in the dc-qc coordinate system, respectively. These differential values may be reflected by time-differentiating the calculation results of the magnetic fluxes Φdc and Φqc inside the second magnetic flux calculation unit 110. In this case, for example, a low-pass filter may be provided to suppress noise amplification. Alternatively, the differential values may be omitted as zero. In this case, although dynamic inductance is not taken into consideration, the amount of calculation by the second magnetic flux calculation unit 110 can be reduced.
[0057] 3 is a configuration diagram of the first magnetic flux calculation unit 150 in the position estimation unit 100 A. The first magnetic flux calculation unit 150 includes a magnetic flux map 151 .
[0058] The magnetic flux map 151 is a characteristic map that represents the relationship between the currents id and iq on the dq coordinate system and the q-axis magnetic flux Φq of the synchronous motor 200. The first magnetic flux calculation unit 150 uses this magnetic flux map 151 to determine the value of the q-axis magnetic flux Φq that corresponds to idc and iqc, and outputs the value as the q-axis magnetic flux Φqmap.
[0059] The first magnetic flux calculation unit 150 uses idc and iqc on the dc-qc coordinates as input values for a magnetic flux map 151 that represents the value of the q-axis magnetic flux Φq according to the values of the currents id and iq on the dq coordinates, to determine the value of the q-axis magnetic flux Φqmap. This does not cause error propagation or circulation, unlike conventional technology. This point will be described later.
[0060] The magnetic flux map 151 may be created in advance based on data obtained by prior measurement or the like. Alternatively, the magnetic flux map 151 may be created using, for example, characteristics obtained by electromagnetic field analysis of the synchronous motor 200. Alternatively, an approximate expression of these characteristics may be used instead of the magnetic flux map 151 to calculate the q-axis magnetic flux Φqmap in the first magnetic flux calculation unit 150. Alternatively, there are no particular limitations on the format as long as it is expressed as the q-axis magnetic flux Φq relative to the d-q axis currents id and iq.
[0061] Next, a description will be given of the phase difference calculation unit 120. The phase difference calculation unit 120 reflects changes in the static inductance Lq in equation (15) in the calculation so as not to affect the estimated value of the phase difference θe.
[0062] Generally, there is a relationship between magnetic flux, inductance, and current: magnetic flux = inductance x current. From this, the static inductance Lq can be calculated using the following equation (16): Lq = Φqmap / iqc (16)
[0063] Substituting equation (16) into equation (15), the following equation (17) is obtained: θe=arctan[−{iqc−iqc×(Φqc / Φqmap)} / {idc−iqc×(Φdc / Φqmap)}] (17)
[0064] The right-hand side of equation (17) becomes zero when Φqc = Φqmap holds. Here, Φqc is the magnetic flux on the dc-qc coordinates that has a phase difference θe with the dq coordinates, so it can also be said to be magnetic flux containing information about the phase difference θe. On the other hand, Φqmap is the magnetic flux on the dc-qc coordinates, which coincides with the magnetic flux Φqc on the dc-qc coordinates when the phase difference θe is zero. In other words, if the synchronous motor 200 is controlled so that Φqc = Φqmap holds, the estimated value of the phase difference θe becomes zero, and the actual value of the phase difference θe also becomes zero. Furthermore, since Φqmap reflects changes in inductance due to magnetic saturation, etc., by setting Φqc = Φqmap, changes in the static inductance Lq can be taken into account when estimating the phase difference θe. Furthermore, instead of calculating the phase difference θe by reflecting changes in inductance as in the prior art, the synchronous motor 200 is controlled so that the actual value of the phase difference θe becomes zero (so that Φqc = Φqmap), so there is no error propagation or circulation, which was a problem in the prior art.
[0065] A functional block diagram using the principles of the present invention described above is shown in Fig. 4. Fig. 4 is a configuration diagram of the phase difference calculation unit 120 in the position estimation unit 100A.
[0066] The phase difference calculation unit 120 includes the following calculation units: dividers 121A, 121B, 121C, and 121D; subtractors 122A and 122B; a gain multiplication unit 123; and an arctangent calculation unit 124.
[0067] The divider 121A divides the qc-axis current iqc input from the coordinate conversion unit 700B by the q-axis magnetic flux Φqmap, which is the output value of the first magnetic flux calculation unit 150, and sends the result to the dividers 121B and 121C.
[0068] The divider 121B divides the qc-axis magnetic flux Φqc calculated by the second magnetic flux calculator 110 by the output value of the divider 121A, and sends the result to the subtractor 122B.
[0069] The divider 121C divides the dc-axis magnetic flux Φdc calculated by the second magnetic flux calculator 110 by the output value of the divider 121A, and sends the result to the subtractor 122A.
[0070] The subtractor 122B subtracts the output value of the divider 121B from the qc-axis current iqc and sends the result to the divider 121D.
[0071] The subtractor 122A subtracts the output value of the divider 121C from the dc-axis current i dc and sends the result to the divider 121D.
[0072] The divider 121D divides the output value of the subtractor 122B by the output value of the subtractor 122A, and outputs the result to the gain multiplication means 123.
[0073] The gain multiplication means 123 multiplies the output value of the divider 121D by −1 and sends the result to the arctangent calculation means 124.
[0074] The arctangent calculation means 124 uses the output value of the gain multiplication means 123 as an input value and performs arctangent calculation to calculate the phase difference θe.
[0075] In the phase difference calculation section 120, the calculation process performed in each of the above calculation sections can calculate the phase difference θe according to the above-mentioned equation (17).
[0076] Note that in order to achieve zero phase difference θe (Φqc = Φqmap), it is not necessary to use the format of equation (17), as long as the numerator of the argument of the arctangent function of equation (17) is zero. Therefore, instead of equation (17), the following equations (18) and (19) may be used to calculate a substitute value θe' or θe'' for phase difference θe, and the synchronous motor 200 may be controlled so that this substitute value θe', θe'' becomes 0. θe' = -1 + (Φqc / Φqmap) (18) θe'' = -Φqmap + Φqc (19)
[0077] As described above, by calculating the phase difference θe for controlling the synchronous motor 200 or the corresponding alternative values θe', θe'' and using these calculated values to control the synchronous motor 200, the processing load of calculations related to the control of the synchronous motor 200 can be reduced.
[0078] Next, the speed calculation unit 130 having the function of setting the phase difference θe to zero (Φqc=Φqmap) will be described. Fig. 5 is a diagram showing the configuration of the speed calculation unit 130 in the position estimation unit 100A.
[0079] The speed calculation unit 130 includes a subtractor 131, a proportional unit 132, an integrator 133, and an adder 134. The speed calculation unit 130 receives the phase difference θe as an input value. A command value CMD is set to set the phase difference θe to a predetermined value, and the rotational speed (dc-axis angular velocity estimate value) ω^ of the synchronous motor 200 is calculated by making the phase difference θe follow the CMD.
[0080] The subtractor 131 calculates the deviation between the command value CMD and the phase difference θe, and sends the result of the calculation to the proportional unit 132 and the integrator 133 as input values.
[0081] The proportional unit 132 amplifies the deviation between the command value CMD input from the subtractor 131 and the phase difference θe, and sends the amplified deviation to the adder 134 .
[0082] The integrator 133 time-integrates and amplifies the deviation between the command value CMD input from the subtractor 131 and the phase difference θe, and sends the amplified deviation to the adder 134 .
[0083] The adder 134 receives the output signals from the proportional unit 132 and the integrator 133 as input values, and calculates the rotation speed ω^ by adding up the outputs of each.
[0084] The speed calculation unit 130 can calculate the rotational speed ω^ so that the phase difference θe between the dc axis and the d axis follows the command value CMD through the calculation processes performed by the above calculation units. As a result, the synchronous motor 200 can be controlled so that the rotational speed ω^ coincides with its true value ω.
[0085] The command value CMD is, for example, 0. If the command value CMD is set to 0 and the phase difference θe is made to follow 0, the dc axis and the d axis coincide with each other, and therefore it is possible to drive the synchronous motor 200 without a position sensor, which is equivalent to control using rotor position (= d axis) detection by a resolver.
[0086] Alternatively, a value other than zero may be used as the command value CMD. For example, there is a method of defining a coordinate system so that the d-axis current and the q-axis current always have a maximum torque per ampere (MTPA). When driving the synchronous motor 200 in this coordinate system, the command value CMD is set to a value that results in MTPA. Furthermore, the command value CMD does not need to be constant. Alternatively, the command value CMD can be set to form any coordinate system.
[0087] 5, the speed calculation unit 130 of the present embodiment is configured to make the phase difference θe follow the command value CMD by proportional-integral control, but the control does not necessarily have to be proportional-integral control. Various configurations can be used, such as providing differential control or feedforward compensation.
[0088] The position calculation unit 140 can calculate an estimated value θest of the rotor position of the synchronous motor 200 by integrating the rotational speed ω^ obtained by the speed calculation unit 130 .
[0089] As described above, in this embodiment, the control device 1 for the synchronous motor 200 is configured such that the position estimator 100A is provided with the second magnetic flux calculator 110, which calculates the magnetic fluxes Φdc and Φqc in the dc-qc coordinate system. The position estimator 100A is also provided with the first magnetic flux calculator 150, which calculates the q-axis magnetic flux Φqmap when the phase difference θe is zero. Furthermore, the currents idc and iqc and magnetic fluxes Φdc and Φqc in the dc-qc coordinate system, as well as the q-axis magnetic flux Φqmap that is the output value of the first magnetic flux calculator 150, are input to the phase difference calculator 120, which calculates the phase difference θe based on these. The speed calculation unit 130 calculates the rotation speed ω^ of the synchronous motor 200 so that the phase difference θe becomes zero, and the position calculation unit 140 calculates the estimated value θest of the rotor position based on this rotation speed ω^ to control the synchronous motor 200, thereby realizing Φqc = Φqmap. As a result, even if changes in the inductance of the synchronous motor 200 are reflected, no error propagation or circulation occurs as in the conventional case, and the rotor position of the synchronous motor 200 can be estimated with high accuracy.
[0090] Therefore, by using the control device 1 for the synchronous motor 200 in this embodiment as a drive motor for an electric vehicle, a position sensorless system can be realized, and cost and system size can be reduced. Furthermore, since the estimation accuracy of the rotor position is improved, the control performance (torque accuracy, torque response, etc.) of the synchronous motor 200 is improved, and a comfortable ride can be provided to passengers.
[0091] According to the embodiment of the present invention described above, the following advantageous effects are achieved.
[0092] (1) The control device 1 is connected to the synchronous motor 200 via a power converter 300 and controls the synchronous motor 200 using the power converter 300. The control device 1 includes a phase difference calculation unit 120, a speed calculation unit 130, a position calculation unit 140, a current control unit 600, a coordinate inverse transformation unit 700A, a first magnetic flux calculation unit 150, and a second magnetic flux calculation unit 110. The phase difference calculation unit 120 calculates a phase difference θe between a d-q coordinate system based on the rotor position of the synchronous motor 200 and a dc-qc coordinate system used for controlling the synchronous motor 200. The speed calculation unit 130 calculates a rotational speed ω^ of the synchronous motor 200 based on the phase difference θe. The position calculation unit 140 calculates an estimated value θest of the rotor position of the synchronous motor 200 based on the rotational speed ω^. The current control unit 600 outputs voltage commands vdc and vqc in the dc-qc coordinate system for the synchronous motor 200 based on the current commands idc* and iqc* for the synchronous motor 200. A coordinate inverse transformation unit 700A converts the voltage commands vdc and vqc into three-phase voltage commands Vu*, Vv*, and Vw* for the power converter 300 using the rotor position estimate θest calculated by the position calculation unit 140. The first magnetic flux calculation unit 150 has a magnetic flux map 151 that represents the magnetic flux characteristics of the synchronous motor 200, and uses this magnetic flux map 151 to determine a first magnetic flux value (q-axis magnetic flux Φqmap) that represents the magnetic flux of the synchronous motor 200 in the d-q coordinate system. The second magnetic flux calculation unit 110 calculates second magnetic flux values (magnetic flux Φdc, Φqc) that represent the magnetic flux of the synchronous motor 200 in the dc-qc coordinate system. The phase difference calculation unit 120 calculates the phase difference θe based on the q-axis magnetic flux Φqmap and the magnetic fluxes Φdc and Φqc. In this way, even if a change in the inductance of the synchronous motor 200 is reflected, the rotor position of the synchronous motor 200 can be estimated with high accuracy without causing propagation or circulation of errors.
[0093] (2) The speed calculation unit 130 calculates the rotation speed ω^ so that the phase difference θe becomes a predetermined value, for example, zero. In this way, the synchronous motor 200 can be controlled so that the rotation speed ω^ coincides with its true value ω.
[0094] (3) The magnetic flux map 151 is a map that represents the magnetic flux characteristics of the synchronous motor 200 based on the current values id and iq in the dq coordinate system. As a result, the first magnetic flux calculation unit 150 can easily determine the q-axis magnetic flux Φq, which is the first magnetic flux value that represents the magnetic flux of the synchronous motor 200 in the dq coordinate system.
[0095] (4) The second magnetic flux calculation unit 110 calculates magnetic fluxes Φdc, Φqc based on the voltage commands vdc, vqc, the current values idc, iqc in the dc-qc coordinate system, and the rotational speed ω^. As a result, the second magnetic flux calculation unit 110 can determine the magnetic fluxes Φdc, Φqc, which are second magnetic flux values representing the magnetic flux of the synchronous motor 200 in the dc-qc coordinate system, according to the above-mentioned equations (13) and (14).
[0096] (5) The phase difference calculation unit 120 calculates the phase difference θe based on the q-axis magnetic flux Φqmap, the magnetic fluxes Φdc and Φqc, and the current values idc and iqc in the dc-qc coordinate system. In this way, the phase difference calculation unit 120 can calculate the phase difference θe according to the above-mentioned equation (17).
[0097] The present invention is not limited to the above-described embodiment, and various modifications are possible without departing from the spirit of the present invention.
[0098] REFERENCE SIGNS LIST 1... control device 100A... position estimation unit 110... second magnetic flux calculation unit 120... phase difference calculation unit 130... speed calculation unit 140... position calculation unit 150... first magnetic flux calculation unit 151... magnetic flux map 200... synchronous motor 300... power converter 400... current command calculation unit 500... current detection unit 600... current control unit 700A... coordinate inverse conversion unit 700B... coordinate conversion unit
Claims
1. A device connected to a synchronous motor via a power converter and controlling the synchronous motor using the power converter, comprising: a phase difference calculation unit that calculates a phase difference between a dq coordinate system based on a rotor position of the synchronous motor and a dc-qc coordinate system used to control the synchronous motor; a speed calculation unit that calculates a rotational speed of the synchronous motor based on the phase difference; a position calculation unit that calculates an estimated value of the rotor position based on the rotational speed; a current control unit that outputs a voltage command in the dc-qc coordinate system for the synchronous motor based on a current command for the synchronous motor; a coordinate inverse transformation unit that converts the voltage command into a three-phase voltage command for the power converter using the estimated value of the rotor position calculated by the position calculation unit; and a first magnetic flux calculation unit that has a magnetic flux map that represents the magnetic flux characteristics of the synchronous motor and uses the magnetic flux map to determine a first magnetic flux value that represents the magnetic flux of the synchronous motor in the dq coordinate system. a second magnetic flux calculation unit that calculates a second magnetic flux value that represents the magnetic flux of the synchronous motor in the dc-qc coordinate system, wherein the phase difference calculation unit calculates the phase difference based on the first magnetic flux value and the second magnetic flux value.
2. A control device for a synchronous motor according to claim 1, wherein the speed calculation unit calculates the rotation speed so that the phase difference becomes a predetermined value.
3. A control device for a synchronous motor according to claim 1, wherein the magnetic flux map is a map that represents the magnetic flux characteristics of the synchronous motor based on current values in the dq coordinate system.
4. A synchronous motor control device as described in claim 1, wherein the second magnetic flux calculation unit calculates the second magnetic flux value based on the voltage command, the current value in the dc-qc coordinate system, and the rotational speed.
5. A synchronous motor control device as claimed in claim 1, wherein the phase difference calculation unit calculates the phase difference based on the first magnetic flux value, the second magnetic flux value and a current value in the dc-qc coordinate system.
Citation Information
Patent Citations
Position sensorless control method for synchronous motor
JP2003309992A
Sensorless control method and apparatus of ac electric motor
JP2006158046A
Motor controller and motor starting method using the same
JP2012249355A
Motor controller
JP2015111974A
Motor controller
JP2023161839A