Current detection device, current detection program, and current detection method
The current detection device addresses the high calculation loads and accuracy challenges in existing systems by using a simplified error calculation method based on predetermined error numbers, resulting in efficient and accurate current detection for multi-phase AC type rotating electric machines.
Patent Information
- Application Number
- JP2022125679
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-08-19
- Filing Date
- 2022-08-05
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2042-08-05
AI Technical Summary
Existing current detection devices for multi-phase AC type rotating electric machines face high calculation loads and accuracy challenges due to the need to correct detected current values based on complex error calculations involving multiple phases and varying control frequencies and rotational speeds.
A current detection device that includes a detection current acquisition unit, a shield between the current sensor and the power line, and a correction unit that calculates errors in the detected current value using a predetermined constant or variable number of errors determined by the distance between the current sensor and the power line, thereby simplifying the error calculation and reducing the calculation load.
The proposed solution effectively suppresses the calculation load while ensuring high accuracy in correcting detected current values, even in systems controlling multiple rotating electric machines with varying control parameters.
Smart Images

Figure 0007666446000011 
Figure 0007666446000012 
Figure 0007666446000013
Abstract
Description
[Technical field]
[0001] The present invention relates to a current detection device, a current detection program, and a current detection method that are applied to a control device for a polyphase AC rotating electric machine. [Background technology]
[0002] Patent Document 1 describes a current detection device that detects power supplied to a rotating electric machine through three power lines by a three-phase AC system using three current sensors installed on each power line. In this current detection device, a detected current value detected by a current sensor installed on a power line of a own phase that is a detection target is corrected in consideration of an error caused by currents flowing through two power lines of other phases that are not detection targets. Specifically, the detected current value detected by the current sensor of the own phase is corrected based on the distance between the current sensor of the own phase and the power line of the other phase and the other phase current value flowing through the power line of the other phase. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2004-61217 A Summary of the Invention [Problem to be solved by the invention]
[0004] In Patent Document 1, every time the detected current value is corrected, the calculation load is large because the error is calculated based on the distance between the current sensor of the own phase and the power line of the other phase and the current value of the other phase. In particular, in a system that controls multiple rotating electric machines, the number of other phases that cause errors increases, and the calculation load increases. Furthermore, in a system that controls multiple rotating electric machines, when the control frequency and rotation speed of each rotating electric machine are different and the detection timing of each current sensor is different, it becomes difficult to ensure the accuracy of the error calculation.
[0005] In view of the above, an object of the present invention is to provide a current detection technique that is applicable to a control device for a polyphase AC rotating electric machine and that can simultaneously reduce the calculation load and ensure the calculation accuracy. [Means for solving the problem]
[0006] The present invention provides a current detection device that is applied to a control device for a multi-phase AC rotating electric machine and detects phase currents flowing through power lines that supply power to the rotating electric machine. The current detection device includes a detected current acquisition unit that acquires a detected current value that is a detected value of the phase current of the power line that is a detection target from a current sensor that detects the phase current, and a correction unit that calculates an error in the detected current value due to magnetic flux of the power line based on an error number that is a predetermined constant or variable determined by a shield between the current sensor and the power line and a distance of the power line from the current sensor, and corrects the detected current value.
[0007] The inventors have found that the error in the detected current value can be easily calculated using the error number, based on the knowledge that the error in the detected current value can be calculated based on an error number, which is a predetermined constant or variable determined by the distance of the power line from the current sensor and any obstructions between the current sensor and the power line. According to the current detection device of the present invention, the error in the detected current value can be easily calculated based on the error number, so that the detected current value can be corrected while simultaneously suppressing the calculation load and ensuring the calculation accuracy.
[0008] The present invention also provides a current detection program that is applicable to a control device for a multi-phase AC rotating electric machine and detects phase currents flowing through power lines that supply power to the rotating electric machine. The current detection program causes a computer to execute a detected current acquisition step of acquiring a detected current value that is a detection value of the phase current of the power line that is a detection target from a current sensor that detects the phase current, and a correction step of calculating an error in the detected current value due to a magnetic flux of the power line based on an error number that is a predetermined constant or variable determined by a shield between the current sensor and the power line and a distance of the power line from the current sensor, and correcting the detected current value.
[0009] The present invention also provides a current detection method that is applied to a control device for a multi-phase AC rotating electric machine and detects phase currents flowing through power lines that supply power to the rotating electric machine, the current detection method including a detected current acquisition step of acquiring a detected current value that is a detected value of the phase current of the power line that is a detection target from a current sensor that detects the phase current, and a correction step of calculating an error in the detected current value due to a magnetic flux of the power line based on an error number that is a predetermined constant or variable determined by a shield between the current sensor and the power line and a distance of the power line from the current sensor, and correcting the detected current value.
[0010] According to the above current detection program and current detection method, as with the above current detection device, the error in the detected current value can be calculated based on the error number, so that the detected current value can be corrected while simultaneously reducing the calculation load and ensuring calculation accuracy. [Brief description of the drawings]
[0011] [Figure 1] 1 is a control device for a rotating electric machine including a current detection device according to a first embodiment. [Diagram 2] 6 is a flowchart showing a process for correcting a detected current value in the first motor. [Diagram 3] 6 is a flowchart showing a process for correcting a detected current value in the second motor. [Figure 4] 5 is a timing chart illustrating detection timing of the first motor. [Diagram 5] 6 is a timing chart illustrating detection timing of the second motor. [Figure 6] 13 is a control device for a rotating electric machine including a current detection device according to a second embodiment. [Figure 7] 6 is a flowchart showing a process for correcting a detected current value in the first motor. [Figure 8] 6 is a flowchart showing a process for correcting a detected current value in the second motor. [Figure 9] 13 is a control device for a rotating electric machine including a current detection device according to a third embodiment. [Figure 10] 6 is a flowchart showing a process for correcting a detected current value in the first motor. [Figure 11] 6 is a flowchart showing a process for correcting a detected current value in the second motor. [Figure 12] 5 is a flowchart showing a correction process for a detected current value in a boost circuit. [Figure 13] 5 is a timing chart for explaining detection timing of a boost circuit. [Figure 14] 5 is a timing chart illustrating detection timing of the first motor. [Figure 15] 13 is a control device for a rotating electric machine including a current detection device according to a fourth embodiment. [Figure 16] 6 is a flowchart showing a process for correcting a detected current value in the first motor. [Figure 17] 5 is a flowchart showing a correction process for a detected current value in a boost circuit. [Figure 18] 5 is a timing chart for explaining detection timing of a boost circuit. [Figure 19] 5 is a timing chart illustrating detection timing of the first motor. [Figure 20] 13 is a control device for a rotating electric machine including a current detection device according to a fourth embodiment. [Figure 21] 6 is a flowchart showing a process for correcting a detected current value in the first motor. [Figure 22] 13 is a flowchart showing a correction process for a detected current value in a first motor according to a fifth embodiment. [Diagram 23] 11A and 11B are diagrams for explaining the relationship between a shield between a current sensor and a power line, the distance of the power line to the current sensor, and the effect of magnetic flux from the power line. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] (First embodiment) 1 controls a first motor 11 and a second motor 12, which are rotating electric machines. The control device 10 includes a first inverter 21, a second inverter 22, a first electrical angle sensor 13, a second electrical angle sensor 14, current sensors S1u, S1v, S1w, S2u, S2v, and S2w, and a microcomputer 100. The microcomputer 100 includes a control unit 120 and a current detection unit 150.
[0013] The first motor 11 is a three-phase motor, and is connected to the control unit 220 via a first inverter 21 by three-phase power lines of U, V, and W phases. The current sensors S1u, S1v, and S1w are respectively installed on the U-phase power line, V-phase power line, and W-phase power line of the first motor 11, and detect the U-phase current value I1u, the V-phase current value I1v, and the W-phase current value I1w flowing through each power line. The second motor 12 is a three-phase motor, and is connected to the control unit 220 via a second inverter 22 by three-phase power lines of U, V, and W phases. The current sensors S2u, S2v, and S2w are respectively installed on the U-phase power line, V-phase power line, and W-phase power line of the second motor 12, and detect the U-phase current value I2u, the V-phase current value I2v, and the W-phase current value I2w flowing through each power line. The current sensors S1u, S1v, S1w, S2u, S2v, and S2w are current sensors that detect the phase currents flowing through the power lines by detecting magnetic fluxes generated by the currents flowing through the power lines. The first electrical angle sensor 13 detects the electrical angle of the first motor 11. The second electrical angle sensor 14 detects the electrical angle of the second motor 12.
[0014] The current detection unit 150 includes a true value estimation unit 110 and a current amplitude acquisition unit 130. The true value estimation unit 110 includes a detected current acquisition unit 111, an electrical angle acquisition unit 112, a current phase acquisition unit 113, and a correction unit 114.
[0015] The detected current acquisition unit 111 acquires detected current values, which are detection values of phase currents of the power line to be detected, from current sensors that detect phase currents. The detected current acquisition unit 111 acquires current values I1u, I1v, I1w, I2u, I2v, and I2w detected by each current sensor from the current sensors S1u, S1v, S1w, S2u, S2v, and S2w. The detected current acquisition unit 111 may acquire current values detected from multiple current sensors at a predetermined detection timing.
[0016] The electrical angle obtaining unit 112 obtains the detected electrical angles of the first motor 11 and the second motor 12 detected by the electrical angle sensors 13, 14. The current detection unit 150 may have a function of storing the detected electrical angles obtained by the electrical angle obtaining unit, and calculating and storing a predicted electrical angle that predicts the electrical angle at any timing based on the stored detected electrical angle.
[0017] The current phase acquisition unit 113 acquires the current phases of the first motor 11 and the second motor 12. As the current phase, for example, the current phase of the current command value output by the control unit 120 may be used. Also, the current phase calculated based on the voltage command value may be used.
[0018] The correction unit 114 corrects the current values I1u, I1v, I1w, I2u, I2v, and I2w acquired by the detected current acquisition unit 111. In a control device that controls a plurality of rotating electric machines as in the present embodiment, the correction unit 114 may be configured to calculate an error in the detected current value for each of all rotating electric machines controlled by the control device 10 based on a set error number and a phase difference between phase currents, an acquired current amplitude, an electrical angle, and a current phase, and to correct the detected current value based on the error in the detected current value calculated for each of all rotating electric machines controlled by the control device. The error number is a predetermined constant or variable determined by a shield between each current sensor and each power line and the distance of each power line to each current sensor, and is known at the design stage of the current detection unit 150, and may be configured to be stored in the microcomputer 100.
[0019] The error of the detected current value can be calculated by multiplying the phase current of the power line by the error number, which is a corresponding predetermined constant or variable. The error of the power line to be detected can be calculated by adding up the products of the phase current of each power line in each rotating electric machine and the corresponding error number. For example, for the j-phase (j=U, V, W) current of the first motor 11, if the detected current value is I1mj, the true value is I1rj, and the error is I1ej, the values of each current value can be expressed by the following formula (1).
[0020] I1mj=I1rj+I1ej … (1)
[0021] The error I1ej may be affected by the current flowing through each power line of the first motor 11 and the second motor 12. If the error caused by the current flowing through each power line of the first motor 11 is I11ej and the error caused by the current flowing through each power line of the second motor 12 is I21ej, the error I1ej can be expressed by the following formula (2).
[0022] I1ej=I11ej+I21ej … (2)
[0023] As shown in the following formula (3), the error I11ej caused by the k-phase (k=U, V, W) current of the first motor 11 can be calculated by multiplying the true value I1rk of the k-phase current by the corresponding error number C1k1j. As shown in the following formula (4), the error I21ej caused by the k-phase current of the second motor 12 can be calculated by multiplying the true value I2rk of the k-phase current by the corresponding error number C2k1j.
[0024] I11ej=C1u1j×I1ru+C1v1j×I1rv +C1w1j×I1rw … (3) I21ej=C2u1j×I2ru+C2v1j×I2rv +C2w1j×I2rw … (4)
[0025] The error numbers C1k1j and C2k1j are constants or variables that are known at the design stage of the current detection unit 150. The subscript “1k1j” indicates that the conduction phase is the k-phase of the first motor 11 and the evaluation phase is the j-phase of the first motor 11.
[0026] In a multi-phase AC rotating electric machine, the phase currents flowing through the power lines of one rotating electric machine are shifted from each other by a predetermined phase difference. For example, in a three-phase AC rotating electric machine, the V-phase current lags the U-phase current by 120°, and the W-phase current leads it by 120°. The above formulas (3) and (4) can be further simplified by utilizing the fact that I1ru, I1rv, and I1rw are sine waves shifted from each other by 120°. If the current amplitude of the first motor 11 is A1, the error I11ej of the j-phase current of the first motor 11 is expressed by the following formula (5) obtained by rewriting the above formula (3) using the electrical angle θ1 and current phase φ1 of the first motor 11. Similarly, if the current amplitude of the second motor 12 is A2, the error I21ej of the j-phase current of the second motor 12 is expressed by the following equation (6), which is obtained by rewriting the above equation (4) using the electrical angle θ2 and current phase φ2 of the second motor 12.
[0027] I11ej = C1u1j × A1 × sin(θ1 + φ1) +C1v1j×A1×sin(θ1-2π / 3+φ1) +C1w1j×A1×sin(θ1+2π / 3+φ1) … (5) I21ej = C2u1j × A2 × sin(θ2 + φ2) +C2v1j×A2×sin(θ2-2π / 3+φ2) +C2w1j×A2×sin(θ2+2π / 3+φ2) … (6)
[0028] The above formulas (5) and (6) are further expressed by the following formulas (11) and (12) using X11j, Y11j, X21j, and Y21j expressed by the following formulas (7) to (10). Since the error numbers C1k1j and C2k1j are constants that are known at the design stage of the current detection unit 150, X11j, Y11j, X21j, and Y21j that can be calculated from the error numbers C1k1j and C2k1j are also constants and can be known at the design stage of the current detection unit 150. As shown in the following formulas (11) and (12), X11j and X21j are amplitude correction coefficients for correcting the current amplitudes A1 and A2, and Y11j and Y21j are angle correction coefficients for correcting the electrical angles θ1 and θ2 and the current phases φ1 and φ2. Hereinafter, constants represented by a capital X and a subscript, such as X11j and X21j, will be referred to as amplitude correction coefficients, and constants represented by a capital Y and a subscript will be referred to as angle correction coefficients. X11j and Y11j are coefficients that can be calculated from the error number C1k1j, and X21j and Y21j are coefficients that can be calculated from the error number C2k1j.
[0029]
number
[0030] From the above formulas (2), (11), and (12), the error I1ej in the detected current value of the j-phase power line of the first motor 11 can be calculated by the following formula (13). In the following formula (13), since X11j, Y11j, X21j, and Y21j are constants, the error I1ej can be calculated based on the current amplitude A1, electrical angle θ1, and current phase φ1 of the first motor 11 and the current amplitude A2, electrical angle θ2, and current phase φ2 of the second motor 12. For example, the current amplitudes A1 and A2 can be acquired from the current amplitude acquisition unit 130. The electrical angles θ1 and θ2 can be acquired from the first electrical angle sensor 13 and the second electrical angle sensor 14. The current phases φ1 and φ2 can be calculated based on a voltage command value or a current command value for the control unit 120 to control the first motor 11 and the second motor 12. The voltage command value and the current command value can be acquired from the control unit 120. For each parameter, an estimated value may be used instead of a detected value. The estimated value of each parameter may be estimated by the correction unit 114 or may be estimated in another configuration of the current detection unit 150.
[0031] I1ej=A1×X11j×sin(θ1+φ1+Y11j) +A2×X21j×sin(θ2+φ2+Y21j) … (13)
[0032] The true value I2rj for the second motor 12 can also be calculated by the formula obtained by replacing the subscripts "1" and "2" in the above formulas (1) to (13). In this case, the amplitude correction coefficients X12j, X22j and the angle correction coefficients Y12j, Y22j can be calculated by the following formulas (14) to (17). Regarding the j-phase current of the second motor 12, if the detected current value is I2mj, the true value is I2rj, and the error is I2ej, the error I2ej can be calculated by the following formula (18), and the true value I2rj can be calculated by the following formula (19). As shown in the following formulas (14) to (17), X12j, Y12j are coefficients that can be calculated from the error number C2k1j, and X22j, Y22j are coefficients that can be calculated from the error number C2k2j. Since the error numbers C1k2j and C2k2j are variables or constants that are known at the design stage of the current detection unit 150, X12j, Y12j, X22j, and Y22j that can be calculated from the error numbers C1k2j and C2k2j are also variables or constants and can be known at the design stage of the current detection unit 150.
[0033]
number
[0034] The correction unit 114 calculates the true value I1rj for the first motor 11 from the above formulas (1) and (13). Also, the true value I2rj for the second motor 12 is calculated from the above formulas (18) and (19). It can be understood that the true values I1rj, I2rj, etc. can be calculated by the same method as above when there are three or more rotating electric machines. For example, for the j-phase current of the third motor, if the detected current value is I3mj, the true value is I3rj, and the error is I3ej, the error I1ej can be calculated by further adding the error I3ej to the right side of the above formula (2). Also, the true value I3rj can be calculated by the same formula as the true values I1rj and I2rj. The true value estimation unit 110 outputs the true values I1rj, I2rj calculated by the correction unit 114 to the control unit 120 and the current amplitude acquisition unit 130 as correction values of the detected current values flowing through the power lines of the first motor 11 and the second motor 12, respectively.
[0035] The current amplitude acquisition unit 130 acquires the current amplitude, which is the amplitude of the current waveform of the first motor 11 and the second motor 12. The current amplitude acquisition unit may be configured to acquire the current amplitude itself, or may have a function of acquiring other parameters such as a current waveform, estimating or calculating the current amplitude based on the acquired parameters, and may be configured to handle the current amplitude estimated or calculated in the current amplitude acquisition unit as the acquired current amplitude. The current amplitude acquisition unit 130 is configured to be able to acquire the current amplitude itself, estimate or calculate the current amplitude from the acquired other parameters, and handle the current amplitude obtained as a result as the acquired current amplitude. For example, the current waveform of the first motor 11 or the second motor 12 corrected in the past may be used, and this current waveform can be acquired from the true value estimation unit 110. In addition, the current amplitude acquisition unit 130 may use the current waveform of a voltage command value or a current command value for controlling the driving of the first motor 11 and the second motor 12 as the current waveform, and this current waveform can be acquired from the control unit 120. For example, the current amplitude acquisition unit 130 may acquire a d-axis current command value and a q-axis current command value for the first motor 11 from the control unit 120, and acquire the amplitude of a current vector at these current command values as the current amplitude of the first motor 11. The current amplitude acquisition unit 130 may be configured to acquire the current amplitude only when the current waveform changes. For example, when a current command value is used as the current waveform, the current amplitude is acquired only when the current command value changes, thereby reducing the frequency of acquiring the current amplitude and the calculation load on the microcomputer 100.
[0036] The current amplitude acquisition unit 130 may be configured to acquire the maximum amplitude of the current waveform for at least one electrical angle period as the current amplitude. For example, the current waveform of the first motor 11 previously corrected may be acquired from the true value estimation unit 110, the maximum amplitude of the current waveform for one electrical angle period may be found, and this maximum amplitude may be acquired as the current amplitude of the first motor.
[0037] The current amplitude acquisition unit 130 may be configured to acquire the current amplitude based on the amplitude of a current vector obtained by converting the phase currents flowing through at least two power lines of the first motor 11 or the second motor 12 into a rotating coordinate system (dq coordinate system) or a stationary coordinate system (αβ coordinate system). The vector currents Iu, Iv, and Iw in the three-phase coordinate system can be converted into current vectors iα, iβ in the stationary coordinate system or current vectors id, iq in the rotating coordinate system by the following equations (20) and (21). In the following equation (20), Ca and Cb are constants. Ca is a coordinate conversion coefficient, and in the case of absolute conversion, Ca=√(2 / 3), and in the case of relative conversion, Ca=2 / 3.
[0038]
number
[0039]
number
[0040] The control unit 120 acquires the detected current values corrected by the current detection unit 150. The control unit 120 acquires a true value I1rj for the first motor 11, and acquires a true value I2rj for the second motor 12. The control unit 120 also acquires detection values of the electrical angles θ1, θ2 of the first motor 11 and the second motor 12 from the first electrical angle sensor 13 and the second electrical angle sensor 14.
[0041] The control unit 120 controls the first motor 11 and the second motor 12 through the first and second inverters 21 and 22 based on the true values I1rj and I2rj, which are the detected current values corrected by the current detection unit 150. The control unit 120 generates control signals for controlling the first motor 11 and the second motor 12 by PID control or the like based on the true values I1rj and I2rj. For example, the control unit 120 converts the true values I1rj and I2rj into a rotating coordinate system based on the electrical angles θ1 and θ2. Then, for the first motor 11, the control unit 120 manipulates the voltage command values v1d* and v1q* so that the i1d and i1q obtained by converting the true value I1rj approach the current command values i1d* and i1q*. Also, for the second motor 12, the control unit 120 manipulates the voltage command values v2d* and v2q* so that the i2d and i2q obtained by converting the true value I2rj approach the current command values i2d* and i2q*.
[0042] 2 and 3 show flowcharts of the correction process of the detected current value executed by the current detection unit 150. The current detection unit 150 calculates an error in the detected current value for each of all rotating electric machines controlled by the control device 10, and corrects the detected current value based on the calculated error. Fig. 2 shows the correction process when the power line to be detected is the power line connected to the first motor 11, and Fig. 3 shows the correction process when the power line to be detected is the power line connected to the second motor 12. The processes shown in Figs. 2 and 3 are repeatedly executed at predetermined intervals.
[0043] 2, in step S101, a detected current value I1m of the first motor 11 is acquired. Specifically, a U-phase current value I1mu, a V-phase current value I1mv, and a W-phase current value I1mw are acquired from the current sensors S1u, S1v, and S1w. The first electrical angle sensor 13 detects the electrical angle of the first motor 11.
[0044] Fig. 4 is a diagram showing a shift in the detection timing of the second motor 12 relative to the detection timing of the first motor 11. The horizontal axis represents time t, and Fig. 4(a) shows the U-phase current value I1u, V-phase current value I1v, and W-phase current value I1w flowing through the power line of the first motor 11. Fig. 4(b) shows the U-phase current value I2u, V-phase current value I2v, and W-phase current value I2w flowing through the power line of the second motor 12. Fig. 4(c) shows the electrical angle θ1 of the first motor 11. Fig. 4(d) shows the electrical angle θ2 of the second motor 12.
[0045] In step S101, the current of the power line to be detected is detected at the current detection timing tm1 of the first motor 11. The detection timing tm1 is delayed by a time difference dt41 from the latest detection timing tm4 of the second motor 12. Then, the process proceeds to step S102.
[0046] In step S102, for all rotating electric machines controlled by the control device 10, corrected current values are acquired, which are detected current values corrected at detection timings earlier than the current detection timing. The microcomputer 100 stores the corrected current value I1b of the first motor 11 acquired from the current sensors S1u, S1v, and S1w at past detection timings and corrected, and the corrected current value I2b of the second motor 12 acquired from the current sensors S2u, S2v, and S2w at past detection timings and corrected. For example, for the first motor 11, the immediately preceding corrected current value obtained by correcting the detected current value detected at detection timing tm2 immediately prior to the detection timing tm1 can be used as the corrected current value I1b. Also, for the second motor 12, the immediately preceding corrected current value obtained by correcting the detected current value detected at detection timing tm3 immediately prior to the latest detection timing tm4 can be used as the corrected current value I2b. Then, the process proceeds to step S103.
[0047] In step S103, the current amplitude A1 in the first motor 11 and the current amplitude A2 in the second motor 12 are acquired. For example, the current amplitudes A1 and A2 are acquired based on the corrected current values I1b and I2b acquired in step S102. More specifically, for example, the current amplitudes A1 and A2 may be calculated by calculating the amplitude of a current vector converted into a rotating coordinate system or a stationary coordinate system based on the above formulas (20) to (25) for the corrected current values I1b and I2b. Alternatively, as shown in Figs. 4(a) and (c), the current amplitude A1 may be calculated by calculating the maximum amplitude in a current waveform for one electrical angle period T1b at the corrected current value I1b. Similarly, as shown in Figs. 4(b) and (d), the current amplitude A2 may be calculated by calculating the maximum amplitude in a current waveform for one electrical angle period T2b at the corrected current value I2b. Then, the process proceeds to step S105.
[0048] In step S105, the controller 11 acquires the detected electrical angle θ1 and the current phase φ1 estimated based on the voltage command value for the first motor 11. The controller 11 also acquires the predicted electrical angle θ2p and the current phase φ2 estimated based on the voltage command value for the second motor 12.
[0049] The electrical angle θ1 is obtained from the first electrical angle sensor 13 at the detection timing tm1. The predicted electrical angle θ2p can be calculated based on the detected electrical angle θ2m obtained from the second electrical angle sensor 14 at the detection timing tm4, the angular velocity ω2 of the second motor 12, and the time difference dt41 between the detection timings tm1 and tm4, as follows: θ2p=θ2m+ω2×dt41. The predicted electrical angle θ2p is an estimated value that can be applied to the electrical angle θ2 in the above formulas (13) to (15). As shown in FIG. 4, when the detection timings of the first motor 11 and the second motor 12 are different, the number of detections by the second electrical angle sensor 14 can be reduced and the processing load of the microcomputer 100 can be reduced by using estimated values instead of detected values for the parameters related to the second motor 12. Then, the process proceeds to step S106.
[0050] In step S106, an error I1e estimated for the detected current value I1m is calculated. The error I1e can be calculated by the above formula (13). X11u, Y11u, X21u, Y21u, X11v, Y11v, X21v, Y21v, X11w, Y11w, X21w, and Y21w are constants and are stored in advance in the microcomputer 100. Therefore, by using the current amplitudes A1 and A2 acquired in step S103 and the electrical angle θ1, current phase φ1, predicted electrical angle θ2p, and current phase φ2 acquired in step S105 in the above formula (13), the error I1e can be calculated with a small calculation load. Then, the process proceeds to step S107.
[0051] In step S107, the corrected current value I1a, which is the corrected detected current value at the detection timing tm1, is calculated based on the detected current value I1m and the error I1e. Specifically, the values of I1ru, I1rv, and I1rw that can be calculated based on the above formula (1) correspond to the corrected current value I1a. Then, proceed to step S108.
[0052] In step S108, the calculated corrected current value I1a is output to the control unit 120. The control unit 120 controls the first motor 11 based on the corrected current value I1a. The corrected current value I1a is also stored in the microcomputer 100. The corrected current value I1a calculated and stored in the current cycle can be used as the past corrected current value I1b in the next and subsequent cycles.
[0053] As shown in Fig. 3, the correction process for the detected current value related to the second motor 12 is executed in the same manner as in Fig. 2. First, in step S201, the detected current value I2m of the second motor 12 is acquired. Specifically, the U-phase current value I2mu, the V-phase current value I2mv, and the W-phase current value I2mw are acquired from the current sensors S2u, S2v, and S2w.
[0054] Fig. 5 is a diagram showing a shift in the detection timing of the first motor 11 relative to the detection timing of the second motor 12. The horizontal axis represents time t, and Fig. 5(a) shows the U-phase current value I2u, V-phase current value I2v, and W-phase current value I2w flowing through the power line of the second motor 12. Fig. 5(b) shows the U-phase current value I1u, V-phase current value I1v, and W-phase current value I1w flowing through the power line of the first motor 11. Fig. 5(c) shows the electrical angle θ2 of the second motor 12. Fig. 5(d) shows the electrical angle θ1 of the first motor 11.
[0055] In step S201, the current of the power line to be detected is detected at the current detection timing tm1 of the second motor 12. The detection timing tm1 is delayed by a time difference dt41 from the latest detection timing tm4 of the first motor 11. Then, the process proceeds to step S102.
[0056] In step S202, for all rotating electric machines controlled by the control device 10, corrected current values are acquired, which are detected current values corrected at detection timings earlier than the current detection timing. For example, for the second motor 12, the immediately preceding corrected current value obtained by correcting the detected current value detected at detection timing tm2 immediately preceding detection timing tm1 can be used as the corrected current value I2b. Also, for the first motor 11, the immediately preceding corrected current value obtained by correcting the detected current value detected at detection timing tm3 immediately preceding the latest detection timing tm4 can be used as the corrected current value I1b. Then, the process proceeds to step S203.
[0057] In step S203, the current amplitude A1 in the first motor 11 and the current amplitude A2 in the second motor 12 are obtained. As in step S103, the current amplitudes A1 and A2 are obtained based on the corrected current values I1b and I2b obtained in step S202. The current amplitudes A1 and A2 can be calculated using the same method as in step S103. Then, the process proceeds to step S205.
[0058] In step S205, the controller 11 acquires a predicted electrical angle θ1p predicted for the first motor 11 and a current phase φ1 estimated based on the voltage command value. The controller 11 also acquires a detected electrical angle θ2 for the second motor 12 and a current phase φ2 estimated based on the voltage command value.
[0059] The electrical angle θ2 is obtained from the second electrical angle sensor 14 at the detection timing tm1. The predicted electrical angle θ1p can be calculated from the detected electrical angle θ1m obtained from the first electrical angle sensor 13 at the detection timing tm4, the angular velocity ω1 of the first motor 11, and the time difference dt41 between the detection timings tm1 and tm4 by θ1p=θ1m+ω1×dt41. The predicted electrical angle θ1p is an estimated value that can be applied to the electrical angle θ1 in the above equations (13) to (15). As shown in FIG. 5, when the detection timings of the first motor 11 and the second motor 12 are different from each other, the number of detections by the first electrical angle sensor 13 can be reduced and the processing load of the microcomputer 100 can be reduced by using estimated values instead of detected values for the parameters related to the first motor 11. Then, the process proceeds to step S206.
[0060] In step S206, an error I2e estimated for the detected current value I2m is calculated. The error I2e can be calculated by the above formula (18). X12u, Y12u, X22u, Y22u, X12v, Y12v, X22v, Y22v, X12w, Y12w, X22w, and Y22w are constants and are stored in advance in the microcomputer 100. Therefore, by using the current amplitudes A1 and A2 acquired in step S203 and the electrical angle θ1, current phase φ1, predicted electrical angle θ2p, and current phase φ2 acquired in step S205 in the above formula (18), the error I2e can be calculated with a small calculation load. Then, the process proceeds to step S207.
[0061] In step S207, the corrected current value I2a, which is the corrected detected current value at the detection timing tm1, is calculated based on the detected current value I2m and the error I2e. Specifically, the values of I2ru, I2rv, and I2rw that can be calculated based on the above formula (19) correspond to the corrected current value I2a. Then, proceed to step S208.
[0062] In step S208, the calculated corrected current value I2a is output to the control unit 120. The control unit 120 controls the second motor 12 based on the corrected current value I2a. The corrected current value I2a is also stored in the microcomputer 100. The corrected current value I2a calculated and stored in the current cycle can be used as the past corrected current value I2b in the next and subsequent cycles.
[0063] As described above, according to the current detection unit 150 according to the first embodiment, by setting the error numbers C1k1j, C2k1j, the error numbers C1k2j, C2k2j, and the phase differences between the phase currents in advance, it is possible to calculate in advance, for example, the amplitude correction coefficients (X11u, X21u, etc.) and the angle correction coefficients (Y11u, Y21u, etc.) shown in the above formulas (7) to (10), (14) to (17), and store them in the microcomputer 100. As a result, for example, as shown in the above formulas (13) and (19), it is possible to easily and accurately calculate the errors I1ej, I2ej of the detected current values based on the current amplitude A1, electrical angle θ1, and current phase φ1 of the first motor 11 and the current amplitude A2, electrical angle θ2, and current phase φ2 of the second motor 12. 2 and 3, in the correction process of the detected current value executed at each detection timing, the detected current value, which is the detection value of the phase current of the power line to be detected, is obtained from the current sensor that detects the phase current in the detected current acquisition step shown in steps S101 and S201. Then, by appropriately acquiring the detected values or estimated values for the current amplitude A1, electrical angle θ1, and current phase φ1 of the first motor 11 and the current amplitude A2, electrical angle θ2, and current phase φ2 of the second motor 12, the error of the detected current value due to the magnetic flux of the power line is calculated based on the error number in the correction step shown in steps S106, S107, S206, and S207, and the detected current value is corrected. The error number is a predetermined constant or variable determined by the shield between the current sensor and the power line and the distance of the power line from the current sensor, and can be stored in advance in the microcomputer 100, so that the errors I1ej and I2ej of the detected current value can be calculated easily and accurately. As a result, the detected current value can be corrected while simultaneously reducing the calculation load on the microcomputer 100 and ensuring the calculation accuracy.
[0064] As shown in steps S102, S103, S202, and S203, the current amplitudes A1 and A2 are calculated based on the corrected current values I1b and I2b corrected at past detection timings, so that the current amplitudes can be calculated with high accuracy, and the accuracy of the corrected current values I1a and I2a is improved. In particular, by using the corrected current values I1a and I2a calculated in the immediately preceding cycle as the corrected current values I1b and I2b, the calculation accuracy of the current amplitudes can be further improved.
[0065] Furthermore, as shown in steps S105 and S205, when the detection timing of the first motor 11 and the second motor 12 is misaligned, when correcting the detected current value of the motor having the detection timing, estimated values are used instead of detected values for the parameters related to the motor having the non-detection timing, thereby reducing the number of detections by the sensors and the processing load on the microcontroller 100.
[0066] In step S105, the electrical angle θ2 detected at the detection timing tm1 may be used instead of the predicted electrical angle θ2p. Similarly, in step S205, the electrical angle θ1 detected at the detection timing tm1 may be used instead of the predicted electrical angle θ1p. By using the detected electrical angle for the motor on the side other than the detection timing, the accuracy of the corrected current values I1a and I2a is improved.
[0067] As described above, the current detection unit 150 can easily and accurately calculate the errors I1ej and I2ej of the detected current values. For this reason, the current detection unit 150 is particularly suitable for use in the control device 10 including current sensors such as the current sensors S1u, S1v, S1w, S2u, S2v, and S2w that detect phase currents by detecting magnetic flux generated by currents flowing through power lines and in which errors are likely to occur in the detected current values.
[0068] Second embodiment 6 shows a control device 20 for a rotating electric machine including a current detection unit 250 according to the second embodiment. As shown in Fig. 6, the control device 20 for a rotating electric machine differs from the control device 10 for a rotating electric machine in the configuration of the current detection unit 250 provided in the microcomputer 200. The current detection unit 250 further includes a storage unit 240.
[0069] The current amplitude acquiring section 230 is configured to be capable of acquiring the current amplitude itself, as in the case of the current amplitude acquiring section 130 in the first embodiment, and to estimate or calculate the current amplitude from other acquired parameters and to handle the current amplitude obtained as a result as the acquired current amplitude. The current amplitude acquired by the current amplitude acquiring section 230 is output to the storage section 240. The storage section 240 outputs the current amplitude acquired from the current amplitude acquiring section 230 to the true value estimating section 210.
[0070] When estimating the current amplitude based on the amplitude of the current vector absolutely transformed into a rotating coordinate system or a stationary coordinate system, the coordinate transformation coefficient Ca shown in the above equations (22) and (23) may be configured to be multiplied by the amplitude of the current vector after transformation in the current amplitude acquisition unit 130 and output to the memory unit 240, or the current amplitude acquisition unit 230 may be configured to calculate only an estimate of the amplitude of the current vector and output it to the memory unit 240, and the memory unit 240 or the true value estimation unit 210 may multiply the coordinate transformation coefficient Ca by the amplitude of the current vector after transformation.
[0071] The storage unit 240 stores a second map showing the relationship between the errors I1ej, I2ej of the detected current values, the electrical angles θ1, θ2, and the current phases φ1, φ2, which are created based on the error number, the phase difference between the phase currents, and the current amplitude. For example, the relationship between the errors I1ej, I2ej of the detected current values, the electrical angles θ1, θ2, and the current phases φ1, φ2 can be exemplified by a map of the relationship shown in the following formulas (26) and (27) using the corrected amplitudes Z11j, Z21j, Z12j, and Z22j, which are the products of the current amplitudes A1, A2 in the above formulas (13) and (18) and the corresponding amplitude correction coefficients X11j, X21j, X12j, and X22j. Note that Z11j=A1×X11j, Z21j=A2×X21j, Z12j=A1×X12j, and Z22j=A2×X22j. Furthermore, the storage unit 240 may store a first map created based on the relationship between the error number and the detected current value.
[0072] I1ej = Z11j × sin(θ1 + φ1 + Y11j) +Z21j×sin(θ2+φ2+Y21j) … (26) I2ej = Z12j × sin(θ1 + φ1 + Y11j) +Z22j×sin(θ2+φ2+Y22j) … (27)
[0073] In the storage unit 240, the corrected amplitudes Z11j, Z21j, Z12j, and Z22j and the angle correction coefficients Y11j, Y21j, Y12j, and Y22j shown in the above expressions (26) and (27) are stored in a mapped form.
[0074] The correction unit 214 is configured to be able to acquire the above-mentioned respective corrected amplitudes and angle correction coefficients by referring to the second map in the storage unit 240 based on the electrical angles θ1, θ2 and the current phases φ1, φ2. The correction unit 214 can easily calculate the errors I1ej, I2ej based on the corrected amplitudes and angle correction coefficients acquired from the second map, and can further calculate the true values I1rj, I2rj. Note that, when the storage unit 240 stores the first map, the correction unit 214 may be configured to correct the detected current value by referring to the first map. Other configurations in the microcomputer 200 are similar to those of the microcomputer 100 shown in FIG. 1, and therefore the description will be omitted by replacing the reference numbers in the 100s with the 200s.
[0075] 7 and 8 are flowcharts showing the correction process of the detected current value executed by the current detection unit 250. Fig. 7 shows the correction process when the power line to be detected is the power line connected to the first motor 11, and Fig. 8 shows the correction process when the power line to be detected is the power line connected to the second motor 12. The processes shown in Figs. 7 and 8 are repeatedly executed at predetermined intervals.
[0076] The process shown in Fig. 7 differs from the process shown in Fig. 2 in that it includes the process shown in step S304. The processes shown in steps S301 to S303 and S305 to S308 are similar to the processes shown in steps S101 to S103 and S105 to S108, so their explanations will be omitted. The process shown in Fig. 8 differs from the process shown in Fig. 3 in that it includes the process shown in step S404. The processes shown in steps S401 to S403 and S405 to S408 are similar to the processes shown in steps S201 to S203 and S205 to S208, so their explanations will be omitted.
[0077] In the process shown in FIG. 7, in step S303, the current amplitudes A1 and A2 are obtained in the same manner as in step S103 shown in FIG. 2, and then the process proceeds to step S304. In step S304, the corrected amplitudes Z11u, Z11v, Z11w, Z21u, Z21v, and Z21w and the angle correction coefficients Y11u, Y11v, Y11w, Y21u, Y21v, and Y21w are obtained from the second map stored in the microcomputer 200. Then, the process proceeds to step S305, and the electrical angle θ1 detected for the first motor 11 and the current phase φ1 estimated based on the voltage command value are obtained in the same manner as in step S105 shown in FIG. 2. In addition, the predicted electrical angle θ2p predicted for the second motor 12 and the current phase φ2 estimated based on the voltage command value are obtained. Then, the process proceeds to step S306, and the error 11e is calculated based on the above formula (26).
[0078] In the process shown in FIG. 8, in step S403, the current amplitudes A1 and A2 are acquired similarly to step S203 shown in FIG. 3, and then the process proceeds to step S404. In step S404, the corrected amplitudes Z12u, Z12v, Z12w, Z22u, Z22v, and Z22w and the angle correction coefficients Y12u, Y12v, Y12w, Y22u, Y22v, and Y22w are acquired from the second map stored in the microcomputer 200. Then, the process proceeds to step S405, and the predicted electrical angle θ1p predicted for the first motor 11 and the current phase φ1 estimated based on the voltage command value are acquired similarly to step S205 shown in FIG. 3. In addition, the detected electrical angle θ2 for the second motor 12 and the current phase φ2 estimated based on the voltage command value are acquired. Then, the process proceeds to step S406, and the error 12e is calculated by the above formula (27).
[0079] As described above, in the current detection unit 150 according to the first embodiment, the corrected amplitudes (Z11u, Z21u, etc.) and angle correction coefficients (Y11u, Y21u, etc.) are stored as the second map in the memory unit 240 in the microcomputer 200. As a result, for example, as shown in the above formulas (26) and (27), the errors I1ej, I2ej of the detected current values can be easily calculated based on the electrical angle θ1 and current phase φ1 of the first motor 11 and the electrical angle θ2 and current phase φ2 of the second motor 12, and the calculation load on the microcomputer can be further reduced.
[0080] As shown in the above formulas (26) and (27), in the second embodiment, the corrected current values I1a and I2a can be calculated without using the current amplitudes A1 and A2 estimated in steps S303 and S403. The current amplitudes A1 and A2 estimated in steps S303 and S403 are used by the storage unit 240 to update the second map.
[0081] According to each of the above embodiments, the following effects can be obtained.
[0082] The current detection units 150, 250 are applied to the control devices 10, 20 of a multi-phase AC rotating electric machine, and function as a current detection device that detects phase currents flowing through power lines that supply power to the rotating electric machines, the first motor 11 and the second motor 12. The current detection units 150, 250 include detected current acquisition units 111, 211, electrical angle acquisition units 112, 212, current phase acquisition units 113, 213, correction units 114, 214, and current amplitude acquisition units 130, 230.
[0083] The detected current acquisition units 111, 211 acquire a detected current value, which is a detection value of a phase current of a power line that is a detection target, from a current sensor that detects a current. The electrical angle acquisition units 112, 212 acquire an electrical angle of a rotating electric machine. The current phase acquisition units 113, 213 acquire a current phase of the rotating electric machine. The current amplitude acquisition units 130, 230 acquire a current amplitude, which is an amplitude of a current waveform of the rotating electric machine. When an error in a detected current value can be calculated by multiplying a phase current of a power line by an error number that is a corresponding predetermined constant, the correction units 114, 214 calculate an error in a detected current value based on a set error number and a phase difference between the phase currents, the acquired current amplitude, electrical angle, and current phase, and correct the detected current value.
[0084] According to the above-mentioned current detection units 150, 250, when correcting the detected current value, the error in the detected current value can be calculated based on the current amplitude acquired by the current amplitude acquisition unit 130, 230, the electrical angle acquired by the electrical angle acquisition unit 112, 212, and the current phase acquired by the current phase acquisition unit 113, 213. Therefore, the detected current value can be corrected while simultaneously reducing the calculation load and ensuring the calculation accuracy.
[0085] The detected current acquisition unit 111, 211 may be configured to repeatedly acquire the detected current value at a predetermined detection timing, and the current amplitude acquisition unit 130, 230 may be configured to acquire the current amplitude A1, A2 using the corrected current values I1b, I2b, which are the detected current values acquired by the detected current acquisition unit 111, 211 at a detection timing earlier than the current detection timing and corrected by the correction unit 114, 214, as the current waveform of the rotating electric machine. Since the detected current value at the current detection timing can be corrected based on the highly accurate current amplitudes A1, A2 acquired from the corrected current values I1b, I2b, the accuracy of the corrected current values I1a, I2a corrected at the current timing is improved. Furthermore, the current amplitude acquisition unit 130, 230 may be configured to estimate the current amplitude A1, A2 using the corrected current values acquired by the detected current acquisition unit 111, 211 at a detection timing immediately before the current detection timing and corrected by the correction unit 114, 214, as the current waveform of the rotating electric machine. This can further improve the accuracy of the current amplitudes A1, A2 obtained at the current detection timing, and can contribute to further improving the accuracy of the corrected current values I1a, I2a corrected at the current detection timing.
[0086] The correction units 114, 214 may be configured to calculate amplitude correction coefficients (e.g., X11u, X21u) and angle correction coefficients (e.g., Y11u, Y21u) in advance based on the error number and the phase difference between the phase currents, correct the acquired current amplitude with the amplitude correction coefficients, and correct the acquired electrical angle and current phase with the angle correction coefficients, thereby correcting the detected current value. By executing a correction process for the detected current value for each cycle using the amplitude correction coefficients and angle correction coefficients calculated in advance, the error in the detected current value can be easily calculated, and the calculation load on the current detection device can be reduced.
[0087] Like the current detection unit 250, a storage unit 240 may be provided that stores a second map that is created based on the error number, the phase difference between the phase currents, and the current amplitude and indicates the relationship between the error in the detected current value and the electrical angle and the current phase. In this case, the correction unit 214 may be configured to be able to correct the detected current value by referring to the second map based on the electrical angle and the current phase.
[0088] In a control device that controls multiple rotating electric machines, the correction unit may be configured to calculate an error in the detected current value for each of all rotating electric machines controlled by the control device based on a set error number and a phase difference between the phase currents, the acquired current amplitude, electrical angle, and current phase, and to correct the detected current value based on the error in the detected current value calculated for each of all rotating electric machines controlled by the control device.
[0089] The correction units 114 and 214 may be configured to predict the electrical angle of the other rotating electric machine at a first timing (e.g., detection timing tm1) which is the detection timing of the rotating electric machine to which the power line to be detected is connected, based on a time difference (e.g., dt41) between the first timing and a second timing (e.g., detection timing tm4) which is the detection timing of the other rotating electric machine. This can reduce the number of detections by the electrical angle sensor and the processing load on the current detection device.
[0090] The electrical angle acquiring unit 112, 212 may be configured to acquire the electrical angle of another rotating electric machine at the same time as the first timing, which is the detection timing of the rotating electric machine to which the power line to be detected is connected. By using the detected electrical angle even for the motor on the side other than the detection timing, the accuracy of the detected current value after correction is improved.
[0091] The current amplitude acquiring unit 130, 230 may be configured to acquire the maximum amplitude of the current waveform for at least one period in electrical angle as the current amplitude, thereby reducing the calculation load in calculating the current amplitude.
[0092] The current amplitude acquiring units 130, 230 may be configured to acquire the current amplitude based on the amplitude of a current vector obtained by transforming the phase currents flowing through at least two power lines of the rotating electric machine into a rotating coordinate system or a stationary coordinate system.
[0093] The current amplitude acquisition units 130 and 230 may be configured to acquire the current amplitude based on the current waveform of a current command value that controls the driving of the rotating electric machine. Since the current amplitude can be acquired only when the current command value changes, the calculation load for acquiring the current amplitude can be reduced. Furthermore, the current phase acquisition units 113 and 213 may be configured to acquire the current phase of the current command value as the current phase of the rotating electric machine.
[0094] The current detection units 150, 250 can be particularly suitably used when obtaining a detected current value using a current sensor that detects a phase current by detecting a magnetic flux generated by a current flowing through a power line, such as current sensors S1u, S1v, S1w, S2u, S2v, and S2w.
[0095] Third embodiment Fig. 9 shows a control device 30 for a rotating electric machine including a current detection unit 350 according to a third embodiment. As shown in Fig. 9, the control device 30 for a rotating electric machine further includes a boost circuit 23, a battery 24, and a current sensor S3, and differs from the control device 10 for a rotating electric machine in that the current detection unit 350 is further configured to correct the current value detected by the current sensor S3. The current detection technology according to the present application can also be applied to a case where a current sensor is installed in a location other than the power lines of the first motor 11 and the second motor 12, as in this embodiment.
[0096] The boost circuit 23 supplies power from the battery 24 to the first inverter 21 and the second inverter 22. The current sensor S3 is installed in a power line constituting the boost circuit 23, and detects the current flowing through the boost circuit 23 as a current value I3 by detecting a magnetic flux generated by a current flowing through this power line.
[0097] The detected current acquisition unit 311 acquires current values I1u, I1v, I1w, I2u, I2v, and I2w detected by the current sensors S1u, S1v, S1w, S2u, S2v, and S2w, and acquires the detected current value I3 from the current sensor S3. The detected current acquisition unit 311 may acquire current values detected from the multiple current sensors at a predetermined detection timing.
[0098] The electrical angle obtaining unit 312, like the electrical angle obtaining unit 112, obtains the detected electrical angles of the first motor 11 and the second motor 12 detected by the electrical angle sensors 13, 14. The current phase obtaining unit 313, like the current phase obtaining unit 313, obtains the current phases of the first motor 11 and the second motor 12.
[0099] The correction unit 314 corrects the current values I1u, I1v, I1w, I2u, I2v, I2w, and I3 acquired by the detected current acquisition unit 311.
[0100] Regarding the current flowing through the boost circuit, if the detected current value is I3m, the true value is I3r, and the error is I3e, then the values of each current can be expressed by the following formula (1).
[0101] I3m=I3r+I3e … (28)
[0102] The error I3e can be affected by the current flowing through each power line of the first motor 11 and the second motor 12, and the current flowing through the boost circuit 23. If the error caused by the current flowing through each power line of the first motor 11 is I13ej, the error caused by the current flowing through each power line of the second motor 12 is I23ej, and the error caused by the current flowing through the boost circuit 23 is I33e, the error I3e can be expressed by the following equation (29).
[0103] I3e=I13ej+I23ej+I33e … (29)
[0104] As shown in the following formula (30), the error I33e caused by the current flowing through the boost circuit 23 can be calculated by the product of the true value I3r of the current flowing through the boost circuit 23 and the corresponding error number C3.
[0105] I33e = C33 × I3r … (30)
[0106] Similarly, the error I1ej in the j-phase current of the first motor 11 and the error I2ej in the j-phase current of the second motor 12 may be affected by the current flowing through the boost circuit 23 in addition to the current flowing through the power lines of the first motor 11 and the second motor 12. If the error I1ej caused by the current flowing through the boost circuit 23 is I31e and the error I2ej caused by the current flowing through the boost circuit 23 is I32e, the errors I1ej and I2ej can be expressed by the following equations (31) and (32).
[0107] I1ej=I11ej+I21ej+I31e … (31) I2ej=I12ej+I22ej+I32e … (32)
[0108] The above formula (31) is obtained by adding I31e to the above formula (3), and the above formula (32) is obtained by adding I32e to the above formula (4). The errors I31e and I32e caused by the current flowing through the boost circuit 23 can be calculated by multiplying the true value I3r of the current flowing through the boost circuit 23 and the corresponding error number C3, as shown in the following formulas (33) and (34).
[0109] I31e = C31j × I3r … (33) I32e = C32j × I3r … (34)
[0110] The error numbers C31j, C32j, and C33 are constants or variables that are known at the design stage of the current detection unit 350. The subscript "31j" indicates that the energized phase is the power line of the boost circuit 23 and the evaluation phase is the j-phase power line of the first motor 11. Similarly, the subscript "32j" indicates that the energized phase is the power line of the boost circuit 23 and the evaluation phase is the j-phase power line of the second motor 12, and the subscript "33" indicates that the energized phase and the evaluation phase are the power line of the boost circuit 23.
[0111] The errors I11ej and I21ej in the above formula (31) can be expressed by the above formulas (5) and (6), and further, using X11j, Y11j, X21j, and Y21j represented by the above formulas (7) to (10), they are expressed by the above formulas (11) and (12).
[0112] The errors I12ej and I22ej in the above formula (32) can be expressed by a formula obtained by interchanging the subscripts "1" and "2" in the above formulas (5) and (6), and further, can be expressed by the above formulas (11) and (12) using X12j, Y12j, X22j, and Y22j expressed by the above formulas (14) to (17).
[0113] I12ej=A1×X12j×sin(θ1+φ1+Y12j) … (35) I22ej=A2×X22j×sin(θ2+φ2+Y22j) … (36)
[0114] Similarly, the errors I13ej and I23ej in the above formula (29) are expressed by the following formulas (37) and (38).
[0115] I13ej=A1×X13×sin(θ1+φ1+Y13) … (37) I23ej=A2×X23×sin(θ2+φ2+Y23) … (38)
[0116] The amplitude correction coefficients X13, X23 and the angle correction coefficients Y13, Y23 can be calculated by the following formulas (39) to (42). The error number C1k3 is an error number corresponding to the k-phase (k=U, V, W) current of the first motor 11, and the error caused by the k-phase (k=U, V, W) current of the first motor 11 in the current flowing through the boost circuit can be calculated by multiplying the true value I1rk of the k-phase current and the corresponding error number C1k3. Similarly, the error number C2k3 is an error number corresponding to the k-phase (k=U, V, W) current of the second motor 12, and the error caused by the k-phase (k=U, V, W) current of the second motor 12 in the current flowing through the boost circuit can be calculated by multiplying the true value I2rk of the k-phase current and the corresponding error number C2k3.
number
[0117] From the above formulas (28), (37), and (38), the following formula (43) can be obtained, from which I3r can be calculated.
[0118]
number
[0119] From the above equation (1), for the j-phase (j=U, V, W) current of the first motor 11, I1rj=I1mj-I1ej. Similarly, for the j-phase (j=U, V, W) current of the second motor 12, I2rj=I2mj-I2ej. Therefore, the following equations (44) and (45) can be obtained from the above equations (11), (12), (31) to (36).
[0120] I1rj=I1mj-I1ej =I1mj-{A1×X11j×sin(θ1+φ1+Y11j) +A2×X21j×sin(θ2+φ2+Y21j) +C31j×I3r} … (44) I2rj=I2mj-I2ej =I2mj-{A1×X12j×sin(θ1+φ1+Y12j) +A2×X22j×sin(θ2+φ2+Y22j) +C32j×I3r … (45)
[0121] Using the above equations (43) to (45), the true value I1rj of the j-phase (j=U, V, W) current of the first motor 11, the true value I2rj of the j-phase (j=U, V, W) current of the second motor 12, and the true value I3r of the current flowing through the boost circuit can be calculated.
[0122] As in the first embodiment, the current amplitude acquisition unit 330 may be configured to acquire the current amplitude based on the amplitude of a current vector obtained by converting the phase currents flowing through at least two power lines of the first motor 11 or the second motor 12 into a rotating coordinate system (dq coordinate system) or a stationary coordinate system (αβ coordinate system). Even when the coordinate system is converted in this way, the true values I1rj, I2rj, and I3r can be calculated by the above formulas (43) to (45).
[0123] 10 to 12 are flowcharts showing the correction process of the detected current value executed by the current detection unit 350. The current detection unit 350 calculates an error in the detected current value for each of all rotating electric machines and the boost circuit controlled by the control device 30, and corrects the detected current value based on the calculated error. FIG. 10 shows the correction process when the power line to be detected is the power line connected to the first motor 11, FIG. 11 shows the correction process when the power line to be detected is the power line connected to the second motor 12, and FIG. 12 shows the correction process when the power line to be detected is the power line connected to the boost circuit 23. The processes shown in FIGS. 10 to 12 are repeatedly executed at predetermined intervals.
[0124] 10, first, in step S501, similarly to step S101 in the first embodiment, the detected current value I1m of the first motor 11 is acquired. After that, the process proceeds to step S102.
[0125] In step S502, for all rotating electric machines and boost circuits controlled by the control device 30, corrected current values are acquired, which are detected current values corrected at detection timings earlier than the current detection timing. The microcomputer 300 stores the corrected current values I1b and I2b, which were acquired from the current sensors at past detection timings and corrected, and the corrected current value I3b of the current flowing through the power line of the boost circuit. These stored corrected current values I1b, I2b, and I3b can be read and acquired. Then, the process proceeds to step S503.
[0126] In step S503, similar to step S103 in the first embodiment, the current amplitude A1 in the first motor 11 and the current amplitude A2 in the second motor 12 are acquired. Then, the process proceeds to step S504. In step S504, similar to step S105 in the first embodiment, the electrical angle θ1 detected for the first motor 11 and the current phase φ1 estimated based on the voltage command value are acquired. In addition, the predicted electrical angle θ2p predicted for the second motor 12 and the current phase φ2 estimated based on the voltage command value are acquired. Then, the process proceeds to step S505.
[0127] In step S505, a true value I3r of the current flowing through the power line of the boost circuit is obtained. The true value I3r may be obtained by obtaining the detected current value I3m and calculating it from the above formula (43). In addition, if the current flowing through the power line of the boost circuit is approximately constant, the corrected current value I3b corrected at the past timing obtained in step S502 may be used. Then, the process proceeds to step S506.
[0128] In step S506, an error I1e estimated for the detected current value I1m is calculated. The error I1e can be calculated by the following formula (46).
[0129] I1ej=A1×X11j×sin(θ1+φ1+Y11j) +A2×X21j×sin(θ2+φ2+Y21j) +C31j×I3r … (46)
[0130] X11u, Y11u, X21u, Y21u, X11v, Y11v, X21v, Y21v, X11w, Y11w, X21w, and Y21w are constants and are stored in advance in the microcomputer 300. Furthermore, C31u, C31v, and C31w are constants and are stored in advance in the microcomputer 300. Therefore, by using the current amplitudes A1 and A2 acquired in step S503, the electrical angle θ1, the current phase φ1, the predicted electrical angle θ2p, and the current phase φ2 acquired in step S504, and the true value I3r acquired in step S505 in the above equation (46), the error I1e can be calculated with a small calculation load. Then, the process proceeds to step S507.
[0131] In step S507, similar to step S107 in the first embodiment, a corrected current value I1a is calculated based on the detected current value I1m and the error I1e. Then, the process proceeds to step S508. In step S508, similar to step S108 in the first embodiment, the calculated corrected current value I1a is output to the control unit 520. The control unit 320 controls the first motor 11 based on the corrected current value I1a. The corrected current value I1a is stored in the microcomputer 300. The corrected current value I1a calculated and stored in the current cycle can be used as the past corrected current value I1b in the next and subsequent cycles.
[0132] As shown in Fig. 11, the correction process for the detected current value related to the second motor 12 is executed in the same manner as in Fig. 10. First, in step S601, the detected current value I2m of the second motor 12 is acquired. Specifically, the U-phase current value I2mu, the V-phase current value I2mv, and the W-phase current value I2mw are acquired from the current sensors S2u, S2v, and S2w. Then, the process proceeds to step S602.
[0133] The processes shown in steps S602 to S605 are similar to the processes shown in steps S502 to S505, and therefore the description thereof will be omitted.Then, the process proceeds to step S606.
[0134] In step S606, an error I2e estimated for the detected current value I2m is calculated. The error I2e can be calculated by the following formula (47).
[0135] I2ej=A1×X12j×sin(θ1+φ1+Y12j) +A2×X22j×sin(θ2+φ2+Y22j) +C32j×I3r … (47)
[0136] X12u, Y12u, X22u, Y22u, X12v, Y12v, X22v, Y22v, X12w, Y12w, X22w, and Y22w are constants and are stored in advance in the microcomputer 300. Furthermore, C32u, C32v, and C32w are constants and are stored in advance in the microcomputer 300. Therefore, by using the current amplitudes A1 and A2 acquired in step S603, the electrical angle θ1, the current phase φ1, the predicted electrical angle θ2p, and the current phase φ2 acquired in step S604, and the true value I3r acquired in step S605 in the above equation (47), the error I2e can be calculated with a small calculation load. Then, the process proceeds to step S607.
[0137] In step S607, similar to step S507, a corrected current value I2a is calculated based on the detected current value I2m and the error I2e. Then, the process proceeds to step S608. In step S608, similar to step S508, the calculated corrected current value I2a is output to the control unit 320. The control unit 320 controls the second motor 12 based on the corrected current value I2a. The corrected current value I2a is stored in the microcomputer 300. The corrected current value I2a calculated and stored in the current cycle can be used as the past corrected current value I2b in the next and subsequent cycles.
[0138] 12, the correction process for the detected current value related to the boost circuit 23 first acquires the detected current value I3m of the boost circuit 23 detected by the current sensor S3 in step S701, and then proceeds to step S702.
[0139] In step S702, corrected current values, which are detected current values corrected at detection timings earlier than the current detection timing, are obtained for all rotating electric machines controlled by the control device 30. For example, the corrected current values I1b and I2b stored in the microcomputer 300 can be read and obtained. Then, the process proceeds to step S703.
[0140] The processes shown in steps S703 and S705 are similar to the processes shown in steps S503 and S504, and therefore the description thereof will be omitted. After that, the process proceeds to step S706.
[0141] In step S706, an error I3e estimated for the detected current value I3m is calculated. The error I3e can be calculated by the following equation (48), which is obtained from the above equations (29), (30), (37), and (38).
[0142] I3e=I13ej+I23ej+I33e =A1×X13×sin(θ1+φ1+Y13) +A2×X23×sin(θ2+φ2+Y23) +C33×I3r … (48)
[0143] X13, Y13, X23, Y23, and C33 are constants and are stored in advance in the microcomputer 300. The true value I3r can be calculated from the above formula (43) using the detected current value I3m acquired in step S701. Therefore, by using the current amplitudes A1 and A2 acquired in step S703 and the electrical angle θ1, current phase φ1, predicted electrical angle θ2p, and current phase φ2 acquired in step S704 in the above formula (48), the error I1e can be calculated with a small calculation load. Then, the process proceeds to step S707.
[0144] In step S707, similar to step S507, the corrected current value I3a is calculated based on the detected current value I3m and the error I3e. Then, the process proceeds to step S708. In step S708, similar to step S508, the calculated corrected current value I3a is output to the control unit 320. The control unit 320 controls the boost circuit 23 based on the corrected current value I3a. The corrected current value I3a is stored in the microcomputer 300. The corrected current value I3a calculated and stored in the current cycle can be used as the past corrected current value I3b in the next and subsequent cycles.
[0145] Fig. 13 is a diagram showing the deviation of the detection timing of the first motor 11 and the second motor 12 from the detection timing of the boost circuit 23. The horizontal axis represents time t, and Fig. 13(a) shows the current value I3 flowing in the power line constituting the boost circuit 23. Fig. 13(b) shows the U-phase current value I1u, V-phase current value I1v, and W-phase current value I1w flowing in the power line of the first motor 11. Fig. 13(c) shows the U-phase current value I2u, V-phase current value I2v, and W-phase current value I2w flowing in the power line of the second motor 12.
[0146] When a current of detected current value I3m is detected at the current detection timing tm1, the detection timing tm1 is delayed by a time difference dt31 from the latest detection timing tm3 of the first motor 11, and is delayed by a time difference dt51 from the latest detection timing tm5 of the second motor 12.
[0147] In this case, the current amplitude A1 of the first motor 11 may be obtained at the detection timing tm3 or may be detected at the detection timing tm4 immediately before the detection timing tm3. The electrical angle θ1 of the first motor 11 may be obtained at the detection timing tm3 or may be detected at the detection timing tm4 immediately before the detection timing tm3. Alternatively, a predicted electrical angle θ1p may be used as the electrical angle θ1. The predicted electrical angle θ1p can be calculated based on the detected electrical angle θ1m obtained from the first electrical angle sensor 13 at the detection timing tm4, the angular velocity ω1 of the first motor 11, and the time difference dt41 between the detection timings tm1 and tm4, as follows: θ1p=θ1m+ω1×dt41. The current phase φ1 of the first motor 11 may be estimated based on the voltage command value.
[0148] The current amplitude A2 of the second motor 12 may be obtained at the detection timing tm5 or may be detected at the detection timing tm6 immediately before the detection timing tm5. The electrical angle θ2 of the second motor 12 may be obtained at the detection timing tm5 or may be detected at the detection timing tm6 immediately before the detection timing tm5. Alternatively, a predicted electrical angle θ2p may be used as the electrical angle θ2. The predicted electrical angle θ2p can be calculated based on the detected electrical angle θ2m obtained from the second electrical angle sensor 14 at the detection timing tm5, the angular velocity ω2 of the second motor 12, and the time difference dt51 between the detection timings tm1 and tm5, as follows: θ2p=θ2m+ω2×dt51. The current phase φ2 of the second motor 12 may be estimated based on the voltage command value.
[0149] Fig. 14 is a diagram showing the shift in detection timing of the second motor 12 and the boost circuit 23 relative to the detection timing of the first motor 11. The horizontal axis represents time t, and Fig. 14(a) shows the U-phase current value I1u, V-phase current value I1v, and W-phase current value I1w flowing through the power line of the first motor 11. Fig. 14(b) shows the U-phase current value I2u, V-phase current value I2v, and W-phase current value I2w flowing through the power line of the second motor 12. Fig. 14(c) shows the current value I3 flowing through the power line constituting the boost circuit 23.
[0150] When a current having a detected current value I1m is detected at the current detection timing tm1, the detection timing tm1 is delayed from the latest detection timing tm4 of the second motor 12 by a time difference dt41.
[0151] In this case, as in the first embodiment, the current amplitude A1 of the first motor 11 can be obtained based on the corrected current value I1b, which is obtained by correcting the detected current value detected at the detection timing tm2 immediately before the detection timing tm1. The electrical angle θ2 of the second motor 12 can be obtained at the detection timing tm4 or at the detection timing tm3 immediately before the detection timing tm4. Alternatively, a predicted electrical angle θ2p can be used as the electrical angle θ2. The predicted electrical angle θ2p can be calculated based on the detected electrical angle θ2m obtained from the second electrical angle sensor 14 at the detection timing tm4, the angular velocity ω2 of the second motor 12, and the time difference dt41 between the detection timings tm1 and tm4, as follows: θ2p=θ2m+ω2×dt41. The current phases φ1 and φ2 can be estimated based on the voltage command value.
[0152] The true value I3r of the boost circuit 23 may be calculated based on the detected current value I3m detected at the detection timing tm1. Alternatively, the true value I3r of the boost circuit 23 may be calculated using the detected current value I3m acquired at the detection timing tm5 or tm6. When the detected current value t3m is used, the true value I3r is calculated using the detected current value I3m acquired in the above formula (43), and the detected current values of the first motor 11 and the second motor 12 can be corrected by using the detected current value I3m in the above formulas (44) and (45). Alternatively, the corrected current value I3a corrected at the detection timing tm5 or tm6 may be used as the true value I3r, or the average value of the corrected current values I3a corrected at the past several detection timings may be used as the true value I3r. When the corrected current value I3a or its average value is used as the true value I3r, the detected current values of the first motor 11 and the second motor 12 can be corrected by the above equations (44) and (45).
[0153] (Fourth embodiment) Fig. 15 shows a control device 40 for a rotating electric machine including a current detection unit 450 according to the fourth embodiment. As shown in Fig. 15, the control device 40 for a rotating electric machine does not control the second motor 12, and therefore differs from the control device 30 for a rotating electric machine according to the third embodiment in that it does not include components for controlling the second motor 12. The other components are similar to those of the control device 30 for a rotating electric machine according to the third embodiment, and therefore the reference numbers in the 300s in the control device 30 are replaced with numbers in the 400s and description thereof will be omitted.
[0154] 16 and 17 are flowcharts of the correction process of the detected current value executed by the current detection unit 450. The current detection unit 450 calculates an error in the detected current value for each of the first motor 11 controlled by the control device 40 and the boost circuit 23, and corrects the detected current value based on the calculated error. Fig. 16 shows the correction process when the power line to be detected is the power line connected to the first motor 11, and Fig. 17 shows the correction process when the power line to be detected is the power line connected to the boost circuit 23. The processes shown in Figs. 16 and 17 are repeatedly executed at predetermined intervals.
[0155] In the processes shown in FIG. 16, since the second motor 12 does not exist, the processes shown in steps S802 to S804 do not acquire parameters related to the second motor 12, unlike the processes shown in steps S502 to S504 in FIG. 10. Therefore, in step S806, the term related to the error from the second motor 12 in the above formula (46) is set to zero, so that the error I1e estimated for the detected current value I1m can be calculated. That is, the error I1e can be calculated by setting A2×X21j×sin(θ2+φ2+Y21j)=0 in the above formula (46). The other processes shown in FIG. 16 are similar to the processes shown in FIG. 10, so that the description will be omitted.
[0156] Similarly, in the processes shown in steps S902, S903, and S905 in FIG. 17, unlike the processes shown in steps S702, S703, and S705 in FIG. 12, parameters related to the second motor 12 are not acquired. Therefore, in step S906, the term related to the error from the second motor 12 in the above formula (48) is set to zero, so that the error I3e estimated for the detected current value I1m can be calculated. That is, the error I3e can be calculated by setting A2×X23×sin(θ2+φ2+Y23)=0 in the above formula (48). The other processes shown in FIG. 17 are similar to the processes shown in FIG. 12, so that the description will be omitted.
[0157] Fig. 18 is a diagram showing a shift in the detection timing of the first motor 11 relative to the detection timing of the boost circuit 23. The horizontal axis represents time t, and Fig. 18(a) shows a current value I3 flowing in the power line constituting the boost circuit 23. Fig. 18(b) shows a U-phase current value I1u, a V-phase current value I1v, and a W-phase current value I1w flowing in the power line of the first motor 11.
[0158] When a current having a detected current value I3m is detected at the current detection timing tm1, the detection timing tm1 is delayed from the latest detection timing tm4 of the first motor 11 by a time difference dt41.
[0159] In this case, the current amplitude A1 of the first motor 11 may be obtained at the detection timing tm4, or may be detected at the detection timing tm3 immediately before the detection timing tm4. The electrical angle θ1 of the first motor 11 may be obtained at the detection timing tm1, or a predicted electrical angle θ1p may be used as the electrical angle θ1. The predicted electrical angle θ1p can be calculated based on the detected electrical angle θ1m obtained from the first electrical angle sensor 13 at the detection timing tm4, the angular velocity ω1 of the first motor 11, and the time difference dt41 between the detection timings tm1 and tm4, as follows: θ1p=θ1m+ω1×dt41. Alternatively, a predicted electrical angle θ1p calculated in a similar manner based on the detected electrical angle obtained from the first electrical angle sensor 13 at the detection timing tm3, the angular velocity ω1 of the first motor 11, and the time difference between the detection timings tm1 and tm3 may be used. In addition, the current phase φ1 of the first motor 11 may be estimated based on the voltage command value.
[0160] Fig. 19 is a diagram showing a shift in the detection timing of the boost circuit 23 relative to the detection timing of the first motor 11. The horizontal axis represents time t, and Fig. 19(a) shows the U-phase current value I1u, V-phase current value I1v, and W-phase current value I1w flowing through the power line of the first motor 11. Fig. 19(b) shows the current value I3 flowing through the power line constituting the boost circuit 23.
[0161] When a current with a detected current value I1m is detected at the current detection timing tm1, as in the first and third embodiments, the current amplitude A1 of the first motor 11 can be acquired based on the corrected current value I1b, which is the immediately preceding corrected current value obtained by correcting the detected current value detected at the detection timing tm2 immediately preceding the detection timing tm1, and the current amplitude A1 can be acquired based on the corrected current value I1b. Also, the current phase φ1 can be estimated based on the voltage command value.
[0162] The true value I3r of the boost circuit 23 may be calculated based on the detected current value I3m detected at the detection timing tm1. Alternatively, the true value I3r of the boost circuit 23 may be calculated using the detected current value I3m acquired at the detection timing tm3 or the detection timing tm4. When the detected current value t3m is used, the detected current value of the first motor 11 can be corrected by calculating the true value I3r using the detected current value I3m acquired in the above formula (43) and using it in the above formula (44). Alternatively, the corrected current value I3a corrected at the detection timing tm3 or the detection timing tm4 may be used as the true value I3r, or the average value of the corrected current values I3a corrected at the past several detection timings may be used as the true value I3r. When the corrected current value I3a or its average value is used as the true value I3r, the detected current value of the first motor 11 can be corrected by the above formula (44).
[0163] The current detection technique according to the present application can also be applied to the case where there is a single rotating electric machine and a boost circuit is provided, as in this embodiment.
[0164] Fifth embodiment Fig. 20 shows a control device 50 for a rotating electric machine including a current detection unit 550 according to the fifth embodiment. As shown in Fig. 20, the control device 40 for a rotating electric machine does not control the second motor 12, and therefore differs from the control device 10 for a rotating electric machine according to the first embodiment in that it does not include components for controlling the second motor 12. The other components are similar to those of the control device 10 for a rotating electric machine according to the third embodiment, and therefore the reference numbers in the 100s in the control device 10 have been replaced with numbers in the 500s and will not be described again.
[0165] A flowchart of the correction process of the detected current value executed by the current detection unit 550 is shown in Fig. 21. The current detection unit 550 calculates an error in the detected current value for the first motor 11 controlled by the control device 50, and corrects the detected current value based on the calculated error. The process shown in Fig. 21 is repeatedly executed at predetermined intervals.
[0166] In each process shown in FIG. 21, since the second motor 12 does not exist, in each process shown in steps S1002, S1003, and S1005, unlike each process shown in steps S102, S103, and S105 of FIG. 2, parameters related to the second motor 12 are not acquired. Therefore, in step S1006, the term related to the error from the second motor 12 in the above formula (13) is set to zero, so that the error I1e estimated for the detected current value I1m can be calculated. That is, the error I1e can be calculated by setting A2×X21j×sin(θ2+φ2+Y21j)=0 in the above formula (13). Other processes shown in FIG. 21 are similar to those shown in FIG. 2, so the description will be omitted.
[0167] The current detection technique according to the present application can also be applied to a case where there is a single rotating electric machine as in this embodiment.
[0168] Sixth embodiment In the sixth embodiment, a method for correcting each detected current value without the current detection unit 350 acquiring the electrical angle, current amplitude, and current phase of the rotating electric machine will be described using the configuration of a control device 30 for a rotating electric machine shown in FIG.
[0169] From the above expressions (1) to (4), (29) to (32), the true values I1rj, I2rj, and I3r can be calculated by solving the simultaneous equations shown in the following expression (49).
[0170] I1mj=I1rj+I1ej =I1rj+{C1u1j×I1ru+C1v1j×I1rv +C1w1j×I1rw+C2u1j×I2ru +C2v1j×I2rv+C2w1j×I2rw +C31j×I3r} I2mj=I2rj+I2ej =I2rj+{C1u2j×I1ru+C1v2j×I1rv +C1w2j×I1rw+C2u2j×I2ru +C2v2j×I2rv+C2w2j×I2rw +C32j×I3r} I3m=I3r+I3e =I3r+{C1u3×I1ru+C1v3×I1rv+C1w3×I1rw +C2u3×I2ru+C2v3×I2rv+C2w3×I2rw +C33×I3r} … (49)
[0171] The above formula (49) can be expressed as a determinant shown in the following formula (50): As shown in the following formula (50), the true values I1rj, I2rj, and I3r can also be calculated by multiplying the inverse matrix formed by the error numbers and each detected current value.
[0172]
number
[0173] FIG. 22 is a diagram showing the shift of the detection timing of the second motor 12 and the boost circuit 23 with respect to the detection timing of the first motor 11. The horizontal axis indicates time t, and FIG. 22(a) shows the U-phase current value I1u, the V-phase current value I1v, and the W-phase current value I1w flowing through the power line of the first motor 11. FIG. 22(b) shows the U-phase current value I2u, the V-phase current value I2v, and the W-phase current value I2w flowing through the power line of the second motor 12. FIG. 22(c) shows the current value I3 flowing through the power line constituting the boost circuit 23. In this embodiment, when a current of the detected current value I1m is detected at the current detection timing tm1, it is necessary to obtain the detected current values I2m and I3m at the detection timing tm1 as well. Similarly, at the detection timing of the second motor 12 and the detection timing of the boost circuit 23, it is necessary to simultaneously obtain the detected current values I1m, I2m, and I3m at the detection timing. Since each error quantity is a known variable or constant, if the detected current values I1m, I2m, and I3m are simultaneously acquired at each detection timing, each detected current value can be corrected by solving the above formula (49) or (50) without acquiring the electrical angle, current amplitude, or current phase of the rotating electric machine. In the first to fifth embodiments, the detected current value is corrected using the electrical angle, current amplitude, and current phase of the rotating electric machine. However, the current detection units 150, 250, 350, 450, and 550 may be configured to correct each detected current value without acquiring the electrical angle, current amplitude, or current phase of the rotating electric machine, as in this embodiment.
[0174] As shown in the following modified examples 1 to 4, if the above formulas (49) and (50) can be simplified, it becomes possible to more easily correct each detected current value without acquiring the electrical angle, current amplitude, and current phase of the rotating electric machine. For example, the error number is determined by the shield between the current sensor and the power line and the distance of the power line from the current sensor, but depending on the factors that determine these error numbers, the error number may become zero, and the above formulas (49) and (50) may be simplified.
[0175] (Variation 1) When the error numbers C31j=0 and C32=0, I3m=I3r+C33×I3r according to the above formula (49), and therefore I3r can be calculated as I3r=I3m / (1+C33).
[0176] (Variation 2) When only noise from the own phase needs to be considered, for example, taking the U-phase current of the first motor 11 as an example, its true value I1ru can be calculated by I1ru=I1mu / (1+C1u1u) since I1mu=I1ru+C1u1u×I1ru from the above equation (49). The V- and W-phase currents of the first motor 11 and the U-, V- and W-phase currents of the second motor 12 can be calculated in a similar manner.
[0177] Examples of cases where only noise from the own phase needs to be considered include when the power lines other than the own phase are sufficiently far away, when there is a shield that blocks magnetic flux such as a magnetic flux shield between the own phase and other phases, when the angle of the power line is an angle that does not affect the magnetic flux, etc. The angle of the power line can also be expressed as the distance in a specified direction (for example, the distance in the x direction and the distance in the y direction).
[0178] For example, as shown in FIG. 23, when the power line of a rotating electric machine is curved and has a corner, it may be necessary to consider only the noise from the own phase. FIG. 23(a) is a top view of a power line 61 and a current sensor 60 that detects the current value of the power line, and FIG. 23(b) is a side view of the power line 61 and the current sensor 60. The power line 61 has a portion that extends parallel to the xy plane and a curved portion that extends parallel to the z direction. When the current sensor 60 detects the magnetic flux of a current flowing in the x direction, no current flows in the y direction and no magnetic flux is generated, so no error occurs due to the current in the y direction. Therefore, it is necessary to consider only the error due to the magnetic flux from the current flowing in the portion of the power line 61 that extends parallel to the z direction.
[0179] (Variation 3) In a configuration in which the second motor 12 is not the subject of control as shown in FIG. 15, if there is no error between the detected current value and the true value in the current value of each phase of the first motor 11, that is, if I1ru=I1mu, I1rv=I1mv, and I1rw=I1mw, then from the above equation (49), I3m=I3r+C1u3×I1mu+C1v3×I1mv+C1w3×I1mw+C33×I3r, and therefore I3r can be calculated as I3m=(I3m-C1u3×I1mu-C1v3×I1mv-C1w3×I1mw) / (1+C33).
[0180] (Variation 4) When the first motor 11, the second motor 12, and the boost circuit 23 are sufficiently far from each other, or when there is a shielding object for blocking magnetic flux, such as a magnetic flux shield, between the first motor 11, the second motor 12, and the boost circuit 23, there are cases where it is not necessary to consider errors resulting from other rotating electric machines or boost circuits. In this case, from the above formula (49), for the first motor 11, I1mj=I1rj+C1u1j×I1ru+C1v1j×I1rv+C1w1j×I1rw is obtained, and when this is expressed as a determinant in the same manner as the above formula (50), it is obtained as shown in the following formula (51).
[0181]
number
[0182] In this way, since the above formulas (49) and (50) can be simplified, the calculation processing in the microcomputer 300 and the like can be reduced. In addition, in this case, it is only necessary to simultaneously obtain the detected current values of each phase of the first motor 11 at the detection timing of the first motor 11, so the load on the microcomputer 300 caused by simultaneously obtaining the detected current values can be reduced to an unproblematic level. Similarly, for the second motor 12, I2mj=I2rj+C2u2j×I2ru+C2v2j×I2rv+C2w2j×I2rw can be obtained from the above formula (49), and can also be expressed by a determinant similar to the above formula (51). This contributes to reducing the load on the microcomputer 300 and the like.
[0183] The formulas shown in the above embodiments can be applied to cases where the phase currents flowing through the power lines include frequency components other than the fundamental wave. For example, when the phase currents flowing through the power lines of the first motor 11 include n-th harmonic components, the true value I1rk (I1ru, I1rv, I1rw) of the k-phase current in the above formula (3) can be expressed by the following formulas (52) to (54). Therefore, by replacing A1×sin(θ1+φ1) in the above formula (5) with the right side of the following formula (52), A1×sin(θ1-2π / 3+φ1) with the right side of the following formula (53), and A1×sin(θ1+2π / 3+φ1) with the right side of the following formula (54), the error I11ej can be calculated even when harmonic components are included. A1n and φ1n indicate the current amplitude and current phase in the n-th harmonic.
[0184]
number
[0185] Similarly, when the phase current flowing through each power line of the first motor 11 includes an n-th harmonic component, the above formula (11) can be expressed by the following formula (55). The other formulas can also be modified as appropriate so as to be applicable to cases in which harmonic components are similarly included. Even when the amplitudes and phases of the U, V, and W phases differ, the same method as above can be applied to find the error and true value of the current of each phase.
[0186]
number
[0187] According to each of the above embodiments, the following effects can be obtained.
[0188] The current detection unit 150, 250, 350, 450, 550 is applied to the control devices 10, 20, 30, 40, 50 of the multi-phase AC rotating electric machine, and functions as a current detection device that detects phase currents flowing through power lines that supply power to the first motor 11 and the second motor 12, which are rotating electric machines. The current detection unit 150, 250, 350, 450, 550 includes a detected current acquisition unit 111, 211, 311, 411, 511 and a correction unit 114, 214, 314, 414, 514. The detected current acquisition unit 111, 211, 311, 411, 511 acquires a detected current value, which is a detection value of the phase current of the power line to be detected, from a current sensor that detects the phase current. The correction units 114, 214, 314, 414, and 514 calculate the error in the detected current value due to the magnetic flux of the power line based on an error number, which is a predetermined constant or variable determined by any obstructions between the current sensor and the power line and the distance of the power line from the current sensor, and correct the detected current value.
[0189] According to the current detection units 150, 250, 350, 450, and 550, the error in the detected current value can be easily calculated based on an error number, which is a predetermined constant or variable determined by any obstructions between the current sensor and the power line and the distance of the power line from the current sensor. This makes it possible to correct the detected current value while simultaneously reducing the calculation load and ensuring calculation accuracy.
[0190] The correction units 114, 214, 314, 414, and 514 may correct the detected current value by multiplying the detected current value by an error number. Also, like the current detection unit 250, the correction unit may be provided with a storage unit 240 that stores a first map created based on the relationship between the error number and the detected current value. In this case, the correction unit may be configured to correct the detected current value by referring to the first map.
[0191] The detected current acquisition units 111, 211, 311, 411, and 511 acquire detected current values, which are detection values of phase currents of power lines to be detected, from current sensors that detect current. The electrical angle acquisition units 112, 212, 312, 412, and 512 acquire electrical angles of the rotating electric machine. The current phase acquisition units 113, 213, 313, 413, and 513 acquire current phases of the rotating electric machine. The current amplitude acquisition units 130, 230, 330, 430, and 530 acquire current amplitudes, which are amplitudes of current waveforms of the rotating electric machine. The correction units 114, 214, 314, 414, and 514 calculate errors in the detected current values based on the error number, the phase difference between the phase currents, and the acquired current amplitudes, electrical angles, and current phases, and correct the detected current values.
[0192] According to the above current detection units 150, 250, 350, 450, 550, when correcting the detected current value, the error in the detected current value can be calculated based on the current amplitude acquired by the current amplitude acquisition unit 130, 230, 330, 430, 530, the electrical angle acquired by the electrical angle acquisition unit 112, 212, 312, 412, 512, and the current phase acquired by the current phase acquisition unit 113, 213, 313, 413, 513. Therefore, the detected current value can be corrected while simultaneously reducing the calculation load and ensuring the calculation accuracy.
[0193] The current detection units 150, 250, 350, 450, and 550 may be applied to a control device for a multi-phase AC rotating electric machine, and may realize the functions of the above-mentioned units by executing a current detection program for detecting phase currents flowing through power lines that supply power to the rotating electric machine. This current detection program causes the microcomputer 100 or the like to execute a detected current acquisition step of acquiring a detected current value, which is a detected value of a phase current of the power line to be detected, from a current sensor that detects the phase current, and a correction step of calculating an error in the detected current value due to the magnetic flux of the power line based on an error number, which is a predetermined constant or variable determined by a shield between the current sensor and the power line and the distance of the power line from the current sensor, and correcting the detected current value.
[0194] The current detection units 150, 250, 350, 450, and 550 are applied to a control device for a polyphase AC rotating electric machine by using the above-mentioned units, and execute a current detection method for detecting phase currents flowing through power lines that supply power to the rotating electric machine. This current detection method includes a detected current acquisition step of acquiring a detected current value, which is a detected value of a phase current of the power line that is the detection target, from a current sensor that detects the phase current, and a correction step of calculating an error in the detected current value due to the magnetic flux of the power line based on an error number, which is a predetermined constant or variable determined by a shield between the current sensor and the power line and the distance of the power line from the current sensor, and correcting the detected current value.
[0195] The detected current acquisition unit 111, 211, 311, 411, 511 may be configured to repeatedly acquire the detected current value at a predetermined detection timing, and the current amplitude acquisition unit 130, 230, 330, 430, 530 may be configured to acquire the current amplitudes A1, A2 by using the corrected current values I1b, I2b, which are the detected current values acquired by the detected current acquisition unit 111, 211, 311, 411, 511 at a detection timing earlier than the current detection timing and corrected by the correction unit 114, 214, as the current waveform of the rotating electric machine. Since the detected current value at the current detection timing can be corrected based on the highly accurate current amplitudes A1, A2 acquired from the corrected current values I1b, I2b, the accuracy of the corrected current values I1a, I2a corrected based on the current timing is improved. Furthermore, the current amplitude acquisition units 130, 230, 330, 430, 530 may be configured to estimate the current amplitudes A1, A2 by using, as a current waveform of the rotating electric machine, a corrected current value acquired by the detected current acquisition units 111, 211, 311, 411, 511 at a detection timing immediately before the current detection timing and corrected by the correction units 114, 214, 314, 414, 514. This can further improve the accuracy of the current amplitudes A1, A2 acquired at the current detection timing, and can contribute to further improving the accuracy of the corrected current values I1a, I2a corrected at the current detection timing.
[0196] The correction unit 114, 214, 314, 414, 514 may be configured to calculate an amplitude correction coefficient (e.g., X11u, X21u) and an angle correction coefficient (e.g., Y11u, Y21u) in advance based on the error number and the phase difference between the phase currents, correct the acquired current amplitude with the amplitude correction coefficient, and correct the acquired electrical angle and current phase with the angle correction coefficient, thereby correcting the detected current value. By executing a correction process for the detected current value for each cycle using the amplitude correction coefficient and angle correction coefficient calculated in advance, the error in the detected current value can be easily calculated, and the calculation load on the current detection device can be reduced.
[0197] Like the current detection unit 250, a storage unit 240 may be provided that stores a second map that is created based on the error number, the phase difference between the phase currents, and the current amplitude and indicates the relationship between the error in the detected current value and the electrical angle and the current phase. In this case, the correction unit 214 may be configured to be able to correct the detected current value by referring to the second map based on the electrical angle and the current phase.
[0198] In a control device that controls multiple rotating electric machines, the correction unit 114, 214, 314 may be configured to calculate an error in the detected current value for each of all rotating electric machines controlled by the control device based on a set error number and a phase difference between phase currents, an acquired current amplitude, an electrical angle, and a current phase, and to correct the detected current value based on the error in the detected current value calculated for each of all rotating electric machines controlled by the control device.
[0199] The correction unit 114, 214, 314 may be configured to predict the electrical angle of the other rotating electric machine at a first timing (e.g., detection timing tm1) which is the detection timing of the rotating electric machine to which the power line to be detected is connected, based on a time difference (e.g., dt41) between the first timing (e.g., detection timing tm4) which is the detection timing of the other rotating electric machine. This can reduce the number of detections by the electrical angle sensor and the processing load on the current detection device.
[0200] The electrical angle acquiring unit 112, 212, 312 may be configured to acquire the electrical angle of another rotating electric machine at the same time as the first timing, which is the detection timing of the rotating electric machine to which the power line to be detected is connected. By using the detected electrical angle for the motor on the side other than the detection timing, the accuracy of the corrected detected current value is improved.
[0201] The current amplitude acquiring units 130, 230, 330, 430, and 530 may be configured to acquire the maximum amplitude of a current waveform for at least one electrical angle period as the current amplitude, thereby reducing the calculation load in calculating the current amplitude.
[0202] The current amplitude acquisition units 130, 230, 330, 430, and 530 may be configured to acquire the current amplitude based on the amplitude of a current vector obtained by transforming phase currents flowing through at least two power lines of the rotating electric machine into a rotating coordinate system or a stationary coordinate system.
[0203] The current amplitude acquisition units 130, 230, 330, 430, and 530 may be configured to acquire the current amplitude based on the current waveform of a current command value that controls the driving of the rotating electric machine. Since the current amplitude can be acquired only when the current command value changes, the calculation load for acquiring the current amplitude can be reduced. Furthermore, the current phase acquisition units 113, 213, 313, 413, and 513 may be configured to acquire the current phase of the current command value as the current phase of the rotating electric machine.
[0204] The current detection units 150, 250, 350, 450, and 550 can be particularly suitably used when obtaining a detected current value using a current sensor that detects a phase current by detecting a magnetic flux generated by a current flowing through a power line, such as current sensors S1u, S1v, S1w, S2u, S2v, S2w, and S3.
[0205] The phase current of the power line may include a fundamental wave and a frequency component other than the fundamental wave. In this case, as in the case where only the fundamental wave is considered, the error of the detected current value can be easily calculated based on the error number, which is a predetermined constant or variable, so that the detected current value can be corrected while simultaneously reducing the calculation load and ensuring the calculation accuracy.
[0206] The control unit and the method described in the present disclosure may be realized by a special-purpose computer provided by configuring a processor and a memory programmed to execute one or more functions embodied in a computer program. Alternatively, the control unit and the method described in the present disclosure may be realized by a special-purpose computer provided by configuring a processor with one or more dedicated hardware logic circuits. Alternatively, the control unit and the method described in the present disclosure may be realized by one or more special-purpose computers configured by a combination of a processor and a memory programmed to execute one or more functions and a processor configured with one or more hardware logic circuits. In addition, the computer program may be stored in a computer-readable non-transitory tangible recording medium as instructions executed by a computer.
[0207] [Configuration 1] A current detection device (150, 250, 350, 450, 550) that is applied to a control device of a multi-phase AC rotating electric machine and detects a phase current flowing through a power line that supplies power to the rotating electric machine, a detected current acquisition unit (111, 211, 311, 411, 511) that acquires a detected current value that is a detection value of the phase current of the power line that is a detection target from a current sensor that detects the phase current; a correction unit (114, 214, 314, 414, 514) that calculates an error in the detected current value due to the magnetic flux of the power line based on an error number, which is a predetermined constant or variable determined by any obstruction between the current sensor and the power line and the distance of the power line from the current sensor, and corrects the detected current value. [Configuration 2] 2. The current detection device according to claim 1, wherein the correction unit corrects the detected current value by multiplying the detected current value by the error factor. [Configuration 3] a storage unit that stores a first map created based on a relationship between the error number and the detected current value; 2. The current detection device according to claim 1, wherein the correction unit corrects the detected current value by referring to the first map. [Configuration 4] a current amplitude acquisition unit (130, 230, 330, 430, 530) that acquires a current amplitude that is an amplitude of a current waveform of the rotating electric machine; an electrical angle acquisition unit (112, 212, 312, 412, 512) that acquires an electrical angle of the rotating electric machine; a current phase acquisition unit (113, 213, 313, 413, 513) that acquires a current phase of the rotating electric machine, The current detection device according to any one of configurations 1 to 3, wherein the correction unit calculates an error in the detected current value based on the error number, a phase difference between the phase currents, the acquired current amplitude, the electrical angle, and the current phase, and corrects the detected current value. [Configuration 5] the detected current acquisition unit repeatedly acquires the detected current value at a predetermined detection timing; The current detection device according to configuration 4, wherein the current amplitude acquisition unit acquires the current amplitude by using a corrected current value, which is the detected current value acquired by the detected current acquisition unit at a detection timing earlier than the current detection timing and corrected by the correction unit, as the current waveform of the rotating electric machine. [Configuration 6] The current detection device according to configuration 5, wherein the current amplitude acquisition unit acquires the current amplitude by using the corrected current value acquired by the detected current acquisition unit at the detection timing immediately before the current detection timing and corrected by the correction unit as the current waveform of the rotating electric machine. [Configuration 7] The current detection device according to any one of configurations 4 to 6, wherein the correction unit calculates an amplitude correction coefficient and an angle correction coefficient in advance based on the error number and the phase difference between the phase currents, corrects the acquired current amplitude using the amplitude correction coefficient, and corrects the acquired electrical angle and the current phase using the angle correction coefficient, thereby correcting the detected current value. [Configuration 8] a storage unit (240) configured to store a second map that is created based on the error number, the phase difference between the phase currents, and the current amplitude and indicates a relationship between the error in the detected current value, the electrical angle, and the current phase; 7. The current detecting device according to any one of configurations 4 to 6, wherein the correction unit corrects the detected current value by referring to the second map based on the electrical angle and the current phase. [Configuration 9] the control device is a control device for controlling a plurality of rotating electric machines, The current detection device according to any one of configurations 4 to 8, wherein the correction unit calculates an error in the detected current value for each of the rotating electric machines controlled by the control device based on the error number, the phase difference between the phase currents, the acquired current amplitude, the electrical angle, and the current phase, and corrects the detected current value based on the error in the detected current value calculated for each of the rotating electric machines controlled by the control device. [Configuration 10] The current detection device of configuration 9, wherein the correction unit predicts the electrical angle of the other rotating electric machine at a first timing, which is the detection timing of the rotating electric machine to which the power line to be detected is connected, based on the time difference between the first timing, which is the detection timing of the other rotating electric machine, and a second timing, which is the detection timing of the other rotating electric machine. [Configuration 11] The current detection device according to configuration 9, wherein the electrical angle acquisition unit acquires the electrical angle of the other rotating electric machine simultaneously with a first timing, which is a detection timing of the rotating electric machine to which the power line to be detected is connected. [Configuration 12] 12. The current detection device according to any one of configurations 4 to 11, wherein the current amplitude acquisition unit acquires, as the current amplitude, a maximum amplitude in a current waveform for at least one period in electrical angle. [Configuration 13] The current detection device according to any one of configurations 4 to 11, wherein the current amplitude acquisition unit acquires the current amplitude based on the amplitude of a current vector obtained by transforming phase currents flowing through at least two power lines of the rotating electric machine into a rotating coordinate system or a stationary coordinate system. [Configuration 14] the current amplitude acquisition unit acquires the current amplitude based on a current waveform of a current command value for controlling driving of the rotating electric machine; 14. The current detection device according to any one of configurations 4 to 13, wherein the current phase acquisition unit acquires a current phase of the current command value as a current phase of the rotating electric machine. [Configuration 15] 15. The current detection device according to any one of configurations 1 to 14, wherein the current sensor is a current sensor that detects the phase current by detecting a magnetic flux generated by a current flowing through the power line. [Configuration 16] 16. The current detection device according to any one of configurations 1 to 15, wherein the phase current in the power line includes a fundamental wave and a frequency component other than the fundamental wave. [Configuration 17] A current detection program applied to a control device for a multi-phase AC rotating electric machine, for detecting a phase current flowing through a power line supplying power to the rotating electric machine, the program comprising: a detected current acquisition step of acquiring a detected current value, which is a detection value of the phase current of the power line to be detected, from a current sensor that detects the phase current; a correction unit step of calculating an error in the detected current value due to the magnetic flux of the power line based on an error number, which is a predetermined constant or variable determined by any obstructions between the current sensor and the power line and the distance of the power line from the current sensor, and correcting the detected current value. [Configuration 18] A current detection method applied to a control device of a multi-phase AC rotating electric machine, for detecting a phase current flowing through a power line supplying power to the rotating electric machine, comprising: a detected current acquisition step of acquiring a detected current value, which is a detection value of the phase current of the power line to be detected, from a current sensor that detects the phase current; a correction unit step of calculating an error in the detected current value due to the magnetic flux of the power line based on an error number, which is a predetermined constant or variable determined by any obstructions between the current sensor and the power line and the distance of the power line from the current sensor, and correcting the detected current value. [Explanation of symbols]
[0208] 150, 250, 350, 450, 550...Current detection unit, 111, 211, 311, 411, 511...Detected current acquisition unit, 122, 212, 312, 412, 512...Electrical angle acquisition unit, 113, 213, 313, 413, 513...Current phase acquisition unit, 114, 214, 314, 414, 514...Correction unit, 130, 230, 330, 430, 530...Current amplitude estimation unit
Claims
1. A current detection device (150, 250, 350, 450, 550) that is applied to a control device of a multi-phase AC rotating electric machine and detects a phase current flowing through a power line that supplies power to the rotating electric machine, a detected current acquisition unit (111, 211, 311, 411, 511) that acquires a detected current value that is a detection value of the phase current of the power line that is a detection target from a current sensor that detects the phase current; a correction unit (114, 214, 314, 414, 514) that calculates an error in the detected current value due to the magnetic flux of the power line based on an error number, which is a predetermined constant or variable determined by any obstruction between the current sensor and the power line and the distance of the power line from the current sensor, and corrects the detected current value.
2. The current detection device according to claim 1 , wherein the correction unit corrects the detected current value by multiplying the detected current value by the error factor.
3. a storage unit (240) that stores a first map created based on a relationship between the error number and the detected current value; The current detection device according to claim 1 , wherein the correction unit corrects the detected current value by referring to the first map.
4. a current amplitude acquisition unit (130, 230, 330, 430, 530) that acquires a current amplitude that is an amplitude of a current waveform of the rotating electric machine; an electrical angle acquisition unit (112, 212, 312, 412, 512) that acquires an electrical angle of the rotating electric machine; A current phase acquisition unit (113, 213, 313, 413, 513) that acquires a current phase of the rotating electric machine, The current detection device according to any one of claims 1 to 3, wherein the correction unit calculates an error in the detected current value based on the error number, a phase difference between the phase currents, the acquired current amplitude, the electrical angle, and the current phase, and corrects the detected current value.
5. the detected current acquisition unit repeatedly acquires the detected current value at a predetermined detection timing; The current detection device according to claim 4, wherein the current amplitude acquisition unit acquires the current amplitude by using a corrected current value, which is the detected current value acquired by the detected current acquisition unit at a detection timing earlier than the current detection timing and corrected by the correction unit, as the current waveform of the rotating electric machine.
6. The current detection device according to claim 5, wherein the current amplitude acquisition unit acquires the current amplitude by using the corrected current value acquired by the detected current acquisition unit at the detection timing immediately before the current detection timing and corrected by the correction unit as the current waveform of the rotating electric machine.
7. 5. The current detection device according to claim 4, wherein the correction unit calculates an amplitude correction coefficient and an angle correction coefficient in advance based on the error number and the phase difference between the phase currents, corrects the acquired current amplitude by the amplitude correction coefficient, and corrects the acquired electrical angle and current phase by the angle correction coefficient, thereby correcting the detected current value.
8. a storage unit (240) configured to store a second map that is created based on the error number, the phase difference between the phase currents, and the current amplitude and indicates a relationship between the error in the detected current value, the electrical angle, and the current phase; The current detection device according to claim 4 , wherein the correction unit corrects the detected current value by referring to the second map based on the electrical angle and the current phase.
9. the control device is a control device for controlling a plurality of rotating electric machines, 5. The current detection device according to claim 4, wherein the correction unit calculates an error in the detected current value for each of the rotating electric machines controlled by the control device based on the error number, the phase difference between the phase currents, the acquired current amplitude, the electrical angle, and the current phase, and corrects the detected current value based on the error in the detected current value calculated for each of the rotating electric machines controlled by the control device.
10. The current detection device according to claim 9, wherein the correction unit predicts the electrical angle of the other rotating electric machine at a first timing, which is the detection timing of the rotating electric machine to which the power line to be detected is connected, based on a time difference between the first timing, which is the detection timing of the other rotating electric machine, and a second timing, which is the detection timing of the other rotating electric machine.
11. The current detection device according to claim 9 , wherein the electrical angle acquisition unit acquires the electrical angle of the other rotating electric machine simultaneously with a first timing that is a detection timing of the rotating electric machine to which the power line that is the detection target is connected.
12. The current detection device according to claim 4 , wherein the current amplitude acquisition unit acquires, as the current amplitude, a maximum amplitude in a current waveform for at least one period in electrical angle.
13. 5. The current detection device according to claim 4, wherein the current amplitude acquisition unit acquires the current amplitude based on the amplitude of a current vector obtained by transforming phase currents flowing through at least two power lines of the rotating electric machine into a rotating coordinate system or a stationary coordinate system.
14. the current amplitude acquisition unit acquires the current amplitude based on a current waveform of a current command value for controlling driving of the rotating electric machine; The current detection device according to claim 4 , wherein the current phase acquisition unit acquires a current phase of the current command value as the current phase of the rotating electric machine.
15. 2. The current detection device according to claim 1, wherein the current sensor detects the phase current by detecting a magnetic flux generated by a current flowing through the power line.
16. The current detection device according to claim 1 , wherein the phase current in the power line includes a fundamental wave and a frequency component other than the fundamental wave.
17. A current detection program applied to a control device for a multi-phase AC rotating electric machine, for detecting a phase current flowing through a power line supplying power to the rotating electric machine, the program comprising: a detected current acquisition step of acquiring a detected current value, which is a detection value of the phase current of the power line to be detected, from a current sensor that detects the phase current; a correction step of calculating an error in the detected current value due to the magnetic flux of the power line based on an error number, which is a predetermined constant or variable determined by any obstructions between the current sensor and the power line and the distance of the power line from the current sensor, and correcting the detected current value.
18. A current detection method applied to a control device of a multi-phase AC rotating electric machine, for detecting a phase current flowing through a power line supplying power to the rotating electric machine, comprising: a detected current acquisition step of acquiring a detected current value, which is a detection value of the phase current of the power line to be detected, from a current sensor that detects the phase current; a correction step of calculating an error in the detected current value due to the magnetic flux of the power line based on an error number, which is a predetermined constant or variable determined by any obstructions between the current sensor and the power line and the distance of the power line from the current sensor, and correcting the detected current value.
Citation Information
Patent Citations
Current detecting device, method thereof, and electric motor
JP2004061217A
Motor drive control circuit and electric power steering device
JP2010068672A
Motor controller
JP2011004561A
Motor controller and motor control method
JP2012039716A
Control device of rotating machine
JP2013219988A