KR19990043005A - Motor speed detection device using incremental encoder - Google Patents
Motor speed detection device using incremental encoder Download PDFInfo
- Publication number
- KR19990043005A KR19990043005A KR1019970063969A KR19970063969A KR19990043005A KR 19990043005 A KR19990043005 A KR 19990043005A KR 1019970063969 A KR1019970063969 A KR 1019970063969A KR 19970063969 A KR19970063969 A KR 19970063969A KR 19990043005 A KR19990043005 A KR 19990043005A
- Authority
- KR
- South Korea
- Prior art keywords
- edge
- time
- information
- latch
- speed detection
- Prior art date
Links
Landscapes
- Control Of Electric Motors In General (AREA)
- Control Of Motors That Do Not Use Commutators (AREA)
Abstract
본 발명은 전동기에 연결된 엔코더로부터의 두 상의 펄스 신호를 이용하여 상기 전동기의 속도를 검출하는 전동기 속도 검출 장치로서, 에지 검출부, 각도 계측 수단, 시간 계측 수단, 제1 및 제2 래치부 및 연산 처리 장치를 포함하며, 특히 에지 정보들을 일시적으로 저장시키기 위한 제1 및 제2 래치부의 각 단위 래치들이 단일 래치들로 이루어져 있으며, 이를 위하여 유효 에지 검출 수단이 더 구비된 점에 그 특징이 있다. 이 유효 에지 검출 수단이 전동기 속도 연산에 필요한 에지들만을 유효 에지로서 검출함으로써, 하드웨어 구성이 간소화됨과 함께 효율적인 전동기 속도 연산을 수행할 수 있다.The present invention is a motor speed detecting device for detecting the speed of the motor by using a pulse signal of two phases from an encoder connected to the motor, comprising: an edge detector, an angle measuring means, a time measuring means, first and second latch portions, and arithmetic processing In particular, each of the unit latches of the first and second latch portions for temporarily storing the edge information is composed of single latches, and for this purpose, a valid edge detecting means is further provided. By this effective edge detecting means detecting only edges necessary for the motor speed calculation as an effective edge, the hardware configuration can be simplified and efficient motor speed calculation can be performed.
Description
본 발명은 증분형 엔코더(Incremental Encoder)를 이용한 전동기 속도 검출 장치에 관한 것이다.The present invention relates to a motor speed detection apparatus using an incremental encoder (Incremental Encoder).
일반적으로 전동기의 속도 검출에 널리 쓰이고 있는 증분형 엔코더는 도 1에 도시된 바와 같이 90°위상차를 갖는 A, B 두 상의 펄스 출력을 발생시킨다. 이와 같은 증분형 엔코더를 이용한 전동기의 속도 검출은 일정 시간동안 변화한 회전 각도를 검출하여 다음의 수학식 1에 의해 이루어진다.In general, an incremental encoder widely used for speed detection of an electric motor generates pulse outputs of two phases A and B having a 90 ° phase difference as shown in FIG. The speed detection of the motor using such an incremental encoder is performed by the following equation 1 by detecting a rotation angle changed for a predetermined time.
여기서, ω는 전동기의 속도이며, dθ는 각도의 변화량이며, 그리고 dT는 소정의 속도 검출 주기이다.Is the speed of the electric motor, dθ is the amount of change in angle, and dT is a predetermined speed detection period.
도 2에는 상기 수학식 1을 사용한 속도 검출법을 설명하기 위한 타이밍도가 도시되어 있다. 도시된 바와 같이, 소정 시간 dT 동안 엔코더에서 출력되는 A 상 또는 B 상의 펄스의 개수가 m1이고, 기준 클락 펄스의 개수가 m2이고, 그리고 엔코더의 1회전당 발생되는 펄스 수를 ppr이라 하면, 시간 dT는 기준 클락 펄스의 개수를 기준 클락 주파수인
그런데, 이와 같은 속도 검출법은, 연산 과정을 수행하는 연산 처리 장치에서 각도 변화량(dθ) 및 시간(dT)의 정보를 읽은 후, 위의 수학식 2에 의해 전동기 속도를 연산하는 시간(Tc)동안은 계수가 정지되어야 하며, 또한 엔코더의 에지(edge)가 발생되는 시점이 시간 dT의 시점 및 종점과 정확히 일치되도록 하여야 한다. 즉, 도 2에서와 같이, 원래의 속도 검출 주기인 Ts가 끝나는 시점에서는 엔코더의 출력 펄스의 에지가 발생되는 시점과 일치하지 않으므로, 임의의 시간 Δt만큼 속도 검출 주기를 연장하여야 한다. 따라서, 엔코더의 출력 펄스 개수가 적은 저속 운전의 경우에 전동기 속도 검출을 정확히 하기가 어려우며, 또한 엔코더에서 출력되는 두 상의 펄스 정보 중 한 상의 펄스 정보만을 사용함으로써 엔코더 펄스 정보의 이용 효율이 떨어진다.By the way, such a speed detection method, after reading the information of the angle change amount (dθ) and the time (dT) in the calculation processing device performing the calculation process, the time (T c ) for calculating the motor speed by the above equation (2) During this time, the counting must be stopped, and the timing at which the encoder edge is generated should be exactly the same as the timing and end point of time dT. That is, as shown in FIG. 2, the timing detection period has to be extended by an arbitrary time Δt since the timing of the original speed detection period T s ends does not coincide with the timing at which the edge of the output pulse of the encoder is generated. Therefore, it is difficult to accurately detect the motor speed in the case of low speed operation in which the number of encoder output pulses is small, and the use efficiency of the encoder pulse information is reduced by using only the pulse information of one phase of the two phase pulse information output from the encoder.
따라서, 저속 운전의 경우에도 전동기의 속도 검출을 정확히 하고, 엔코더에서 출력되는 펄스 정보를 모두 이용하기 위한 여러 가지 전동기 속도 검출 방법과 그에 따른 장치들이 제안된 바 있다. 그 예로서, 도 3a에는 그와 같은 종래의 전동기 속도 검출 장치의 구성을 개략적으로 나타낸 블록도가 도시되어 있으며, 도 3b에는 도 3a에 도시된 전동기 속도 검출 장치에 의해 이루어지는 전동기 속도 검출을 설명하기 위한 타이밍도가 도시되어 있다.Therefore, even in low speed operation, various motor speed detection methods and apparatuses have been proposed to accurately detect the speed of the motor and use all the pulse information output from the encoder. As an example, a block diagram schematically showing the configuration of such a conventional motor speed detecting device is shown in FIG. 3A, and in FIG. 3B, motor speed detection made by the motor speed detecting device shown in FIG. 3A will be described. A timing diagram is shown.
도 3a에 도시된 바와 같이, 종래의 전동기 속도 검출 장치는, 엔코더로부터 출력되는 두 상(A상, B상)의 펄스 에지를 검출하는 에지 검출부(310)와, 전동기의 회전 각도 및 시간을 각각 카운팅하는 각도 계측 카운터(320) 및 시간 계측 카운터(330)와, 카운팅된 값들을 일시적으로 저장하기 위한 제1 및 제2 래치군(340)(350), 및 전동기 속도를 연산하는 연산 처리 장치(360)을 포함하여 구성된다.As shown in FIG. 3A, the conventional motor speed detecting apparatus includes an edge detector 310 detecting pulse edges of two phases (A phase and B phase) output from an encoder, and a rotation angle and time of the motor, respectively. An angle measuring counter 320 and a time measuring counter 330 for counting, first and second latch groups 340 and 350 for temporarily storing the counted values, and an arithmetic processing device for calculating an electric motor speed ( 360).
상기 에지 검출부(310)는 엔코더로부터 출력되는 두 상(A상, B상)의 펄스 에지가 발생될 때마다 이 에지를 검출하여, 에지 검출 신호 및 검출된 에지의 종류를 판별할 수 있는 에지 판별 정보를 출력한다.The edge detector 310 detects the edges whenever two pulse edges (A phase and B phase) output from the encoder are generated, and determines the edge detection signal and the type of the detected edge. Print information.
상기 각도 계측 카운터(320)는 전동기의 회전 각도 정보를 생성하기 위한 것이다. 이를 위하여, 업(up)/다운(down) 카운트를 수행하며, 에지 검출부(310)로부터의 에지 검출 신호가 입력되면 카운트값을 출력시킨다.The angle measuring counter 320 is for generating rotation angle information of the motor. To this end, an up / down count is performed, and a count value is output when the edge detection signal from the edge detector 310 is input.
상기 시간 계측 카운터(330)는 시간 정보를 생성하기 위한 것으로서, 소정의 기준 클락을 카운트하여 출력하는 한편, 설정된 속도 검출 시점마다 속도 검출 신호를 제2 래치부(350) 및 연산 처리 장치(360)로 출력한다.The time measurement counter 330 is for generating time information. The time measurement counter 330 counts and outputs a predetermined reference clock, and outputs a speed detection signal at a set speed detection time point to the second latch unit 350 and the operation processor 360. Will output
상기 제1 및 제2 래치군(340)(350)은 각각 4개의 래치들로 구성된 에지 래치군(341)(351), 각도 래치군(342)(352) 및 시간 래치군(343)(353)을 포함한다. 상기 제1 래치군(340)의 각 래치군(341)(342)(343)은 에지 검출부(310)로부터의 에지 검출 신호에 의해 인에이블된다. 즉, 에지 검출부(310)로부터의 에지 검출 신호가 입력되면, 제1 에지 래치군(341)은 에지 검출부(310)로부터의 에지 판별 정보를 저장하며, 제1 각도 래치군(342)은 각도 계측 카운터(320)로부터의 각도 정보를 저장하며, 그리고 제1 시간 래치군(343)은 시간 계측 카운터(330)로부터의 시간 정보를 저장한다. 상기 제2 래치군(350)의 각 래치군(351)(352)(353)은 시간 계측 카운터(330)로부터의 속도 검출 신호에 의해 인에이블된다. 즉, 시간 계측 카운터(330)로부터의 속도 검출 신호가 입력되면, 제2 에지 래치군(351)은 제1 에지 래치군(341)으로부터의 에지 판별 정보를 저장하며, 제2 각도 래치군(352)은 제1 각도 래치군(342)으로부터의 각도 정보를 저장하며, 그리고 제2 시간 래치군(353)은 제1 시간 래치군(343)으로부터의 시간 정보를 저장한다.The first and second latch groups 340 and 350 are each composed of four latches, an edge latch group 341 and 351, an angle latch group 342 and 352, and a time latch group 343 and 353. ). Each latch group 341, 342, 343 of the first latch group 340 is enabled by an edge detection signal from the edge detector 310. That is, when the edge detection signal from the edge detector 310 is input, the first edge latch group 341 stores edge discrimination information from the edge detector 310, and the first angle latch group 342 measures the angle. The angle information from the counter 320 is stored, and the first time latch group 343 stores time information from the time measurement counter 330. Each latch group 351, 352, 353 of the second latch group 350 is enabled by the speed detection signal from the time measurement counter 330. That is, when the speed detection signal from the time measurement counter 330 is input, the second edge latch group 351 stores edge discrimination information from the first edge latch group 341, and the second angle latch group 352. ) Stores angle information from the first angle latch group 342, and the second time latch group 353 stores time information from the first time latch group 343.
상기 연산 처리 장치(360)는 시간 계측 카운터(330)로부터의 속도 검출 신호를 입력받아 전동기 속도를 연산한다. 이를 위하여, 속도 검출 신호가 입력되면, 제2 래치부(350)의 각 래치군(351)(352)(353)에 저장되어 있는 정보들을 입력받고, 이 정보들을 이용하여 소정의 연산을 수행한다.The calculation processing unit 360 receives the speed detection signal from the time measurement counter 330 to calculate the motor speed. To this end, when a speed detection signal is input, information stored in each latch group 351, 352, 353 of the second latch unit 350 is input, and a predetermined operation is performed using the information. .
이와 같은 구성을 갖는 종래의 전동기 속도 검출 장치에 의한 속도 검출을 도 3b를 참조하여 설명하면 다음과 같다.The speed detection by the conventional motor speed detection device having such a configuration will be described with reference to FIG. 3B.
도 3b에 도시된 타이밍도를 살펴보면, 엔코더로부터 각각 A상 펄스 및 B상 펄스가 90°의 위상차로 발생되며, 엔코더로부터의 펄스 에지가 발생될 때마다 에지 검출부(310)는 에지 검출 신호 및 에지 판별 정보를 출력하고, 각도 계측 카운터(320) 및 시간 계측 카운터(330)는 각도 정보 및 시간 정보를 각각 출력한다. 그리고, 이 에지 판별 정보, 각도 정보 및 시간 정보들은 제1 래치부(340)에 입력되어 저장된다. 즉, 엔코더 A상 펄스의 상승 에지(Ar)가 발생되는 시점에서, 제1 래치군(340)의 제1 에지 래치군(341)에는 B상 상승 에지, A상 하강 에지, B상 하강 에지 및 A상 상승 에지가 발생되었다는 에지 판별 정보가 저장되어 있고, 제1 각도 래치군(342)에는 각도 정보, θb, θc, θd및 θe가 저장되어 있고, 제1 시간 래치군(343)에는 시간 정보, t1, t2, t3, 및 t4가 저장되어 있다. 이와 같은 상태에서, 시간 계측 카운터(330)로부터의 속도 검출 신호가 제2 래치부(350) 및 연산 처리 장치(360)에 각각 입력되는 시간 t5에서, 제2 래치부(350)는 인에이블되며, 연산 처리 장치(360)는 전동기 속도를 연산한다. 즉, 제2 래치부(350)가 인에이블되면, 제1 래치부(340)에 저장되어 있던 정보들이 제2 래치부(350)에 입력되어 저장된다. 그러면, 연산 처리 장치(360)에서는 제2 래치부(350)에 저장되는 정보들을 입력받고, 이 정보들 및 이전에 입력되어 저장되어 있던 정보들을 이용하여 아래의 수학식 3에 의해 전동기 속도 연산을 수행한다.Referring to the timing diagram illustrated in FIG. 3B, A phase pulses and B phase pulses are generated with a phase difference of 90 ° from the encoder, respectively, and the edge detector 310 generates an edge detection signal and an edge whenever a pulse edge is generated from the encoder. The determination information is output, and the angle measurement counter 320 and the time measurement counter 330 output angle information and time information, respectively. The edge determination information, angle information, and time information are input to the first latch unit 340 and stored. That is, at the time when the rising edge A r of the encoder A phase pulse is generated, the first edge latch group 341 of the first latch group 340 has the B phase rising edge, the A phase falling edge, and the B phase falling edge. And edge discrimination information indicating that the phase A rising edge has been generated, the angle information, θ b , θ c , θ d, and θ e are stored in the first angle latch group 342, and the first time latch group ( 343), time information, t 1 , t 2 , t 3 , and t 4 are stored. In such a state, the second latch unit 350 is enabled at time t 5 at which the speed detection signal from the time measurement counter 330 is input to the second latch unit 350 and the arithmetic processing unit 360, respectively. The arithmetic processing unit 360 calculates a motor speed. That is, when the second latch unit 350 is enabled, information stored in the first latch unit 340 is input to the second latch unit 350 and stored. Then, the arithmetic processing unit 360 receives the information stored in the second latch unit 350, and calculates the motor speed by the following equation (3) using the information and the information previously stored and stored. Perform.
여기서, θe는 현재 속도 검출 시점 직전에 A상의 상승 에지가 발생된 시점에서의 각도 정보이며, θa는 그 이전에 A상의 상승 에지가 발생된 시점에서의 각도 정보이며, 그리고, Ta+Ts+Tb는 두 개의 A상의 상승 에지가 발생된 시간 간격이다.Here, θ e is angle information at the time when the rising edge of phase A was generated just before the current speed detection time, θ a is the angle information at the time when the rising edge of phase A was generated before, and T a + T s + T b is the time interval in which two rising edges of A phase have occurred.
그런데, 이상과 같은 종래의 전동기 속도 검출 장치에 있어서, 제1 및 제2 래치부(340)(350)의 각 래치군(341)(351)(342)(352)(343)(353)은 각각 복수 개의 래치들을 포함하여야 한다. 그리고, 각 래치들은 각도 계측 카운터(320) 및 시간 계측 카운터(330)의 비트 수에 해당되는 래치들로 구성되어야 한다. 따라서, 엔코더 정보를 모두 이용할 수 있으며, 전동기가 저속으로 회전하여도 그 속도를 검출할 수 있다는 장점이 있지만, 많은 하드웨어가 소요되는 문제점이 있다.By the way, in the conventional motor speed detection apparatus as described above, the latch groups 341, 351, 342, 352, 343, and 353 of the first and second latch portions 340 and 350 are Each must include a plurality of latches. Each latch should be composed of latches corresponding to the number of bits of the angle measurement counter 320 and the time measurement counter 330. Therefore, all of the encoder information can be used, and even if the motor rotates at a low speed, the speed can be detected, but there is a problem in that a lot of hardware is required.
본 발명은 상기와 같은 문제점을 개선하기 위하여 창출된 것으로서, 전동기 속도 검출에 필요한 정보들을 저장하기 위한 래치부의 하드웨어 구성이 간소화된 전동기 속도 검출 장치를 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems, and an object of the present invention is to provide an electric motor speed detecting apparatus with a simplified hardware configuration of a latch unit for storing information necessary for electric motor speed detecting.
도 1은 증분형 엔코더에서 출력되는 펄스를 나타내 보인 도면,1 is a view showing a pulse output from the incremental encoder,
도 2는 도 1의 펄스를 이용한 전동기 속도 검출법을 설명하기 위한 도면,2 is a view for explaining a motor speed detection method using the pulse of FIG.
도 3a는 종래의 증분형 엔코더를 이용한 전동기 속도 검출 장치의 시스템 구성을 개략적으로 나타내 보인 블록도,3A is a block diagram schematically illustrating a system configuration of a motor speed detecting apparatus using a conventional incremental encoder.
도 3b는 도 3a에 도시된 각 단위 장치들의 출력 파형을 설명하기 위한 타이밍도,FIG. 3B is a timing diagram for describing an output waveform of each unit device illustrated in FIG. 3A.
도 4는 본 발명에 따른 증분형 엔코더를 이용한 전동기 속도 검출 장치의 시스템 구성을 개략적으로 나타내 보인 블록도,Figure 4 is a block diagram schematically showing the system configuration of the motor speed detection apparatus using an incremental encoder according to the present invention,
도 5는 도 4에 도시된 증분형 엔코더를 이용한 전동기 속도 검출 장치의 동작을 설명하기 위한 타이밍도,5 is a timing diagram for explaining the operation of the motor speed detecting apparatus using the incremental encoder shown in FIG.
도 6은 도 4에 도시된 증분형 엔코더를 이용한 전동기 속도 검출 장치에 의한 전동기 속도 연산을 설명하기 위한 타이밍도,6 is a timing diagram for explaining the motor speed calculation by the motor speed detection apparatus using the incremental encoder shown in FIG.
도 7a는 속도 검출 주기 중 에지가 발생하기 않는 경우에 수행되는 전동기 속도 연산을 설명하기 위한 타이밍도,7A is a timing diagram for explaining the motor speed calculation performed when no edge occurs during the speed detection cycle.
그리고, 도 7b는 속도 검출 주기 중 에지가 발생하기 않는 경우에 수행되는 전동기 속도 연산 결과를 나타내 보인 그래프이다.7B is a graph showing a result of calculating the motor speed performed when no edge occurs during the speed detection period.
<도면의 주요부분에 대한 부호의 설명><Description of Symbols for Main Parts of Drawings>
310, 410...에지 검출부 320, 420...각도 계측 카운터310, 410 ... edge detector 320, 420 ... angle measurement counter
330, 430...시간 계측 카운터 340, 440...제1 래치부330, 430 ... hour measurement counters 340, 440
350, 450...제2 래치부 360, 470...연산 처리 장치350, 450 ... Second latch portion 360, 470 ...
460...유효 에지 검출기460 ... Effective edge detector
상기 목적을 달성하기 위한 본 발명은, 전동기에 연결된 엔코더로부터의 두 상의 펄스 신호를 이용하여 상기 전동기의 속도를 검출하는 전동기 속도 검출 장치에 있어서, 상기 엔코더의 두 상의 펄스 에지가 발생될 때마다, 에지 검출 신호 및 발생된 에지의 종류에 따른 에지 판별 정보를 생성하는 에지 검출부; 발생된 에지의 개수를 계측하기 위해 상기 에지 검출부로부터의 에지 검출 신호를 카운트하여 출력함으로써 각도 정보를 생성하는 각도 계측 수단; 에지 발생 시점을 계측하기 위해 기준 입력 클락을 카운트하여 출력함으로써 시간 정보를 생성하고, 설정된 속도 검출 시점마다 속도 검출 신호를 출력하는 시간 계측 수단; 상기 에지 검출 신호에 동기되어, 상기 에지 검출부로부터의 에지 판별 정보, 상기 각도 계측 수단으로부터의 각도 정보 및 상기 시간 계측 수단으로부터의 시간 정보를 저장하는 제1 래치부; 소정의 입력 신호에 의해 인에이블되어 상기 제1 래치부에 저장되어 있는 에지 판별 정보, 각도 정보 및 시간 정보를 저장하는 제2 래치부; 상기 속도 검출 신호가 발생된 이후에 발생되는 에지 중, 최대 3개의 서로 다른 에지를 검출하여 유효 에지 검출 신호를 출력하는 유효 에지 검출 수단; 및 상기 유효 에지 검출 수단으로부터의 상기 유효 에지 검출 신호를 입력받아, 상기 제2 래치부에 저장되어 있는 에지 판별 정보, 각도 정보 및 시간 정보를 입력받아 저장하고, 상기 제2 래치부를 인에이블시키며, 상기 속도 검출 신호가 입력되면, 상기 제2 래치부에 저장되어 있는 에지 판별 정보, 각도 정보 및 시간 정보를 입력받아 소정의 연산 과정을 수행하여 상기 전동기의 속도를 연산하는 연산 처리 수단을 포함하는 것을 특징으로 한다.The present invention for achieving the above object, in the motor speed detection device for detecting the speed of the motor by using the pulse signal of the two phases from the encoder connected to the motor, each time a pulse edge of the two phases of the encoder is generated, An edge detector for generating edge discrimination information according to the edge detection signal and the type of the generated edge; Angle measuring means for generating angle information by counting and outputting an edge detection signal from the edge detector to measure the number of edges generated; Time measurement means for generating time information by counting and outputting a reference input clock to measure an edge generation time point, and outputting a speed detection signal at each set speed detection time point; A first latch portion synchronized with the edge detection signal, for storing edge discrimination information from the edge detector, angle information from the angle measure means, and time information from the time measure means; A second latch unit enabled by a predetermined input signal and storing edge discrimination information, angle information, and time information stored in the first latch unit; Valid edge detection means for detecting a maximum of three different edges among the edges generated after the speed detection signal is generated and outputting a valid edge detection signal; And receiving the valid edge detection signal from the valid edge detecting means, receiving and storing edge discrimination information, angle information, and time information stored in the second latch portion, and enabling the second latch portion. If the speed detection signal is input, and includes the edge processing information, the angle information and the time information stored in the second latch unit to perform a predetermined calculation process to include a calculation processing means for calculating the speed of the motor; It features.
여기서, 바람직하게는 상기 제1 및 제2 래치부는, 상기 에지 검출부로부터의 에지 판별 정보를 저장하는 에지 래치, 상기 각도 계측 수단으로부터의 각도 정보를 저장하는 각도 래치, 및 상기 시간 계측 카운터로부터의 시간 정보를 저장하는 시간 래치로 각각 이루어져 있다.Here, preferably, the first and second latch units include an edge latch for storing edge discrimination information from the edge detector, an angle latch for storing angle information from the angle measuring means, and a time from the time measurement counter. Each consists of a time latch for storing information.
이하, 첨부된 도면을 참조하면서 본 발명에 따른 증분형 엔코더를 이용한 전동기 속도 검출 장치의 바람직한 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the motor speed detecting apparatus using an incremental encoder according to the present invention.
도 4는 본 발명에 따른 증분형 엔코더를 이용한 전동기 속도 검출 장치의 시스템 구성을 나타내 보인 블록도이다. 도시된 바와 같이, 본 발명에 따른 증분형 엔코더를 이용한 전동기 속도 검출 장치는, 제1 래치부(440) 및 제2 래치부(450)의 각 하드웨어 구성이 종래의 전동기 속도 검출 장치의 경우 여러개의 래치군들로 구성되었던 것에 비해 각각 단일 래치들로 구성되었으며, 이를 위하여 유효 에지 검출기(460) 및 OR 게이트(480)가 더 구비된 점에 그 특징이 있다.4 is a block diagram showing the system configuration of the motor speed detection apparatus using an incremental encoder according to the present invention. As shown, the motor speed detecting apparatus using the incremental encoder according to the present invention, the hardware configuration of the first latch unit 440 and the second latch unit 450 is a plurality of motor configurations of the conventional motor speed detection apparatus Compared to the latch groups, each of the single latches has a valid edge detector 460 and an OR gate 480.
이와 같은 특징을 갖는 본 발명에 따른 증분형 엔코더를 이용한 전동기 속도 검출 장치는, 엔코더로부터 출력되는 두 상(A상, B상)의 펄스 에지를 검출하는 에지 검출부(410)와, 전동기의 회전 각도를 카운팅하는 각도 계측 카운터(420)와, 시간을 카운팅하는 시간 계측 카운터(430)와, 에지 검출부(410), 각도 계측 카운터(420) 및 시간 계측 카운터(430)로부터 출력되는 정보들을 저장하는 제1 및 제2 래치부(440)와, 전동기 속도 연산에 필요한 에지들만을 유효 에지로서 검출하는 유효 에지 검출기(460) 및 연산 처리 장치(470)를 포함하여 구성된다.The motor speed detecting apparatus using the incremental encoder according to the present invention having such a feature includes an edge detector 410 for detecting pulse edges of two phases (A phase and B phase) output from the encoder, and a rotation angle of the motor. Storing the information output from the angle measurement counter 420 for counting the time, the time measurement counter 430 for counting the time, the edge detector 410, the angle measurement counter 420, and the time measurement counter 430. And a first and second latch unit 440, an effective edge detector 460, and arithmetic processing unit 470 that detect only the edges necessary for the motor speed calculation as valid edges.
상기 에지 검출부(410)는 엔코더의 두 상의 펄스 에지가 발생될 때마다, 에지 검출 신호 및 발생된 에지의 종류에 따른 에지 판별 정보를 생성한다. 즉, 도 5에 도시된 바와 같이, 엔코더의 A 상 및 B 상으로부터의 펄스 에지가 발생될 때마다 에지 검출 신호를 발생시킨다. 또한, 엔코더의 A 상의 상승 및 하강 에지와, B 상의 상승 및 하강 에지가 각각 발생될 때마다 별개의 서로 다른 신호를 발생시킴으로써, 발생된 에지의 종류, 즉 A 상의 상승 에지, A 상의 하강 에지, B 상의 상승 에지 또는 B상의 하강 에지인지를 나타내는 에지 판별 정보를 생성한다. 이와 같이, 에지 검출부(410)로부터 출력되는 에지 검출 신호는 각도 계측 카운터(420), 제1 래치부(440) 및 유효 에지 검출기(480)로 각각 입력되며, 에지 판별 정보는 에지 검출 신호가 발생되는 시점에 동기되어 제1 래치부(440)로 입력된다.The edge detector 410 generates edge detection information according to the type of the edge detection signal and the generated edge whenever a pulse edge of two phases of the encoder is generated. That is, as shown in Fig. 5, an edge detection signal is generated whenever a pulse edge from phase A and phase B of the encoder is generated. In addition, by generating different signals each when the rising and falling edges of A and the rising and falling edges of B of the encoder are generated, the types of edges generated, namely, rising edges of A, falling edges of A, Edge discrimination information indicating whether the rising edge of B or the falling edge of B is generated. As described above, the edge detection signal output from the edge detector 410 is input to the angle measurement counter 420, the first latch unit 440, and the effective edge detector 480, respectively, and the edge detection information is generated by the edge detection signal. The first latch unit 440 is input to the first latch unit 440 in synchronization with the timing at which the signal is generated.
상기 각도 계측 카운터(420) 및 시간 계측 카운터(430)는 전동기의 회전 각도 정보 및 시간 정보를 각각 생성하기 위한 것이다. 이를 위하여, 각도 계측 카운터(420)는 에지 검출부(410)로부터의 에지 검출 신호를 카운트하여 출력한다. 그리고, 시간 계측 카운터(430)는 기준 입력 클락을 카운트하여 출력하는 한편, 설정된 속도 검출 시점마다 속도 검출 신호를 출력한다.The angle measuring counter 420 and the time measuring counter 430 are for generating rotation angle information and time information of the electric motor, respectively. To this end, the angle measurement counter 420 counts and outputs the edge detection signal from the edge detector 410. The time measurement counter 430 counts and outputs the reference input clock, and outputs a speed detection signal for each set speed detection time point.
상기 제1 래치부(440)는 제1 에지 래치(441), 제1 각도 래치(442) 및 제1 시간 래치(443)으로 이루어졌다. 이 제1 래치부(440)의 각 래치들(441)(442)(443)은 에지 검출부(410)로부터의 에지 검출 신호에 의해 인에이블된다. 즉, 에지 검출부(410)로부터의 에지 검출 신호가 입력되면, 제1 에지 래치(441)는 에지 검출부(410)로부터의 에지 판별 정보를 저장하며, 제1 각도 래치(442)는 각도 계측 카운터(420)로부터의 각도 정보를 저장하며, 그리고 제1 시간 래치(443)는 시간 계측 카운터(430)로부터의 시간 정보를 저장한다.The first latch unit 440 includes a first edge latch 441, a first angle latch 442, and a first time latch 443. Each latch 441, 442, 443 of the first latch unit 440 is enabled by an edge detection signal from the edge detector 410. That is, when an edge detection signal from the edge detector 410 is input, the first edge latch 441 stores edge discrimination information from the edge detector 410, and the first angle latch 442 is an angle measurement counter ( Stores angular information from 420, and first time latch 443 stores time information from time measurement counter 430.
상기 제2 래치부(450)는 소정의 입력 신호에 의해 인에이블되어 제1 래치부(440)에 저장되어 있는 에지 판별 정보, 각도 정보 및 시간 정보를 저장한다. 이를 위하여, 제2 래치부(450)는 3개의 단일 래치, 즉 제2 에지 래치(451), 제2 각도 래치(452) 및 제2 시간 래치(453)로 이루어진다. 따라서, 소정의 인에이블 신호의 입력에 의해, 제2 에지 래치(451)는 제1 에지 래치(441)로부터의 에지 판별 정보를 입력받아 저장하고, 제2 각도 래치(452)는 제1 각도 래치(442)로부터의 각도 정보를 입력받아 저장하고, 그리고 제2 시간 래치(453)는 제1 시간 래치(443)로부터의 시간 정보를 입력받아 저장한다. 한편, 이와 같은 경우에 제2 래치부(450)의 각 단위 래치들(451)(452)(453)은, 시간 계측 카운터(430)로부터의 속도 검출 신호 또는 연산 처리 장치(470)로부터의 소정의 인에이블 신호를 입력받아 인에이블된다. 이를 위하여, 상기 속도 검출 신호 혹은 상기 인에이블 신호를 제2 래치부(450)에 각각 전달하는 OR 게이트(480)가 구비된다.The second latch unit 450 is enabled by a predetermined input signal and stores edge discrimination information, angle information, and time information stored in the first latch unit 440. To this end, the second latch portion 450 is composed of three single latches, namely, the second edge latch 451, the second angle latch 452, and the second time latch 453. Accordingly, by the input of a predetermined enable signal, the second edge latch 451 receives and stores edge discrimination information from the first edge latch 441, and the second angle latch 452 receives the first angle latch. The angle information from 442 is received and stored, and the second time latch 453 receives and stores time information from the first time latch 443. On the other hand, in such a case, each of the unit latches 451, 452 and 453 of the second latch unit 450 is a speed detection signal from the time measurement counter 430 or a predetermined value from the arithmetic processing unit 470. It is enabled by receiving the enable signal of. To this end, an OR gate 480 for transmitting the speed detection signal or the enable signal to each of the second latch units 450 is provided.
상기 유효 에지 검출기(460)는 제1 및 제2 래치부(440)(450)의 하드웨어 구성을 간소화하기 위한 것으로, 전동기 속도 검출에 필요한 에지만을 검출한다. 즉, 유효 에지 검출기(460)는 속도 검출 시점 이후에 발생되는 에지 중에서 최대 3개의 서로 다른 에지(이하, 유효 에지라 한다)(도 5 참조)를 검출하여 유효 에지 검출 신호를 출력한다. 즉, 도 5에 도시된 바와 같이, 시간 계측 카운터(430)로부터의 속도 검출 신호가 입력되면, 그때부터 발생되는 에지들 중, 서로 다른 최대 3개의 에지를 유효 에지로서 검출한다. 그리고, 이 유효 에지가 검출될 때마다, 유효 에지 검출 신호를 연산 처리 장치(470)로 입력시킨다.The effective edge detector 460 simplifies the hardware configuration of the first and second latch units 440 and 450 and detects only edges necessary for detecting the motor speed. That is, the valid edge detector 460 detects up to three different edges (hereinafter referred to as valid edges) (see FIG. 5) among the edges generated after the speed detection point and outputs a valid edge detection signal. That is, as shown in Fig. 5, when the speed detection signal from the time measurement counter 430 is input, among the edges generated thereafter, up to three different edges are detected as valid edges. Each time this valid edge is detected, the valid edge detection signal is input to the arithmetic processing unit 470.
상기 연산 처리 장치(470)는 유효 에지 검출기(460)로부터의 유효 에지 검출 신호를 입력받아, 제2 래치부(450)에 저장되어 있는 에지 판별 정보, 각도 정보 및 시간 정보를 입력받아 저장하는 한편, 제2 래치부(450)를 인에이블시키는 인에이블 신호를 발생한다. 또한, 시간 계측 카운터(430)로부터의 속도 검출 신호가 입력되면, 제2 래치부(450)에 저장되어 있는 에지 판별 정보, 각도 정보 및 시간 정보를 입력받아 소정의 연산 과정을 수행하여 전동기의 속도를 연산한다. 이를 위하여, 연산 처리 장치(470)는 유효 에지 검출기(460)로부터의 유효 검출 신호가 입력될 때마다 제1 인터럽트 루틴을 수행하며, 시간 계측 카운터(430)로부터의 속도 검출 신호가 입력될 때마다 제2 인터럽트 루틴을 수행한다. 제1 인터럽트 루틴이 수행되면, 연산 처리 장치의 인에이블 신호 발생 단자에서는 인에이블 신호가 출력된다. 이 인에이블 신호는 OR 게이트(480)를 통해 제2 래치부(450)를 인에이블시킨다. 그리고, 제2 래치부(450)에 저장되어 있는 에지 판별 정보, 각도 정보 및 시간 정보들을 각각 입력받아 저장한다. 한편, 제2 인터럽트 루틴이 수행되면, 기입력되어 저장되어 있던 정보 데이터들과 제2 래치부(450)에 저장되어 있는 정보 데이터를 이용한 소정의 연산 과정을 수행하여 상기 전동기의 속도를 연산한다. 이 경우에, 전동기 속도를 검출하기 위한 연산은, 속도 검출 시점 직전에 발생된 펄스 에지(이하, 기준 에지라 한다)(도 5 참조)에 관한 에지 정보와, 이전에 발생된 유효 에지 중에서 이 기준 에지와 같은 종류의 펄스 에지(이하, 동일 종류 에지라 한다)에 관한 에지 정보를 이용하여 연산한다.The arithmetic processing unit 470 receives a valid edge detection signal from the valid edge detector 460, receives and stores edge discrimination information, angle information, and time information stored in the second latch unit 450. The enable signal is generated to enable the second latch unit 450. In addition, when the speed detection signal from the time measurement counter 430 is input, the speed of the motor is received by performing a predetermined calculation process by receiving edge determination information, angle information, and time information stored in the second latch unit 450. Calculate To this end, the arithmetic processing unit 470 performs a first interrupt routine whenever a valid detection signal from the valid edge detector 460 is input, and each time a speed detection signal from the time measurement counter 430 is input. Perform a second interrupt routine. When the first interrupt routine is performed, the enable signal is output from the enable signal generation terminal of the arithmetic processing unit. The enable signal enables the second latch unit 450 through the OR gate 480. The edge discrimination information, the angle information, and the time information stored in the second latch unit 450 are respectively received and stored. On the other hand, when the second interrupt routine is performed, the speed of the electric motor is calculated by performing a predetermined calculation process using previously inputted and stored information data and information data stored in the second latch unit 450. In this case, the calculation for detecting the motor speed is based on the edge information on the pulse edge (hereinafter referred to as reference edge) (see Fig. 5) generated just before the speed detection time point, and the reference among the valid edges generated previously. The calculation is performed using edge information regarding pulse edges of the same type as the edges (hereinafter referred to as the same type edges).
이상과 같은 구성을 갖는 증분형 엔코더를 이용한 전동기 속도 검출 장치의 동작 및 속도 연산 과정을 도 6에 도시된 타이밍도를 참조하여 설명하면 다음과 같다.Referring to the timing diagram shown in FIG. 6, the operation and speed calculation process of the motor speed detecting apparatus using the incremental encoder having the above configuration will be described as follows.
도 6에 도시된 바와 같이, 엔코더의 A 상 펄스 및 B 상 펄스가 90°의 위상차를 갖고 각각 발생된 경우, 에지 검출부(410)에 의해 출력되는 에지 검출 신호 및 에지 판별 정보는 엔코더 펄스 에지가 발생되는 시점인 t1내지t9의 시점에서 발생된다. 그리고, 각도 정보를 생성하기 위한 각도 계측 카운터(420)에서는 에지 검출부(410)로부터의 에지 검출 신호를 입력받아서 발생된 에지 개수를 카운트하여 출력한다. 즉, 속도 검출 시점 T-1까지의 카운트 값이 x라고 하면, 이전 속도 검출 시점 T-2까지의 카운트 값은 x-2가 되며, 이후 속도 검출 시점 T0까지의 카운트 값은 x+4가 된다. 한편, 시간 정보를 생성하기 위한 시간 계측 카운터(430)에서는 기준 펄스 클락을 입력받고, 이를 카운트하여 출력하는 한편, 설정된 속도 검출 시점(T-3)(T-2)(T-1)(T0)에서는 속도 검출 신호를 출력한다. 이 속도 검출 신호는 OR 게이트(480), 유효 에지 검출기(460) 및 연산 처리 장치(470)로 각각 입력된다.As shown in FIG. 6, when the A-phase pulse and the B-phase pulse of the encoder are generated with a phase difference of 90 °, respectively, the edge detection signal and the edge discrimination information output by the edge detector 410 may include an encoder pulse edge. It is generated at the time points t 1 to t 9 that are generated. The angle measurement counter 420 for generating angle information receives an edge detection signal from the edge detector 410 to count and output the number of edges generated. That is, if the count value up to speed detection time T -1 is x, the count value up to speed detection time T -2 becomes x-2, and the count value up to speed detection time T 0 becomes x + 4. do. In the meantime, the time measurement counter 430 for generating time information receives a reference pulse clock, counts and outputs the reference pulse clock, and sets the speed detection time point T −3 (T −2 ) (T −1 ) (T). 0 ) outputs the speed detection signal. These speed detection signals are input to the OR gate 480, the effective edge detector 460, and the arithmetic processing unit 470, respectively.
한편, 유효 에지 검출기(460)에 의해 검출되는 유효 에지는 제1 속도 검출 주기(Ts1)동안에는 시간 t1및 t2에서 각각 발생되며, 제2 속도 검출 주기(Ts2)동안에는 시간 t3및 t4에서 각각 발생되며, 그리고 제3 속도 검출 주기(Ts3)동안에는 시간 t5, t6및 t7에서 각각 발생된다. 한편, 매 속도 검출 시점(T0)(T-1)(T-2)에서 제2 래치부(450)에 저장되어 있는 정보들은, 매 속도 검출 시점(T0)(T-1)(T-2) 직전에 발생된 펄스 에지, 즉 기준 에지에 관한 에지 정보로서, 시간 t2, t4및 t8에서 각각 발생되어 제2 래치부(450)에 저장되어 있는 에지 정보이다.On the other hand, the valid edges detected by the effective edge detector 460 are generated at times t 1 and t 2 during the first speed detection period T s1 , respectively, and at times t 3 and during the second speed detection period T s2 . in each occurrence, and t 4, and the second is generated during time t 5, t 6 and t 7 3 speed detection period (t s3), respectively. On the other hand, the information stored in the second latch unit 450 at every speed detection time point T 0 (T- 1 ) (T- 2 ), every speed detection time point T 0 (T- 1 ) (T -2 ) Edge information relating to a pulse edge generated immediately before, that is, a reference edge, which is edge information generated at times t 2 , t 4, and t 8 , respectively, and stored in the second latch unit 450.
현재의 속도 검출 시점(T0)의 바로 전 속도 검출 시점인 시간 T-1에서, 시간 계측 카운터(430)에서는 속도 검출 신호를 발생하고, 이 신호는 각각 OR 게이트(480), 연산 처리 장치(470) 및 유효 에지 검출기(460)로 입력된다.At time T- 1 , which is the speed detection time just before the current speed detection time T 0 , the time measurement counter 430 generates a speed detection signal, and the signals are OR gate 480 and arithmetic processing unit ( 470 and a valid edge detector 460.
시간 계측 카운터(430)로부터의 속도 검출 신호는 OR 게이트(480)를 통하여 제2 에지 래치(451), 제2 각도 래치(452) 및 제2 시간 래치(453)로 입력된다. 속도 검출 신호를 입력받은 제2 에지 래치(451), 제2 각도 래치(452) 및 제2 시간 래치(453)는 각각 인에이블되어, 제1 에지 래치(441), 제1 각도 래치(442) 및 제1 시간 래치(443)에 저장되어 있는 에지 정보를 입력받아 저장한다.The speed detection signal from the time measurement counter 430 is input to the second edge latch 451, the second angle latch 452, and the second time latch 453 through the OR gate 480. The second edge latch 451, the second angle latch 452, and the second time latch 453 that receive the speed detection signal are enabled, respectively, so that the first edge latch 441 and the first angle latch 442 are provided. And edge information stored in the first time latch 443.
그리고, 시간 계측 카운터(430)로부터의 속도 검출 신호를 입력받은 연산 처리 장치(470)는 제2 에지 래치(451), 제2 각도 래치(452) 및 제2 시간 래치(453)에 저장되어 있는 정보들을 읽어들여 후술될 연산 과정을 수행하여 전동기의 속도를 연산한다.The arithmetic processing unit 470, which has received the speed detection signal from the time measurement counter 430, is stored in the second edge latch 451, the second angle latch 452, and the second time latch 453. The speed of the motor is calculated by reading the information and performing a calculation process to be described later.
한편, 시간 계측 카운터(430)로부터의 속도 검출 신호를 입력받은 유효 에지 검출기(460)는, 이후에 발생된 유효 에지를 최대 3개까지 검출하고, 유효 에지가 검출될 때마다 유효 에지 검출 신호를 연산 처리 장치(470)로 입력시킨다. 이 유효 에지 검출 신호를 입력받은 연산 처리 장치(470)는 제2 래치부(450)에 저장되어 있는 에지 정보를 읽어들여 저장하는 한편, 제2 래치부(450)를 인에이블시킨다. 이 과정을 보다 구체적으로 설명하면 다음과 같다.On the other hand, the valid edge detector 460, which has received the speed detection signal from the time measurement counter 430, detects up to three valid edges generated thereafter, and detects the valid edge detection signal every time the valid edge is detected. Input to the arithmetic processing unit 470. The arithmetic processing unit 470 receiving the valid edge detection signal reads and stores edge information stored in the second latch unit 450, and enables the second latch unit 450. This process is described in more detail as follows.
시간 T-1에서 속도 검출 신호를 입력받은 후, 엔코더 A상의 상승 에지가 발생한 시간 t5에서는 에지 검출부(410)로부터 에지 검출 신호가 출력된다. 이 에지 검출 신호는 제1 래치부(440) 및 유효 에지 검출기(460)에 입력된다. 에지 검출 신호를 입력받은 제1 래치부(440)에서는 시간 t5에서 발생된 에지 정보들을 에지 검출부(410), 각도 계측 카운터(420) 및 시간 계측 카운터(430)로부터 각각 입력받아 저장한다. 한편, 에지 검출 신호를 입력받은 유효 에지 검출기(460)는 엔코더 A상의 상승 에지인 제1 유효 에지를 검출하고, 제1 유효 에지 검출 신호를 출력한다. 이 제1 유효 에지 검출 신호는 연산 처리 장치(470)로 입력된다. 제1 유효 에지 검출 신호를 입력받은 연산 처리 장치(470)는 제1 인터럽트 루틴을 수행한다. 이 제1 인터럽트 루틴에 따라, 연산 처리 장치(470)는 제2 래치부(450)에 저장되어 있는 에지 정보들, 즉 제2 속도 검출 주기(Ts2)의 시간 t4에 발생된 엔코더 B상의 하강 에지에 관한 에지 정보들을 제2 래치부(450)로부터 읽어들여 저장한다. 그리고, 연산 처리 장치(470)의 인에이블 신호 발생 단자에서는 인에이블 신호가 출력된다. 이 인에이블 신호는 OR 게이트(480)를 통하여 제2 래치부(450)를 인에이블시킨다. 인에이블된 제2 래치부(450)에서는 제1 래치부(440)에 저장되어 있던 에지 정보들, 즉 시간 t5에서 발생된 엔코더 A상의 상승 에지에 관한 에지 정보들을 입력받아 저장한다.After the speed detection signal is input at the time T −1 , the edge detection signal is output from the edge detector 410 at a time t 5 when the rising edge of the encoder A occurs. This edge detection signal is input to the first latch portion 440 and the effective edge detector 460. The first latch unit 440 receiving the edge detection signal receives and stores edge information generated at the time t 5 from the edge detector 410, the angle measurement counter 420, and the time measurement counter 430, respectively. Meanwhile, the valid edge detector 460 which receives the edge detection signal detects the first valid edge which is the rising edge of the encoder A and outputs the first valid edge detection signal. This first valid edge detection signal is input to the arithmetic processing unit 470. The operation processing device 470 receiving the first valid edge detection signal performs the first interrupt routine. According to this first interrupt routine, the arithmetic processing unit 470 generates the edge information stored in the second latch unit 450, that is, the encoder B phase generated at time t 4 of the second speed detection period T s2 . The edge information regarding the falling edge is read from the second latch unit 450 and stored. The enable signal is output from the enable signal generation terminal of the arithmetic processing unit 470. The enable signal enables the second latch unit 450 through the OR gate 480. The enabled second latch unit 450 receives and stores edge information stored in the first latch unit 440, that is, edge information regarding the rising edge of the encoder A generated at time t 5 .
시간 t6에서 엔코더 B상의 상승 에지가 발생됨에 따라 에지 검출부(410)에서 출력되는 에지 검출 신호는 제1 래치부(440) 및 유효 에지 검출기(460)로 입력된다. 에지 검출 신호를 입력받은 제1 래치부(440)에서는 시간 t6에서 발생된 에지 정보들을 에지 검출부(410), 각도 계측 카운터(420) 및 시간 계측 카운터(430)로부터 각각 입력받아 저장한다. 한편, 에지 검출 신호를 입력받은 유효 에지 검출기(460)는 엔코더 B상의 상승 에지인 제2 유효 에지를 검출하고, 제2 유효 에지 검출 신호를 출력한다. 이 제2 유효 에지 검출 신호는 연산 처리 장치(470)로 입력된다. 제2 유효 에지 검출 신호를 입력받은 연산 처리 장치(470)는 다시 제1 인터럽트 루틴을 수행한다. 이 제1 인터럽트 루틴이 다시 수행되면, 연산 처리 장치(470)는 제2 래치부(450)에 저장되어 있는 에지 정보들, 즉 시간 t5에 발생된 엔코더 A상의 상승 에지에 관한 에지 정보를 제2 래치부(450)로부터 읽어들여 저장한다. 그리고, 연산 처리 장치(470)의 인에이블 신호 발생 단자에서는 인에이블 신호가 출력된다. 이 인에이블 신호는 OR 게이트(480)를 통해 제2 래치부(450)에 입력된다. 인에이블된 제2 래치부(450)에서는 제1 래치부(440)에 저장되어 있던 에지 정보들, 즉 시간 t6에서 발생된 엔코더 B상의 상승 에지에 관한 에지 정보를 입력받아 저장한다.As the rising edge on encoder B is generated at time t 6 , the edge detection signal output from the edge detector 410 is input to the first latch unit 440 and the effective edge detector 460. The first latch unit 440 receiving the edge detection signal receives and stores edge information generated at the time t 6 from the edge detector 410, the angle measurement counter 420, and the time measurement counter 430, respectively. On the other hand, the valid edge detector 460 receiving the edge detection signal detects the second valid edge which is the rising edge of the encoder B, and outputs the second valid edge detection signal. This second valid edge detection signal is input to the arithmetic processing unit 470. The arithmetic processing unit 470 which receives the second valid edge detection signal performs the first interrupt routine again. If the first interrupt routine is carried out again, the processing unit 470 is edge information on the rising edge on the encoder A occurs in the edge which is 2 stored in the latch unit 450 information, i.e. time t 5 the 2 is read from the latch unit 450 and stored. The enable signal is output from the enable signal generation terminal of the arithmetic processing unit 470. The enable signal is input to the second latch unit 450 through the OR gate 480. The enabled second latch unit 450 receives and stores edge information stored in the first latch unit 440, that is, edge information regarding the rising edge of the encoder B generated at time t 6 .
한편, 시간 t7에서 엔코더 A상의 하강 에지가 발생됨에 따라 에지 검출부(410)에서 출력되는 에지 검출 신호는 제1 래치부(440) 및 유효 에지 검출기(460)로 입력된다. 에지 검출 신호를 입력받은 제1 래치부(440)에서는 시간 t7에서 발생된 에지 정보를 에지 검출부(410), 각도 계측 카운터(420) 및 시간 계측 카운터(430)로부터 각각 입력받아 저장한다. 한편, 에지 검출 신호를 입력받은 유효 에지 검출기(460)는 엔코더 A상의 하강 에지인 제3 유효 에지를 검출하고, 제3 유효 에지 검출 신호를 출력한다. 이 제3 유효 에지 검출 신호는 연산 처리 장치(470)로 입력된다. 제3 유효 에지 검출 신호를 입력받은 연산 처리 장치(470)는 제1 인터럽트 루틴을 다시 수행한다. 이 제1 인터럽트 루틴이 수행되면, 연산 처리 장치(470)는 제2 래치부(450)에 저장되어 있는 에지 정보들, 즉 시간 t6에 발생된 엔코더 B상의 상승 에지에 관한 에지 정보들을 제2 래치부(450)로부터 읽어들여 저장한다. 그리고, 연산 처리 장치(470)의 인에이블 신호 발생 단자에서는 인에이블 신호가 출력된다. 이 인에이블 신호는 제2 래치부(450)를 인에이블시킨다. 인에이블된 제2 래치부(450)에서는 제1 래치부(440)에 저장되어 있던 에지 정보들, 즉 시간 t7에서 발생된 엔코더 A상의 하강 에지에 관한 에지 정보를 입력받아 저장한다.Meanwhile, as the falling edge of encoder A is generated at time t 7 , the edge detection signal output from the edge detector 410 is input to the first latch unit 440 and the effective edge detector 460. The first latch unit 440 receiving the edge detection signal receives and stores edge information generated at the time t 7 from the edge detector 410, the angle measurement counter 420, and the time measurement counter 430, respectively. On the other hand, the valid edge detector 460 receiving the edge detection signal detects the third valid edge, which is the falling edge on encoder A, and outputs the third valid edge detection signal. This third valid edge detection signal is input to the arithmetic processing unit 470. The arithmetic processing unit 470 which has received the third valid edge detection signal performs the first interrupt routine again. When this first interrupt routine is performed, the arithmetic processing unit 470 performs second information on the edge information stored in the second latch unit 450, that is, the edge information on the rising edge on encoder B generated at time t 6 . It reads from the latch part 450 and stores it. The enable signal is output from the enable signal generation terminal of the arithmetic processing unit 470. This enable signal enables the second latch unit 450. The enabled second latch unit 450 receives and stores edge information stored in the first latch unit 440, that is, edge information regarding a falling edge on encoder A generated at time t 7 .
이와 같이 3개의 유효 에지가 검출된 이후인 시간 t8에서, B상의 하강 에지가 발생되면 에지 검출부(410)에서 에지 검출 신호가 출력된다. 그리고, 이 에지 검출 신호는 제1 래치부(440) 및 유효 에지 검출기(460)로 입력된다. 에지 검출 신호를 입력받은 제1 래치부(440)에서는 시간 t8에서 발생된 에지 정보들을 에지 검출부(410), 각도 계측 카운터(420) 및 시간 계측 카운터(430)로부터 각각 입력받아 저장한다. 한편, 에지 검출 신호를 입력받은 유효 에지 검출기(460)는 이미 최대 3개의 유효 에지를 검출하였으므로 더 이상 유효 에지 검출 신호를 발생시키지 않는다.In this manner, at the time t 8 after the three valid edges are detected, the edge detection signal is output from the edge detector 410 when the falling edge of the B phase is generated. The edge detection signal is input to the first latch unit 440 and the effective edge detector 460. The first latch unit 440 receiving the edge detection signal receives and stores edge information generated at the time t 8 from the edge detector 410, the angle measurement counter 420, and the time measurement counter 430, respectively. On the other hand, since the valid edge detector 460 that has received the edge detection signal has already detected up to three valid edges, the valid edge detector 460 no longer generates the valid edge detection signal.
그리고, 속도 검출 시점인 시간 T0에 이르면, 시간 계측 카운터(430)로부터 속도 검출 신호가 출력된다. 이 속도 검출 신호는 OR 게이트(480)를 통하여 제2 래치부(450)에 입력되는 한편, 유효 에지 검출기(460) 및 연산 처리 장치(470)로 입력된다. 속도 검출 신호를 입력받은 제2 래치부(450)는 인에이블된다. 인에이블된 제2 래치부(450)는 제1 래치부(440)에 저장되어 있던 에지 정보들, 즉 시간 t8에서 발생된 엔코더 B상의 하강 에지에 관한 에지 정보를 입력받아 저장한다. 그리고, 속도 검출 신호를 입력받은 유효 에지 검출기(460)는 이미 전기한 바와 같이, 다음 속도 검출 시점에서 필요한 정보를 저장하기 위해, 이후에 발생되는 에지 중에서 최대 3개의 유효 에지를 검출하여 유효 에지 검출 신호를 출력한다. 한편, 속도 검출 신호를 입력받은 연산 처리 장치(470)에서는 제2 인터럽트 루틴을 수행한다. 이 제2 인터럽트 루틴이 수행되면, 연산 처리 장치(470)는 제2 래치부(450)에 저장되어 있는 기준 에지에 관한 에지 정보들 및 이전에 자체에 기저장되어 있는 에지 정보들을 읽어들여 전동기 속도를 연산하기 위한 연산 과정을 수행한다. 즉, 연산 처리 장치(470)는 제2 에지 래치(451)로부터 기준 에지의 종류, 즉 엔코더 B 상의 하강 에지라는 에지 판별 정보를 입력받고, 제2 각도 래치(452)로부터는 기준 에지의 각도 정보, 즉 x+4라는 데이터를 입력받고, 그리고 제2 시간 래치(453)로부터는 기준 에지가 발생된 시점, 즉 t8에 관한 시간 정보를 입력받는다. 그리고, 이 입력받은 기준 에지의 에지 정보와, 기입력된 정보들 중에서 동일 종류 에지의 에지 정보를 이용하여 아래의 수학식 4에 의한 연산을 수행한다.When the time T 0 , which is the speed detection point, is reached, the speed detection signal is output from the time measurement counter 430. The speed detection signal is input to the second latch unit 450 through the OR gate 480, and to the effective edge detector 460 and the arithmetic processing unit 470. The second latch unit 450 receiving the speed detection signal is enabled. The enabled second latch unit 450 receives and stores edge information stored in the first latch unit 440, that is, edge information regarding a falling edge on encoder B generated at time t 8 . As described above, the valid edge detector 460, which has received the speed detection signal, detects up to three valid edges among the edges generated afterwards so as to store necessary information at the next speed detection time. Output the signal. On the other hand, the arithmetic processing unit 470 receiving the speed detection signal performs the second interrupt routine. When the second interrupt routine is performed, the operation processing unit 470 reads the edge information about the reference edge stored in the second latch unit 450 and the edge information previously stored in itself, and then the motor speed. Performs the operation process to calculate. That is, the arithmetic processing unit 470 receives the type of the reference edge, that is, the edge determination information of the falling edge on encoder B from the second edge latch 451, and the angle information of the reference edge from the second angle latch 452. That is, the data x + 4 is input, and the second time latch 453 receives time information regarding a time point at which a reference edge is generated, that is, t 8 . The edge information of the received reference edge and the edge information of the same kind of edges among the previously inputted information are used to perform the calculation according to Equation 4 below.
여기서, ω는 전동기 속도이고, (x+4)는 속도 검출 시점인 T0에서 상기 제2 각도 래치(452)로부터 입력된 각도 정보이고, x는 동일 종류의 에지의 각도 정보이고, ceil(x)는 +∞ 쪽으로 가장 가까운 x보다 크거나 같은 정수값이고, t8은 속도 검출 시점인 T0에서 상기 제2 시간 래치(453)로부터 입력된 시간이고, Ts2는 속도 검출 주기이고, t4는 동일 종류 에지의 시간 정보이고, 그리고 ppr은 엔코더의 1 회전마다 발생되는 펄스의 개수이다.Where ω is the motor speed, (x + 4) is the angle information input from the second angle latch 452 at T 0 , the speed detection time point, x is the angle information of the edge of the same type, and ceil (x ) Is an integer value greater than or equal to the nearest x toward + ∞, t 8 is a time input from the second time latch 453 at a speed detection time T 0 , T s2 is a speed detection period, and t 4 Is the time information of the edge of the same kind, and ppr is the number of pulses generated every one revolution of the encoder.
이상의 설명에서와 같이, 본 발명에 따른 증분형 엔코더를 이용한 전동기 속도 검출 장치는, 유효 에지 검출기(460)에 의해 전동기 속도 연산에 필요한 에지 정보만을 검출하도록 하여 제1 및 제2 래치부(440)(450)의 하드 웨어 구성을 각각 하나의 단일 래치들로 구성될 수 있도록 되어 있다.As described above, in the motor speed detecting apparatus using the incremental encoder according to the present invention, the effective edge detector 460 detects only edge information necessary for calculating the motor speed so that the first and second latch units 440 may be used. The hardware configuration of 450 can be configured with one single latch each.
한편, 속도 검출 주기 내에 엔코더 펄스의 에지가 발생되지 않는 경우에는 소정의 속도 추정에 의한 연산을 수행하여 전동기 속도를 검출한다. 즉, 도 7a에 도시된 바와 같이 T-2와 T-1사이의 속도 검출 주기 및 T-1와 T0사이의 속도 검출 주기 동안에 엔코더 펄스의 에지가 발생되지 않은 경우에, 각 속도 검출 시점인 T-2,T-1에서의 속도 검출 과정을 설명하기로 한다.On the other hand, if the edge of the encoder pulse does not occur within the speed detection period, the calculation by the predetermined speed estimation is performed to detect the motor speed. That is, when the edge of the encoder pulse is not generated during the speed detection period between T -2 and T -1 and the speed detection period between T -1 and T 0 as shown in FIG. The speed detection process in T- 2 and T- 1 will be described.
시간 계측 카운터(430)에서 속도 검출 신호를 발생시키는 시간 T-1에는 제1 및 제2 래치부(440)(450)에는 저장되어 있는 에지 정보가 없다. 따라서, 연산 처리 장치(470)에서 속도 검출 연산을 수행하기 위해 시간 T-1에서 제1 가상 에지가 한 개 발생하였다고 가정한다. 그리고, 이전에 발생되었던 에지 중에서, 제1 가상 에지와 동일한 종류의 에지에 관한 에지 정보를 이용하여 속도를 추정하는 연산을 수행한다. 이 연산은 아래의 수학식 5에 의해 수행된다.There is no edge information stored in the first and second latch units 440 and 450 at the time T− 1 at which the time measurement counter 430 generates the speed detection signal. Therefore, it is assumed that one first virtual edge occurs at time T −1 to perform the speed detection operation in the operation processing device 470. And, among the edges previously generated, the operation of estimating the speed is performed using edge information about the same type of edge as the first virtual edge. This operation is performed by Equation 5 below.
여기서, ω-1은 시간 T-1에서의 전동기 추정 속도이고, N은 엔코더 에지가 발생되지 않은 속도 검출 주기의 회수이고, Ts는 속도 검출 주기이고, t4는 이전에 발생되었던 에지 중에서, 제1 가상 에지와 동일한 종류의 에지가 발생된 시간이고, 그리고 ppr은 엔코더의 1회전마다 발생되는 펄스의 개수이다.Where ω −1 is the estimated motor speed at time T −1 , N is the number of speed detection cycles at which no encoder edge has occurred, T s is the speed detection cycle, and t 4 is the edge that occurred previously, An edge of the same type as that of the first virtual edge is generated, and ppr is the number of pulses generated every one revolution of the encoder.
한편, 시간 T0에서의 속도 추정 연산은, 시간 T0에서 제2 가상 에지가 발생하였다고 가정하고, 이전에 발생되었던 에지 중에서, 제2 가상 에지와 동일한 종류의 에지에 관한 에지 정보를 이용하여 아래의 수학식 6에 의해 수행된다.On the other hand, the estimated velocity at the time T 0 operation, time T from a second edge that was a virtual edge occurs home, occur prior hayeotdago at 0, following by a second edge information about the same type of edge and the virtual edge Is performed by Equation (6).
여기서, ω0은 시간 T0에서의 전동기 추정 속도이고, N은 엔코더 에지가 발생되지 않은 속도 검출 주기의 회수이고, Ts는 속도 검출 주기이고, t4는 이전에 발생되었던 에지 중에서, 제1 가상 에지와 동일한 종류의 에지가 발생된 시간이고, 그리고 ppr은 엔코더의 1회전마다 발생되는 펄스의 개수이다.Where ω 0 is the estimated motor speed at time T 0 , N is the number of speed detection periods in which no encoder edge has occurred, T s is the speed detection period, and t 4 is the first of the previously generated edges, An edge of the same kind as the virtual edge is generated, and ppr is the number of pulses generated per one revolution of the encoder.
한편, 시간 t3에서 A상의 하강 에지가 발생되고, 이 A상의 하강 에지가 기준 에지가 되어 속도 검출 시점 T+1에 이르면, 연산 처리 장치(470)에서는 아래의 수학식 7에 의해 전동기 속도를 연산한다.On the other hand, when the falling edge of phase A occurs at time t 3 , and the falling edge of phase A becomes the reference edge and reaches the speed detection time point T + 1 , the arithmetic processing unit 470 adjusts the motor speed by the following equation (7). Calculate
여기서, ω+1은 시간 T+1에서의 전동기 속도이고, N은 엔코더 에지가 발생되지 않은 속도 검출 주기의 회수이고, Ts는 속도 검출 주기이고, t3은 기준 에지가 발생된 시간이고, 그리고 ppr은 엔코더의 1회전마다 발생되는 펄스의 개수이다.Where ω +1 is the motor speed at time T +1 , N is the number of speed detection cycles in which no encoder edge has occurred, T s is the speed detection cycle, t 3 is the time at which the reference edge occurred, And ppr is the number of pulses generated every one revolution of the encoder.
도 7b는 엔코더 펄스 에지가 발생하지 않은 속도 검출 주기에서의 추정 속도를 연산한 결과를 나타낸 그래프이다. 도시된 바와 같이, 에지가 발생하지 않음으로써 수학식 5 및 6에서 나타난 연산식의 분모가 계속 증가하고, 그 결과 추정 속도는 점점 0으로 수렴한다.7B is a graph showing a result of calculating an estimated speed in a speed detection period in which no encoder pulse edge has occurred. As shown, the edges do not occur, so the denominator of the equations shown in Equations 5 and 6 continues to increase, with the result that the estimation speed gradually converges to zero.
이상의 설명에서와 같이, 본 발명에 따른 증분형 엔코더를 이용한 전동기 속도 검출 장치는 엔코더의 두 상으로부터 출력되는 펄스 정보를 모두 이용하므로 정보 이용 효율이 높으며, 속도 검출 주기 동안에 발생된 엔코더 펄스의 수가 적은 경우에도 속도 검출을 할 수 있으므로 저속 영역에서도 전동기 속도 제어를 안정되게 수행할 수 있다. 또한, 에지 정보들을 저장하는 래치부를 단일 래치들로 구성하였으므로, 전체적인 하드웨어 구성이 간소화되었으며, 그 제조 단가를 낮출 수 있다는 이점이 있다.As described above, the motor speed detecting apparatus using the incremental encoder according to the present invention uses both pulse information output from the two phases of the encoder, so that the information utilization efficiency is high, and the number of encoder pulses generated during the speed detection period is small. In this case, speed detection can be performed, so that motor speed control can be stably performed even in a low speed region. In addition, since the latch unit for storing the edge information is composed of single latches, the overall hardware configuration is simplified and the manufacturing cost can be reduced.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970063969A KR19990043005A (en) | 1997-11-28 | 1997-11-28 | Motor speed detection device using incremental encoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970063969A KR19990043005A (en) | 1997-11-28 | 1997-11-28 | Motor speed detection device using incremental encoder |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19990043005A true KR19990043005A (en) | 1999-06-15 |
Family
ID=66094445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970063969A KR19990043005A (en) | 1997-11-28 | 1997-11-28 | Motor speed detection device using incremental encoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19990043005A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100460592B1 (en) * | 2002-08-22 | 2004-12-09 | 삼성전자주식회사 | Motor speed control apparatus |
KR100882473B1 (en) * | 2007-06-28 | 2009-02-09 | 경북대학교 산학협력단 | Floating point speed sensing apparatus for motor encoder |
KR20170008381A (en) * | 2015-07-13 | 2017-01-24 | 현대모비스 주식회사 | Apparatus and method for measuring speed of motor |
US10509385B2 (en) | 2015-08-03 | 2019-12-17 | Lsis Co., Ltd. | Method of controlling encoder principle axis speed synchronization |
-
1997
- 1997-11-28 KR KR1019970063969A patent/KR19990043005A/en not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100460592B1 (en) * | 2002-08-22 | 2004-12-09 | 삼성전자주식회사 | Motor speed control apparatus |
KR100882473B1 (en) * | 2007-06-28 | 2009-02-09 | 경북대학교 산학협력단 | Floating point speed sensing apparatus for motor encoder |
KR20170008381A (en) * | 2015-07-13 | 2017-01-24 | 현대모비스 주식회사 | Apparatus and method for measuring speed of motor |
US10509385B2 (en) | 2015-08-03 | 2019-12-17 | Lsis Co., Ltd. | Method of controlling encoder principle axis speed synchronization |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
SE519816C2 (en) | Phase digitization with accumulator | |
US6597205B2 (en) | High accuracy method for determining the frequency of a pulse input signal over a wide frequency range | |
CN106645786A (en) | Permanent magnet synchronous motor speed detection method and device | |
CN110879298A (en) | Speed acquisition method based on communication type encoder | |
JP3173174B2 (en) | Speed detector | |
CN108427345B (en) | Load equipment control method, device and system based on square wave pulse signal | |
KR19990043005A (en) | Motor speed detection device using incremental encoder | |
JPH06147922A (en) | Displacement measuring device | |
JPH061279B2 (en) | Digital speed detector | |
EP2110644B1 (en) | Phase difference detector and rotational position detector | |
US6310458B1 (en) | Blended velocity estimation | |
JP2002311040A (en) | Speed detector | |
JPH04346069A (en) | Speed signal generating circuit | |
KR19990001541A (en) | Speed detection method and device | |
KR19990085942A (en) | Speed detection device and method | |
KR19980054686A (en) | Speed detection method and apparatus in motor | |
KR100882473B1 (en) | Floating point speed sensing apparatus for motor encoder | |
KR100339009B1 (en) | An apparatus &the method of signal analysis for microcomputer | |
KR100212211B1 (en) | Position and speed detecting circuit and method in motor | |
JP3499845B2 (en) | Motor control device | |
JPH04285815A (en) | Position counter circuit of rotary encoder | |
JPH05332788A (en) | Data processing device for rotary encoder | |
JPH10260197A (en) | Detecting circuit for velocity pulse | |
JPH05173645A (en) | Position detecting method | |
JPH08163100A (en) | Method for outputting difference between two counts and its device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |