WO2022254862A1 - 角度検出方法および角度検出装置 - Google Patents

角度検出方法および角度検出装置 Download PDF

Info

Publication number
WO2022254862A1
WO2022254862A1 PCT/JP2022/010669 JP2022010669W WO2022254862A1 WO 2022254862 A1 WO2022254862 A1 WO 2022254862A1 JP 2022010669 W JP2022010669 W JP 2022010669W WO 2022254862 A1 WO2022254862 A1 WO 2022254862A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
value
mechanical angle
error
points
Prior art date
Application number
PCT/JP2022/010669
Other languages
English (en)
French (fr)
Inventor
透 北野谷
翔太 石上
Original Assignee
日本電産株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電産株式会社 filed Critical 日本電産株式会社
Priority to JP2023525414A priority Critical patent/JPWO2022254862A1/ja
Priority to CN202280038734.1A priority patent/CN117413160A/zh
Publication of WO2022254862A1 publication Critical patent/WO2022254862A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/245Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains using a variable number of pulses in a train

Definitions

  • the present invention relates to an angle detection method and an angle detection device.
  • Patent Document 1 discloses a position estimation method for estimating the rotational position of a motor using three inexpensive and small magnetic sensors without using an absolute angular position sensor.
  • the mechanical angle of the rotating shaft can be estimated with high accuracy using three inexpensive and small magnetic sensors, but higher estimation accuracy of the mechanical angle is required. there were.
  • 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.
  • a first step wherein the three sensor signals have a phase difference of 120 degrees in electrical angle from each other; an intersection point where two of the three sensor signals cross each other;
  • One aspect of the angle detection device of the present invention is an angle detection device for detecting a mechanical angle of a rotating shaft, comprising: three magnetic sensors for detecting changes in magnetic flux due to rotation of the rotating shaft; and a signal processing unit that processes the output signal.
  • a first process in which the signal processing unit acquires signals output from the three sensor signals as sensor signals, and the three sensor signals have a phase difference of 120 degrees in electrical angle from each other;
  • an angle detection method and an angle detection device capable of improving the estimation accuracy (detection accuracy) of the mechanical angle of the rotating shaft are provided.
  • FIG. 1 is a block diagram schematically showing the configuration of an angle detection device according to one embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of waveforms of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw.
  • 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.
  • FIG. 4 is a diagram showing an example of waveforms of the sensor signals Hu, Hv, and Hw including in-phase signals that are noise components.
  • FIG. 5 is a diagram showing an example of waveforms of sensor signals Hiu0, Hiv0, and Hiw0 obtained after execution of the first correction process.
  • FIG. 1 is a block diagram schematically showing the configuration of an angle detection device according to one embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of waveforms of the U-phase sensor signal Hu, the V-phase
  • FIG. 6 is a diagram showing an example of waveforms of sensor signals Hiu1, Hiv1, and Hiw1 obtained after execution of the second correction process.
  • FIG. 7 is a diagram showing an example of waveforms of sensor signals Hiu2, Hiv2, and Hiw2 obtained after execution of the third correction process.
  • FIG. 8 shows an example waveform of sensor signals Hu', Hv' and Hw' including in-phase signals such as 3rd, 5th and 7th harmonic signals.
  • FIG. 9 is a diagram showing an example of waveforms of the sensor signals Hiu0', Hiv0' and Hiw0' obtained after performing the first correction process on the sensor signals Hu', Hv' and Hw'.
  • FIG. 10 is a diagram showing an example of waveforms of sensor signals Hiu1', Hiv1', and Hiw1' obtained after performing the second correction process on the sensor signals Hiu0', Hiv0', and Hiw0'.
  • FIG. 11 is a diagram showing an example of waveforms of sensor signals Hiu2', Hiv2' and Hiw2' obtained after performing the third correction process on the sensor signals Hiu1', Hiv1' and Hiw1'.
  • FIG. 12 is a graph showing experimental results of measuring the error between the mechanical angle estimated value ⁇ calculated by the equation (1) and the mechanical angle true value when one pole pair sensor magnet is rotated once. is.
  • FIG. 13 is a flowchart showing learning processing executed as offline processing by the processing unit 21 of the angle detection device 1 according to this embodiment.
  • FIG. 14 shows each FIG. 5 is a diagram showing a method of calculating mechanical angle estimated values ⁇ [n] corresponding to sampling points;
  • FIG. 15 shows the result of calculating the error ⁇ err[n] between a plurality of mechanical angle estimated values ⁇ [n] obtained for the i-th segment L10 and the mechanical angle true value ⁇ e[n] obtained from the encoder 200. It is a figure which shows an example.
  • FIG. 16 is a diagram showing an example of a two-axis coordinate system in which ⁇ x is on the horizontal axis and error is on the vertical axis, and is an explanatory diagram relating to a method of correcting the mechanical angle estimated value ⁇ based on the Bezier curve.
  • FIG. 16 is a diagram showing an example of a two-axis coordinate system in which ⁇ x is on the horizontal axis and error is on the vertical axis, and is an explanatory diagram relating to a method of correcting the mechanical angle estimated value ⁇ based on the Bezier
  • FIG. 17 shows the estimated mechanical angle ⁇ and the true mechanical angle ⁇ e corrected by the Bezier curve when the first control point P2 of the left coordinate area XL and the second control point P5 of the right coordinate area XR are initial values. is plotted on a two-axis coordinate system together with points on the Bezier curve.
  • FIG. 18 shows the mechanical angle estimated value ⁇ and the mechanical angle true value ⁇ e corrected by the Bezier curve when the first control point P2 in the left coordinate area XL and the second control point P5 in the right coordinate area XR are initial values. is a diagram showing the error between and in association with each digital value ⁇ x[n].
  • FIG. 19 is a Bezier curve when using a first control point P2 with the smallest first maximum error in the left coordinate area XL and a second control point P5 with the smallest second maximum error in the right coordinate area XR.
  • FIG. 4 is a diagram in which errors between the corrected estimated mechanical angle value ⁇ and the true mechanical angle value ⁇ e are plotted on a two-axis coordinate system together with points on the Bezier curve.
  • FIG. 20 is a Bezier curve when using a first control point P2 with the smallest first maximum error in the left coordinate area XL and a second control point P5 with the smallest second maximum error in the right coordinate area XR.
  • FIG. 10 is a diagram showing the error between the corrected mechanical angle estimated value ⁇ and the mechanical angle true value ⁇ e in association with each digital value ⁇ x[n];
  • FIG. 1 is a block diagram schematically showing the configuration of an angle detection device 1 according to one embodiment of the present invention.
  • the angle detection device 1 is a device that detects the mechanical angle (rotational angle) of a rotor shaft 110 that is the rotating shaft of the motor 100 .
  • the motor 100 is, for example, an inner rotor type three-phase brushless DC motor.
  • Motor 100 has a rotor shaft 110 and a sensor magnet 120 .
  • the sensor magnet 120 is a disc-shaped magnet attached to the rotor shaft 110 . Sensor magnet 120 rotates in synchronization with 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.
  • a magnetic pole pair means a pair of an N pole and an S pole. That is, in this embodiment, the sensor magnet 120 has four pairs of N poles and S poles, for a total of eight magnetic poles.
  • the angle detection device 1 includes a sensor group 10 and a signal processing section 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 section 20 are arranged on the circuit board.
  • the sensor magnet 120 is arranged at a position that does not interfere with the circuit board.
  • the sensor magnet 120 may be located inside the housing of the motor 100 or outside the housing.
  • 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 at predetermined intervals along the rotation direction of the sensor magnet 120.
  • FIG. In this embodiment, the magnetic sensors 11 , 12 and 13 are arranged at intervals of 30° along the rotation direction of the sensor magnet 120 .
  • the magnetic sensors 11, 12 and 13 are analog output type magnetic sensors including magnetoresistive elements such as Hall elements or linear Hall ICs.
  • the sensor magnet 120 rotates in synchronization with the rotor shaft 110 .
  • the three magnetic sensors 11 , 12 and 13 detect magnetic flux changes due to the rotation of the rotor shaft 110 , that is, the rotation of the sensor magnet 120 , and output to the signal processor 20 analog signals indicating the detection results of the magnetic flux changes.
  • One cycle of the electrical angle of each analog signal output from the magnetic sensors 11, 12 and 13 corresponds to 1/P of one cycle of the mechanical angle.
  • one cycle of the electrical angle of each analog signal corresponds to 1/4 of one cycle of the mechanical angle, that is, 90° in mechanical angle.
  • the analog signals output from the magnetic sensors 11, 12 and 13 have a phase difference of 120 electrical degrees from each other.
  • Each analog signal output from the three magnetic sensors 11, 12 and 13 to the signal processing unit 20 is hereinafter referred to as a sensor signal.
  • the sensor signal output from the magnetic sensor 11 will be referred to as the U-phase sensor signal Hu
  • the sensor signal output from the magnetic sensor 12 will be referred to as the V-phase sensor signal Hv
  • the sensor signal output from the magnetic sensor 13 will be referred to as Hv.
  • the sensor signal obtained is sometimes called a W-phase sensor signal Hw.
  • the signal processing unit 20 is a signal processing circuit that processes sensor signals output from the three magnetic sensors 11 , 12 and 13 . 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 , the mechanical angle of the rotor shaft 110, which is the axis of rotation, is estimated.
  • the signal processing section 20 includes a processing section 21 and a storage section 22 .
  • the processing unit 21 is, for example, 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. be done.
  • 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 pre-stored in the storage unit 22 .
  • the processing unit 21 executes learning processing for acquiring learning data necessary for estimating the mechanical angle of the rotor shaft 110 .
  • Off-line processing is processing that is executed before the angle detection device 1 is shipped from the manufacturing factory or before the angle detection device 1 is incorporated into a customer's system and actually operated.
  • 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).
  • Encoder 200 is installed on rotor shaft 110 only when the learning process is performed.
  • An output signal AS of encoder 200 is a signal indicating the mechanical angle of rotor shaft 110 .
  • Encoder 200 may be either an incremental encoder or an absolute encoder.
  • the processing unit 21 calculates 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 learning processing. Angle estimation processing is performed to estimate . Online processing is processing that is executed when the angle detection device 1 is installed in a customer's system and actually operated.
  • the storage unit 22 is a non-volatile memory that stores programs, various setting data, the learning data, and the like necessary for causing the processing unit 21 to execute various processes. and volatile memory used as temporary storage.
  • the nonvolatile memory is, for example, EEPROM (Electrically Erasable Programmable Read-Only Memory) or flash memory.
  • Volatile memory is, for example, RAM (Random Access Memory).
  • the processing unit 21 acquires the signals output from the magnetic sensors 11, 12 and 13 as the sensor signals Hu, Hv and Hw while the sensor magnet 120 is rotated together with the rotor shaft 110.
  • the rotor shaft 110 may be rotated by controlling the energization of the motor 100 via a motor control device (not shown).
  • rotor shaft 110 may be connected to a rotating machine (not shown), and rotor shaft 110 may be rotated by the rotating machine.
  • FIG. 2 is a diagram showing an example of waveforms of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw.
  • one cycle of the electrical angle of each of the sensor signals Hu, Hv, and Hw corresponds to 1 ⁇ 4 of one cycle of the mechanical angle, that is, 90° in mechanical angle.
  • the period from time t1 to time t5 corresponds to one mechanical angle cycle (360 degrees in mechanical angle).
  • 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 are each 90 degrees mechanical angle. Equivalent to °.
  • the sensor signals Hu, Hv and Hw have a phase difference of 120 electrical degrees from each other.
  • the processing unit 21 Based on the digital values of the sensor signals Hu, Hv, and Hw, the processing unit 21 detects an intersection point where two of the three sensor signals cross each other and a zero cross point where each of the three sensor signals crosses the reference signal level. points are extracted over one period of the mechanical angle.
  • 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".
  • the processing unit 21 divides one period of the mechanical angle into four pole pair regions linked to the pole pair numbers based on the extraction result of the zero cross points.
  • "No. C” indicates the pole pair number.
  • pole pair numbers are preassigned to the four pole pairs of the sensor magnet 120 .
  • a pole pair number “0” is assigned to a magnetic pole pair provided in a mechanical angle range of 0° to 90°.
  • a pole pair number “1” is assigned to a magnetic pole pair provided in the mechanical angle range of 90° to 180°.
  • a pole pair number "2” is assigned to the magnetic pole pair provided in the mechanical angle range of 180° to 270°.
  • a pole pair number "3" is assigned to the magnetic pole pair provided in the mechanical angle range of 270° to 360°.
  • the processing unit 21 assigns the zero cross point obtained at the sampling timing (time t1) at which the mechanical angle is 0° among the zero cross points of the sensor signal Hu to the pole pair number "0 ” as the starting point of the polar pair region linked to In addition, the processing unit 21 selects the zero-crossing point obtained at the sampling timing (time t2) at which the mechanical angle is 90° among the zero-crossing points of the sensor signal Hu as the pole pair associated with the pole pair number “0”. Recognize as the end point of the region. That is, 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".
  • the processing unit 21 assigns the zero crossing point obtained at the sampling timing (time t2) at which the mechanical angle is 90° to the pole pair region associated with the pole pair number “1”. Recognize it as a starting point. Further, the processing unit 21 assigns the zero-crossing point obtained at the sampling timing (time t3) at which the mechanical angle is 180° among the zero-crossing points of the sensor signal Hu to the pole pair region associated with the pole pair number “1”. is recognized as the end point of That is, the processing unit 21 determines the section between the zero-cross point obtained at time t2 and the zero-cross point obtained at time t3 as the pole pair region associated with the pole pair number "1".
  • the processing unit 21 assigns the zero crossing point obtained at the sampling timing (time t3) at which the mechanical angle is 180° to the pole pair region associated with the pole pair number “2”. Recognize it as a starting point. In addition, the processing unit 21 assigns the zero-crossing point obtained at the sampling timing (time t4) at which the mechanical angle is 270° among the zero-crossing points of the sensor signal Hu to the pole pair region associated with the pole pair number “2”. is recognized as the end point of That is, the processing unit 21 determines the section between the zero-cross point obtained at time t3 and the zero-cross point obtained at time t4 as the pole pair region associated with the pole pair number "2".
  • the processing unit 21 assigns the zero crossing point obtained at the sampling timing (time t4) at which the mechanical angle is 270° to the pole pair region associated with the pole pair number “3”. Recognize it as a starting point. Further, the processing unit 21 assigns the zero-crossing point obtained at the sampling timing (time t5) corresponding to the mechanical angle of 360° among the zero-crossing points of the sensor signal Hu to the pole pair region associated with the pole pair number "3". is recognized as the end point of That is, the processing unit 21 determines the section between the zero-cross point obtained at time t4 and the zero-cross point obtained at time t5 as the pole pair region associated with the pole pair number "3".
  • the processing unit 21 divides each of the four polar pair regions into 12 sections linked to section numbers based on the extraction results of the intersection points and zero cross points.
  • "No. A” indicates the section number associated with each section.
  • 12 sections included in each of the four pole pair regions are associated with section numbers from "0" to "11."
  • FIG. 3 is an enlarged view of sensor signals Hu, Hv and Hw included in one pole pair region shown in FIG.
  • the amplitude reference value (reference signal level) is "0".
  • the digital value of amplitude which is a positive value, represents, as an example, the digital value of magnetic field intensity of the north pole.
  • the negative amplitude digital value represents, for example, the digital value of the magnetic field strength of the south pole.
  • points P1, P3, P5, P7, P9, P11, and P13 are zero crossings extracted from the digital values of the sensor signals Hu, Hv, and Hw included in one pole pair region. It is a point.
  • points P2, P4, P6, P8, P10, and P12 are points of intersection extracted from the digital values of the sensor signals Hu, Hv, and Hw included in one pole pair region. be.
  • the processing unit 21 determines sections between adjacent zero cross points and intersection points as sections.
  • the processing unit 21 determines the section between the zero-crossing point P1 and the intersection point P2 as the section linked to the section number "0". The processing unit 21 determines the section between the intersection point P2 and the zero-crossing point P3 as the section linked to the section number "1". The processing unit 21 determines the section between the zero-crossing point P3 and the intersection point P4 as the section linked to the section number "2". The processing unit 21 determines the section between the intersection point P4 and the zero-crossing point P5 as the section linked to the section number "3". The processing unit 21 determines the section between the zero-crossing point P5 and the intersection point P6 as the section linked to the section number "4". The processing unit 21 determines the section between the intersection point P6 and the zero crossing point P7 as the section linked to the section number "5".
  • the processing unit 21 determines the section between the zero-crossing point P7 and the intersection point P8 as the section linked to the section number "6". The processing unit 21 determines the section between the intersection point P8 and the zero crossing point P9 as the section linked to the section number "7". The processing unit 21 determines the section between the zero-crossing point P9 and the intersection point P10 as the section linked to the section number "8". The processing unit 21 determines the section between the intersection point P10 and the zero crossing point P11 as the section linked to the section number "9". The processing unit 21 determines the section between the zero-crossing point P11 and the intersection point P12 as the section linked to the section number "10". The processing unit 21 determines the section between the intersection point P12 and the zero crossing point P13 as the section linked to the section number "11".
  • section assigned section number "0” will be referred to as “0 section”
  • section assigned section number "11” will be referred to as “11 section”.
  • consecutive numbers are linked to each section number as segment numbers over the entire period of one mechanical angle cycle.
  • "No. B" indicates the segment number associated with each section number.
  • a segment is a term that represents a straight line that connects adjacent intersection points and zero cross points. In other words, a straight line connecting the start and end points of each section is called a segment.
  • the start point of the 0th section is the zero crossing point P1
  • the end point of the 0th section is the intersection point P2. Therefore, the segment corresponding to the 0th section is a straight line connecting the zero cross point P1 and the intersection point P2.
  • the starting point of the No. 1 section is the intersection point P2 and the ending point of the No. 1 section is the zero crossing point P3. Therefore, the segment corresponding to the first section is a straight line connecting the intersection point P2 and the zero crossing point P3.
  • segment assigned the segment number "0” will be referred to as the "1st segment”
  • segment assigned the segment number "11” will be referred to as the "11th segment”.
  • the processing unit 21 generates a linear function ⁇ ( ⁇ x) representing each segment.
  • ⁇ x is the length (digital value) from the starting point of the segment to any point on the segment
  • is the mechanical angle corresponding to any point on the segment.
  • the start point of the segment corresponding to the 0th section is the zero crossing point P1
  • the end point of the segment corresponding to the 0th section is the intersection point P2.
  • the start point of the segment corresponding to section 1 is intersection point P2
  • the end point of the segment corresponding to section 1 is zero cross point P3.
  • a linear function ⁇ ( ⁇ x) representing a segment is represented by the following formula (1).
  • "i" is a segment number and is an integer from 0 to 47.
  • the linear function ⁇ ( ⁇ x) represented by the following equation (1) will be referred to as the mechanical angle estimation formula, and the mechanical angle ⁇ calculated by the following equation (1) will be referred to as the mechanical angle estimated value.
  • ⁇ ( ⁇ x) k[i] ⁇ x+ ⁇ res[i] (1)
  • k[i] is a coefficient called normalization coefficient.
  • k[i] is a coefficient representing the slope of the i-th segment.
  • the normalization coefficient k[i] is represented by the following formula (2).
  • ⁇ Xnorm[i] is the deviation of the digital values between the start and end points of the i-th segment.
  • ⁇ Xnorm[i] of the segment corresponding to the 0th section is the deviation of the digital values between the zero cross point P1 and the intersection point P2.
  • ⁇ Xnorm[i] of the segment corresponding to section 1 is the deviation of the digital values between the intersection point P2 and the zero crossing point P3.
  • k[i] ⁇ norm[i]/ ⁇ Xnorm[i] (2)
  • ⁇ norm[i] is the mechanical angle deviation between the start point and the end point of the i-th segment, and is expressed by the following formula (3).
  • t[i] is the time between the start and end of segment i
  • t[0] is the time between the start and end of segment 0
  • t[47 ] is the time between the start and end of the 47th segment.
  • t[0] is the time between the zero crossing point P1 and the crossing point P2.
  • ⁇ norm[i] ⁇ t[i]/(t[0]+...+t[47]) ⁇ 360[degM] ...(3)
  • ⁇ res[i] is a constant (intercept of the linear function ⁇ ( ⁇ x)) called the angle reset value of the i-th segment.
  • the angle reset value ⁇ res[i] is represented by the following equation (4).
  • the angle reset value ⁇ res[i] is represented by the following equation (5).
  • ⁇ res[i] 0[degM] (4)
  • ⁇ res[i] ⁇ ( ⁇ norm[i ⁇ 1]) (5)
  • the processing unit 21 acquires the correspondence between the pole pair number, the section number, and the segment number, the feature data of each section, and the mechanical angle estimation formula of each segment by performing the learning process as described above, These acquired data are stored in the storage unit 22 as learning data.
  • the feature data of each section is the magnitude relationship and positive/negative sign of the digital values of the sensor signals Hu, Hv, and Hw included in each section.
  • the normalization coefficient k[i] and the angle reset value ⁇ res[i] that form the mechanical angle estimation formula for each segment are stored in the storage unit 22 as learning data.
  • the processing unit 21 acquires sensor signals Hu, Hv and Hw output from the magnetic sensors 11 , 12 and 13 . Specifically, 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 by using an A/D converter, thereby obtaining a U-phase sensor signal. Digital values of the signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw are acquired.
  • the processing unit 21 identifies the current section number and pole pair number based on the digital values of the sensor signals Hu, Hv, and Hw obtained at this sampling timing. For example, in FIG. 3, a point PHu located on the waveform of the U-phase sensor signal Hu, a point PHv located on the waveform of the V-phase sensor signal Hv, and a 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 compares the feature data such as the magnitude relationship and positive/negative sign of the digital values of the points PHu, PHv, and PHw with the feature data of each section included in the learning data stored in the storage unit 22.
  • section number 9 is identified as the current section.
  • this specification does not explain how to identify the pole pair number. See Japanese Patent No. 6233532 for a method of specifying the pole pair number. Assume that, for example, the pole pair number "2" is specified as the pole pair number at this sampling timing.
  • the processing unit 21 reads the normalization coefficient k[i] and the angle reset value ⁇ res[i] corresponding to the specified segment number “i” from the learning data stored in the storage unit 22, and uses the above equation (1).
  • a mechanical angle estimation value ⁇ is calculated by the mechanical angle estimation formula represented by .
  • the digital value of the sensor signal corresponding to the identified segment is used as ⁇ x substituted into the mechanical angle estimation formula.
  • the processing unit 21 reads the normalization coefficient k[33] and the angle reset value ⁇ res[33] from the storage unit 22, By substituting the digital value of the point PHv (see FIG. 3) as ⁇ x into the mechanical angle estimation formula, the mechanical angle estimated value ⁇ at the current sampling timing is calculated.
  • the above is the basic procedure for estimating the mechanical angle in the basic patented method that forms the basis of the present invention.
  • correction processing of the sensor signals Hu, Hv, and Hw is performed in order to improve the estimation accuracy of the mechanical angle (accuracy of the mechanical angle estimated value ⁇ ).
  • the amplitude values of the sensor signals Hu, Hv and Hw do not necessarily match.
  • the sensor signals Hu, Hv, and Hw may contain common-mode signals (DC signals, third harmonic signals, etc.) that are noise components.
  • FIG. 4 is a diagram showing an example of waveforms of the sensor signals Hu, Hv, and Hw including in-phase signals that are noise components.
  • the vertical axis indicates digital values
  • the horizontal axis indicates electrical angles.
  • 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.
  • 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.
  • 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 waveforms of sensor signals Hiu0, Hiv0, and Hiw0 obtained after execution of the first correction process.
  • the vertical axis indicates digital values
  • the horizontal axis indicates electrical angles.
  • the processing unit 21 in the basic patent method matches the amplitude values of the sensor signals Hiu0, Hiv0, and Hiw0 based on the following formulas (9) to (14). , the second correction process is executed.
  • 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)
  • 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). Also, the processing unit 21 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 using the above equation (11). Further, the processing unit 21 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). Further, the processing unit 21 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).
  • 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.
  • 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.
  • 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 waveforms of sensor signals Hiu1, Hiv1, and Hiw1 obtained after execution of the second correction process. In FIG. 6, the vertical axis indicates digital values, and the horizontal axis indicates electrical angles.
  • ppn is a pole pair number from 0 to 3.
  • au_max(ppn), av_max(ppn), and aw_max(ppn) correspond to respective magnetic pole pairs stored in advance in storage unit 22.
  • au_min(ppn), av_min(ppn), and aw_min(ppn) correspond to respective magnetic pole pairs pre-stored in storage unit 22. This is a negative side gain correction value for a negative side digital value for one electrical angle cycle.
  • bu, bv, and bw are the offset correction values of each phase stored in the storage unit 22, respectively.
  • the processing unit 21 in the basic patent method After executing the second correction process, the processing unit 21 in the basic patent method performs linearization of part of the sensor signal (divided signal) corresponding to each segment with respect to the sensor signals Hiu1, Hiv1, and Hiw1.
  • a third correction process is executed.
  • the divided signal corresponding to the 0th segment is the portion of the U-phase sensor signal Hu that connects the zero cross point P1 and the intersection point P2.
  • the divided signal corresponding to the No. 1 segment is the intersection point P2 and the zero cross point P3 of the W-phase sensor signal Hw. This is the signal of the part connecting
  • the processing unit 21 performs a third correction process for changing the scale of each sensor signal by using values pre-stored in the storage unit 22 as coefficients for the sensor signals Hiu1, Hiv1 and Hiw1.
  • the third correction process By performing the third correction process, the substantially S-shaped shape of the divided signal corresponding to each segment can be linearized.
  • the values stored in the storage unit 22 are values designed in advance.
  • a calculation process is performed using a correction formula such as a quadratic function, a cubic function, or a trigonometric function using values designed in advance.
  • the processing unit 21 performs the third correction process on the sensor signals Hiu1, Hiv1, and Hiw1 based on the following formulas (15) to (17).
  • a and b are coefficients pre-stored in the storage unit 22 .
  • 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.
  • 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.
  • 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 waveforms of sensor signals Hiu2, Hiv2, and Hiw2 obtained after execution of the third correction process. In FIG. 7, the vertical axis indicates digital values, and the horizontal axis indicates electrical angles.
  • the common-mode noise included in the sensor signals Hu, Hv, and Hw can be reduced by the first correction processing.
  • the mutual variation of each sensor signal can be corrected by the second correction process.
  • the mutual variation is, for example, variation in the amplitude value and offset component of each sensor signal.
  • the curve portion of the waveform of each sensor signal can be linearized by the third correction process. In particular, by performing the second correction process, the length of a part of the sensor signal (divided signal) corresponding to the segment is made uniform. easy to apply. Therefore, by performing the second correction process before the third correction process, the curved portion of the waveform can be further straightened.
  • the signal portion (divided signal) necessary for calculating the mechanical angle estimate ⁇ based on the above equation (1) becomes more linear, and the mechanical angle estimate ⁇ and the mechanical angle true value (for example, the rotor shaft Since the difference from the mechanical angle indicated by the output signal of the encoder attached to 110 can be reduced, highly accurate mechanical angle estimation can be performed.
  • each sensor signal output from the magnetic sensors 11, 12 and 13 is not only the third harmonic signal, but also the fifth harmonic signal, the seventh harmonic signal, etc.
  • FIG. 8 is a diagram showing an example of waveforms of sensor signals Hu', Hv' and Hw' including in-phase signals such as 3rd, 5th and 7th harmonic signals.
  • FIG. 9 is a diagram showing an example of waveforms of the sensor signals Hiu0', Hiv0' and Hiw0' obtained after performing the first correction process on the sensor signals Hu', Hv' and Hw'.
  • FIG. 10 is a diagram showing an example of waveforms of sensor signals Hiu1', Hiv1', and Hiw1' obtained after performing the second correction process on the sensor signals Hiu0', Hiv0', and Hiw0'.
  • FIG. 9 is a diagram showing an example of waveforms of sensor signals Hiu0', Hiv0' and Hiw0' obtained after performing the first correction process on the sensor signals Hu', Hv' and Hw'.
  • FIG. 10 is a diagram showing an example of waveforms of sensor signals Hiu1', Hiv1', and Hiw1' obtained after
  • 11 is a diagram showing an example of waveforms of sensor signals Hiu2', Hiv2' and Hiw2' obtained after performing the third correction process on the sensor signals Hiu1', Hiv1' and Hiw1'. 8 to 11, the vertical axis indicates the digital value, and the horizontal axis indicates the electrical angle.
  • FIG. 12 shows experimental results of measuring the error between the mechanical angle estimated value ⁇ calculated by the above equation (1) and the mechanical angle true value when one pole pair sensor magnet is rotated once. It is a diagram. In FIG. 12, numbers aligned along the horizontal axis represent segment numbers. In this experiment, one pole-pair sensor magnet is used, so one mechanical angle period includes only one pole-pair region. That is, one cycle of mechanical angle is divided into 12 sections, and segment numbers from "0" to "11" are associated with each section.
  • the waveform W1 is the estimated mechanical angle ⁇ and the mechanical Shown are the results of measuring the error that occurs between the angle and the true value.
  • the waveform W2 is obtained by using the sensor signals Hiu2, Hiv2, and Hiw2 obtained after performing the first, second, and third correction processes on the sensor signals Hu, Hv, and Hw, and the mechanical angle 4 shows the result of measuring the error between the estimated value ⁇ and the true value of the mechanical angle.
  • the present invention solves the technical problems of the basic patent method as described above, and can further reduce the angle error occurring between the mechanical angle estimated value ⁇ and the mechanical angle true value, thereby improving the mechanical angle detection accuracy of the rotating shaft.
  • the purpose is to achieve improvement.
  • the learning process and angle estimation process executed by the processing unit 21 of the angle detection device 1 according to the present embodiment will be described below in order to solve the above technical problems.
  • step S2 based on the digital values of the sensor signals Hu, Hv, and Hw, the processing unit 21 determines that the crossing point at which two of the three sensor signals cross each other and the reference signal level of each of the three sensor signals a linear function ⁇ ( ⁇ x) representing a straight line (segment) connecting the mutually adjacent intersection points and the zero cross points (second step) for extracting the zero cross points intersecting with the That is, the third process for generating the mechanical angle estimation formula for each segment is executed (third step).
  • the processing from the first processing to the third processing described above is the same as the learning processing in the basic patent method, so detailed description is omitted.
  • the sensor signals Hu, Hv, and Hw acquired in the first process are not subjected to the first correction process, the second correction process, and the third correction process in the basic patent method. Note that no
  • the processing unit 21 performs the above-described first to third processing to obtain the correspondence relationship between the pole pair number, the section number, and the segment number, the feature data of each section, and the mechanical properties of each segment.
  • An angle estimation formula is acquired, and these acquired data are stored in the storage unit 22 as learning data.
  • the feature data of each section is the magnitude relationship and positive/negative sign of the digital values of the sensor signals Hu, Hv, and Hw included in each section.
  • the normalization coefficient k[i] and the angle reset value ⁇ res[i] that form the mechanical angle estimation formula for each segment are stored in the storage unit 22 as learning data.
  • the processing unit 21 samples the divided signal (magnetizing waveform) W10 corresponding to the i-th segment L10, and obtains the digital value ⁇ x[n] at each sampling point. is substituted into the mechanical angle estimation formula for the i-th segment L10 to calculate the mechanical angle estimated value ⁇ [n] corresponding to each sampling point (step S3).
  • "n" represents a sampling number. That is, ⁇ x[n] is the digital value of the n-th sampling point of the divided signal W10, and the mechanical angle estimated value ⁇ [n] is the mechanical angle estimated value ⁇ corresponding to the n-th sampling point.
  • the point Ps is the starting point of the i-th segment L10, and the point Pe is the ending point of the i-th segment L10.
  • step S3 when the number of sampling points of the divided signal W10 corresponding to the i-th segment L10 is 50, 50 mechanical angle estimated values ⁇ [n] for the i-th segment L10 are obtained by the processing of step S3.
  • the processing unit 21 calculates an error ⁇ er[n] between each of the plurality of mechanical angle estimated values ⁇ [n] obtained by the process of step S3 and the mechanical angle true value ⁇ e[n] obtained from the encoder 200. Then, the largest error ⁇ er[n] among the plurality of calculated errors ⁇ er[n] is acquired as the maximum error value (step S4).
  • the mechanical angle true value ⁇ e[n] is the mechanical angle true value ⁇ e obtained at the same sampling timing as the n-th sampling point.
  • the processing unit 21 stores the maximum error value and the digital value ⁇ x[n] from which the maximum error value is obtained in the storage unit 22 .
  • the digital value ⁇ x[n] from which the maximum error value is obtained may be referred to as the maximum error acquisition digital value.
  • FIG. 15 shows the result of calculating the error ⁇ er[n] between a plurality of estimated mechanical angle values ⁇ [n] obtained for the i-th segment L10 and the true mechanical angle value ⁇ e[n] obtained from the encoder 200. It is a figure which shows an example. As shown in FIG. 15, the error ⁇ er[n] between the mechanical angle estimated value ⁇ [n] and the mechanical angle true value ⁇ e[n] is zero at the start and end points of the i-th segment L10. A curve connecting a plurality of errors ⁇ er[n] obtained for the No. segment L10 becomes a curve having a mountain-like shape in which the starting point and the ending point coincide. Such a curve of error ⁇ er[n] can be regarded as a magnetization waveform curve.
  • the processing unit 21 determines whether or not the number of times of learning has reached a predetermined number (step S5). If "No" in step S5, that is, if the number of times of learning has not reached the predetermined number, the processing unit 21 calculates the moving average value of the current maximum error value and the previous value, and calculates the calculated moving average value. The average value is stored in the storage unit 22 as the previous value of the new maximum error value, the moving average value of the current value and the previous value of the maximum error acquisition digital value is calculated, and the calculated moving average value is used as the new maximum value. It is stored in the storage unit 22 as the previous value of the error acquisition digital value (step S6). After executing the process of step S6, the processing unit 21 returns to the process of step S4. The number of times of learning is incremented each time the process of step S4 is executed.
  • step S5 the processing unit 21 proceeds to the processing of the next step S7.
  • the processing unit 21 performs the fourth processing including the processing of steps S3 to S6 as described above, so that the error between the mechanical angle estimated value ⁇ and the mechanical angle true value ⁇ e among the points on the i-th segment is The point with the maximum value is searched as the maximum error point, and the length from the start point of the i-th segment to the maximum error point is obtained as ⁇ x1.
  • ⁇ x1 is the maximum error acquisition digital value finally stored in the storage unit 22
  • the error value at the maximum error point is the maximum error value finally stored in the storage unit 22 .
  • the processing unit 21 acquires the maximum error value and the maximum error acquisition digital value for each of the 48 segments by performing the above-described fourth processing for all of the 48 segments.
  • the maximum error value of the i-th segment will be referred to as ⁇ erm[i]
  • the maximum error obtained digital value of the i-th segment will be referred to as ⁇ x1[i].
  • step S7 the mechanical angle estimated value ⁇ is corrected based on the Bezier curve.
  • the processing unit 21 first performs an origin P1, a vertex P3, and a second
  • a fifth process of calculating a first curve based on one control point P2 is executed (fifth step).
  • the first curve is a Bezier curve.
  • FIG. 16 is a diagram showing an example of a two-axis coordinate system in which the horizontal axis (X-axis) is the digital value ⁇ x and the vertical axis (Y-axis) is the error.
  • the two-axis coordinate system shown in FIG. 16 is the coordinate system corresponding to the i-th segment.
  • the first control point P2 is a point where the digital value ⁇ x is between zero and the maximum error acquisition digital value ⁇ x1[i] and the error is the maximum error value ⁇ erm[i].
  • the initial value of ⁇ x at the first control point P2 is half the maximum error acquisition digital value ⁇ x1[i].
  • the area on the left side of the vertex P3 is called a left coordinate area XL
  • the area on the right side of the vertex P3 is called a right coordinate area XR.
  • the processing unit 21 calculates the Bezier curve of the left coordinate area XL based on the origin P1, the vertex P3, and the first control point P2.
  • the Bezier curve of the left coordinate area XL may be referred to as the first Bezier curve.
  • the coordinates (Px, Py) of the point P located on the first Bezier curve in the left coordinate area XL are represented by the following equation (18).
  • t is the resolution.
  • the Y coordinate Py of the point P is expressed by the following formula (19) based on the formula (18). Since the Y coordinate P1y of the origin P1 is zero, the following equation (20) is obtained from the equation (19).
  • the X coordinate Px of the point P is expressed by the following formula (21) based on the formula (18).
  • a solution for the resolution t is represented by the following equation (22).
  • the resolution t is expressed by the following equation (23).
  • ⁇ x[n] is the digital value ⁇ x of each sampling point obtained by sampling the divided signal corresponding to the i-th segment, as described using FIG.
  • the processing unit 21 calculates the first Bezier curve of the left coordinate area XL based on the origin P1, the vertex P3, and the first control point P2 by the calculation method described above. More precisely, from the digital value ⁇ x[n] of each sampling point, the processing unit 21 extracts the Y coordinates Py of the plurality of points P located on the first Bezier curve from the error corresponding to each digital value ⁇ x[n]. Calculate as
  • the following expression (24) is obtained by adding "Err1 ⁇ x[n]" to the expression (1).
  • Err1 is a correction value conversion coefficient for converting the digital value ⁇ x[n] into the error obtained by the fifth process (Y coordinates Py of a plurality of points P positioned on the first Bezier curve).
  • ⁇ ( ⁇ x[n]) k[i] ⁇ x[n]+ ⁇ res[i]+Err1 ⁇ x[n] ...(24)
  • step S7 the processing unit 21 proceeds to step S8 after step S7 is completed.
  • step S8 the processing unit 21 acquires the maximum error between the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the sixth process and the mechanical angle true value ⁇ e[n] as a first maximum error.
  • a seventh process is executed (seventh step).
  • FIG. 17 shows the mechanical angle estimated value ⁇ ( ⁇ x[n]) and the mechanical angle true value ⁇ e[n] corrected by the first Bezier curve when the first control point P2 in the left coordinate area XL is the initial value. is plotted on the two-axis coordinate system together with the points on the first Bezier curve in the left coordinate area XL.
  • FIG. 18 shows the error between the mechanical angle estimated value ⁇ ( ⁇ x[n]) and the mechanical angle true value ⁇ e[n] by the first Bezier curve when the first control point P2 in the left coordinate area XL is the initial value. It is a figure shown corresponding to each digital value (DELTA)x[n]. As shown in FIGS.
  • the processing unit 21 changes the value of ⁇ x of the first control point P2 (the X coordinate P2x of the first control point P2) in the direction in which the first maximum error acquired in the left coordinate region XL becomes smaller, and then changes the value to the fifth
  • An eighth process of returning to the process a predetermined number of times is executed (eighth step).
  • step S9 determines whether or not the number of times of learning has reached a predetermined number. . If "No" in step S9, that is, if the number of times of learning has not reached the predetermined number, the processing unit 21 moves the value of ⁇ x of the first control point P2 (first control After changing the X coordinate (P2x) of the point P2, the process returns to step S8 (step S10). The number of times of learning is incremented each time the process of step S8 is executed.
  • step S9 if "Yes” in step S9, that is, if the number of times of learning has reached a predetermined number, the processing unit 21 proceeds to the processing of the next step S11.
  • the processing unit 21 performs the ⁇ x value (first Search for the X coordinate P2x) of the control point P2.
  • a search method for example, a binary search method may be used.
  • FIG. 19 shows the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the first Bezier curve when using the first control point P2 with the smallest first maximum error in the left coordinate area XL and the mechanical angle true value. It is a diagram plotting the error from the value ⁇ e[n] along with the points on the first Bezier curve in the left coordinate area XL on the two-axis coordinate system.
  • FIG. 20 shows the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the first Bezier curve when using the first control point P2 with the smallest first maximum error in the left coordinate area XL and the mechanical angle true value.
  • FIG. 19 shows the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the first Bezier curve when using the first control point P2 with the smallest first maximum error in the left coordinate area XL and the mechanical angle true value.
  • FIGS. 19 and 20 are diagram showing the error from the value ⁇ e[n] in association with each digital value ⁇ x[n]; As shown in FIGS. 19 and 20, when the first control point P2 with the smallest first maximum error in the left coordinate area XL of the i-th segment is obtained, the mechanical angle estimated value corrected by the first Bezier curve It can be seen that the error between ⁇ ( ⁇ x[n]) and the mechanical angle true value ⁇ e[n] approaches zero limitlessly.
  • the above is a description of the left coordinate region XL of the biaxial coordinate system corresponding to the i-th segment, but the same processing as above is also performed for the right coordinate region XR of the biaxial coordinate system. That is, among the points in the two-axis coordinate system in which the horizontal axis is the digital value ⁇ x and the vertical axis is the error, the processing unit 21 determines the vertex P3, the end point P4, and the second control point P5 located in the right coordinate region XR.
  • a ninth process of calculating a second curve of the right coordinate area XR is executed based on (ninth step). In this embodiment, as an example, a case where the second curve is a Bezier curve will be described.
  • the processing unit 21 calculates the Bezier curve of the right coordinate area XR based on the vertex P3, the end point P4, and the second control point P5 as described above.
  • the Bezier curve of the right coordinate area XR may be referred to as a second Bezier curve.
  • the method of calculating the second Bezier curve for the right coordinate area XR is the same as the method of calculating the first Bezier curve for the left coordinate area XL, so detailed description thereof will be omitted.
  • the processing unit 21 calculates the second Bezier curve of the right coordinate area XR based on the vertex P3, the end point P4, and the second control point P5 by a calculation method similar to that for the first Bezier curve.
  • the processing unit 21 calculates the Y coordinates Py of a plurality of points P located on the second Bezier curve by calculating the error corresponding to each digital value ⁇ x[n]. Calculate as
  • the processing unit 21 calculates the points included between the end point of the i-th segment and the maximum error point among the plurality of points on the i-th segment based on the mechanical angle estimation formula of the i-th segment.
  • a tenth process of correcting the estimated mechanical angle ⁇ based on the second Bezier curve is executed (tenth step). Specifically, the processing unit 21 calculates the digital value ⁇ x By substituting [n] into the following equation (25), the mechanical angle estimated value ⁇ corrected by the second Bezier curve is calculated.
  • the following formula (25) is a formula obtained by adding "Err2 ⁇ x[n]" to formula (1).
  • Err2 is a correction value conversion coefficient for converting the digital value ⁇ x[n] into the error obtained by the ninth process (Y coordinates Py of a plurality of points P positioned on the second Bezier curve).
  • ⁇ ( ⁇ x[n]) k[i] ⁇ x[n]+ ⁇ res[i]+Err2 ⁇ x[n] ...(25)
  • the processing unit 21 performs an eleventh process of obtaining, as a second maximum error, the maximum error between the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the tenth process and the mechanical angle true value ⁇ e[n]. Execute (eleventh step).
  • FIG. 17 shows the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the second Bezier curve and the mechanical angle true value ⁇ e[n] when the second control point P5 in the right coordinate area XR is the initial value. is plotted on a two-axis coordinate system together with the points on the second Bezier curve in the right coordinate area XR.
  • FIG. 18 shows the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the second Bezier curve and the mechanical angle true value ⁇ e[n] when the second control point P5 in the right coordinate area XR is the initial value. is a diagram showing the error of each of the digital values ⁇ x[n] in association with each other. As shown in FIGS.
  • the processing unit 21 calculates the largest error in the right coordinate region XR among the errors between the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the second Bezier curve and the mechanical angle true value ⁇ e[n]. is taken as the second maximum error.
  • step S9 determines whether or not the number of learning times has reached a predetermined number. . If "No" in step S9, that is, if the number of times of learning has not reached the predetermined number, the processing unit 21 moves the value of ⁇ x of the second control point P5 (second control After changing the X coordinate (P5x) of the point P5, the process returns to step S8 (step S10). The number of times of learning is incremented each time the process of step S8 is executed.
  • step S9 if "Yes” in step S9, that is, if the number of times of learning has reached a predetermined number, the processing unit 21 proceeds to the processing of the next step S11.
  • the processing unit 21 performs the value of ⁇ x of the second control point P5 (the second Search for the X coordinate P5x) of the control point P5.
  • a search method for example, a binary search method may be used.
  • FIG. 19 shows the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the second Bezier curve when using the second control point P5 with the smallest second maximum error in the right coordinate region XR and the mechanical angle true value. It is a diagram in which the error from the value ⁇ e[n] is plotted on the two-axis coordinate system together with the points on the second Bezier curve in the right coordinate area XR.
  • FIG. 20 shows the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the second Bezier curve when using the second control point P5 with the smallest second maximum error in the right coordinate region XR and the mechanical angle true value.
  • FIG. 19 shows the mechanical angle estimated value ⁇ ( ⁇ x[n]) corrected by the second Bezier curve when using the second control point P5 with the smallest second maximum error in the right coordinate region XR and the mechanical angle true value.
  • FIGS. 19 and 20 are diagram showing the error from the value ⁇ e[n] in association with each digital value ⁇ x[n]; As shown in FIGS. 19 and 20, when the second control point P5 that minimizes the second maximum error of the right coordinate region XR of the i-th segment is obtained, the mechanical angle estimated value corrected by the second Bezier curve It can be seen that the error between .theta.(.DELTA.x[n]) and the mechanical angle true value .theta.e[n] approaches zero limitlessly.
  • the processing unit 21 uses the ⁇ x value of the first control point P2 with the smallest first maximum error and the ⁇ x value of the second control point P5 with the smallest second maximum error as learning values.
  • a thirteenth process of saving in the storage unit 22 is executed (thirteenth step).
  • the processing unit 21 performs the above fifth to thirteenth processes for all of the 48 segments, thereby obtaining the first control point P2 at which the first maximum error is the smallest for each of the 48 segments. and the value of ⁇ x of the second control point P5 at which the second maximum error is the smallest.
  • the value of ⁇ x of the first control point P2 with the smallest first maximum error and the value of ⁇ x of the second control point P5 with the smallest second maximum error The value of ⁇ x is stored in the storage unit 22 as a learning value.
  • the processing unit 21 acquires sensor signals Hu, Hv and Hw output from the magnetic sensors 11 , 12 and 13 . Specifically, 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 by using an A/D converter, thereby obtaining a U-phase sensor signal. Digital values of the signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw are obtained.
  • the processing unit 21 identifies the current section number and pole pair number based on the digital values of the sensor signals Hu, Hv, and Hw obtained at this sampling timing. For example, in FIG. 3, a point PHu located on the waveform of the U-phase sensor signal Hu, a point PHv located on the waveform of the V-phase sensor signal Hv, and a 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 compares the feature data such as the magnitude relationship and positive/negative sign of the digital values of the points PHu, PHv, and PHw with the feature data of each section included in the learning data stored in the storage unit 22. identifies the current section (section number). In the example of FIG. 3, section number 9 is identified as the current section. Also, it is assumed that, for example, the pole pair number "2" is specified as the pole pair number at this sampling timing.
  • the processing unit 22 reads out the normalization coefficient k[i] and the angle reset value ⁇ res[i] corresponding to the specified segment number “i” from the learning data stored in the storage unit 22, and formula (1) ) is used to calculate the estimated mechanical angle ⁇ .
  • the digital value of the sensor signal corresponding to the identified segment is used as ⁇ x substituted into the mechanical angle estimation formula.
  • the processing unit 21 reads the normalization coefficient k[33] and the angle reset value ⁇ res[33] from the storage unit 22, By substituting the digital value of the point PHv (see FIG. 3) as ⁇ x into the equation (1), the estimated mechanical angle ⁇ corresponding to the digital value of the point PHv is calculated.
  • the sensor signals output from the magnetic sensors 11, 12 and 13 are the 3rd, 5th and 7th harmonic signals.
  • the mechanical angle estimation accuracy (accuracy of the mechanical angle estimated value ⁇ ) based on the above equation (1) decreases even if the first, second, and third correction processes are performed.
  • the mechanical angle true value ⁇ e it is possible to obtain an extremely accurate mechanical angle estimate ⁇ with an error as close to zero as possible.
  • the difference between the mechanical angle estimated value ⁇ and the mechanical angle true value ⁇ e for each segment is The error that occurs in the
  • the error from the true mechanical angle value ⁇ e for each segment is infinitely close to zero, and the mechanical angle is extremely accurate.
  • An estimate ⁇ can be obtained. Therefore, according to the present embodiment, the technical problem of the basic patented method as described above can be solved, and the angle error occurring between the mechanical angle estimated value ⁇ and the mechanical angle true value ⁇ e can be further reduced. It is possible to improve the mechanical angle detection accuracy of the shaft.
  • the present invention is not limited to the above-described embodiments, and each configuration described in this specification can be appropriately combined within a mutually consistent range.
  • the first curve and the second curve are Bezier curves, but the first curve and the second curve may be B-spline curves.
  • the first curve and the second curve may be curves that can be calculated from at least three points.
  • the sensor magnet 120 is used as a magnet for position detection, that is, a magnet that rotates in synchronization with the rotor shaft 110 of the motor 100.
  • the rotor magnet attached to the rotor of the motor 100 is used for position detection. You may use it as a magnet for.
  • the rotor magnet is also a magnet that rotates in synchronization with the rotor shaft 110 and has a plurality of magnetic pole pairs.
  • the sensor group 10 includes three magnetic sensors 11, 12 and 13. good. Further, 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.

Abstract

本発明の角度検出装置の一つの態様は、回転軸の回転による磁束変化を検出する3つの磁気センサと、3つの磁気センサから出力される信号を処理する信号処理部とを備える。信号処理部は、3つのセンサ信号から出力されるセンサ信号を取得し、互いに隣り合う交点とゼロクロス点とを結ぶ直線を表す一次関数θ(Δx)を生成し、一次関数θ(Δx)を基に算出される機械角θと、エンコーダから取得される機械角θeとの誤差が最大値となる点を誤差最大点として探索し、原点と、頂点と、第1制御点とに基づいて第1曲線を算出し、一次関数θ(Δx)を基に算出される機械角θを前記第1曲線に基づいて補正し、補正された機械角θと前記機械角θeとの最大誤差を第1最大誤差として取得し、第1最大誤差が小さくなる方向に第1制御点のΔxの値を変更した後に第5処理に戻ることを所定の回数行う。

Description

角度検出方法および角度検出装置
 本発明は、角度検出方法および角度検出装置に関する。
 従来、回転位置を正確に制御可能なモータとして、光学エンコーダ、レゾルバ等の絶対角位置センサを備える構成が知られる。しかし、絶対角位置センサは、大型、高コストである。そこで、特許文献1には、絶対角位置センサを用いることなく、安価且つ小型の3つの磁気センサを用いてモータの回転位置を推定する位置推定方法が開示される。
特許第6233532号公報
 特許文献1記載の位置推定方法では、安価且つ小型の3つの磁気センサを用いて回転軸の機械角を高精度に推定することができるが、機械角のより高い推定精度が要求されることがあった。
 本発明の角度検出方法における一つの態様は、回転軸の機械角を検出する角度検出方法であって、前記回転軸の回転による磁束変化を検出する3つの磁気センサから出力される信号をセンサ信号として取得する工程であって、前記3つのセンサ信号は互いに電気角で120°の位相差を有する、第1工程と、前記3つのセンサ信号のうち2つのセンサ信号が互いに交差する交点と、前記3つのセンサ信号の夫々が基準信号レベルと交差するゼロクロス点とを、機械角1周期にわたって抽出する第2工程と、互いに隣り合う前記交点と前記ゼロクロス点とを結ぶ直線を表す一次関数θ(Δx)を生成する工程であって、前記Δxは前記直線の始点から前記直線上の任意の点までの長さであり、前記θは前記直線上の任意の点に対応する機械角である、第3工程と、前記直線上の点のうち、前記一次関数θ(Δx)を基に算出される機械角θと、前記回転軸に設置されるエンコーダから取得される機械角θeとの誤差が最大値となる点を誤差最大点として探索し、前記直線の始点から前記誤差最大点までの長さをΔx1として取得する第4工程と、前記Δxを横軸とし且つ前記誤差を縦軸とする2軸座標系における点のうち、原点と、頂点と、第1制御点とに基づいて第1曲線を算出する工程であって、前記原点は、前記Δx及び前記誤差がゼロである点であり、前記頂点は、前記Δxが前記Δx1であり且つ前記誤差が前記最大値である点であり、前記第1制御点は、前記ΔxがゼロとΔx1との間の値であり且つ前記誤差が前記最大値である点である、第5工程と、前記直線上の複数の点のうち、前記直線の始点と前記誤差最大点との間に含まれる点について、前記一次関数θ(Δx)を基に算出される機械角θを前記第1曲線に基づいて補正する第6工程と、前記第6工程によって補正された機械角θと前記機械角θeとの最大誤差を第1最大誤差として求める第7工程と、前記第1最大誤差が小さくなる方向に前記第1制御点のΔxの値を変更した後に、前記第5工程に戻ることを所定の回数行う第8工程と、前記2軸座標系における点のうち、前記頂点と、端点と、第2制御点とに基づいて第2曲線を算出する工程であって、前記端点は、前記Δxが前記直線の最大長さΔxmに相当し且つ前記誤差がゼロである点であり、前記第2制御点は、前記ΔxがΔx1とΔxmとの間の値であり且つ前記誤差が前記最大値である点である、第9工程と、前記直線上の複数の点のうち、前記直線の終点と前記誤差最大点との間に含まれる点について、前記一次関数θ(Δx)を基に算出される機械角θを前記第2曲線に基づいて補正する第10工程と、前記第10工程によって補正された機械角θと前記機械角θeとの最大誤差を第2最大誤差として求める第11工程と、前記第2最大誤差が小さくなる方向に前記第2制御点のΔxの値を変更した後に、前記第9工程に戻ることを所定の回数行う第12工程と、前記第1最大誤差が最も小さくなる前記第1制御点のΔxの値と、前記第2最大誤差が最も小さくなる前記第2制御点のΔxの値とを学習値として保存する第13工程と、前記学習値に基づいて前記機械角θを補正する第14工程と、を有する。
 本発明の角度検出装置における一つの態様は、回転軸の機械角を検出する角度検出装置であって、前記回転軸の回転による磁束変化を検出する3つの磁気センサと、前記3つの磁気センサから出力される信号を処理する信号処理部と、を備える。前記信号処理部は、前記3つのセンサ信号から出力される信号をセンサ信号として取得する処理であって、前記3つのセンサ信号は互いに電気角で120°の位相差を有する、第1処理と、前記3つのセンサ信号のうち2つのセンサ信号が互いに交差する交点と、前記3つのセンサ信号の夫々が基準信号レベルと交差するゼロクロス点とを、機械角1周期にわたって抽出する第2処理と、互いに隣り合う前記交点と前記ゼロクロス点とを結ぶ直線を表す一次関数θ(Δx)を生成する処理であって、前記Δxは前記直線の始点から前記直線上の任意の点までの長さであり、前記θは前記直線上の任意の点に対応する機械角である、第3処理と、前記直線上の点のうち、前記一次関数θ(Δx)を基に算出される機械角θと、前記回転軸に設置されるエンコーダから取得される機械角θeとの誤差が最大値となる点を誤差最大点として探索し、前記直線の始点から前記誤差最大点までの長さをΔx1として取得する第4処理と、前記Δxを横軸とし且つ前記誤差を縦軸とする2軸座標系における点のうち、原点と、頂点と、第1制御点とに基づいて第1曲線を算出する処理であって、前記原点は、前記Δx及び前記誤差がゼロである点であり、前記頂点は、前記Δxが前記Δx1であり且つ前記誤差が前記最大値である点であり、前記第1制御点は、前記ΔxがゼロとΔx1との間の値であり且つ前記誤差が前記最大値である点である、第5処理と、前記直線上の複数の点のうち、前記直線の始点と前記誤差最大点との間に含まれる点について、前記一次関数θ(Δx)を基に算出される機械角θを前記第1曲線に基づいて補正する第6処理と、前記第6処理によって補正された機械角θと前記機械角θeとの最大誤差を第1最大誤差として求める第7処理と、前記第1最大誤差が小さくなる方向に前記第1制御点のΔxの値を変更した後に、前記第5処理に戻ることを所定の回数行う第8処理と、前記2軸座標系における点のうち、前記頂点と、端点と、第2制御点とに基づいて第2曲線を算出する処理であって、前記端点は、前記Δxが前記直線の最大長さΔxmに相当し且つ前記誤差がゼロである点であり、前記第2制御点は、前記ΔxがΔx1とΔxmとの間の値であり且つ前記誤差が前記最大値である点である、第9処理と、前記直線上の複数の点のうち、前記直線の終点と前記誤差最大点との間に含まれる点について、前記一次関数θ(Δx)を基に算出される機械角θを前記第2曲線に基づいて補正する第10処理と、前記第10処理によって補正された機械角θと前記機械角θeとの最大誤差を第2最大誤差として求める第11処理と、前記第2最大誤差が小さくなる方向に前記第2制御点のΔxの値を変更した後に、前記第9処理に戻ることを所定の回数行う第12処理と、前記第1最大誤差が最も小さくなる前記第1制御点のΔxの値と、前記第2最大誤差が最も小さくなる前記第2制御点のΔxの値とを学習値として保存する第13処理と、前記学習値に基づいて前記機械角θを補正する第14処理と、を実行する。
 本発明の上記態様によれば、回転軸の機械角の推定精度(検出精度)を向上できる角度検出方法および角度検出装置が提供される。
図1は、本発明の一実施形態における角度検出装置の構成を模式的に示すブロック図である。 図2は、U相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwの波形の一例を示す図である。 図3は、図2に示される1つの極対領域に含まれるU相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwの拡大図である。 図4は、ノイズ成分である同相信号を含むセンサ信号Hu、Hv及びHwの波形の一例を示す図である。 図5は、第1の補正処理の実行後に得られたセンサ信号Hiu0、Hiv0及びHiw0の波形の一例を示す図である。 図6は、第2の補正処理の実行後に得られたセンサ信号Hiu1、Hiv1及びHiw1の波形の一例を示す図である。 図7は、第3の補正処理の実行後に得られたセンサ信号Hiu2、Hiv2及びHiw2の波形の一例を示す図である。 図8は、第3次、第5次及び第7次高調波信号などの同相信号を含むセンサ信号Hu’、Hv’及びHw’の波形の一例を示す図である。 図9は、センサ信号Hu’、Hv’及びHw’に対して第1の補正処理を行った後に得られるセンサ信号Hiu0’、Hiv0’及びHiw0’の波形の一例を示す図である。 図10は、センサ信号Hiu0’、Hiv0’及びHiw0’に対して第2の補正処理を行った後に得られるセンサ信号Hiu1’、Hiv1’及びHiw1’の波形の一例を示す図である。 図11は、センサ信号Hiu1’、Hiv1’及びHiw1’に対して第3の補正処理を行った後に得られるセンサ信号Hiu2’、Hiv2’及びHiw2’の波形の一例を示す図である。 図12は、1極対のセンサマグネットを1回転させたときに、式(1)で算出される機械角推定値θと機械角真値との間に生じる誤差を測定した実験結果を示す図である。 図13は、本実施形態における角度検出装置1の処理部21がオフライン処理として実行する学習処理を示すフローチャートである。 図14は、i番セグメントL10に対応する分割信号W10をサンプリングすることにより得られた各サンプリング点のデジタル値Δx[n]を、i番セグメントL10の機械角推定式に代入することにより、各サンプリング点に対応する機械角推定値θ[n]を算出する方法を示す図である。 図15は、i番セグメントL10について得られた複数の機械角推定値θ[n]と、エンコーダ200から得られた機械角真値θe[n]との誤差θerr[n]を算出した結果の一例を示す図である。 図16は、Δxを横軸とし且つ誤差を縦軸とする2軸座標系の一例を示す図であって且つベジエ曲線に基づく機械角推定値θの補正方法に関する説明図である。 図17は、左側座標領域XLの第1制御点P2と右側座標領域XRの第2制御点P5とが初期値であるときのベジエ曲線によって補正された機械角推定値θと機械角真値θeとの誤差を、ベジエ曲線上の点とともに2軸座標系にプロットした図である。 図18は、左側座標領域XLの第1制御点P2と右側座標領域XRの第2制御点P5とが初期値であるときのベジエ曲線によって補正された機械角推定値θと機械角真値θeとの誤差を各デジタル値Δx[n]に対応付けて示す図である。 図19は、左側座標領域XLの第1最大誤差が最も小さくなる第1制御点P2と右側座標領域XRの第2最大誤差が最も小さくなる第2制御点P5とを用いたときのベジエ曲線によって補正された機械角推定値θと機械角真値θeとの誤差を、ベジエ曲線上の点とともに2軸座標系にプロットした図である。 図20は、左側座標領域XLの第1最大誤差が最も小さくなる第1制御点P2と右側座標領域XRの第2最大誤差が最も小さくなる第2制御点P5とを用いたときのベジエ曲線によって補正された機械角推定値θと機械角真値θeとの誤差を各デジタル値Δx[n]に対応付けて示す図である。
 以下、本発明の一実施形態について図面を参照しながら詳細に説明する。
 図1は、本発明の一実施形態における角度検出装置1の構成を模式的に示すブロック図である。図1に示すように、角度検出装置1は、モータ100の回転軸であるロータシャフト110の機械角(回転角)を検出する装置である。本実施形態においてモータ100は、例えばインナーロータ型の三相ブラシレスDCモータである。モータ100は、ロータシャフト110と、センサマグネット120と、を有する。
 センサマグネット120は、ロータシャフト110に取り付けられる円板状の磁石である。センサマグネット120は、ロータシャフト110に同期して回転する。センサマグネット120は、P個(Pは1以上の整数)の磁極対を有する。本実施形態では、一例として、センサマグネット120は、4つの磁極対を有する。なお、磁極対とは、N極とS極とのペアを意味する。すなわち、本実施形態においてセンサマグネット120は、N極とS極とのペアを4つ有し、計8つの磁極を有する。
 角度検出装置1は、センサ群10と、信号処理部20と、を備える。図1では図示を省略するが、モータ100には回路基板が装着されており、センサ群10及び信号処理部20は、回路基板上に配置される。センサマグネット120は、回路基板と干渉しない位置に配置される。センサマグネット120は、モータ100のハウジングの内部に配置されてもよいし、或いはハウジングの外部に配置されてもよい。
 センサ群10は、3つの磁気センサ11、12及び13を含む。磁気センサ11、12及び13は、回路基板上において、センサマグネット120と対向し且つセンサマグネット120の回転方向に沿って所定の間隔で配置される。本実施形態において、磁気センサ11、12及び13は、センサマグネット120の回転方向に沿って30°間隔で配置される。磁気センサ11、12及び13は、それぞれ、例えばホール素子、或いはリニアホールICなど、磁気抵抗素子を含めたアナログ出力タイプの磁気センサである。
 ロータシャフト110が回転すると、センサマグネット120はロータシャフト110に同期して回転する。3つの磁気センサ11、12及び13は、それぞれ、ロータシャフト110の回転、すなわちセンサマグネット120の回転による磁束変化を検出し、磁束変化の検出結果を示すアナログ信号を信号処理部20に出力する。
 磁気センサ11、12及び13から出力される各アナログ信号の電気角1周期は、機械角1周期の1/Pに相当する。本実施形態では、センサマグネット120の極対数Pが「4」なので、各アナログ信号の電気角1周期は、機械角1周期の1/4、すなわち機械角で90°に相当する。また、磁気センサ11、12及び13から出力されるアナログ信号は、互いに電気角で120°の位相差を有する。
 以下では、3つの磁気センサ11、12及び13から信号処理部20に出力される各アナログ信号をセンサ信号と呼称する。また、以下の説明において、磁気センサ11から出力されるセンサ信号をU相センサ信号Huと呼称し、磁気センサ12から出力されるセンサ信号をV相センサ信号Hvと呼称し、磁気センサ13から出力されるセンサ信号をW相センサ信号Hwと呼称する場合がある。
 信号処理部20は、3つの磁気センサ11、12及び13から出力されるセンサ信号を処理する信号処理回路である。信号処理部20は、磁気センサ11から出力されるU相センサ信号Huと、磁気センサ12から出力されるV相センサ信号Hvと、磁気センサ13から出力されるW相センサ信号Hwとに基づいて、回転軸であるロータシャフト110の機械角を推定する。信号処理部20は、処理部21と、記憶部22と、を備える。
 処理部21は、例えばMCU(Microcontroller Unit)などのマイクロプロセッサである。磁気センサ11から出力されるU相センサ信号Huと、磁気センサ12から出力されるV相センサ信号Hvと、磁気センサ13から出力されるW相センサ信号Hwとは、それぞれ、処理部21に入力される。処理部21は、不図示の通信バスを介して記憶部22と通信可能に接続される。処理部21は、記憶部22に予め記憶されるプログラムに従って、少なくとも以下の2つの処理を実行する。
 処理部21は、オフライン処理として、ロータシャフト110の機械角の推定に必要な学習データを取得する学習処理を実行する。オフライン処理とは、角度検出装置1が製造工場から出荷される前、または角度検出装置1が顧客側のシステムに組み込まれて実運用される前に実行される処理である。学習処理において、処理部21は、磁気センサ11、12及び13から出力されるセンサ信号Hu、Hv及びHwと、エンコーダ200(図1参照)の出力信号ASとに基づいて学習データを取得する。エンコーダ200は、学習処理が行われるときにのみ、ロータシャフト110に設置される。エンコーダ200の出力信号ASは、ロータシャフト110の機械角を示す信号である。エンコーダ200は、インクリメンタルエンコーダ及びアブソリュートエンコーダのいずれでもよい。
 また、処理部21は、オンライン処理として、磁気センサ11、12及び13から出力されるセンサ信号Hu、Hv及びHwと、学習処理によって得られた学習データとに基づいて、ロータシャフト110の機械角を推定する角度推定処理を実行する。オンライン処理とは、角度検出装置1が顧客側のシステムに組み込まれて実運用されるときに実行される処理である。
 記憶部22は、処理部21に各種処理を実行させるのに必要なプログラム、各種設定データおよび上記の学習データなどを記憶する不揮発性メモリと、処理部21が各種処理を実行する際にデータの一時保存先として使用される揮発性メモリとを含む。不揮発性メモリは、例えばEEPROM(Electrically Erasable Programmable Read-Only Memory)又はフラッシュメモリなどである。揮発性メモリは、例えばRAM(Random Access Memory)などである。
 以下、上記のように構成された角度検出装置1の処理部21が実行する学習処理及び角度推定処理について説明する前に、本発明の理解を容易にするために、特許第6233532号公報によって開示される位置推定方法について簡単に説明する。以下の説明において、特許第6233532号公報によって開示される位置推定方法を、基本特許方法と呼称する場合がある。基本特許方法の詳細については特許第6233532号公報を参照されたい。なお、以下では、説明の便宜上、図1に示される各要素を使って基本特許方法について説明する。
 まず、基本特許方法において処理部21が実行する学習処理について説明する。
 処理部21は、ロータシャフト110とともにセンサマグネット120を回転させた状態で、磁気センサ11、12及び13から出力される信号をセンサ信号Hu、Hv及びHwとして取得する。具体的には、処理部21にはA/D変換器が内蔵されており、処理部21は、A/D変換器によってU相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwのそれぞれを所定のサンプリング周波数でデジタル変換することにより、U相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwのデジタル値を取得する。
 なお、学習処理の実行時において、不図示のモータ制御装置を介してモータ100を通電制御することにより、ロータシャフト110を回転させてもよい。または、ロータシャフト110を不図示の回転機械に接続し、その回転機械によってロータシャフト110を回転させてもよい。
 図2は、U相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwの波形の一例を示す図である。図2に示すように、センサ信号Hu、Hv及びHwのそれぞれの電気角1周期は、機械角1周期の1/4、すなわち機械角で90°に相当する。図2において、時刻t1から時刻t5までの期間が機械角1周期(機械角で360°)に相当する。図2において、時刻t1から時刻t2までの期間と、時刻t2から時刻t3までの期間と、時刻t3から時刻t4までの期間と、時刻t4から時刻t5までの期間とが、それぞれ機械角で90°に相当する。また、センサ信号Hu、Hv及びHwは、互いに電気角で120°の位相差を有する。
 処理部21は、センサ信号Hu、Hv及びHwのデジタル値に基づいて、3つのセンサ信号のうち2つのセンサ信号が互いに交差する交点と、3つのセンサ信号の夫々が基準信号レベルと交差するゼロクロス点とを、機械角1周期にわたって抽出する。基準信号レベルは、例えばグランドレベルである。基準信号レベルがグランドレベルである場合、基準信号レベルのデジタル値は「0」である。
 図2に示すように、処理部21は、ゼロクロス点の抽出結果に基づいて、機械角1周期を極対番号に紐付けられた4つの極対領域に分割する。図2において、「No.C」は極対番号を示す。図1に示すように、センサマグネット120の4つの磁極対に対して極対番号が予め割り当てられる。例えば、機械角で0°から90°までの範囲に設けられた磁極対には、極対番号「0」が割り当てられる。機械角で90°から180°までの範囲に設けられた磁極対には、極対番号「1」が割り当てられる。機械角で180°から270°までの範囲に設けられた磁極対には、極対番号「2」が割り当てられる。機械角で270°から360°までの範囲に設けられた磁極対には、極対番号「3」が割り当てられる。
 例えばセンサ信号Huを基準とする場合、処理部21は、センサ信号Huのゼロクロス点のうち、機械角が0°であるサンプリングタイミング(時刻t1)に得られたゼロクロス点を、極対番号「0」に紐づけられた極対領域の始点として認識する。また、処理部21は、センサ信号Huのゼロクロス点のうち、機械角が90°であるサンプリングタイミング(時刻t2)に得られたゼロクロス点を、極対番号「0」に紐づけられた極対領域の終点として認識する。すなわち、処理部21は、時刻t1に得られたゼロクロス点と、時刻t2に得られたゼロクロス点との間の区間を、極対番号「0」に紐づけられた極対領域として決定する。
 処理部21は、センサ信号Huのゼロクロス点のうち、機械角が90°であるサンプリングタイミング(時刻t2)に得られたゼロクロス点を、極対番号「1」に紐づけられた極対領域の始点としても認識する。また、処理部21は、センサ信号Huのゼロクロス点のうち、機械角180°であるサンプリングタイミング(時刻t3)に得られたゼロクロス点を、極対番号「1」に紐づけられた極対領域の終点として認識する。すなわち、処理部21は、時刻t2に得られたゼロクロス点と、時刻t3に得られたゼロクロス点との間の区間を、極対番号「1」に紐づけられた極対領域として決定する。
 処理部21は、センサ信号Huのゼロクロス点のうち、機械角が180°であるサンプリングタイミング(時刻t3)に得られたゼロクロス点を、極対番号「2」に紐づけられた極対領域の始点としても認識する。また、処理部21は、センサ信号Huのゼロクロス点のうち、機械角270°であるサンプリングタイミング(時刻t4)に得られたゼロクロス点を、極対番号「2」に紐づけられた極対領域の終点として認識する。すなわち、処理部21は、時刻t3に得られたゼロクロス点と、時刻t4に得られたゼロクロス点との間の区間を、極対番号「2」に紐づけられた極対領域として決定する。
 処理部21は、センサ信号Huのゼロクロス点のうち、機械角が270°であるサンプリングタイミング(時刻t4)に得られたゼロクロス点を、極対番号「3」に紐づけられた極対領域の始点としても認識する。また、処理部21は、センサ信号Huのゼロクロス点のうち、機械角360°であるサンプリングタイミング(時刻t5)に得られたゼロクロス点を、極対番号「3」に紐づけられた極対領域の終点として認識する。すなわち、処理部21は、時刻t4に得られたゼロクロス点と、時刻t5に得られたゼロクロス点との間の区間を、極対番号「3」に紐づけられた極対領域として決定する。
 図2に示すように、処理部21は、交点及びゼロクロス点の抽出結果に基づいて、4つの極対領域のそれぞれをセクション番号に紐づけられた12個のセクションに分割する。図2において、「No.A」は、各セクションに紐づけられたセクション番号を示す。図2に示すように、4つの極対領域のそれぞれに含まれる12個のセクションには、「0」から「11」までのセクション番号が紐づけられる。
 図3は、図2に示される1つの極対領域に含まれるセンサ信号Hu、Hv及びHwの拡大図である。図3において、振幅の基準値(基準信号レベル)は「0」である。図3において、正値である振幅のデジタル値は、一例として、N極の磁界強度のデジタル値を表す。また、負値である振幅のデジタル値は、一例として、S極の磁界強度のデジタル値を表す。
 図3において、点P1、点P3、点P5、点P7、点P9、点P11、及び点P13が、1つの極対領域に含まれるセンサ信号Hu、Hv及びHwのデジタル値から抽出されたゼロクロス点である。また、図3において、点P2、点P4、点P6、点P8、点P10、及び点P12が、1つの極対領域に含まれるセンサ信号Hu、Hv及びHwのデジタル値から抽出された交点である。図3に示すように、処理部21は、互いに隣り合うゼロクロス点と交点との間の区間をセクションとして決定する。
 処理部21は、ゼロクロス点P1と交点P2との間の区間を、セクション番号「0」に紐づけられたセクションとして決定する。処理部21は、交点P2とゼロクロス点P3との間の区間を、セクション番号「1」に紐づけられたセクションとして決定する。処理部21は、ゼロクロス点P3と交点P4との間の区間を、セクション番号「2」に紐づけられたセクションとして決定する。処理部21は、交点P4とゼロクロス点P5との間の区間を、セクション番号「3」に紐づけられたセクションとして決定する。処理部21は、ゼロクロス点P5と交点P6との間の区間を、セクション番号「4」に紐づけられたセクションとして決定する。処理部21は、交点P6とゼロクロス点P7との間の区間を、セクション番号「5」に紐づけられたセクションとして決定する。
 処理部21は、ゼロクロス点P7と交点P8との間の区間を、セクション番号「6」に紐づけられたセクションとして決定する。処理部21は、交点P8とゼロクロス点P9との間の区間を、セクション番号「7」に紐づけられたセクションとして決定する。処理部21は、ゼロクロス点P9と交点P10との間の区間を、セクション番号「8」に紐づけられたセクションとして決定する。処理部21は、交点P10とゼロクロス点P11との間の区間を、セクション番号「9」に紐づけられたセクションとして決定する。処理部21は、ゼロクロス点P11と交点P12との間の区間を、セクション番号「10」に紐づけられたセクションとして決定する。処理部21は、交点P12とゼロクロス点P13との間の区間を、セクション番号「11」に紐づけられたセクションとして決定する。
 なお、以下の説明において、例えば、セクション番号「0」が割り当てられたセクションを、「0番セクション」と呼称し、セクション番号「11」が割り当てられたセクションを、「11番セクション」と呼称する。
 図2に示すように、機械角1周期の全期間にわたって連続する番号がセグメント番号として各セクション番号に紐づけられる。図2において、「No.B」は、各セクション番号に紐づけられたセグメント番号を示す。なお、セグメントとは、互いに隣り合う交点とゼロクロス点とを結ぶ直線を表す用語である。言い換えれば、各セクションの始点と終点とを結ぶ直線がセグメントと呼ばれる。図3において、例えば、0番セクションの始点はゼロクロス点P1であり、0番セクションの終点は交点P2である。従って、0番セクションに対応するセグメントは、ゼロクロス点P1と交点P2とを結ぶ直線である。同様に、図3において、例えば、1番セクションの始点は交点P2であり、1番セクションの終点はゼロクロス点P3である。従って、1番セクションに対応するセグメントは、交点P2とゼロクロス点P3とを結ぶ直線である。
 図2に示すように、極対番号「0」に紐づけられた極対領域では、セクション番号「0」から「11」までに対して、セグメント番号「0」から「11」までが紐づけられる。極対番号「1」に紐づけられた極対領域では、セクション番号「0」から「11」までに対して、セグメント番号「12」から「23」までが紐づけられる。極対番号「2」に紐づけられた極対領域では、セクション番号「0」から「11」までに対して、セグメント番号「24」から「35」までが紐づけられる。極対番号「3」に紐づけられた極対領域では、セクション番号「0」から「11」までに対して、セグメント番号「36」から「47」までが紐づけられる。
 なお、以下の説明において、例えば、セグメント番号「0」が割り当てられたセグメントを、「1番セグメント」と呼称し、セグメント番号「11」が割り当てられたセグメントを、「11番セグメント」と呼称する。
 処理部21は、各セグメントを表す一次関数θ(Δx)を生成する。Δxはセグメントの始点からセグメント上の任意の点までの長さ(デジタル値)であり、θはセグメント上の任意の点に対応する機械角である。図3において、例えば、0番セクションに対応するセグメントの始点はゼロクロス点P1であり、0番セクションに対応するセグメントの終点は交点P2である。同様に、図3において、例えば、1番セクションに対応するセグメントの始点は交点P2であり、1番セクションに対応するセグメントの終点はゼロクロス点P3である。
 例えば、セグメントを表す一次関数θ(Δx)は下式(1)で表される。下式(1)において、「i」はセグメント番号であり、0から47までの整数である。以下の説明において、下式(1)で表される一次関数θ(Δx)を機械角推定式と呼称し、下式(1)によって算出される機械角θを機械角推定値と呼称する場合がある。
     θ(Δx)=k[i]×Δx+θres[i] …(1)
 上式(1)において、k[i]は、正規化係数と呼ばれる係数である。言い換えれば、k[i]は、i番セグメントの傾きを表す係数である。正規化係数k[i]は、下式(2)で表される。下式(2)において、ΔXnorm[i]は、i番セグメントの始点と終点との間のデジタル値の偏差である。図3において、例えば、0番セクションに対応するセグメントのΔXnorm[i]は、ゼロクロス点P1と交点P2との間のデジタル値の偏差である。同様に、図3において、例えば、1番セクションに対応するセグメントのΔXnorm[i]は、交点P2とゼロクロス点P3との間のデジタル値の偏差である。
    k[i]=θnorm[i]/ΔXnorm[i] …(2)
 上式(2)において、θnorm[i]は、i番セグメントの始点と終点との間の機械角の偏差であり、下式(3)で表される。下式(3)において、t[i]はi番セグメントの始点と終点との間の時間であり、t[0]は0番セグメントの始点と終点との間の時間であり、t[47]は、47番セグメントの始点と終点との間の時間である。図3において、例えば、0番セクションに対応するセグメントが0番セグメントである場合、t[0]はゼロクロス点P1と交点P2との間の時間である。
θnorm[i]={t[i]/(t[0]+…+t[47])}×360[degM]
                                   …(3)
 上式(1)において、θres[i]は、i番セグメントの角度リセット値と呼ばれる定数(一次関数θ(Δx)の切片)である。セグメント番号「i」が「0」であるとき、角度リセット値θres[i]は下式(4)で表される。セグメント番号「i」が「1」から「47」のいずれかであるとき、角度リセット値θres[i]は下式(5)で表される。
     θres[i]=0[degM]      …(4)
     θres[i]=Σ(θnorm[i-1]) …(5)
 処理部21は、上記のような学習処理を行うことにより、極対番号と、セクション番号と、セグメント番号との対応関係、各セクションの特徴データ、および各セグメントの機械角推定式を取得し、取得したこれらのデータを学習データとして記憶部22に記憶させる。なお、各セクションの特徴データとは、各セクションに含まれるセンサ信号Hu、Hv及びHwのデジタル値の大小関係及び正負の符号などである。また、各セグメントの機械角推定式を構成する正規化係数k[i]及び角度リセット値θres[i]が、学習データとして記憶部22に記憶される。
 続いて、基本特許方法において処理部21が実行する角度推定処理について説明する。
 処理部21は、磁気センサ11、12及び13から出力されるセンサ信号Hu、Hv及びHwを取得する。具体的には、処理部21は、A/D変換器によってU相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwのそれぞれを所定のサンプリング周波数でデジタル変換することにより、U相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwのデジタル値を取得する。
 そして、処理部21は、今回のサンプリングタイミングで得られたセンサ信号Hu、Hv及びHwのデジタル値に基づいて、現在のセクション番号及び極対番号を特定する。例えば図3において、U相センサ信号Huの波形上に位置する点PHuと、V相センサ信号Hvの波形上に位置する点PHvと、W相センサ信号Hwの波形上に位置する点PHwとが、今回のサンプリングタイミングで得られた各センサ信号Hu、Hv及びHwのデジタル値であると仮定する。処理部21は、点PHu、点PHv及び点PHwのデジタル値の大小関係及び正負の符号などの特徴データを、記憶部22に記憶された学習データに含まれる各セクションの特徴データと照合することにより、現在のセクション(セクション番号)を特定する。図3の例では、9番セクションが現在のセクションとして特定される。なお、本明細書では極対番号の特定方法については説明しない。極対番号の特定方法については、特許第6233532号公報を参照されたい。今回のサンプリングタイミングにおける極対番号として、例えば極対番号「2」が特定されたと仮定する。
 そして、処理部21は、特定された現在のセクション番号及び極対番号に基づいて、現在のセグメント番号を特定する。例えば、処理部21は、「セグメント番号=12×極対番号+セクション番号」という式により、現在のセグメント番号を特定する。上記のように、セクション番号「9」が現在のセクション番号として特定され、極対番号「2」が現在の極対番号として特定されたと仮定する。この場合、処理部21は、セグメント番号「33」を現在のセグメント番号として特定する(図2参照)。
 処理部21は、記憶部22に記憶された学習データから、特定されたセグメント番号「i」に対応する正規化係数k[i]及び角度リセット値θres[i]を読み出し、上式(1)で表される機械角推定式によって機械角推定値θを算出する。ここで、機械角推定式に代入されるΔxとして、特定されたセグメントに対応するセンサ信号のデジタル値が用いられる。例えば、上記のように、セグメント番号「33」が現在のセグメント番号として特定された場合、処理部21は、記憶部22から正規化係数k[33]及び角度リセット値θres[33]を読み出し、点PHvのデジタル値(図3参照)をΔxとして機械角推定式に代入することにより、今回のサンプリングタイミングにおける機械角推定値θを算出する。
 以上が、本発明の基礎となる基本特許方法における機械角の基本的な推定手順である。
 基本特許方法では、機械角の推定精度(機械角推定値θの精度)を向上するために、センサ信号Hu、Hv及びHwの補正処理が行われる。例えば、図2に示すように、各センサ信号Hu、Hv及びHwの振幅値は必ずしも一致しない。また、例えば、図4に示すように、各センサ信号Hu、Hv及びHwには、ノイズ成分である同相信号(直流信号及び第3次高調波信号など)が含まれる場合がある。図4は、ノイズ成分である同相信号を含むセンサ信号Hu、Hv及びHwの波形の一例を示す図である。図4において、縦軸はデジタル値を示し、横軸は電気角を示す。
 そのため、基本特許方法における処理部21は、学習処理及び角度推定処理の実行時にセンサ信号Hu、Hv及びHwのデジタル値を取得すると、まず、下式(6)、(7)及び(8)に基づいて、センサ信号Hu、Hv及びHwから同相信号を除去するための第1の補正処理を実行する。
      Hiu0=Hu-(Hv+Hw)/2 …(6)
      Hiv0=Hv-(Hu+Hw)/2 …(7)
      Hiw0=Hw-(Hu+Hv)/2 …(8)
 式(6)において、Hiu0は、U相センサ信号Huに対して第1の補正処理を行うことにより得られたU相センサ信号のデジタル値である。式(7)において、Hiv0は、V相センサ信号Hvに対して第1の補正処理を行うことにより得られたV相センサ信号のデジタル値である。式(8)において、Hiw0は、W相センサ信号Hwに対して第1の補正処理を行うことにより得られたW相センサ信号のデジタル値である。図5は、第1の補正処理の実行後に得られたセンサ信号Hiu0、Hiv0及びHiw0の波形の一例を示す図である。図5において、縦軸はデジタル値を示し、横軸は電気角を示す。
 第1の補正処理を実行した後、基本特許方法における処理部21は、下式(9)から下式(14)に基づいて、センサ信号Hiu0、Hiv0及びHiw0に対して振幅値を一致させるための第2の補正処理を実行する。
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)
 処理部21は、U相センサ信号Hiu0の正側のデジタル値に対して、記憶部22に記憶されている情報を用いて上式(9)によって第2の補正処理を行う。また、処理部21は、U相センサ信号Hiu0の負側のデジタル値に対して、記憶部22に記憶されている情報を用いて上式(10)によって第2の補正処理を行う。
 処理部21は、V相センサ信号Hiv0の正側のデジタル値に対して、記憶部22に記憶されている情報を用いて上式(11)によって第2の補正処理を行う。また、処理部21は、V相センサ信号Hiv0の負側のデジタル値に対して、記憶部22に記憶されている情報を用いて上式(12)によって第2の補正処理を行う。
 処理部21は、W相センサ信号Hiw0の正側のデジタル値に対して、記憶部22に記憶されている情報を用いて上式(13)によって第2の補正処理を行う。また、処理部21は、W相センサ信号Hiw0の負側のデジタル値に対して、記憶部22に記憶されている情報を用いて上式(14)によって第2の補正処理を行う。
 式(9)および式(10)において、Hiu1は、U相センサ信号Hiu0に対して第2の補正処理を行うことにより得られたU相センサ信号のデジタル値である。式(11)および式(12)において、Hiv1は、V相センサ信号Hiv0に対して第2の補正処理を行うことにより得られたV相センサ信号のデジタル値である。式(13)および式(14)において、Hiw1は、W相センサ信号Hiw0に対して第2の補正処理を行うことにより得られたW相センサ信号のデジタル値である。図6は、第2の補正処理の実行後に得られたセンサ信号Hiu1、Hiv1及びHiw1の波形の一例を示す図である。図6において、縦軸はデジタル値を示し、横軸は電気角を示す。
 また、式(9)から式(14)において、ppnは、0~3までの極対番号である。式(9)、式(11)、および式(13)において、au_max(ppn)、av_max(ppn)、およびaw_max(ppn)のそれぞれは、記憶部22に予め記憶されている各磁極対に対応する電気角1周期分の正側のデジタル値に対する正側ゲイン補正値である。式(10)、式(12)、および式(14)において、au_min(ppn)、av_min(ppn)、およびaw_min(ppn)のそれぞれは、記憶部22に予め記憶されている各磁極対に対応する電気角1周期分の負側のデジタル値に対する負側ゲイン補正値である。式(9)から式(14)において、bu、bv、およびbwそれぞれは、記憶部22に記憶されている各相のオフセット補正値である。なお、au_max(ppn)、av_max(ppn)、aw_max(ppn)、au_min(ppn)、av_min(ppn)、およびaw_min(ppn)それぞれは、極対毎の補正値である。このため、正側ゲイン補正値の個数は、12個(=3相×4極対数)である。同様に、負側ゲイン補正値の個数は、12個である。
 第2の補正処理を実行した後、基本特許方法における処理部21は、センサ信号Hiu1、Hiv1及びHiw1に対して、各セグメントに対応するセンサ信号の一部(分割信号)を直線化するための第3の補正処理を実行する。図3において、例えば0番セクションに対応するセグメントが0番セグメントである場合、その0番セグメントに対応する分割信号とは、U相センサ信号Huのうち、ゼロクロス点P1と交点P2とを結ぶ部分の信号である。同様に、図3において、例えば1番セクションに対応するセグメントが1番セグメントである場合、その1番セグメントに対応する分割信号とは、W相センサ信号Hwのうち、交点P2とゼロクロス点P3とを結ぶ部分の信号である。
 処理部21は、センサ信号Hiu1、Hiv1及びHiw1に対して、記憶部22に予め記憶されている値を係数として用いることで、各センサ信号のスケールを変更する第3の補正処理を行う。第3の補正処理を行うことで、各セグメントに対応する分割信号の略S字状の形状を直線化することができる。ここで、記憶部22に記憶されている値とは予め設計された値である。この第3の補正処理は、予め設計された値を用いて、二次関数、三次関数、或いは三角関数等の補正式により計算処理を行う。
 一例として、処理部21は、下式(15)から下式(17)に基づいて、センサ信号Hiu1、Hiv1及びHiw1に対して第3の補正処理を実行する。下式(15)から下式(17)において、a及びbは、記憶部22に予め記憶された係数である。
      Hiu2=b×tan(a×Hiu1)  …(15)
      Hiv2=b×tan(a×Hiv1)  …(16)
      Hiw2=b×tan(a×Hiw1)  …(17)
 式(15)において、Hiu2は、U相センサ信号Hiu1に対して第3の補正処理を行うことにより得られたU相センサ信号のデジタル値である。式(16)において、Hiv2は、V相センサ信号Hiv1に対して第3の補正処理を行うことにより得られたV相センサ信号のデジタル値である。式(17)において、Hiw2は、W相センサ信号Hiw1に対して第3の補正処理を行うことにより得られたW相センサ信号のデジタル値である。図7は、第3の補正処理の実行後に得られたセンサ信号Hiu2、Hiv2及びHiw2の波形の一例を示す図である。図7において、縦軸はデジタル値を示し、横軸は電気角を示す。
 以上のように、基本特許方法では、第1の補正処理によって、センサ信号Hu、HvおよびHwに含まれる同相ノイズを低減することができる。また、基本特許方法では、第2の補正処理によって、各センサ信号の相互ばらつきを補正することができる。ここで、相互ばらつきとは、例えば、各センサ信号の振幅値及びオフセット成分のばらつき等である。さらに、基本特許方法では、第3の補正処理によって、各センサ信号の波形の曲線部分を直線化することができる。特に、第2の補正処理を行うことでセグメントに対応するセンサ信号の一部(分割信号)の長さが均一化されるため、第3の補正処理において、すべての分割信号に一律の計算処理を適用しやすい。したがって、第2の補正処理は、第3の補正処理の前に行うことにより、より波形の曲線部分を直線化することができる。
 その結果、基本特許方法では、上式(1)に基づく機械角推定値θの演算に必要な信号部分(分割信号)がより直線化し、機械角推定値θと機械角真値(例えばロータシャフト110に取り付けられたエンコーダの出力信号によって示される機械角)との差を小さくすることができるので、高精度な機械角推定を行うことができる。
 しかしながら、本願発明者による検証の結果、磁気センサ11、12及び13から出力される各センサ信号が、第3次高調波信号だけでなく、第5次高調波信号及び第7次高調波信号などの同相信号を含む場合、第1、第2及び第3の補正処理を行ったとしても機械角推定値θの演算に必要な信号の曲線部分(分割信号)を直線化できないことが判明した。
 図8は、第3次、第5次及び第7次高調波信号などの同相信号を含むセンサ信号Hu’、Hv’及びHw’の波形の一例を示す図である。図9は、センサ信号Hu’、Hv’及びHw’に対して第1の補正処理を行った後に得られるセンサ信号Hiu0’、Hiv0’及びHiw0’の波形の一例を示す図である。図10は、センサ信号Hiu0’、Hiv0’及びHiw0’に対して第2の補正処理を行った後に得られるセンサ信号Hiu1’、Hiv1’及びHiw1’の波形の一例を示す図である。図11は、センサ信号Hiu1’、Hiv1’及びHiw1’に対して第3の補正処理を行った後に得られるセンサ信号Hiu2’、Hiv2’及びHiw2’の波形の一例を示す図である。図8から図11において、縦軸はデジタル値を示し、横軸は電気角を示す。
 図11に示すように、磁気センサ11、12及び13から出力される各センサ信号が、第3次、第5次及び第7次高調波信号などの同相信号を含む場合、第3の補正処理を行った後に得られるセンサ信号Hiu2’、Hiv2’及びHiw2’の波形に歪みが生じており、機械角推定値θの演算に必要な信号の曲線部分(分割信号)を直線化できないことがわかる。従って、磁気センサ11、12及び13から出力される各センサ信号が、第3次、第5次及び第7次高調波信号などの同相信号を含む場合、第3の補正処理を行ったとしても、上式(1)に基づく機械角の推定精度(機械角推定値θの精度)が低下する。
 図12は、1極対のセンサマグネットを1回転させたときに、上式(1)で算出される機械角推定値θと機械角真値との間に生じる誤差を測定した実験結果を示す図である。図12において、横軸方向に並ぶ数字はセグメント番号を表す。この実験では、1極対のセンサマグネットを使用するので、機械角1周期には1つの極対領域のみが含まれる。すなわち、機械角1周期は、12個のセクションに分割され、各セクションに対応して「0」から「11」までのセグメント番号が紐づけられる。
 図12において、波形W1は、センサ信号Hu、Hv及びHwに対して第1及び第2の補正処理を行った後に得られるセンサ信号Hiu1、Hiv1及びHiw1を使って、機械角推定値θと機械角真値との間に生じる誤差を測定した結果を示す。また、図12において、波形W2は、センサ信号Hu、Hv及びHwに対して第1、第2及び第3の補正処理を行った後に得られるセンサ信号Hiu2、Hiv2及びHiw2を使って、機械角推定値θと機械角真値との間に生じる誤差を測定した結果を示す。
 図12に示すように、例えば2番、6番及び10番セグメントでは、第3の補正処理を行うことにより、機械角推定値θと機械角真値との間に生じる誤差を「0」付近にまで低減できている。一方、例えば3番、7番及び11番セグメントでは、第3の補正処理を行っても、機械角推定値θと機械角真値との間に生じる誤差を大きく低減できていない。さらに、例えば0番、1番、4番、5番、8番及び9番セグメントでは、第3の補正処理の効果が強すぎて、機械角推定値θと機械角真値との間に生じる誤差の正負が反転している。これらの実験結果が示すように、基本特許方法で採用された第3の補正処理によると、セグメントごとに分割信号の曲がり具合が異なることに起因して、セグメントごとに機械角推定値θと機械角真値との間に生じる誤差が大きくばらつくことが判明した。
 本発明は、上記のような基本特許方法が有する技術課題を解決し、機械角推定値θと機械角真値との間に生じる角度誤差をより低減でき、もって回転軸の機械角検出精度の向上を実現することを目的とする。
 以下、上記の技術課題を解決するために、本実施形態における角度検出装置1の処理部21が実行する学習処理及び角度推定処理について説明する。
 まず、本実施形態における角度検出装置1の処理部21が実行する学習処理について説明する。
 図13は、本実施形態における角度検出装置1の処理部21がオフライン処理として実行する学習処理を示すフローチャートである。処理部21は、オフライン処理として、ロータシャフト110の機械角の推定に必要な学習データを取得する学習処理を実行する。
 図13に示すように、まず、センサ信号の入力が行われる(ステップS1)。ステップS1において、処理部21は、ロータシャフト110とともにセンサマグネット120を回転させた状態で、3つの磁気センサ11、12及び13から出力される信号をセンサ信号Hu、Hv及びHwとして取得する第1処理を実行する(第1工程)。具体的には、処理部21にはA/D変換器が内蔵されており、処理部21は、A/D変換器によってU相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwのそれぞれを所定のサンプリング周波数でデジタル変換することにより、U相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwのデジタル値を取得する。
 続いて、交点学習が行われる(ステップS2)。ステップS2において、処理部21は、センサ信号Hu、Hv及びHwのデジタル値に基づいて、3つのセンサ信号のうち2つのセンサ信号が互いに交差する交点と、3つのセンサ信号の夫々が基準信号レベルと交差するゼロクロス点とを、機械角1周期にわたって抽出する第2処理を実行し(第2工程)、互いに隣り合う交点とゼロクロス点とを結ぶ直線(セグメント)を表す一次関数θ(Δx)、すなわち各セグメントの機械角推定式を生成する第3処理を実行する(第3工程)。
 上記の第1処理から第3処理までの処理は、基本特許方法における学習処理と同じであるので詳細な説明を省略する。なお、本実施形態では、第1処理にて取得されたセンサ信号Hu、Hv及びHwに対して、基本特許方法における第1の補正処理、第2の補正処理及び第3の補正処理は行われないことに留意されたい。
 処理部21は、上記の第1処理から第3処理までの処理を実行することにより、極対番号と、セクション番号と、セグメント番号との対応関係、各セクションの特徴データ、および各セグメントの機械角推定式を取得し、取得したこれらのデータを学習データとして記憶部22に記憶させる。なお、各セクションの特徴データとは、各セクションに含まれるセンサ信号Hu、Hv及びHwのデジタル値の大小関係及び正負の符号などである。また、各セグメントの機械角推定式を構成する正規化係数k[i]及び角度リセット値θres[i]が、学習データとして記憶部22に記憶される。
 続いて、処理部21は、セグメント上の点のうち、機械角推定式を基に算出される機械角推定値θと、ロータシャフト110に設置されたエンコーダ200の出力信号ASから取得される機械角θeとの誤差が最大値となる点を誤差最大点として探索し、セグメントの始点から誤差最大点までの長さをΔx1として取得する第4処理を実行する(第4工程)。以下では、エンコーダ200から取得される機械角θeを機械角真値と呼称する場合がある。
 具体的には、図14に示すように、処理部21は、i番セグメントL10に対応する分割信号(着磁波形)W10をサンプリングすることにより得られた各サンプリング点のデジタル値Δx[n]を、i番セグメントL10の機械角推定式に代入することにより、各サンプリング点に対応する機械角推定値θ[n]を算出する(ステップS3)。「n」はサンプリング番号を表す。すなわち、Δx[n]は、分割信号W10のn番サンプリング点のデジタル値であり、機械角推定値θ[n]は、n番サンプリング点に対応する機械角推定値θである。なお、図14において、点Psはi番セグメントL10の始点であり、点Peはi番セグメントL10の終点である。
 例えば、i番セグメントL10に対応する分割信号W10のサンプリング点の数が50個である場合、ステップS3の処理により、i番セグメントL10について50個の機械角推定値θ[n]が得られる。処理部21は、ステップS3の処理によって得られた複数の機械角推定値θ[n]のそれぞれと、エンコーダ200から得られた機械角真値θe[n]との誤差θer[n]を算出し、算出された複数の誤差θer[n]のうち最も大きな誤差θer[n]を誤差最大値として取得する(ステップS4)。なお、機械角真値θe[n]は、n番サンプリング点と同じサンプリングタイミングで得られた機械角真値θeである。誤差θer[n]は、「θer[n]=θe[n]-θ[n]」という式で算出することができる。処理部21は、誤差最大値と、誤差最大値が得られたデジタル値Δx[n]とを記憶部22に保存する。以下では、誤差最大値が得られたデジタル値Δx[n]を最大誤差取得デジタル値と呼称する場合がある。
 図15は、i番セグメントL10について得られた複数の機械角推定値θ[n]と、エンコーダ200から得られた機械角真値θe[n]との誤差θer[n]を算出した結果の一例を示す図である。図15に示すように、i番セグメントL10の始点及び終点において、機械角推定値θ[n]と機械角真値θe[n]との間の誤差θer[n]はゼロとなるため、i番セグメントL10について得られた複数の誤差θer[n]を結ぶ曲線は、始点と終点とが一致する山なり形状を有する曲線となる。このような誤差θer[n]の曲線は着磁波形の曲線と見做すことができる。
 処理部21は、上記のようにi番セグメントL10の誤差最大値及び最大誤差取得デジタル値を取得すると、学習回数が所定の回数に達したか否かを判定する(ステップS5)。このステップS5において「No」の場合、すなわち学習回数が所定の回数に達していない場合、処理部21は、誤差最大値の今回値と前回値との移動平均値を算出し、算出された移動平均値を新たな誤差最大値の前回値として記憶部22に保存すると共に、最大誤差取得デジタル値の今回値と前回値との移動平均値を算出し、算出された移動平均値を新たな最大誤差取得デジタル値の前回値として記憶部22に保存する(ステップS6)。処理部21は、ステップS6の処理を実行した後にステップS4の処理に戻る。学習回数は、ステップS4の処理が実行されるごとにインクリメントされる。
 一方、上記ステップS5において「Yes」の場合、すなわち学習回数が所定の回数に達した場合、処理部21は、次のステップS7の処理に移行する。処理部21は、以上のようなステップS3からステップS6の処理を含む第4処理を行うことにより、i番セグメント上の点のうち、機械角推定値θと機械角真値θeとの誤差が最大値となる点を誤差最大点として探索し、i番セグメントの始点から誤差最大点までの長さをΔx1として取得する。ここで、Δx1は、記憶部22に最終的に保存されている最大誤差取得デジタル値であり、誤差最大点の誤差値は、記憶部22に最終的に保存されている誤差最大値である。処理部21は、上記の第4処理を48個のセグメントの全てについて行うことにより、48個のセグメントのそれぞれについて誤差最大値及び最大誤差取得デジタル値を取得する。以下では、i番セグメントの誤差最大値をθerm[i]と呼称し、i番セグメントの最大誤差取得デジタル値をΔx1[i]と呼称する。
 続いて、ベジエ曲線に基づいて機械角推定値θの補正が行われる(ステップS7)。処理部21は、ステップS7に含まれる処理の一つとして、まず、デジタル値Δxを横軸とし且つ誤差を縦軸とする2軸座標系における点のうち、原点P1と、頂点P3と、第1制御点P2とに基づいて第1曲線を算出する第5処理を実行する(第5工程)。本実施形態では、一例として、第1曲線がベジエ曲線である場合を説明する。図16は、デジタル値Δxを横軸(X軸)とし且つ誤差を縦軸(Y軸)とする2軸座標系の一例を示す図である。図16に示される2軸座標系は、i番セグメントに対応する座標系である。
 図16において、原点P1は、デジタル値Δx及び誤差がゼロである点である。原点P1の座標を(P1x、P1y)とすると、(P1x、P1y)=(0、0)となる点が原点P1である。頂点P3は、デジタル値Δxが最大誤差取得デジタル値Δx1[i]であり、且つ誤差が誤差最大値θerm[i]である点である。頂点P3の座標を(P3x、P3y)とすると、(P3x、P3y)=(Δx1[i]、θerm[i])となる点が頂点P3である。第1制御点P2は、デジタル値Δxがゼロと最大誤差取得デジタル値Δx1[i]との間の値であり、且つ誤差が誤差最大値θerm[i]である点である。本実施形態では、一例として、第1制御点P2のΔxの初期値は、最大誤差取得デジタル値Δx1[i]の半値である。第1制御点P2の座標を(P2x、P2y)とすると、(P2x、P2y)=(Δx1[i]/2、θerm[i])となる点が第1制御点P2である。なお、図16に示すように、2軸座標系に含まれる領域のうち、頂点P3の左側の領域を左側座標領域XLと呼称し、頂点P3の右側の領域を右側座標領域XRと呼称する。
 処理部21は、原点P1と、頂点P3と、第1制御点P2とに基づいて、左側座標領域XLのベジエ曲線を算出する。以下では、左側座標領域XLのベジエ曲線を第1ベジエ曲線と呼称する場合がある。左側座標領域XLの第1ベジエ曲線上に位置する点Pの座標(Px、Py)は、下式(18)によって表される。なお、下式(18)において、tは分解能である。
Figure JPOXMLDOC01-appb-M000001
 点PのY座標Pyは、式(18)に基づいて下式(19)で表される。原点P1のY座標P1yはゼロであるので、式(19)から下式(20)が得られる。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 点PのX座標Pxは、式(18)に基づいて下式(21)で表される。分解能tの解は、下式(22)で表される。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 上記のように、第1制御点のΔxの初期値は、最大誤差取得デジタル値Δx1[i]の半値であるので、P3x=2P2xである。P3x=2P2xのとき、分解能tは下式(23)で表される。
Figure JPOXMLDOC01-appb-M000006
 式(20)に式(22)及び式(23)を代入することにより、点PのX座標Px(=Δx[n])から点PのY座標Py(デジタル値Δx[n]に対応する誤差)を算出することができる。ここで、Δx[n]は、図14を用いて説明したように、i番セグメントに対応する分割信号をサンプリングすることにより得られた各サンプリング点のデジタル値Δxである。処理部21は、以上のような算出手法により、原点P1と、頂点P3と、第1制御点P2とに基づいて、左側座標領域XLの第1ベジエ曲線を算出する。より正確には、処理部21は、各サンプリング点のデジタル値Δx[n]から、第1ベジエ曲線上に位置する複数の点PのY座標Pyを各デジタル値Δx[n]に対応する誤差として算出する。
 続いて、処理部21は、ステップS7に含まれる処理の一つとして、i番セグメント上の複数の点のうち、i番セグメントの始点と誤差最大点との間に含まれる点について、i番セグメントの機械角推定式を基に算出される機械角推定値θを第1ベジエ曲線に基づいて補正する第6処理を実行する(第6工程)。具体的には、処理部21は、i番セグメントの始点(Δx[n]=0)と誤差最大点(Δx[n]=Δx1[i])との間に含まれるデジタル値Δx[n]を下式(24)に代入することにより、第1ベジエ曲線によって補正された機械角推定値θを算出する。下式(24)は、式(1)に「Err1×Δx[n]」が加算された式である。Err1は、デジタル値Δx[n]を、第5処理によって得られた誤差(第1ベジエ曲線上に位置する複数の点PのY座標Py)に変換するための補正値変換係数である。
  θ(Δx[n])=k[i]×Δx[n]+θres[i]+Err1×Δx[n]
                                   …(24)
 以上がステップS7の説明であり、処理部21はステップS7の終了後にステップS8に移行する。ステップS8において、処理部21は、上記の第6処理によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との最大誤差を第1最大誤差として取得する第7処理を実行する(第7工程)。
 図17は、左側座標領域XLの第1制御点P2が初期値であるときの第1ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との誤差を、左側座標領域XLの第1ベジエ曲線上の点とともに2軸座標系にプロットした図である。図18は、左側座標領域XLの第1制御点P2が初期値であるときの第1ベジエ曲線によって機械角推定値θ(Δx[n])と機械角真値θe[n]との誤差を各デジタル値Δx[n]に対応付けて示す図である。図17及び図18に示すように、第1制御点P2のX座標P2xが初期値(=Δx1[i]/2)であるとき、第1ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との間に生じる誤差はかなり大きいことがわかる。処理部21は、第1ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との間に生じる誤差のうち、左側座標領域XLにおいて最も大きい誤差を第1最大誤差として取得する。
 続いて、処理部21は、左側座標領域XLで取得した第1最大誤差が小さくなる方向に第1制御点P2のΔxの値(第1制御点P2のX座標P2x)を変更した後に第5処理に戻ることを所定の回数行う第8処理を実行する(第8工程)。
 具体的には、処理部21は、上記のようにi番セグメントの左側座標領域XLの第1最大誤差を取得すると、学習回数が所定の回数に達したか否かを判定する(ステップS9)。このステップS9において「No」の場合、すなわち学習回数が所定の回数に達していない場合、処理部21は、第1最大誤差が小さくなる方向に第1制御点P2のΔxの値(第1制御点P2のX座標P2x)を変更した後にステップS8に戻る(ステップS10)。学習回数は、ステップS8の処理が実行されるごとにインクリメントされる。
 一方、上記ステップS9において「Yes」の場合、すなわち学習回数が所定の回数に達した場合、処理部21は、次のステップS11の処理に移行する。処理部21は、以上のようなステップS7からステップS10の処理を行うことにより、i番セグメントの左側座標領域XLの第1最大誤差が最も小さくなる第1制御点P2のΔxの値(第1制御点P2のX座標P2x)を探索する。探索手法として、例えば二分探索法などを用いてもよい。
 図19は、左側座標領域XLの第1最大誤差が最も小さくなる第1制御点P2を用いたときの第1ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との誤差を、左側座標領域XLの第1ベジエ曲線上の点とともに2軸座標系にプロットした図である。図20は、左側座標領域XLの第1最大誤差が最も小さくなる第1制御点P2を用いたときの第1ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との誤差を各デジタル値Δx[n]に対応付けて示す図である。図19及び図20に示すように、i番セグメントの左側座標領域XLの第1最大誤差が最も小さくなる第1制御点P2が得られたとき、第1ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との間に生じる誤差は限りなくゼロに近づくことがわかる。
 以上は、i番セグメントに対応する二軸座標系の左側座標領域XLについての説明であるが、二軸座標系の右側座標領域XRについても上記と同様の処理が行われる。すなわち、処理部21は、デジタル値Δxを横軸とし且つ誤差を縦軸とする2軸座標系における点のうち、右側座標領域XRに位置する頂点P3と、端点P4と、第2制御点P5とに基づいて右側座標領域XRの第2曲線を算出する第9処理を実行する(第9工程)。本実施形態では、一例として、第2曲線がベジエ曲線である場合を説明する。
 図16において、端点P4は、デジタル値Δxがi番セグメントの最大長さΔxm(=ΔXnorm[i])に相当し、且つ誤差がゼロである点である。端点P4の座標を(P4x、P4y)とすると、(P4x、P4y)=(ΔXnorm[i]、0)となる点が端点P4である。第2制御点P5は、デジタル値Δxが最大誤差取得デジタル値Δx1[i]とi番セグメントの最大長さΔxm(=ΔXnorm[i])との間の値であり、且つ誤差が誤差最大値θerm[i]である点である。本実施形態では、一例として、第2制御点P5のΔxの初期値は、最大誤差取得デジタル値Δx1[i]とi番セグメントの最大長さΔxm(=ΔXnorm[i])との差分の半値である。第2制御点P5の座標を(P5x、P5y)とすると、(P5x、P5y)={(ΔXnorm[i]-Δx1[i])/2、θerm[i]}となる点が第2制御点P5である。
 処理部21は、上記のような頂点P3と、端点P4と、第2制御点P5とに基づいて、右側座標領域XRのベジエ曲線を算出する。以下では、右側座標領域XRのベジエ曲線を第2ベジエ曲線と呼称する場合がある。右側座標領域XRの第2ベジエ曲線の算出手法は、左側座標領域XLの第1ベジエ曲線の算出手法と同様であるので、詳細な説明は省略する。処理部21は、第1ベジエ曲線と同様の算出手法により、頂点P3と、端点P4と、第2制御点P5とに基づいて、右側座標領域XRの第2ベジエ曲線を算出する。より正確には、処理部21は、各サンプリング点のデジタル値Δx[n]から、第2ベジエ曲線上に位置する複数の点PのY座標Pyを各デジタル値Δx[n]に対応する誤差として算出する。
 続いて、処理部21は、i番セグメント上の複数の点のうち、i番セグメントの終点と誤差最大点との間に含まれる点について、i番セグメントの機械角推定式を基に算出される機械角推定値θを第2ベジエ曲線に基づいて補正する第10処理を実行する(第10工程)。具体的には、処理部21は、i番セグメントの終点(Δx[n]=ΔXnorm[i])と誤差最大点(Δx[n]=Δx1[i])との間に含まれるデジタル値Δx[n]を下式(25)に代入することにより、第2ベジエ曲線によって補正された機械角推定値θを算出する。下式(25)は、式(1)に「Err2×Δx[n]」が加算された式である。Err2は、デジタル値Δx[n]を、第9処理によって得られた誤差(第2ベジエ曲線上に位置する複数の点PのY座標Py)に変換するための補正値変換係数である。
  θ(Δx[n])=k[i]×Δx[n]+θres[i]+Err2×Δx[n]
                                   …(25)
 処理部21は、上記の第10処理によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との最大誤差を第2最大誤差として取得する第11処理を実行する(第11工程)。
 図17は、右側座標領域XRの第2制御点P5が初期値であるときの第2ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との誤差を、右側座標領域XRの第2ベジエ曲線上の点とともに2軸座標系にプロットした図である。図18は、右側座標領域XRの第2制御点P5が初期値であるときの第2ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との誤差を各デジタル値Δx[n]に対応付けて示す図である。図17及び図18に示すように、第2制御点P5のX座標P5xが初期値であるとき、第2ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との間に生じる誤差はかなり大きいことがわかる。処理部21は、第2ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との間に生じる誤差のうち、右側座標領域XRにおいて最も大きい誤差を第2最大誤差として取得する。
 続いて、処理部21は、右側座標領域XRで取得した第2最大誤差が小さくなる方向に第2制御点P5のΔxの値(第2制御点P5のX座標P5x)を変更した後に第9処理に戻ることを所定の回数行う第12処理を実行する(第12工程)。
 具体的には、処理部21は、上記のようにi番セグメントの右側座標領域XRの第2最大誤差を取得すると、学習回数が所定の回数に達したか否かを判定する(ステップS9)。このステップS9において「No」の場合、すなわち学習回数が所定の回数に達していない場合、処理部21は、第2最大誤差が小さくなる方向に第2制御点P5のΔxの値(第2制御点P5のX座標P5x)を変更した後にステップS8に戻る(ステップS10)。学習回数は、ステップS8の処理が実行されるごとにインクリメントされる。
 一方、上記ステップS9において「Yes」の場合、すなわち学習回数が所定の回数に達した場合、処理部21は、次のステップS11の処理に移行する。処理部21は、以上のようなステップS7からステップS10の処理を行うことにより、i番セグメントの右側座標領域XRの第2最大誤差が最も小さくなる第2制御点P5のΔxの値(第2制御点P5のX座標P5x)を探索する。探索手法として、例えば二分探索法などを用いてもよい。
 図19は、右側座標領域XRの第2最大誤差が最も小さくなる第2制御点P5を用いたときの第2ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との誤差を、右側座標領域XRの第2ベジエ曲線上の点とともに2軸座標系にプロットした図である。図20は、右側座標領域XRの第2最大誤差が最も小さくなる第2制御点P5を用いたときの第2ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との誤差を各デジタル値Δx[n]に対応付けて示す図である。図19及び図20に示すように、i番セグメントの右側座標領域XRの第2最大誤差が最も小さくなる第2制御点P5が得られたとき、第2ベジエ曲線によって補正された機械角推定値θ(Δx[n])と機械角真値θe[n]との間に生じる誤差はゼロに限りなく近づくことがわかる。
 以上のような処理によって、左側座標領域XLの第1最大誤差が最も小さくなる第1制御点P2と、右側座標領域XRの第2最大誤差が最も小さくなる第2制御点P5とが、i番セグメントについて得られると、処理部21は次のステップS11の処理に移行する。ステップS11において、処理部21は、第1最大誤差が最も小さくなる第1制御点P2のΔxの値と、第2最大誤差が最も小さくなる第2制御点P5のΔxの値とを学習値として記憶部22に保存する第13処理を実行する(第13工程)。
 処理部21は、上記の第5処理から第13処理までの処理を48個のセグメントの全てについて行うことにより、48個のセグメントのそれぞれについて、第1最大誤差が最も小さくなる第1制御点P2のΔxの値と、第2最大誤差が最も小さくなる第2制御点P5のΔxの値とを取得する。これにより、学習処理の終了時には、48個のセグメントのそれぞれについて、第1最大誤差が最も小さくなる第1制御点P2のΔxの値と、第2最大誤差が最も小さくなる第2制御点P5のΔxの値とが、学習値として記憶部22に保存される。
 次に、本実施形態における処理部21が実行する角度推定処理について説明する。
 処理部21は、磁気センサ11、12及び13から出力されるセンサ信号Hu、Hv及びHwを取得する。具体的には、処理部21は、A/D変換器によってU相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwのそれぞれを所定のサンプリング周波数でデジタル変換することにより、U相センサ信号Hu、V相センサ信号Hv及びW相センサ信号Hwのデジタル値を取得する。
 そして、処理部21は、今回のサンプリングタイミングで得られたセンサ信号Hu、Hv及びHwのデジタル値に基づいて、現在のセクション番号及び極対番号を特定する。例えば図3において、U相センサ信号Huの波形上に位置する点PHuと、V相センサ信号Hvの波形上に位置する点PHvと、W相センサ信号Hwの波形上に位置する点PHwとが、今回のサンプリングタイミングで得られた各センサ信号Hu、Hv及びHwのデジタル値であると仮定する。処理部21は、点PHu、点PHv及び点PHwのデジタル値の大小関係及び正負の符号などの特徴データを、記憶部22に記憶された学習データに含まれる各セクションの特徴データと照合することにより、現在のセクション(セクション番号)を特定する。図3の例では、9番セクションが現在のセクションとして特定される。また、今回のサンプリングタイミングにおける極対番号として、例えば極対番号「2」が特定されたと仮定する。
 そして、処理部21は、特定された現在のセクション番号及び極対番号に基づいて、現在のセグメント番号を特定する。例えば、処理部21は、「セグメント番号=12×極対番号+セクション番号」という式により、現在のセグメント番号を特定する。上記のように、セクション番号「9」が現在のセクション番号として特定され、極対番号「2」が現在の極対番号として特定されたと仮定する。この場合、処理部21は、セグメント番号「33」を現在のセグメント番号として特定する(図2参照)。
 そして、処理部22は、記憶部22に記憶された学習データから、特定されたセグメント番号「i」に対応する正規化係数k[i]及び角度リセット値θres[i]を読み出し、式(1)で表される機械角推定式によって機械角推定値θを算出する。ここで、機械角推定式に代入されるΔxとして、特定されたセグメントに対応するセンサ信号のデジタル値が用いられる。例えば、上記のように、セグメント番号「33」が現在のセグメント番号として特定された場合、処理部21は、記憶部22から正規化係数k[33]及び角度リセット値θres[33]を読み出し、点PHvのデジタル値(図3参照)をΔxとして式(1)に代入することにより、点PHvのデジタル値に対応する機械角推定値θを算出する。
 そして、処理部21は、記憶部22に記憶された学習値に基づいて機械角推定値θを補正する第14処理を実行する(第14工程)。具体的には、処理部21は、上記のように機械角推定値θを算出した後、特定されたセグメント番号「i」に対応する学習値、すなわち、第1最大誤差が最も小さくなる第1制御点P2のΔxの値と、第2最大誤差が最も小さくなる第2制御点P5のΔxの値とを記憶部22から読み出し、これらの第1制御点P2及び第2制御点P5に加えて、原点P1、頂点P3及び端点P4の座標に基づいて第1ベジエ曲線及び第2ベジエ曲線による機械角推定値θの補正を行う。このようなベジエ曲線による補正後に得られる機械角推定値θは、機械角真値θeとの誤差が限りなくゼロに近い極めて精度の高い値となる。
 既に述べたように、特許第6233532号公報に開示された基本特許方法では、磁気センサ11、12及び13から出力される各センサ信号が、第3次、第5次及び第7次高調波信号などの同相信号を含む場合、第1、第2及び第3の補正処理を行ったとしても、上式(1)に基づく機械角の推定精度(機械角推定値θの精度)が低下する。この点、本実施形態によれば、磁気センサ11、12及び13から出力される各センサ信号に対して第1、第2及び第3の補正処理を行わなくとも、機械角真値θeとの誤差が限りなくゼロに近い極めて精度の高い機械角推定値θを得ることができる。
 また、基本特許方法で採用された第3の補正処理によると、セグメントごとに分割信号の曲がり具合が異なることに起因して、セグメントごとに機械角推定値θと機械角真値θeとの間に生じる誤差が大きくばらつく。この点、本実施形態によれば、セグメントごとに分割信号の曲がり具合が異なっていたとしても、各セグメントのそれぞれについて機械角真値θeとの誤差が限りなくゼロに近い極めて精度の高い機械角推定値θを得ることができる。
 従って、本実施形態によれば、上記のような基本特許方法が有する技術課題を解決して、機械角推定値θと機械角真値θeとの間に生じる角度誤差をより低減でき、もって回転軸の機械角検出精度の向上を実現することができる。
(変形例)
 本発明は上記実施形態に限定されず、本明細書において説明した各構成は、相互に矛盾しない範囲内において、適宜組み合わせることができる。
 例えば、上記実施形態では、第1曲線及び第2曲線がベジエ曲線である場合を例示したが、第1曲線及び第2曲線はBスプライン曲線であってもよい。あるいは、第1曲線及び第2曲線は、少なくとも3つの点から算出可能な曲線であればよい。
 上記実施形態では、位置検出用の磁石、すなわちモータ100のロータシャフト110に同期して回転する磁石としてセンサマグネット120を使う場合を例示したが、モータ100のロータに取り付けられるロータマグネットを、位置検出用の磁石として用いてもよい。ロータマグネットもロータシャフト110に同期して回転する磁石であり、且つ複数の磁極対を有する。
 上記実施形態では、センサ群10に3つの磁気センサ11、12及び13が含まれる場合を例示したが、磁気センサの個数は3つに限定されずN個(Nは3の倍数)であればよい。また、上記実施形態では、センサマグネット120が4つの磁極対を有する場合を例示したが、センサマグネット120の極対数は4つに限定されない。位置検出用の磁石としてロータマグネットを用いる場合も同様に、ロータマグネットの極対数は4つに限定されない。
 1…角度検出装置、10…センサ群、11、12、13…磁気センサ、20…信号処理部、21…処理部、22…記憶部、100…モータ、110…ロータシャフト、120…センサマグネット、200…エンコーダ

Claims (8)

  1.  回転軸の機械角を検出する角度検出方法であって、
     前記回転軸の回転による磁束変化を検出する3つの磁気センサから出力される信号をセンサ信号として取得する工程であって、前記3つのセンサ信号は互いに電気角で120°の位相差を有する、第1工程と、
     前記3つのセンサ信号のうち2つのセンサ信号が互いに交差する交点と、前記3つのセンサ信号の夫々が基準信号レベルと交差するゼロクロス点とを、機械角1周期にわたって抽出する第2工程と、
     互いに隣り合う前記交点と前記ゼロクロス点とを結ぶ直線を表す一次関数θ(Δx)を生成する工程であって、前記Δxは前記直線の始点から前記直線上の任意の点までの長さであり、前記θは前記直線上の任意の点に対応する機械角である、第3工程と、
     前記直線上の点のうち、前記一次関数θ(Δx)を基に算出される機械角θと、前記回転軸に設置されるエンコーダから取得される機械角θeとの誤差が最大値となる点を誤差最大点として探索し、前記直線の始点から前記誤差最大点までの長さをΔx1として取得する第4工程と、
     前記Δxを横軸とし且つ前記誤差を縦軸とする2軸座標系における点のうち、原点と、頂点と、第1制御点とに基づいて第1曲線を算出する工程であって、前記原点は、前記Δx及び前記誤差がゼロである点であり、前記頂点は、前記Δxが前記Δx1であり且つ前記誤差が前記最大値である点であり、前記第1制御点は、前記ΔxがゼロとΔx1との間の値であり且つ前記誤差が前記最大値である点である、第5工程と、
     前記直線上の複数の点のうち、前記直線の始点と前記誤差最大点との間に含まれる点について、前記一次関数θ(Δx)を基に算出される機械角θを前記第1曲線に基づいて補正する第6工程と、
     前記第6工程によって補正された機械角θと前記機械角θeとの最大誤差を第1最大誤差として求める第7工程と、
     前記第1最大誤差が小さくなる方向に前記第1制御点のΔxの値を変更した後に、前記第5工程に戻ることを所定の回数行う第8工程と、
     前記2軸座標系における点のうち、前記頂点と、端点と、第2制御点とに基づいて第2曲線を算出する工程であって、前記端点は、前記Δxが前記直線の最大長さΔxmに相当し且つ前記誤差がゼロである点であり、前記第2制御点は、前記ΔxがΔx1とΔxmとの間の値であり且つ前記誤差が前記最大値である点である、第9工程と、
     前記直線上の複数の点のうち、前記直線の終点と前記誤差最大点との間に含まれる点について、前記一次関数θ(Δx)を基に算出される機械角θを前記第2曲線に基づいて補正する第10工程と、
     前記第10工程によって補正された機械角θと前記機械角θeとの最大誤差を第2最大誤差として求める第11工程と、
     前記第2最大誤差が小さくなる方向に前記第2制御点のΔxの値を変更した後に、前記第9工程に戻ることを所定の回数行う第12工程と、
     前記第1最大誤差が最も小さくなる前記第1制御点のΔxの値と、前記第2最大誤差が最も小さくなる前記第2制御点のΔxの値とを学習値として保存する第13工程と、
     前記学習値に基づいて前記機械角θを補正する第14工程と、
     を有する、角度検出方法。
  2.  前記第1曲線及び前記第2曲線は、ベジエ曲線またはBスプライン曲線である、請求項1に記載の角度検出方法。
  3.  前記第1制御点のΔxの初期値は、前記Δx1の半値である、請求項1または2に記載の角度検出方法。
  4.  前記第2制御点のΔxの初期値は、前記Δx1と前記Δxmとの差分の半値である、請求項1から3のいずれか一項に記載の角度検出方法。
  5.  回転軸の機械角を検出する角度検出装置であって、
     前記回転軸の回転による磁束変化を検出する3つの磁気センサと、
     前記3つの磁気センサから出力される信号を処理する信号処理部と、
     を備え、
     前記信号処理部は、
     前記3つのセンサ信号から出力される信号をセンサ信号として取得する処理であって、前記3つのセンサ信号は互いに電気角で120°の位相差を有する、第1処理と、
     前記3つのセンサ信号のうち2つのセンサ信号が互いに交差する交点と、前記3つのセンサ信号の夫々が基準信号レベルと交差するゼロクロス点とを、機械角1周期にわたって抽出する第2処理と、
     互いに隣り合う前記交点と前記ゼロクロス点とを結ぶ直線を表す一次関数θ(Δx)を生成する処理であって、前記Δxは前記直線の始点から前記直線上の任意の点までの長さであり、前記θは前記直線上の任意の点に対応する機械角である、第3処理と、
     前記直線上の点のうち、前記一次関数θ(Δx)を基に算出される機械角θと、前記回転軸に設置されるエンコーダから取得される機械角θeとの誤差が最大値となる点を誤差最大点として探索し、前記直線の始点から前記誤差最大点までの長さをΔx1として取得する第4処理と、
     前記Δxを横軸とし且つ前記誤差を縦軸とする2軸座標系における点のうち、原点と、頂点と、第1制御点とに基づいて第1曲線を算出する処理であって、前記原点は、前記Δx及び前記誤差がゼロである点であり、前記頂点は、前記Δxが前記Δx1であり且つ前記誤差が前記最大値である点であり、前記第1制御点は、前記ΔxがゼロとΔx1との間の値であり且つ前記誤差が前記最大値である点である、第5処理と、
     前記直線上の複数の点のうち、前記直線の始点と前記誤差最大点との間に含まれる点について、前記一次関数θ(Δx)を基に算出される機械角θを前記第1曲線に基づいて補正する第6処理と、
     前記第6処理によって補正された機械角θと前記機械角θeとの最大誤差を第1最大誤差として求める第7処理と、
     前記第1最大誤差が小さくなる方向に前記第1制御点のΔxの値を変更した後に、前記第5処理に戻ることを所定の回数行う第8処理と、
     前記2軸座標系における点のうち、前記頂点と、端点と、第2制御点とに基づいて第2曲線を算出する処理であって、前記端点は、前記Δxが前記直線の最大長さΔxmに相当し且つ前記誤差がゼロである点であり、前記第2制御点は、前記ΔxがΔx1とΔxmとの間の値であり且つ前記誤差が前記最大値である点である、第9処理と、
     前記直線上の複数の点のうち、前記直線の終点と前記誤差最大点との間に含まれる点について、前記一次関数θ(Δx)を基に算出される機械角θを前記第2曲線に基づいて補正する第10処理と、
     前記第10処理によって補正された機械角θと前記機械角θeとの最大誤差を第2最大誤差として求める第11処理と、
     前記第2最大誤差が小さくなる方向に前記第2制御点のΔxの値を変更した後に、前記第9処理に戻ることを所定の回数行う第12処理と、
     前記第1最大誤差が最も小さくなる前記第1制御点のΔxの値と、前記第2最大誤差が最も小さくなる前記第2制御点のΔxの値とを学習値として保存する第13処理と、
     前記学習値に基づいて前記機械角θを補正する第14処理と、
     を実行する、角度検出装置。
  6.  前記第1曲線及び前記第2曲線は、ベジエ曲線またはBスプライン曲線である、請求項5に記載の角度検出装置。
  7.  前記第1制御点のΔxの初期値は、前記Δx1の半値である、請求項5または6に記載の角度検出装置。
  8.  前記第2制御点のΔxの初期値は、前記Δx1と前記Δxmとの差分の半値である、請求項5から7のいずれか一項に記載の角度検出装置。
PCT/JP2022/010669 2021-05-31 2022-03-10 角度検出方法および角度検出装置 WO2022254862A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023525414A JPWO2022254862A1 (ja) 2021-05-31 2022-03-10
CN202280038734.1A CN117413160A (zh) 2021-05-31 2022-03-10 角度检测方法以及角度检测装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-090904 2021-05-31
JP2021090904 2021-05-31

Publications (1)

Publication Number Publication Date
WO2022254862A1 true WO2022254862A1 (ja) 2022-12-08

Family

ID=84324241

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/010669 WO2022254862A1 (ja) 2021-05-31 2022-03-10 角度検出方法および角度検出装置

Country Status (3)

Country Link
JP (1) JPWO2022254862A1 (ja)
CN (1) CN117413160A (ja)
WO (1) WO2022254862A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302355A (ja) * 1994-04-28 1995-11-14 Sony Corp 自由曲線作成方法
US5994881A (en) * 1997-10-07 1999-11-30 Hitachi, Ltd. Control apparatus for a synchronous generator system and a hybrid-type electric vehicle using it
JP2011196868A (ja) * 2010-03-19 2011-10-06 Yaskawa Electric Corp 位置データ補正装置、エンコーダ、モータシステム及び位置データ補正方法
WO2016104378A1 (ja) * 2014-12-22 2016-06-30 日本電産株式会社 位置推定方法および位置制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302355A (ja) * 1994-04-28 1995-11-14 Sony Corp 自由曲線作成方法
US5994881A (en) * 1997-10-07 1999-11-30 Hitachi, Ltd. Control apparatus for a synchronous generator system and a hybrid-type electric vehicle using it
JP2011196868A (ja) * 2010-03-19 2011-10-06 Yaskawa Electric Corp 位置データ補正装置、エンコーダ、モータシステム及び位置データ補正方法
WO2016104378A1 (ja) * 2014-12-22 2016-06-30 日本電産株式会社 位置推定方法および位置制御装置

Also Published As

Publication number Publication date
CN117413160A (zh) 2024-01-16
JPWO2022254862A1 (ja) 2022-12-08

Similar Documents

Publication Publication Date Title
JP6163874B2 (ja) 回転角度検出装置、画像処理装置及び回転角度検出方法
US5760562A (en) Apparatus and method for generating digital position signals for a rotatable shaft
WO2017104674A1 (ja) モータモジュールおよびモータ認証方法
CN108155844B (zh) 一种电机初始位置角的校准方法及装置
WO2013136612A1 (ja) 角度検出装置
TWI410655B (zh) 同步電動機之電感測定裝置及測定方法
WO2019159311A1 (ja) Dcモータの制御装置
JP2012189375A (ja) 回転角検出装置
CN111656676B (zh) 用于电力转换装置的控制装置以及电动机驱动系统
JP4515120B2 (ja) レゾルバディジタル角度変換装置および方法ならびにプログラム
WO2022254862A1 (ja) 角度検出方法および角度検出装置
CN111801883A (zh) 位置推定方法、位置推定装置以及电动机模块
WO2022254863A1 (ja) 角度検出方法および角度検出装置
KR20170087415A (ko) 인코더
WO2023167329A1 (ja) 信号生成装置および信号生成方法
WO2023167328A1 (ja) 信号生成装置および信号生成方法
WO2023053596A1 (ja) 三相信号生成装置および三相信号生成方法
WO2023053598A1 (ja) 三相信号生成装置および三相信号生成方法
JP6112832B2 (ja) 角度補正装置及び回転角センサ
WO2024004448A1 (ja) 信号生成装置および信号生成方法
WO2022208913A1 (ja) 位置検出装置および位置検出方法
WO2022176507A1 (ja) 位置検出装置、位置検出方法、無人搬送車および縫製装置
US20240136893A1 (en) Position detection device, position detection method, automated guided vehicle, and sewing device
WO2022208914A1 (ja) 三相信号発生装置および三相信号発生方法
WO2023100886A1 (ja) 信号生成装置およびエレベータ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22815619

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023525414

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE