Offset amount detection device and offset amount detection method

The offset amount detection device and method enhance accuracy by accounting for rotor friction through controlled rotations and angle differences, addressing inaccuracies in existing offset detection methods.

JP7750158B2Active Publication Date: 2025-10-07TOYOTA INDUSTRIES CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022053692
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-29
Publication Date
2025-10-07
Estimated Expiration
2042-03-29

AI Technical Summary

Technical Problem

Existing techniques for detecting the offset amount between the rotation angle detected by an angle sensor and the actual rotation angle of a motor do not account for rotor friction, leading to inaccuracies in offset detection.

Method used

An offset amount detection device and method that includes rotating the rotor from a first to a second position with zero q-axis current, acquiring detected angles, and calculating the offset amount based on differences between these angles, while accounting for rotor friction through forward and reverse rotations to reduce its influence.

Benefits of technology

Improves the accuracy of offset amount detection by minimizing the impact of rotor friction and enabling precise offset detection in motors with and without electrical saliency, reducing cycle time and eliminating the need for additional rotor positioning steps.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007750158000003
    Figure 0007750158000003
  • Figure 0007750158000004
    Figure 0007750158000004
  • Figure 0007750158000005
    Figure 0007750158000005
Patent Text Reader

Abstract

To improve a detection accuracy of an off-set amount.SOLUTION: An off-set amount detection device 400 of the present disclosure, comprises: a motor 110; a resolver 25; and a control device 300. The control device 300 executes a first processing for rotating a rotor 110A from a first rotational position to a second rotational position while setting a q-shaft current of the motor 110 to zero. Also, the control device 300 acquires a first detection angle detected by the resolver 25 when rotating the rotor 110A at the second rotational position by the first processing. In addition, the control device 300 detects an off-set amount of an actual rotational angle of the rotor 110A and a detection angle of the resolver 25 on the basis of a first difference of a first detection angle and a second angle indicated by the second rotational position.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an offset amount detection device and an offset amount detection method. [Background technology]

[0002] Japanese Patent Application Laid-Open Publication No. 2012-110215 discloses an angle sensor that detects the rotation angle of a rotor of a motor. This document discloses detecting an offset between the rotation angle detected by the angle sensor and the actual rotation angle of the rotor. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-110215 Summary of the Invention [Problem to be solved by the invention]

[0004] The above-described technique does not take into consideration rotor friction, and therefore may cause a problem in that it is not possible to improve the accuracy of detecting the offset amount.

[0005] The present disclosure has been made to solve such problems, and its purpose is to improve the accuracy of detecting the offset amount. [Means for solving the problem]

[0006] The offset amount detection device disclosed herein includes a motor, an angle sensor, and a control device. The motor has a rotor. The angle sensor detects the rotation angle of the rotor. The control device controls the motor based on the detection result of the angle sensor. The control device executes a first process for rotating the rotor from a first rotation position to a second rotation position while setting the q-axis current of the motor to zero. The control device also acquires a first detected angle detected by the angle sensor when the rotor is rotated to the second rotation position by the first process. Furthermore, the control device detects an offset amount between the actual rotation angle of the rotor and the angle detected by the angle sensor based on a first difference between the first detected angle and a second angle indicated by the second rotation position.

[0007] The offset amount detection method disclosed herein is a method for detecting an offset amount between an actual rotation angle of a rotor of a motor and an angle detected by an angle sensor. The detection method includes executing a process for rotating the rotor from a first rotation position to a second rotation position while setting the q-axis current of the motor to zero. The detection method also includes acquiring a first detected angle detected by the angle sensor when the rotor is rotated to the second rotation position by the process. The detection method further includes detecting the offset amount between the actual rotation angle of the rotor and the angle detected by the angle sensor based on a first difference between the first detected angle and a second angle indicated by the second rotation position. [Effects of the Invention]

[0008] In the present disclosure, the accuracy of detecting the offset amount can be improved. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 2 is a diagram illustrating a configuration of an electrical system. [Figure 2] FIG. 2 is a functional block diagram of a control device 300. [Figure 3] FIG. 10 is a diagram showing an offset amount. [Figure 4] FIG. 10 is a diagram showing the angle θ2 etc. after correction. [Figure 5]FIG. 10 is a diagram showing the flow of signals when controlled to an offset amount detection mode. [Figure 6] FIG. 10 is a diagram showing an image of a command angle. [Figure 7] 10 is a flowchart of the control device. [Figure 8] 10 shows the results of a simulation of the present embodiment. [Figure 9] 10 shows the results of a simulation of the present embodiment. [Figure 10] 10 shows the results of a simulation of the present embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals, and description thereof will not be repeated.

