Rotary position detection method for an AC servo motor and simple encoder

The method employs a low-resolution magnetic pole detector and signal processing circuit to detect AC servomotor position efficiently and cost-effectively, addressing space and cost challenges of high-resolution encoders.

DE112007003522B4Active Publication Date: 2025-10-09HARMONIC DRIVE SYST IND CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE112007003522
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2007-05-30
Publication Date
2025-10-09
Estimated Expiration
2027-05-30

AI Technical Summary

Technical Problem

Existing AC servomotors require expensive optical or magnetic detectors and high-resolution encoders, making it difficult to install encoders in motors with short shaft lengths and increasing costs.

Method used

A method using a low-resolution magnetic pole detector to generate 90-degree phase-shifted rectangular wave signals for detecting the motor shaft position, combined with a signal processing circuit to calculate and output rotational position data, allowing for accurate position detection with minimal space and cost.

Benefits of technology

Enables accurate rotational position detection of AC servomotors with low-resolution components, requiring minimal installation space and reducing costs, while maintaining high precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for detecting a rotational position of an AC servo motor, comprising: Detecting the position of the magnetic poles of each phase of a two-phase AC servo motor; Generating a two-phase square wave signal with a phase difference of 90 degrees when the rotary shaft of the AC servo motor rotates; Outputting motor shaft rotational position data pre-assigned to a detected edge of a square wave signal as the motor shaft rotational position each time the edge is detected; Calculating the rotational speed of the motor each time the edge of a square wave signal is detected based on the time elapsed from the previous edge detection time to the current edge detection time; and Estimating the rotational position of the motor shaft in a specific time period and outputting the estimated rotational position as the rotational position of the motor shaft in a rotation period from the current edge detection time to the next edge detection time based on the calculated rotational speed of the motor and the rotational position attributed to the current edge; the method being characterized in that it comprises: Dividing a rotation angle range corresponding to one electrical angular rotation of the motor shaft into four rotation sections, and assigning the data of a single rotation position angle to each rotation section based on a combination of signal levels of the square wave signals; Detecting the signal level of each square wave signal when a power supply is activated; Detecting, based on the detected signal levels, in which of the four rotation sections the motor rotation shaft is positioned; and Outputting the rotational position associated with the detected rotation section as the initial rotational position of the motor shaft at the time of activation of the power supply; where the rotational speed of the motor is calculated as the speed at which the motor shaft rotates through half of a rotation segment in the elapsed time from the activation of the power supply to the detection of the edge, when the first edge is detected after the activation of the power supply.
Need to check novelty before this filing date? Find Prior Art

Description

Technical area

[0001] The present invention relates to a method for detecting the rotational position of an AC servomotor, whereby the rotational position of a motor shaft can be detected using a simple detection mechanism for purposes such as controlling the speed of an AC servomotor, and to a simple encoder employing this method. State of the art

[0002] Incremental-type and absolute-type encoders for detecting the rotational position of the motor shaft of an AC servo motor require an optical or magnetic detector to ensure a predetermined resolution. Therefore, a space must be provided at the rear end of the motor's rotating shaft or elsewhere to accommodate the detector. A high-precision encoder plate and other expensive components are also required. As a result, it is sometimes difficult to obtain space for installing an encoder in a flat motor or the like with a short shaft length. The cost of the encoder and the motor into which the encoder is installed also increases.

[0003] In "Sinusoidal current drive system of permanent magnet synchronous motor with low resolution position sensor", IAS '96. Conference Record of the 1996 IEEE Industry Applications Conference Thirty-First IAS Annual Meeting, 1996, IEEE, on pages 9-14, S. Morimoto, M. Sanada, and Y. Takeda describe the use of a low-resolution position sensor in a motor controller, whereby the required precise position is obtained by extrapolation from the available sensor data. This involves three Hall sensors generating rectangular signals 120° out of phase with each other, and determining the time, and thus indirectly also the speed, between two edge separations.

[0004] In "PM brushless drives with low-cost and low-resolution position sensors," The 4th International Power Electronics and Motion Control Conference, 2004, IEEE, pages 1033-1038, JX Shen, ZQ Zhu, and D. Howe describe a motor control system for a brushless permanent magnet motor that uses three low-resolution Hall sensors for position determination. The rectangular signals from the Hall sensors divide a revolution into six ranges, at the end of each of which the motor speed can be determined. The rotor position is then estimated based on this speed.

[0005] US 2005 / 0 264 283 A1 discloses a device for measuring operating variables of electric motors, comprising means for imaging magnetic fields related to operating variables of an electric motor; means for detecting the magnetic field; and means for acquiring and processing the signals generated by the magnetic field detection means. The means for imaging the electric motor's magnetic field comprises a non-ferromagnetic plate equipped with a plurality of receiving elements arranged in a peripheral region and solidly connected to the shaft of the electric motor, and a plurality of magnets inserted into the receiving elements. The means for detecting the electric motor's magnetic field comprises a pair of Hall-effect sensors opposite the non-ferromagnetic plate, on whose surface the magnets are inserted, and designed to generate two differential electrical signals.

[0006] US 6 407 683 B1 discloses an incremental encoder signal processing system in which a sensor / encoder pair is provided which is designed to generate a quadrature pair of analog position signals which are converted into digital signals and processed to generate a digital position vector and a digital error signal. Disclosure of the invention

[0007] In view of the foregoing, an object of the present invention is to provide a rotational position detection method capable of detecting the rotational position of the motor shaft of an AC servomotor with a predetermined accuracy using low-cost, low-resolution structural components and requiring only a small installation space for the detection mechanism. Another object of the invention is to provide a simple encoder for detecting the rotational position of the motor using the above-described method.

[0008] The method for detecting a rotational position of an AC servo motor according to the present invention comprises: Detecting the magnetic pole position for each phase of a two-phase AC servo motor; Generating a two-phase square wave signal with a phase difference of 90 degrees when a rotary shaft of the AC servo motor rotates; Outputting motor shaft rotational position data pre-assigned to a detected edge of a square wave signal as the motor shaft rotational position each time the edge is detected; Calculating the rotational speed of the motor each time the edge of a square wave signal is detected based on the time elapsed from the previous edge detection time to the current edge detection time; Estimating the rotational position of the motor shaft at a specific time period and outputting the estimated rotational position as the rotational position of the motor shaft in a rotation period from the current edge detection time to the next edge detection time based on the calculated rotational speed of the motor and the rotational position attributed to the current edge; Dividing a rotation angle range corresponding to one electrical angular rotation of the motor shaft into four rotation periods and assigning a single rotational angle position to each rotation period based on a combination of signal levels of the square wave signals; Detecting the signal level of each square wave signal when a power supply is activated; Detecting, based on the detected signal level, in which of the four rotation sections the motor rotation shaft is positioned; and Outputting the rotation position data attributed to the detected rotation portion as the initial rotation position of the motor shaft at the time of power supply activation.

[0009] The rotational speed of the motor is calculated as the speed at which the motor shaft rotates through half of a rotation section in the elapsed time from the activation of the power supply to the detection of the edge, when the first edge is detected after the activation of the power supply.

[0010] Furthermore, it is sufficient that the rotation position data corresponding to a center position of each rotation section is assigned for each rotation section.

[0011] According to the present invention, a simple encoder for an AC servo motor comprises: a magnetic pole detector for detecting each magnetic pole position of a two-phase AC servo motor and generating a two-phase square wave signal with a phase difference of 90 degrees; and a signal processing circuit for detecting the rotational position of a motor shaft of the AC servo motor based on each square wave signal; wherein the signal processing circuit detects the rotational position of the motor shaft by the method described above.

[0012] The signal processing circuit can be configured to output the rotational position of the motor rotating shaft in the form of serial binary data or a two-phase pulse signal having a phase difference of 90 degrees. Brief description of the drawings Fig. 1 is a schematic structural view showing the speed control system for an AC servo motor provided with a simple encoder to which the present invention is applied; Fig. 2 is a functional block diagram showing the signal processing circuit of Fig. 1 shows; and Fig. 3 is an operational diagram showing the operation of the simple encoder of Fig. 1 for detecting the rotational position of the motor rotating shaft. Best mode for carrying out the invention

[0013] In the following, embodiments of the AC servo motor system to which the present invention is applied will be described with reference to the drawings.

[0014] Fig. Figure 1 is a schematic structural diagram showing the AC servo motor system. The AC servo motor system 1 includes a three-phase AC servo motor 2; a simple encoder 4 for detecting the rotational position of the motor shaft 3 of the AC servo motor 2; and a motor driver 5 for driving and controlling the speed of the AC servo motor 2 based on the output of the simple encoder 4. The AC servo motor 2 is, for example, a 20-pole motor.

[0015] The simple encoder 4 is an incremental encoder with a resolution of 8192 (13 bits) per revolution of the motor's rotating shaft, and the multi-revolution counter has, for example, 16 bits. The rotation position data is output and fed to the motor driver 5 in the form of serial binary data consisting of a total of 29 bits, including 13 data bits indicating the rotation position within a single revolution and 16 data bits indicating the number of revolutions.

[0016] The simple encoder 4 is equipped with a UVW magnetic pole detector 6 for detecting the U, V, W three-phase magnetic pole positions of the AC servomotor 2 and generating three phases of rectangular wave signals PU, PV, PW with a phase difference of 120 degrees corresponding to the magnetic pole positions, and a signal processing circuit 7 for detecting the rotational position of the motor shaft 3 based on the three phases of the rectangular wave signals PU, PV, PW. The UVW magnetic pole detector 6 and the signal processing circuit 7 are connected by a sensor cable 8. It is also possible for the magnetic pole detector 6 and the signal processing circuit 7 to be integrally formed together and fixed to the AC servomotor 2.In the case of a 20-pole motor, 10 cycles of each phase of the square wave signal PU, PV, PW are output per rotation, and one cycle (one electrical angular rotation) of each square wave signal corresponds to a rotation of 36 degrees (mechanical angle) of the motor shaft 3.

[0017] The UVW magnetic pole detector 6 can be mounted on the side of the AC servomotor 2 and is composed of the magnetic rotor (not shown) of the AC servomotor 2, three Hall elements, MR elements, or other magnetic sensors for magnetic pole detection arranged to obtain a detection signal with a phase difference of 120 degrees, and a signal processor for generating a square wave signal. A magnetic pole detection magnet, magnetized with 20 magnetic poles in the same manner as the magnetic rotor, can be connected to the motor shaft 3 instead of the magnetic rotor.An optomagnetic detector may be constituted by an encoder plate in which slots corresponding to the magnetic pole pairs (10) are formed, a light-emitting element and a light-receiving element are arranged opposite each other so as to sandwich the encoder plate, and a signal processor for generating a three-phase rectangular wave signal based on the output of the light-receiving element. In any of these cases, the detection mechanism can be constructed inexpensively because there is no need to mount a high-resolution encoder plate, and minimal installation space is required.

[0018] Fig. Figure 2 is a functional block diagram showing the signal processing circuit 7. The signal processing circuit 7 may be primarily constituted by a microcomputer, for example, and performs the functions shown in the drawing by executing a control program stored in the ROM.As shown in the drawing, the signal processing circuit 7 is equipped with an edge detector 11 for detecting the rising edge and the falling edge of the supplied three phases of the rectangular wave signal PU, PV, PW, a determination unit 12 for determining, on the basis of a logic level of the rectangular wave signal, in which section the rotational position of the motor shaft 3 lies, a timer 13, a speed calculation unit 14 for calculating the speed of the motor shaft 3, a calculation unit 15 for calculating the rotational position of the motor shaft 3 between edges at a certain time section and for estimating the rotational position of the motor shaft, a memory 16, a rotation counter calculation unit 17, and a serial binary data generator 18. (Operation for calculating the rotational position)

