KR100287427B1 - Apparatus for generating pulse train - Google Patents
Apparatus for generating pulse train Download PDFInfo
- Publication number
- KR100287427B1 KR100287427B1 KR1019980047411A KR19980047411A KR100287427B1 KR 100287427 B1 KR100287427 B1 KR 100287427B1 KR 1019980047411 A KR1019980047411 A KR 1019980047411A KR 19980047411 A KR19980047411 A KR 19980047411A KR 100287427 B1 KR100287427 B1 KR 100287427B1
- Authority
- KR
- South Korea
- Prior art keywords
- pulse
- latch
- value
- adder
- pulse train
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/64—Generators producing trains of pulses, i.e. finite sequences of pulses
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P25/00—Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details
- H02P25/02—Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details characterised by the kind of motor
- H02P25/06—Linear motors
- H02P25/064—Linear motors of the synchronous type
- H02P25/066—Linear motors of the synchronous type of the stepping type
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Position Or Direction (AREA)
Abstract
Description
본 발명은 서보드라이버 또는 스텝핑드라이버의 위치, 속도지령 신호인 펄스를 원하는 모션동작이 되게 주파수 및 위치지령을 할 수 있도록하기 위한 펄스열 발생에 관한 것으로 산업용으로 널리 사용되고 있는 각종 모터 구동장치에 필수적인 제어로직으로 집적회로(ASIC 또는 FPGA)로 설계되어 모션컨트롤러에 탑재되는 펄스열발생장치에 관한 것이다.The present invention relates to the generation of pulse train for enabling the frequency and position command of the servo driver or stepping driver to be the desired motion operation of the pulse which is the speed command signal. The present invention relates to a pulse train generator which is designed as an integrated circuit (ASIC or FPGA) and mounted on a motion controller.
일반적으로 제1도에 있어서 펄스열 발생기(3)는 CPU(2)와 조합디어 시스템 구성을 이루고 서보드라이버 또는 스탭핑드라이버(6)의 상위 모션컨트롤러(1)에 장착되어 사용된다. 상위 모션컨트롤러(1)의 CPU(2)로 프로그래밍된 스퀀스에 따라 모터(6)의 우치 또는 속도제어를 펄스(4) 형태로 하위 구동장치(5)에 지령하여 원하는 각도 및 위치를 제어한다. 종래의 펄스열 발생기의 내부 로직은 제2도에서 출력코자하는 가속도, 감속도, 주파수 및 목표펄스량을 일정 시점에 계산하여 각각의 레지스터(10, 11, 12, 13)에 기억시킨다. 이 값들은 타이머(14)의 기준클럭에 의해 '1'씩 감소하여 타이머값이 '0'이 될 때 펄스가 발생되고, 그 펄스는 카운터(16)에 의해 계수된 다음 목표펄스량 레지스터(13)의 값과 비교기(17)에서 비교되어 두 값이 동일 할때까지 타이머는 펄스를 출력하게 된다. 타이머의 펄스 출력(15)은 펄스열 형태설정(18)에서 원하는 파형의 펄스 P+(19), P-(20)를 출력한다.In general, in FIG. 1, the pulse train generator 3 forms a system configuration in combination with the CPU 2 and is mounted on the upper motion controller 1 of the servo driver or the stepping driver 6 and used. According to the sequence programmed by the CPU 2 of the upper motion controller 1, the lower gear 5 is commanded to the lower driving device 5 in the form of a pulse 4 to control the right or speed control of the motor 6 to control the desired angle and position. . The internal logic of the conventional pulse train generator calculates the acceleration, deceleration, frequency, and target pulse amounts to be outputted in FIG. 2 at a predetermined time point and stores them in the registers 10, 11, 12, and 13, respectively. These values are decremented by '1' by the reference clock of the timer 14 so that a pulse is generated when the timer value becomes '0', and the pulse is counted by the counter 16 and then the target pulse amount register 13 Value is compared with the comparator 17 and the timer outputs a pulse until the two values are the same. The pulse output 15 of the timer outputs the pulses P + 19 and P- 20 of the desired waveform in the pulse train form setting 18.
이와같은 기존의 펄스열 발생장치는 기준클럭으로 수백 메가헤르쯔(MHz)를 사용하여 최대로 출력하는 펄스의 주기 및 펄스열의 정밀도를 유지하고 있다. 따라서 사용되는 집적회로의 특성이 좋아야 하며 그에따른 코스트 상승이 요구된다. 또한 펄스열의 주파수를 임의의 시점에서 변경하고자 할 때 펄스 출력으로 반영되는 시점지연과, 다양한 온라인 모션동작을 주변장치(로봇 또는 PLC)와 연동하여 구현코자 할 때 이미 계산된 위치, 속도 패턴(제3도)을 각각의 레지스터에 기억시킨 상태이므로 임의의 시점에서 위치, 속도 패턴을 변경하는데 많은 제약이 따른다.The conventional pulse train generator maintains the accuracy of the pulse cycle and the pulse output to the maximum by using several hundred megahertz (MHz) as a reference clock. Therefore, the characteristics of the integrated circuit used must be good and accordingly the cost increase. In addition, when the frequency of the pulse train is to be changed at an arbitrary time, the time delay reflected by the pulse output and the position and velocity pattern already calculated when implementing various online motion operations in conjunction with a peripheral device (robot or PLC) Since 3 degrees) is stored in each register, there are many restrictions in changing the position and velocity patterns at any point in time.
제3도의 시간대비 속도형상에 대응하는 모터구동 패턴(24:가속, 25:등속, 26:감속, 27:조그속도)을 예시한 것으로 각 구간에 따라 출력되는 펄스열(28)은 가감속 및 등속도에 맞는 펄스주기와 목표하는 위치에 대응하는 펄스갯수가 정확히 발생되어야 한다. 일반적으로 상위 컨트롤러(1)에서는 임의의 속도, 위치 패턴을 일정샘플링 타임마다 계산하게되고 그 값은 한 샘플링 구간에 해당하는 속도 또는 위치 증분량에 해당한다. 이와 같이 CPU에서 계산된 정보를 즉시 반영코자 하는 제어방식에서는 기존의 펄스발생장치로는 많은 제약조건이 따르게된다.The motor driving pattern (24: acceleration, 25: constant speed, 26: deceleration, 27: jog speed) corresponding to the time-to-speed shape of FIG. 3 is illustrated. The pulse train 28 outputted according to each section is acceleration / deceleration and constant speed. The pulse period corresponding to the figure and the number of pulses corresponding to the target position should be generated accurately. In general, the upper controller 1 calculates an arbitrary speed and position pattern for each sampling time, and the value corresponds to a speed or position increment corresponding to one sampling interval. As described above, in the control method for immediately reflecting the information calculated by the CPU, many constraints are applied to the conventional pulse generator.
본 발명은 펄스열 발생 방식을 일정한 샘플링 타임마다 계산된 위치 정보에서 펄스의 증분량과 펄스간격을 계산하여 레지스터에 기억시키고, 원하는 펄스의 정도를 확보하기 위해 내부에 유효자리 보상을 위한 덧셈기(Adder)를 부가하여 종래의 고주파 기준클럭보다 낮은 클럭을 사용 할 수 있게하여 특성이 좋은 고속의 집적회로칩의 사용에 의한 코스트 상승을 피할 수 있게하였다. 또한 각 샘플링 구간에서 계산된 목표값이 다음 샘플링 구간에서 펄스 발생로직에 반영되는 구조로 종래의 다양한 모션구현의 애로사항을 극복하였다.The present invention calculates the incremental amount and pulse interval of the pulse from the position information calculated at a constant sampling time in the register and stores the pulse train generation method in the register to secure the effective position of the adder (Adder) In addition, it is possible to use a clock lower than the conventional high frequency reference clock to avoid the cost increase by using a high-speed integrated circuit chip with good characteristics. In addition, the target value calculated in each sampling section is reflected in the pulse generation logic in the next sampling section to overcome the difficulties of various conventional motion implementations.
제1도는 펄스열 발생기의 사용 예1 is a use example of the pulse train generator
제2도는 상용 모션컨트롤러에 사용되고 있는 펄스열 발생장치의 블록도2 is a block diagram of a pulse train generator used in a commercial motion controller.
제3도는 펄스열의 파형도3 is a waveform diagram of a pulse train
제4도는 본 발명의 펄스열 발생장치4 is a pulse train generator of the present invention
제5도는 샘플링 시간 단위로 처리하는 펄스열의 시간 및 펄스수의 관계도5 is a relation diagram of time and number of pulses of a pulse train processed in units of sampling time
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
. 레지스터(10, 11, 12, 13, 30, 31) : 제1도의 CPU(2)에서 읽고 또는 쓸 수 있는 데이터 저장장소.. Registers 10, 11, 12, 13, 30, and 31: Data storage places that can be read or written by the CPU 2 of FIG.
. 타이머(14, 48) : 입력 기준클럭으로 동작하는 로더블타이머로 로드된 초기값에서 '1'씩 감소하여 '0'에 도달하면 캐리를 발생하는 장치.. Timer 14, 48: A device that generates a carry when it reaches '0' by decreasing '1' from the initial value loaded by the retractable timer operating as an input reference clock.
. 비교기(17, 49) : 두개의 입력 데이터의 값이 동일할 때 신호를 발생하는 장치.. Comparator (17, 49): A device that generates a signal when the values of two input data are the same.
. 펄스열 형태설정(18, 52) : 설정된 모드에 따라 펄스열의 형태를 조정하는 장치.. Pulse train form setting (18, 52): Device to adjust the form of pulse train according to the set mode.
. P+, P- : 펄스 형태 선택에 따라 '펄스신호와 방향신호' 또는 정방향펄스와 역방향펄스' 또는 '2상의 구형파(일명 엔코더 신호)'형태로 출력되는 펄스출력 신호.. P +, P-: Pulse output signal output in the form of 'pulse signal and direction signal' or forward and reverse pulse 'or' two-phase square wave (aka encoder signal) 'according to the pulse type selection.
. S1 : 제4도의 로더블 타이머(48)의 캐리신호 펄스열 출력임.. S1: The carry signal pulse string output of the retractable timer 48 of FIG.
. S2 : 제4도의 비교기(49)의 두 입력이 동일할 때 발생되는 출력 신호임.. S2: Output signal generated when two inputs of the comparator 49 of FIG. 4 are identical.
본 발명의 제4도의 펄스발생 로직과 CPU연산으로 제5도의 원하는 제어값(펄스증분량과 펄스간격)을 구하여 펄스열을 제어하는 방식으로 구성된다.The pulse generation logic and CPU operation of FIG. 4 of the present invention are used to obtain a desired control value (pulse increment and pulse interval) of FIG. 5 to control the pulse train.
제5도에 있어서 속도패턴(61)에 대응하는 디지털 값으로 각 샘플링타임 Ts(60)에서 계산된 위치 증분량 P0(62)∼P4를 속도에 대응하는 펄스주기 T0(64)∼T4와 펄스수로 환산하여 제4도의 레지스터에 기억시키면 펄스발생로직은 원하는 펄스를 발생시키게 된다.In Fig. 5, the position increment amounts P0 (62) to P4 calculated at each sampling time Ts (60) are digital values corresponding to the speed pattern 61, and the pulse periods T0 (64) to T4 corresponding to the speed and pulses. When converted into numbers and stored in the register of Fig. 4, the pulse generating logic generates the desired pulse.
제4도에 있어서 CPU에서 연산된 펄스간격(제5도의 T0∼T4)을 저장하는 펄스간격 레지스터(30)와 펄스증분량(제5도의 P0∼P4)을 저장하는 펄스증분량 레지스터(31)로 구성되어 각 샘플링 타임마다 새로운 값으로 저장되고 각각의 값은 데이터버스(32, 33)을 통하여 비교기(49)의 동일신호 출력 S1(47)에 의하여 래치1(34), 래치2(35), 래치4(36)에 래치된다. 여기서 래치1에는 소수점 이하의 유효자리를 포함한 펄스주기에 해당하는 정수값이 저장되고, 래치2에는 펄스주기의 소숫점 이하 값이 저장된다. 소수점 이하값은 로더블 타이머(48)의 캐리신호 S2(50)가 출력될 때 마다 덧셈기(39)와 덧셈기 출력(43)은 플립플롭 DFF(44)에 의하여 더해지고, 덧셈기의 오버플로우 값(42)은 래치1의 정수값과 덧셈기(41)에서 더해지고 그 값은 래치3(46)에 S2신호에 의하여 래치된다. 이 로직은 수십 메가헤르쯔(MHz)의 기준클럭으로 보증할 수 있는 최대 주파수의 정밀도를 일정 정도(레졸루션) 이상 보증하기 위한 유효자리 보상방식으로 한 샘플링 구간내에서 하드웨어 로직으로 보상되게 되어 소프웨어로 처리할 수 없는 미세조정을 행할 수가 있다.In FIG. 4, a pulse interval register 30 for storing pulse intervals (T0 to T4 in FIG. 5) calculated by the CPU and a pulse increment register 31 for storing pulse increments (P0 to P4 in FIG. 5). Each value is stored as a new value at each sampling time, and each value is latched 1 (34) and latched 2 (35) by the same signal output S1 (47) of the comparator 49 through the data buses 32 and 33. And latch 4 (36). Here, the latch 1 stores an integer value corresponding to a pulse period including a significant digit below the decimal point, and the latch 2 stores a value below the decimal point of the pulse period. The value below the decimal point is added to the adder 39 and the adder output 43 by the flip-flop DFF 44 whenever the carry signal S2 50 of the loadable timer 48 is output, and the overflow value of the adder ( 42 is added to the adder 41 by the integer value of the latch 1 and the value is latched by the S2 signal to the latch 3 46. This logic is a software that is compensated by hardware logic within the sampling interval with effective digit compensation method to guarantee the accuracy of the maximum frequency that can be guaranteed with a reference clock of several tens of megahertz (MHz) to a certain degree (resolution). Fine adjustments cannot be made.
위와같이 발생된 펄스 S2는 카운터(51)로 계수되고 비교기(49)로 전달되어 펄스증분량인 래치4(36)와 비교되며 동일한 값이되면 신호 S1(47)이 발생되고 이 신호는 래치1, 래치2, 래치4에 새로운 값을 로드하게 한다. 따라서 각 샘플링에 출력되는 펄스수는 목표값과 일치되며 원하는 펄스형태는 펄스형태설정(52)에 의해 여러가지 형상으로 하위 서보드라이버 또는 스탭핑드라이버의 입력규격에 맞게 출력할 수있다.The pulse S2 generated as described above is counted by the counter 51 and transferred to the comparator 49 to be compared with the latch 4 36 which is the pulse increment, and when the same value is reached, the signal S1 47 is generated and the signal is latched 1. To load new values into latch 2 and latch 4. Therefore, the number of pulses output to each sampling is consistent with the target value, and the desired pulse shape can be output in various shapes by the pulse shape setting 52 in accordance with the input specifications of the lower servo driver or the stepping driver.
본 발명에 의한 펄스열 발생방식은 일정한 샘플링타임 마다 목표로하는 위치, 속도의 정보를 전달시키므로 어느 시점에서나 목표치 변경이 가능하고 시스템 구성시동제어 및 동기동작을 구현코자 할 때 원할한 모션제어가 가능한 펄스출력을 발생시킬 수 있다. 또한 수십 메가헤르쯔(MHz)의 기준클럭으로도 최고주파수(대략 수십 메가헤르쯔)의 정도를 낼 수 있는 장점을 가지므로 상용화 되어있는 프로그래머블 로직(예를들면 FPGA 또는 EPLD)으로도 쉽게 실현할 수 있다.The pulse train generation method according to the present invention transmits the target position and velocity information at a constant sampling time, so that the target value can be changed at any point and smooth motion control is possible when implementing system configuration start control and synchronous operation. Can generate output. It also has the advantage of achieving the highest frequency (approximately tens of megahertz) even with a reference clock of tens of megahertz (MHz), which can be easily realized with commercially available programmable logic (eg FPGA or EPLD).
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980047411A KR100287427B1 (en) | 1998-11-06 | 1998-11-06 | Apparatus for generating pulse train |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980047411A KR100287427B1 (en) | 1998-11-06 | 1998-11-06 | Apparatus for generating pulse train |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990014408A KR19990014408A (en) | 1999-02-25 |
KR100287427B1 true KR100287427B1 (en) | 2001-04-16 |
Family
ID=37515004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980047411A KR100287427B1 (en) | 1998-11-06 | 1998-11-06 | Apparatus for generating pulse train |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100287427B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7183731B2 (en) | 2004-05-18 | 2007-02-27 | Samsung Electronics Co., Ltd. | Pulse generating method and pulse generator, and motor control system using the same |
-
1998
- 1998-11-06 KR KR1019980047411A patent/KR100287427B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7183731B2 (en) | 2004-05-18 | 2007-02-27 | Samsung Electronics Co., Ltd. | Pulse generating method and pulse generator, and motor control system using the same |
Also Published As
Publication number | Publication date |
---|---|
KR19990014408A (en) | 1999-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5119045A (en) | Pulse width modulation circuit | |
JPS5931897B2 (en) | frequency synthesizer | |
EP0165046B1 (en) | Pulse generator for generating a train of pulses representing the displacement of a body | |
KR100249718B1 (en) | Time interval measurement system and method applied therin | |
US4034367A (en) | Analog-to-digital converter utilizing a random noise source | |
KR100287427B1 (en) | Apparatus for generating pulse train | |
CN101458511A (en) | Hardware interpolation method based on programmable logic device | |
US4476420A (en) | Circuit arrangement for synthesizing a sinusoidal position signal having a desired phase and high-resolution positioning system making use of the circuit arrangement | |
US5216346A (en) | Waveform processing circuit for pulse generator | |
JP2011061929A (en) | Motor speed control device | |
US4095157A (en) | Digital servomechanism control system | |
JPS61208310A (en) | Delay time setting pulse generator | |
RU2181903C2 (en) | Digital controller for system controlling electromagnetic suspension of rotor | |
KR970002301B1 (en) | Position controlling circuit for injection moulding machine | |
SU1695267A1 (en) | Linear interpolator | |
JPH0430813Y2 (en) | ||
SU1167736A1 (en) | Number-to-frequency converter | |
US5565797A (en) | Clock signal generating device | |
JP2736583B2 (en) | Motor speed control device | |
JP3555726B2 (en) | Pulse generator | |
KR0168082B1 (en) | Digital pwm signal generating apparatus | |
SU1619087A1 (en) | Method and apparatus for determining natural forms and frequencies of oscillations of tested object | |
JP2517764Y2 (en) | D / A converter | |
SU1224725A1 (en) | Meter of linear displacement speed | |
RU2205446C2 (en) | Capacitive differential transmitter signal digitizer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G15R | Request for early opening | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070102 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |