Synchronous motor control device
The control device for synchronous motors accurately estimates rotor position using magnetic flux calculations and a flux map to address inductance discrepancies and improve torque accuracy and response, reducing system size and cost by eliminating the need for sensors.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2026-03-12
AI Technical Summary
Existing position sensorless control methods for synchronous motors suffer from errors in rotor position estimation due to discrepancies between set and actual d-axis and q-axis inductances, leading to torque errors and unstable control, particularly in the medium to high-speed range.
A control device that calculates the phase difference between dq and dc-qc coordinate systems using magnetic flux values, incorporating a magnetic flux map to account for changes in inductance due to magnetic saturation, thereby accurately estimating the rotor position without relying on position sensors.
The method enables precise rotor position estimation, stabilizing position sensorless control and improving torque accuracy and response, reducing system size and cost by eliminating the need for position sensors.
Smart Images

Figure 2026043351000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a control device for a synchronous motor. [Background technology]
[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 generally 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.In addition, the resolver has an output winding that outputs a position signal, and this can break down if the winding breaks or shorts, which can reduce the reliability of the system.
[0004] Position sensorless vector control is a 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 that voltage. Because it eliminates the need for position sensors such as resolvers, it prevents the system from becoming larger, increasing costs, and reducing reliability. Methods for estimating rotor position are broadly divided into methods based on the position dependency of the synchronous motor's inductance and methods based on the induced voltage of the synchronous motor. It is generally known that the former is used in the low-speed range where the induced voltage of the synchronous motor is zero or small, and that the latter method is used to implement position sensorless control in the medium- to high-speed range where the induced voltage becomes high.
[0005] A method based on induced voltage is known as a known technique for position sensorless control of a synchronous motor in the medium to high speed range (Patent Document 1). In addition, a method based on the magnetic flux of a synchronous motor has also been disclosed (Patent Document 2). [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2001-251889 [Patent Document 2] Japanese Patent Application Laid-Open No. 2006-67656 Summary of the Invention [Problem to be solved by the invention]
[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 the d-axis and q-axis θe is defined as the dc-qc coordinate system. The induced voltage is estimated to obtain information on θe, enabling position sensorless control. However, calculating the induced voltage requires the use of d-axis 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 expressed 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 become overcrowded, causing a phenomenon known as magnetic saturation, which reduces inductance. If this phenomenon causes a discrepancy between the set values of the d-axis and q-axis inductances used to calculate the induced voltage and the actual d-axis and q-axis inductances, errors in position estimation can 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 estimated axis for control corresponding to the d-axis is defined as the γ-axis, and the estimated axis 90 degrees ahead of the γ-axis in electrical angle is defined as the δ-axis. The synchronous motor is controlled based on the current of the synchronous motor so that the magnetic flux component parallel to the δ-axis of the permanent magnet becomes 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, as in Patent Document 1, errors in the position estimation and errors in the 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. [Means for solving the problem]
[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 dq 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, wherein the phase difference calculation unit calculates the phase difference based on the first magnetic flux value and the second magnetic flux value. [Effects of the Invention]
[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. [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a configuration diagram of a control device for a synchronous motor according to an embodiment of the present invention; [Figure 2] 2 is a configuration diagram of a position estimation unit in a control device for a synchronous motor according to an embodiment of the present invention. FIG. [Figure 3] FIG. 2 is a configuration diagram of a first magnetic flux calculation unit in the position estimation unit. [Figure 4] FIG. 2 is a configuration diagram of a phase difference calculation unit in the position estimation unit. [Figure 5] FIG. 2 is a configuration diagram of a velocity calculation unit in the position estimation unit. DETAILED DESCRIPTION OF THE INVENTION
[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 configuration 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 conversion unit 700A, and a coordinate conversion 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), etc. 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 conversion unit 700A, and the coordinate conversion 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 estimation unit 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, and the synchronous motor 200 is driven.
[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 arranged for each of the three phases of the synchronous motor 200, current sensors may be arranged for only two phases (e.g., the u and v phases) by taking advantage of the fact that the sum of the three-phase AC currents is zero. Alternatively, the three-phase currents 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 estimation unit 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 a dc-qc coordinate system, which is a 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 estimation unit 100A is a functional block that brings about the main effect of this embodiment, and receives voltage commands vdc, vqc that are output signals from the current control unit 600 and current values idc, iqc that are output signals from the coordinate conversion unit 700B, and estimates the rotor position of the synchronous motor 200 based on these.The position estimation unit 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 dq 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) contain both static and dynamic inductances on the d-axis and q-axis, each of which changes due to magnetic saturation. Therefore, when these inductances change due to magnetic saturation, a deviation from the set inductance value occurs in the estimation calculation using equations (3) and (4), resulting in an error in the phase difference θe. Furthermore, if the static and dynamic inductances on 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 allowing for 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 approximate equations that represent these characteristics. In this case, the inductance change due to magnetic saturation is expressed as a function of the d-axis and q-axis currents id and iq, so id and iq must be used for the calculation. However, in position sensorless control, id and iq are unknown, so 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- and q-axes and the currents idc and iqc on the dc-qc axes match. However, 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 inductance change due to magnetic saturation. If the inductance change due to magnetic saturation cannot be accurately reflected, an error occurs in the calculation of the estimated extended electromotive force Eex, which in turn causes an error in the calculation of the estimated 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 error propagation and circulation. 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, the following equations (5) and (6), which are voltage equations using magnetic flux, are used instead of equations (1) and (2), which are voltage equations using current. 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 rearranging 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 dq coordinate system to the 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 on both the dc and qc axes. Therefore, the phase difference θe can be estimated in the same way as with the previously described equations (3) and (4), which include the conventional extended electromotive force Eex. Furthermore, because the right-hand sides of equations (8) and (9) are expressed using only magnetic flux, which contains 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 using 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. Note that equations (13) and (14), for example, can be used to calculate the magnetic fluxes Φdc and Φqc in the dc-qc coordinate system. Since equations (13) and (14) contain the magnetic flux derivatives p(Φdc) and p(Φqc), the phase difference θe can be calculated by using equation (15) with the magnetic fluxes Φdc and Φqc calculated from equations (13) and (14). Furthermore, because equation (15) uses the magnetic fluxes Φdc and Φqc, the phase difference θe can also be calculated with static inductance taken 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 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 will be described with reference to FIG.
[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 receives 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 calculates the angular speed ω^ of the dc axis, which indicates the rotation speed of the synchronous motor 200, using the phase difference θe as an input value.
[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 idc and iqc, which are currents in the dc-qc coordinate system, as input values, 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 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] In addition, 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 can 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 by setting them to 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 corresponding to idc and iqc, and outputs it as the q-axis magnetic flux Φqmap.
[0059] The first magnetic flux calculation unit 150 calculates the value of the q-axis magnetic flux Φqmap by using the idc and iqc values 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. This does not cause error propagation or circulation, unlike conventional techniques. 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, any format may be used as long as it is expressed as the q-axis magnetic flux Φq relative to the dq-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 × 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), we obtain the following equation (17). θ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. Therefore, it can be said that Φqc is the magnetic flux containing information about the phase difference θe. On the other hand, Φqmap is the magnetic flux on the dc-qc coordinates, and when the phase difference θe is zero, it coincides with the magnetic flux Φqc on the dc-qc coordinates. 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 .
[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] Divider 121C divides the dc-axis magnetic flux Φdc calculated by second magnetic flux calculator 110 by the output value of divider 121A, and sends the result to 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] Subtractor 122A subtracts the output value of divider 121C from the dc axis current idc and sends the result to divider 121D.
[0072] Divider 121D divides the output value of subtractor 122B by the output value of subtractor 122A, and outputs the result to gain multiplication means 123.
[0073] Gain multiplication means 123 multiplies the output value of divider 121D by −1 and sends the result to arctangent calculation means 124.
[0074] The arctangent calculation means 124 uses the output value of the gain multiplication means 123 as an input value, performs arctangent calculation, and calculates 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 equation (17).
[0076] Note that in order to achieve zero phase difference θe (Φqc = Φqmap), it is not necessary to use the form 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 substitute values θe' or θe'' for phase difference θe, and the synchronous motor 200 may be controlled so that these substitute values θe', θe'' become zero. θ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 substitute 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 velocity 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 velocity calculation unit 130 in the position estimation unit 100A.
[0079] The speed calculation unit 130 includes calculation units including 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 for setting the phase difference θe to a predetermined value is set, 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 it 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 rotational 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 in 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 arbitrary 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 the 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 estimation unit 100A is provided with the second magnetic flux calculation unit 110, which calculates the magnetic fluxes Φdc, Φqc in the dc-qc coordinate system. The position estimation unit 100A is also provided with the first magnetic flux calculation unit 150, which calculates the q-axis magnetic flux Φqmap when the phase difference θe is zero. Furthermore, the currents idc, iqc and magnetic fluxes Φdc, Φqc in the dc-qc coordinate system, and the q-axis magnetic flux Φqmap that is the output value of the first magnetic flux calculation unit 150 are input to the phase difference calculation unit 120, and the phase difference θe is calculated based on these. The speed calculation unit 130 calculates the rotational 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 rotational 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 past, 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 dq 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, vqc in the dc-qc coordinate system for the synchronous motor 200 based on the current commands idc*, iqc* for the synchronous motor 200. The coordinate inverse conversion unit 700A converts the voltage commands vdc, vqc into three-phase voltage commands Vu*, Vv*, 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 dq 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 then 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 changes in the inductance of the synchronous motor 200 are reflected, the rotor position of the synchronous motor 200 can be estimated with high accuracy without causing error propagation or circulation.
[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. [Explanation of symbols]
[0098] 1...Control device 100A...Position estimation unit 110...Second magnetic flux calculation unit 120...Phase difference calculation section 130…Speed calculation section 140...Position calculation section 150...First magnetic flux calculation unit 151...Magnetic flux map 200...Synchronous motor 300...Power converter 400...Current command calculation section 500...Current detection unit 600...Current control section 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, 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; 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 transforms 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 having a magnetic flux map representing magnetic flux characteristics of the synchronous motor, and using the magnetic flux map to determine a first magnetic flux value representing 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, The phase difference calculation unit calculates the phase difference based on the first magnetic flux value and the second magnetic flux value. A control device for a synchronous motor.
2. 2. The synchronous motor control device according to claim 1, The speed calculation unit calculates the rotation speed so that the phase difference becomes a predetermined value. A control device for a synchronous motor.
3. 2. The synchronous motor control device according to claim 1, The magnetic flux map is a map that represents the magnetic flux characteristics of the synchronous motor based on the current values in the dq coordinate system. A control device for a synchronous motor.
4. 2. The synchronous motor control device according to claim 1, 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. A control device for a synchronous motor.
5. 2. The synchronous motor control device according to claim 1, 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. A control device for a synchronous motor.
Citation Information
Patent Citations
Conjecturing method for position of rotor in synchronous motor, and method and apparatus for sensorless control of position
JP2001251889A
Motor position sensorless control circuit
JP2006067656A