[0019] Fig. Fig. 3 is an operational diagram showing the rotation position calculation operation of the simple encoder 4. The rotation position calculation operation will be explained with reference to Fig. 3 described.

[0020] As mentioned above, the simple encoder 4 is an incremental type encoder in which the resolution of one revolution of the motor's rotating shaft is 8192 (13 bits), and the multi-revolution counter has 16 bits. The rotation position data is output and supplied to the motor driver 5 in the form of serial binary data consisting of a total of 29 bits, including 13 data bits indicating the rotation position within a single revolution and 16 data bits indicating the number of revolutions.

[0021] The three phases of the square wave signal including a U-phase signal PU, a V-phase signal PV and a W-phase signal PW supplied from the UVW magnetic pole detector 6 are, in the case of a 20-pole motor, as shown in Fig. 3(c), Fig. 3(d) and Fig. 3(e), output as 10 cycles per revolution. One cycle corresponds to 36 degrees (= 360 degrees / 10) in terms of the mechanical angle, and is divided into six sections (1) to (6) according to the combination of logic levels of the three phases of the square wave signals. Since each phase of the square wave signals has 10 cycles per rotation of the motor, and each cycle is divided into six sections (1) to (6), the resolution per revolution of the motor is 60 pulses (= 10 × 6).

[0022] As in Fig. As shown in Figure 3(a), 13 data bits are assigned to the edges E0 to E5 of a cycle. For example, rotation position data "0", "137", "273", "410", "546", and "683" are assigned to the edges E0 to E5. As shown in Fig. As shown in Figure 3(b), initial rotation position data corresponding to "68", "204", "341", "478", "614", and "751" are assigned as initial values ​​corresponding to the rotation sections (1) to (6), respectively. Correspondence tables for these data are stored and pre-stored in the memory 16.

[0023] The determination unit 12 of the signal processing circuit 7 detects the signal levels of the U-phase signal PU, the V-phase signal PV, and the W-phase signal PW at the time of power supply activation, and, based on the detected signal levels, detects which of the six rotation sections (1) to (6) the rotation position of the motor shaft 3 belongs to. The initial rotation position data assigned to the rotation section is read from the memory 16. The initial rotation position data is converted into serial binary data in the serial binary data generator 18 and output to the motor driver 5 as the initial rotation position of the motor shaft 3 at the time the power supply was activated.

[0024] In the above example, the center positions of the rotation sections (1) to (6) are specified as initial rotation position data. Positions other than the center positions can also be specified in advance as initial rotation position data.

[0025] The first edge after the power supply is activated is then detected by the edge detector 11 of the signal processing circuit 7 when the motor shaft 3 rotates. When an edge is detected, the rotational position data associated with the edge is read from the memory 16 and output as the rotational position of the motor shaft.

[0026] The timer 13 counts the elapsed time between the power supply being activated and the detection of the edge. When the edge is detected, the motor rotation speed is calculated by the speed calculation unit 14 as the speed at which the motor shaft rotates through half of the rotation range. Specifically, the motor rotation speed is calculated as the speed of rotation through 3 degrees (= 36 degrees / 12) in relation to the mechanical angle.

[0027] Then, assuming that the motor shaft rotates at the calculated motor speed, the motor's rotational position at a specific time interval is estimated according to a 13-bit resolution of the calculation unit 15. The estimated rotational position is output as the rotational position of the motor shaft 3.

[0028] Thereafter, each time an edge of a square wave signal is detected, the calculation unit 15 is reset, and the rotational position data of the motor shaft 3 attributed in advance to the detected edge is output as the rotational position of the motor shaft 3. Each time the edge of a square wave signal is detected, the rotational speed of the motor is calculated by the speed calculation unit 14 based on the elapsed time from the previous edge detection point to the current edge detection point.In the calculation unit 15, the rotational position of the motor shaft is estimated as a certain time period, and the estimated rotational position is output as the rotational position of the motor shaft based on the calculated rotational speed of the motor and the rotational position attributed to the current edge in the rotational period from the current edge detection point to the next edge detection point.

[0029] The rotation position data within one rotation from the time of power supply activation is therefore output with 13 bit resolution, as in Fig.3(a). In the rotation position calculation unit 17 in the signal processing circuit 7, the rotation direction of the motor shaft 3 is calculated based on the three phases of square wave signals. When the rotation position data exceeds the "0" position within one rotation, the multi-rotation data is incremented by "1" or "-1" according to the transit direction (rotation direction). The multi-rotation data is converted into 16-bit data in the serial binary data generator 18, combined with 13-bit rotation position data, and supplied to the motor driver 5 as 29-bit serial binary data. (Other embodiments)

[0030] The above-described example belongs to the present invention, which is applied to detecting the rotational position of a three-phase AC servomotor. The present invention can also be applied to detecting the rotational position of a two-phase AC servomotor. In this case, a two-phase rectangular wave signal with a phase difference of 90 degrees can be obtained from the magnetic pole detector, and one cycle of the two-phase rectangular wave signal can be divided into four sections according to a combination of the logic levels of the rectangular wave signal. Consequently, the rotational position of the motor rotating shaft can be detected with apparently high resolution in the same manner as in the case of a three-phase AC servomotor.

Claims

[1] A method for detecting a rotational position of an AC servo motor, comprising: Detecting the position of the magnetic poles of each phase of a two-phase AC servo motor; Generating a two-phase square wave signal with a phase difference of 90 degrees when the rotary shaft of the AC servo motor rotates; Outputting motor shaft rotational position data pre-assigned to a detected edge of a square wave signal as the motor shaft rotational position each time the edge is detected; Calculating the rotational speed of the motor each time the edge of a square wave signal is detected based on the time elapsed from the previous edge detection time to the current edge detection time; and Estimating the rotational position of the motor shaft in a specific time period and outputting the estimated rotational position as the rotational position of the motor shaft in a rotation period from the current edge detection time to the next edge detection time on the basis of the calculated rotational speed of the motor and the rotational position attributed to the current edge;wherein the method characterized by is that it includes: Dividing a rotation angle range corresponding to one electrical angular rotation of the motor shaft into four rotation sections, and assigning the data of a single rotation position angle to each rotation section based on a combination of signal levels of the square wave signals; Detecting the signal level of each square wave signal when a power supply is activated; Detecting, based on the detected signal levels, in which of the four rotation sections the motor rotation shaft is positioned; and Outputting the rotational position associated with the detected rotation section as the initial rotational position of the motor shaft at the time of activation of the power supply; where the rotational speed of the motor is calculated as the speed at which the motor shaft rotates through half of a rotation segment in the elapsed time from the activation of the power supply to the detection of the edge, when the first edge is detected after the activation of the power supply. [2] A method for detecting a rotational position of an AC servo motor according to claim 1, characterized by that the rotation position data is assigned for each rotation section according to a center position of each rotation section. [3] Simple encoder for an AC servo motor, characterized bythat it includes: a magnetic pole detector for detecting each magnetic pole position of a two-phase AC servo motor and generating a two-phase square wave signal with a phase difference of 90 degrees; and a signal processing circuit for detecting the rotational position of a motor shaft of the AC servo motor based on each square wave signal; wherein the signal processing circuit detects the rotational position of the motor shaft by the method according to any one of claims 1 or 2. [4] Simple encoder for an AC servo motor according to claim 3, characterized by that the signal processing circuit outputs the rotational position of the motor shaft in the form of serial binary data. [5] Simple encoder for an AC servo motor according to claim 3, characterized bythat the signal processing circuit outputs the rotational position of the motor shaft in the form of a two-phase pulse signal with a phase difference of 90 degrees.

Citation Information

Patent Citations

  • High resolution hall effect position sensor with a high immunity against electromagnetic noise

    US20050264283A1

  • Optimized performance incremental encoder with error detection capability

    US6407683B1