Angle detection device and angle detection method

By installing sensor magnets and M magnetic sensors on the rotation axis of the N-phase motor, and calculating and outputting pulse signals with specific phase differences, the mechanical angle estimation accuracy problem caused by the zero crossing position offset of the sensor magnet and the rotor magnet is solved, and the mechanical angle estimation accuracy is achieved. High-precision rotation position indication.

CN119452229APending Publication Date: 2025-02-14NIDEC CORP(JP)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380050819.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-30
Filing Date
2023-05-26
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

When estimating the mechanical angle by using three magnetic sensor output signals that detect changes in magnetic flux caused by rotation of the sensor magnet, it is difficult to accurately indicate the rotation position of the rotor magnet, especially at the zero crossing position of the sensor magnet and the zero crossing position of the rotor magnet, when the mechanical angle is estimated by using the three magnetic sensor output signals that detect the flux changes caused by the rotation of the sensor magnet, it is difficult to accurately indicate the rotation position of the rotor magnet, especially at the zero crossing position of the sensor magnet and the zero crossing position of the rotor magnet. When there is an offset between the two.

Method used

The sensor magnet is mounted on the rotation axis of the N-phase motor with a rotor magnet, and the magnetic flux changes caused by the rotation of the sensor magnet are detected by M magnetic sensors, and the relationship representing the relationship between the output value of the magnetic sensor and the mechanical angle of the rotation axis is stored. And based on these output values ​​and relationships, the mechanical angle is calculated, and the output N-phase pulse signal with a phase difference of 360 degrees N.

Benefits of technology

It realizes the rotational position of the rotor magnet with high accuracy, and solves the problem of pulse signal level switching timing deviation caused by the zero-crossing position of the sensor magnet and the rotor magnet.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119452229A_ABST
    Figure CN119452229A_ABST
Patent Text Reader

Abstract

An angle detection device according to one embodiment of the present invention is provided with: a sensor magnet attached to a rotating shaft of an N-phase motor (N is an integer of 3 or more) having a rotor magnet; m (M is an integer of 3 or more) magnetic sensors that detect changes in magnetic flux caused by rotation of the sensor magnets; a storage device that stores, as a level switching angle, a relational expression indicating the relationship between the output values of the M magnetic sensors and the mechanical angle of the rotating shaft, the mechanical angle corresponding to at least one rotational position of the rotor magnet; and a processing device that calculates the mechanical angle on the basis of the output value and the relational expression, outputs an N-phase pulse signal having a phase difference of 360-degree N of the electrical angle on the basis of the calculated value of the mechanical angle and the level switching angle, and switches the level of the pulse signal of any phase of the N-phase pulse signal when the calculated value of the mechanical angle coincides with the level switching angle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an angle detection device and an angle detection method. This application claims priority based on Japanese Patent Application No. 2022-106311 filed on June 30, 2022, the contents of which are hereby cited. Background Art

[0002] Conventionally, as a device for detecting the rotational position (mechanical angle) of a motor, there is known an incremental encoder that outputs an A-phase pulse signal, a B-phase pulse signal, and a Z-phase pulse signal. In this encoder, after the power is turned on, the A-phase pulse signal and the B-phase pulse signal begin to be output quickly, but the Z-phase pulse signal is sometimes output with a delay.

[0003] Therefore, the host device that receives each pulse signal from the encoder can only obtain the relative angle based on the A-phase pulse signal and the B-phase pulse signal before the Z-phase pulse signal is output from the encoder. Therefore, depending on the application specifications, problems may sometimes occur.

[0004] Therefore, there is known an encoder that outputs a U-phase pulse signal, a V-phase pulse signal, and a W-phase pulse signal based on the output signals of the three position sensors built into the motor before the Z-phase pulse signal is output from the encoder, so that the host device can obtain an absolute angle. Generally speaking, the three position sensors built into the motor are magnetic sensors that detect changes in magnetic flux caused by the rotation of the rotor magnet of the motor.

[0005] For example, the output signals (analog signals) of the three position sensors are respectively referred to as U-phase sensor signal, V-phase sensor signal, and W-phase sensor signal. In this case, the U-phase pulse signal is a digital signal that becomes high when the U-phase sensor signal is greater than a reference potential (e.g., 0V) and becomes low when the U-phase pulse signal is less than the reference potential. The V-phase pulse signal is a digital signal that becomes high when the V-phase sensor signal is greater than the reference potential and becomes low when the V-phase pulse signal is less than the reference potential. The W-phase pulse signal is a digital signal that becomes high when the W-phase sensor signal is greater than the reference potential and becomes low when the W-phase pulse signal is less than the reference potential.

[0006] In addition, as a motor capable of accurately controlling the rotational position, there is a known structure having an absolute angular position sensor such as an optical encoder and a resolver. However, the absolute angular position sensor is large and expensive. Therefore, Patent Document 1 discloses a position estimation method that estimates the rotational position (mechanical angle) of the motor using three inexpensive and small magnetic sensors instead of using an absolute angular position sensor.

[0007] Prior art literature

[0008] Patent Literature

[0009] Patent Document 1: Japanese Patent No. 6233532 Summary of the invention

[0010] Problems to be solved by the invention

[0011] Based on the mechanical angle obtained by the position estimation method of patent document 1, the applicant has developed a new encoder with an incremental method that outputs A-phase pulse signal, B-phase pulse signal and Z-phase pulse signal, but also requires the new encoder to add the function of outputting U-phase pulse signal, V-phase pulse signal and W-phase pulse signal.

[0012] For example, if the new encoder has a structure that estimates the mechanical angle using the output signals of three position sensors (magnetic sensors) built into the motor, it is relatively easy to add the function of outputting the U-phase pulse signal, the V-phase pulse signal, and the W-phase pulse signal. This is because, in this case, it is only necessary to use a comparator or the like to digitally convert the output signals of the three position sensors into the U-phase pulse signal, the V-phase pulse signal, and the W-phase pulse signal.

[0013] On the other hand, for example, in the case where the motor is a sensorless motor without a built-in position sensor, and the new encoder has a structure that estimates the mechanical angle by using the output signals of three magnetic sensors that detect changes in magnetic flux caused by the rotation of a sensor magnet mounted on the rotating shaft of the motor, the following aspects are cited as technical issues.

[0014] When estimating the mechanical angle using the output signals of three magnetic sensors that detect changes in magnetic flux caused by the rotation of the sensor magnet, a method of digitally converting the output signals of the three magnetic sensors into a U-phase pulse signal, a V-phase pulse signal, and a W-phase pulse signal using a comparator, etc. However, the U-phase pulse signal, the V-phase pulse signal, and the W-phase pulse signal obtained by this method are always signals indicating the rotational position of the sensor magnet, rather than signals indicating the rotational position of the rotor magnet (that is, the rotational position of the rotating shaft).

[0015] Therefore, when the sensor magnet is mounted on the rotating shaft of the motor, the number of magnetic poles, magnetization, and zero crossing position of the sensor magnet need to be consistent with those of the rotor magnet. In addition, the zero crossing position is the position of the boundary between the N pole and the S pole of the sensor magnet and the rotor magnet. When the boundary between the N pole and the S pole of the sensor magnet passes through the magnetic sensor, the output signal of the magnetic sensor intersects with the reference potential. In this specification, the phenomenon that the output signal of the magnetic sensor crosses the reference potential is called "zero crossing".

[0016] However, due to the installation error when the sensor magnet is installed on the rotating shaft of the motor, there is sometimes a deviation between the zero-crossing position of the sensor magnet and the zero-crossing position of the rotor magnet. In this case, the timing of the level switching of the U-phase pulse signal, the V-phase pulse signal, and the W-phase pulse signal deviates from the ideal timing, making it difficult to accurately indicate the rotation position of the rotor magnet (the rotation position of the rotating shaft) through the U-phase pulse signal, the V-phase pulse signal, and the W-phase pulse signal.

[0017] In addition, ideal timing refers to the timing of switching the levels of the U-phase pulse signal, V-phase pulse signal, and W-phase pulse signal obtained based on the output signals of three position sensors built into the motor that detect magnetic flux changes caused by the rotation of the rotor magnet.

[0018] Means for solving problems

[0019] One embodiment of the angle detection device of the present invention comprises: a sensor magnet mounted on a rotating shaft of an N-phase motor (N is an integer greater than or equal to 3) having a rotor magnet; M magnetic sensors that detect changes in magnetic flux caused by the rotation of the sensor magnet (M is an integer greater than or equal to 3); a storage device that stores a relational expression representing the relationship between output values ​​of the M magnetic sensors and the mechanical angle of the rotating shaft, and the mechanical angle corresponding to at least one rotational position of the rotor magnet as a level switching angle; and a processing device that calculates the mechanical angle based on the output value and the relational expression, and outputs an N-phase pulse signal having a phase difference of 360 degrees in electrical angle based on the calculated value of the mechanical angle and the level switching angle, wherein the processing device switches the level of a pulse signal of any one phase of the N-phase pulse signal when the calculated value of the mechanical angle is consistent with the level switching angle.

[0020] An angle detection method in one mode of the angle detection method of the present invention uses a sensor magnet and M magnetic sensors to detect the mechanical angle of a rotating shaft, the sensor magnet is installed on the rotating shaft of an N-phase motor (N is an integer greater than 3) having a rotor magnet, and the M magnetic sensors detect the change in magnetic flux caused by the rotation of the sensor magnet. The angle detection method includes the following steps: a first step, storing a relationship expression representing the relationship between the output values ​​of the M magnetic sensors and the mechanical angle of the rotating shaft, and the mechanical angle corresponding to at least one rotation position of the rotor magnet as a level switching angle; and a second step, calculating the mechanical angle based on the output value and the relationship expression, and outputting an N-phase pulse signal having a phase difference of 360 degrees in the electrical angle based on the calculated value of the mechanical angle and the level switching angle, wherein in the second step, when the calculated value of the mechanical angle is consistent with the level switching angle, the level of the pulse signal of any one phase of the N-phase pulse signal is switched.

[0021] Effects of the Invention

[0022] According to the above aspects of the present invention, it is possible to provide an angle detection device and an angle detection method capable of outputting an N-phase pulse signal that indicates the rotational position of a rotor magnet (rotational position of a rotating shaft) with high accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 : is a block diagram schematically showing the structure of the angle detection device according to the present embodiment.

[0024] Figure 2 2 is a diagram showing an example of the waveforms of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw.

[0025] Figure 3 yes Figure 2 FIG. 1 is an enlarged view of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw included in one pole pair region.

[0026] Figure 4 This is a flowchart showing an example of off-line processing executed by the computing device of the processing device.

[0027] Figure 5 This is a diagram showing an example of the relationship between the waveform of the A-phase pulse signal, the waveform of the B-phase pulse signal, the waveform of the Z-phase pulse signal, and the signal state values.