[0011] 1 is a block diagram of an electrical system 500. The electrical system 500 is mounted on, for example, an electric vehicle. The electrical system 500 includes a battery 150, an SMR (System Main Relay) 230, an inverter 210, a motor 110, and a control device 300. The control device 300 is also referred to as an arithmetic circuit.

[0012] Motor 110 is typically a three-phase AC rotating electric machine configured as a permanent magnet motor. Motor 110 has star-connected U-phase, V-phase, and W-phase coils as stator windings. One end of each phase coil is connected to each other at neutral point 22. The other end of each phase coil is connected to a connection point (not shown) of the switching element of each phase arm of inverter 210.

[0013] The positive and negative electrodes of the battery 150 are connected to the SMR 230. The voltage from the battery 150 is supplied to the inverter 210 via a converter (not shown).

[0014] Inverter 210 is a three-phase inverter that controls the current or voltage of each phase coil of motor 110 so that, when the electric vehicle is running, motor 110 operates in accordance with an operation command value (typically, a torque command value) that is set to generate the driving force (vehicle driving torque, power generation torque, etc.) required for the running of the electric vehicle.

[0015] The resolver 25 detects the detected angle θ1 of the rotor of the motor 110 (see FIG. 2). The detected rotation angle is also referred to as the "detected angle." The resolver 25 corresponds to the "angle sensor" of the present disclosure. The control device 300 controls the motor 110 based on the detection result of the resolver 25. The current sensor 24V detects the V-phase current Iv flowing through the motor 110. The current sensor 24W detects the W-phase current Iw flowing through the motor 110. The detected angle θ1, the V-phase current Iv, and the W-phase current Iw are input to the control device 300. Note that since the sum of the instantaneous values ​​of the three-phase currents Iu, Iv, and Iw is zero, it is sufficient to arrange the motor currents for two phases (for example, the V-phase current Iv and the W-phase current Iw) to be detected, as shown in FIG. 1. Therefore, the U-phase current Iu is not shown in FIG. 2, which will be described later.

[0016] The control device 300 controls the SMR 230, the inverter 210, and the like. The control device 300 also has, as its main components, a central processing unit (CPU) 302 and a memory 304. The memory 304 has, for example, a read-only memory (ROM) and a random access memory (RAM). The ROM stores programs executed by the CPU 302. The RAM temporarily stores data (for example, voltage feature quantities, which will be described later) and the like generated by the execution of the programs in the CPU 302.

[0017] The offset amount detection device 400 includes a motor 110, a resolver 25, and a control device 300.

[0018] [Controller function block diagram] Fig. 2 is a functional block diagram of the control device 300. In the example of Fig. 2, the control device 300 includes a control unit 310, a coordinate conversion unit 320, a rotation speed calculation unit 330, a PI calculation unit 240, a coordinate conversion unit 250, a PWM signal generation unit 260, and a correction unit 262. The motor 110 also has a rotor 110A.

[0019] 2, a torque command value Tr1 for the motor 110 is set by a predetermined command device (not shown) or the like. The command device outputs the torque command value Tr1 to the control device 300. Note that the command device may be a device separate from the control device 300, or may be integrated with the control device 300.

[0020] The control unit 310 generates a d-axis current command value Idc and a q-axis current command value Iqc required for the motor 110 to generate a torque corresponding to the torque command value Tr1, in accordance with a table or the like created in advance. The d-axis current is a current that generates a magnetic field in a direction parallel to the direction of the magnetic field generated by the rotor 110A. The q-axis current is a current that is orthogonal to the d-axis current.

[0021] The correction unit 262 corrects the detected angle θ1 by subtracting the offset angle Δθ from the detected angle θ1 detected by the resolver 25. The offset angle Δθ is the difference between the actual rotation angle of the rotor 110A and the angle detected by the resolver 25. In other words, the offset angle Δθ is the difference between the position of the rotor 110A detected by the resolver 25 and the actual position of the rotor 110A. The correction unit 262 also converts the angle detected by the resolver 25 into an electrical angle.

[0022] The corrected detection angle θ1 is also referred to as a correction angle θ2. The correction unit 262 outputs the correction angle θ2 to the control device 300. The offset angle Δθ is calculated in an offset detection mode, which will be described later, and stored in a predetermined storage area (for example, the RAM described above). The offset angle Δθ corresponds to the "offset amount" in the present disclosure.

[0023] Coordinate conversion unit 320 converts V-phase current Iv and W-phase current Iw based on a coordinate conversion (3-phase → 2-phase) using correction angle θ2 to calculate d-axis current Id and q-axis current Iq in command axis coordinates dc-qc. V-phase current Iv is detected by current sensor 24V. W-phase current Iw is detected by current sensor 24W. V-phase current Iv and W-phase current Iw are current values ​​on a 3-phase AC coordinate system, which is a stationary coordinate system.

[0024] The rotation speed calculation unit 330 calculates the rotational angular velocity ω of the motor 110 based on the corrected angle θ2. The subtraction unit 311 outputs the deviation ΔId (ΔId = Idc - Id) from the command value of the d-axis current. The subtraction unit 312 outputs the deviation ΔIq (ΔIq = Iqc - Iq) from the command value of the q-axis current.

[0025] The PI calculation unit 240 receives as input the deviation ΔId (ΔId = Idc - Id) of the d-axis current from the command value and the deviation ΔIq (ΔIq = Iqc - Iq) of the q-axis current from the command value. The PI calculation unit 240 performs PI (proportional-plus-integral) calculation with a predetermined gain on the d-axis current deviation ΔId and the q-axis current deviation ΔIq using the rotational angular velocity ω to determine a control deviation. The PI calculation unit 240 calculates a d-axis voltage command value Vdc and a q-axis voltage command value Vqc, which are command values ​​for the voltages applied in the respective axial directions in the command axis coordinates dc-qc, according to the control deviation. The d-axis voltage command value Vdc is the command value for the d-axis. The q-axis voltage command value Vqc is the command value for the q-axis. In this way, the PI calculation unit 240 performs feedback control. This feedback control is control based on the angle detected by the resolver 25.

[0026] The coordinate conversion unit 250 converts the d-axis voltage command value Vdc and the q-axis voltage command value Vqc into respective phase voltage command values ​​Vuc, Vvc, and Vwc of the U-phase, V-phase, and W-phase on the three-phase AC coordinate system, which is the stationary coordinate system, by coordinate conversion (2-phase → 3-phase) using the correction angle θ2 of the motor 110.

[0027] The PWM signal generating unit 260 generates a switching control signal based on a comparison between the voltage command values ​​Vuc, Vvc, and Vwc for each phase and a predetermined carrier wave. The inverter 210 performs switching control in accordance with the switching control signal generated by the control device 300. The motor 110 is applied with an AC voltage by this switching control to output a torque in accordance with the torque command value TR1 input to the control unit 310.

[0028] In this way, a closed loop is formed that controls the motor current to the current command values ​​(Idc, Iqc) according to the torque command value TR1, and the output torque of the motor 110 is controlled in accordance with the torque command value TR1. In other words, the control unit 310 drives the motor 110 (rotates the rotor 110A) based on the control signal (in this embodiment, the current command values ​​(Idc, Iqc)).

[0029] Fig. 3 is a diagram showing a schematic diagram of the offset amount Δθ. In Fig. 3, the d-axis and q-axis as resolver axes corresponding to resolver 25 are shown by solid lines. The d-axis and q-axis as motor axes corresponding to motor 110 are shown by dashed lines. The angle formed between the d-axis of the resolver axis and the d-axis of the motor axis is shown as the offset amount Δθ.

[0030] In the example of Fig. 3, the q-axis voltage Vq is shown on the q-axis, which is the resolver axis. The d-axis voltage Vd is shown on the d-axis, which is the resolver axis. ωφ is shown on the q-axis, which is the motor axis. Here, the rotational angular velocity ω is a value calculated by the rotation speed calculation unit 330. φ is the magnetic flux in the rotor 110A or the winding field.

[0031] FIG. 4 is a diagram showing the angle θ2 etc. after correction. In the example of FIG. 4, the U axis of the U phase, the V axis of the V phase, and the W axis of the W phase are shown in thick lines. The d axis and q axis are shown in thin lines. In the example of FIG. 4, the angle between the U axis and the d axis is shown as θ2 (the angle after correction). The angle between the d axis and the axis in the direction opposite to the W axis is shown as θv. θv is a fixed value.

[0032] Furthermore, the voltage equation of the motor (motor 110) in the actual coordinates dq can be expressed by the following equations (1) and (2).

[0033] Vd=R×Id-ω×Lq×Iq (1) Vq=R×Iq+ω×Ld×Id+ω×φ ···(2) where R is the resistance of one phase, Id is the d-axis current, Iq is the q-axis current, Ld is the d-axis inductance, and Lq is the q-axis inductance. Note that the d-axis voltage Vd, q-axis voltage Vq, rotational angular velocity ω, and magnetic flux φ are as described above.

[0034] Next, a description will be given of the conversion formula (2-phase to 3-phase) of the coordinate conversion unit 250. The conversion formula is expressed by the following formula (3).

[0035]

number

[0036] θv in equation (3) is the value shown in FIG.

[0037] Next, a description will be given of the conversion formula (3-phase to 2-phase) of the coordinate conversion unit 320. The conversion formula is expressed by the following formula (4).

[0038]

