KR100732509B1 - Motor velocity control apparatus and method - Google Patents
Motor velocity control apparatus and method Download PDFInfo
- Publication number
- KR100732509B1 KR100732509B1 KR1020050117233A KR20050117233A KR100732509B1 KR 100732509 B1 KR100732509 B1 KR 100732509B1 KR 1020050117233 A KR1020050117233 A KR 1020050117233A KR 20050117233 A KR20050117233 A KR 20050117233A KR 100732509 B1 KR100732509 B1 KR 100732509B1
- Authority
- KR
- South Korea
- Prior art keywords
- section
- deceleration
- calculating
- movement amount
- sections
- Prior art date
Links
Images
Classifications
-
- 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
- H02P5/00—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
- H02P5/74—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors controlling two or more ac dynamo-electric motors
-
- 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
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/14—Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
-
- 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
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/20—Controlling the acceleration or deceleration
-
- 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
- H02P2205/00—Indexing scheme relating to controlling arrangements characterised by the control loops
- H02P2205/07—Speed loop, i.e. comparison of the motor speed with a speed reference
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
본 발명은 모터 속도 제어장치에 관한 것으로서, 매 네트워크 전송 주기 마다 펄스 이동량을 계산하는 속도 프로파일을 생성하여 모터를 정밀하게 운전시킬 수 있도록 한 것이다, 이를 위하여 본 발명은 모터의 속도를 제어하는 명령 데이터를 생성하는 명령 데이터 생성수단과; 상기 명령 데이터 생성수단에서 발생하는 명령데이터를 분석하고, 그 분석결과에 근거한 속도 프로파일 데이터를 네트워크 전송주기마다 발생하는 속도 프로파일 생성수단을 포함하여 구성하고, 상기 속도 프로파일 생성수단은, 상기 명령 데이터 생성수단에서 생성된 명령 데이터에서 파라미터를 추출하는 파라미터 추출수단과; 상기 파라미터 추출수단의 파라미터(속도,위치,가속시간,감속시간)를 이용하여, 가속/감속/등속 구간 수를 연산하는 구간 수 연산수단과; 상기 구간 수 연산수단에 의해 연산되는 등속 구간 수 및 감속 구간 수를 이용하여, 감속구간의 위치 보상치를 연산하는 위치 보상치 연산수단과; 상기 구간 수 연산수단의 가속/감속/등속 구간 수와 상기 위치 보상치 연산수단의 위치 보상치를 이용하여 각 구간별 이동량을 연산하는 이동량 연산수단을 포함하여 구성한다.The present invention relates to a motor speed control device, and to generate a speed profile that calculates a pulse movement amount at every network transmission cycle so that the motor can be operated precisely. For this purpose, the present invention provides command data for controlling the speed of the motor. Command data generating means for generating a; Analyzing the command data generated by the command data generating means, and including the speed profile generating means for generating the speed profile data based on the analysis result for each network transmission period, wherein the speed profile generating means generates the command data. Parameter extracting means for extracting a parameter from command data generated by the means; Section number calculation means for calculating the number of acceleration / deceleration / constant speed sections using parameters (speed, position, acceleration time, deceleration time) of the parameter extraction means; Position compensation value calculating means for calculating a position compensation value of the deceleration section by using the constant speed section number and the deceleration section number calculated by the section number calculating section; And a movement amount calculating means for calculating the movement amount for each section by using the number of acceleration / deceleration / constant speed sections of the section number calculating means and the position compensation value of the position compensation value calculating means.
Description
도 1은 종래 네트워크를 이용한 모터 제어 장치의 구성을 보인 개략도.1 is a schematic view showing the configuration of a motor control apparatus using a conventional network.
도 2는 종래 소프트웨어적인 방법으로 모터를 제어하는 방법이 적용된 파형도.2 is a waveform diagram to which a method of controlling a motor by a conventional software method is applied.
도 3은 본 발명 모터 속도 제어장치에 대한 실시 예의 구성을 보인 블록도.Figure 3 is a block diagram showing the configuration of an embodiment of the present invention motor speed control apparatus.
도 4는 본 발명 모터 속도 제어방법에 대한 실시 예의 구성을 보인 동작 흐름도.4 is an operation flowchart showing the configuration of an embodiment of the present invention motor speed control method.
도 5는 도 3에 있어서, 등속구간수의 소수점 첫째 자리가 0.5 미만인 경우에 대한 감속구간에서의 위치 보상을 보인 파형도.FIG. 5 is a waveform diagram showing position compensation in a deceleration section when the first decimal place of the constant velocity section number is less than 0.5 in FIG. 3; FIG.
도 6은 도 3에 있어서, 등속 구간수의 소수점 첫째 자리가 0.5 이상인 경우에 대한 감속구간에서의 위치 보상을 보인 파형도.6 is a waveform diagram showing position compensation in a deceleration section in the case where the first decimal place of the constant velocity section number is 0.5 or more in FIG. 3;
***도면의 주요부분에 대한 부호의 설명****** Explanation of symbols for main parts of drawing ***
100:명령 데이터 발생수단 200:속도 프로파일 생성수단100: command data generating means 200: velocity profile generating means
210:파라미터 추출수단 220:구간 수 연산수단210: parameter extraction means 220: section number calculation means
230:위치 보상치 연산수단 240:이동량 연산수단230: position compensation value calculation means 240: movement amount calculation means
241:감속구간 이동량 연산수단 242:가속구간 이동량 연산수단241: deceleration section movement amount calculation means 242: acceleration section movement amount calculation means
243:등속구간 이동량 연산수단243: calculating means for moving the constant speed section
본 발명은 네트워크를 이용하여 모터를 제어하는 모터 속도 제어장치에 관한 것으로서, 특히 매 네트워크 전송 주기 마다 펄스 이동량을 계산하는 속도 프로파일을 생성함으로써 모터를 정밀하게 운전시킬 수 있도록 한 장치 및 방법에 관한 것이다.The present invention relates to a motor speed control apparatus for controlling a motor using a network, and more particularly, to an apparatus and a method for precisely driving a motor by generating a speed profile for calculating a pulse movement amount at every network transmission cycle. .
일반적으로, 모터 속도 제어장치는 모터 드라이버에 직접 펄스를 출력하는 방식이다. 이러한 방법은 제어기당 연결할 수 있는 모터의 수에 한계가 있고, 또한 직접 펄스 출력 방식이어서 많은 배선을 필요로 하는 문제가 있다. In general, the motor speed controller outputs pulses directly to the motor driver. This method has a limitation in the number of motors that can be connected to each controller, and also requires a lot of wiring because it is a direct pulse output method.
근래에는 상기 문제를 해결하기 위하여, 네트워크를 이용한 모터 제어가 일반화 되어 가고 있는데, 제어기와 각각의 모터 드라이버 사이를 네트워크를 사용하여 연결함으로써 배선을 간소화시킬 수 있고, 네트워크의 속도 대역이 허용하는 한 다수의 모터 제어도 가능하다.In recent years, in order to solve the above problems, motor control using a network has become common. By connecting a network between a controller and each motor driver using a network, wiring can be simplified, and as many as the speed band of the network allows. Motor control is also possible.
도 1은 종래 네트워크를 이용한 모터 제어 장치의 구성을 보인 개략도이다.1 is a schematic view showing the configuration of a motor control apparatus using a conventional network.
도 1에 도시된 바와 같이, 속도 프로파일을 생성하는 전용 ASIC을 사용하여 직접 모터드라이버에 펄스열을 출력하는 방식으로, 매 네트워크 통신 시간마다 각각의 모터 드라이버에 목표 위치를 전송하는 것이다.As shown in FIG. 1, a pulse train is directly output to a motor driver using a dedicated ASIC for generating a speed profile, thereby transmitting a target position to each motor driver every network communication time.
즉, CPU(미도시)에서 속도 프로파일을 생성하는 전용 ASIC에 속도, 위치, 가속시간, 감속시간을 전송하면, 상기 전용 ASIC에서 정해진 샘플링 타임에 이동해야 할 위치를 계산하여 각각의 드라이버에 펄스를 출력한다.That is, when the CPU (not shown) transmits the speed, position, acceleration time, and deceleration time to the dedicated ASIC generating the speed profile, the dedicated ASIC calculates a position to be moved at a predetermined sampling time and pulses each driver. Output
도 2는 소프트웨어적인 방법으로 속도 프로파일을 생성하는 모습을 보인 파형도로서, 속도, 위치, 가속시간, 감속시간을 사용하여 가속 구간 수와 감속 구간수를 계산한 다음, 상기 가속 구간 수와 감속 구간 수를 사용하여 등속 구간을 계산하게 되는데, 그 값은 정수가 아닌 실수 값이 될 수도 있다. FIG. 2 is a waveform diagram illustrating a speed profile generated by a software method. After calculating the number of acceleration sections and the number of deceleration sections using a speed, a position, an acceleration time, and a deceleration time, the number of acceleration sections and a deceleration section is shown. We use the number to calculate the constant velocity interval, which can be a real number rather than an integer.
이 때, 상기 등속 구간 수를 올림하여 정수로 만들면 지령 위치값과 속도파형으로 계산된 위치값 사이에 오차가 발생하게 되는데, 지정한 속도값을 낮추어 그 값을 보상하는 방법이다.At this time, when the number of constant velocity sections is rounded up to an integer, an error occurs between the command position value and the position value calculated by the velocity waveform, and the value is compensated by lowering the designated velocity value.
상술한 종래 기술은, 전용 ASIC을 사용하므로 제품 출시 후 기능상의 업그레이드가 불가능하고, 아울러 제어하고자 하는 축수를 늘리고자 할 때 ASIC당 제어할 수 있는 축수의 제한이 있어서 추가적인 비용이 발생하게 된다.Since the above-described conventional technology uses a dedicated ASIC, it is impossible to upgrade a function after the product is released, and there is a limit on the number of axes that can be controlled per ASIC when the number of axes to be controlled is increased.
또한, 소프트웨어적으로 속도 프로파일을 생성하는 방법은, 가속 구간의 이동량과 감속구간의 이동량을 항상 같게 만들 수 있지만, 등속구간에서 발생하는 오차를 보상하기 위하여 등속구간의 속도를 변경해야 하므로 사용자가 지정한 속도로 정확하게 운전할 수 없는 문제가 있다.In addition, the method of generating the speed profile by software can always make the movement amount of the acceleration section and the deceleration section the same, but it is necessary to change the speed of the constant velocity section to compensate for the error occurring in the constant velocity section. There is a problem that you cannot drive accurately at speed.
따라서, 본 발명은 네트워크를 이용하여 모터를 제어하는 모터 속도 제어장치에 관한 것으로서, 매 네트워크 전송 주기 마다 펄스 이동량을 계산하는 속도 프로파일을 생성하여 모터를 정밀하게 운전시킬 수 있도록 한 장치 및 방법을 제공함에 그 목적이 있다.Accordingly, the present invention relates to a motor speed control apparatus for controlling a motor using a network, and provides an apparatus and method for generating a speed profile for calculating a pulse movement amount at every network transmission cycle to precisely operate a motor. Has its purpose.
상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 장치는, Apparatus according to an embodiment of the present invention for achieving the above object,
모터의 속도를 제어하는 명령 데이터를 생성하는 명령 데이터 생성수단과;Command data generating means for generating command data for controlling the speed of the motor;
상기 명령 데이터 생성수단에서 발생하는 명령데이터를 분석하고, Analyze the command data generated by the command data generating means,
그 분석결과에 근거한 속도 프로파일 데이터를 네트워크 전송주기마다 발생하는 속도 프로파일 생성수단을 포함하여 구성하고,
상기 속도 프로파일 생성수단은,
상기 명령 데이터 생성수단에서 생성된 명령 데이터에서 파라미터를 추출하는 파라미터 추출수단과;
상기 파라미터 추출수단의 파라미터(속도,위치,가속시간,감속시간)를 이용하여, 가속/감속/등속 구간 수를 연산하는 구간 수 연산수단과;
상기 구간 수 연산수단에 의해 연산되는 등속 구간 수 및 감속 구간 수를 이용하여, 감속구간의 위치 보상치를 연산하는 위치 보상치 연산수단과;
상기 구간 수 연산수단의 가속/감속/등속 구간 수와 상기 위치 보상치 연산수단의 위치 보상치를 이용하여 각 구간별 이동량을 연산하는 이동량 연산수단을 포함하여 구성한 것을 특징으로 한다.The speed profile data based on the analysis result is configured to include a speed profile generating means generated every network transmission cycle,
The velocity profile generating means,
Parameter extracting means for extracting a parameter from the command data generated by said command data generating means;
Section number calculation means for calculating the number of acceleration / deceleration / constant speed sections using parameters (speed, position, acceleration time, deceleration time) of the parameter extraction means;
Position compensation value calculating means for calculating a position compensation value of the deceleration section by using the constant speed section number and the deceleration section number calculated by the section number calculating section;
And a movement amount calculating means for calculating the movement amount for each section using the number of acceleration / deceleration / constant speed sections of the section number calculating means and the position compensation value of the position compensation value calculating means.
상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 방법은,Method according to an embodiment of the present invention for achieving the above object,
모터 제어를 위한 명령 데이터를 발생하는 과정과;Generating command data for motor control;
상기 명령 데이터에서 파라미터(속도,위치,가속시간,감속시간)를 추출하는 과정과;Extracting parameters (speed, position, acceleration time, deceleration time) from the command data;
상기 추출된 파라미터를 이용하여 등속 구간 수,가속 구간 수,감속 구간 수 및 위치 보상치를 연산하는 과정과;Calculating a constant speed section number, an acceleration section number, a deceleration section number, and a position compensation value using the extracted parameters;
상기 가속 구간 수,감속 구간 수,등속 구간 수 및 상기 위치 보상치를 이용하여 각 구간별 이동량을 연산하는 과정을 수행함을 특징으로 한다.And calculating a movement amount for each section by using the number of acceleration sections, the number of deceleration sections, the number of constant speed sections, and the position compensation value.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작 및 작용을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that in the following description, only parts necessary for understanding the operation and operation according to the present invention will be described, and descriptions of other parts will be omitted so as not to distract from the gist of the present invention.
본 발명의 일실시 예에서는, 네트워크를 이용하여 서보 모터의 위치 결정 및 보간 동작을 실행하는 모터 속도 제어장치를 예를 들어 설명하며, 상기 위치 결정 및 보간동작을 위한 속도 프로파일 데이터는, 매 네트워크 주기마다,가속구간,감속구간,등속구간별로 펄스 이동량으로 생성된다. In an embodiment of the present invention, a motor speed control apparatus for performing positioning and interpolation operations of a servo motor using a network is described as an example, and the speed profile data for the positioning and interpolation operations is described in every network period. Each time, it is generated as pulse movement amount by acceleration section, deceleration section and constant speed section.
도 3은 본 발명의 실시 예에 따른 모터 속도 제어장치에 대한 구성을 보인 블록도이다.3 is a block diagram showing a configuration of a motor speed control apparatus according to an embodiment of the present invention.
도 3에 도시한 바와 같이, 본 발명은 명령 데이터 발생수단(100), 속도 프로파일 생성수단(200)을 구비한다.As shown in FIG. 3, the present invention includes command data generating means 100 and speed profile generating means 200.
상기 명령 데이터 발생수단(100)은, 모터의 속도를 제어하는 명령 데이터를 생성한다.The command data generating means 100 generates command data for controlling the speed of the motor.
상기 속도 프로파일 생성수단(200)은 상기 명령 데이터 생성수단에서 발생하는 명령데이터를 분석하고, 그 분석결과에 근거한 속도 프로파일 데이터를 네트워크 전송주기마다 발생한다.The speed profile generating means 200 analyzes the command data generated by the command data generating means and generates speed profile data for each network transmission period based on the analysis result.
상기 속도 프로파일 데이터는, 모터의 등속구간, 가속구간, 감속 구간별 모터이동량을 나타낸다.The speed profile data indicates the amount of motor movement for each constant speed section, acceleration section, and deceleration section of the motor.
상기 속도 프로파일 생성수단은, 파라미터 추출수단(210), 구간 수 연산수단(220), 위치 보상치 연산수단(230), 이동량 연산수단(240)을 구비한다.The velocity profile generating means includes a parameter extracting means 210, a section number calculating means 220, a position compensation value calculating means 230, and a movement amount calculating means 240.
상기 파라미터 추출수단(210)은 상기 명령데이터에서 파라미터를 추출하는데, 즉 상기 명령 데이터에서 모터의 속도, 위치,가속 시간,감속 시간에 관련된 데이터를 추출한다.The parameter extracting means 210 extracts a parameter from the command data, that is, extracts data related to the speed, position, acceleration time, and deceleration time of the motor from the command data.
상기 구간 수 연산수단(220)은 상기 파라미터 추출수단(210)의 파라미터(속도,위치,가속시간,감속시간)를 이용하여, 가속/감속/등속 구간 수를 연산한다.The section number calculating means 220 calculates the number of acceleration / deceleration / constant speed sections using the parameters (speed, position, acceleration time, deceleration time) of the parameter extraction means 210.
상기 가속 구간 수는 가속 시간을 네트워크 전송주기로 나누어 구하고, 상기 감속 구간 수는, 감속 시간을 네트워크 전송주기로 나누어 구한다.The number of acceleration sections is obtained by dividing the acceleration time by a network transmission period, and the number of deceleration sections is obtained by dividing the deceleration time by a network transmission period.
또한, 상기 등속 구간 수는, 전체 이동량에서 가속 구간과 감속구간에서의 이동량을 뺀 등속 구간의 이동량을 가지고 등속구간을 구하여 계산하는데, 하기의 수학식으로 연산한다.In addition, the constant velocity section number is calculated by calculating the constant velocity section with the movement amount of the constant velocity section minus the movement amount in the acceleration section and the deceleration section from the total movement amount.
[수학식][Equation]
Nu = (S/VelTs) - 0.5 x (1+Na) - 0.5 x (1+Nd)Nu = (S / VelTs)-0.5 x (1 + Na)-0.5 x (1 + Nd)
여기서, Nu:등속 구간 수, S:전체 이동량, Na:가속 구간 수,Nd:감속 구간 수Where Nu is the number of constant speed sections, S is the total amount of movement, Na is the number of acceleration sections, and Nd is the number of deceleration sections.
VelTs:네트워크 전송주기당 이동량 VelTs: Movement amount per network transmission cycle
상기 위치 보상치 연산수단(230)은, 상기 구간 수 연산수단(220)에 의해 연산되는 등속 구간 수 및 감속 구간 수를 이용하여, 감속구간의 위치 보상치를 연산한다.The position compensation value calculating means 230 calculates the position compensation value of the deceleration section by using the constant speed section number and the deceleration section number calculated by the section
상기 위치 보상치 연산수단(230)은 상기 등속 구간 수를 분석하여 그 등속 구간 수가 정수형으로 계산되지 않는 경우에, 상기 등속 구간수의 소수 첫 번째 자리를 반올림 처리하고, 그 반올림 처리된 오차를 감속 구간에서 보상하기 위한 위치 보상치를 연산하는데, 즉 상기 위치 보상치는 등속 구간수의 소수점 첫째 자리를 감속 구간 수로 나누고, 그 나눈 값을 위치 보상치로 연산한다.The position compensation value calculating means 230 analyzes the number of constant speed sections and rounds off the first decimal place of the number of constant speed sections when the number of constant speed sections is not calculated as an integer, and decelerates the rounded error. The position compensation value for compensating in the section is calculated, that is, the first position of the decimal point of the constant speed section number is divided by the number of deceleration sections, and the divided value is calculated as the position compensation value.
상기 이동량 연산수단(240)은, 상기 구간 수 연산수단(220)의 가속/감속/등속 구간 수와 상기 위치 보상치 연산수단(230)의 위치 보상치를 이용하여 각 구간별 이동량을 연산한다.The movement amount calculating means 240 calculates the movement amount for each section by using the number of acceleration / deceleration / constant speed sections of the section
상기 이동량 연산수단(240)은, 감속구간 이동량 연산수단(241),가속 구간 이동량 연산수단(242),등속구간 이동량 연산수단(243)을 구비한다.The movement amount calculation means 240 includes a deceleration section movement amount calculation means 241, an acceleration section movement amount calculation means 242, and a constant speed section movement amount calculation means 243.
상기 등속구간 이동량 연산수단(243)은 상기 명령데이터에서 추출된 속도에 네트워크 전송주기 및 등속 구간 수를 승산하고 그 승산 값을 등속구간 이동량으로 출력한다.The constant speed section moving amount calculating means 243 multiplies the speed extracted from the command data by the network transmission period and the number of constant speed sections and outputs the multiplication value as the constant speed section moving amount.
상기 가속 구간 이동량 연산수단(242)은 상기 구간 수 연산수단(220)에서 연산된 가속 구간 수와 등속구간에서의 네트워크 전송주기당 이동량을 이용하여 가속구간 이동량을 연산한다.The acceleration section movement
상기 감속구간 이동량 연산수단(241)은 상기 구간 수 연산수단(220)에서 연산된 감속 구간 수와 등속구간에서의 네트워크 전송주기당 이동량 및 위치 보상치를 이용하여 감속구간 이동량을 연산한다.The deceleration section movement amount calculating means 241 calculates the deceleration period movement amount by using the deceleration period number calculated by the section number calculation means 220 and the movement amount per network transmission period and the position compensation value in the constant velocity section.
이와 같은 본 발명의 동작을 첨부한 도 4 내지 도7을 참조하여 설명한다.Such operation of the present invention will be described with reference to FIGS. 4 to 7.
먼저, 명령 데이터 발생수단(100)은, 모터의 속도를 제어하기 위한 명령 데이터를 발생한다(SP1).First, the command data generating means 100 generates command data for controlling the speed of the motor (SP1).
이에 따라, 속도 프로파일 생성수단(200)은 상기 명령 데이터 발생수단(100)에서 발생하는 명령데이터를 분석하고, 그 분석결과에 근거한 속도 프로파일 데이터를 네트워크 전송주기마다 발생한다(SP11~SP14).Accordingly, the speed profile generating means 200 analyzes the command data generated by the command data generating means 100 and generates speed profile data based on the analysis result for each network transmission period (SP11 to SP14).
즉, 상기 속도 프로파일 생성수단(200)의 파라미터 추출수단(210)은 상기 명령데이터에서 파라미터를 추출하는데, 즉 상기 명령 데이터에서 모터의 속도, 위치,가속 시간,감속 시간에 관련된 데이터를 추출한다(SP11).That is, the parameter extracting means 210 of the speed profile generating means 200 extracts a parameter from the command data, that is, extracts data related to the speed, position, acceleration time and deceleration time of the motor from the command data ( SP11).
그 다음, 구간 수 연산수단(220)은 상기 파라미터 추출수단(210)의 파라미터(속도,위치,가속시간,감속시간)를 이용하여, 가속/감속/등속 구간 수를 연산한다(SP12).Then, the section number calculating means 220 calculates the number of acceleration / deceleration / constant speed sections using the parameters (speed, position, acceleration time, deceleration time) of the parameter extraction means 210 (SP12).
즉, 상기 구간 수 연산수단(220)은 가속 시간을 네트워크 전송주기로 나누어 가속 구간 수를 구하고, 감속 시간을 네트워크 전송주기로 나누어 감속 구간 수를 구한다.That is, the section number calculating means 220 obtains the number of acceleration sections by dividing the acceleration time by the network transmission period, and obtains the number of deceleration sections by dividing the deceleration time by the network transmission period.
또한, 상기 등속 구간 수는, 전체 이동량에서 가속 구간과 감속구간에서의 이동량을 뺀 등속 구간의 이동량을 가지고 등속구간을 구하여 계산한다.The constant velocity section number is calculated by calculating the constant velocity section with the movement amount of the constant velocity section minus the movement amount in the acceleration section and the deceleration section from the total movement amount.
그 다음, 상기 위치 보상치 연산수단(230)은 상기 등속 구간 수를 분석하여 그 등속 구간 수가 정수형으로 계산되지 않는 경우에, 상기 등속 구간수의 소수 첫 번째 자리를 반올림 처리하고, 그 반올림 처리된 오차를 감속 구간에서 보상하기 위한 위치 보상치를 연산하는데, 즉 상기 위치 보상치는 등속 구간수의 소수점 첫째 자리를 감속 구간 수로 나누고, 그 나눈 값을 위치 보상치로 연산한다(SP13).Then, the position compensation value calculating means 230 analyzes the number of constant speed sections and rounds off the first decimal place of the number of constant speed sections when the number of constant speed sections is not calculated as an integer. The position compensation value for compensating the error in the deceleration section is calculated, that is, the position compensation value is divided by the number of deceleration sections of the first decimal place of the constant speed section number, and the divided value is calculated as the position compensation value (SP13).
그 다음, 상기 이동량 연산수단(240)은, 상기 구간 수 연산수단(220)의 가속/감속/등속 구간 수와 상기 위치 보상치 연산수단(230)의 위치 보상치를 이용하여 각 구간별 이동량을 연산한다(SP14).Next, the movement amount calculating means 240 calculates the movement amount for each section using the number of acceleration / deceleration / constant speed sections of the section
여기서, 상기 구간별 이동량 연산을 상세히 설명한다.Here, the movement amount calculation for each section will be described in detail.
우선, 상기 등속구간 이동량 연산수단(243)은 상기 명령데이터에서 추출된 속도에 네트워크 전송주기 및 등속 구간 수를 승산하고 그 승산 값을 등속구간 이동량으로 연산하여 출력한다.First, the constant velocity section moving amount calculating means 243 multiplies the speed extracted from the command data by the network transmission period and the constant velocity section number, and calculates and outputs the multiplication value as the constant velocity section moving amount.
또한, 상기 가속 구간 이동량 연산수단(242)은 상기 구간 수 연산수단(220)에서 연산된 가속 구간 수와 등속구간에서의 네트워크 전송주기당 이동량으로 가속구간 이동량을 연산하여 출력하는데, 즉 네트워크 전송주기당 이동량(네트워크 전송주기에 등속구간에서의 속도를 가산한 값)에 가속비(현재 가속 구간번호/가속 구간수)를 승산하여 가속구간 이동량을 연산하여 출력한다.In addition, the acceleration section movement amount calculating means 242 calculates and outputs the acceleration period movement amount by the acceleration period number calculated by the section number calculating means 220 and the movement amount per network transmission period in the constant speed section, that is, the network transmission period. The acceleration period (current acceleration section number / acceleration section number) is multiplied by the movement amount (the value obtained by adding the speed in the constant speed section to the network transmission cycle) to calculate and output the movement amount of the acceleration section.
또한, 상기 감속구간 이동량 연산수단(241)은 상기 구간 수 연산수단(220)에서 연산된 감속 구간 수와 등속구간에서의 네트워크 전송주기당 이동량 및 위치 보상치로 감속구간 이동량을 연산하여 출력한다.In addition, the deceleration section movement
즉, 상기 감속 구간 이동량 연산수단(241)은 네트워크 전송주기당 이동량(네트워크 전송주기에 등속구간에서의 속도를 가산한 값)에 감속비(현재 감속 구간번호/감속 구간수)를 승산하여 감속구간 이동량을 연산한 다음, 상기 등속 구간 수를 분석하고, 그 분석 결과 도 5와 같이,상기 등속구간수의 소수점 첫째 자리가 0.5 미만이면, 상기 감속 구간 이동량에 상기 위치 보상치를 가산하고, 도 6과 같이 상기 등속 구간수의 소수점 첫째 자리가 0.5 이상이면, 상기 감속 구간 이동량에 상기 위치 보상치를 감산하여 출력한다.That is, the deceleration section movement amount calculating means 241 multiplies the deceleration ratio (current deceleration section number / deceleration section number) by the movement amount per network transmission period (the value obtained by adding the speed in the constant speed section to the network transmission cycle). After calculating the, the number of constant velocity sections is analyzed, and as a result of the analysis, when the first decimal place of the constant speed section number is less than 0.5, the position compensation value is added to the movement amount of the deceleration section, as shown in FIG. 6. If the first decimal place of the constant speed section number is 0.5 or more, the position compensation value is subtracted from the deceleration section movement amount and output.
이때, 상기 감속 구간 이동량 연산수단(241)은 이때 감속구간의 첫 번째부터 상기 위치 보상치를 더하게 되면 등속 구간일 때의 이동량보다 그 값이 크게 되어 부드러운 감속이 되지 않으므로, 감속구간의 두 번째부터 보상 값을 더하게 된다At this time, the deceleration section movement amount calculating means 241 at this time, if the position compensation value is added from the first of the deceleration section, the value is larger than the movement amount at the constant speed section, so that the smooth deceleration is not performed. Will add up the compensation value.
즉, 발명은 매 네트워크 전송 주기 마다 펄스 이동량, 즉 감속 구간 이동량, 등속 구간 이동량, 가속 구간 이동량을 속도 프로파일 정보로 매 네트워크 전송주 기마다 전송함으로써, 모터를 정밀하게 운전시킬 수 있도록 한 것이다.That is, the present invention transmits the pulse movement amount in every network transmission period, that is, the deceleration section movement amount, the constant velocity section movement amount, and the acceleration section movement amount as the speed profile information for each network transmission period, so that the motor can be operated precisely.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by the equivalents of the claims.
상술한 바와 같이 본 발명은 네트워크를 통해 모터속도를 제어함에 있어서,가속 시간과 감속 시간 속도를 계산한 후 등속구간의 수를 조정함으로써 주어진 가속 시간, 감속시간, 속도로 모터를 정밀하게 운전할 수 있는 효과가 있다.As described above, the present invention controls the motor speed through a network, and after calculating the acceleration time and deceleration time speed, the motor can be precisely operated at a given acceleration time, deceleration time, and speed by adjusting the number of constant speed sections. It works.
또한, 모터 속도를 제어함에 있어서, 등속 구간 수가 정수형으로 계산되지 않을 때 소수점 부분을 반올림하는 방법을 사용하여 감속 구간에서의 위치 보상량 이 항상 최소가 되는 효과가 있다.In addition, in controlling the motor speed, the position compensation amount in the deceleration section is always minimized by using a method of rounding the decimal point when the number of constant velocity sections is not calculated as an integer.
또한, 등속구간의 소수점 첫째 자리가 0.5 미만이었을 때 위치 보상치를 각 감속구간에 가산하는데, 이때 첫 번째 구간에서부터 위치 보상치를 더해주면 등속구간일 때의 이동량보다 그 값이 크게 되어 부드러운 감속이 되지 않으므로, 감속구간의 두 번째부터 위치 보상치를 가산함으로써, 감속시 속도 변동을 최소화하는 효과가 있다.In addition, when the first decimal place of the constant speed section is less than 0.5, the position compensation value is added to each deceleration section. At this time, if the position compensation value is added from the first section, the value becomes larger than the movement amount at the constant speed section, so it does not become smooth deceleration. In addition, by adding the position compensation value from the second deceleration section, there is an effect of minimizing the speed variation during deceleration.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050117233A KR100732509B1 (en) | 2005-12-02 | 2005-12-02 | Motor velocity control apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050117233A KR100732509B1 (en) | 2005-12-02 | 2005-12-02 | Motor velocity control apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070057592A KR20070057592A (en) | 2007-06-07 |
KR100732509B1 true KR100732509B1 (en) | 2007-06-27 |
Family
ID=38354905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050117233A KR100732509B1 (en) | 2005-12-02 | 2005-12-02 | Motor velocity control apparatus and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100732509B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102662596B1 (en) * | 2019-12-17 | 2024-04-30 | 엘에스일렉트릭(주) | Winding machine controller using motion controller and network drive |
KR102491234B1 (en) * | 2020-11-30 | 2023-01-26 | 한국생산기술연구원 | An apparatus and method for generating sinusoidal motion profile |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784451A (en) * | 1993-09-14 | 1995-03-31 | Canon Inc | Image forming device |
-
2005
- 2005-12-02 KR KR1020050117233A patent/KR100732509B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784451A (en) * | 1993-09-14 | 1995-03-31 | Canon Inc | Image forming device |
Also Published As
Publication number | Publication date |
---|---|
KR20070057592A (en) | 2007-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7031809B2 (en) | Application-based control of valve discs | |
Jönsson et al. | A virtual machine concept for real-time simulation of machine tool dynamics | |
CN100422980C (en) | Hardware based configurable motion control apparatus and method | |
CN102809945B (en) | Movement planning method for numerical control processing, movement planner and application thereof | |
CN102904521A (en) | Electric motor controller comprising function for simultaneously estimating inertia, friction, and spring | |
CN101598944B (en) | Hardware-in-the-loop simulator and hardware-in-the-loop simulating method | |
JP4973665B2 (en) | Electric motor control device, output filter adjustment method, and output filter adjustment device | |
US20130030558A1 (en) | Numerical controller of machine tool having sound converting unit | |
JP6916020B2 (en) | Vehicle driving simulator and program | |
KR100732509B1 (en) | Motor velocity control apparatus and method | |
US20090315502A1 (en) | Acceleration and deceleration control apparatus and method thereof | |
KR910018875A (en) | Servo controller | |
JP2005316937A (en) | Control device and its control method | |
CN110077028B (en) | Full-closed-loop nonlinear predictive control method and system for servo press | |
JP2001117627A (en) | Method for identifying hydraulic pressure system parameter | |
CN108472808B (en) | Synchronization of multiple robots | |
KR100933969B1 (en) | Motion control device and method | |
CN103907070A (en) | Servo control device | |
CN109213002B (en) | Nonlinear dynamic inverse control variable amplitude speed regulation system simulation model and method | |
JP7024742B2 (en) | Controls, model creation methods and control programs | |
KR20100015121A (en) | A test apparatus for testing a performance of controller | |
CN113492414A (en) | Web-based robot cross-platform man-machine interaction system and implementation method | |
KR20110132640A (en) | Input shaper for non-linear actuators and input shaping method thereof | |
KR100838974B1 (en) | Method for velocity control of continuous motion in positioning controller using network | |
KR100970539B1 (en) | Optimal instruction creation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120327 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130222 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160401 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170403 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180502 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190603 Year of fee payment: 13 |