[0028] Figure 6 It is a timing chart showing the temporal correspondence between the generation timing of the interrupt signal, the change timing of the number of interrupts, the execution timing of the interrupt processing, the operation timing of the A / D converter, and the execution timing of the angle calculation processing.

[0029] Figure 7 This is a flowchart showing an interrupt process executed by the arithmetic device of the processing device.

[0030] Figure 8 This is a diagram for explaining the delay compensation of the mechanical angle.

[0031] Fig. 9 This is a diagram showing an example of outputting an A-phase pulse signal and a B-phase pulse signal from the second timer through interrupt processing.

[0032] Fig.10 It is a diagram showing the operation of the third timer.

[0033] Fig.11 This is a diagram showing the correspondence between the mechanical angle and the edge count value.

[0034] Fig.121 is a timing chart showing an example of three-phase pulse signals PU, PV, and PW generated by the calculation device of the processing device.

[0035] Fig.13 This is a flowchart showing another example of the off-line processing executed by the computing device of the processing device.

[0036] Fig.14 2 is a diagram showing an example of the waveforms of the three-phase induced voltages Vu, Vv, and Vw.

[0037] Fig.15 1 is a timing chart showing an example of three-phase pulse signals PU, PV, and PW generated by the calculation device of the processing device. DETAILED DESCRIPTION

[0038] Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings.

[0039] Figure 1 Schematically shows the structure of the angle detection device 1 of this embodiment. Figure 1 As shown, the angle detection device 1 is a device for detecting the mechanical angle θ of the rotating shaft, i.e., the rotor shaft 110, of an N-phase motor 100 (N is an integer greater than or equal to 3) having a rotor magnet (not shown). As an example, the N-phase motor 100 is an inner rotor type three-phase brushless DC motor. Hereinafter, the N-phase motor 100 is referred to as a "three-phase motor 100". The three-phase motor 100 is a sensorless motor without a built-in position sensor.

[0040] The angle detection device 1 includes a processing device 10, a storage device 20, a sensor group 30, and a sensor magnet 40. The sensor magnet 40 is a disk-shaped magnet mounted on a rotor shaft 110 in a state opposite to a rotor magnet of a three-phase motor 100. The sensor magnet 40 rotates synchronously with the rotor shaft 110. The sensor magnet 40 has P (P is an integer greater than or equal to 1) magnetic pole pairs.

[0041] As an example, in the present embodiment, the sensor magnet 40 has 4 magnetic pole pairs. In addition, the magnetic pole pair refers to a pair of N poles and S poles. That is, in the present embodiment, the sensor magnet 40 has 4 pairs of N poles and S poles, and has a total of 8 magnetic poles. The number of pole pairs of the rotor magnet may be the same as or different from the number of pole pairs P of the sensor magnet 40. As an example, in the present embodiment, the number of pole pairs of the rotor magnet is the same as the number of pole pairs P of the sensor magnet 40.

[0042] Although in Figure 1Although the icons are omitted, a circuit substrate is mounted on the three-phase motor 100, and the processing device 10, the storage device 20, and the sensor group 30 are arranged on the circuit substrate. The sensor magnet 40 is arranged at a position that does not interfere with the circuit substrate. The sensor magnet 40 can be located inside the housing of the three-phase motor 100, or it can also be located outside the housing.

[0043] The sensor group 30 includes M (M is an integer greater than or equal to 3) magnetic sensors that detect changes in magnetic flux caused by the rotation of the sensor magnet 40. As an example, in the present embodiment, the sensor group 30 includes three magnetic sensors including a first magnetic sensor 31, a second magnetic sensor 32, and a third magnetic sensor 33. For example, the first magnetic sensor 31, the second magnetic sensor 32, and the third magnetic sensor 33 are arranged on the circuit board in a state of being opposite to the sensor magnet 40.

[0044] In the present embodiment, the first magnetic sensor 31, the second magnetic sensor 32, and the third magnetic sensor 33 are arranged on the circuit board at intervals of 30 degrees along the rotation direction of the sensor magnet 40. For example, each of the first magnetic sensor 31, the second magnetic sensor 32, and the third magnetic sensor 33 is an analog output type magnetic sensor including a magnetoresistive element such as a Hall element or a linear Hall IC. The first magnetic sensor 31, the second magnetic sensor 32, and the third magnetic sensor 33 each output an analog signal representing a magnetic field strength that varies according to the rotation position of the rotor shaft 110, that is, the rotation position of the sensor magnet 40.

[0045] One cycle of the electrical angle of the analog signal output from the first magnetic sensor 31, the second magnetic sensor 32, and the third magnetic sensor 33 is equivalent to 1 / P of one cycle of the mechanical angle. In the present embodiment, since the number of pole pairs P of the sensor magnet 40 is "4", one cycle of the electrical angle of each analog signal is equivalent to 1 / 4 of one cycle of the mechanical angle, that is, a mechanical angle of 90 degrees. The analog signal output from the second magnetic sensor 32 has a phase delay of 120 degrees in electrical angle relative to the analog signal output from the first magnetic sensor 31. The analog signal output from the third magnetic sensor 33 has a phase delay of 120 degrees in electrical angle relative to the analog signal output from the second magnetic sensor 32.

[0046] Hereinafter, the analog signal output from the first magnetic sensor 31 is referred to as the U-phase sensor signal Hu, the analog signal output from the second magnetic sensor 32 is referred to as the V-phase sensor signal Hv, and the analog signal output from the third magnetic sensor 33 is referred to as the W-phase sensor signal Hw. The U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw are respectively input to the processing device 10. Hereinafter, the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw are sometimes collectively referred to as "three-phase sensor signals".

[0047] The processing device 10 is, for example, a microprocessor such as an MCU (Microcontroller Unit). The processing device 10 calculates the mechanical angle θ of the rotor shaft 110 based on the three-phase sensor signals Hu, Hv, and Hw output from the sensor group 30. The processing device 10 generates an A-phase pulse signal PA and a B-phase pulse signal PB having a phase difference of 90 degrees in electrical angle based on the calculated value of the mechanical angle θ. In addition, the processing device 10 generates a Z-phase pulse signal PZ indicating the origin of the mechanical angle θ based on the A-phase pulse signal PA and the B-phase pulse signal PB.

[0048] Moreover, the processing device 10 generates an N-phase pulse signal having an electrical angle with a phase difference of 360 degrees of N based on the calculated value of the mechanical angle θ. In the present embodiment, since N is 3, the processing device 10 generates a three-phase pulse signal having an electrical angle with a phase difference of 120 degrees. The three-phase pulse signal includes a U-phase pulse signal PU, a V-phase pulse signal PV, and a W-phase pulse signal PW.

[0049] The processing device 10 includes an A / D converter 11 , a first timer 12 , a second timer 13 , a third timer 14 , a calculation device 15 , a first output buffer circuit 16 , a second output buffer circuit 17 , and a third output buffer circuit 18 .

[0050] The three-phase sensor signals Hu, Hv and Hw output from the sensor group 30 are input to the A / D converter 11 of the processing device 10. The A / D converter 11 samples the three-phase sensor signals Hu, Hv and Hw at a predetermined sampling frequency, converts them into digital values, and outputs the digital values ​​of the three-phase sensor signals Hu, Hv and Hw to the operation device 15.

[0051] The first timer 12 outputs an interrupt signal INT to the operation device 15 at a predetermined period. Specifically, the first timer 12 increments the timer count value in synchronization with a clock signal (not shown), and when the timer count value reaches the timer reset value TRES1, the interrupt signal INT is output and the timer count value is reset. In this way, the period of outputting the interrupt signal INT from the first timer 12 is determined by the timer reset value TRES1. The timer reset value TRES1 is set in the first timer 12 by the operation device 15.

[0052] The second timer 13 outputs the A-phase pulse signal PA and the B-phase pulse signal PB. The second timer 13 has a high-level output mode, a low-level output mode, and a comparison output mode as output modes of the A-phase pulse signal PA and the B-phase pulse signal PB. When the output mode of the A-phase pulse signal PA is the high-level output mode, the second timer 13 sets the level of the A-phase pulse signal PA to a high level. When the output mode of the A-phase pulse signal PA is the low-level output mode, the second timer 13 sets the level of the A-phase pulse signal PA to a low level. This is also the same for the B-phase pulse signal PB.

[0053] On the other hand, when the output mode is the comparison output mode, the second timer 13 increments the timer count value in synchronization with a clock signal (not shown), and resets the timer count value each time the timer count value reaches the timer reset value TRES2. In addition, when the output mode is the comparison output mode, the second timer 13 inverts the level of the A-phase pulse signal PA each time the timer count value reaches the first level inversion threshold value Acom, and inverts the level of the B-phase pulse signal PB each time the timer count value reaches the second level inversion threshold value Bcom.

[0054] The output mode of the second timer 13 is switched by an output mode setting signal MSET output from the operation device 15 to the second timer 13. The timer reset value TRES2, the first level inversion threshold value Acom, and the second level inversion threshold value Bcom are set in the second timer 13 by the operation device 15. In addition, the A-phase pulse signal PA and the B-phase pulse signal PB output from the second timer 13 are input to the third timer 14.

[0055] The third timer 14 counts the number of edges of the A-phase pulse signal PA and the B-phase pulse signal PB output from the second timer 13. When the count value of the number of edges reaches the predetermined timer reset value TRES3, the third timer 14 resets the count value of the number of edges. Hereinafter, the count value of the number of edges is referred to as the edge count value EC. The third timer 14 compares the edge count value EC with the predetermined Z-phase output threshold value Zcom, and outputs a signal that becomes a high level when the edge count value EC is less than the Z-phase output threshold value Zcom as a Z-phase pulse signal PZ representing the origin of the mechanical angle θ. The timer reset value TRES3 and the Z-phase output threshold value Zcom are set in the third timer 14 by the computing device 15. The third timer 14 outputs the edge count value EC to the computing device 15.

[0056] The computing device 15 is a processor core that executes various processes according to the program stored in the storage device 20. For example, as an off-line process, the computing device 15 executes a learning process to obtain learning data required for calculating the mechanical angle θ of the rotor shaft 110 based on the digital values ​​of the three-phase sensor signals Hu, Hv, and Hw input from the A / D converter 11. The off-line process refers to a process that is executed before the angle detection device 1 is shipped from the manufacturing factory or before the angle detection device 1 is assembled into a system on the customer side and actually used.

[0057] In addition, as one of the online processing, the computing device 15 performs an angle computing process for calculating the mechanical angle θ of the rotor shaft 110 based on the digital values ​​of the three-phase sensor signals Hu, Hv, and Hw and the learning data obtained by the learning process. The online processing refers to the processing performed when the angle detection device 1 is assembled into a system on the customer side and actually used.