number

[0039] [Offset detection mode] Next, the offset amount detection mode will be described. The offset amount detection mode is entered when a predetermined condition is met. The predetermined condition includes, for example, a condition that the user inputs a predetermined operation to the input device of the electrical system 500, and a condition that the electrical system 500 determines that it is necessary to detect the offset amount.

[0040] 5 is a diagram showing the signal flow when the offset amount detection mode is selected. When the offset amount detection mode is selected, the d-axis current command value Idc is set to a predetermined current value, and the q-axis current command value Iqc is set to zero.

[0041] Here, the q-axis current is a current corresponding to the torque of the motor 110. Therefore, by setting the q-axis current to zero, it is possible to prevent the motor 110 from generating torque and to generate an electromagnetic force (an attractive force to the d-axis). Therefore, the control unit 310 can rotate the rotor 110A using the attractive force so that the origin of the rotor 110A is positioned at the command angle specified by the control unit 310.

[0042] In the example of FIG. 5, the q-axis current can be made zero by setting Iqc=0 from the control unit 310.

[0043] Fig. 6 is a diagram showing an image of the command angle. Note that Fig. 6 shows that, if the offset amount Δθ is present, the origin of rotor 110A may be located at an angle different from the command angle. Furthermore, the "processing for rotating rotor 110A" is a process executed by control device 300, and if the offset amount Δθ is present, rotor 110A may not rotate as intended by control device 300.

[0044] In this embodiment, control unit 310 sets 0 degrees as the initial value. That is, when control unit 310 is controlled to the offset amount detection mode, it executes processing to rotate rotor 110A so that the origin of rotor 110A is 0 degrees. Then, control unit 310 executes processing to rotate rotor 110A in a first rotation direction by a first predetermined angle from the position of the origin at 0 degrees to the position of the final value. In this embodiment, as shown in the upper diagram of FIG. 6, the first predetermined angle is 45 degrees, the final value is 360 degrees, and the first rotation direction is clockwise. Rotation in the first rotation direction is also referred to as "forward rotation."

[0045] That is, the control unit 310 executes a process for rotating the rotor 110A forward by 45 degrees from the position where the origin is 0 degrees while setting the q-axis current to zero, and finally completing one rotation. This process corresponds to the "first process" of the present disclosure. The origin position of the rotor 110A based on the initial value corresponds to the "first rotation position." The origin position of the rotor 110A based on the final value corresponds to the "second rotation position." The angle indicated by the first rotation position (i.e., the initial value of 0 degrees) corresponds to the "first angle" of the present disclosure. The angle indicated by the second rotation position (i.e., the final value of 360 degrees) corresponds to the "second angle" of the present disclosure.

[0046] After completing the process of rotating rotor 110A in the first rotation direction, control unit 310 executes a process of rotating rotor 110A in a second rotation direction (counterclockwise in the example of FIG. 6) using the final value as the starting point. Hereinafter, clockwise rotation is also referred to as "forward rotation," and counterclockwise rotation is also referred to as "reverse rotation."

[0047] Specifically, the control unit 310 executes a process for rotating the rotor 110A in the second rotation direction by a predetermined angle increments until the origin reaches the final value position from the position of 360 degrees. In this embodiment, as shown in the lower diagram of FIG. 6, the second predetermined angle is 45 degrees, and the final value is 0 degrees. Also, as shown in the lower diagram of FIG. 6, the second rotation direction is counterclockwise, which is the opposite direction to the first rotation direction. Rotation in the second rotation direction is also referred to as "reverse rotation." That is, the control unit 310 executes a process for rotating the rotor 110A in 45-degree increments from the position of the origin of 360 degrees, until the rotor 110A finally completes one rotation. That is, the control unit 310 executes a process for rotating the rotor 110A in the reverse direction by 45 degrees increments from the position of the origin of 360 degrees, until the rotor 110A finally completes one rotation, while setting the q-axis current to zero.

[0048] In this embodiment, the first predetermined angle and the second predetermined angle are the same, but the first predetermined angle and the second predetermined angle may be different. In this embodiment, the first predetermined angle and the second predetermined angle are also collectively referred to as "predetermined angles."

[0049] Next, a method for rotating rotor 110A by a predetermined angle will be described. In this embodiment, control unit 310 uses command angle θ3. Control unit 310 sets command angle θ3 to θ2 in the above equations (3) and (4). As described above, equation (3) is an equation used by coordinate conversion unit 250, and equation (4) is an equation used by coordinate conversion unit 320.

[0050] Then, while maintaining Iqc=0, control unit 310 outputs command angles θ3=0°, 45°, 90°, 135°, 180°, 225°, 270°, 315°, and 360° to coordinate conversion unit 250 and coordinate conversion unit 320 at predetermined intervals. That is, command angle θ3 is incremented by 45° at each predetermined interval. As a result, as shown in the upper diagram of FIG. 6, control unit 310 can rotate rotor 110A clockwise by 45° (can execute the first process). Furthermore, control unit 310 may stop rotor 110A for a predetermined period each time rotor 110A rotates in a predetermined direction. Furthermore, control unit 310 may rotate rotor 110A in a predetermined direction and then further rotate rotor 110A in the predetermined direction without stopping rotor 110A.

[0051] Furthermore, after outputting the command angle θ3 of 360 degrees, control unit 310 outputs command angles θ3 = 360 degrees, 315 degrees, 270 degrees, 225 degrees, 180 degrees, 135 degrees, 90 degrees, 45 degrees, and 0 degrees to coordinate conversion unit 250 and coordinate conversion unit 320 at predetermined intervals while maintaining Iqc = 0. In other words, command angle θ3 is decremented by 45 degrees at each predetermined interval. As a result, as shown in the lower diagram of FIG. 6, control unit 310 can rotate rotor 110A counterclockwise by 45 degrees (can execute the second process).

[0052] Also, as shown in FIG. 5, the command angle θ3 during the period when the rotor is rotating in the first rotation direction is also referred to as the "command angle θ31," and the command angle θ3 during the period when the rotor is rotating in the second rotation direction is also referred to as the "command angle θ32."

[0053] Furthermore, the control unit 310 performs a through process in which the detected angle θ1 by the resolver 25 is converted into an electrical angle and output to the control unit 310 without correcting the detected angle θ1 in the correction unit 262. Hereinafter, the detected angle θ1 during the period in which the rotor 110A is rotating in the first rotation direction (forward rotation period) will also be referred to as the "detected angle θ11." The detected angle θ1 during the period in which the rotor 110A is rotating in the second rotation direction (reverse rotation period) will also be referred to as the "detected angle θ12." When the offset amount detection mode is selected, the rotor 110A is not substantially rotating. Therefore, the rotation speed ω calculated by the rotation speed calculation unit 330 becomes zero.

[0054] The control unit 310 acquires the first detected angle θ11 detected by the resolver 25 when the rotor 110A is rotated to the second rotation position (360 degrees) by executing the first process. Then, the control unit 310 calculates the first difference Δθ1, which is the difference between the first detected angle θ11 and the second angle (360 degrees).

[0055] Furthermore, the control unit 310 acquires the second detected angle θ12 detected by the resolver 25 when the rotor 110A is rotated to the first rotation position (360 degrees) by executing the second process. Then, the control unit 310 calculates the second difference Δθ2, which is the difference between the second detected angle θ12 and the first angle (0 degrees).

[0056] Furthermore, the control unit 310 calculates an average value avg of the first difference and the second difference. Finally, the control unit 310 calculates the difference between the average value θavg and the first angle (=0 degrees) as the offset amount Δθ. Alternatively, the control unit 310 may detect the difference between the average value θavg and the second angle (=360 degrees) as the offset amount Δθ.

[0057] [flowchart] 7 is a flowchart of the control device 300. In step S2, the control device 300 sets the command angle θ3 (θ31) to 0 degrees (first rotation position). Next, in step S4, the control device 300 acquires the detected angle θ1 converted into an electrical angle from the resolver 25 by the above-mentioned through processing. In step S4, the detected angle θ1 from the resolver 25 is converted into an electrical angle by the above-mentioned through processing. Next, in step S6, the control device 300 sets the command angle θ3 in equation (3) of the coordinate conversion unit 250 and equation (4) of the coordinate conversion unit 320.

[0058] Next, in step S10, the control device 300 sets the q-axis current Iqc to zero and the d-axis current Idc to a predetermined value. Next, in step S12, the control device 300 causes the PI calculation unit 240 to start executing feedback control. The processing from step S2 to step S12 corresponds to the processing for setting the origin position of the rotor 110A to 0 degrees (first rotation position).

[0059] Next, in step S14, the control device 300 increments the command angle θ3 (command angle θ31) by a predetermined angle θa (=45 degrees) relative to the first rotation position (=0 degrees), thereby executing a process for rotating the rotor 110A clockwise by 45 degrees as shown in the upper diagram of FIG.

[0060] Furthermore, in step S16, the control device 300 determines whether the command angle θ3 has reached the second rotation position (360 degrees). Then, the control device 300 repeats the increment process of step S14 until the command angle θ3 reaches 360 degrees (NO in step S16).

[0061] Furthermore, if the command angle θ3 becomes 360 degrees (YES in step S22), the process proceeds to step S18. In step S18, the control device 300 stores the detected angle θ1 (first detected angle θ11) from the resolver 25 when the second rotation position (360 degrees in this embodiment) is reached in a predetermined area. The predetermined area is, for example, a RAM.

[0062] In step S20, the control device 300 decrements the command angle θ3 (command angle θ32) by a predetermined angle θa (=45 degrees) from the second rotation position (=360 degrees). This allows the process to be performed to rotate the rotor 110A counterclockwise by 45 degrees as shown in the lower diagram of FIG.

[0063] Furthermore, in step S22, the control device 300 determines whether the command angle θ3 has reached the first rotation position (0 degrees in this embodiment). Then, the control device 300 repeats the decrement process of step S20 until the command angle θ3 reaches 0 degrees (NO in step S22).

[0064] Furthermore, if the command angle θ3 reaches 0 degrees (YES in step S22), the process proceeds to step S24. In step S24, the control device 300 stores the detected angle θ1 (second detected angle θ12) from the resolver 25 when the first rotation position (0 degrees in this embodiment) is reached in a predetermined area.

[0065] In step S26, the control device 300 calculates the average value θavg, and then detects the difference between the second rotation position (360 degrees) and the average value θavg as the offset amount Δθ.

[0066] 7, the processes from step S2 to step S16 correspond to the "first process." Furthermore, the processes from step S2 to step S12, step S20, and step S22 correspond to the "second process."

[0067] [Simulation Results] Next, a description will be given of the simulation results when the process of Fig. 7 is executed. Fig. 8 shows the simulation results when the offset amount Δθ is zero, that is, when the actual rotation angle of rotor 110A is the same as the angle detected by resolver 25. Fig. 9 shows the simulation results when an offset amount Δθ occurs, that is, when the actual rotation angle of rotor 110A is different from the angle detected by resolver 25.

[0068] 8 and later-described FIGS. 9 and 10, the horizontal axis represents time, and the vertical axis represents the electrical angle of rotor 110A. In FIGS. 8 to 10, the solid lines represent command angle θ3 (θ31, θ32), and the dashed lines represent detected angle θ1 (θ11, θ12). The left diagrams in FIGS. 8 and 9 show simulation results when rotor 110A is rotating forward, and the right diagrams in FIGS. 8 and 9 show simulation results when rotor 110A is rotating reversely.

[0069] The period from time t0 to time t1 in the left diagram of FIG. 8 is the period during which the processes from step S2 to step S12 are executed. Then, as indicated by the solid line in the left diagram of FIG. 8, upon completing the process of step S12, the control device 300 increments the command angle θ3 (θ31) by 45 degrees at time t1 (see step S14 in FIG. 7). Furthermore, since feedback control is executed by the PI calculation unit 240, the detected angle θ11 increases with a delay relative to the increment of the command angle θ31 (see the detected angle θ11 indicated by the dashed line in FIG. 8). Note that the pulsation of the detected angle θ11 is due to friction of the rotor 110A and feedback control. Furthermore, the friction of the rotor 110A refers to physical friction between the rotor 110A and the bearing of the rotor 110A.

[0070] Then, at time t2, when the increment ends, the control device 300 stores the detected angle θ11 (step S18).

[0071] Next, the right diagram of FIG. 8 will be described. The period from time t0 to time t3 in the right diagram of FIG. 8 is the period during which the processing of step S18 is executed. Then, as shown by the solid line in the right diagram of FIG. 8, when the processing of step S18 is completed, the control device 300 decrements the command angle θ3 (θ32) by 45 degrees at time t3 (see step S20 in FIG. 7). Furthermore, since feedback control is executed by the PI calculation unit 240, the detected angle θ12 decreases with a delay relative to the decrement of the command angle θ32 (see the detected angle θ12 shown by the dashed line in FIG. 8). Then, when the decrement ends at time t4, the control device 300 stores the detected angle θ12 (step S24).

[0072] As shown in the left diagram of Fig. 8, after time t2, a first difference Δθ1 occurs between the first detected angle θ11 and the second angle (=360 degrees). Also, as shown in the right diagram of Fig. 8, after time t4, a second difference Δθ2 occurs between the second detected angle θ12 and the first angle (=0 degrees). As shown in Fig. 8, when no offset amount Δθ occurs, the first difference Δθ1 and the second difference Δθ2 are theoretically equal.

[0073] On the other hand, when an offset amount Δθ exists, the first difference Δθ1 and the second difference Δθ2 are different as shown in Fig. 9. In the example of Fig. 9, Δθ2>Δθ1.

[0074] Fig. 10 is a diagram that combines the simulation results for forward rotation and the simulation results for reverse rotation of Fig. 9. The horizontal axis of Fig. 10 represents time. The vertical axis represents the electrical angle, with 0 degrees and 360 degrees without parentheses representing the electrical angle during forward rotation of rotor 110A and 0 degrees and 360 degrees in parentheses representing the electrical angle during reverse rotation of rotor 110A.

[0075] As shown in FIG. 10, the control device 300 calculates an average value θavg of the first difference Δθ1 and the second difference Δθ2. Furthermore, the control device 300 detects the difference between the first angle (=0 degrees) and the average value θavg as the offset amount Δθ. In this case, the control device 300 detects the value obtained by subtracting the first angle from θavg as the offset amount Δθ. Alternatively, the control device 300 may detect the value obtained by subtracting θavg from the first angle as the offset amount Δθ. Alternatively, the control device 300 may detect the absolute value of the value obtained by subtracting θavg from the first angle or the absolute value of the value obtained by subtracting the first angle from θavg as the offset amount Δθ.

[0076] The control device 300 may also detect the difference between the second angle (=360 degrees) and the average value θavg as the offset amount Δθ. In this case, the control device 300 detects the value obtained by subtracting the second angle from θavg as the offset amount Δθ. The control device 300 may also detect the value obtained by subtracting θavg from the second angle as the offset amount Δθ. The control device 300 may also detect the absolute value of the value obtained by subtracting θavg from the second angle or the absolute value of the value obtained by subtracting the second angle from θavg as the offset amount Δθ.

[0077] As described above, conventional techniques do not take into account the friction of the rotor 110A, which can lead to a problem of being unable to improve the accuracy of offset amount detection. In this embodiment, the control device 300 executes a first process to rotate the rotor 110A from the first rotation position to the second rotation position while zeroing the q-axis current of the motor 110 and generating an attractive force on the d-axis. More specifically, the first process includes a process of rotating the rotor 110A until the origin of the rotor 110A is at the first rotation position, and then a process of rotating the rotor 110A until the origin of the rotor 110A is at the second rotation position. Therefore, this first process can even out the friction of the rotor 110A. Therefore, the control device 300 can detect the offset amount Δθ while reducing the influence of the friction of the rotor 110A. As a result, the control device 300 can improve the accuracy of offset amount detection.

[0078] Furthermore, the attractive force on the d-axis may become weaker as the electrical angle approaches the electrical angle specified by the control unit. Variation may occur in the stopping position of the rotor 110A after the attractive force attracts it at each predetermined angle. Because this variation is caused by friction, managing the variation is difficult, and the accuracy of offset detection may not be ensured. Therefore, in this embodiment, the control device 300 calculates an average value θavg of the first difference detected during forward rotation and the second difference detected during reverse rotation. The control device 300 then calculates the offset amount Δθ based on the average value θavg. Therefore, the control device 300 can offset the influence of friction by the forward and reverse rotation of the rotor 110A. This allows the control device 300 to improve the accuracy of detecting the offset amount Δθ.

[0079] Furthermore, while some offset detection techniques can be applied to motors that have electrical saliency but cannot be applied to motors that do not have electrical saliency, the offset detection device 400 of this embodiment can detect the offset of both motors that have electrical saliency and motors that do not have electrical saliency.

[0080] Furthermore, some offset detection techniques require the rotor to rotate to a rotational speed at which a back electromotive force is generated. However, when controlling the motor to rotate, such techniques cannot control the motor if the resolver's origin position and the rotor's reference position are significantly different. This can lead to a problem in that a preliminary step is required to position the resolver origin position and the reference position. Furthermore, when the rotor is rotated by an external force, a rotor adjustment device and process are required to drive the rotor. Furthermore, because the rotor must be rotated to a rotational speed at which a back electromotive force is generated, a significant amount of time is required from when the rotor is started to when it is stopped. This can lead to problems such as a long cycle time in the manufacturing process of an electrical system. In contrast, the offset detection device 400 of this embodiment can prevent these problems from occurring.

[0081] Furthermore, during forward rotation, the control device 300 rotates the rotor 110A by a first predetermined angle (45 degrees) from the first rotation position to the second rotation position. Therefore, the control device 300 can reduce the influence of friction on the rotor 110A. During reverse rotation, the control device 300 rotates the rotor 110A by a second predetermined angle (45 degrees) from the second rotation position to the first rotation position. Therefore, the control device 300 can reduce the influence of friction on the rotor 110A.

[0082] Furthermore, the first predetermined angle and the second predetermined angle are the same, so the storage capacity for the predetermined angles can be reduced compared to a device in which the first predetermined angle and the second predetermined angle are different.

[0083] The angle from the first rotation position to the second rotation position is 360 degrees. Therefore, the offset amount can be detected in a shorter time than, for example, a device with a larger angle from the first rotation position to the second rotation position (for example, a device with this angle being 720 degrees).

[0084] [Other embodiments] (1) In the above embodiment, the rotor 110A is rotated forward and backward to detect the offset amount. However, a configuration in which the rotor 110A is rotated forward but not backward to detect the offset amount may be employed. In such a configuration, the control device 300 may detect the offset amount Δθ based on the first difference θ1. For example, the control device 300 may detect the first difference θ1 itself as the offset amount Δθ. Even with such a configuration, the influence of friction can be suppressed, and the accuracy of detecting the offset amount can be improved.

[0085] (2) In the above embodiment, a configuration has been described in which processing is performed to rotate rotor 110A 360 degrees by a predetermined angle in both forward and reverse rotation of rotor 110A. However, processing may be performed to rotate rotor 110A 360 degrees in one go in at least one of forward and reverse rotation of rotor 110A.

[0086] (3) In the above embodiment, the predetermined angle is 45 degrees, and the angle from the first rotation position to the second rotation position is 360 degrees. However, the angle from the first rotation position to the second rotation position may be an angle other than 360 degrees. For example, if the predetermined angle is 50 degrees, the processing in step S16 of FIG. 7 becomes "θ3≧360 degrees?" Furthermore, the final value becomes 400 degrees, and 400 degrees becomes the second rotation position.

[0087] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is defined by the claims, not by the description of the above embodiments, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]

[0088] 25 resolver, 110 motor, 110A rotor, 112 neutral point, 150 battery, 210 inverter, 240 PI calculation unit, 250, 320 coordinate conversion unit, 260 signal generation unit, 262 correction unit, 300 control device, 310 control unit, 311, 312 subtraction unit, 330 rotation speed calculation unit, 400 offset amount detection device, 500 electrical system.

Claims

1. a motor having a rotor; an angle sensor for detecting a rotation angle of the rotor; a control device that controls the motor based on the detection result of the angle sensor, The control device executes a first process for rotating the rotor from a first rotation position to a second rotation position while setting a q-axis current command value of the motor to zero; acquiring a first detected angle detected by the angle sensor when the rotor is rotated to the second rotation position by the first process; calculating a first difference between the first detected angle and a second angle indicated by the second rotational position; execute a second process for rotating the rotor from the second rotation position to the first rotation position while setting the q-axis current command value to zero, the second process rotating the rotor in a direction opposite to that of the first process; acquiring a second detected angle detected by the angle sensor when the rotor is rotated to the first rotation position by the second process; calculating a second difference between the second detected angle and a first angle indicated by the first rotational position; Calculating an average value of the first difference and the second difference; an offset amount detection device that detects the difference between the average value and the first angle or the difference between the average value and the second angle as the offset amount between the actual rotation angle of the rotor and the angle detected by the angle sensor.

2. 2. The offset amount detection device according to claim 1, wherein the first process is a process for rotating the rotor by a first predetermined angle from the first rotation position to the second rotation position.

3. 2. The offset amount detection device according to claim 1, wherein the second process is a process for rotating the rotor from the second rotation position to the first rotation position by a second predetermined angle.

4. the first process is a process for rotating the rotor by a predetermined angle from the first rotation position to the second rotation position, 2. The offset amount detection device according to claim 1, wherein the second process is a process for rotating the rotor by the predetermined angle from the second rotation position to the first rotation position.

5. 5. The offset amount detecting device according to claim 1, wherein an angle from the first rotation position to the second rotation position is 360 degrees.

6. A detection method for detecting an offset between an actual rotation angle of a rotor of a motor and an angle detected by an angle sensor, comprising: executing a first process for rotating the rotor from a first rotation position to a second rotation position while setting a q-axis current command value of the motor to zero; acquiring a first detected angle detected by the angle sensor when the rotor is rotated to the second rotation position by the first process; calculating a first difference between the first detected angle and a second angle indicated by the second rotational position; executing a second process for rotating the rotor from the second rotation position to the first rotation position while setting the q-axis current command value to zero, the second process rotating the rotor in a direction opposite to that of the first process; acquiring a second detected angle detected by the angle sensor when the rotor is rotated to the first rotation position by the second process; calculating a second difference between the second detected angle and a first angle indicated by the first rotational position; calculating an average value of the first difference and the second difference; detecting, as the offset amount, a difference between the average value and the first angle or a difference between the average value and the second angle.

Citation Information

Patent Citations

  • Zero-position correction system and method of PMSM rotor

    CN104836506A

  • Method for determining an offset of a rotor position sensor, control device for a power converter and electric machine for a vehicle

    DE102018114960A1

  • Manufacturing method of rotation angle detection device, rotation angle detection device, motor control device and electric power steering device

    JP2011097679A

  • Synchronous motor controller

    JP2012110215A

  • Motor controller

    JP2018139478A