WO2024004448A1 - 信号生成装置および信号生成方法 - Google Patents

信号生成装置および信号生成方法 Download PDF

Info

Publication number
WO2024004448A1
WO2024004448A1 PCT/JP2023/019227 JP2023019227W WO2024004448A1 WO 2024004448 A1 WO2024004448 A1 WO 2024004448A1 JP 2023019227 W JP2023019227 W JP 2023019227W WO 2024004448 A1 WO2024004448 A1 WO 2024004448A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
phase signal
processing unit
signal
phase
Prior art date
Application number
PCT/JP2023/019227
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 ニデック株式会社
Publication of WO2024004448A1 publication Critical patent/WO2024004448A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position

Definitions

  • the present invention relates to a signal generation device and a signal generation method.
  • 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.
  • Patent Document 1 can estimate the mechanical angle of a rotating body with high accuracy using three inexpensive and small magnetic sensors, the market may require higher accuracy. Ta.
  • One aspect of the signal generation device of the present invention includes N sensors that output N-phase signals (N is a multiple of 3) according to the rotation angle of the rotating body, and the N-phase a signal processing unit that corrects the signal, and in the arithmetic expression (10), H i is the i-th phase signal (i is an integer from 1 to N), and H i ' is the i-th phase signal after correction.
  • H iP-P is the difference between the maximum value H imax and the minimum value H imin of the i-th phase signal
  • H iofs is the offset of the i-th phase signal
  • H iP -PL is a learned value of the difference H iP-P
  • H iofsL is a learned value of the offset H iofs .
  • One aspect of the signal generation method of the present invention is a signal generation method using N sensors that output N phase signals (N is a multiple of 3) according to the rotation angle of a rotating body, which uses the calculation formula (10 ), in the arithmetic expression (10), H i is an i-th phase signal (i is an integer from 1 to N), and H i ' is is the i-th phase signal after correction, H iP-P is the difference between the maximum value H imax and the minimum value H imin of the i-th phase signal, and H iofs is the offset of the i-th phase signal. H iP-PL is the learned value of the difference H iP-P , and H iofsL is the learned value of the offset H iofs .
  • a signal generation device and a signal generation method that can improve the accuracy of estimating the mechanical angle (rotation angle) of a rotating body.
  • FIG. 1 is a block diagram schematically showing the configuration of a signal generation device 1 in an embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of waveforms of the U-phase signal Hu, the V-phase signal Hv, and the W-phase signal Hw.
  • FIG. 3 is an enlarged view of the U-phase signal Hu, V-phase signal Hv, and W-phase signal Hw included in one pole pair region shown in FIG. 2.
  • FIG. 4 is a flowchart showing a learning process executed by the processing unit 21 of the signal generation device 1 in this embodiment.
  • FIG. 5 is a diagram showing an example of the waveform of the i-phase learning signal H iL .
  • FIG. 6 is a flowchart showing the first angle estimation process executed by the processing unit 21 of the signal generation device 1 in this embodiment.
  • FIG. 7 is a diagram showing a first example of the waveform of the i-th phase signal H i .
  • FIG. 8 is a flowchart showing the second angle estimation process executed by the processing unit 21 of the signal generation device 1 in this embodiment.
  • FIG. 9 is a diagram showing a second example of the waveform of the i-th phase signal H i .
  • FIG. 10 is an enlarged diagram of the waveform of the i-th phase signal H i included in the period from time t30 to time t32 among the waveforms of the i-th phase signal H i shown in FIG.
  • FIG. 1 is a block diagram schematically showing the configuration of a signal generation device 1 in an embodiment of the present invention.
  • the signal generation device 1 is a device that detects a mechanical angle (rotation angle) of a rotor shaft 110, which is a rotation axis of a motor 100.
  • the motor 100 is, for example, an inner rotor type three-phase brushless DC motor.
  • the motor 100 includes a rotor shaft 110 (rotating body) and a sensor magnet 120.
  • the sensor magnet 120 is a disk-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 of 1 or more). In this embodiment, as an example, the sensor magnet 120 has four magnetic pole pairs. Note that the term "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 and S poles, for a total of eight magnetic poles.
  • the signal generation 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 unit 20 are arranged on the circuit board.
  • the sensor magnet 120 is placed at a position where it does not interfere with the circuit board. Sensor magnet 120 may be placed inside the housing of motor 100 or outside the housing.
  • the sensor group 10 includes N sensors that output N-phase signals (N is a multiple of 3) according to the mechanical angle of the rotor shaft 110.
  • N is a multiple of 3
  • the sensor group 10 includes three sensors that output three-phase signals depending on the mechanical angle of the rotor shaft 110.
  • the sensor group 10 includes a first magnetic sensor 11 , a second magnetic sensor 12 , and a third magnetic sensor 13 .
  • the first magnetic sensor 11, the second magnetic sensor 12, and the third magnetic sensor 13 are arranged on the circuit board so as to face the sensor magnet 120.
  • the first magnetic sensor 11, the second magnetic sensor 12, and the third magnetic sensor 13 are arranged at 30° intervals along the rotation direction of the sensor magnet 120 on the circuit board.
  • the first magnetic sensor 11, the second magnetic sensor 12, and the third magnetic sensor 13 are each an analog output type magnetic sensor including a magnetic resistance element, such as a Hall element or a linear Hall IC.
  • the first magnetic sensor 11, the second magnetic sensor 12, and the third magnetic sensor 13 each output an analog signal indicating a magnetic field strength that changes depending on the rotational position of the rotor shaft 110, that is, the rotational position of the sensor magnet 120.
  • One electrical angle period of the analog signals output from the first magnetic sensor 11, second magnetic sensor 12, and third magnetic sensor 13 corresponds to 1/P of one mechanical angle period.
  • one period of electrical angle of each analog signal corresponds to 1/4 of one period of mechanical angle, that is, 90 degrees in mechanical angle.
  • the analog signal output from the second magnetic sensor 12 has a phase delay of 120 electrical degrees with respect to the analog signal output from the first magnetic sensor 11.
  • the analog signal output from the third magnetic sensor 13 has a phase lag of 120 electrical degrees with respect to the analog signal output from the second magnetic sensor 12.
  • the analog signal output from the first magnetic sensor 11 will be referred to as a U-phase signal Hu
  • the analog signal output from the second magnetic sensor 12 will be referred to as a V-phase signal Hv
  • the analog signal output from the third magnetic sensor 13 will be referred to as a U-phase signal Hu.
  • This analog signal is called a W-phase signal Hw.
  • the U-phase signal Hu output from the first magnetic sensor 11, the V-phase signal Hv output from the second magnetic sensor 12, and the W-phase signal Hw output from the third magnetic sensor 13 are each processed by a signal processing unit. 20 is input.
  • the signal processing unit 20 is a signal processing circuit that processes the U-phase signal Hu, the V-phase signal Hv, and the W-phase signal Hw.
  • the signal processing unit 20 estimates the mechanical angle of the rotor shaft 110, which is a rotating body, based on the U-phase signal Hu, the V-phase signal Hv, and the W-phase signal Hw.
  • the signal processing section 20 includes a processing section 21 and a memory 22.
  • the processing unit 21 is, for example, a microprocessor such as an MCU (Microcontroller Unit).
  • the U-phase signal Hu, the V-phase signal Hv, and the W-phase signal Hw are each input to the processing unit 21.
  • the processing unit 21 is communicably connected to the memory 22 via a communication bus (not shown).
  • the processing unit 21 executes at least the following two processes according to a program stored in the memory 22 in advance.
  • the processing unit 21 executes a learning process to acquire learning data necessary for estimating the mechanical angle of the rotor shaft 110 based on the U-phase signal Hu, the V-phase signal Hv, and the W-phase signal Hw.
  • Off-line processing is processing that is executed before the signal generation device 1 is shipped from a manufacturing factory or before the signal generation device 1 is incorporated into a customer's system and put into actual operation.
  • the processing unit 21 estimates the mechanical angle of the rotor shaft 110 based on the U-phase signal Hu, the V-phase signal Hv, the W-phase signal Hw, and learning data obtained by the learning process.
  • Execute estimation processing is processing that is executed when the signal generation device 1 is incorporated into a customer's system and is put into actual operation.
  • the memory 22 includes a nonvolatile memory that stores programs necessary for the processing unit 21 to execute various processes, various setting data, and the above-mentioned learning data, and a temporary memory for storing data when the processing unit 21 executes various processes.
  • volatile memory used as a storage location.
  • Nonvolatile memory is, for example, EEPROM (Electrically Erasable Programmable Read-Only Memory) or flash memory.
  • the volatile memory is, for example, RAM (Random Access Memory).
  • the processing unit 21 converts the digital values (instantaneous value).
  • the processing unit 21 has a built-in A/D converter, and the processing unit 21 uses the A/D converter to convert each of the U-phase signal Hu, V-phase signal Hv, and W-phase signal Hw to predetermined values.
  • digital values of the U-phase signal Hu, V-phase signal Hv, and W-phase signal Hw are obtained.
  • the rotor shaft 110 may be rotated by controlling the energization of the motor 100 via a motor control device (not shown).
  • the rotor shaft 110 may be connected to a rotating machine (not shown), and the rotor shaft 110 may be rotated by the rotating machine.
  • FIG. 2 is a diagram showing an example of the waveforms of the U-phase signal Hu, the V-phase signal Hv, and the W-phase signal Hw.
  • one period of electrical angle of each of the three-phase signals Hu, Hv, and Hw corresponds to 1/4 of one period of mechanical angle, that is, 90 degrees in mechanical angle.
  • the period from time t1 to time t5 corresponds to one period of mechanical angle (360 degrees in mechanical angle).
  • a period from time t1 to time t2, a period from time t2 to time t3, a period from time t3 to time t4, and a period from time t4 to time t5 are each 90 degrees in mechanical angle. corresponds to degrees.
  • the three-phase signals Hu, Hv, and Hw have a phase difference of 120 degrees in electrical angle.
  • the processing unit 21 determines the intersection points where two phase signals among the three-phase signals intersect with each other, and the zero-crossing points where each of the three-phase signals intersects with the reference signal level. are extracted over one period of mechanical angle.
  • the reference signal level is, for example, a ground level. When the reference signal level is the ground level, the digital value of the reference signal level is "0".
  • the processing unit 21 divides one period of mechanical angle into four pole pair regions linked to pole pair numbers, based on the extraction results of zero crossing points.
  • "No. C” indicates the pole pair number.
  • pole pair numbers are assigned in advance to the four magnetic pole pairs of the sensor magnet 120. For example, a pole pair number "0” is assigned to a magnetic pole pair provided in a mechanical angle range of 0 degrees to 90 degrees. A pole pair number "1” is assigned to magnetic pole pairs provided in a range of 90 degrees to 180 degrees in mechanical angle. A pole pair number "2” is assigned to the magnetic pole pairs provided in the range of 180 degrees to 270 degrees in mechanical angle. A pole pair number "3” is assigned to the magnetic pole pairs provided in the range of 270 degrees to 360 degrees in mechanical angle.
  • the processing unit 21 selects the zero-crossing point obtained at the sampling timing (time t1) when the mechanical angle is 0 degrees among the zero-crossing points of the U-phase signal Hu by the pole pair number. It is recognized as the starting point of the polar pair area linked to "0". In addition, the processing unit 21 converts the zero-crossing points obtained at the sampling timing (time t2) when the mechanical angle is 90 degrees out of the zero-crossing points of the U-phase signal Hu to the poles associated with the pole pair number "0". Recognized as the end point of the paired area. 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 converts the zero-crossing point obtained at the sampling timing (time t2) when the mechanical angle is 90 degrees into the pole pair area linked to the pole pair number "1". It is also recognized as the starting point. Furthermore, the processing unit 21 converts the zero-crossing points obtained at the sampling timing (time t3) when the mechanical angle is 180 degrees among the zero-crossing points of the U-phase signal Hu to the poles linked to the pole pair number "1". Recognized as the end point of the paired area. That is, the processing unit 21 determines the section between the zero-crossing point obtained at time t2 and the zero-crossing point obtained at time t3 as the pole pair region associated with the pole pair number "1".
  • the processing unit 21 converts the zero-crossing point obtained at the sampling timing (time t3) when the mechanical angle is 180 degrees into the pole pair area linked to the pole pair number "2". It is also recognized as the starting point. In addition, the processing unit 21 converts the zero-crossing points obtained at the sampling timing (time t4) when the mechanical angle is 270 degrees, among the zero-crossing points of the U-phase signal Hu, to the poles associated with the pole pair number "2". Recognized as the end point of the paired area. That is, the processing unit 21 determines the section between the zero-crossing point obtained at time t3 and the zero-crossing point obtained at time t4 as the pole pair region associated with the pole pair number "2".
  • the processing unit 21 converts the zero-crossing point obtained at the sampling timing (time t4) when the mechanical angle is 270 degrees into the pole pair area linked to the pole pair number "3". It is also recognized as the starting point. In addition, the processing unit 21 converts the zero-crossing points obtained at the sampling timing (time t5) when the mechanical angle is 360 degrees among the zero-crossing points of the U-phase signal Hu to the poles associated with the pole pair number "3". Recognized as the end point of the paired area. That is, the processing unit 21 determines the section between the zero-crossing point obtained at time t4 and the zero-crossing point obtained at time t5 as the pole pair region associated with the pole pair number "3".
  • 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 intersection points and zero-crossing points.
  • "No. A” indicates a section number associated with each section.
  • the 12 sections included in each of the four pole pair areas are associated with section numbers from "0" to "11".
  • FIG. 3 is an enlarged view of three-phase signals Hu, Hv, and Hw included in one pole pair region shown in FIG. 2.
  • the amplitude reference value (reference signal level) is "0".
  • the digital value of the positive amplitude represents, for example, the digital value of the magnetic field strength of the north pole.
  • the digital value of the negative amplitude 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 extracted from the digital values of three-phase signals Hu, Hv, and Hw included in one polar pair region. This is the zero crossing point.
  • point P2, point P4, point P6, point P8, point P10, and point P12 are intersection points extracted from the digital values of three-phase signals Hu, Hv, and Hw included in one polar pair region. It is. As shown in FIG. 3, the processing unit 21 determines the section between adjacent zero-crossing points and intersections as a section.
  • 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 a 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 cross 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 cross 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 cross 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 cross point P13 as the section linked to the section number "11".
  • the section assigned the section number "0” will be referred to as the "No. 0 section”
  • the section assigned the section number "11” will be referred to as the "No. 11 section”.
  • segment refers to a straight line that connects mutually adjacent intersection points and zero-crossing points.
  • a straight line connecting the starting point and ending point of each section is called a segment.
  • the starting point of the 0th section is the zero crossing point P1
  • the ending point of the 0th section is the intersection point P2. Therefore, the segment corresponding to section 0 is a straight line connecting zero-crossing point P1 and intersection point P2.
  • the starting point of section 1 is intersection point P2
  • the ending point of section 1 is 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 segment number "0" will be referred to as “segment 0”
  • segment assigned segment number "11” will be referred to as “segment 11”.
  • 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 an arbitrary point on the segment
  • is the mechanical angle corresponding to the arbitrary point on the segment.
  • the starting point of the segment corresponding to the 0th section is the zero crossing point P1
  • the ending point of the segment corresponding to the 0th section is the intersection point P2.
  • the starting point of the segment corresponding to section 1 is intersection point P2
  • the ending point of the segment corresponding to section 1 is zero crossing point P3.
  • a linear function ⁇ ( ⁇ x) representing a segment is expressed by the following equation (1).
  • "i" is a segment number and is an integer from 0 to 47.
  • the linear function ⁇ ( ⁇ x) expressed by the following formula (1) will be referred to as the mechanical angle estimation formula, and the mechanical angle ⁇ calculated by the following formula (1) will be referred to as the mechanical angle estimated value.
  • ⁇ ( ⁇ x) k[i] ⁇ x+ ⁇ res[i]...(1)
  • k[i] is a coefficient called a normalization coefficient.
  • k[i] is a coefficient representing the slope of the i-th segment.
  • the normalization coefficient k[i] is expressed by the following formula (2).
  • ⁇ Xnorm[i] is the deviation of the digital value between the start point and end point of the i-th segment.
  • ⁇ Xnorm[i] of the segment corresponding to section 0 is the deviation of the digital value between the zero crossing point P1 and the intersection point P2.
  • ⁇ Xnorm[i] of the segment corresponding to section 1 is the deviation of the digital value 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 starting point and the end point of the i-th segment, and is expressed by the following formula (3).
  • formula (3) t[i] is the time between the start point and end point of the i-th segment
  • t[0] is the time between the start point and end point of the 0-th segment
  • t[47 ] is the time between the start and end points of the 47th segment.
  • t[0] is the time between the zero crossing point P1 and the intersection point P2.
  • ⁇ norm[i] ⁇ t[i]/(t[0]+...+t[47]) ⁇ 360[degM]...(3)
  • ⁇ 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 expressed by the following equation (4).
  • the segment number "i” is one of "1” to "47”
  • the processing unit 21 obtains 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, These acquired data are stored in the memory 22 as learning data.
  • the characteristic data of each section includes the magnitude relationship and positive/negative sign of the digital values of the three-phase signals Hu, Hv, and Hw included in each section.
  • the normalization coefficient k[i] and the angle reset value ⁇ res[i] that constitute the mechanical angle estimation formula for each segment are stored in the memory 22 as learning data.
  • the processing unit 21 starts the angle estimation process, it acquires the three-phase signals Hu, Hv, and Hw output from each of the magnetic sensors 11, 12, and 13. Specifically, the processing unit 21 digitally converts each of the U-phase signal Hu, V-phase signal Hv, and W-phase signal Hw at a predetermined sampling frequency using an A/D converter, thereby converting the U-phase signal Hu, V-phase signal Hv, and W-phase signal Hw into digital signals. Acquire the digital values of the phase signal Hv and the W-phase signal Hw.
  • the processing unit 21 identifies the current section number and pole pair number based on the digital values of the three-phase signals Hu, Hv, and Hw obtained at the current sampling timing. For example, in FIG. 3, a point PHu located on the waveform of the U-phase signal Hu, a point PHv located on the waveform of the V-phase signal Hv, and a point PHw located on the waveform of the W-phase signal Hw are It is assumed that these are digital values of three-phase signals Hu, Hv, and Hw obtained at the sampling timing.
  • the processing unit 21 compares feature data such as the magnitude relationship and positive/negative signs 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 memory 22.
  • section number In the example of FIG. 3, section 9 is identified as the current section. Note that, in this specification, a method for specifying the pole pair number will not be explained. Please refer to Japanese Patent No. 6233532 for the method of specifying the pole pair number. Assume that, for example, the pole pair number "2" is specified as the pole pair number at the current 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 memory 22, and calculates the normalization coefficient k[i] and angle reset value ⁇ res[i] by using the above equation (1).
  • the estimated mechanical angle value ⁇ is calculated using the mechanical angle estimation formula expressed.
  • the digital value of the three-phase 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 memory 22, and By substituting the digital value of PHv (see FIG. 3) into the mechanical angle estimation formula as ⁇ x, the estimated mechanical angle value ⁇ at the current sampling timing is calculated.
  • the waveforms of the three-phase signals Hu, Hv, and Hw obtained from the sensor group 10 when the angle estimation process is executed may change from the waveforms obtained when the learning process is executed due to the occurrence of a disturbance.
  • the waveforms of the three-phase signals Hu, Hv, and Hw obtained from the sensor group 10 are different between when the angle estimation process is executed and when the learning process is executed, the learning process
  • the obtained learning data may not be utilized appropriately, and the mechanical angle estimation accuracy (accuracy of the estimated mechanical angle value ⁇ ) may decrease.
  • the present invention is capable of reducing the angular error between the estimated mechanical angle value ⁇ and the true mechanical angle value caused by disturbances, thereby improving the accuracy of mechanical angle estimation, compared to the basic patented method described above. purpose.
  • FIG. 4 is a flowchart showing the learning process executed by the processing unit 21 of the signal generation device 1 in this embodiment.
  • the processing unit 21 first executes basic learning processing (step S1).
  • the processing unit 21 performs basic learning processing to determine the correspondence between pole pair numbers, section numbers, and segment numbers, the feature data of each section, and the mechanical angle estimation formula of each segment. These acquired data are stored in the memory 22 as learning data.
  • the processing unit 21 calculates the peak-to-peak learned value H iP-PL of the i-th phase signal H i based on the digital values of the three-phase signals Hu, Hv, and Hw obtained when executing the basic learning process. , an offset learning value HiofsL (step S2).
  • i is an integer from 1 to N (3 in this embodiment).
  • the first phase signal H1 corresponds to the U-phase signal Hu.
  • the second phase signal H2 corresponds to the V-phase signal Hv.
  • the third phase signal H3 corresponds to the W phase signal Hw.
  • the i-th phase signal H i obtained during execution of the basic learning process will be referred to as the i-th phase learning signal H iL .
  • FIG. 5 is a diagram showing an example of the waveform of the i-phase learning signal H iL .
  • one period of electrical angle of the i-phase learning signal H iL corresponds to 90 degrees in mechanical angle.
  • the period from time t10 to time t14 corresponds to one period of mechanical angle (360 degrees in mechanical angle).
  • a period from time t10 to time t11, a period from time t11 to time t12, a period from time t12 to time t13, and a period from time t13 to time t14 are each 90 in mechanical angle. corresponds to degrees.
  • step S2 the processing unit 21 obtains the value (digital value) of the positive peak point P imaxL included in the i-phase learning signal H iL as the maximum value H imaxL of the i-phase learning signal H iL . Furthermore, the processing unit 21 obtains the value (digital value) of the negative peak point P iminL included in the i-phase learning signal H iL as the minimum value H iminL of the i-phase learning signal H iL . Then, the processing unit 21 calculates the peak-to-peak learning value H iP-PL of the i-phase learning signal H iL based on the following arithmetic expression (6). In this way, the peak-to-peak learning value H iP-PL is the difference between the maximum value H imaxL and the minimum value H iminL of the i-phase learning signal H iL .
  • step S2 the processing unit 21 calculates the offset learning value H iofsL of the i-phase learning signal H iL based on the following arithmetic expression (7).
  • the processing unit 21 uses the maximum value H imaxL and the minimum value H iminL of the i-phase learning signal H iL obtained in one electrical angle cycle from time t11 to time t12, A peak-to-peak learned value H iP-PL and an offset learned value H iofsL may be calculated.
  • the processing unit 21 uses the maximum value H imaxL and the minimum value H iminL of the i-phase learning signal H iL obtained in another period of electrical angle to calculate the peak-to-peak learned values H iP-PL and An offset learning value H iofsL may be calculated.
  • the processing unit 21 uses the average value of the four maximum values H imaxL and the average value of the four minimum values H iminL of the i-phase learning signal H iL obtained in one mechanical angle cycle to The to-peak learned value H iP-PL and the offset learned value H iofsL may be calculated.
  • the processing unit 21 stores the peak-to-peak learning value H iP-PL and the offset learning value H iofsL obtained by the process of step S2 as described above in the memory 22, and then performs the learning process shown in FIG. end. In this way, when the processing unit 21 performs the learning process, the memory 22 stores not only the learning data obtained by the basic learning process but also the peak-to-peak learning value H iP of the i-phase learning signal H iL . - PL and offset learning value H iofsL are saved.
  • FIG. 6 is a flowchart showing the first angle estimation process executed by the processing unit 21 of the signal generation device 1 in this embodiment.
  • the processing unit 21 repeatedly executes the first angle estimation process shown in FIG. 6 at a predetermined period.
  • the processing unit 21 upon starting the first angle estimation process, the processing unit 21 first obtains digital values of the three-phase signals Hu, Hv, and Hw (step S11).
  • the processing unit 21 determines whether the correction start flag is "0" (step S12).
  • the correction start flag is a flag that is reset to "0" when the processing unit 21 is activated.
  • the processing unit 21 moves to the process of step S13.
  • the processing unit 21 moves to the process of step S17. In the following, first, the processing executed when the correction start flag is "0" will be explained.
  • step S12 When the correction start flag is "0" (step S12: Yes), the processing unit 21 calculates the mechanical angle estimated value by executing the basic angle estimation process based on the digital values of the three-phase signals Hu, Hv, and Hw. ⁇ is calculated (step S13). Then, the processing unit 21 calculates the rotor shaft based on the mechanical angle estimated value ⁇ obtained in the past first angle estimation process and the mechanical angle estimated value ⁇ obtained in the current first angle estimation process. 110 is rotated by 90 degrees (step S14).
  • step S14: No When the processing unit 21 determines that the rotor shaft 110 has not rotated 90 degrees (step S14: No), the processing unit 21 skips the processing of steps S15 and S16, which will be described later, and ends the current first angle estimation processing. On the other hand, if the processing unit 21 determines that the rotor shaft 110 has rotated 90 degrees (step S14: Yes), the processing unit 21 determines the digital values of the three-phase signals Hu, Hv, and Hw obtained during the period in which the rotor shaft 110 rotates 90 degrees. Based on this, the peak-to-peak value H iP-P and the offset H iofs of the i-th phase signal H i are calculated (step S15).
  • FIG. 7 is a diagram showing an example of the waveform of the i-th phase signal H i obtained during a period in which the rotor shaft 110 rotates 90 degrees (a period from time t20 to time t21). Note that, for convenience, FIG. 7 also shows the waveform of the i-th phase signal H i obtained during the period in which the rotor shaft 110 rotates from 90 degrees to 360 degrees (period from time t21 to time t24). Further, FIG. 7 also shows the waveform of the i-phase learning signal H iL shown in FIG. 5 .
  • one period of electrical angle of the i-th phase signal H i corresponds to 90 degrees in mechanical angle.
  • the period from time t20 to time t24 corresponds to one period of mechanical angle (360 degrees in mechanical angle).
  • a period from time t20 to time t21, a period from time t21 to time t22, a period from time t22 to time t23, and a period from time t23 to time t24 are each 90 degrees in mechanical angle. corresponds to degrees.
  • step S15 the processing unit 21 converts the value (digital value) of the positive peak point P imax included in the i-th phase signal H i obtained in the period from time t20 to time t21 into the i-th phase signal H i
  • the maximum value H imax is obtained.
  • the processing unit 21 converts the value (digital value) of the negative peak point P imin included in the i-th phase signal H i obtained in the period from time t20 to time t21 into the minimum value of the i-th phase signal H i. Obtain as the value H imin .
  • the processing unit 21 calculates the peak-to-peak value H iP ⁇ P of the i-th phase signal H i based on the following arithmetic expression (8).
  • the peak-to-peak value H iP-P is the difference between the maximum value H imax and the minimum value H imin of the i-th phase signal H i .
  • step S15 the processing unit 21 calculates the offset H iofs of the i-th phase signal H i based on the following arithmetic expression (9).
  • the waveform of the i-phase signal H i obtained when executing the first angle estimation process is different from the i-phase learning signal H iL obtained when executing the learning process due to the occurrence of a disturbance.
  • the waveform may change. For example, if the temperature at the time of execution of the first angle estimation process is higher than the temperature at the time of execution of the learning process, as shown in FIG. may be smaller than the peak-to-peak learning value H iP ⁇ PL of the i-phase learning signal H iL .
  • the offset H iofs of the i-phase signal H i is the offset learning value H of the i-phase learning signal H iL . It is possible to shift from iofsL in the positive direction or in the negative direction.
  • the processing unit 21 stores in the memory 22 the peak-to-peak value H iP ⁇ P and the offset H iofs of the i-th phase signal H i obtained by the above calculation process.
  • the peak-to-peak value H 1P-P and offset H 1ofs of the first phase signal H 1 (U-phase signal Hu) and the peak-to-peak value of the second phase signal H 2 (V-phase signal Hv) The value H 2P-P and the offset H 2ofs , and the peak-to-peak value H 3P-P and the offset H 3ofs of the third phase signal H 3 (W-phase signal Hw) are stored in the memory 22.
  • one period of the electrical angle of the three-phase signals Hu, Hv, and Hw corresponds to 90 degrees in mechanical angle, so the rotor shaft 110 rotates 90 degrees.
  • the peak-to-peak values and offsets of the three-phase signals Hu, Hv, and Hw can be obtained from the digital values of the three-phase signals Hu, Hv, and Hw obtained during the period.
  • one electrical angle period of the three-phase signals Hu, Hv, and Hw corresponds to 72 degrees in mechanical angle.
  • the peak-to-peak values and offsets of the three-phase signals Hu, Hv, and Hw can be obtained from the digital values of the signals Hu, Hv, and Hw. That is, when the number of pole pairs P is five, the processing unit 21 may determine whether the rotor shaft 110 has rotated 72 degrees in step S14.
  • the processing unit 21 After executing the process in step S15 above, the processing unit 21 sets the correction start flag to "1" (step S16). After setting the correction start flag to "1", the processing unit 21 ends the current first angle estimation process.
  • the processing unit 21 receives the digital values of the three-phase signals Hu, Hv, and Hw obtained from the sensor group 10 from the time the processing unit 21 is activated until the rotor shaft 110 rotates 90 degrees.
  • An estimated mechanical angle value ⁇ is calculated by executing a basic angle estimation process based on . Then, when the rotor shaft 110 rotates 90 degrees, the processing unit 21 stores the peak-to-peak value H iP-P and the offset H iofs of the i-th phase signal H i in the memory 22, and then sets the correction start flag to " 1”.
  • step S11 A digital value of is acquired (step S11), and it is determined whether the correction start flag is "0" (step S12). At this time, since the correction start flag is set to "1", the processing unit 21 determines that the correction start flag is not "0" (step S12: No), and proceeds to the process of step S17.
  • the processing unit 21 corrects the digital values of the three-phase signals Hu, Hv, and Hw based on the following arithmetic expression (10) (step S17).
  • H i is the digital value of the i-th phase signal H i
  • H i ' is the digital value of the i-th phase signal H i after correction.
  • the i-th phase signal H i after correction will be referred to as the i-th phase correction signal H i '.
  • step S17 the processing unit 21 calculates the peak-to-peak learning value H iP -PL and the offset learning value H iofsL of the i-th phase learning signal H iL, and the peak-to-peak learning value H iofsL of the i-th phase learning signal H i .
  • the to-peak value H iP-P and the offset H iofs are read from the memory 22 .
  • the processing unit 21 substitutes the value read from the memory 22 and the digital value of the i-phase signal H i acquired in step S11 into the above equation (10), thereby obtaining the i-phase correction signal H i Calculate the digital value of '.
  • the waveform of the i-phase correction signal H i ' calculated by the above equation (10) almost matches the waveform of the i-phase learning signal H iL obtained under environments with different temperatures. do. That is, the i-phase correction signal H i ' calculated by the processing unit 21 based on the above calculation formula (10) is the i-phase signal H i that is temperature-compensated with respect to the i-phase learning signal H iL . I can say it.
  • the processing unit 21 stores in the memory 22 the digital value of the i-phase correction signal H i ′ obtained by the above calculation process.
  • the digital value of the first phase correction signal H 1 ′ (corrected U-phase signal Hu)
  • the digital value of the second phase correction signal H 2 ′ (corrected V-phase signal Hv)
  • the digital value of the third phase correction signal H 2 ′ (corrected V-phase signal Hv)
  • the digital value of the correction signal H3 ' (corrected W-phase signal Hw) is stored in the memory 22.
  • the processing unit 21 reads the respective digital values of the first phase correction signal H 1 ′ , the second phase correction signal H 2 ′ , and the third phase correction signal H 3 ′ from the memory 22, and reads out the digital values (
  • the mechanical angle estimate ⁇ is calculated by executing basic angle estimation processing based on the corrected digital values of the three-phase signals Hu, Hv, and Hw (step S18). After executing the process of step S18, the processing unit 21 ends the current first angle estimation process.
  • the processing unit 21 uses temperature-compensated three-phase signals Hu, Hv, and Hw.
  • the estimated mechanical angle value ⁇ is calculated by executing basic angle estimation processing based on the digital value of .
  • the learning data obtained by the basic learning process is applied to the first angle estimation process. Since it can be appropriately utilized when executing the included basic angle estimation process, it is possible to reduce the angular error between the estimated mechanical angle value ⁇ and the true mechanical angle value.
  • the basic learning process is executed in an environment of room temperature
  • the basic angle estimation process is executed in an environment of 85 degrees Celsius
  • the learning process shown in FIG. 4 is executed in an environment of room temperature.
  • the first angle estimation process is particularly effective when a temperature change occurs as a disturbance.
  • disturbances include magnetic field changes and changes in the attachment state of sensor magnet 120 to rotor shaft 110.
  • the second angle estimation process that is effective when a change in the magnetic field or a change in the attachment state of the sensor magnet 120 to the rotor shaft 110 occurs as a disturbance will be described below.
  • FIG. 8 is a flowchart showing the second angle estimation process executed by the processing unit 21 of the signal generation device 1 in this embodiment.
  • the processing unit 21 repeatedly executes the second angle estimation process shown in FIG. 8 at a predetermined period.
  • the processing unit 21 upon starting the second angle estimation process, the processing unit 21 first obtains digital values of the three-phase signals Hu, Hv, and Hw (step S21).
  • the processing unit 21 determines whether the correction start flag is "0" (step S22). As described above, the correction start flag is a flag that is reset to "0" when the processing unit 21 is activated. When the correction start flag is "0" (step S22: Yes), the processing unit 21 moves to the process of step S23. On the other hand, if the correction start flag is not "0" (step S22: No), the processing unit 21 moves to the process of step S29. In the following, first, the processing executed when the correction start flag is "0" will be explained.
  • step S22 When the correction start flag is "0" (step S22: Yes), the processing unit 21 calculates the mechanical angle estimated value by executing the basic angle estimation process based on the digital values of the three-phase signals Hu, Hv, and Hw. ⁇ is calculated (step S23). Then, the processing unit 21 calculates the rotor shaft based on the mechanical angle estimated value ⁇ obtained in the past second angle estimation process and the mechanical angle estimated value ⁇ obtained in the current second angle estimation process. It is determined whether or not 110 has rotated once (step S24).
  • step S24: No If the processing unit 21 determines that the rotor shaft 110 has not made one rotation (step S24: No), it skips the processes from step S25 to step S28, which will be described later, and ends the current second angle estimation process. On the other hand, if the processing unit 21 determines that the rotor shaft 110 has made one rotation (step S24: Yes), the processing unit 21 uses the digital values of the three-phase signals Hu, Hv and Hw obtained during the period in which the rotor shaft 110 makes one rotation. Then, the first intermediate value H imid1 of the i-th phase signal H i is calculated (step S25).
  • FIG. 9 is a diagram showing an example of the waveform of the i-th phase signal H i obtained during one rotation of the rotor shaft 110 (period from time t30 to time t34).
  • one period of electrical angle of the i-th phase signal H i corresponds to 90 degrees in mechanical angle.
  • the period from time t30 to time t34 corresponds to one period of mechanical angle (360 degrees in mechanical angle).
  • a period from time t30 to time t31, a period from time t31 to time t32, a period from time t32 to time t33, and a period from time t33 to time t34 are each 90 degrees in mechanical angle. corresponds to degrees.
  • FIG. 10 is an enlarged diagram of the waveform of the i-th phase signal H i included in the period from time t30 to time t32 among the waveforms of the i-th phase signal H i shown in FIG.
  • the i-phase signal H obtained when executing the second angle estimation process may be a waveform in which the offset waveform W1, which changes in a wavy manner, is superimposed.
  • step S25 the processing unit 21 connects the first positive peak point P imax1 and the first negative peak point P imin1 included in the i-phase signal H i obtained in the period from time t30 to time t31.
  • the value (digital value) of the first intermediate point P imid1 which is the intermediate point of the straight line L1, is calculated as the first intermediate value H imid1 of the i-th phase signal H i (see FIG. 10).
  • step S25 the processing unit 21 calculates the intermediate value between the first maximum value H imax1 and the first minimum value H imin1 of the i-phase signal H i based on the following calculation formula (11).
  • a first intermediate value H imid1 is calculated.
  • the first maximum value H imax1 is the value (digital value) of the first positive peak point P imax1 which is one of the positive peak points included in the i-th phase signal H i .
  • the first minimum value H imin1 is the value ( digital value).
  • the processing unit 21 calculates a second intermediate value H imid2 of the i-phase signal H i based on the digital values of the three-phase signals Hu, Hv, and Hw obtained during one rotation of the rotor shaft 110. (Step S26).
  • step S26 the processing unit 21 connects the first negative peak point P imin1 and the second positive peak point P imax2 included in the i-th phase signal H i obtained in the period from time t30 to time t32.
  • the value (digital value) of the second intermediate point P imid2 which is the intermediate point of the straight line L2, is calculated as the second intermediate value H imid2 of the i-th phase signal H i (see FIG. 10).
  • step S26 the processing unit 21 calculates the intermediate value between the first minimum value H imin1 and the second maximum value H imax2 of the i-phase signal H i based on the following calculation formula (12).
  • a second intermediate value H imid2 is calculated.
  • the second maximum value H imax2 is the value of the second positive peak point P imax2 ( digital value ).
  • step S27 the processing unit 21 calculates the slope ks of the straight line L3 connecting the first intermediate value H imid1 and the second intermediate value H imid2 based on the following calculation formula (13) (step S27).
  • step S27 the processing unit 21 calculates the slope ks of the straight line L3 connecting the first intermediate point P imid1 and the second intermediate point P imid2 (see FIG. 10).
  • ⁇ s is the rotation angle (estimated mechanical angle value ⁇ ) corresponding to the first intermediate value H imid1
  • the rotation angle (estimated mechanical angle value ⁇ ) corresponding to the second intermediate value H imid2 and This is the difference between As understood from FIG. 10, the straight line L3 is a tangent (approximate straight line) to the offset waveform W1 included in the section from the first intermediate point P imid1 to the second intermediate point P imid2 .
  • the processing unit 21 stores the slope ks obtained by the above calculation process in the memory 22 in association with the section identification number representing the section from the first intermediate point P imid1 to the second intermediate point P imid2 . Although not shown in FIG. 8, the processing unit 21 executes the processes corresponding to steps S25 to S27 for other intermediate point sections, thereby determining the slope corresponding to the other intermediate point sections. Calculate ks.
  • the processing unit 21 selects the second positive peak point P imax2 and the second negative peak point P imin2 included in the i-th phase signal H i , which is the midpoint of the straight line.
  • the digital value of the third intermediate point P imid3 is calculated as the third intermediate value H imid3 of the i-th phase signal H i .
  • the processing unit 21 calculates the third intermediate value H imid3 , which is the intermediate value between the second maximum value H imax2 and the second minimum value H imin2 of the i-th phase signal H i .
  • the processing unit 21 calculates the slope ks of the straight line connecting the second intermediate value H imid2 and the third intermediate value H imid3 .
  • the processing unit 21 calculates the slope ks of the straight line connecting the second intermediate point P imid2 and the third intermediate point P imid3 .
  • the processing unit 21 calculates the value obtained by subtracting the third intermediate value H imid3 from the second intermediate value H imid2 as the estimated mechanical angle value ⁇ corresponding to the second intermediate value H imid2 and the third intermediate value H imid2.
  • the slope ks of the straight line connecting the second intermediate point P imid2 and the third intermediate point P imid3 is calculated.
  • the processing unit 21 stores the slope ks obtained by this calculation process in the memory 22 in association with the section identification number representing the section from the second intermediate point P imid2 to the third intermediate point P imid3 .
  • the processing unit 21 generates a second negative peak point P imin2 and a third positive peak point P imax3 included in the i-th phase signal Hi , which is an intermediate point of a straight line.
  • the digital value of the four intermediate points P imid4 is calculated as the fourth intermediate value H imid4 of the i-th phase signal H i .
  • the processing unit 21 calculates a fourth intermediate value H imid4 that is an intermediate value between the third maximum value H imax3 and the second minimum value H imin2 of the i-th phase signal H i .
  • the processing unit 21 calculates the slope ks of the straight line connecting the third intermediate value H imid3 and the fourth intermediate value H imid4 .
  • the processing unit 21 calculates the slope ks of the straight line connecting the third intermediate point P imid3 and the fourth intermediate point P imid4 .
  • the processing unit 21 calculates the value obtained by subtracting the fourth intermediate value H imid4 from the third intermediate value H imid3 as the estimated mechanical angle value ⁇ corresponding to the third intermediate value H imid3 and the fourth intermediate value H imid3.
  • the slope ks of the straight line connecting the third intermediate point P imid3 and the fourth intermediate point P imid4 is calculated by dividing by the difference between H imid4 and the corresponding mechanical angle estimated value ⁇ .
  • the processing unit 21 stores the slope ks obtained by this calculation process in the memory 22 in association with the section identification number representing the section from the third intermediate point P imid3 to the fourth intermediate point P imid4 .
  • the processing unit 21 generates a third positive peak point P imax3 and a third negative peak point P imin3 included in the i-th phase signal H i , which is an intermediate point of a straight line.
  • the digital value of the fifth intermediate point P imid5 is calculated as the fifth intermediate value H imid5 of the i-th phase signal H i .
  • the processing unit 21 calculates the fifth intermediate value H imid5 , which is the intermediate value between the third maximum value H imax3 and the third minimum value H imin3 of the i-th phase signal H i .
  • the processing unit 21 calculates the slope ks of the straight line connecting the fourth intermediate value H imid4 and the fifth intermediate value H imid5 .
  • the processing unit 21 calculates the slope ks of the straight line connecting the fourth intermediate point P imid4 and the fifth intermediate point P imid5 .
  • the processing unit 21 calculates the value obtained by subtracting the fifth intermediate value H imid5 from the fourth intermediate value H imid4 as the estimated mechanical angle value ⁇ corresponding to the fourth intermediate value H imid4 and the fifth intermediate value H imid4.
  • the slope ks of the straight line connecting the fourth intermediate point P imid4 and the fifth intermediate point P imid5 is calculated by dividing by the difference between H imid5 and the corresponding mechanical angle estimated value ⁇ .
  • the processing unit 21 stores the slope ks obtained by this calculation process in the memory 22 in association with the section identification number representing the section from the fourth intermediate point P imid4 to the fifth intermediate point P imid5 .
  • the processing unit 21 generates a second peak point, which is an intermediate point of a straight line connecting the third negative peak point P imin3 and the fourth positive peak point P imax4 included in the i -th phase signal H i.
  • the digital value of the sixth intermediate point P imid6 is calculated as the sixth intermediate value H imid6 of the i-th phase signal H i .
  • the processing unit 21 calculates the sixth intermediate value H imid6 , which is the intermediate value between the fourth maximum value H imax4 and the third minimum value H imin3 of the i-th phase signal H i .
  • the processing unit 21 calculates the slope ks of the straight line connecting the fifth intermediate value H imid5 and the sixth intermediate value H imid6 .
  • the processing unit 21 calculates the slope ks of the straight line connecting the fifth intermediate point P imid5 and the sixth intermediate point P imid6 .
  • the processing unit 21 calculates the value obtained by subtracting the sixth intermediate value H imid6 from the fifth intermediate value H imid5 as the estimated mechanical angle value ⁇ corresponding to the fifth intermediate value H imid5 and the sixth intermediate value H imid5.
  • the slope ks of the straight line connecting the fifth intermediate point P imid5 and the sixth intermediate point P imid6 is calculated.
  • the processing unit 21 stores the slope ks obtained by this calculation process in the memory 22 in association with the section identification number representing the section from the fifth intermediate point P imid5 to the sixth intermediate point P imid6 .
  • the processing unit 21 generates a second peak point, which is an intermediate point of a straight line connecting the fourth positive peak point P imax4 and the fourth negative peak point P imin4 included in the i -th phase signal H i.
  • the digital value of the seventh intermediate point P imid7 is calculated as the seventh intermediate value H imid7 of the i-th phase signal H i .
  • the processing unit 21 calculates the seventh intermediate value H imid7 , which is the intermediate value between the fourth maximum value H imax4 and the fourth minimum value H imin4 of the i-th phase signal H i .
  • the processing unit 21 calculates the slope ks of the straight line connecting the sixth intermediate value H imid6 and the seventh intermediate value H imid7 .
  • the processing unit 21 calculates the slope ks of the straight line connecting the sixth intermediate point P imid6 and the seventh intermediate point P imid7 .
  • the processing unit 21 calculates the value obtained by subtracting the seventh intermediate value H imid7 from the sixth intermediate value H imid6 as the estimated mechanical angle value ⁇ corresponding to the sixth intermediate value H imid6 and the seventh intermediate value H imid6 .
  • the slope ks of the straight line connecting the sixth intermediate point P imid6 and the seventh intermediate point P imid7 is calculated.
  • the processing unit 21 stores the slope ks obtained by this calculation process in the memory 22 in association with the section identification number representing the section from the sixth intermediate point P imid6 to the seventh intermediate point P imid7 .
  • the processing unit 21 generates a second peak point, which is an intermediate point of a straight line connecting the fourth negative peak point P imin4 and the first positive peak point P imax1 included in the i- th phase signal H i.
  • the digital value of the 8th intermediate point P imid8 is calculated as the 8th intermediate value H imid8 of the i-th phase signal H i .
  • the processing unit 21 calculates the eighth intermediate value H imid8 , which is the intermediate value between the first maximum value H imax1 and the fourth minimum value H imin4 of the i-th phase signal H i .
  • the processing unit 21 calculates the slope ks of the straight line connecting the seventh intermediate value H imid7 and the eighth intermediate value H imid8 .
  • the processing unit 21 calculates the slope ks of the straight line connecting the seventh intermediate point P imid7 and the eighth intermediate point P imid8 .
  • the processing unit 21 calculates the value obtained by subtracting the eighth intermediate value H imid8 from the seventh intermediate value H imid7 as the estimated mechanical angle value ⁇ corresponding to the seventh intermediate value H imid7 and the eighth intermediate value H imid7.
  • the slope ks of the straight line connecting the seventh intermediate point P imid7 and the eighth intermediate point P imid8 is calculated.
  • the processing unit 21 stores the slope ks obtained by this calculation process in the memory 22 in association with the section identification number representing the section from the seventh intermediate point P imid7 to the eighth intermediate point P imid8 .
  • the processing unit 21 calculates the slope ks of the straight line connecting the eighth intermediate value H imid8 and the first intermediate value H imid1 .
  • the processing unit 21 calculates the slope ks of the straight line connecting the eighth intermediate point P imid8 and the first intermediate point P imid1 . More specifically, the processing unit 21 calculates the value obtained by subtracting the first intermediate value H imid1 from the eighth intermediate value H imid8 as the estimated mechanical angle value ⁇ corresponding to the eighth intermediate value H imid8 and the first intermediate value H imid8.
  • the slope ks of the straight line connecting the eighth intermediate point P imid8 and the first intermediate point P imid1 is calculated by dividing by the difference between H imid1 and the corresponding mechanical angle estimated value ⁇ .
  • the processing unit 21 stores the slope ks obtained by this calculation process in the memory 22 in association with the section identification number representing the section from the eighth intermediate point P imid8 to the first intermediate point P imid1 .
  • the processing unit 21 executes the processes corresponding to steps S25 to S27 for other intermediate point sections, and then sets the correction start flag to "1" (step S28). After setting the correction start flag to "1", the processing unit 21 ends the current second angle estimation process.
  • the processing unit 21 converts the digital values of the three-phase signals Hu, Hv, and Hw obtained from the sensor group 10 from the time the processing unit 21 is activated until the rotor shaft 110 makes one rotation. Based on the basic angle estimation process, an estimated mechanical angle value ⁇ is calculated. Then, when the rotor shaft 110 rotates once, the processing unit 21 stores the slope ks calculated for each intermediate point section included in the i-phase signal Hi in the memory 22, and then sets the correction start flag to "1". set.
  • step S21 A digital value of is acquired (step S21), and it is determined whether the correction start flag is "0" (step S22). At this time, since the correction start flag is set to "1", the processing unit 21 determines that the correction start flag is not "0" (step S22: No), and proceeds to the process of step S29.
  • the processing unit 21 calculates the offset H iofs of the i-th phase signal H i based on the following arithmetic expression (14) (step S29). Specifically, the processing unit 21 identifies the current midpoint section based on the digital value H it of the i-th phase signal H i acquired at time t in step S21. For example, as shown in FIG. 10, if the digital value H it of the i-th phase signal H i is included in the section from the first intermediate point P imid1 to the second intermediate point P imid2 , the processing unit 21 The section from the first intermediate point P imid1 to the second intermediate point P imid2 is specified as the section of the current intermediate point.
  • the processing unit 21 reads from the memory 22 the slope ks associated with the section identification number representing the section from the first intermediate point P imid1 to the second intermediate point P imid2 . Then, the processing unit 21 substitutes the slope ks read from the memory 22 and the first intermediate value H imid1 into the following arithmetic expression (14), thereby corresponding to the digital value H it of the i-th phase signal H i . Calculate the offset H iofs .
  • is the rotation angle (estimated mechanical angle value ⁇ ) corresponding to the first intermediate value H imid1 and the value of the i-th phase signal H i (digital value H it ) and the rotation angle (estimated mechanical angle ⁇ ).
  • the offset H iofs in this case is the value of the point P iofs on the straight line L3.
  • the processing unit 21 calculates the offset H iofs by adding the second intermediate value H imid2 to the value obtained by multiplying the slope ks read from the memory 22 by ⁇ .
  • is the difference between the mechanical angle estimated value ⁇ corresponding to the second intermediate value H imid2 and the mechanical angle estimated value ⁇ corresponding to the value of the i-th phase signal H i (digital value H it ).
  • the processing unit 21 calculates the peak-to-peak value H iP ⁇ P of the i-th phase signal H i (step S30). For example, when the section from the first intermediate point P imid1 to the second intermediate point P imid2 is specified as the section of the current intermediate point, the processing unit 21 calculates the first maximum value H imax1 and the first minimum value H imin1. The difference between the peak-to-peak value H iP ⁇ P is calculated as the peak-to-peak value H iP ⁇ P .
  • the processing unit 21 selects the second maximum value H imax2 and the first minimum value
  • the difference from H imin1 is calculated as a peak-to-peak value H iP ⁇ P .
  • the processing unit 21 corrects the digital values of the three-phase signals Hu, Hv, and Hw based on the following arithmetic expression (10) (step S31). Specifically, in step S31, the processing unit 21 reads the peak-to-peak learning value H iP -PL and the offset learning value H iofsL of the i-phase learning signal H iL from the memory 22. Then, the processing unit 21 calculates each learning value read from the memory 22, the digital value of the i-phase signal H i acquired in step S21, the offset H iofs calculated in step S29, and the offset H iofs calculated in step S30. By substituting the calculated peak-to-peak value H iP-P into the following equation (10), the digital value of the i-th phase correction signal H i ' is calculated.
  • the waveform of the i-phase correction signal H i ′ calculated by the above equation (10) is the waveform of the i-phase correction signal H i ′ obtained under an environment in which the magnetic field or the attachment state of the sensor magnet 120 to the rotor shaft 110 is different.
  • the waveform almost matches the waveform of the i-phase learning signal H iL . That is, the i-phase correction signal H i ' calculated by the processing unit 21 based on the above calculation formula (10) is the i-phase signal H i obtained by performing magnetic field compensation etc. on the i-phase learning signal H iL . I can say that there is.
  • the processing unit 21 stores in the memory 22 the digital value of the i-phase correction signal H i ′ obtained by the above calculation process.
  • the digital value of the first phase correction signal H 1 ′ (corrected U-phase signal Hu)
  • the digital value of the second phase correction signal H 2 ′ (corrected V-phase signal Hv)
  • the digital value of the third phase correction signal H 2 ′ (corrected V-phase signal Hv)
  • the digital value of the correction signal H 3 ′ (corrected W-phase signal Hw) is stored in the memory 22 .
  • the processing unit 21 reads the respective digital values of the first phase correction signal H 1 ′ , the second phase correction signal H 2 ′ , and the third phase correction signal H 3 ′ from the memory 22, and reads out the digital values (
  • the mechanical angle estimate ⁇ is calculated by executing basic angle estimation processing based on the corrected digital values of the three-phase signals Hu, Hv, and Hw (step S32). After executing the process of step S32, the processing unit 21 ends the current second angle estimation process.
  • the processing unit 21 uses three-phase signals Hu, Hv that have been subjected to magnetic field compensation, etc.
  • the mechanical angle estimate ⁇ is calculated by executing basic angle estimation processing based on the digital values of Hw and Hw.
  • the learning data obtained by the basic learning process is included in the second angle estimation process. Since it can be appropriately utilized when executing the basic angle estimation process, it is possible to reduce the angular error between the estimated mechanical angle value ⁇ and the true mechanical angle value.
  • the environment at the time of execution of the basic learning process, the first angle estimation process or the second angle Even if the environment at the time of execution of the estimation process is different, the learning data obtained by the basic learning process is used when executing the basic angle estimation process included in the first angle estimation process or the second angle estimation process. Since it can be used appropriately, it is possible to reduce the angular error between the estimated mechanical angle value ⁇ and the true mechanical angle value, thereby realizing an improvement in the accuracy of estimating the mechanical angle of the rotor shaft 110.
  • the present invention is not limited to the above embodiments, and the configurations described in this specification can be combined as appropriate within a mutually consistent range.
  • a combination of the motor 100 and the signal generation device 1 is illustrated, but the present invention is not limited to this embodiment, and a combination of a sensor magnet attached to a rotating shaft and a signal generation device is also possible. .
  • the first magnetic sensor 11, the second magnetic sensor 12, and the third magnetic sensor 13 are arranged to face the disc-shaped sensor magnet 120 in the axial direction of the rotor shaft 110.
  • this embodiment is exemplified, the present invention is not limited to this embodiment.
  • magnetic flux flows in the radial direction of the ring-shaped magnet, so that the first magnetic sensor 11, the second magnetic sensor 12 And the third magnetic sensor 13 may be arranged to face the ring-shaped magnet.
  • the rotor magnet 120 attached to the rotor shaft 110 of the motor 100 is used as the rotating magnet, but the rotor magnet attached to the rotor of the motor 100 may be used as the rotating magnet.
  • 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 number of magnetic sensors is not limited to three and may be N (N is a multiple of 3). good.
  • 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.
  • the number of pole pairs of the rotor magnet is not limited to four.
  • the peak-to-peak value obtained during the period when the rotor shaft 110 rotates 90 degrees from the activation of the processing unit 21 is calculated.
  • the digital values of the three-phase signals Hu, Hv, and Hw are corrected using H iP-P and the offset H iofs .
  • the temperature may change even after the correction start flag becomes "1".
  • the processing section 21 may obtain the peak-to-peak value H iP-P and the offset H iofs every time the rotor shaft 110 rotates 90 degrees from the start of the processing section 21 .
  • the processing unit 21 uses the peak-to-peak value H iP-P and the offset H iofs obtained during the period in which the rotor shaft 110 rotates 90 degrees after the activation of the processing unit 21 to rotate the rotor shaft 110 by 90 degrees.
  • the digital values of the three-phase signals Hu, Hv, and Hw obtained during the period of rotation from 180 degrees to 180 degrees are corrected.
  • the processing unit 21 uses the peak-to-peak value H iP-P and the offset H iofs obtained during the period in which the rotor shaft 110 rotates from 90 degrees to 180 degrees, so that the rotor shaft 110 rotates from 180 degrees to 270 degrees.
  • the digital values of the three-phase signals Hu, Hv, and Hw obtained during the period of rotation are corrected.
  • the processing unit 21 uses the peak-to-peak value H iP-P and the offset H iofs obtained during the period in which the rotor shaft 110 rotates from 180 degrees to 270 degrees, so that the rotor shaft 110 rotates from 270 degrees to 360 degrees.
  • the digital values of the three-phase signals Hu, Hv, and Hw obtained during the period of rotation are corrected.
  • the processing unit 21 uses the peak-to-peak value H iP-P and the offset H iofs obtained during the period in which the rotor shaft 110 rotates from 270 degrees to 360 degrees, so that the rotor shaft 110 rotates 360 degrees (0
  • the digital values of the three-phase signals Hu, Hv, and Hw obtained during the period of rotation from 450 degrees (90 degrees) to 450 degrees (90 degrees) are corrected.
  • the peak-to-peak value H iP-P and the offset H iofs differ depending on the angle range.
  • the to-peak value H iP-P and the offset H iofs are used to correct the digital values of the three-phase signals Hu, Hv, and Hw obtained in the range of 0 degrees to 90 degrees during this one rotation. It is preferable to do so. Thereby, the effect of correction can be improved.
  • the processing unit 21 may acquire the inclination ks every time the rotor shaft 110 rotates once after the processing unit 21 is activated.
  • the processing unit 21 may acquire the inclination ks every time the rotor shaft 110 rotates 360 degrees from the activation of the processing unit 21.
  • the processing section 21 uses the inclination ks obtained during the period when the rotor shaft 110 rotates 360 degrees from the activation of the processing section 21 to calculate the slope ks obtained during the period when the rotor shaft 110 rotates from 360 degrees to 720 degrees. Correct the digital values of phase signals Hu, Hv and Hw.
  • the processing unit 21 uses the slope ks obtained during the period when the rotor shaft 110 rotates from 360 degrees to 720 degrees to generate a three-phase signal Hu obtained during the period when the rotor shaft 110 rotates from 720 degrees to 1080 degrees. , Hv and Hw are corrected.
  • SYMBOLS 1 Signal generation device, 10... Sensor group, 11... First magnetic sensor, 12... Second magnetic sensor, 13... Third magnetic sensor, 20... Signal processing section, 21... Processing section, 22... Memory, 100... Motor , 110... Rotor shaft (rotating body), 120... Sensor magnet

Abstract

本発明の信号生成装置の一つの態様は、回転体の回転角度に応じてN相信号(Nは3の倍数)を出力するN個センサと、演算式(10)に基づいてN相信号を補正する信号処理部と、を備え、演算式(10)において、Hiは、第i相信号(iは1からNまでの整数)であり、Hi'は、補正後の第i相信号であり、HiP-Pは、第i相信号の最大値Himaxと最小値Himinとの差分であり、Hiofsは、第i相信号のオフセットであり、HiP-PLは、差分HiP-Pの学習値であり、HiofsLは、オフセットHiofsの学習値である。

Description

信号生成装置および信号生成方法
 本発明は、信号生成装置および信号生成方法に関する。
 本出願は、2022年6月30日に提出された日本特許出願第2022-106315号に基づいている。本出願は、当該出願に対して優先権の利益を主張するものである。その内容全体は、参照されることによって本出願に援用される。
 従来、回転位置を正確に制御可能なモータとして、光学エンコーダ、レゾルバ等の絶対角位置センサを備える構成が知られる。しかし、絶対角位置センサは、大型、高コストである。そこで、特許文献1には、絶対角位置センサを用いることなく、安価且つ小型の3つの磁気センサを用いてモータの回転位置を推定する位置推定方法が開示される。
特許第6233532号公報
 特許文献1記載の位置推定方法では、安価且つ小型の3つの磁気センサを用いて回転体の機械角を高精度に推定することができるが、市場からはより高い精度が要求されることがあった。
 本発明の信号生成装置における一つの態様は、回転体の回転角度に応じてN相信号(Nは3の倍数)を出力するN個のセンサと、演算式(10)に基づいて前記N相信号を補正する信号処理部と、を備え、前記演算式(10)において、Hは、第i相信号(iは1からNまでの整数)であり、H’は、補正後の前記第i相信号であり、HiP-Pは、前記第i相信号の最大値Himaxと最小値Himinとの差分であり、Hiofsは、前記第i相信号のオフセットであり、HiP-PLは、前記差分HiP-Pの学習値であり、HiofsLは、前記オフセットHiofsの学習値である。
Figure JPOXMLDOC01-appb-M000007
 本発明の信号生成方法における一つの態様は、回転体の回転角度に応じてN相信号(Nは3の倍数)を出力するN個のセンサを用いる信号生成方法であって、演算式(10)に基づいて前記N相信号を補正するステップ、を含み、前記演算式(10)において、Hは、第i相信号(iは1からNまでの整数)であり、H’は、補正後の前記第i相信号であり、HiP-Pは、前記第i相信号の最大値Himaxと最小値Himinとの差分であり、Hiofsは、前記第i相信号のオフセットであり、HiP-PLは、前記差分HiP-Pの学習値であり、HiofsLは、前記オフセットHiofsの学習値である。
Figure JPOXMLDOC01-appb-M000008
 本発明の上記態様によれば、回転体の機械角(回転角度)の推定精度を向上できる信号生成装置および信号生成方法が提供される。
図1は、本発明の一実施形態における信号生成装置1の構成を模式的に示すブロック図である。 図2は、U相信号Hu、V相信号Hv及びW相信号Hwの波形の一例を示す図である。 図3は、図2に示される1つの極対領域に含まれるU相信号Hu、V相信号Hv及びW相信号Hwの拡大図である。 図4は、本実施形態における信号生成装置1の処理部21が実行する学習処理を示すフローチャートである。 図5は、第i相学習信号HiLの波形の一例を示す図である。 図6は、本実施形態における信号生成装置1の処理部21が実行する第1の角度推定処理を示すフローチャートである。 図7は、第i相信号Hの波形の第1の例を示す図である。 図8は、本実施形態における信号生成装置1の処理部21が実行する第2の角度推定処理を示すフローチャートである。 図9は、第i相信号Hの波形の第2の例を示す図である。 図10は、図9に示される第i相信号Hの波形のうち、時刻t30から時刻t32までの期間に含まれる第i相信号Hの波形を拡大した図である。
 以下、本発明の一実施形態について図面を参照しながら詳細に説明する。
 図1は、本発明の一実施形態における信号生成装置1の構成を模式的に示すブロック図である。図1に示すように、信号生成装置1は、モータ100の回転軸であるロータシャフト110の機械角(回転角度)を検出する装置である。本実施形態においてモータ100は、例えばインナーロータ型の3相ブラシレス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は、ロータシャフト110の機械角に応じてN相信号(Nは3の倍数)を出力するN個のセンサを含む。本実施形態では、Nが3であるため、センサ群10は、ロータシャフト110の機械角に応じて3相信号を出力する3個のセンサを含む。具体的には、センサ群10は、第1磁気センサ11、第2磁気センサ12及び第3磁気センサ13を含む。例えば、第1磁気センサ11、第2磁気センサ12及び第3磁気センサ13は、回路基板上において、センサマグネット120に対向する状態で配置される。
 本実施形態において、第1磁気センサ11、第2磁気センサ12及び第3磁気センサ13は、回路基板上において、センサマグネット120の回転方向に沿って30°間隔で配置される。例えば、第1磁気センサ11、第2磁気センサ12及び第3磁気センサ13は、それぞれ、ホール素子、或いはリニアホールICなど、磁気抵抗素子を含めたアナログ出力タイプの磁気センサである。第1磁気センサ11、第2磁気センサ12及び第3磁気センサ13は、それぞれ、ロータシャフト110の回転位置、すなわちセンサマグネット120の回転位置に応じて変化する磁界強度を示すアナログ信号を出力する。
 第1磁気センサ11、第2磁気センサ12及び第3磁気センサ13から出力されるアナログ信号の電気角1周期は、機械角1周期の1/Pに相当する。本実施形態では、センサマグネット120の極対数Pが「4」なので、各アナログ信号の電気角1周期は、機械角1周期の1/4、すなわち機械角で90度に相当する。第2磁気センサ12から出力されるアナログ信号は、第1磁気センサ11から出力されるアナログ信号に対して電気角で120度の位相遅れを有する。第3磁気センサ13から出力されるアナログ信号は、第2磁気センサ12から出力されるアナログ信号に対して電気角で120度の位相遅れを有する。
 以下では、第1磁気センサ11から出力されるアナログ信号をU相信号Huと呼称し、第2磁気センサ12から出力されるアナログ信号をV相信号Hvと呼称し、第3磁気センサ13から出力されるアナログ信号をW相信号Hwと呼称する。第1磁気センサ11から出力されるU相信号Huと、第2磁気センサ12から出力されるV相信号Hvと、第3磁気センサ13から出力されるW相信号Hwとは、それぞれ信号処理部20に入力される。
 信号処理部20は、U相信号Hu、V相信号Hv及びW相信号Hwを処理する信号処理回路である。信号処理部20は、U相信号Hu、V相信号Hv及びW相信号Hwに基づいて、回転体であるロータシャフト110の機械角を推定する。信号処理部20は、処理部21と、メモリー22と、を備える。
 処理部21は、例えばMCU(Microcontroller Unit)などのマイクロプロセッサである。U相信号Hu、V相信号Hv及びW相信号Hwは、それぞれ、処理部21に入力される。処理部21は、不図示の通信バスを介してメモリー22と通信可能に接続される。処理部21は、メモリー22に予め記憶されるプログラムに従って、少なくとも以下の2つの処理を実行する。
 処理部21は、オフライン処理として、U相信号Hu、V相信号Hv及びW相信号Hwに基づいて、ロータシャフト110の機械角の推定に必要な学習データを取得する学習処理を実行する。オフライン処理とは、信号生成装置1が製造工場から出荷される前、または信号生成装置1が顧客側のシステムに組み込まれて実運用される前に実行される処理である。
 また、処理部21は、オンライン処理として、U相信号Hu、V相信号Hv及びW相信号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から出力される3相信号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に示すように、3相信号Hu、Hv及びHwのそれぞれの電気角1周期は、機械角1周期の1/4、すなわち機械角で90度に相当する。図2において、時刻t1から時刻t5までの期間が機械角1周期(機械角で360度)に相当する。図2において、時刻t1から時刻t2までの期間と、時刻t2から時刻t3までの期間と、時刻t3から時刻t4までの期間と、時刻t4から時刻t5までの期間とが、それぞれ機械角で90度に相当する。また、3相信号Hu、Hv及びHwは、互いに電気角で120度の位相差を有する。
 処理部21は、3相信号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」が割り当てられる。
 例えばU相信号Huを基準とする場合、処理部21は、U相信号Huのゼロクロス点のうち、機械角が0度であるサンプリングタイミング(時刻t1)に得られたゼロクロス点を、極対番号「0」に紐づけられた極対領域の始点として認識する。また、処理部21は、U相信号Huのゼロクロス点のうち、機械角が90度であるサンプリングタイミング(時刻t2)に得られたゼロクロス点を、極対番号「0」に紐づけられた極対領域の終点として認識する。すなわち、処理部21は、時刻t1に得られたゼロクロス点と、時刻t2に得られたゼロクロス点との間の区間を、極対番号「0」に紐づけられた極対領域として決定する。
 処理部21は、U相信号Huのゼロクロス点のうち、機械角が90度であるサンプリングタイミング(時刻t2)に得られたゼロクロス点を、極対番号「1」に紐づけられた極対領域の始点としても認識する。また、処理部21は、U相信号Huのゼロクロス点のうち、機械角が180度であるサンプリングタイミング(時刻t3)に得られたゼロクロス点を、極対番号「1」に紐づけられた極対領域の終点として認識する。すなわち、処理部21は、時刻t2に得られたゼロクロス点と、時刻t3に得られたゼロクロス点との間の区間を、極対番号「1」に紐づけられた極対領域として決定する。
 処理部21は、U相信号Huのゼロクロス点のうち、機械角が180度であるサンプリングタイミング(時刻t3)に得られたゼロクロス点を、極対番号「2」に紐づけられた極対領域の始点としても認識する。また、処理部21は、U相信号Huのゼロクロス点のうち、機械角が270度であるサンプリングタイミング(時刻t4)に得られたゼロクロス点を、極対番号「2」に紐づけられた極対領域の終点として認識する。すなわち、処理部21は、時刻t3に得られたゼロクロス点と、時刻t4に得られたゼロクロス点との間の区間を、極対番号「2」に紐づけられた極対領域として決定する。
 処理部21は、U相信号Huのゼロクロス点のうち、機械角が270度であるサンプリングタイミング(時刻t4)に得られたゼロクロス点を、極対番号「3」に紐づけられた極対領域の始点としても認識する。また、処理部21は、U相信号Huのゼロクロス点のうち、機械角が360度であるサンプリングタイミング(時刻t5)に得られたゼロクロス点を、極対番号「3」に紐づけられた極対領域の終点として認識する。すなわち、処理部21は、時刻t4に得られたゼロクロス点と、時刻t5に得られたゼロクロス点との間の区間を、極対番号「3」に紐づけられた極対領域として決定する。
 図2に示すように、処理部21は、交点及びゼロクロス点の抽出結果に基づいて、4つの極対領域のそれぞれをセクション番号に紐づけられた12個のセクションに分割する。図2において、「No.A」は、各セクションに紐づけられたセクション番号を示す。図2に示すように、4つの極対領域のそれぞれに含まれる12個のセクションには、「0」から「11」までのセクション番号が紐づけられる。
 図3は、図2に示される1つの極対領域に含まれる3相信号Hu、Hv及びHwの拡大図である。図3において、振幅の基準値(基準信号レベル)は「0」である。図3において、正値である振幅のデジタル値は、一例として、N極の磁界強度のデジタル値を表す。また、負値である振幅のデジタル値は、一例として、S極の磁界強度のデジタル値を表す。
 図3において、点P1、点P3、点P5、点P7、点P9、点P11、及び点P13が、1つの極対領域に含まれる3相信号Hu、Hv及びHwのデジタル値から抽出されたゼロクロス点である。また、図3において、点P2、点P4、点P6、点P8、点P10、及び点P12が、1つの極対領域に含まれる3相信号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」が割り当てられたセグメントを、「0番セグメント」と呼称し、セグメント番号「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)で表される。なお、上記のようにθnorm[i]をt[i]から求めるのではなく、機械角真値(例えばロータシャフト110に取り付けられたマスターエンコーダの出力信号が示す機械角)から求めてもよい。
     θres[i]=0[degM]      …(4)
     θres[i]=Σ(θnorm[i-1]) …(5)
 処理部21は、上記のような学習処理を行うことにより、極対番号と、セクション番号と、セグメント番号との対応関係、各セクションの特徴データ、および各セグメントの機械角推定式を取得し、取得したこれらのデータを学習データとしてメモリー22に記憶させる。なお、各セクションの特徴データとは、各セクションに含まれる3相信号Hu、Hv及びHwのデジタル値の大小関係及び正負の符号などである。また、各セグメントの機械角推定式を構成する正規化係数k[i]及び角度リセット値θres[i]が、学習データとしてメモリー22に記憶される。
 続いて、基本特許方法において処理部21が実行する角度推定処理について説明する。 処理部21は、角度推定処理を開始すると、各磁気センサ11、12及び13から出力される3相信号Hu、Hv及びHwを取得する。具体的には、処理部21は、A/D変換器によってU相信号Hu、V相信号Hv及びW相信号Hwのそれぞれを所定のサンプリング周波数でデジタル変換することにより、U相信号Hu、V相信号Hv及びW相信号Hwのデジタル値を取得する。
 そして、処理部21は、今回のサンプリングタイミングで得られた3相信号Hu、Hv及びHwのデジタル値に基づいて、現在のセクション番号及び極対番号を特定する。例えば図3において、U相信号Huの波形上に位置する点PHuと、V相信号Hvの波形上に位置する点PHvと、W相信号Hwの波形上に位置する点PHwとが、今回のサンプリングタイミングで得られた3相信号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として、特定されたセグメントに対応する3相信号のデジタル値が用いられる。例えば、上記のように、セグメント番号「33」が現在のセグメント番号として特定された場合、処理部21は、メモリー22から正規化係数k[33]及び角度リセット値θres[33]を読み出し、点PHvのデジタル値(図3参照)をΔxとして機械角推定式に代入することにより、今回のサンプリングタイミングにおける機械角推定値θを算出する。
 以上が、本発明の基礎となる基本特許方法における機械角の基本的な推定手順である。 ところで、角度推定処理の実行時にセンサ群10から得られる3相信号Hu、HvおよびHwの波形は、外乱の発生に起因して、学習処理の実行時に得られた波形から変化する場合がある。このように、角度推定処理の実行時と学習処理の実行時とで、センサ群10から得られる3相信号Hu、HvおよびHwの波形が異なる場合、角度推定処理の実行時において、学習処理によって得られた学習データを適切に活用できなくなり、機械角推定精度(機械角推定値θの精度)が低下する可能性がある。
 本発明は、上記の基本特許方法と比較して、外乱に起因する機械角推定値θと機械角真値との間の角度誤差を低減でき、もって機械角推定精度の向上を実現することを目的とする。
 以下、上記の技術課題を解決するために、本実施形態における信号生成装置1の処理部21が実行する学習処理及び角度推定処理について説明する。なお、本実施形態における学習処理及び角度推定処理と、基本特許方法における学習処理及び角度推定処理とを区別するために、以下の説明では、基本特許方法における学習処理及び角度推定処理を、基本学習処理及び基本角度推定処理と呼称する。
 図4は、本実施形態における信号生成装置1の処理部21が実行する学習処理を示すフローチャートである。図4に示すように、処理部21は、まず、基本学習処理を実行する(ステップS1)。既に説明したように、処理部21は、基本学習処理を行うことにより、極対番号と、セクション番号と、セグメント番号との対応関係、各セクションの特徴データ、および各セグメントの機械角推定式を取得し、取得したこれらのデータを学習データとしてメモリー22に記憶させる。
 そして、処理部21は、基本学習処理の実行時に得られた3相信号Hu、HvおよびHwのデジタル値に基づいて、第i相信号Hのピーク・トゥ・ピーク学習値HiP-PLと、オフセット学習値HiofsLと、を取得する(ステップS2)。iは、1からN(本実施形態では3)までの整数である。例えば、第1相信号Hは、U相信号Huに対応する。第2相信号Hは、V相信号Hvに対応する。第3相信号Hは、W相信号Hwに対応する。以下では、基本学習処理の実行時に得られた第i相信号Hを、第i相学習信号HiLと呼称する。
 図5は、第i相学習信号HiLの波形の一例を示す図である。図5に示すように、第i相学習信号HiLの電気角1周期は、機械角で90度に相当する。図5において、時刻t10から時刻t14までの期間が機械角1周期(機械角で360度)に相当する。図5において、時刻t10から時刻t11までの期間と、時刻t11から時刻t12までの期間と、時刻t12から時刻t13までの期間と、時刻t13から時刻t14までの期間とが、それぞれ機械角で90度に相当する。
 ステップS2において、処理部21は、第i相学習信号HiLに含まれる正側ピーク点PimaxLの値(デジタル値)を、第i相学習信号HiLの最大値HimaxLとして取得する。また、処理部21は、第i相学習信号HiLに含まれる負側ピーク点PiminLの値(デジタル値)を、第i相学習信号HiLの最小値HiminLとして取得する。そして、処理部21は、下記演算式(6)に基づいて、第i相学習信号HiLのピーク・トゥ・ピーク学習値HiP-PLを算出する。このように、ピーク・トゥ・ピーク学習値HiP-PLは、第i相学習信号HiLの最大値HimaxLと最小値HiminLとの差分である。
Figure JPOXMLDOC01-appb-M000009
 さらに、ステップS2において、処理部21は、下記演算式(7)に基づいて、第i相学習信号HiLのオフセット学習値HiofsLを算出する。
Figure JPOXMLDOC01-appb-M000010
 なお、図5に示すように、処理部21は、時刻t11から時刻t12までの電気角1周期に得られた第i相学習信号HiLの最大値HimaxLおよび最小値HiminLを用いて、ピーク・トゥ・ピーク学習値HiP-PLおよびオフセット学習値HiofsLを算出してもよい。または、処理部21は、別の電気角1周期に得られた第i相学習信号HiLの最大値HimaxLおよび最小値HiminLを用いて、ピーク・トゥ・ピーク学習値HiP-PLおよびオフセット学習値HiofsLを算出してもよい。または、処理部21は、機械角1周期に得られた第i相学習信号HiLの4つの最大値HimaxLの平均値と、4つの最小値HiminLの平均値とを用いて、ピーク・トゥ・ピーク学習値HiP-PLおよびオフセット学習値HiofsLを算出してもよい。
 処理部21は、上記のようなステップS2の処理によって得られた、ピーク・トゥ・ピーク学習値HiP-PLおよびオフセット学習値HiofsLをメモリー22に保存した後、図4に示される学習処理を終了する。このように、処理部21が学習処理を行うことにより、メモリー22には、基本学習処理によって得られた学習データだけでなく、第i相学習信号HiLのピーク・トゥ・ピーク学習値HiP-PLおよびオフセット学習値HiofsLが保存される。
 すなわち、第1相学習信号H1L(U相信号Hu)のピーク・トゥ・ピーク学習値H1P-PLおよびオフセット学習値H1ofsLと、第2相学習信号H2L(V相信号Hv)のピーク・トゥ・ピーク学習値H2P-PLおよびオフセット学習値H2ofsLと、第3相学習信号H3L(W相信号Hw)のピーク・トゥ・ピーク学習値H3P-PLおよびオフセット学習値H3ofsLとが、メモリー22に保存される。
 図6は、本実施形態における信号生成装置1の処理部21が実行する第1の角度推定処理を示すフローチャートである。処理部21は、図6に示される第1の角度推定処理を、所定の周期で繰り返し実行する。図6に示すように、処理部21は、第1の角度推定処理を開始すると、まず、3相信号Hu、HvおよびHwのデジタル値を取得する(ステップS11)。
 続いて、処理部21は、補正開始フラグが「0」であるか否かを判定する(ステップS12)。補正開始フラグは、処理部21が起動したときに「0」にリセットされるフラグである。処理部21は、補正開始フラグが「0」である場合(ステップS12:Yes)、ステップS13の処理に移行する。一方、処理部21は、補正開始フラグが「0」でない場合(ステップS12:No)、ステップS17の処理に移行する。以下では、最初に、補正開始フラグが「0」である場合に実行される処理について説明する。
 処理部21は、補正開始フラグが「0」である場合(ステップS12:Yes)、3相信号Hu、HvおよびHwのデジタル値に基づいて基本角度推定処理を実行することにより、機械角推定値θを算出する(ステップS13)。そして、処理部21は、過去の第1の角度推定処理で得られた機械角推定値θと、今回の第1の角度推定処理で得られた機械角推定値θとに基づいて、ロータシャフト110が90度回転したか否かを判定する(ステップS14)。
 処理部21は、ロータシャフト110が90度回転していないと判定した場合(ステップS14:No)、後述のステップS15及びS16の処理をスキップして今回の第1の角度推定処理を終了する。一方、処理部21は、ロータシャフト110が90度回転したと判定した場合(ステップS14:Yes)、ロータシャフト110が90度回転する期間に得られた3相信号Hu、HvおよびHwのデジタル値に基づいて、第i相信号Hのピーク・トゥ・ピーク値HiP-Pと、オフセットHiofsと、を算出する(ステップS15)。
 図7は、ロータシャフト110が90度回転する期間(時刻t20から時刻t21までの期間)に得られた第i相信号Hの波形の一例を示す図である。なお、図7では、便宜上、ロータシャフト110が90度から360度まで回転する期間(時刻t21から時刻t24までの期間)に得られた第i相信号Hの波形も示している。また、図7では、図5で示される第i相学習信号HiLの波形も示している。
 図7に示すように、第i相信号Hの電気角1周期は、機械角で90度に相当する。図7において、時刻t20から時刻t24までの期間が機械角1周期(機械角で360度)に相当する。図7において、時刻t20から時刻t21までの期間と、時刻t21から時刻t22までの期間と、時刻t22から時刻t23までの期間と、時刻t23から時刻t24までの期間とが、それぞれ機械角で90度に相当する。
 ステップS15において、処理部21は、時刻t20から時刻t21までの期間に得られた第i相信号Hに含まれる正側ピーク点Pimaxの値(デジタル値)を、第i相信号Hの最大値Himaxとして取得する。また、処理部21は、時刻t20から時刻t21までの期間に得られた第i相信号Hに含まれる負側ピーク点Piminの値(デジタル値)を、第i相信号Hの最小値Himinとして取得する。そして、処理部21は、下記演算式(8)に基づいて、第i相信号Hのピーク・トゥ・ピーク値HiP-Pを算出する。このように、ピーク・トゥ・ピーク値HiP-Pは、第i相信号Hの最大値Himaxと最小値Himinとの差分である。
Figure JPOXMLDOC01-appb-M000011
 さらに、ステップS15において、処理部21は、下記演算式(9)に基づいて、第i相信号HのオフセットHiofsを算出する。
Figure JPOXMLDOC01-appb-M000012
 既に述べたように、第1の角度推定処理の実行時に得られる第i相信号Hの波形は、外乱の発生に起因して、学習処理の実行時に得られた第i相学習信号HiLの波形から変化する場合がある。例えば、第1の角度推定処理の実行時の温度が、学習処理の実行時の温度より高い場合、図7に示すように、第i相信号Hのピーク・トゥ・ピーク値HiP-Pが、第i相学習信号HiLのピーク・トゥ・ピーク学習値HiP-PLよりも減少する可能性がある。また、第1の角度推定処理の実行時の温度が、学習処理の実行時の温度と異なる場合、第i相信号HのオフセットHiofsが、第i相学習信号HiLのオフセット学習値HiofsLから正方向または負方向にシフトする可能性がある。
 処理部21は、上記の演算処理によって得られた、第i相信号Hのピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsをメモリー22に保存する。これにより、第1相信号H(U相信号Hu)のピーク・トゥ・ピーク値H1P-PおよびオフセットH1ofsと、第2相信号H(V相信号Hv)のピーク・トゥ・ピーク値H2P-PおよびオフセットH2ofsと、第3相信号H(W相信号Hw)のピーク・トゥ・ピーク値H3P-PおよびオフセットH3ofsとが、メモリー22に保存される。
 なお、本実施形態のように極対数Pが4つの場合には、3相信号Hu、HvおよびHwの電気角1周期が、機械角で90度に相当するため、ロータシャフト110が90度回転する期間に得られた3相信号Hu、HvおよびHwのデジタル値から、3相信号Hu、HvおよびHwのそれぞれのピーク・トゥ・ピーク値およびオフセットを取得できる。
 例えば、極対数Pが5つの場合、3相信号Hu、HvおよびHwの電気角1周期は、機械角で72度に相当するため、ロータシャフト110が72度回転する期間に得られた3相信号Hu、HvおよびHwのデジタル値から、3相信号Hu、HvおよびHwのそれぞれのピーク・トゥ・ピーク値およびオフセットを取得できる。すなわち、極対数Pが5つの場合、ステップS14において、処理部21は、ロータシャフト110が72度回転したか否かを判定すればよい。
 処理部21は、上記のステップS15の処理を実行した後、補正開始フラグを「1」にセットする(ステップS16)。処理部21は、補正開始フラグを「1」にセットした後、今回の第1の角度推定処理を終了する。
 上記の説明から理解されるように、処理部21は、処理部21が起動してからロータシャフト110が90度回転するまで、センサ群10から得られる3相信号Hu、HvおよびHwのデジタル値に基づいて、基本角度推定処理を実行することにより、機械角推定値θを算出する。そして、処理部21は、ロータシャフト110が90度回転すると、第i相信号Hのピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsをメモリー22に保存した後、補正開始フラグを「1」にセットする。
 処理部21は、補正開始フラグが「1」にセットされた第1の角度推定処理の終了後に、次の第1の角度推定処理を開始すると、上記のように3相信号Hu、HvおよびHwのデジタル値を取得し(ステップS11)、補正開始フラグが「0」であるか否かを判定する(ステップS12)。このとき、補正開始フラグが「1」にセットされているため、処理部21は、補正開始フラグが「0」でないと判定し(ステップS12:No)、ステップS17の処理に移行する。
 処理部21は、ステップS17に移行すると、下記演算式(10)に基づいて、3相信号Hu、HvおよびHwのデジタル値を補正する(ステップS17)。下記演算式(10)において、Hは、第i相信号Hのデジタル値であり、H’は、補正後の第i相信号Hのデジタル値である。以下では、補正後の第i相信号Hを、第i相補正信号H’と呼称する。
Figure JPOXMLDOC01-appb-M000013
 具体的には、ステップS17において、処理部21は、第i相学習信号HiLのピーク・トゥ・ピーク学習値HiP-PLおよびオフセット学習値HiofsLと、第i相信号Hのピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsとをメモリー22から読み出す。そして、処理部21は、メモリー22から読み出した値と、ステップS11で取得した第i相信号Hのデジタル値とを上記演算式(10)に代入することにより、第i相補正信号H’のデジタル値を算出する。
 図7に示すように、上記演算式(10)によって算出された第i相補正信号H’の波形は、温度が異なる環境下で得られた第i相学習信号HiLの波形とほぼ一致する。すなわち、処理部21が上記演算式(10)を基に算出した第i相補正信号H’は、第i相学習信号HiLに対して温度補償された第i相信号Hであると言える。
 処理部21は、上記の演算処理によって得られた第i相補正信号H’のデジタル値をメモリー22に保存する。これにより、第1相補正信号H’(補正後のU相信号Hu)のデジタル値と、第2相補正信号H’(補正後のV相信号Hv)のデジタル値と、第3相補正信号H’(補正後のW相信号Hw)のデジタル値とが、メモリー22に保存される。
 そして、処理部21は、第1相補正信号H’、第2相補正信号H’、および第3相補正信号H’のそれぞれのデジタル値をメモリー22から読み出し、読み出したデジタル値(補正後の3相信号Hu、HvおよびHwのデジタル値)に基づいて基本角度推定処理を実行することにより、機械角推定値θを算出する(ステップS18)。処理部21は、ステップS18の処理を実行した後、今回の第1の角度推定処理を終了する。
 上記の説明から理解されるように、処理部21は、補正開始フラグが「1」にセットされた後に実行される第1の角度推定処理において、温度補償された3相信号Hu、HvおよびHwのデジタル値に基づいて、基本角度推定処理を実行することにより、機械角推定値θを算出する。これにより、学習処理の実行時の温度と、第1の角度推定処理の実行時の温度とが異なる場合であっても、基本学習処理によって得られた学習データを、第1の角度推定処理に含まれる基本角度推定処理の実行時に適切に活用できるため、機械角推定値θと機械角真値との間の角度誤差を低減できる。
 本願発明者による研究の結果、常温の環境下で基本学習処理を実行し、且つ85℃の環境下で基本角度推定処理を実行した場合と、常温の環境下で図4に示される学習処理を実行し、且つ85℃の環境下で図6に示される第1の角度推定処理を実行した場合とを比較すると、機械角推定値θと機械角真値との間の角度誤差を3分の1以下に低減できることが判明した。
 第1の角度推定処理は、とくに外乱として温度変化が生じた場合に有効な処理である。しかしながら、温度変化の他に、磁場変化、およびロータシャフト110に対するセンサマグネット120の取り付け状態の変化などが、外乱として挙げられる。以下では、磁場変化、或いはロータシャフト110に対するセンサマグネット120の取り付け状態の変化が外乱として生じた場合に有効な第2の角度推定処理について説明する。
 図8は、本実施形態における信号生成装置1の処理部21が実行する第2の角度推定処理を示すフローチャートである。処理部21は、図8に示される第2の角度推定処理を、所定の周期で繰り返し実行する。図8に示すように、処理部21は、第2の角度推定処理を開始すると、まず、3相信号Hu、HvおよびHwのデジタル値を取得する(ステップS21)。
 続いて、処理部21は、補正開始フラグが「0」であるか否かを判定する(ステップS22)。上述したように、補正開始フラグは、処理部21が起動したときに「0」にリセットされるフラグである。処理部21は、補正開始フラグが「0」である場合(ステップS22:Yes)、ステップS23の処理に移行する。一方、処理部21は、補正開始フラグが「0」でない場合(ステップS22:No)、ステップS29の処理に移行する。以下では、最初に、補正開始フラグが「0」である場合に実行される処理について説明する。
 処理部21は、補正開始フラグが「0」である場合(ステップS22:Yes)、3相信号Hu、HvおよびHwのデジタル値に基づいて基本角度推定処理を実行することにより、機械角推定値θを算出する(ステップS23)。そして、処理部21は、過去の第2の角度推定処理で得られた機械角推定値θと、今回の第2の角度推定処理で得られた機械角推定値θとに基づいて、ロータシャフト110が1回転したか否かを判定する(ステップS24)。
 処理部21は、ロータシャフト110が1回転していないと判定した場合(ステップS24:No)、後述のステップS25からステップS28の処理をスキップして今回の第2の角度推定処理を終了する。一方、処理部21は、ロータシャフト110が1回転したと判定した場合(ステップS24:Yes)、ロータシャフト110が1回転する期間に得られた3相信号Hu、HvおよびHwのデジタル値に基づいて、第i相信号Hの第1中間値Himid1を算出する(ステップS25)。
 図9は、ロータシャフト110が1回転する期間(時刻t30から時刻t34までの期間)に得られた第i相信号Hの波形の一例を示す図である。図9に示すように、第i相信号Hの電気角1周期は、機械角で90度に相当する。図9において、時刻t30から時刻t34までの期間が機械角1周期(機械角で360度)に相当する。図9において、時刻t30から時刻t31までの期間と、時刻t31から時刻t32までの期間と、時刻t32から時刻t33までの期間と、時刻t33から時刻t34までの期間とが、それぞれ機械角で90度に相当する。
 図10は、図9に示される第i相信号Hの波形のうち、時刻t30から時刻t32までの期間に含まれる第i相信号Hの波形を拡大した図である。図9及び図10に示すように、磁場変化、或いは、ロータシャフト110に対するセンサマグネット120の取り付け状態の変化が外乱として生じた場合、第2の角度推定処理の実行時に得られる第i相信号Hの波形は、波状に変化するオフセット波形W1が重畳する波形となる可能性がある。
 ステップS25において、処理部21は、時刻t30から時刻t31までの期間に得られた第i相信号Hに含まれる第1正側ピーク点Pimax1と第1負側ピーク点Pimin1とを結ぶ直線L1の中間点である第1中間点Pimid1の値(デジタル値)を、第i相信号Hの第1中間値Himid1として算出する(図10参照)。
 言い換えれば、ステップS25において、処理部21は、下記演算式(11)に基づいて、第i相信号Hの第1最大値Himax1と第1最小値Himin1との間の中間値である第1中間値Himid1を算出する。第1最大値Himax1は、第i相信号Hに含まれる正側ピーク点の一つである第1正側ピーク点Pimax1の値(デジタル値)である。また、第1最小値Himin1は、第i相信号Hに含まれる負側ピーク点のうち第1正側ピーク点Pimax1の後ろ隣りに位置する第1負側ピーク点Pimin1の値(デジタル値)である。
Figure JPOXMLDOC01-appb-M000014
 続いて、処理部21は、ロータシャフト110が1回転する期間に得られた3相信号Hu、HvおよびHwのデジタル値に基づいて、第i相信号Hの第2中間値Himid2を算出する(ステップS26)。
 ステップS26において、処理部21は、時刻t30から時刻t32までの期間に得られた第i相信号Hに含まれる第1負側ピーク点Pimin1と第2正側ピーク点Pimax2とを結ぶ直線L2の中間点である第2中間点Pimid2の値(デジタル値)を、第i相信号Hの第2中間値Himid2として算出する(図10参照)。
 言い換えれば、ステップS26において、処理部21は、下記演算式(12)に基づいて、第i相信号Hの第1最小値Himin1と第2最大値Himax2との間の中間値である第2中間値Himid2を算出する。第2最大値Himax2は、第i相信号Hに含まれる正側ピーク点のうち第1負側ピーク点Pimin1の後ろ隣りに位置する第2正側ピーク点Pimax2の値(デジタル値)である。
Figure JPOXMLDOC01-appb-M000015
 続いて、処理部21は、下記演算式(13)に基づいて、第1中間値Himid1と第2中間値Himid2とを結ぶ直線L3の傾きksを算出する(ステップS27)。言い換えれば、ステップS27において、処理部21は、第1中間点Pimid1と第2中間点Pimid2とを結ぶ直線L3の傾きksを算出する(図10参照)。下記演算式(13)において、θsは、第1中間値Himid1に対応する回転角度(機械角推定値θ)と、第2中間値Himid2に対応する回転角度(機械角推定値θ)との差分である。図10から理解されるように、直線L3は、第1中間点Pimid1から第2中間点Pimid2までの区間に含まれるオフセット波形W1の接線(近似直線)である。
Figure JPOXMLDOC01-appb-M000016
 処理部21は、上記の演算処理によって得られた傾きksを、第1中間点Pimid1から第2中間点Pimid2までの区間を表す区間識別番号に紐づけてメモリー22に保存する。図8では図示を省略しているが、処理部21は、ステップS25からステップS27に対応する処理を、他の中間点の区間についても実行することにより、他の中間点の区間に対応する傾きksを算出する。
 例えば、図9に示すように、処理部21は、第i相信号Hに含まれる第2正側ピーク点Pimax2と第2負側ピーク点Pimin2とを結ぶ直線の中間点である第3中間点Pimid3のデジタル値を、第i相信号Hの第3中間値Himid3として算出する。言い換えれば、処理部21は、第i相信号Hの第2最大値Himax2と第2最小値Himin2との間の中間値である第3中間値Himid3を算出する。
 そして、処理部21は、第2中間値Himid2と第3中間値Himid3とを結ぶ直線の傾きksを算出する。言い換えれば、処理部21は、第2中間点Pimid2と第3中間点Pimid3とを結ぶ直線の傾きksを算出する。より具体的には、処理部21は、第2中間値Himid2から第3中間値Himid3を減算した値を、第2中間値Himid2に対応する機械角推定値θと、第3中間値Himid3に対応する機械角推定値θとの差分で除算することにより、第2中間点Pimid2と第3中間点Pimid3とを結ぶ直線の傾きksを算出する。処理部21は、この演算処理によって得られた傾きksを、第2中間点Pimid2から第3中間点Pimid3までの区間を表す区間識別番号に紐づけてメモリー22に保存する。
 また、図9に示すように、処理部21は、第i相信号Hに含まれる第2負側ピーク点Pimin2と第3正側ピーク点Pimax3とを結ぶ直線の中間点である第4中間点Pimid4のデジタル値を、第i相信号Hの第4中間値Himid4として算出する。言い換えれば、処理部21は、第i相信号Hの第3最大値Himax3と第2最小値Himin2との間の中間値である第4中間値Himid4を算出する。
 そして、処理部21は、第3中間値Himid3と第4中間値Himid4とを結ぶ直線の傾きksを算出する。言い換えれば、処理部21は、第3中間点Pimid3と第4中間点Pimid4とを結ぶ直線の傾きksを算出する。より具体的には、処理部21は、第3中間値Himid3から第4中間値Himid4を減算した値を、第3中間値Himid3に対応する機械角推定値θと、第4中間値Himid4に対応する機械角推定値θとの差分で除算することにより、第3中間点Pimid3と第4中間点Pimid4とを結ぶ直線の傾きksを算出する。処理部21は、この演算処理によって得られた傾きksを、第3中間点Pimid3から第4中間点Pimid4までの区間を表す区間識別番号に紐づけてメモリー22に保存する。
 また、図9に示すように、処理部21は、第i相信号Hに含まれる第3正側ピーク点Pimax3と第3負側ピーク点Pimin3とを結ぶ直線の中間点である第5中間点Pimid5のデジタル値を、第i相信号Hの第5中間値Himid5として算出する。言い換えれば、処理部21は、第i相信号Hの第3最大値Himax3と第3最小値Himin3との間の中間値である第5中間値Himid5を算出する。
 そして、処理部21は、第4中間値Himid4と第5中間値Himid5とを結ぶ直線の傾きksを算出する。言い換えれば、処理部21は、第4中間点Pimid4と第5中間点Pimid5とを結ぶ直線の傾きksを算出する。より具体的には、処理部21は、第4中間値Himid4から第5中間値Himid5を減算した値を、第4中間値Himid4に対応する機械角推定値θと、第5中間値Himid5に対応する機械角推定値θとの差分で除算することにより、第4中間点Pimid4と第5中間点Pimid5とを結ぶ直線の傾きksを算出する。処理部21は、この演算処理によって得られた傾きksを、第4中間点Pimid4から第5中間点Pimid5までの区間を表す区間識別番号に紐づけてメモリー22に保存する。
 また、図9に示すように、処理部21は、第i相信号Hに含まれる第3負側ピーク点Pimin3と第4正側ピーク点Pimax4とを結ぶ直線の中間点である第6中間点Pimid6のデジタル値を、第i相信号Hの第6中間値Himid6として算出する。言い換えれば、処理部21は、第i相信号Hの第4最大値Himax4と第3最小値Himin3との間の中間値である第6中間値Himid6を算出する。
 そして、処理部21は、第5中間値Himid5と第6中間値Himid6とを結ぶ直線の傾きksを算出する。言い換えれば、処理部21は、第5中間点Pimid5と第6中間点Pimid6とを結ぶ直線の傾きksを算出する。より具体的には、処理部21は、第5中間値Himid5から第6中間値Himid6を減算した値を、第5中間値Himid5に対応する機械角推定値θと、第6中間値Himid6に対応する機械角推定値θとの差分で除算することにより、第5中間点Pimid5と第6中間点Pimid6とを結ぶ直線の傾きksを算出する。処理部21は、この演算処理によって得られた傾きksを、第5中間点Pimid5から第6中間点Pimid6までの区間を表す区間識別番号に紐づけてメモリー22に保存する。
 また、図9に示すように、処理部21は、第i相信号Hに含まれる第4正側ピーク点Pimax4と第4負側ピーク点Pimin4とを結ぶ直線の中間点である第7中間点Pimid7のデジタル値を、第i相信号Hの第7中間値Himid7として算出する。言い換えれば、処理部21は、第i相信号Hの第4最大値Himax4と第4最小値Himin4との間の中間値である第7中間値Himid7を算出する。
 そして、処理部21は、第6中間値Himid6と第7中間値Himid7とを結ぶ直線の傾きksを算出する。言い換えれば、処理部21は、第6中間点Pimid6と第7中間点Pimid7とを結ぶ直線の傾きksを算出する。より具体的には、処理部21は、第6中間値Himid6から第7中間値Himid7を減算した値を、第6中間値Himid6に対応する機械角推定値θと、第7中間値Himid7に対応する機械角推定値θとの差分で除算することにより、第6中間点Pimid6と第7中間点Pimid7とを結ぶ直線の傾きksを算出する。処理部21は、この演算処理によって得られた傾きksを、第6中間点Pimid6から第7中間点Pimid7までの区間を表す区間識別番号に紐づけてメモリー22に保存する。
 また、図9に示すように、処理部21は、第i相信号Hに含まれる第4負側ピーク点Pimin4と第1正側ピーク点Pimax1とを結ぶ直線の中間点である第8中間点Pimid8のデジタル値を、第i相信号Hの第8中間値Himid8として算出する。言い換えれば、処理部21は、第i相信号Hの第1最大値Himax1と第4最小値Himin4との間の中間値である第8中間値Himid8を算出する。
 そして、処理部21は、第7中間値Himid7と第8中間値Himid8とを結ぶ直線の傾きksを算出する。言い換えれば、処理部21は、第7中間点Pimid7と第8中間点Pimid8とを結ぶ直線の傾きksを算出する。より具体的には、処理部21は、第7中間値Himid7から第8中間値Himid8を減算した値を、第7中間値Himid7に対応する機械角推定値θと、第8中間値Himid8に対応する機械角推定値θとの差分で除算することにより、第7中間点Pimid7と第8中間点Pimid8とを結ぶ直線の傾きksを算出する。処理部21は、この演算処理によって得られた傾きksを、第7中間点Pimid7から第8中間点Pimid8までの区間を表す区間識別番号に紐づけてメモリー22に保存する。
 さらに、処理部21は、第8中間値Himid8と第1中間値Himid1とを結ぶ直線の傾きksを算出する。言い換えれば、処理部21は、第8中間点Pimid8と第1中間点Pimid1とを結ぶ直線の傾きksを算出する。より具体的には、処理部21は、第8中間値Himid8から第1中間値Himid1を減算した値を、第8中間値Himid8に対応する機械角推定値θと、第1中間値Himid1に対応する機械角推定値θとの差分で除算することにより、第8中間点Pimid8と第1中間点Pimid1とを結ぶ直線の傾きksを算出する。処理部21は、この演算処理によって得られた傾きksを、第8中間点Pimid8から第1中間点Pimid1までの区間を表す区間識別番号に紐づけてメモリー22に保存する。
 上記のように、処理部21は、ステップS25からステップS27に対応する処理を、他の中間点の区間についても実行した後、補正開始フラグを「1」にセットする(ステップS28)。処理部21は、補正開始フラグを「1」にセットした後、今回の第2の角度推定処理を終了する。
 上記の説明から理解されるように、処理部21は、処理部21が起動してからロータシャフト110が1回転するまで、センサ群10から得られる3相信号Hu、HvおよびHwのデジタル値に基づいて、基本角度推定処理を実行することにより、機械角推定値θを算出する。そして、処理部21は、ロータシャフト110が1回転すると、第i相信号Hに含まれる中間点の区間ごとに算出した傾きksをメモリー22に保存した後、補正開始フラグを「1」にセットする。
 処理部21は、補正開始フラグが「1」にセットされた第2の角度推定処理の終了後に、次の第2の角度推定処理を開始すると、上記のように3相信号Hu、HvおよびHwのデジタル値を取得し(ステップS21)、補正開始フラグが「0」であるか否かを判定する(ステップS22)。このとき、補正開始フラグが「1」にセットされているため、処理部21は、補正開始フラグが「0」でないと判定し(ステップS22:No)、ステップS29の処理に移行する。
 処理部21は、ステップS29に移行すると、下記演算式(14)に基づいて、第i相信号HのオフセットHiofsを算出する(ステップS29)。具体的には、処理部21は、ステップS21によって時刻tに取得した第i相信号Hのデジタル値Hitに基づいて、現在の中間点の区間を特定する。例えば、図10に示すように、第i相信号Hのデジタル値Hitが、第1中間点Pimid1から第2中間点Pimid2までの区間に含まれている場合、処理部21は、第1中間点Pimid1から第2中間点Pimid2までの区間を、現在の中間点の区間として特定する。
 この場合、処理部21は、第1中間点Pimid1から第2中間点Pimid2までの区間を表す区間識別番号に紐づけられた傾きksを、メモリー22から読み出す。そして、処理部21は、メモリー22から読み出した傾きksと、第1中間値Himid1とを下記演算式(14)に代入することにより、第i相信号Hのデジタル値Hitに対応するオフセットHiofsを算出する。
 図10に示すように、下記演算式(14)において、Δθは、第1中間値Himid1に対応する回転角度(機械角推定値θ)と、第i相信号Hの値(デジタル値Hit)に対応する回転角度(機械角推定値θ)との差分である。図10に示すように、この場合におけるオフセットHiofsは、直線L3上の点Piofsの値である。
Figure JPOXMLDOC01-appb-M000017
 例えば、処理部21は、以下のような演算を行うことにより、Δθを算出してもよい。まず、処理部21は、下記演算式(15)に基づいて、オフセットHiofsの計算に使用される機械角推定値θ0を算出する。演算式(15)において、θ1は、前回の基本角度推定処理で算出された機械角推定値であり、θ2は、前々回の基本角度推定処理で算出された機械角推定値である。そして、処理部21は、下記演算式(16)に基づいて、Δθを算出する。演算式(16)において、θは、第1中間値Himid1に対応する機械角推定値である。
            θ0=θ1-θ2+θ1  …(15)
            Δθ=θ0-θ      …(16)
 なお、例えば、第i相信号Hのデジタル値Hitが、第2中間点Pimid2から第3中間点Pimid3までの区間に含まれている場合、処理部21は、第2中間点Pimid2から第3中間点Pimid3までの区間を、現在の中間点の区間として特定する。この場合、処理部21は、第2中間点Pimid2から第3中間点Pimid3までの区間を表す区間識別番号に紐づけられた傾きksを、メモリー22から読み出す。そして、処理部21は、メモリー22から読み出した傾きksにΔθを乗算した値に、第2中間値Himid2を加算することにより、オフセットHiofsを算出する。この場合、Δθは、第2中間値Himid2に対応する機械角推定値θと、第i相信号Hの値(デジタル値Hit)に対応する機械角推定値θとの差分である。
 続いて、処理部21は、第i相信号Hのピーク・トゥ・ピーク値HiP-Pを算出する(ステップS30)。例えば、第1中間点Pimid1から第2中間点Pimid2までの区間が、現在の中間点の区間として特定された場合、処理部21は、第1最大値Himax1と第1最小値Himin1との差分を、ピーク・トゥ・ピーク値HiP-Pとして算出する。また、例えば、第2中間点Pimid2から第3中間点Pimid3までの区間が、現在の中間点の区間として特定された場合、処理部21は、第2最大値Himax2と第1最小値Himin1との差分を、ピーク・トゥ・ピーク値HiP-Pとして算出する。
 続いて、処理部21は、下記演算式(10)に基づいて、3相信号Hu、HvおよびHwのデジタル値を補正する(ステップS31)。具体的には、ステップS31において、処理部21は、第i相学習信号HiLのピーク・トゥ・ピーク学習値HiP-PLおよびオフセット学習値HiofsLをメモリー22から読み出す。そして、処理部21は、メモリー22から読み出した各学習値と、ステップS21で取得された第i相信号Hのデジタル値と、ステップS29で算出されたオフセットHiofsと、ステップS30で算出されたピーク・トゥ・ピーク値HiP-Pとを下記演算式(10)に代入することにより、第i相補正信号H’のデジタル値を算出する。
Figure JPOXMLDOC01-appb-M000018
 図示は省略するが、上記演算式(10)によって算出された第i相補正信号H’の波形は、磁場、或いはロータシャフト110に対するセンサマグネット120の取り付け状態が異なる環境下で得られた第i相学習信号HiLの波形とほぼ一致する。すなわち、処理部21が上記演算式(10)を基に算出した第i相補正信号H’は、第i相学習信号HiLに対して磁場補償等がされた第i相信号Hであると言える。
 処理部21は、上記の演算処理によって得られた第i相補正信号H’のデジタル値をメモリー22に保存する。これにより、第1相補正信号H’(補正後のU相信号Hu)のデジタル値と、第2相補正信号H’(補正後のV相信号Hv)のデジタル値と、第3相補正信号H’(補正後のW相信号Hw)のデジタル値とが、メモリー22に保存される。
 そして、処理部21は、第1相補正信号H’、第2相補正信号H’、および第3相補正信号H’のそれぞれのデジタル値をメモリー22から読み出し、読み出したデジタル値(補正後の3相信号Hu、HvおよびHwのデジタル値)に基づいて基本角度推定処理を実行することにより、機械角推定値θを算出する(ステップS32)。処理部21は、ステップS32の処理を実行した後、今回の第2の角度推定処理を終了する。
 上記の説明から理解されるように、処理部21は、補正開始フラグが「1」にセットされた後に実行される第2の角度推定処理において、磁場補償等がされた3相信号Hu、HvおよびHwのデジタル値に基づいて、基本角度推定処理を実行することにより、機械角推定値θを算出する。これにより、磁場変化、或いはロータシャフト110に対するセンサマグネット120の取り付け状態の変化が外乱として生じた場合であっても、基本学習処理によって得られた学習データを、第2の角度推定処理に含まれる基本角度推定処理の実行時に適切に活用できるため、機械角推定値θと機械角真値との間の角度誤差を低減できる。
 以上のように、本実施形態によれば、特許第6233532号公報に開示された基本特許方法と比較して、基本学習処理の実行時の環境と、第1の角度推定処理または第2の角度推定処理の実行時の環境とが異なる場合であっても、基本学習処理によって得られた学習データを、第1の角度推定処理または第2の角度推定処理に含まれる基本角度推定処理の実行時に適切に活用できるため、機械角推定値θと機械角真値との間の角度誤差を低減でき、もってロータシャフト110の機械角推定精度の向上を実現することができる。
(変形例)
 本発明は上記実施形態に限定されず、本明細書において説明した各構成は、相互に矛盾しない範囲内において、適宜組み合わせることができる。
 例えば、上記実施形態では、モータ100と信号生成装置1との組み合わせを例示したが、本発明はこの形態に限定されず、回転軸に取り付けられたセンサマグネットと信号生成装置との組み合わせもあり得る。
 例えば、上記実施形態では、ロータシャフト110の軸方向において、第1磁気センサ11、第2磁気センサ12及び第3磁気センサ13が、円板状のセンサマグネット120に対向する状態で配置される形態を例示したが、本発明はこの形態に限定されない。例えば、円板状のセンサマグネットの代わりにリング状磁石を用いる場合、リング状磁石の半径方向に磁束が流入するため、リング状磁石の半径方向において、第1磁気センサ11、第2磁気センサ12及び第3磁気センサ13が、リング状磁石と対向する状態で配置されてもよい。
 例えば、上記実施形態では、回転する磁石として、モータ100のロータシャフト110に取り付けられるセンサマグネット120を使用する場合を例示したが、モータ100のロータに取り付けられるロータマグネットを、回転する磁石として用いてもよい。ロータマグネットもロータシャフト110に同期して回転する磁石であり、複数の磁極対を有する。
 上記実施形態では、センサ群10に3つの磁気センサ11、12及び13が含まれる場合を例示したが、磁気センサの個数は3つに限定されずN個(Nは3の倍数)であればよい。また、上記実施形態では、センサマグネット120が4つの磁極対を有する場合を例示したが、センサマグネット120の極対数は4つに限定されない。位置検出用の磁石としてロータマグネットを用いる場合も同様に、ロータマグネットの極対数は4つに限定されない。
 図6に示される第1の角度推定処理では、補正開始フラグが「1」になった後、処理部21の起動からロータシャフト110が90度回転する期間に得られたピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsを使って、3相信号Hu、HvおよびHwのデジタル値を補正する。しかしながら、補正開始フラグが「1」になった以降も温度が変化する場合も考えられる。
 そこで、例えば、処理部21は、処理部21の起動からロータシャフト110が90度回転するごとにピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsを取得してもよい。この場合、処理部21は、処理部21の起動からロータシャフト110が90度回転する期間に得られたピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsを使って、ロータシャフト110が90度から180度まで回転する期間に得られる3相信号Hu、HvおよびHwのデジタル値を補正する。また、処理部21は、ロータシャフト110が90度から180度まで回転する期間に得られたピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsを使って、ロータシャフト110が180度から270度まで回転する期間に得られる3相信号Hu、HvおよびHwのデジタル値を補正する。
 また、処理部21は、ロータシャフト110が180度から270度まで回転する期間に得られたピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsを使って、ロータシャフト110が270度から360度まで回転する期間に得られる3相信号Hu、HvおよびHwのデジタル値を補正する。さらに、処理部21は、ロータシャフト110が270度から360度まで回転する期間に得られたピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsを使って、ロータシャフト110が360度(0度)から450度(90度)まで回転する期間に得られる3相信号Hu、HvおよびHwのデジタル値を補正する。
 なお、基本的に、ピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsは、角度範囲ごとに異なるため、例えば、前回の1回転中に0度から90度の範囲で得られたピーク・トゥ・ピーク値HiP-PおよびオフセットHiofsであれば、今回の1回転中に0度から90度の範囲で得られた3相信号Hu、HvおよびHwのデジタル値を補正するために使用することが好ましい。これにより、補正の効果を向上させることができる。90度から180度の範囲、180度から270度の範囲、及び270度から360度の範囲についても同様である。
 図8に示される第2の角度推定処理では、補正開始フラグが「1」になった後、処理部21の起動からロータシャフト110が1回転する期間に得られた傾きksを使って、3相信号Hu、HvおよびHwのデジタル値を補正する。しかしながら、補正開始フラグが「1」になった以降も磁場環境などが変化する場合も考えられる。
 そこで、例えば、処理部21は、処理部21の起動からロータシャフト110が1回転するごとに傾きksを取得してもよい。言い換えれば、処理部21は、処理部21の起動からロータシャフト110が360度回転するごとに傾きksを取得してもよい。この場合、処理部21は、処理部21の起動からロータシャフト110が360度回転する期間に得られた傾きksを使って、ロータシャフト110が360度から720度まで回転する期間に得られる3相信号Hu、HvおよびHwのデジタル値を補正する。また、処理部21は、ロータシャフト110が360度から720度まで回転する期間に得られた傾きksを使って、ロータシャフト110が720度から1080度まで回転する期間に得られる3相信号Hu、HvおよびHwのデジタル値を補正する。
 1…信号生成装置、10…センサ群、11…第1磁気センサ、12…第2磁気センサ、13…第3磁気センサ、20…信号処理部、21…処理部、22…メモリー、100…モータ、110…ロータシャフト(回転体)、120…センサマグネット

Claims (8)

  1.  回転体の回転角度に応じてN相信号(Nは3の倍数)を出力するN個のセンサと、
     演算式(10)に基づいて前記N相信号を補正する信号処理部と、
     を備え、
     前記演算式(10)において、Hは、第i相信号(iは1からNまでの整数)であり、H’は、補正後の前記第i相信号であり、HiP-Pは、前記第i相信号の最大値Himaxと最小値Himinとの差分であり、Hiofsは、前記第i相信号のオフセットであり、HiP-PLは、前記差分HiP-Pの学習値であり、HiofsLは、前記オフセットHiofsの学習値である、
     信号生成装置。
    Figure JPOXMLDOC01-appb-M000001
  2.  前記信号処理部は、演算式(9)に基づいて、前記第i相信号の前記オフセットHiofsを算出する、請求項1に記載の信号生成装置。
    Figure JPOXMLDOC01-appb-M000002
  3.  前記信号処理部は、
     演算式(11)に基づいて、前記第i相信号の第1最大値Himax1と第1最小値Himin1との間の中間値である第1中間値Himid1を算出する処理と、
     演算式(12)に基づいて、前記第i相信号の前記第1最小値Himin1と第2最大値Himax2との間の中間値である第2中間値Himid2を算出する処理と、
     演算式(13)に基づいて、前記第1中間値Himid1と前記第2中間値Himid2とを結ぶ直線の傾きksを算出する処理と、
     演算式(14)に基づいて、前記第i相信号の前記オフセットHiofsを算出する処理と、
     を実行し、
     前記第1最大値Himax1は、前記第i相信号に含まれる正側ピーク点の一つである第1正側ピーク点の値であり、
     前記第1最小値Himin1は、前記第i相信号に含まれる負側ピーク点のうち前記第1正側ピーク点の後ろ隣りに位置する第1負側ピーク点の値であり、
     前記第2最大値Himax2は、前記第i相信号に含まれる前記正側ピーク点のうち前記第1負側ピーク点の後ろ隣りに位置する第2正側ピーク点の値であり、
     前記演算式(13)において、θsは、前記第1中間値Himid1に対応する前記回転角度と、前記第2中間値Himid2に対応する前記回転角度との差分であり、
     前記演算式(14)において、Δθは、前記第1中間値Himid1に対応する前記回転角度と、前記第i相信号の値に対応する前記回転角度との差分である、
     請求項1に記載の信号生成装置。
    Figure JPOXMLDOC01-appb-M000003
  4.  前記センサは、磁気センサである、
     請求項1から3のいずれか一項に記載の信号生成装置。
  5.  回転体の回転角度に応じてN相信号(Nは3の倍数)を出力するN個のセンサを用いる信号生成方法であって、
     演算式(10)に基づいて前記N相信号を補正するステップ、
     を含み、
     前記演算式(10)において、Hは、第i相信号(iは1からNまでの整数)であり、H’は、補正後の前記第i相信号であり、HiP-Pは、前記第i相信号の最大値Himaxと最小値Himinとの差分であり、Hiofsは、前記第i相信号のオフセットであり、HiP-PLは、前記差分HiP-Pの学習値であり、HiofsLは、前記オフセットHiofsの学習値である、
     信号生成方法。
    Figure JPOXMLDOC01-appb-M000004
  6.  前記N相信号を補正するステップは、
     演算式(9)に基づいて、前記第i相信号の前記オフセットHiofsを算出するステップ、
     を含む、請求項5に記載の信号生成方法。
    Figure JPOXMLDOC01-appb-M000005
  7.  前記N相信号を補正するステップは、
     演算式(11)に基づいて、前記第i相信号の第1最大値Himax1と第1最小値Himin1との間の中間値である第1中間値Himid1を算出するステップと、
     演算式(12)に基づいて、前記第i相信号の前記第1最小値Himin1と第2最大値Himax2との間の中間値である第2中間値Himid2を算出するステップと、 演算式(13)に基づいて、前記第1中間値Himid1と前記第2中間値Himid2とを結ぶ直線の傾きksを算出するステップと、
     演算式(14)に基づいて、前記第i相信号の前記オフセットHiofsを算出するステップと、
     を含み、
     前記第1最大値Himax1は、前記第i相信号に含まれる正側ピーク点の一つである第1正側ピーク点の値であり、
     前記第1最小値Himin1は、前記第i相信号に含まれる負側ピーク点のうち前記第1正側ピーク点の後ろ隣りに位置する第1負側ピーク点の値であり、
     前記第2最大値Himax2は、前記第i相信号に含まれる前記正側ピーク点のうち前記第1負側ピーク点の後ろ隣りに位置する第2正側ピーク点の値であり、
     前記演算式(13)において、θsは、前記第1中間値Himid1に対応する前記回転角度と、前記第2中間値Himid2に対応する前記回転角度との差分であり、
     前記演算式(14)において、Δθは、前記第1中間値Himid1に対応する前記回転角度と、前記第i相信号の値に対応する前記回転角度との差分である、
     請求項5に記載の信号生成方法。
    Figure JPOXMLDOC01-appb-M000006
  8.  前記センサは、磁気センサである、
     請求項5から7のいずれか一項に記載の信号生成方法。
PCT/JP2023/019227 2022-06-30 2023-05-23 信号生成装置および信号生成方法 WO2024004448A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022106315 2022-06-30
JP2022-106315 2022-06-30

Publications (1)

Publication Number Publication Date
WO2024004448A1 true WO2024004448A1 (ja) 2024-01-04

Family

ID=89382653

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/019227 WO2024004448A1 (ja) 2022-06-30 2023-05-23 信号生成装置および信号生成方法

Country Status (1)

Country Link
WO (1) WO2024004448A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003083823A (ja) * 2001-09-14 2003-03-19 Koyo Seiko Co Ltd 回転角検出装置、トルク検出装置及び舵取装置
JP2018029472A (ja) * 2014-12-22 2018-02-22 日本電産株式会社 位置推定方法および位置制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003083823A (ja) * 2001-09-14 2003-03-19 Koyo Seiko Co Ltd 回転角検出装置、トルク検出装置及び舵取装置
JP2018029472A (ja) * 2014-12-22 2018-02-22 日本電産株式会社 位置推定方法および位置制御装置

Similar Documents

Publication Publication Date Title
JP2020018168A (ja) モータモジュールおよびモータ認証方法
US5646496A (en) Apparatus and method for generating digital position signals for a rotatable shaft
JP6438176B1 (ja) Dcモータの制御装置
EP2498063A2 (en) Rotation angle detection device
DK3134964T3 (en) Method and Apparatus for Reducing the Torque Voltage of a DC Motor
US20120158341A1 (en) Rotation angle detection device
JP2015132593A (ja) 回転角度検出装置、回転角度検出方法及び画像形成装置
US11677341B2 (en) Generation of motor drive signals with misalignment compensation
CN112970188B (zh) 位置推定装置和位置推定方法
WO2024004448A1 (ja) 信号生成装置および信号生成方法
JP6112832B2 (ja) 角度補正装置及び回転角センサ
WO2023167329A1 (ja) 信号生成装置および信号生成方法
WO2023167328A1 (ja) 信号生成装置および信号生成方法
JP2004274855A (ja) ローター位置検出調整方法及びローター位置検出調整装置
WO2022254863A1 (ja) 角度検出方法および角度検出装置
WO2023053598A1 (ja) 三相信号生成装置および三相信号生成方法
WO2023053596A1 (ja) 三相信号生成装置および三相信号生成方法
CN112146688B (zh) 旋转角度检测装置
WO2022254862A1 (ja) 角度検出方法および角度検出装置
WO2022208913A1 (ja) 位置検出装置および位置検出方法
US20220014126A1 (en) Position estimation device and position estimation method
US11463028B2 (en) Control device and control method for actuator
WO2022176507A1 (ja) 位置検出装置、位置検出方法、無人搬送車および縫製装置
JP7435904B2 (ja) 三相信号発生装置および三相信号発生方法
WO2024004474A1 (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: 23830900

Country of ref document: EP

Kind code of ref document: A1