Angle detection method and angle detection device
The angle detection method and device enhance the accuracy of mechanical angle estimation by processing sensor signals from three magnetic sensors to calculate and store angular errors, addressing the accuracy limitations of existing methods.
Patent Information
- Application Number
- JP2023525415
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-05-31
- Filing Date
- 2022-03-10
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2042-03-10
AI Technical Summary
Existing position estimation methods using three inexpensive and small magnetic sensors lack the accuracy required by the market, despite providing high mechanical angle estimation of a rotating shaft.
An angle detection method and device that utilizes three magnetic sensors to detect changes in magnetic flux, extracts intersections and zero-cross points, generates a linear function representing these points, calculates angular errors, and stores these errors as learned values to improve estimation accuracy.
Enhances the estimation accuracy of the mechanical angle of a rotating shaft by utilizing a signal processing unit to process sensor signals and generate angular error functions, thereby improving detection precision.
Smart Images

Figure 00000018_0000 
Figure 00000018_0001 
Figure 00000018_0002
Abstract
Description
[Technical Field]
[0001] The present invention relates to an angle detection method and an angle detection device. [Background technology]
[0002] Conventionally, motors capable of accurately controlling their rotational position are known to be configured with absolute angular position sensors such as optical encoders and resolvers. However, absolute angular position sensors are large and expensive. Therefore, Patent Document 1 discloses a position estimation method that estimates the rotational position of a motor using three inexpensive and small magnetic sensors without using an absolute angular position sensor. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6233532 Summary of the Invention [Problem to be solved by the invention]
[0004] The position estimation method described in Patent Document 1 can estimate the mechanical angle of the rotation shaft with high accuracy using three inexpensive and small magnetic sensors, but there has been a demand for higher accuracy from the market. [Means for solving the problem]
[0005] One aspect of the angle detection method of the present invention is an angle detection method for detecting a mechanical angle of a rotating shaft, the method comprising the steps of: acquiring, as sensor signals, signals output from three magnetic sensors that detect changes in magnetic flux due to rotation of the rotating shaft, the three sensor signals having a phase difference of 120° in electrical angle from one another; extracting, over one mechanical angle cycle, intersections where two of the three sensor signals intersect with one another and zero-cross points where each of the three sensor signals intersects with a reference signal level; and generating a linear function θ(Δx) that represents straight lines connecting the intersections and the zero-cross points that are adjacent to one another, and where x is the length from the start point of the line to an arbitrary point on the line, and θ is the mechanical angle corresponding to the arbitrary point on the line; calculating, for a plurality of points on the line, a deviation between the mechanical angle θ calculated based on the linear function θ(Δx) and the mechanical angle θe obtained from an encoder installed on the rotating shaft as a first angular error; storing the first angular errors calculated for the plurality of points on the line as learned values; and generating a first angular error function for calculating a first angular error corresponding to the arbitrary point on the line based on the first angular errors calculated for the plurality of points on the line.
[0006] One aspect of the angle detection device of the present invention is an angle detection device that detects a mechanical angle of a rotating shaft, the angle detection device comprising: three magnetic sensors that detect a change in magnetic flux due to rotation of the rotating shaft; and a signal processing unit that processes signals output from the three magnetic sensors, wherein the signal processing unit performs a process of acquiring signals output from the three sensor signals as sensor signals, the three sensor signals having a phase difference of 120° in electrical angle from one another; a process of extracting intersections where two of the three sensor signals intersect with each other and zero-cross points where each of the three sensor signals intersects with a reference signal level over one mechanical angle period; and a process of extracting direct lines connecting the intersections and the zero-cross points adjacent to one another. The method executes the following processes: generating a linear function θ(Δx) that represents a line, where Δx is the length from the starting point of the line to an arbitrary point on the line, and θ is the mechanical angle corresponding to the arbitrary point on the line; calculating, for a plurality of points on the line, the deviation between the mechanical angle θ calculated based on the linear function θ(Δx) and the mechanical angle θe obtained from an encoder installed on the rotating shaft as a first angular error; storing the first angular errors calculated for the plurality of points on the line as learned values; and generating a first angular error function for calculating the first angular error corresponding to the arbitrary point on the line based on the first angular errors calculated for the plurality of points on the line. [Effects of the Invention]
[0007] According to the above aspects of the present invention, an angle detection method and an angle detection device are provided that can improve the estimation accuracy (detection accuracy) of the mechanical angle of a rotating shaft. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram schematically showing the configuration of an angle detection device according to one embodiment of the present invention. [Figure 2] FIG. 2 is a diagram showing an example of the waveforms of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw. [Figure 3]FIG. 3 is an enlarged view of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw included in one pole pair region shown in FIG. [Figure 4] FIG. 4 is a diagram showing an example of waveforms of the sensor signals Hu, Hv, and Hw including an in-phase signal that is a noise component. [Figure 5] FIG. 5 is a diagram showing an example of waveforms of the sensor signals Hiu0, Hiv0, and Hiw0 obtained after the first correction process is performed. [Figure 6] FIG. 6 is a diagram showing an example of waveforms of the sensor signals Hiu1, Hiv1, and Hiw1 obtained after the second correction process is performed. [Figure 7] FIG. 7 is a diagram showing an example of waveforms of the sensor signals Hiu2, Hiv2, and Hiw2 obtained after the third correction process is performed. [Figure 8] FIG. 8 is a diagram showing the relationship between the waveforms of the sensor signals Hiu1, Hiv1, and Hiw1 and the angle error before the third correction process is performed. [Figure 9] FIG. 9 is a diagram showing the relationship between the waveforms of the sensor signals Hiu2, Hiv2, and Hiw2 obtained after the third correction process and the angle error. [Figure 10] FIG. 10 shows the results of verifying the amount of evaluation encoder error relative to the amount of master advance angle using the basic patent method. [Figure 11] FIG. 11 is a flowchart showing the learning process executed as offline processing by the processing unit 21 of the angle detection device 1 in this embodiment. [Figure 12] FIG. 12 is a diagram showing a method for calculating the deviation between the estimated mechanical angle value θ and the true mechanical angle value θe as the first angle error for a plurality of points on a segment. [Figure 13] FIG. 13 is a diagram showing an example of first angle errors calculated for a plurality of points on 12 segments included in one pole pair region. [Figure 14] FIG. 14 is a diagram showing the results of verification of the evaluation encoder error amount with respect to the master advance angle amount when the mechanical angle estimate value θ is corrected using only the first angle error. [Figure 15] FIG. 15 is a diagram showing the results of verification of the evaluation encoder error amount with respect to the master advance angle amount when the mechanical angle estimate value θ is corrected using both the first angle error and the second angle error. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. 1 is a block diagram showing a schematic configuration of an angle detection device 1 according to one embodiment of the present invention. As shown in FIG. 1, the angle detection device 1 is a device that detects the mechanical angle (rotation angle) of a rotor shaft 110, which is the rotation axis of a motor 100. In this embodiment, the motor 100 is, for example, an inner rotor type three-phase brushless DC motor. The motor 100 includes the rotor shaft 110 and a sensor magnet 120.
[0010] The sensor magnet 120 is a disk-shaped magnet attached to the rotor shaft 110. The sensor magnet 120 rotates in synchronization with the rotor shaft 110. The sensor magnet 120 has P magnetic pole pairs (P is an integer equal to or greater than 1). In this embodiment, as an example, the sensor magnet 120 has four magnetic pole pairs. Note that a magnetic pole pair refers to a pair of an N pole and an S pole. That is, in this embodiment, the sensor magnet 120 has four pairs of an N pole and an S pole, for a total of eight magnetic poles.
[0011] The angle detection device 1 includes a sensor group 10 and a signal processing unit 20. Although not shown in FIG. 1, a circuit board is attached to the motor 100, and the sensor group 10 and the signal processing unit 20 are arranged on the circuit board. The sensor magnet 120 is arranged in a position that does not interfere with the circuit board. The sensor magnet 120 may be arranged inside the housing of the motor 100 or outside the housing.
[0012] The sensor group 10 includes three magnetic sensors 11, 12, and 13. The magnetic sensors 11, 12, and 13 are arranged on the circuit board facing the sensor magnet 120 and at predetermined intervals along the rotation direction of the sensor magnet 120. In this embodiment, the magnetic sensors 11, 12, and 13 are arranged at 30° intervals along the rotation direction of the sensor magnet 120. The magnetic sensors 11, 12, and 13 are each an analog output type magnetic sensor including a magnetoresistive element, such as a Hall element or a linear Hall IC.
[0013] When the rotor shaft 110 rotates, the sensor magnet 120 rotates in synchronization with the rotor shaft 110. The three magnetic sensors 11, 12, and 13 each detect a change in magnetic flux due to the rotation of the rotor shaft 110, i.e., the rotation of the sensor magnet 120, and output an analog signal indicating the detection result of the magnetic flux change to the signal processing unit 20.
[0014] One electrical angle cycle of each analog signal output from the magnetic sensors 11, 12, and 13 corresponds to 1 / P of one mechanical angle cycle. In this embodiment, since the number of pole pairs P of the sensor magnet 120 is "4," one electrical angle cycle of each analog signal corresponds to 1 / 4 of one mechanical angle cycle, or 90° mechanical angle. Furthermore, the analog signals output from the magnetic sensors 11, 12, and 13 have a phase difference of 120° electrical angle from each other.
[0015] Hereinafter, the analog signals output from the three magnetic sensors 11, 12, and 13 to the signal processing unit 20 will be referred to as sensor signals. In addition, in the following description, the sensor signal output from the magnetic sensor 11 will be referred to as a U-phase sensor signal Hu, the sensor signal output from the magnetic sensor 12 will be referred to as a V-phase sensor signal Hv, and the sensor signal output from the magnetic sensor 13 will be referred to as a W-phase sensor signal Hw.
[0016] The signal processing unit 20 is a signal processing circuit that processes sensor signals output from the three magnetic sensors 11, 12, and 13. The signal processing unit 20 estimates the mechanical angle of the rotor shaft 110, which is the rotation axis, based on the U-phase sensor signal Hu output from the magnetic sensor 11, the V-phase sensor signal Hv output from the magnetic sensor 12, and the W-phase sensor signal Hw output from the magnetic sensor 13. The signal processing unit 20 includes a processing unit 21 and a storage unit 22.
[0017] The processing unit 21 is a microprocessor such as an MCU (Microcontroller Unit). The U-phase sensor signal Hu output from the magnetic sensor 11, the V-phase sensor signal Hv output from the magnetic sensor 12, and the W-phase sensor signal Hw output from the magnetic sensor 13 are each input to the processing unit 21. The processing unit 21 is communicably connected to the storage unit 22 via a communication bus (not shown). The processing unit 21 executes at least the following two processes according to a program stored in advance in the storage unit 22.
[0018] The processing unit 21 performs a learning process as offline processing to acquire learning data required to estimate the mechanical angle of the rotor shaft 110. The offline processing is processing that is executed before the angle detection device 1 is shipped from a manufacturing factory or before the angle detection device 1 is incorporated into a customer's system and put into actual use. In the learning process, the processing unit 21 acquires learning data based on the sensor signals Hu, Hv, and Hw output from the magnetic sensors 11, 12, and 13, and the output signal AS of the encoder 200 (see FIG. 1). The encoder 200 is installed on the rotor shaft 110 only when the learning process is executed. The output signal AS of the encoder 200 is a signal that indicates the mechanical angle of the rotor shaft 110. The encoder 200 may be either an incremental encoder or an absolute encoder.
[0019] Furthermore, the processing unit 21 performs an angle estimation process as online processing to estimate the mechanical angle of the rotor shaft 110 based on the sensor signals Hu, Hv, and Hw output from the magnetic sensors 11, 12, and 13 and learning data obtained by the learning process. The online processing is processing that is executed when the angle detection device 1 is incorporated into a customer's system and put into actual operation.
[0020] The storage unit 22 includes a nonvolatile memory that stores programs, various setting data, the above-mentioned learning data, and the like required for the processing unit 21 to execute various processes, and a volatile memory that is used as a temporary storage destination for data when the processing unit 21 executes various processes. The nonvolatile memory is, for example, an EEPROM (Electrically Erasable Programmable Read-Only Memory) or a flash memory. The volatile memory is, for example, a RAM (Random Access Memory).
[0021] Before describing the learning process and angle estimation process executed by the processing unit 21 of the angle detection device 1 configured as described above, a brief description of the position estimation method disclosed in Japanese Patent No. 6233532 will be given below to facilitate understanding of the present invention. In the following description, the position estimation method disclosed in Japanese Patent No. 6233532 may be referred to as the basic patent method. For details of the basic patent method, please refer to Japanese Patent No. 6233532. For convenience of explanation, the basic patent method will be described below using the elements shown in FIG. 1.
[0022] First, the learning process executed by the processing unit 21 in the basic patent method will be described. The processing unit 21 acquires the signals output from the magnetic sensors 11, 12, and 13 as sensor signals Hu, Hv, and Hw while the sensor magnet 120 is rotating together with the rotor shaft 110. Specifically, the processing unit 21 has a built-in A / D converter, and the processing unit 21 acquires digital values of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw by digitally converting each of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw using the A / D converter at a predetermined sampling frequency.
[0023] During the learning process, the rotor shaft 110 may be rotated by controlling the supply of current to the motor 100 via a motor control device (not shown). Alternatively, the rotor shaft 110 may be connected to a rotating machine (not shown) and rotated by the rotating machine.
[0024] FIG. 2 is a diagram showing an example of the waveforms of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw. As shown in FIG. 2, one electrical cycle of each of the sensor signals Hu, Hv, and Hw corresponds to ¼ of one mechanical cycle, i.e., 90° mechanical angle. In FIG. 2, the period from time t1 to time t5 corresponds to one mechanical cycle (360° mechanical angle). In FIG. 2, the period from time t1 to time t2, the period from time t2 to time t3, the period from time t3 to time t4, and the period from time t4 to time t5 each correspond to 90° mechanical angle. Furthermore, the sensor signals Hu, Hv, and Hw have a phase difference of 120° electrical angle from one another.
[0025] Based on the digital values of the sensor signals Hu, Hv, and Hw, the processing unit 21 extracts, over one mechanical angle cycle, intersection points where two of the three sensor signals intersect with each other and zero-crossing points where each of the three sensor signals intersects with a reference signal level. The reference signal level is, for example, ground level. When the reference signal level is ground level, the digital value of the reference signal level is "0."
[0026] As shown in FIG. 2, the processing unit 21 divides one mechanical angle cycle into four pole pair regions associated with pole pair numbers based on the result of extracting the zero-crossing points. In FIG. 2, "No. C" indicates the pole pair number. As shown in FIG. 1, pole pair numbers are assigned in advance to the four magnetic pole pairs of the sensor magnet 120. For example, the pole pair number "0" is assigned to the magnetic pole pair located in the mechanical angle range of 0° to 90°. The pole pair number "1" is assigned to the magnetic pole pair located in the mechanical angle range of 90° to 180°. The pole pair number "2" is assigned to the magnetic pole pair located in the mechanical angle range of 180° to 270°. The pole pair number "3" is assigned to the magnetic pole pair located in the mechanical angle range of 270° to 360°.
[0027] For example, when the sensor signal Hu is used as a reference, the processing unit 21 recognizes, among the zero-crossing points of the sensor signal Hu, the zero-crossing point obtained at the sampling timing (time t1) when the mechanical angle is 0° as the start point of the pole pair region associated with the pole pair number "0". Furthermore, the processing unit 21 recognizes, among the zero-crossing points of the sensor signal Hu, the zero-crossing point obtained at the sampling timing (time t2) when the mechanical angle is 90° as the end point of the pole pair region associated with the pole pair number "0". In other words, the processing unit 21 determines the section between the zero-crossing point obtained at time t1 and the zero-crossing point obtained at time t2 as the pole pair region associated with the pole pair number "0".
[0028] The processing unit 21 recognizes, among the zero-crossing points of the sensor signal Hu, the zero-crossing point obtained at the sampling timing (time t2) when the mechanical angle is 90° as the start point of the pole pair region associated with the pole pair number "1". Furthermore, the processing unit 21 recognizes, among the zero-crossing points of the sensor signal Hu, the zero-crossing point obtained at the sampling timing (time t3) when the mechanical angle is 180° as the end point of the pole pair region associated with the pole pair number "1". In other words, the processing unit 21 determines the section between the zero-crossing point obtained at time t2 and the zero-crossing point obtained at time t3 as the pole pair region associated with the pole pair number "1".
[0029] The processing unit 21 recognizes, among the zero crossing points of the sensor signal Hu, the zero crossing point obtained at the sampling timing (time t3) when the mechanical angle is 180° as the start point of the pole pair region associated with the pole pair number "2". Furthermore, the processing unit 21 recognizes, among the zero crossing points of the sensor signal Hu, the zero crossing point obtained at the sampling timing (time t4) when the mechanical angle is 270° as the end point of the pole pair region associated with the pole pair number "2". In other words, the processing unit 21 determines the section between the zero crossing point obtained at time t3 and the zero crossing point obtained at time t4 as the pole pair region associated with the pole pair number "2".
[0030] The processing unit 21 recognizes, among the zero crossing points of the sensor signal Hu, the zero crossing point obtained at the sampling timing (time t4) when the mechanical angle is 270° as the start point of the pole pair region associated with the pole pair number "3". Furthermore, the processing unit 21 recognizes, among the zero crossing points of the sensor signal Hu, the zero crossing point obtained at the sampling timing (time t5) when the mechanical angle is 360° as the end point of the pole pair region associated with the pole pair number "3". In other words, the processing unit 21 determines the section between the zero crossing point obtained at time t4 and the zero crossing point obtained at time t5 as the pole pair region associated with the pole pair number "3".
[0031] As shown in Fig. 2, the processing unit 21 divides each of the four pole pair regions into 12 sections associated with section numbers based on the extraction results of the intersections and zero crossing points. In Fig. 2, "No. A" indicates the section number associated with each section. As shown in Fig. 2, the 12 sections included in each of the four pole pair regions are associated with section numbers from "0" to "11."
[0032] 3 is an enlarged view of the sensor signals Hu, Hv, and Hw included in one pole pair region shown in FIG. 2. In FIG. 3, the reference value (reference signal level) of the amplitude is "0." In FIG. 3, the digital value of the amplitude that is a positive value represents, as an example, the digital value of the magnetic field strength of the north pole. Also, the digital value of the amplitude that is a negative value represents, as an example, the digital value of the magnetic field strength of the south pole.
[0033] 3, points P1, P3, P5, P7, P9, P11, and P13 are zero-crossing points extracted from the digital values of the sensor signals Hu, Hv, and Hw included in one pole pair region. Also, in FIG. 3, points P2, P4, P6, P8, P10, and P12 are intersections extracted from the digital values of the sensor signals Hu, Hv, and Hw included in one pole pair region. As shown in FIG. 3, the processing unit 21 determines the intervals between adjacent zero-crossing points and intersections as sections.
[0034] The processing unit 21 determines the section between zero cross point P1 and intersection point P2 as the section associated with section number "0." The processing unit 21 determines the section between intersection point P2 and zero cross point P3 as the section associated with section number "1." The processing unit 21 determines the section between zero cross point P3 and intersection point P4 as the section associated with section number "2." The processing unit 21 determines the section between intersection point P4 and zero cross point P5 as the section associated with section number "3." The processing unit 21 determines the section between zero cross point P5 and intersection point P6 as the section associated with section number "4." The processing unit 21 determines the section between intersection point P6 and zero cross point P7 as the section associated with section number "5."
[0035] The processing unit 21 determines the section between zero cross point P7 and intersection point P8 as the section associated with section number "6." The processing unit 21 determines the section between intersection point P8 and zero cross point P9 as the section associated with section number "7." The processing unit 21 determines the section between zero cross point P9 and intersection point P10 as the section associated with section number "8." The processing unit 21 determines the section between intersection point P10 and zero cross point P11 as the section associated with section number "9." The processing unit 21 determines the section between zero cross point P11 and intersection point P12 as the section associated with section number "10." The processing unit 21 determines the section between intersection point P12 and zero cross point P13 as the section associated with section number "11."
[0036] In the following description, for example, a section assigned section number "0" will be referred to as "section 0," and a section assigned section number "11" will be referred to as "section 11."
[0037] As shown in FIG. 2, consecutive numbers throughout one mechanical angle cycle are associated with each section number as segment numbers. In FIG. 2, "No. B" indicates the segment number associated with each section number. Note that the term "segment" refers to a line connecting adjacent intersections and zero-crossing points. In other words, a line connecting the start and end points of each section is called a segment. In FIG. 3, for example, the start point of section 0 is zero-crossing point P1, and the end point of section 0 is intersection point P2. Therefore, the segment corresponding to section 0 is the line connecting zero-crossing point P1 and intersection point P2. Similarly, in FIG. 3, for example, the start point of section 1 is intersection point P2, and the end point of section 1 is zero-crossing point P3. Therefore, the segment corresponding to section 1 is the line connecting intersection point P2 and zero-crossing point P3.
[0038] As shown in Figure 2, in the pole pair area associated with pole pair number "0", segment numbers "0" to "11" are associated with section numbers "0" to "11". In the pole pair area associated with pole pair number "1", segment numbers "12" to "23" are associated with section numbers "0" to "11". In the pole pair area associated with pole pair number "2", segment numbers "24" to "35" are associated with section numbers "0" to "11". In the pole pair area associated with pole pair number "3", segment numbers "36" to "47" are associated with section numbers "0" to "11".
[0039] In the following description, for example, a segment assigned segment number "0" will be referred to as "segment no. 1," and a segment assigned segment number "11" will be referred to as "segment no. 11."
[0040] The processing unit 21 generates a linear function θ(Δx) that represents each segment. Δx is the length (digital value) from the start point of the segment to an arbitrary point on the segment, and θ is the mechanical angle corresponding to the arbitrary point on the segment. In FIG. 3, for example, the start point of the segment corresponding to section 0 is zero-crossing point P1, and the end point of the segment corresponding to section 0 is intersection point P2. Similarly, in FIG. 3, for example, the start point of the segment corresponding to section 1 is intersection point P2, and the end point of the segment corresponding to section 1 is zero-crossing point P3.
[0041] For example, a linear function θ(Δx) representing a segment is expressed by the following equation (1): In the following equation (1), "i" is the segment number and is an integer from 0 to 47. In the following description, the linear function θ(Δx) expressed by the following equation (1) may be referred to as a mechanical angle estimation equation, and the mechanical angle θ calculated by the following equation (1) may be referred to as a mechanical angle estimated value. θ(Δx)=k[i]×Δx+θres[i] …(1)
[0042] In the above equation (1), k[i] is a coefficient called a normalization coefficient. In other words, k[i] is a coefficient that represents the slope of the i-th segment. The normalization coefficient k[i] is expressed by the following equation (2). In the following equation (2), ΔXnorm[i] is the deviation of the digital values between the start point and end point of the i-th segment. In FIG. 3, for example, ΔXnorm[i] of the segment corresponding to section 0 is the deviation of the digital values between zero-crossing point P1 and intersection point P2. Similarly, in FIG. 3, for example, ΔXnorm[i] of the segment corresponding to section 1 is the deviation of the digital values between intersection point P2 and zero-crossing point P3. k[i]=θnorm[i] / ΔXnorm[i] …(2)
[0043] In the above equation (2), θnorm[i] is the deviation in mechanical angle between the start point and end point of the i-th segment, and is expressed by the following equation (3): In the below equation (3), t[i] is the time between the start point and end point of the i-th segment, t[0] is the time between the start point and end point of the 0-th segment, and t
[47] is the time between the start point and end point of the 47-th segment. In Figure 3, for example, if the segment corresponding to the 0-th segment is the 0-th segment, t[0] is the time between the zero-crossing point P1 and the intersection point P2. θnorm[i]={t[i] / (t[0]+…+t
[47] )}×360[degM] …(3)
[0044] In the above equation (1), θres[i] is a constant (the intercept of the linear function θ(Δx)) called the angle reset value of the i-th segment. When the segment number "i" is "0", the angle reset value θres[i] is expressed by the following equation (4). When the segment number "i" is any value from "1" to "47", the angle reset value θres[i] is expressed by the following equation (5). Note that instead of calculating θnorm[i] from t[i] as described above, it may also be calculated from the true mechanical angle (for example, the mechanical angle indicated by the output signal of an encoder attached to the rotor shaft 110). θres[i]=0[degM] …(4) θres[i]=Σ(θnorm[i-1]) …(5)
[0045] By performing the learning process described above, the processing unit 21 acquires the correspondence between pole pair numbers, section numbers, and segment numbers, characteristic data for each section, and the mechanical angle estimation formula for each segment, and stores this acquired data as learning data in the memory unit 22. Note that the characteristic data for each section refers to the magnitude relationship and positive / negative signs of the digital values of the sensor signals Hu, Hv, and Hw included in each section. In addition, the normalization coefficient k[i] and angle reset value θres[i] that constitute the mechanical angle estimation formula for each segment are stored in the memory unit 22 as learning data.
[0046] Next, the angle estimation process executed by the processing unit 21 in the basic patent method will be described. The processing unit 21 acquires the sensor signals Hu, Hv, and Hw output from the magnetic sensors 11, 12, and 13. Specifically, the processing unit 21 acquires digital values of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw by digitally converting each of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw at a predetermined sampling frequency using an A / D converter.
[0047] The processing unit 21 then identifies the current section number and pole pair number based on the digital values of the sensor signals Hu, Hv, and Hw obtained at the current sampling timing. For example, in FIG. 3, assume that point PHu located on the waveform of the U-phase sensor signal Hu, point PHv located on the waveform of the V-phase sensor signal Hv, and point PHw located on the waveform of the W-phase sensor signal Hw are the digital values of the sensor signals Hu, Hv, and Hw obtained at the current sampling timing. The processing unit 21 identifies the current section (section number) by comparing feature data, such as the magnitude relationship and positive / negative signs of the digital values of points PHu, PHv, and PHw, with feature data of each section included in the learning data stored in the memory unit 22. In the example of FIG. 3, section 9 is identified as the current section. Note that a method for identifying pole pair numbers will not be described in this specification. For details on the method for identifying pole pair numbers, see Japanese Patent No. 6233532. Assume, for example, that pole pair number "2" is identified as the pole pair number at the current sampling timing.
[0048] Then, the processing unit 21 identifies the current segment number based on the identified current section number and pole pair number. For example, the processing unit 21 identifies the current segment number using the formula "segment number = 12 × pole pair number + section number." Assuming that the section number "9" is identified as the current section number and the pole pair number "2" is identified as the current pole pair number as described above, the processing unit 21 identifies the segment number "33" as the current segment number (see FIG. 2).
[0049] The processing unit 21 reads out the normalization coefficient k[i] and angle reset value θres[i] corresponding to the identified segment number "i" from the learning data stored in the memory unit 22, and calculates the estimated mechanical angle θ using the mechanical angle estimation formula expressed by the above equation (1). Here, the digital value of the sensor signal corresponding to the identified segment is used as Δx, which is substituted into the mechanical angle estimation formula. For example, as described above, if segment number "33" is identified as the current segment number, the processing unit 21 reads out the normalization coefficient k
[33] and angle reset value θres
[33] from the memory unit 22, and substitutes the digital value of point PHv (see FIG. 3) into the mechanical angle estimation formula as Δx, thereby calculating the estimated mechanical angle θ at the current sampling timing.
[0050] The above is the basic procedure for estimating the mechanical angle in the basic patent method that forms the basis of the present invention. In the basic patent method, correction processing is performed on the sensor signals Hu, Hv, and Hw to improve the estimation accuracy of the mechanical angle (the accuracy of the estimated mechanical angle value θ). For example, as shown in FIG. 2, the amplitude values of the sensor signals Hu, Hv, and Hw do not necessarily match. Furthermore, as shown in FIG. 4, the sensor signals Hu, Hv, and Hw may contain in-phase signals (such as DC signals and third-order harmonic signals) that are noise components. FIG. 4 shows an example of the waveforms of the sensor signals Hu, Hv, and Hw that contain in-phase signals that are noise components. In FIG. 4, the vertical axis represents the digital value, and the horizontal axis represents the electrical angle.
[0051] Therefore, when the processing unit 21 in the basic patent method acquires the digital values of the sensor signals Hu, Hv, and Hw during the execution of the learning process and the angle estimation process, it first executes a first correction process to remove in-phase signals from the sensor signals Hu, Hv, and Hw based on the following equations (6), (7), and (8). Hiu0=Hu-(Hv+Hw) / 2 …(6) Hiv0 = Hv - (Hu + Hw) / 2 ... (7) Hiw0=Hw-(Hu+Hv) / 2 …(8)
[0052] In equation (6), Hiu0 is the digital value of the U-phase sensor signal obtained by performing the first correction process on the U-phase sensor signal Hu. In equation (7), Hiv0 is the digital value of the V-phase sensor signal obtained by performing the first correction process on the V-phase sensor signal Hv. In equation (8), Hiw0 is the digital value of the W-phase sensor signal obtained by performing the first correction process on the W-phase sensor signal Hw. FIG. 5 is a diagram showing an example of the waveforms of the sensor signals Hiu0, Hiv0, and Hiw0 obtained after the first correction process is performed. In FIG. 5, the vertical axis represents the digital value, and the horizontal axis represents the electrical angle.
[0053] After performing the first correction process, the processing unit 21 in the basic patent method performs a second correction process to match the amplitude values of the sensor signals Hiu0, Hiv0, and Hiw0 based on the following equations (9) to (14): Hiu1(ppn)=au_max(ppn)×Hiu0(ppn)+bu…(9) Hiu1(ppn)=au_min(ppn)×Hiu0(ppn)+bu…(10) Hiv1(ppn)=av_max(ppn)×Hiv0(ppn)+bv …(11) Hiv1(ppn)=av_min(ppn)×Hiv0(ppn)+bv …(12) Hiw1(ppn)=aw_max(ppn)×Hiw0(ppn)+bw …(13) Hiw1(ppn)=aw_min(ppn)×Hiw0(ppn)+bw …(14)
[0054] The processing unit 21 performs the second correction process on the positive digital value of the U-phase sensor signal Hiu0 using the information stored in the storage unit 22, according to the above equation (9). The processing unit 21 also performs the second correction process on the negative digital value of the U-phase sensor signal Hiu0 using the information stored in the storage unit 22, according to the above equation (10). The processing unit 21 performs the second correction process on the positive digital value of the V-phase sensor signal Hiv0 using the information stored in the storage unit 22, according to the above equation (11). The processing unit 21 also performs the second correction process on the negative digital value of the V-phase sensor signal Hiv0 using the information stored in the storage unit 22, according to the above equation (12). The processing unit 21 performs the second correction process on the positive digital value of the W-phase sensor signal Hiw0 using the information stored in the storage unit 22, according to the above equation (13). The processing unit 21 also performs the second correction process on the negative digital value of the W-phase sensor signal Hiw0 using the information stored in the storage unit 22, according to the above equation (14).
[0055] In equations (9) and (10), Hiu1 is the digital value of the U-phase sensor signal obtained by performing the second correction process on the U-phase sensor signal Hiu0. In equations (11) and (12), Hiv1 is the digital value of the V-phase sensor signal obtained by performing the second correction process on the V-phase sensor signal Hiv0. In equations (13) and (14), Hiw1 is the digital value of the W-phase sensor signal obtained by performing the second correction process on the W-phase sensor signal Hiw0. FIG. 6 is a diagram showing an example of the waveforms of the sensor signals Hiu1, Hiv1, and Hiw1 obtained after the second correction process is performed. In FIG. 6, the vertical axis represents the digital value, and the horizontal axis represents the electrical angle.
[0056] In equations (9) to (14), ppn is a pole pair number ranging from 0 to 3. In equations (9), (11), and (13), au_max(ppn), av_max(ppn), and aw_max(ppn) are positive-side gain correction values for the positive digital values for one electrical cycle corresponding to each magnetic pole pair, which are pre-stored in the storage unit 22. In equations (10), (12), and (14), au_min(ppn), av_min(ppn), and aw_min(ppn) are negative-side gain correction values for the negative digital values for one electrical cycle corresponding to each magnetic pole pair, which are pre-stored in the storage unit 22. In equations (9) to (14), bu, bv, and bw are offset correction values for each phase, which are pre-stored in the storage unit 22. Note that au_max(ppn), av_max(ppn), aw_max(ppn), au_min(ppn), av_min(ppn), and aw_min(ppn) are correction values for each pole pair. Therefore, the number of positive-side gain correction values is 12 (= 3 phases × 4 number of pole pairs). Similarly, the number of negative-side gain correction values is 12.
[0057] After performing the second correction process, the processing unit 21 in the basic patent method performs a third correction process on the sensor signals Hiu1, Hiv1, and Hiw1 to linearize portions (divided signals) of the sensor signals corresponding to each segment. In Fig. 3, for example, if the segment corresponding to section 0 is segment 0, the divided signal corresponding to segment 0 is the signal of the portion of the U-phase sensor signal Hu connecting zero-cross point P1 and intersection point P2. Similarly, in Fig. 3, for example, if the segment corresponding to section 1 is segment 1, the divided signal corresponding to segment 1 is the signal of the portion of the W-phase sensor signal Hw connecting intersection point P2 and zero-cross point P3.
[0058] The processing unit 21 performs a third correction process on the sensor signals Hiu1, Hiv1, and Hiw1, changing the scale of each sensor signal by using values pre-stored in the storage unit 22 as coefficients. By performing the third correction process, the approximately S-shaped shapes of the divided signals corresponding to each segment can be linearized. Here, the values stored in the storage unit 22 are pre-designed values. This third correction process performs calculations using pre-designed values and a correction formula such as a quadratic function, a cubic function, or a trigonometric function.
[0059] As an example, the processing unit 21 performs the third correction process on the sensor signals Hiu1, Hiv1, and Hiw1 based on the following equations (15) to (17): In the following equations (15) to (17), a and b are coefficients pre-stored in the storage unit 22. Hiu2=b×tan(a×Hiu1) …(15) HIV2=b×tan(a×HIV1) …(16) Hiw2=b×tan(a×Hiw1) …(17)
[0060] In equation (15), Hiu2 is the digital value of the U-phase sensor signal obtained by performing the third correction process on the U-phase sensor signal Hiu1. In equation (16), Hiv2 is the digital value of the V-phase sensor signal obtained by performing the third correction process on the V-phase sensor signal Hiv1. In equation (17), Hiw2 is the digital value of the W-phase sensor signal obtained by performing the third correction process on the W-phase sensor signal Hiw1. FIG. 7 is a diagram showing an example of the waveforms of the sensor signals Hiu2, Hiv2, and Hiw2 obtained after the third correction process is performed. In FIG. 7, the vertical axis represents the digital value, and the horizontal axis represents the electrical angle.
[0061] As described above, the basic patent method can reduce the common-mode noise contained in the sensor signals Hu, Hv, and Hw through the first correction process. Furthermore, the basic patent method can correct the inter-signal variation of each sensor signal through the second correction process. Here, inter-signal variation refers to, for example, variations in the amplitude and offset components of each sensor signal. Furthermore, the basic patent method can linearize the curved portions of the waveforms of each sensor signal through the third correction process. In particular, the second correction process equalizes the lengths of the portions of the sensor signals (divided signals) corresponding to the segments, making it easier to apply a uniform calculation process to all divided signals in the third correction process. Therefore, performing the second correction process before the third correction process can more effectively linearize the curved portions of the waveforms. As a result, in the basic patent method, the signal portion (divided signal) required for calculating the estimated mechanical angle θ based on the above equation (1) becomes more linear, and the difference between the estimated mechanical angle θ and the true mechanical angle (for example, the mechanical angle indicated by the output signal of an encoder attached to the rotor shaft 110) can be reduced, thereby enabling highly accurate mechanical angle estimation.
[0062] Fig. 8 is a diagram showing the relationship between the waveforms of the sensor signals Hiu1, Hiv1, and Hiw1 before the third correction process and the angle error. Fig. 9 is a diagram showing the relationship between the waveforms of the sensor signals Hiu2, Hiv2, and Hiw2 obtained after the third correction process and the angle error. In Figs. 8 and 9, the angle error is a value obtained by subtracting the true mechanical angle (for example, the mechanical angle indicated by the output signal of the encoder attached to the rotor shaft 110) from the mechanical angle estimate value θ calculated based on the above equation (1).
[0063] As shown in Figure 8, when the estimated mechanical angle θ is calculated based on the sensor signals Hiu1, Hiv1, and Hiw1 before the third correction process, the angle error is approximately ±0.5 degrees. On the other hand, as shown in Figure 9, when the estimated mechanical angle θ is calculated based on the sensor signals Hiu2, Hiv2, and Hiw2 obtained after the third correction process, the angle error is approximately ±0.1 degrees. In this way, the basic patent method can reduce the angle error between the estimated mechanical angle θ and the true mechanical angle by linearizing the divided signals corresponding to each segment.
[0064] As shown in Figure 10, when the inventors of this application verified the amount of evaluation encoder error for the master advance angle amount using an actual device using the basic patent method, the angle error between the estimated mechanical angle value θ and the true mechanical angle value was within approximately ±0.06 [deg]. However, because the angle error increases or decreases due to changes in the usage environment, such as temperature, the angle error may become larger depending on the usage environment. The present invention aims to further reduce the angle error between the estimated mechanical angle θ and the true mechanical angle, compared to the above-mentioned basic patent method, thereby improving the accuracy of detecting the mechanical angle of a rotating shaft.
[0065] Hereinafter, the learning process and angle estimation process executed by the processing unit 21 of the angle detection device 1 in this embodiment to solve the above technical problems will be described.
[0066] First, the learning process executed by the processing unit 21 of the angle detection device 1 in this embodiment will be described. 11 is a flowchart showing a learning process executed as offline processing by the processing unit 21 of the angle detection device 1 in this embodiment. The processing unit 21 executes the learning process as offline processing to acquire learning data required for estimating the mechanical angle of the rotor shaft 110.
[0067] 11, while the sensor magnet 120 is rotating together with the rotor shaft 110, the processing unit 21 acquires signals output from the three magnetic sensors 11, 12, and 13 as sensor signals Hu, Hv, and Hw (step S1). Specifically, the processing unit 21 has a built-in A / D converter, and the processing unit 21 digitally converts each of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw at a predetermined sampling frequency using the A / D converter, thereby acquiring digital values of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw.
[0068] Next, based on the digital values of the sensor signals Hu, Hv, and Hw, the processing unit 21 extracts, over one mechanical angle cycle, intersection points where two of the three sensor signals intersect with each other and zero-cross points where each of the three sensor signals intersects with a reference signal level (step S2).Then, the processing unit 21 generates a linear function θ(Δx) that represents a line (segment) connecting adjacent intersection points and zero-cross points, i.e., a mechanical angle estimation equation for each segment (step S3).
[0069] The processing from step S1 to step S3 above is the same as the learning processing in the basic patent method, so detailed explanations will be omitted. Note that the sensor signals Hu, Hv, and Hw acquired in step S1 may be subjected to the first correction processing, the second correction processing, and the third correction processing in the basic patent method, and the processing from step S2 onwards may be performed based on the sensor signals Hiu2, Hiv2, and Hiw2 obtained after the third correction processing.
[0070] By executing the processes from step S1 to step S3 described above, the processing unit 21 acquires the correspondence between pole pair numbers, section numbers, and segment numbers, characteristic data for each section, and the mechanical angle estimation formula for each segment, and stores this acquired data as learning data in the memory unit 22. Note that the characteristic data for each section refers to the magnitude relationship and positive / negative signs of the digital values of the sensor signals Hu, Hv, and Hw included in each section. In addition, the normalization coefficient k[i] and angle reset value θres[i] that constitute the mechanical angle estimation formula for each segment are stored in the memory unit 22 as learning data.
[0071] Next, the processing unit 21 calculates, for a plurality of points on the segment, the deviation between the mechanical angle estimated value θ calculated based on the mechanical angle estimation equation and the mechanical angle θe acquired from the output signal AS of the encoder 200 installed on the rotor shaft 110, as a first angle error (step S4). Hereinafter, the mechanical angle θe acquired from the encoder 200 may be referred to as the true mechanical angle. As an example, as shown in FIG. 12, the processing unit 21 in this embodiment calculates, for nine points on the segment, the deviation between the mechanical angle estimated value θ and the true mechanical angle θe, as a first angle error θerr. Hereinafter, the nine points on the segment may be referred to as points of interest.
[0072] In FIG. 12, "k" represents the numbers "0" to "8" assigned to the nine points of interest on the segment. Hereinafter, a point of interest assigned the number "k" may be referred to as the kth point of interest. As shown in FIG. 12, the nine points of interest on the segment include the start and end points of the segment. The 0th point of interest corresponds to the start point of the segment, and the 8th point of interest corresponds to the end point of the segment. The length from the 0th point of interest to the 8th point of interest corresponds to ΔXnorm[i], which is the deviation of the digital values between the start and end points of the i-th segment. In this embodiment, the intervals between the multiple points of interest on the segment are equal. In other words, in this embodiment, the segment is divided into eight equal parts by nine equally spaced points of interest.
[0073] The processing unit 21 calculates the mechanical angle estimate θ corresponding to the k-th point of interest by substituting "k × ΔXnorm[i] / 8" for Δx in the above equation (1), and calculates the deviation between the calculated mechanical angle estimate θ and the true mechanical angle θe obtained from the encoder 200 at the same sampling timing as the k-th point of interest as the first angle error θerrk. Note that in FIG. 12, the first angle error θerr0 is the first angle error calculated for the 0th point of interest using the above method. The first angle error θerr1 is the first angle error calculated for the 1st point of interest using the above method. The first angle error θerr7 is the first angle error calculated for the 7th point of interest using the above method. The first angle error θerr8 is the first angle error calculated for the 8th point of interest using the above method. The processing unit 21 sequentially reads out the learning data related to all segments from segment 0 to segment 47, and calculates the deviation between the estimated mechanical angle θ and the true mechanical angle θe for nine points of interest on each segment as the first angle error θerr.
[0074] By performing the process of step S4 as described above, eight first angular errors θerr are obtained for each of the 12 segments included in one pole pair region, and therefore a total of 96 first angular errors θerr are obtained for one pole pair region, as shown in Fig. 13. Therefore, a total of 384 first angular errors θerr are obtained across all four pole pair regions. As described above, the processing unit 21 stores the first angular errors θerr calculated for the nine target points on each segment as learning values in the memory unit 22 (step S5).
[0075] Next, the processing unit 21 generates a first angular error function for each segment based on the first angular errors θerr calculated for the nine points of interest on the segment (step S6). The first angular error function is expressed by the following equation (18). In the following equation (18), "x" is synonymous with Δx and is the length (digital value) from the start point of the i-th segment to the arbitrary point (see FIG. 12). Also, in the following equation (18), Xnorm is synonymous with ΔXnorm[i].
[0076]
number
[0077] Next, the processing unit 21 calculates, for each of the plurality of points on the segment, the deviation between the value obtained by subtracting the first angle error θer1 calculated based on the first angle error function expressed by the above equation (18) from the mechanical angle estimated value θ calculated based on the mechanical angle estimation equation and the true mechanical angle θe acquired from the encoder 200 as a second angle error (step S7). The plurality of points on the segment used in step S7 may be the same as the nine target points used in step S4, or they may be different points. The processing of step S7 makes it possible to further learn an angle error (second angle error) using the first angle error obtained in step S4. The processing unit 21 stores the second angle errors calculated for each of the plurality of points on the segment as learned values in the memory unit 22 for each of the segments (step S8).
[0078] Finally, the processing unit 21 generates a second angular error function for each segment based on the second angular errors calculated for multiple points on the segment (step S9). The second angular error function is expressed by the same mathematical formula as equation (18) above.
[0079] By performing steps S1 to S3 of the learning process described above, processing unit 21 acquires the correspondence between pole pair numbers, section numbers, and segment numbers, characteristic data for each section, and a mechanical angle estimation formula for each segment, and stores these acquired data as learning data in storage unit 22. Furthermore, by performing steps S4 to S9 of the learning process described above, processing unit 21 generates a first angle error function for calculating a first angle error corresponding to an arbitrary point on each segment, and a second angle error function for calculating a second angle error corresponding to an arbitrary point on each segment, and stores each learning value required for generating them as learning data in storage unit 22.
[0080] Next, the angle estimation process executed by the processing unit 21 in this embodiment will be described. The processing unit 21 acquires the sensor signals Hu, Hv, and Hw output from the magnetic sensors 11, 12, and 13. Specifically, the processing unit 21 acquires digital values of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw by digitally converting each of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw at a predetermined sampling frequency using an A / D converter.
[0081] The processing unit 21 then identifies the current section number and pole pair number based on the digital values of the sensor signals Hu, Hv, and Hw obtained at the current sampling timing. For example, in FIG. 3, it is assumed that point PHu located on the waveform of the U-phase sensor signal Hu, point PHv located on the waveform of the V-phase sensor signal Hv, and point PHw located on the waveform of the W-phase sensor signal Hw are the digital values of the sensor signals Hu, Hv, and Hw obtained at the current sampling timing. The processing unit 21 identifies the current section (section number) by comparing feature data such as the magnitude relationship and positive / negative signs of the digital values of points PHu, PHv, and PHw with feature data of each section included in the learning data stored in the memory unit 22. In the example of FIG. 3, section 9 is identified as the current section. It is also assumed that pole pair number "2" is identified as the pole pair number at the current sampling timing.
[0082] Then, the processing unit 21 identifies the current segment number based on the identified current section number and pole pair number. For example, the processing unit 21 identifies the current segment number using the formula "segment number = 12 × pole pair number + section number." Assuming that the section number "9" is identified as the current section number and the pole pair number "2" is identified as the current pole pair number as described above, the processing unit 21 identifies the segment number "33" as the current segment number (see FIG. 2).
[0083] The processing unit 21 reads out the normalization coefficient k[i] and angle reset value θres[i] corresponding to the identified segment number "i" from the learning data stored in the memory unit 22, and calculates the estimated mechanical angle value θ using the mechanical angle estimation formula expressed by the following formula (19). Here, the digital value of the sensor signal corresponding to the identified segment is used as Δx substituted into the mechanical angle estimation formula. In formula (19), θer1 is the first angle error obtained by substituting Δx into the first angle error function obtained in the learning process, and θer2 is the second angle error obtained by substituting Δx into the second angle error function obtained in the learning process. θ(Δx)=k[i]×Δx+θres[i]-(θer1+θer2) …(19)
[0084] For example, when segment number "33" is identified as the current segment number as described above, processing unit 21 reads out normalization coefficient k
[33] and angle reset value θres
[33] from memory unit 22, and substitutes the digital value of point PHv (see FIG. 3) as Δx into the first angle error function and the second angle error function to calculate the first angle error θer1 and the second angle error θer2 corresponding to the digital value of point PHv, and then substitutes Δx, the first angle error θer1, and the second angle error θer2 into the mechanical angle estimation equation expressed by equation (19) above to calculate the mechanical angle estimated value θ at the current sampling timing.
[0085] Fig. 14 is a diagram showing the results of verifying, with an actual device, the amount of evaluation encoder error with respect to the amount of master advance angle when the mechanical angle estimate θ is corrected using only the first angle error. In other words, Fig. 14 is a diagram showing the results of verifying, with an actual device, the angle error between the mechanical angle estimate θ calculated using the following equation (20) and the true mechanical angle value θe. Fig. 15 is a diagram showing the results of verifying, with an actual device, the amount of evaluation encoder error with respect to the amount of master advance angle when the mechanical angle estimate θ is corrected using both the first angle error and the second angle error. In other words, Fig. 15 is a diagram showing the results of verifying, with an actual device, the angle error between the mechanical angle estimate θ calculated using the above equation (19) and the true mechanical angle value θe. θ(Δx)=k[i]×Δx+θres[i]-θer1 …(20)
[0086] As shown in Fig. 14, the inventors of the present invention verified the amount of evaluation encoder error for the master advance angle using an actual device with the angle estimation method of the present invention. As a result, even when the mechanical angle estimate θ was corrected using only the first angle error, the angle error between the mechanical angle estimate θ and the true mechanical angle θe was within approximately ±0.03 [deg]. Also, as shown in Fig. 15, the inventors of the present invention verified the amount of evaluation encoder error for the master advance angle using an actual device with the angle estimation method of the present invention. As a result, when the mechanical angle estimate θ was corrected using both the first angle error and the second angle error, the angle error between the mechanical angle estimate θ and the true mechanical angle θe was within approximately ±0.02 [deg]. From these results, it is clear that the present invention can reduce the angle error compared to the basic patent method.
[0087] As described above, the angle detection device 1 in this embodiment includes three magnetic sensors 11, 12, and 13 that detect magnetic flux changes due to rotation of the rotor shaft 110, and a signal processing unit 20 that processes signals output from the three magnetic sensors. The processing unit 21 of the signal processing unit 20 performs the following steps (step S1): a process of acquiring signals output from the three sensor signals as sensor signals Hu, Hv, and Hw, where the three sensor signals Hu, Hv, and Hw have a phase difference of 120° in electrical angle from one another; a process of extracting, over one mechanical angle cycle, intersection points where two of the three sensor signals Hu, Hv, and Hw intersect with each other and zero-cross points where each of the three sensor signals Hu, Hv, and Hw intersects with a reference signal level (step S2); and a process of generating a linear function θ(Δx) that represents straight lines (segments) connecting adjacent intersection points and zero-cross points, where Δx is the distance from the start point of the segment to any point on the segment. where θ is the length to the point on the segment, and θ is the mechanical angle corresponding to an arbitrary point on the segment (step S3); a process of calculating, for a plurality of points on the segment, the deviation between the mechanical angle θ calculated based on the linear function θ(Δx) and the mechanical angle θe obtained from the encoder 200 installed on the rotor shaft 110 as a first angle error (step S4); a process of storing the first angle errors calculated for the plurality of points on the segment as learned values (step S5); and a process of generating a first angle error function for calculating the first angle error corresponding to an arbitrary point on the segment based on the first angle errors calculated for the plurality of points on the segment (step S6). According to the present embodiment as described above, the angle error between the estimated mechanical angle θ and the true mechanical angle θe can be further reduced compared to the basic patent method disclosed in Japanese Patent No. 6233532, thereby improving the accuracy of detecting the mechanical angle of the rotating shaft.
[0088] In this embodiment, the processing unit 21 further includes a process (step S7) of calculating, for a plurality of points on the segment, the deviation between the mechanical angle θ obtained from the encoder 200 and a value obtained by subtracting the first angle error calculated based on the first angle error function from the mechanical angle θ calculated based on the linear function θ(Δx), as a second angle error; a process (step S8) of storing the second angle errors calculated for the plurality of points on the segment as learned values; and a process (step S9) of generating a second angle error function for calculating the second angle error corresponding to an arbitrary point on the segment based on the second angle errors calculated for the plurality of points on the segment. According to this, the mechanical angle estimated value θ is corrected using both the first angle error and the second angle error, so the angle error between the mechanical angle estimated value θ and the true mechanical angle value θe can be further reduced compared to when the mechanical angle estimated value θ is corrected using only the first angle error.
[0089] In this embodiment, the intervals between the multiple points on the segment are equal. According to this, the first angle error and the second angle error at any point on the segment can be calculated with high accuracy by a linear interpolation formula such as that expressed by formula (18), and the accuracy of the mechanical angle estimated value θ can be improved by correcting the mechanical angle estimated value θ using at least one of the first angle error and the second angle error.
[0090] (Variation) The present invention is not limited to the above-described embodiment, and the configurations described in this specification can be combined as appropriate within a range that does not contradict each other. For example, in the above embodiment, the mechanical angle estimate θ is corrected using equation (19) that uses both the first angle error and the second angle error. However, even when the mechanical angle estimate θ is corrected using only the first angle error (when equation (20) is used), there is not a large difference in the angle error between the mechanical angle estimate θ and the true mechanical angle θe. Therefore, the mechanical angle estimate θ may be corrected using equation (20) that uses only the first angle error. In this case, steps S7 to S9 may be deleted from the learning process shown in FIG. 11.
[0091] In the above embodiment, the processing unit 21 calculates the deviation between the estimated mechanical angle θ and the true mechanical angle θe as the first angle error θerr for nine points of interest on a segment, but the number of points of interest arranged on a segment is not limited to nine. Also, in the above embodiment, the segment is divided into eight equal parts by nine points of interest arranged at equal intervals, but the intervals between the multiple points of interest arranged on a segment do not have to be equal. The number of divisions of a segment is also not limited to eight.
[0092] In the above embodiment, the sensor magnet 120 is used as a magnet for position detection, i.e., a magnet that rotates in synchronization with the rotor shaft 110 of the motor 100, but the rotor magnet attached to the rotor of the motor 100 may also be used as a magnet for position detection. The rotor magnet is also a magnet that rotates in synchronization with the rotor shaft 110, and has multiple magnetic pole pairs.
[0093] In the above embodiment, the sensor group 10 includes three magnetic sensors 11, 12, and 13, but the number of magnetic sensors is not limited to three and may be N (N is a multiple of 3). Also, in the above embodiment, the sensor magnet 120 has four magnetic pole pairs, but the number of pole pairs of the sensor magnet 120 is not limited to four. Similarly, when a rotor magnet is used as a magnet for position detection, the number of pole pairs of the rotor magnet is not limited to four. [Explanation of symbols]
[0094] 1... Angle detection device, 10... Sensor group, 11, 12, 13... Magnetic sensor, 20... Signal processing unit, 21... Processing unit, 22... Storage unit, 100... Motor, 110... Rotor shaft, 120... Sensor magnet, 200... Encoder
Claims
1. An angle detection method for detecting a mechanical angle of a rotation shaft, comprising: a step of acquiring, as three sensor signals, signals output from three magnetic sensors that detect a change in magnetic flux due to rotation of the rotary shaft, the three sensor signals having a phase difference of 120° electrical angle from each other; extracting, over one mechanical angle period, intersection points where two of the three sensor signals intersect with each other and zero-crossing points where each of the three sensor signals intersects with a reference signal level; a step of generating a linear function θ(Δx) representing a line connecting the intersection points and the zero crossing points adjacent to each other, wherein the Δx is a length from a start point of the line to an arbitrary point on the line, and the θ is a mechanical angle corresponding to the arbitrary point on the line; calculating, for a plurality of points on the straight line, a deviation between a mechanical angle θ calculated based on the linear function θ(Δx) and a mechanical angle θe acquired from an encoder installed on the rotation shaft as a first angle error; storing the first angle errors calculated for a plurality of points on the line as learned values; generating a first angular error function for calculating a first angular error corresponding to Δx based on the first angular errors calculated for a plurality of points on the straight line; An angle detection method comprising:
2. calculating, for a plurality of points on the straight line, a deviation between a value obtained by subtracting the first angle error calculated based on the first angle error function from the mechanical angle θ calculated based on the linear function θ(Δx) and the mechanical angle θe acquired from the encoder as a second angle error; storing the second angle errors calculated for the plurality of points on the line as learned values; generating a second angular error function for calculating a second angular error corresponding to an arbitrary point on the line based on the second angular errors calculated for a plurality of points on the line; The angle detection method of claim 1 , further comprising:
3. The angle detection method according to claim 1 , wherein the plurality of points on the line are spaced at equal intervals.
4. An angle detection device for detecting a mechanical angle of a rotation shaft, three magnetic sensors that detect a change in magnetic flux due to rotation of the rotary shaft; a signal processing unit that processes signals output from the three magnetic sensors; Equipped with The signal processing unit a process of acquiring signals output from the three magnetic sensors as three sensor signals, the three sensor signals having a phase difference of 120° in electrical angle from each other; extracting, over one mechanical angle period, intersection points where two of the three sensor signals intersect with each other and zero-cross points where each of the three sensor signals intersects with a reference signal level; A process of generating a linear function θ(Δx) representing a line connecting the intersection points and the zero crossing points adjacent to each other, wherein the Δx is a length from a start point of the line to an arbitrary point on the line, and the θ is a mechanical angle corresponding to the arbitrary point on the line; a process of calculating, for a plurality of points on the straight line, a deviation between a mechanical angle θ calculated based on the linear function θ(Δx) and a mechanical angle θe acquired from an encoder installed on the rotation shaft as a first angle error; a process of storing the first angle errors calculated for a plurality of points on the line as learned values; generating a first angular error function for calculating a first angular error corresponding to Δx based on the first angular errors calculated for a plurality of points on the line; Angle detection device that performs the above.
5. The signal processing unit a process of calculating, for a plurality of points on the straight line, a deviation between a value obtained by subtracting the first angle error calculated based on the first angle error function from the mechanical angle θ calculated based on the linear function θ(Δx) and the mechanical angle θe acquired from the encoder as a second angle error; a process of storing the second angle errors calculated for a plurality of points on the line as learned values; generating a second angular error function for calculating a second angular error corresponding to an arbitrary point on the line based on the second angular errors calculated for a plurality of points on the line; The angle detection device according to claim 4 , further comprising:
6. The angle detection device according to claim 4 or 5, wherein the intervals between the plurality of points on the line are equal.
Citation Information
Patent Citations
Control device for waste gas denitration
JP1987033532A
Measuring instrument
JP1992065632A
Absolute value encoder and correcting device therefor, and correcting method therefor
JP2004317411A
Improved phase signal formation method and device for a phase sensor located on a camshaft of an internal combustion engine
JP2008510092A
Method and Apparatus for Analog Rotation Sensor
JP2009541739A