[0058] As one of the online processes, the operation device 15 performs interrupt processing for controlling the output mode of the second timer 13 every time an interrupt signal INT is generated from the first timer 12. The operation device 15 controls the output mode of the second timer 13 according to the mechanical angle θ, thereby outputting the A-phase pulse signal PA and the B-phase pulse signal PB from the second timer 13. When the A-phase pulse signal PA and the B-phase pulse signal PB are output from the second timer 13, the Z-phase pulse signal PZ is automatically output from the third timer 14.

[0059] Furthermore, as one of the online processes, the operation device 15 performs a signal generation process of generating a U-phase pulse signal PU, a V-phase pulse signal PV, and a W-phase pulse signal PW according to the calculated value of the mechanical angle θ. The operation device 15 outputs the U-phase pulse signal PU to the outside of the processing device 10 via the first output buffer circuit 16. The operation device 15 outputs the V-phase pulse signal PV to the outside of the processing device 10 via the second output buffer circuit 17. The operation device 15 outputs the W-phase pulse signal PW to the outside of the processing device 10 via the third output buffer circuit 18.

[0060] The storage device 20 includes: a non-volatile memory that stores in advance programs and setting values ​​required for the computing device 15 to execute various processes; and a volatile memory that is used as a temporary storage destination for data when the computing device 15 executes various processes. As an example, the non-volatile memory may be an EEPROM (Electrically Erasable Programmable Read-Only Memory) or a flash memory, and the volatile memory may be a RAM (Random Access Memory). The storage device 20 may also be built into the processing device 10.

[0061] In the nonvolatile memory of the storage device 20, as setting values, a timer reset value TRES1 of the first timer 12, a timer reset value TRES3 of the third timer 14, and a Z-phase output threshold value Zth are stored. The timer reset value TRES2 of the second timer 13, the first level inversion threshold value Acom, and the second level inversion threshold value Bcom are calculated by the calculation device 15, and the details will be described later.

[0062] As will be described in detail later, the storage device 20 stores a relational expression indicating the relationship between the output values ​​of the three magnetic sensors 31, 32, and 33 (digital values ​​of the three-phase sensor signals Hu, Hv, and Hw) and the mechanical angle θ of the rotor shaft 110, and a mechanical angle θ corresponding to at least one rotational position of the rotor magnet as a level switching angle. These relational expressions and the level switching angle are included in the learning data obtained by the learning process performed by the computing device 15.

[0063] When executing the signal generation process as one of the online processes, the computing device 15 calculates the mechanical angle θ based on the digital values ​​of the three-phase sensor signals Hu, Hv and Hw and the above-mentioned relational expression, and outputs the three-phase pulse signals PU, PV and PW having a phase difference of 120 degrees in electrical angle based on the calculated value of the mechanical angle θ and the above-mentioned level switching angle. When the calculated value of the mechanical angle θ coincides with the level switching angle, the computing device 15 switches the level of the pulse signal of any one phase of the three-phase pulse signals PU, PV and PW.

[0064] The processing device 10 having the above-mentioned computing device 15 has the following functions: calculating the mechanical angle θ based on the digital values ​​of the three-phase sensor signals Hu, Hv and Hw and the above-mentioned relationship, and outputting the three-phase pulse signals PU, PV and PW with a phase difference of 120 degrees in electrical angle based on the calculated value of the mechanical angle θ and the above-mentioned level switching angle; and switching the level of the pulse signal of any one phase among the three-phase pulse signals PU, PV and PW when the calculated value of the mechanical angle θ is consistent with the level switching angle.

[0065] The above is an explanation of the structure of the angle detection device 1. Before explaining the operation of the processing device 10, the position estimation method disclosed in Japanese Patent No. 6233532 will be briefly explained for easy understanding of the present invention. In the following explanation, the position estimation method disclosed in Japanese Patent No. 6233532 is sometimes referred to as the basic patent method. For details of the basic patent method, refer to Japanese Patent No. 6233532. In addition, for the sake of convenience, the following uses Figure 1 The elements shown describe the basic patented method.

[0066] First, the learning process performed by the operation device 15 in the basic patent method is described. When the learning process starts, the operation device 15 obtains the digital values ​​(instantaneous values) of the three-phase sensor signals Hu, Hv and Hw output from each magnetic sensor 31, 32 and 33 while the sensor magnet 40 rotates together with the rotor shaft 110. Specifically, the operation device 15 performs digital conversion on the three-phase sensor signals Hu, Hv and Hw at a predetermined sampling frequency through the A / D converter 11, thereby obtaining the digital values ​​of the three-phase sensor signals Hu, Hv and Hw.

[0067] When the learning process is executed, the three-phase motor 100 may be controlled by a motor control device (not shown) to rotate the rotor shaft 110. Alternatively, the rotor shaft 110 may be connected to a rotating machine (not shown) to rotate the rotor shaft 110.

[0068] Figure 2 : is a diagram showing an example of the waveforms of the U-phase sensor signal Hu, the V-phase sensor signal Hv, and the W-phase sensor signal Hw. Figure 2 As shown in the figure, one electrical angle cycle of each of the three-phase sensor signals Hu, Hv and Hw is equivalent to 1 / 4 of one mechanical angle cycle, that is, the mechanical angle is 90 degrees. Figure 2 In the example, the period from time t1 to time t5 is equivalent to one mechanical angle cycle (mechanical angle 360 ​​degrees). Figure 2 , the period from time t1 to time t2, the period from time t2 to time t3, the period from time t3 to time t4, and the period from time t4 to time t5 correspond to a mechanical angle of 90 degrees. In addition, the three-phase sensor signals Hu, Hv, and Hw have a phase difference of 120 degrees in electrical angle with each other.

[0069] The computing device 15 extracts the intersection points where two phases of the three-phase sensor signals Hu, Hv and Hw intersect each other and the zero crossing points where the three-phase sensor signals Hu, Hv and Hw intersect with the reference signal level (reference potential) within one mechanical angle cycle based on the digital values ​​of the three-phase sensor signals Hu, Hv and Hw. The reference signal level is, for example, a ground level (0 V). When the reference signal level is a ground level, the digital value of the reference signal level is "0".

[0070] like Figure 2 As shown, the calculation device 15 divides one cycle of the mechanical angle into four pole pair regions associated with the pole pair numbers based on the extraction result of the zero crossing point. Figure 2 In the table, "No.C" indicates the pole pair number. Figure 1As shown, the four magnetic pole pairs of the sensor magnet 40 are assigned pole pair numbers in advance. For example, the pole pair number "0" is assigned to the magnetic pole pair set in the range of mechanical angle 0 to 90 degrees. The pole pair number "1" is assigned to the magnetic pole pair set in the range of mechanical angle 90 to 180 degrees. The pole pair number "2" is assigned to the magnetic pole pair set in the range of mechanical angle 180 to 270 degrees. The pole pair number "3" is assigned to the magnetic pole pair set in the range of mechanical angle 270 to 360 degrees.

[0071] For example, when the U-phase sensor signal Hu is used as a reference, the computing device 15 recognizes the zero-crossing point of the U-phase sensor signal Hu obtained at the sampling timing (time t1) when the mechanical angle is 0 degrees as the starting point of the pole pair region associated with the pole pair number "0". In addition, the computing device 15 recognizes the zero-crossing point of the U-phase sensor signal Hu obtained at the sampling timing (time t2) when the mechanical angle is 90 degrees as the end point of the pole pair region associated with the pole pair number "0". That is, the computing device 15 determines the interval 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".

[0072] The computing device 15 also recognizes the zero-crossing point obtained at the sampling timing (time t2) when the mechanical angle is 90 degrees among the zero-crossing points of the U-phase sensor signal Hu as the starting point of the pole pair region associated with the pole pair number "1". In addition, the computing device 15 recognizes the zero-crossing point obtained at the sampling timing (time t3) when the mechanical angle is 180 degrees among the zero-crossing points of the U-phase sensor signal Hu as the end point of the pole pair region associated with the pole pair number "1". That is, the computing device 15 determines the interval 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".

[0073] The computing device 15 also recognizes the zero-crossing point obtained at the sampling timing (time t3) when the mechanical angle is 180 degrees among the zero-crossing points of the U-phase sensor signal Hu as the starting point of the pole pair region associated with the pole pair number "2". In addition, the computing device 15 recognizes the zero-crossing point obtained at the sampling timing (time t4) when the mechanical angle is 270 degrees among the zero-crossing points of the U-phase sensor signal Hu as the end point of the pole pair region associated with the pole pair number "2". That is, the computing device 15 determines the interval 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".

[0074] The computing device 15 also recognizes the zero-crossing point obtained at the sampling timing (time t4) when the mechanical angle is 270 degrees among the zero-crossing points of the U-phase sensor signal Hu as the starting point of the pole pair region associated with the pole pair number "3". In addition, the computing device 15 recognizes the zero-crossing point obtained at the sampling timing (time t5) when the mechanical angle is 360 degrees among the zero-crossing points of the U-phase sensor signal Hu as the end point of the pole pair region associated with the pole pair number "3". That is, the computing device 15 determines the interval 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".

[0075] like Figure 2 As shown in FIG. 1 , the computing device 15 divides the four pole pair regions into 12 segments associated with the segment numbers based on the extraction results of the intersection points and the zero crossing points. Figure 2 In the example, "No.A" indicates the segment number associated with each segment. Figure 2 As shown, the 12 segments contained in each of the four pole pair regions are associated with segment numbers "0" to "11".

[0076] Figure 3 yes Figure 2 The enlarged view of the three-phase sensor signals Hu, Hv and Hw contained in the 1-pole pair area is shown. Figure 3 In the case of , the reference value of the amplitude (reference signal level) is "0". Figure 3 In the example, the digital value of the amplitude of the positive value represents the digital value of the magnetic field strength at the N pole. In addition, the digital value of the amplitude of the negative value represents the digital value of the magnetic field strength at the S pole as an example.

[0077] exist Figure 3 In , points P1, P3, P5, P7, P9, P11, and P13 are zero-crossing points extracted from the digital values ​​of the three-phase sensor signals Hu, Hv, and Hw contained in one pole pair region. Figure 3 In FIG. 1 , points P2, P4, P6, P8, P10, and P12 are intersection points extracted from the digital values ​​of the three-phase sensor signals Hu, Hv, and Hw included in one pole pair region. Figure 3 As shown, the calculation device 15 determines the interval between the adjacent zero-crossing points and the intersection points as a segment.

[0078] The computing device 15 determines the section between the zero-crossing point P1 and the intersection point P2 as a section associated with the section number "0". The computing device 15 determines the section between the intersection point P2 and the zero-crossing point P3 as a section associated with the section number "1". The computing device 15 determines the section between the zero-crossing point P3 and the intersection point P4 as a section associated with the section number "2". The computing device 15 determines the section between the intersection point P4 and the zero-crossing point P5 as a section associated with the section number "3". The computing device 15 determines the section between the zero-crossing point P5 and the intersection point P6 as a section associated with the section number "4". The computing device 15 determines the section between the intersection point P6 and the zero-crossing point P7 as a section associated with the section number "5".

[0079] The computing device 15 determines the section between the zero-crossing point P7 and the intersection point P8 as a section associated with the section number "6". The computing device 15 determines the section between the intersection point P8 and the zero-crossing point P9 as a section associated with the section number "7". The computing device 15 determines the section between the zero-crossing point P9 and the intersection point P10 as a section associated with the section number "8". The computing device 15 determines the section between the intersection point P10 and the zero-crossing point P11 as a section associated with the section number "9". The computing device 15 determines the section between the zero-crossing point P11 and the intersection point P12 as a section associated with the section number "10". The computing device 15 determines the section between the intersection point P12 and the zero-crossing point P13 as a section associated with the section number "11".

[0080] In the following description, for example, a segment assigned with segment number "0" is referred to as "segment No. 0", and a segment assigned with segment number "11" is referred to as "segment No. 11".

[0081] like Figure 2 As shown in FIG. 1 , a continuous number throughout one mechanical angle cycle is associated with each segment number as a segment number. Figure 2 In , "No.B" indicates the segment number associated with each segment number. In addition, segment is a term for a straight line connecting mutually adjacent intersection points and zero crossing points. In other words, a straight line connecting the start and end points of each segment is called a segment. Figure 3 For example, the starting point of the 0th segment is the zero-crossing point P1, and the end point of the 0th segment is the intersection point P2. Therefore, the segment corresponding to the 0th segment is the straight line connecting the zero-crossing point P1 and the intersection point P2. Figure 3 For example, the starting point of the first segment is the intersection point P2, and the end point of the first segment is the zero-crossing point P3. Therefore, the segment corresponding to the first segment is a straight line connecting the intersection point P2 and the zero-crossing point P3.

[0082] like Figure 2As shown, in the pole pair region associated with pole pair number "0", segment numbers "0" to "11" are associated with fragment numbers "0" to "11". In the pole pair region associated with pole pair number "1", segment numbers "0" to "11" are associated with fragment numbers "12" to "23". In the pole pair region associated with pole pair number "2", segment numbers "0" to "11" are associated with fragment numbers "24" to "35". In the pole pair region associated with pole pair number "3", segment numbers "0" to "11" are associated with fragment numbers "36" to "47".

[0083] In the following description, for example, a segment to which segment number "0" is assigned is referred to as "segment 0", and a segment to which segment number "11" is assigned is referred to as "segment 11".

[0084] The calculation device 15 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, and θ is the mechanical angle corresponding to the arbitrary point on the segment. Figure 3 In , for example, the starting point of the segment corresponding to the 0th segment is the zero crossing point P1, and the ending point of the segment corresponding to the 0th segment is the intersection point P2. Figure 3 For example, the starting point of the segment corresponding to the first segment is the intersection point P2, and the end point of the segment corresponding to the first segment is the zero-crossing point P3.

[0085] For example, the linear function θ(Δx) representing the segment is shown by the following formula (1). In the following formula (1), "i" is the segment number, which is an integer from 0 to 47. In the following description, the linear function θ(Δx) shown by the following formula (1) is sometimes referred to as a mechanical angle calculation formula.

[0086] θ(Δx)=k[i]×Δx+θres[i]…(1)

[0087] In the above formula (1), k[i] is a coefficient called a normalization coefficient. In other words, k[i] is a coefficient representing the slope of the i-th segment. The normalization coefficient k[i] is shown by the following formula (2). In the following formula (2), ΔXnorm[i] is the deviation of the digital value between the start point and the end point of the i-th segment. Figure 3 In , for example, ΔXnorm[i] corresponding to the segment of the 0th segment is the deviation of the digital value between the zero crossing point P1 and the intersection point P2. Figure 3 In , for example, ΔXnorm[i] corresponding to the segment of the first section is the deviation of the digital value between the intersection point P2 and the zero crossing point P3.

[0088] k[i]]=θn orm[i] / ΔXn orm[i]…(2)

[0089] In the above formula (2), θnorm[i] is the deviation of the mechanical angle between the start and end of the i-th segment, which is shown by the following formula (3). In the following formula (3), t[i] is the time between the start and end of the i-th segment, t[0] is the time between the start and end of the 0th segment, and t

[47] is the time between the start and end of the 47th segment. Figure 3 In, for example, when the segment corresponding to the 0th section is the 0th segment, t[0] is the time between the zero-crossing point P1 and the intersection point P2.

[0090] θnorm[i]={t[i] / (t[0]+…+t

[47] )}×360[degM]…(3)

[0091] In the above formula (1), θres[i] is a constant (intercept of the linear function θ(Δx)) called the angle reset value of the i-th segment. When the segment number "i" is "0", the angle reset value θres[i] is shown by the following formula (4). When the segment number "i" is any one of "1" to "47", the angle reset value θres[i] is shown by the following formula (5). In addition, θnorm[i] may be obtained based on the mechanical angle true value (for example, the mechanical angle indicated by the output signal of the main encoder installed on the rotor shaft 110 when the learning process is performed) instead of being obtained based on t[i] as described above.

[0092] θres[i]=0[degM]…(4)

[0093] θres[i]=∑(θnorm[i-1])…(5)

[0094] The computing device 15 performs the learning process as described above to obtain the correspondence between the pole pair number, the segment number, and the fragment number, the characteristic data of each segment, and the mechanical angle calculation formula of each segment, and stores the obtained data in the storage device 20 as learning data. In addition, the characteristic data of each segment refers to the magnitude relationship and positive and negative signs of the digital values ​​of the three-phase sensor signals Hu, Hv, and Hw contained in each segment. In addition, the normalization coefficient k[i] and the angle reset value θres[i] constituting the mechanical angle calculation formula of each segment are stored in the storage device 20 as learning data. The mechanical angle calculation formula corresponds to a relational expression representing the relationship between the digital values ​​of the three-phase sensor signals Hu, Hv, and Hw and the mechanical angle θ.

[0095] Next, the angle calculation processing performed by the calculation device 15 in the basic patent method is described.

[0096] When the angle calculation process is started, the calculation device 15 obtains the digital values ​​of the three-phase sensor signals Hu, Hv and Hw output from the magnetic sensors 31, 32 and 33. Specifically, the calculation device 15 performs digital conversion on the three-phase sensor signals Hu, Hv and Hw at a predetermined sampling frequency through the A / D converter 11, thereby obtaining the digital values ​​of the three-phase sensor signals Hu, Hv and Hw.

[0097] Then, the computing device 15 determines the current segment number and pole pair number based on the digital values ​​of the three-phase sensor signals Hu, Hv, and Hw obtained at the current sampling timing. Figure 3 In the example, it is assumed that point PHu located on the waveform of the U-phase sensor signal Hu, point PHv located on the waveform of the V-phase sensor signal Hv, and point PHw located on the waveform of the W-phase sensor signal Hw are the digital values ​​of the three-phase sensor signals Hu, Hv, and Hw obtained at this sampling timing. The computing device 15 determines the current segment (segment number) by comparing the characteristic data such as the size relationship and positive and negative signs of the digital values ​​of point PHu, point PHv, and point PHw with the characteristic data of each segment contained in the learning data stored in the storage device 20. Figure 3 In the example, the 9th segment is determined as the current segment. In addition, in this specification, the method of determining the pole pair number is not described. For the method of determining the pole pair number, refer to Japanese Patent No. 6233532. As the pole pair number of this sampling timing, for example, it is assumed that the pole pair number "2" is determined.

[0098] Then, the computing device 15 determines the current segment number based on the determined current segment number and pole pair number. For example, the computing device 15 determines the current segment number by the formula "segment number = 12 × pole pair number + segment number". As described above, it is assumed that the segment number "9" is determined as the current segment number and the pole pair number "2" is determined as the current pole pair number. In this case, the computing device 15 specifies the segment number "33" as the current segment number (see Figure 2 ).

[0099] The computing device 15 reads the normalization coefficient k[i] and the angle reset value θres[i] corresponding to the determined segment number "i" from the learning data stored in the storage device 20, and calculates the mechanical angle θ by the mechanical angle calculation formula shown in the above formula (1). Here, as Δx substituted into the mechanical angle calculation formula, the digital values ​​of the three-phase sensor signals Hu, Hv and Hw corresponding to the determined segment are used. For example, as described above, when the segment number "33" is determined as the current segment number, the computing device 15 reads the normalization coefficient k

[33] and the angle reset value θres

[33] from the storage device 20, and replaces the digital value of the point PHv (refer to Figure 3 ) is substituted into the mechanical angle calculation formula as Δx, thereby calculating the mechanical angle θ of this sampling timing.

[0100] The above is the description of the basic patent method which is the basis of the present invention. Next, the operation of the processing device 10 will be described in detail. First, the first embodiment of the operation of the processing device 10 will be described.

[0101] Figure 4 FIG. 1 is a flowchart showing the off-line processing performed by the computing device 15 of the processing device 10 in the first embodiment. Figure 4 As shown, the computing device 15 performs the above-mentioned learning process (step S21) after the rotational position of the rotor shaft 110, that is, the rotor magnet is fixed at a predetermined position. For example, before the computing device 15 performs the learning process, the motor control device (not shown) fixes the rotational position of the rotor magnet at a predetermined position by passing a predetermined current from one of the three-phase stator coils of the three-phase motor 100 to the stator coils of the remaining phases.

[0102] Specifically, the motor control device allows the rated current to flow from the U-phase stator coil among the three-phase stator coils of the three-phase motor 100 to the remaining V-phase and W-phase stator coils, thereby fixing the rotation position of the rotor magnet at a predetermined position. Hereinafter, the situation where a predetermined current flows from one-phase stator coil among the three-phase stator coils of the three-phase motor 100 to the remaining phase stator coils is referred to as "d-axis current conduction".

[0103] The computing device 15 performs a learning process after the rotational position of the rotor magnet is fixed at a predetermined position, thereby obtaining the correspondence between the pole pair number, the segment number, the fragment number, the characteristic data of each segment, and the mechanical angle calculation formula of each segment (normalization coefficient k[i] and angle reset value θres[i]) as learning data.

[0104] As described above, before the learning process is performed, the d-axis current is supplied to the three-phase motor 100, and the rotation position of the rotor magnet is fixed at a predetermined position, whereby any one of the plurality of pole pairs included in the rotor magnet becomes the origin (mechanical angle 0 degrees). Therefore, the mechanical angle 0 degrees indicated by the angle reset value θres[0] of the 0th segment obtained by the learning process becomes the mechanical angle 0 degrees corresponding to the origin of the rotor magnet (rotor shaft 110).

[0105] Then, the computing device 15 stores the learning data acquired by the learning process of step S21 in the storage device 20 (step S22). Thus, the mechanical angle 0 degrees (i.e., the angle reset value θres[0]) corresponding to the rotation position (i.e., the origin) of the rotor magnet fixed by the d-axis current is stored in the storage device 20 as the level switching angle.

[0106] By executing the above off-line processing by the computing device 15, the storage device 20 stores the relational expression (mechanical angle calculation expression) representing the relation between the output values ​​of the three magnetic sensors 31, 32, and 33 (digital values ​​of the three-phase sensor signals Hu, Hv, and Hw) and the mechanical angle θ of the rotor shaft 110, and the mechanical angle θ corresponding to at least one rotational position of the rotor magnet as the level switching angle. More specifically, the storage device 20 stores the mechanical angle 0 degree (angle reset value θres[0]) corresponding to the rotational position (origin) of the rotor magnet fixed by the d-axis current as the level switching angle.

[0107] Next, refer to Figures 5 to 11 , the angle calculation processing and interrupt processing executed as online processing by the calculation device 15 in the first embodiment to generate the A-phase pulse signal PA, the B-phase pulse signal PB, and the Z-phase pulse signal PZ are described.

[0108] Figure 5 1 is a diagram showing an example of the relationship between the waveform of the A-phase pulse signal PA, the waveform of the B-phase pulse signal PB, the waveform of the Z-phase pulse signal PZ, and the signal state value State. Figure 5 In FIG. 1 , when the period of the A-phase pulse signal PA is set to "T", the lengths of "a", "b", "c" and "d" are respectively T / 4. Figure 5 As shown, the B-phase pulse signal PB has a delay time of T / 4 relative to the A-phase pulse signal PA. In this way, there is a phase difference of 90 degrees in electrical angle between the A-phase pulse signal PA and the B-phase pulse signal PB. The rising edge of the Z-phase pulse signal PZ is generated synchronously with the rising edge of the A-phase pulse signal PA. The pulse width of the Z-phase pulse signal PZ can be adjusted to an arbitrary value by the Z-phase output threshold value Zcom.

[0109] In addition, the details will be described later. Figure 5The signal state value State shown is the value calculated by the operation device 15 according to the edge count value EC in the above-mentioned interrupt processing. The signal state value State represents the relationship between the level of the A-phase pulse signal PA and the level of the B-phase pulse signal PB. For example, when the signal state value State is "0", the signal state value State represents the state in which both the A-phase pulse signal PA and the B-phase pulse signal PB are at a high level. When the signal state value State is "1", the signal state value State represents the state in which the A-phase pulse signal PA is at a high level and the B-phase pulse signal PB is at a low level. When the signal state value State is "2", the signal state value State represents the state in which both the A-phase pulse signal PA and the B-phase pulse signal PB are at a low level. When the signal state value State is "3", the signal state value State represents the state in which the A-phase pulse signal PA is at a low level and the B-phase pulse signal PB is at a high level.

[0110] When the processing device 10 is switched from the power-off state to the power-on state, the operation device 15 performs a predetermined initialization process. As one of the initialization processes, the operation device 15 reads the timer reset value TRES1 of the first timer 12 from the storage device 20, and sets the read timer reset value TRES1 in the first timer 12. In addition, as one of the initialization processes, the operation device 15 reads the timer reset value TRES3 and the Z-phase output threshold value Zcom of the third timer 14 from the storage device 20, and sets the read timer reset value TRES3 and the Z-phase output threshold value Zcom in the third timer 14. Furthermore, as one of the initialization processes, the operation device 15 sets the edge count value of the third timer 14 to an initial value corresponding to the mechanical angle θ, and the details of this setting process will be described later.

[0111] Figure 6 It is a timing chart showing the temporal correspondence between the generation timing of the interrupt signal INT, the change timing of the interrupt number count, the execution timing of the interrupt processing, the operation timing of the A / D converter 11, and the execution timing of the angle calculation processing.

[0112] When the timer reset value TRES1 is set in the first timer 12, the first timer 12 increments the timer count value in synchronization with a clock signal (not shown), and when the timer count value reaches the timer reset value TRES1, an interrupt signal INT is output and the timer count value is reset. Figure 6 As shown, the first timer 12 is set to a predetermined period T INT Output interrupt signal INT.

[0113] like Figure 6As shown, the computing device 15 performs interrupt processing each time an interrupt signal INT is generated. However, when the number of times the interrupt signal INT is generated at the start of the interrupt processing, that is, the number of interrupt times count is equal to the initial value "0", the predetermined short cycle processing is performed after the predetermined long cycle processing. On the other hand, when the number of interrupt times count is not equal to the initial value "0", the long cycle processing is not performed but the short cycle processing is performed.

[0114] like Figure 6 As shown, when the interruption count exceeds the maximum value "N1", it is reset to the initial value "0". In this way, the period T during which the interruption count is reset period It is called "control period". Control period T period The long-cycle processing included in the interrupt processing is based on the control cycle T period The short cycle processing included in the interrupt processing is based on the same period T as the generation period of the interrupt signal INT. INT A process that is executed repeatedly at equal intervals.

[0115] T period =(N1+1)×T INT …(6)

[0116] When the sensor magnet 40 rotates together with the rotor shaft 110, three-phase sensor signals Hu, Hv and Hw are output from the sensor group 30. Figure 6 As shown in FIG. 1 , when the interruption count is the initial value "0", the digital conversion of the three-phase sensor signals Hu, Hv and Hw is started by the A / D converter 11, and when the interruption count is, for example, "2", the digital conversion is completed. That is, during the period when the interruption count changes from the initial value "0" to "2", the digital values ​​of the three-phase sensor signals Hu, Hv and Hw in one control cycle are obtained. Figure 6 As shown, when acquiring the digital values ​​of the three-phase sensor signals Hu, Hv, and Hw, the calculation device 15 performs angle calculation processing during a period in which the interrupt processing is not performed, thereby calculating the mechanical angle θ of the rotor shaft 110 .

[0117] like Figure 6 As shown in FIG. 1 , when the number of interruptions count reaches the maximum value "N1", the angle calculation process executed in one control cycle ends. After the angle calculation process ends, the calculation device 15 stores the calculated value of the mechanical angle θ in the storage device 20. The period for rewriting the calculated value of the mechanical angle θ to a new value is the same as the control period T. period In other words, the control period T periodThe calculated value of the mechanical angle θ is updated at a cycle. As described later, the calculated value of the mechanical angle θ obtained when the interruption count is the maximum value "N1" is used in the interruption processing executed when the interruption count is reset to the initial value "0".

[0118] Figure 7 1 is a flowchart showing the interrupt processing executed by the computing device 15. As described above, when the interrupt signal INT is input from the first timer 12, the computing device 15 executes Figure 7 The interrupt processing is shown in Figure 1. Figure 7 As shown, when the operation device 15 starts the interruption processing, it first determines whether the interruption count is equal to the initial value "0" (step S1). When the operation device 15 is "yes" in step S1, that is, when the interruption count is equal to the initial value "0", the processing of step S2 is transferred. On the other hand, when the answer is "no" in step S1, that is, when the interruption count is not equal to the initial value "0", the operation device 15 transfers to the processing of step S5.

[0119] exist Figure 7 In the interrupt processing shown in FIG. 1 , the processing from step S2 to step S4 is a long cycle processing. Figure 7 In the interrupt processing shown, the processing from step S5 to step S13 is a short cycle processing. That is, when the interruption number count is equal to the initial value "0", the computing device 15 performs the short cycle processing including the processing of step S5 to step S13 after performing the long cycle processing including the processing of step S2 to step S4. On the other hand, when the interruption number count is not equal to the initial value "0", the computing device 15 does not perform the long cycle processing but performs the short cycle processing.

[0120] As one of the long-cycle processes, the computing device 15 performs an angle acquisition process to acquire the current value of the mechanical angle θ (step S2). Specifically, in step S2, the computing device 15 acquires the calculated value of the mechanical angle θ stored in the storage device 20 as the current value Theta of the mechanical angle θ. Figure 6 As shown, the current value Theta of the mechanical angle θ is the value of the mechanical angle θ calculated in the control cycle before the current control cycle.

[0121] Next, as one of the long-cycle processes, the computing device 15 performs a function calculation process (steps S3 and S4) that calculates a mechanical angle function that expresses the mechanical angle θ as a linear function of time based on the current value Theta of the mechanical angle θ and the previous value Theta_prev of the mechanical angle θ. The previous value Theta_prev of the mechanical angle θ is the value of the mechanical angle θ calculated in the two control cycles before the current control cycle.

[0122] Specifically, as one of the function calculation processes, the computing device 15 performs an intercept calculation process (step S3) of calculating the intercept of the mechanical angle function by implementing delay compensation on the current value Theta of the mechanical angle θ. The current value Theta of the mechanical angle θ contains the following time delay components. As described above, the current value Theta of the mechanical angle θ is the value of the mechanical angle θ calculated in the control cycle before the current control cycle. Therefore, the current value Theta of the mechanical angle θ has a time delay equivalent to 1 control cycle. In addition, the current value Theta of the mechanical angle θ has a time delay caused by the response delay of the magnetic sensors 31, 32 and 33. Furthermore, when a low-pass filter is set for the three-phase sensor signals Hu, Hv and Hw, the current value Theta of the mechanical angle θ has a time delay caused by the frequency characteristics of the low-pass filter.

[0123] In step S3, the calculation device 15 performs delay compensation on the current value Theta of the mechanical angle θ having the time delay component as described above. Figure 8 In the figure, θ is the mechanical angle θ calculated by angle calculation processing, and θ true is the true value of the mechanical angle θ, θ new is the mechanical angle θ after delay compensation. Figure 8 As shown, when there is a time delay T in the mechanical angle θ delay When relative to the true value θ new , resulting in an angle error θ in the mechanical angle θ delay In this case, the mechanical angle θ after delay compensation is new It is shown in the following equation (7). In the following equation (7), θ(k) is equal to the current value Theta of the mechanical angle θ, and θ(k-1) is equal to the previous value Theta_prev of the mechanical angle θ. In the following equation (7), the second term on the right side is equal to the angle error θ delay equal.

[0124] [Mathematical formula 1]

[0125]

[0126] In step S3, the computing device 15 converts the delay-compensated mechanical angle θ into new The calculation device 15 calculates the mechanical angle θ after delay compensation. new The calculation result of is obtained as the intercept Theta_new_low. In addition, as the time delay T included in the above equation (7), delay , a calculated value obtained by performing a simulation taking into account the main cause of the above-mentioned time delay may be used, or an actually measured value obtained by performing an experiment may be used.

[0127] Next, as one of the function calculation processes, the computing device 15 performs a slope calculation process of subtracting the previous value Theta_prev of the mechanical angle θ from the current value Theta to calculate the slope of the mechanical angle function (step S4). Specifically, in step S4, the computing device 15 calculates the slope Theta_extr of the mechanical angle function based on the following equation (8).

[0128] Theta_extr=Theta-Theta_prev…(8)

[0129] The computing device 15 executes the function calculation process including the above-mentioned steps S3 and S4, thereby finally obtaining a mechanical angle function θ(count) represented by the following equation (9).

[0130] θ(count)=Theta_new_low+Theta_extr / (N1+1)×count…(9)

[0131] The above steps S2 to S4 are processed based on the control cycle T period The long cycle processing is repeatedly executed at equal cycles. Next, the short cycle processing is described.

[0132] As one of the short cycle processes, the computing device 15 performs an angle estimation value calculation process (step S5) in which an estimated value of the mechanical angle θ is calculated as an angle estimation value based on the mechanical angle function calculated by the function calculation process. Specifically, in step S5, the computing device 15 obtains the value of θ(count) calculated by substituting the value of the number of interruptions count into the above formula (9) as the angle estimation value Theta_est.

[0133] Next, the computing device 15 performs a count value acquisition process (step S6) of acquiring the edge count value EC from the third timer 14, and performs an angle current value calculation process (step S7) of calculating the current value of the mechanical angle θ as the angle current value based on the acquired edge count value EC. Specifically, in step S7, the computing device 15 calculates the angle current value Theta_edge_now based on the following formula (10).

[0134] Theta_edge_now=edge_now×EDGE2THETA…(10)

[0135] In the above formula (10), edge_now is a variable into which the edge count value EC is substituted. EDGE2THETA is a coefficient for converting the edge count value EC into, for example, a 32-bit angle. If the resolution of the processing device 10 is set to N_EDGE, EDGE2THETA is represented by the following formula (11). In addition, the resolution is the number of edges generated in the A-phase pulse signal PA and the B-phase pulse signal PB during one rotation of the rotor shaft 110.

[0136] EDGE2THETA=2^32N_EDGE…(11)

[0137] Next, the computing device 15 performs a signal state value calculation process (step S8) to calculate the signal state value State based on the edge count value EC. As already explained, the signal state value State is a value indicating the relationship between the level of the A-phase pulse signal PA and the level of the B-phase pulse signal PB (see Figure 5 ). Specifically, in step S8, the computing device 15 calculates the signal state value State based on the following formula (12). The following formula (12) is to obtain the lower 2 bits of the variable edge_now representing the edge count value EC, and the logical product of the value of the computing variable edge_now and 3 (11 in binary).

[0138] State = edge_now (11)…(12)

[0139] Next, the computing device 15 performs a timing determination process (step S9) for determining whether it is the timing to change the output mode of the second timer 13 based on the estimated angle value Theta_est calculated in step S5 and the current angle value Theta_edge_now calculated in step S7. Specifically, in step S9, the computing device 15 determines whether the absolute value of the difference value Theta_diff_low obtained by subtracting the current angle value Theta_edge_now from the estimated angle value Theta_est is greater than a predetermined threshold value Dth. In addition, the computing device 15 calculates the difference value Theta_diff_low according to the following formula (13).

[0140] Theta_diff_low=Theta_est﹣Theta_edge_now…(13)

[0141] When the calculation device 15 determines "yes" in step S9, that is, when the absolute value of the difference value Theta_diff_low is greater than the predetermined threshold value Dth, it is determined that it is time to change the output mode of the second timer 13, and the process moves to step S10. On the other hand, when the calculation device 15 determines "no" in step S9, that is, when the absolute value of the difference value Theta_diff_low is less than the predetermined threshold value Dth, the process does not perform step S10 and moves to step S11.

[0142] When the computing device 15 determines in the timing determination process that it is the timing to change the output mode, based on the signal state value State, it executes an output mode switching process (step S10) to change the output mode of one of the pulse signals of the A-phase pulse signal PA and the B-phase pulse signal PB to one of a high-level output mode and a low-level output mode.

[0143] Specifically, in step S10, the operation device 15 sets both the output mode of the A-phase pulse signal PA and the output mode of the B-phase pulse signal PB to the high-level output mode when the signal state value State is "0". In step S10, the operation device 15 sets the output mode of the A-phase pulse signal PA to the high-level output mode, and sets the output mode of the B-phase pulse signal PB to the low-level output mode when the signal state value State is "1". In step S10, the operation device 15 sets both the output mode of the A-phase pulse signal PA and the output mode of the B-phase pulse signal PB to the low-level output mode when the signal state value State is "2". In step S10, the operation device 15 sets the output mode of the A-phase pulse signal PA and the output mode of the B-phase pulse signal PB to the low-level output mode when the signal state value State is "3".

[0144] After performing the process of step S10 or when the determination result is “No” in step S9, the computing device 15 executes an interruption count update process (step S11) to update the interruption count count. Specifically, in step S11, the computing device 15 increments the value of the interruption count count.

[0145] Next, when the updated interrupt count count is equal to the predetermined threshold value Cth, the computing device 15 performs interrupt count reset processing to reset the interrupt count count to the initial value "0" (steps S12 and S13). Specifically, the computing device 15 determines whether the interrupt count count is equal to the threshold value Cth (step S12). The threshold value Cth is the value obtained by adding "1" to the maximum value "N1" of the interrupt count count. In the case of "yes" in step S12, that is, when the interrupt count count is equal to the threshold value Cth (= N1 + 1), the computing device 15 resets the interrupt count count to the initial value "0" and ends the interrupt processing (step S13). On the other hand, in the case of "no" in step S12, that is, when the interrupt count count is not equal to the threshold value Cth, the computing device 15 does not perform the processing of step S13 and ends the interrupt processing.

[0146] Whenever the interrupt signal INT is generated, the arithmetic device 15 performs the above-mentioned interrupt processing, thereby outputting the A-phase pulse signal PA and the B-phase pulse signal PB from the second timer 13. Fig. 9 , an example of outputting the A-phase pulse signal PA and the B-phase pulse signal PB from the second timer 13 through the above-mentioned interrupt processing is described.

[0147] exist Fig. 9 In the figure, straight line L represents the mechanical angle function θ(count) calculated when the number of interruptions count is "0". The slope of straight line L is the slope Theta_extr of the mechanical angle function θ(count). The value of point P0 on straight line L is the angle estimation value Theta_est calculated when the number of interruptions count is "0". The value of point P0 is equal to the intercept Theta_new_low of the mechanical angle function θ(count). The value of point P2 on straight line L is the angle estimation value Theta_est calculated when the number of interruptions count is "2". The value of point P3 on straight line L is the angle estimation value Theta_est calculated when the number of interruptions count is "3". The value of point P5 on straight line L is the angle estimation value Theta_est calculated when the number of interruptions count is "5". The value of point P7 on straight line L is the angle estimation value Theta_est calculated when the number of interruptions count is "7".

[0148] like Fig. 9As shown, it is assumed that before the interruption count changes to "2", the signal state value State is "0", and both the output mode of the A-phase pulse signal PA and the output mode of the B-phase pulse signal PB are set to the high-level output mode. In this case, before the interruption count changes to "2", the A-phase pulse signal PA and the B-phase pulse signal PB output from the second timer 13 are both high-level.

[0149] like Fig. 9 As shown in FIG. 1 , it is assumed that when the interruption count changes to "2", the signal state value State becomes "3", and the absolute value of the difference value Theta_diff_low between the angle estimation value Theta_est (the value of point P2) and the angle current value Theta_edge_now is greater than the threshold value Dth. In this case, the computing device 15 changes only the output mode of the A-phase pulse signal PA to the low-level output mode based on the signal state value State. As a result, Fig. 9 As shown, at the timing when the number of interruptions count becomes "2", only the A-phase pulse signal PA output from the second timer 13 becomes a low level.

[0150] like Fig. 9 As shown in FIG. 1 , it is assumed that when the interruption count changes to "3", the signal state value State becomes "2", and the absolute value of the difference value Theta_diff_low between the angle estimation value Theta_est (the value at point P3) and the angle current value Theta_edge_now is greater than the threshold value Dth. In this case, the computing device 15 changes only the output mode of the B-phase pulse signal PB to the low-level output mode according to the signal state value State. As a result, Fig. 9 As shown, at the timing when the interruption number count reaches "3", only the B-phase pulse signal PB output from the second timer 13 becomes a low level.

[0151] like Fig. 9 As shown in FIG. 1 , it is assumed that when the interruption count count changes to "5", the signal state value State becomes "1", and the absolute value of the difference value Theta_diff_low between the angle estimation value Theta_est (the value at point P5) and the angle current value Theta_edge_now is greater than the threshold value Dth. In this case, the computing device 15 changes only the output mode of the A-phase pulse signal PA to the high-level output mode based on the signal state value State. As a result, Fig. 9 As shown, at the timing when the interruption number count reaches "5", only the A-phase pulse signal PA output from the second timer 13 becomes a high level.

[0152] like Fig. 9As shown in FIG. 1 , it is assumed that when the interruption count count changes to "7", the signal state value State becomes "0", and the absolute value of the difference value Theta_diff_low between the angle estimation value Theta_est (the value at point P7) and the angle current value Theta_edge_now is greater than the threshold value Dth. In this case, the computing device 15 only changes the output mode of the B-phase pulse signal PB to the high-level output mode based on the signal state value State. As a result, Fig. 9 As shown, at the timing when the interruption number count reaches "7", only the B-phase pulse signal PB output from the second timer 13 becomes a high level.

[0153] When the A-phase pulse signal PA and the B-phase pulse signal PB are output from the second timer 13 by the above-mentioned interrupt processing, Fig.10 As shown, the third timer 14 counts the number of edges of the A-phase pulse signal PA and the B-phase pulse signal PB, and when the edge count value EC reaches the timer reset value TRES3, the edge count value EC is reset. Fig.10 As shown, the third timer 14 compares the edge count value EC and the Z-phase output threshold value Zcom, and outputs a high-level signal as a Z-phase pulse signal PZ when the edge count value EC is smaller than the Z-phase output threshold value Zcom. Fig.10 In, ENC res Indicates the resolution. The timer reset value TRES3 is set to the value "ENC res -1".

[0154] When the processing device 10 is switched to the power-on state, the edge count value of the third timer 14 is "0", so it is necessary to set the initial value of the edge count value according to the mechanical angle so as to become Fig.11 Therefore, in the present embodiment, when the processing device 10 is switched to the power-on state, as one of the initialization processes, the computing device 15 performs a process of setting the initial value of the edge count value EC according to the following equations (14) and (15). In addition, in the following equations (14) and (15), TIM_CNT represents the initial value of the edge count value. In addition, in this specification, (uint32)(X) represents converting X to an unsigned 32-bit value, and Y>>Z represents shifting Y to the right by Z bits.

[0155] [Formula 2]

[0156] When Theta ≥ 0

[0157] TIM_CNT=(uint32)(((Theta>16)×ENC res )>>16)…(14)

[0158] [Formula 3]

[0159] When Theta is less than 0

[0160] TIM_CNT = (uint32)(ENC res -((((-1)*Theta)>>16)×ENC res )>>16)

[0161] …(15)

[0162] By executing the above online processing (angle calculation processing and interrupt processing) by the computing device 15, the A-phase pulse signal PA, the B-phase pulse signal PB, and the Z-phase pulse signal PZ are output from the processing device 10. Similar to a general incremental encoder, in the angle detection device 1 of this embodiment, after the power of the processing device 10 is turned on, the A-phase pulse signal PA and the B-phase pulse signal PB are also quickly output, but the Z-phase pulse signal PZ is sometimes output with a delay.

[0163] Below, refer to Fig.12 The signal generation process executed as one of the on-line processes by the operation device 15 in the first embodiment to generate three-phase pulse signals PU, PV, and PW having a phase difference of 120 degrees in electrical angle will be described.

[0164] Fig.12 1 is a timing chart showing an example of three-phase pulse signals PU, PV and PW generated by the arithmetic device 15 of the processing device 10. Fig.12 In FIG. 1 , the horizontal axis represents the calculated value of the mechanical angle θ. Here, the calculated value of the mechanical angle θ is the value of θ(count) calculated each time the interrupt process is executed, that is, the angle estimation value Theta_est.

[0165] like Fig.12 As shown, when the computing device 15 performs the signal generation process, when the calculated value of the mechanical angle θ coincides with the mechanical angle 0 degree, the level of the pulse signal of any one phase among the three-phase pulse signals PU, PV and PW is switched. As an example, when the calculated value of the mechanical angle θ coincides with the mechanical angle 0 degree, the computing device 15 switches the level of the U-phase pulse signal PU to a high level. While switching the level of the U-phase pulse signal PU to a high level, the computing device 15 sets the V-phase pulse signal PV to a low level and sets the W-phase pulse signal PW to a high level.

[0166] The computing device 15 calculates the angle θs based on the following formula (16) including the number of pole pairs P of the rotor magnet, and switches the level of the pulse signal of any one phase among the three-phase pulse signals PU, PV and PW whenever the calculated value of the mechanical angle θ changes by the angle θs. In the present embodiment, N is 3 and P is 4, so the angle θs is a mechanical angle of 15 degrees (15[degM]).

[0167] θs[degM]=360[degE] / 2·N·P…(16)

[0168] For example, Fig.12 As shown, when the calculated value of the mechanical angle θ changes from 0 [degM] to 15 [degM], the computing device 15 switches the level of the W-phase pulse signal PW to a low level. When the calculated value of the mechanical angle θ changes from 15 [degM] to 30 [degM], the computing device 15 switches the level of the V-phase pulse signal PV to a high level. When the calculated value of the mechanical angle θ changes from 30 [degM] to 45 [degM], the computing device 15 switches the level of the U-phase pulse signal PU to a low level.

[0169] When the calculated value of the mechanical angle θ changes from 45 [degM] to 60 [degM], the computing device 15 switches the level of the W-phase pulse signal PW to a high level. When the calculated value of the mechanical angle θ changes from 60 [degM] to 75 [degM], the computing device 15 switches the level of the V-phase pulse signal PV to a low level. When the calculated value of the mechanical angle θ changes from 75 [degM] to 90 [degM], the computing device 15 switches the level of the U-phase pulse signal PU to a high level.

[0170] The computing device 15 generates three-phase pulse signals PU, PV and PW corresponding to one mechanical angle cycle by performing the level switching process performed in the range of 0 [degM] to 90 [degM] in the range of 90 [degM] to 180 [degM], the range of 180 [degM] to 270 [degM] and the range of 270 [degM] to 360 [degM]. Fig.12 As shown, one electrical angle cycle (360[degE]) of the three-phase pulse signals PU, PV and PW is equivalent to a mechanical angle of 90 degrees (90[degM]). In addition, the three-phase pulse signals PU, PV and PW have a phase difference of 30 degrees in mechanical angle, that is, 120 degrees in electrical angle.

[0171] As already described, by executing the calculation unit 15 Figure 4 In the offline processing shown, the storage device 20 stores the mechanical angle 0 degree (angle reset value θres[0]) corresponding to the rotation position (origin) where the rotor magnet is fixed by the d-axis current as the level switching angle. Then, when the calculation device 15 performs the signal generation processing as one of the online processing, when the calculated value of the mechanical angle θ coincides with the mechanical angle 0 degree, the level of the U-phase pulse signal PU is switched to a high level.

[0172] Therefore, even if there is a deviation between the zero-crossing position of the sensor magnet 40 and the zero-crossing position of the rotor magnet due to an installation error or the like when the sensor magnet 40 is installed on the rotor shaft 110, the timing of the level switching of the U-phase pulse signal PU can be made substantially consistent with the ideal timing at least at the origin. As a result, after the power of the processing device 10 is turned on, until the Z-phase pulse signal PZ is output from the processing device 10, the rotation position of the rotor magnet (the rotation position of the rotor shaft 110) can be indicated with high accuracy by the three-phase pulse signals PU, PV, and PW output from the processing device 10.

[0173] In addition, in the above-mentioned embodiment, only the mechanical angle 0 degrees corresponding to the rotation position (origin) where the rotor magnet is fixed is stored as the level switching angle in the storage device 20, and the other level switching angles are obtained by calculation. In this first embodiment, although the timing of switching the levels of the three-phase pulse signals PU, PV, and PW at the level switching angle other than the origin (mechanical angle 0 degrees) may deviate from the ideal timing, the first embodiment is effective in that the three-phase pulse signals PU, PV, and PW are obtained by relatively simple processing.

[0174] A second embodiment will be described below in which the timing of level switching of the three-phase pulse signals PU, PV, and PW can be made substantially consistent with the ideal timing even at a level switching angle other than the origin (mechanical angle 0 degrees).

[0175] Fig.13 FIG. 1 is a flowchart showing the off-line processing performed by the computing device 15 in the second embodiment. Fig.13 As shown, the computing device 15 acquires the correspondence between the pole pair number, the segment number, and the fragment number, the characteristic data of each segment, and the mechanical angle calculation formula (normalization coefficient k[i] and angle reset value θres[i]) of each fragment as learning data by executing the learning process (step S31). In the second embodiment, it is not necessary to energize the three-phase motor 100 with d-axis current before executing the learning process as in the first embodiment.

[0176] Next, the computing device 15 obtains the mechanical angle θ corresponding to the plurality of zero-crossing points appearing in the three-phase induced voltages Vu, Vv, and Vw of the three-phase motor 100 as the level switching angle in cooperation with the external learning device while rotating the rotor shaft 110 (step S32). The three-phase induced voltages Vu, Vv, and Vw include the U-phase induced voltage Vu appearing at the U-phase terminal of the three-phase motor 100, the V-phase induced voltage Vv appearing at the V-phase terminal of the three-phase motor 100, and the W-phase induced voltage Vw appearing at the W-phase terminal of the three-phase motor 100.

[0177] The learning device is a device that measures the three-phase induced voltages Vu, Vv, and Vw of the three-phase motor 100 while the rotor shaft 110 is rotating, and sends the measurement results to the processing device 10 (calculation device 15). Fig.14 2 is a diagram showing an example of the waveforms of the three-phase induced voltages Vu, Vv, and Vw. Fig.14 The waveforms of three-phase induced voltages Vu, Vv, and Vw appearing at the terminals of each phase of the three-phase motor 100 in one mechanical angle cycle are shown. The three-phase induced voltages Vu, Vv, and Vw have a phase difference of 120 degrees in electrical angle.

[0178] exist Fig.14 In the figure, the white circle mark shows the U-phase zero-crossing point, which is the zero-crossing point where the U-phase induced voltage Vu crosses the reference potential (0V). The black circle mark shows the V-phase zero-crossing point, which is the zero-crossing point where the V-phase induced voltage Vv crosses the reference potential. The quadrilateral mark shows the W-phase zero-crossing point, which is the zero-crossing point where the W-phase induced voltage Vw crosses the reference potential.

[0179] When the calculation device 15 receives the measurement results of the three-phase induced voltages Vu, Vv, and Vw from the learning device, it performs the angle calculation processing and interrupt processing included in the above-mentioned online processing, and obtains the mechanical angle θ corresponding to the U-phase zero-crossing point, the V-phase zero-crossing point, and the W-phase zero-crossing point as the level switching angle. Here, the mechanical angle θ is the value of θ(count) calculated each time the interrupt processing is performed, that is, the angle estimation value Theta_est.

[0180] exist Fig.14 θ1, θ4, θ7, θ10, θ13, θ16, θ19, θ22, and θ25 are mechanical angles θ corresponding to the U-phase zero-crossing point. Hereinafter, the mechanical angle θ corresponding to the U-phase zero-crossing point is referred to as the U-phase level switching angle. θ3, θ6, θ9, θ12, θ15, θ18, θ21, and θ24 are mechanical angles θ corresponding to the V-phase zero-crossing point. Hereinafter, the mechanical angle θ corresponding to the V-phase zero-crossing point is referred to as the V-phase level switching angle. θ2, θ5, θ8, θ11, θ14, θ17, θ20, and θ23 are mechanical angles θ corresponding to the W-phase zero-crossing point. Hereinafter, the mechanical angle θ corresponding to the W-phase zero-crossing point is referred to as the W-phase level switching angle.

[0181] Then, the calculation device 15 stores the learning data acquired in step S31 and the U-phase level switching angle, the V-phase level switching angle, and the W-phase level switching angle acquired in step S32 in the storage device 20 (step S33 ).

[0182] By executing the above off-line processing by the computing device 15, the storage device 20 stores the relational expression (mechanical angle calculation expression) representing the relation between the output values ​​of the three magnetic sensors 31, 32, and 33 (digital values ​​of the three-phase sensor signals Hu, Hv, and Hw) and the mechanical angle θ of the rotor shaft 110, and the mechanical angle θ corresponding to at least one rotational position of the rotor magnet as the level switching angle. More specifically, the storage device 20 stores the mechanical angle θ corresponding to a plurality of zero crossing points appearing in the three-phase induced voltages Vu, Vv, and Vw of the three-phase motor 100 as the level switching angle.

[0183] Below, refer to Fig.15 , a signal generation process executed as one of the on-line processes by the operation device 15 in the second embodiment to generate three-phase pulse signals PU, PV, and PW having a phase difference of 120 degrees in electrical angle will be described.

[0184] Fig.15 1 is a timing chart showing an example of three-phase pulse signals PU, PV and PW generated by the computing device 15 in the second embodiment. Fig.15 In FIG. 1 , the horizontal axis represents the calculated value of the mechanical angle θ. Here, the calculated value of the mechanical angle θ is the value of θ(count) calculated each time the interrupt process is executed, that is, the angle estimation value Theta_est.

[0185] like Fig.15 As shown, when the computing device 15 performs the signal generation process, when the calculated value of the mechanical angle θ coincides with the level switching angle corresponding to the plurality of zero crossing points, the level of the pulse signal of any one phase of the three-phase pulse signals PU, PV and PW is switched. As an example, when the calculated value of the mechanical angle θ coincides with the U-phase level switching angle θ1, the computing device 15 switches the level of the U-phase pulse signal PU to a high level. While the computing device 15 switches the level of the U-phase pulse signal PU to a high level, the V-phase pulse signal PV is set to a low level, and the W-phase pulse signal PW is set to a high level.

[0186] When the calculated value of the mechanical angle θ coincides with the W-phase level switching angle θ2, the computing device 15 switches the level of the W-phase pulse signal PW to a low level. When the calculated value of the mechanical angle θ coincides with the V-phase level switching angle θ3, the computing device 15 switches the level of the V-phase pulse signal PW to a high level. When the calculated value of the mechanical angle θ coincides with the U-phase level switching angle θ4, the computing device 15 switches the level of the U-phase pulse signal PU to a low level.

[0187] When the calculated value of the mechanical angle θ coincides with the W-phase level switching angle θ5, the computing device 15 switches the level of the W-phase pulse signal PW to a high level. When the calculated value of the mechanical angle θ coincides with the V-phase level switching angle θ6, the computing device 15 switches the level of the V-phase pulse signal PW to a low level. When the calculated value of the mechanical angle θ coincides with the U-phase level switching angle θ7, the computing device 15 switches the level of the U-phase pulse signal PU to a high level.

[0188] The computing device 15 generates three-phase pulse signals PU, PV, and PW for one mechanical angle cycle by performing the above-mentioned level switching process performed in the range from U-phase level switching angle θ1 to U-phase level switching angle θ7, in each of the range from U-phase level switching angle θ7 to U-phase level switching angle θ13, the range from U-phase level switching angle θ13 to U-phase level switching angle θ19, and the range from U-phase level switching angle θ19 to U-phase level switching angle θ25. Fig.15 As shown, one cycle (360[degE]) of the electrical angle of the three-phase pulse signals PU, PV and PW is equivalent to 90 degrees (90[degM]) of the mechanical angle. In addition, the electrical angles of the three-phase pulse signals PU, PV and PW have a phase difference of 120 degrees.

[0189] In the second embodiment, the computing device 15 executes Fig.13 In the offline processing shown, the storage device 20 stores the mechanical angle θ corresponding to the multiple zero-crossing points appearing in the three-phase induced voltages Vu, Vv and Vw of the three-phase motor 100 as the level switching angle. And, when the calculation device 15 performs the signal generation processing as one of the online processing, when the calculated value of the mechanical angle θ coincides with the level switching angle corresponding to the multiple zero-crossing points, the level of the pulse signal of any one phase of the three-phase pulse signals PU, PV and PW is switched.

[0190] Therefore, even if there is a deviation between the zero-crossing position of the sensor magnet 40 and the zero-crossing position of the rotor magnet due to an installation error or the like when the sensor magnet 40 is installed on the rotor shaft 110, the timing of the level switching of the three-phase pulse signals PU, PV, and PW at all the zero-crossing points of the three-phase induced voltages Vu, Vv, and Vw can be made substantially consistent with the ideal timing. As a result, in the second embodiment, compared with the first embodiment, after the power of the processing device 10 is turned on, the rotation position of the rotor magnet (rotation position of the rotor shaft 110) can be indicated more accurately by the three-phase pulse signals PU, PV, and PW output from the processing device 10 during the period until the Z-phase pulse signal PZ is output from the processing device 10.

[0191] As described above, according to the present embodiment, an incremental angle detection device 1 can be provided, which has the function of outputting not only A-phase pulse signal PA, B-phase pulse signal PB and Z-phase pulse signal PZ, but also U-phase pulse signal PU, V-phase pulse signal PV and W-phase pulse signal PW based on the mechanical angle θ obtained by the position estimation method of patent document 1.

[0192] In addition, according to the angle detection device 1 of the present embodiment, the timing of level switching of the three-phase pulse signals PU, PV, and PW can be made substantially consistent with the ideal timing, so that the rotation position of the rotor magnet (the rotation position of the rotor shaft 110) can be indicated with high accuracy by the three-phase pulse signals PU, PV, and PW output from the processing device 10. That is, according to the present embodiment, it is possible to provide an angle detection device 1 that can output the three-phase pulse signals PU, PV, and PW that can indicate the rotation position of the rotor magnet (the rotation position of the rotor shaft 110) with high accuracy.

[0193] [Modifications]

[0194] The present invention is not limited to the above-described embodiment, and each configuration described in this specification can be appropriately combined within a range that does not contradict each other.

[0195] For example, in the above embodiment, the first magnetic sensor 31, the second magnetic sensor 32, and the third magnetic sensor 33 are arranged in a state opposite to the disc-shaped sensor magnet 40 in the axial direction of the rotor shaft 110, but the present invention is not limited to this method. For example, when a ring-shaped magnet is used instead of the disc-shaped sensor magnet 40, since the magnetic flux flows in the radial direction of the ring-shaped magnet, the first magnetic sensor 31, the second magnetic sensor 32, and the third magnetic sensor 33 may also be arranged in a state opposite to the ring-shaped magnet in the radial direction of the ring-shaped magnet.

[0196] In the above embodiment, the case where the sensor group 30 includes three magnetic sensors 31, 32, and 33 is exemplified, but the number of magnetic sensors is not limited to 3, and can be N (N is an integer greater than 3). In addition, in the above embodiment, the case where the sensor magnet 40 and the rotor magnet have four magnetic pole pairs is exemplified, but the number of pole pairs of the sensor magnet 40 and the rotor magnet is not limited to 4.

[0197] Explanation of symbols

[0198] 1 Angle detection device, 10 Processing device, 11 A / D converter, 12 First timer, 13 Second timer, 14 Third timer, 15 Operation device, 20 Storage device, 30 Sensor group, 31 First magnetic sensor, 32 Second magnetic sensor, 33 Third magnetic sensor, 40 Sensor magnet, 100 Three-phase motor, 110 Rotor shaft.

Claims

1. An angle detection device, characterized in that: have: A sensor magnet mounted on a rotating shaft of an N-phase motor having a rotor magnet, where N is an integer greater than or equal to 3; M magnetic sensors that detect changes in magnetic flux caused by the rotation of the sensor magnet, where M is an integer greater than or equal to 3; a storage device storing a relational expression indicating a relation between the output values ​​of the M magnetic sensors and the mechanical angle of the rotating shaft, and the mechanical angle corresponding to at least one rotational position of the rotor magnet as a level switching angle; as well as a processing device that calculates the mechanical angle based on the output value and the relational expression, and outputs N-phase pulse signals having a phase difference of 360 degrees in electrical angle based on the calculated value of the mechanical angle and the level switching angle, The processing device switches the level of a pulse signal of any one phase among the N-phase pulse signals when the calculated value of the mechanical angle coincides with the level switching angle.

2. The angle detection device according to claim 1, characterized in that: The storage device stores a mechanical angle of 0 degrees corresponding to fixing the rotation position of the rotor magnet by passing a predetermined current from one phase stator coil of the N-phase stator coils of the N-phase motor to the stator coils of the remaining phases as the level switching angle, The processing device switches the level of the pulse signal of any one phase of the N-phase pulse signal when the calculated value of the mechanical angle coincides with the mechanical angle of 0 degrees.

3. The angle detection device according to claim 2, characterized in that: The processing device calculates the angle θs based on the following equation (16) including the pole pair number P of the rotor magnet, and switches the level of the pulse signal of any one phase of the N-phase pulse signal every time the calculated value of the mechanical angle changes by the angle θs. θs[degM]=360[degE] / 2·N·P…(16).

4. The angle detection device according to claim 1, characterized in that: The storage device stores the mechanical angle corresponding to a plurality of zero-crossing points appearing in the N-phase induced voltage of the N-phase motor as the level switching angle, The processing device switches the level of the pulse signal of any one phase of the N-phase pulse signal when the calculated value of the mechanical angle is consistent with the level switching angle corresponding to the plurality of zero-crossing points.

5. An angle detection method for detecting a mechanical angle of a rotating shaft using a sensor magnet and M magnetic sensors, the sensor magnet being mounted on the rotating shaft of an N-phase motor having a rotor magnet, the M magnetic sensors detecting a change in magnetic flux caused by the rotation of the sensor magnet, wherein: N and M are integers greater than 3, and the angle detection method comprises the following steps: The first step is to store a relational expression indicating the relationship between the output values ​​of the M magnetic sensors and the mechanical angle of the rotating shaft, and the mechanical angle corresponding to at least one rotational position of the rotor magnet as a level switching angle; and The second step is to calculate the mechanical angle based on the output value and the relational expression, and output an N-phase pulse signal having a phase difference of 360 degrees in electrical angle N based on the calculated value of the mechanical angle and the level switching angle. In the second step, when the calculated value of the mechanical angle coincides with the level switching angle, the level of the pulse signal of any one phase among the N-phase pulse signals is switched.

6. The angle detection method according to claim 5, characterized in that: In the first step, a mechanical angle of 0 degrees corresponding to fixing the rotational position of the rotor magnet by passing a predetermined current from one of the N-phase stator coils of the N-phase motor to the stator coils of the remaining phases is stored as the level switching angle, In the second step, when the calculated value of the mechanical angle coincides with the mechanical angle of 0 degrees, the level of the pulse signal of any one phase of the N-phase pulse signal is switched.

7. The angle detection method according to claim 6, characterized in that: In the second step, the angle θs is calculated based on the following formula (16) including the number of pole pairs P of the rotor magnet, and the level of the pulse signal of any one phase of the N-phase pulse signal is switched every time the calculated value of the mechanical angle changes by the angle θs. θs[degM]=360[degE] / 2·N·P…(16).

8. The angle detection method according to claim 5, characterized in that: In the first step, the mechanical angle corresponding to a plurality of zero-crossing points appearing in the N-phase induced voltage of the N-phase motor is stored as the level switching angle. In the second step, when the calculated value of the mechanical angle coincides with the level switching angle corresponding to the plurality of zero-crossing points, the level of the pulse signal of any one phase of the N-phase pulse signal is switched.

Citation Information

Patent Citations

  • Control device for waste gas denitration

    JP1987033532A

  • Base system and base system managing method

    JP2022106311A