DE-102015219272-B4 - Method for interpolating a read signal from an incremental encoder
Abstract
Method for interpolating a read signal of an incremental encoder that detects a rotation angle by means of two pseudo-sine wave signals having different phases, which are obtained from an incremental encoder having a slotted disk connected to a rotary axis of a vertically rotating motor of a three-dimensional scanner and a fixed scanning disk, the procedure includes: Pulsing one of the pseudo-sine wave signals as an angle signal; Counting the pulsed angle signal; Storing counter values of a clock signal, which are counted separately in relation to a time of each rise of the angle signals, and in relation to a time of each rise of signals for the command of detection of a rotation angle, which are output by a control section of the three-dimensional scanner; and Calculating a rotation angle “θ” at the time of the signal rise to the instruction for the detection of the rotation angle, using the operational equation θ = {i + (Ttrig i - Ti)/ (Ti+1 - Ti)} × λ, in which the following are used: a count value Ttrig i of the clock signal, which is stored at the time of the signal rise to command the detection of the rotation angle, a count value “i” of the pulsed angle signal, which is counted immediately before the signal rises to command the detection of the rotation angle, The respective count values Ti and Ti+1 of the clock signal, which are stored at the time of the rise of the respective angle signals, which rise before and after the rise of the signal for the instruction to detect the rotation angle, and a division angle “λ”, which is an angle of division of a slot among several slots acting as a principal scale and arranged at regular intervals along a circular circumference of the slotted disk.
Inventors
- Satoshi Yanobe
- Masae Matsumoto
Assignees
- KABUSHIKI KAISHA TOPCON
Dates
- Publication Date
- 20260513
- Application Date
- 20151006
- Priority Date
- 20141008
Claims (2)
- A method for interpolating a read signal of an incremental encoder that detects an angle of rotation by means of two pseudo-sine wave signals having different phases, obtained from an incremental encoder comprising a slotted disk connected to a rotary axis of a vertically rotating motor of a three-dimensional scanner and a fixed scanning disk, the method comprising: pulsed one of the pseudo-sine wave signals as an angle signal; counted the pulsed angle signal; stored count values of a clock signal, which are counted separately with respect to a time of each rise of the angle signals, and with respect to a time of each rise of signals commanding the detection of an angle of rotation, which are output by a control section of the three-dimensional scanner; and calculating a rotation angle “θ” at the time of the signal rise to the instruction to detect the rotation angle, using the operational equation θ = {i + (Ttrig i - Ti)/ (Ti+1 - Ti)} × λ, in which the following are used: a counter value Ttrig i of the clock signal, which is present at the time of the signal rise to the instruction to detect the The rotation angle is stored, a count value “i” of the pulsed angle signal is counted immediately before the signal rises to command the detection of the rotation angle, respective count values Ti and Ti+1 of the clock signal are stored at the time of the rise of the respective angle signals, which rise before and after the signal rises to command the detection of the rotation angle, and a division angle “λ”, which is an angle of division of a slot among several slots that act as the main scale and are arranged at regular intervals along a circular circumference of the slotted disk.
- Method for interpolating a read signal from an incremental encoder according to Claim 1 , characterized in that the signal for the command to detect the rotation angle is a trigger signal that is output by the control section of the three-dimensional scanner during a scanning operation.
Description
Technical field The present invention relates to a method for interpolating a read signal of an incremental encoder and in particular a method for interpolating a read signal of an incremental encoder which is expediently used for detecting a rotation angle of a vertical rotation of a three-dimensional scanner, i.e. a rotation in which a horizontal axis is used as the axis of rotation. Relevant state of the art In a conventional incremental encoder, two signals resembling sine waves (pseudo-sine wave signals) with phases differing by 90° are generally generated in the detection section. Interpolation methods that achieve higher resolution by using these two signals are divided into analog and digital systems. The analog system incorporates an analog subdivision system in which the two signals with differing phases are synthesized in an electrical circuit, while their proportions are adjusted to generate signals with varying phase differences, thus yielding signals with fine divisions. However, this analog subdivision system has the disadvantages that the increased resolution necessitates a more complex electrical circuit, a larger footprint due to the larger scale of the circuit, and higher costs. When an incremental encoder is used to detect the rotation angle of a 3D scanner's vertical rotation, the scanner's vertical rotation speed reaches several thousand revolutions per minute. Furthermore, the enlarged mounting area does not allow for secure attachment. At this level, the high rotation speed tends to alter or degrade the analog characteristics due to the frequency response of an amplifier, rendering the analog subdivision system unsuitable. The digital system, on the other hand, is suitable for detecting the rotation angle of a three-dimensional scanner's vertical rotation because its circuitry can be smaller than that of the analog subdivision system. The digital system incorporates a digital interpolation system in which the two signals with different phases are digitally transformed to obtain the digitally transformed signals S1 and S2. The rotation angle θ is then calculated using θ = tan⁻¹ S2/S1, employing an arctangent function based on the S2/S1 signals to obtain the angle with fine subdivisions, thus achieving higher resolution. The interpolation method is created by improving the digital interpolation method, significantly improving the resolution performance by calculating the position of a measured point in an interpolation area subdivided by zero points of several signals, using a proportional operating system based on two signals selected within the aforementioned interpolation area (Patent Publication 1). Publications on the state of the art Patent Publication 1: JP-B-5-24445 Overview of the invention Problems to be solved by the invention The conventional analog subdivision system, including the improved analog subdivision system described above, has the disadvantage that, since the proportional operation is based on the voltage values of the analog signals to be digitally transformed with the two different phases, the system is susceptible to influences such as wave distortion of the two signals and the precision of the phase difference. Consequently, the improved analog subdivision system cannot meet the precision and stability requirements for vertical rotation, where the horizontal axis of the three-dimensional scanner rotates at speeds of up to several thousand revolutions per minute. The present invention was designed to eliminate these disadvantages, and it is an object of the invention to create a method for interpolating a read signal of an incremental encoder which maintains higher precision and stability even during high-speed rotation of a horizontal axis of rotation of a three-dimensional scanner in the range of several thousand revolutions per minute. Means to solve the problems The present invention (claim 1) for solving the problem is provided as a method for interpolating a read signal of an incremental encoder which determines a rotation angle by means of two pseudo-sine waves having different phases. Wave signals are detected that are received from an incremental encoder comprising a slotted disk connected to a rotary axis of a vertically rotating motor of a three-dimensional scanner and a fixed scanning disk, the method comprising: pulsing one of the pseudo-sine wave signals as an angle signal, counting the pulsed angle signal, storing count values of a clock signal that are counted separately with respect to a time of each rise of the angle signals, and with respect to a time of each rise of signals for the instruction to detect a rotation angle, which are output by a control section of the three-dimensional scanner, and calculating a rotation angle “θ” at the time of the rise of the signal for the instruction to detect the rotation angle, using the operational equation θ = {i + (Ttrig i - Ti)/ (Ti+1 - Ti)} × λ, in which the following are used: a count value Ttrig i