KR100989956B1 - Motor controller with Auto Gain Tuning function and control method thereof - Google Patents
Motor controller with Auto Gain Tuning function and control method thereof Download PDFInfo
- Publication number
- KR100989956B1 KR100989956B1 KR1020080062384A KR20080062384A KR100989956B1 KR 100989956 B1 KR100989956 B1 KR 100989956B1 KR 1020080062384 A KR1020080062384 A KR 1020080062384A KR 20080062384 A KR20080062384 A KR 20080062384A KR 100989956 B1 KR100989956 B1 KR 100989956B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- gain
- mode
- gain value
- motor
- 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
- 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/0004—Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
- H02P23/0022—Model reference adaptation, e.g. MRAS or MRAC, useful for control or parameter estimation
-
- 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/0077—Characterised by the use of a particular software algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
본 발명은 자동이득 보상 기능을 갖는 모터 제어기 및 그의 제어방법에 관한 것으로서 외부로부터 입력되는 모드 선택신호에 따라 이득조절부가 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드로 동작한다. 이득조절부는 수동모드일 경우에 사용자가 입력하는 이득 값에 따라 모터를 구동시키고, 시스템 모델링 모드일 경우에 시스템을 모델링한 수학식으로 전달함수를 구하고, 그 전달함수에 따라 이득 값을 조절하여 모터를 구동시키며, 평균 에러 값 모드일 경우에 모터를 구동시키면서 발생되는 에러 값의 평균을 계산하고, 계산한 에러 값의 평균으로 이득 값을 조절하여 모터를 구동시키며, 부하량 검출모드일 경우에는 부하량에 따른 에러 값을 검출하고, 검출한 부하량에 따른 에러 값으로 이득 값을 조절하여 모터를 구동시킨다.The present invention relates to a motor controller having an automatic gain compensation function and a control method thereof, and the gain adjusting unit operates in a manual mode, a system modeling mode, an average error value mode, or a load detection mode according to a mode selection signal input from the outside. The gain control unit drives the motor according to the gain value input by the user in the manual mode, and obtains the transfer function using a mathematical modeling system in the system modeling mode, and adjusts the gain value according to the transfer function. In the average error value mode, the motor calculates the average of the error values generated while driving the motor, adjusts the gain value to the average of the calculated error values, and drives the motor in the load detection mode. The error value is detected and the gain is adjusted to the error value according to the detected load to drive the motor.
모터, 이득 값, 튜닝, 시스템 모델링, 평균 에러 값, 부하량 검출, 부하량 Motor, gain value, tuning, system modeling, average error value, load detection, load
Description
본 발명은 자동이득 보상기능을 갖는 모터 제어기 및 그의 제어방법에 관한 것이다. 보다 상세하게는 수동 모드, 시스템 모델링 모드, 평균 에러 값 모드 및 부하량 검출모드를 두고, 사용자에 의해 선택되는 모드에 따라 이득 값을 조절하여 모터를 구동시키는 자동이득 보상기능을 갖는 모터 제어기 및 그의 제어방법에 관한 것이다.The present invention relates to a motor controller having an automatic gain compensation function and a control method thereof. More specifically, a motor controller having an automatic gain compensation function for driving a motor by adjusting a gain value according to a mode selected by a user, including a manual mode, a system modeling mode, an average error value mode, and a load detection mode, and a control thereof. It is about a method.
모터의 구동을 제어하는 명령 값과 모터의 회전값의 차이값인 에러 값을 계산하고, 계산한 에러 값의 이득을 조절하여 모터가 명령 값에 따라 구동되게 하고 있다.The error value, which is the difference between the command value controlling the driving of the motor and the rotation value of the motor, is calculated, and the gain of the calculated error value is adjusted so that the motor is driven according to the command value.
상기 에러 값의 이득을 조절하는 이득 값을 설정할 경우에 통상적으로 사용자가 임의로 설정하고 있다. 그리고 자동으로 이득 값을 찾을 경우에도 사용자가 최적의 근사 값을 설정하고, 그 설정한 근사 값을 기준으로 최적의 이득 값을 찾는다.When a gain value for adjusting the gain of the error value is set, the user usually sets it arbitrarily. And even when the gain value is automatically found, the user sets the optimum approximation value and finds the optimum gain value based on the set approximation value.
그러므로 모터 제어기의 이득 값 튜닝에 해박한 지식이 없는 사용자들은 이 득 값의 튜닝에 많은 어려움이 있었다.Therefore, users who do not have much knowledge in gain value tuning of motor controllers have had many difficulties in tuning gain values.
예를 들어 사용자가 처음 입력하는 이득 값을 잘못 입력하였을 경우에 자동으로 튜닝하는 이득 값이 엉뚱한 값으로 발산되어 심각한 오류를 발생할 수 있다.For example, if a user incorrectly enters a gain value input for the first time, a gain value that is automatically tuned may be diverged to an incorrect value, which may cause a serious error.
그리고 최적의 이득 값을 튜닝하기 위해서는 많은 시간이 소모되어야 하고, 사용자는 이득 값을 위치, 속도 및 전류에 따라 정확하게 입력해야 하며, 많은 실험을 통해 최적의 이득 값을 찾아야 한다.In order to tune the optimal gain value, much time is required, the user must input the gain value correctly according to the position, speed, and current, and many experiments have to find the optimum gain value.
그러므로 본 발명이 해결하고자 하는 과제는 모터를 구동시키기 위한 복수의 동작모드를 설정하여 두고, 그 복수의 동작모드들 중에서 사용자가 선택하는 하나의 동작모드로 이득 값을 튜닝하여 모터를 정밀하게 구동시키는 자동이득 보상기능을 갖는 모터 제어기 및 그의 제어방법을 제공한다.Therefore, a problem to be solved by the present invention is to set a plurality of operation modes for driving the motor, and to precisely drive the motor by tuning the gain value to one operation mode selected by the user among the plurality of operation modes. A motor controller having an automatic gain compensation function and a control method thereof are provided.
또한 본 발명은 소정의 동작모드로 모터의 구동을 제어할 경우에 모터의 구동을 제어한 이득 값을 갱신 저장하고, 다음에 해당 동작모드로 모터의 구동을 제어할 경우에 미리 저장된 이득 값을 이용하여 모터의 구동을 제어하는 자동이득 보상기능을 갖는 모터 제어기 및 그의 제어방법을 제공한다.In addition, the present invention updates and stores a gain value that controls the driving of the motor when controlling the driving of the motor in a predetermined operation mode, and uses the previously stored gain value when controlling the driving of the motor in the corresponding operation mode. By providing a motor controller having an automatic gain compensation function for controlling the driving of the motor and a control method thereof.
또한 본 발명은 소정의 동작모드로 모터의 구동을 제어할 경우에 에러 값을 검출하고, 검출한 에러 값에 따라 이득 값을 튜닝하여 모터를 정밀하게 구동시킬 수 있는 자동이득 보상기능을 갖는 모터 제어기 및 그의 제어방법을 제공한다.The present invention also provides a motor controller having an automatic gain compensation function capable of precisely driving the motor by detecting an error value and tuning a gain value according to the detected error value when controlling the driving of the motor in a predetermined operation mode. And a control method thereof.
본 발명의 자동이득 보상기능을 갖는 모터 제어기 및 그의 제어방법에 따르면, 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 및 부하량 검출모드를 설정하여 두고, 사용자가 입력하는 모드 선택신호에 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 및 부하량 검출모드들 중에서 하나의 동작모드를 선택하여 모터의 이득 값을 조절한다.According to a motor controller having an automatic gain compensation function and a control method thereof according to the present invention, a manual mode, a system modeling mode, an average error value mode, and a load detection mode are set, and a manual mode and a system are input to a mode selection signal input by a user. The gain value of the motor is adjusted by selecting one of the modeling mode, the average error value mode, and the load detection mode.
수동모드일 경우에 사용자로부터 이득 값을 입력받고, 그 입력받은 이득 값으로 에러 값의 이득을 조절하여 모터를 구동시킨다.In the manual mode, the user receives a gain value from the user and drives the motor by adjusting the gain of the error value with the received gain value.
시스템 모델링 모드일 경우에 모터제어기를 모델링하여 설정한 수학식을 이용하여 전달함수를 구하고, 그 전달함수에 따라 이득 값을 설정하여 모터를 구동시킨다.In the system modeling mode, the transfer function is obtained by using the equation set by modeling the motor controller, and the gain is set according to the transfer function to drive the motor.
평균 에러 값 모드일 경우에 모터를 구동시키면서 발생되는 에러 값의 평균을 계산하고, 계산한 에러 값의 평균에 따라 이득 값을 조절하여 모터를 구동시킨다.In the average error value mode, the average of error values generated while driving the motor is calculated, and the gain is adjusted according to the average of the calculated error values to drive the motor.
부하량 검출모드일 경우에 모터의 부하량과 에러 값을 검출하고, 모터의 부하량이 변경될 경우에 그 변경된 부하량에 따른 에러 값으로 이득 값을 조절하여 모터를 구동시킨다.In the load detection mode, the load and error values of the motor are detected, and when the load of the motor is changed, the gain is adjusted to the error value according to the changed load to drive the motor.
그리고 상기 시스템 모델링 모드, 평균 에러 값 모드 및 부하량 검출모드로 모터를 구동시킬 경우에 조절한 이득 값을 저장하여 두고, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드로 모터를 구동시키는 초기에 상기 저장한 이득 값으로 에러 값의 이득을 조절하여 모터를 구동시킨다.In addition, the gain value adjusted when the motor is driven in the system modeling mode, the average error value mode and the load detection mode is stored, and the initial value of driving the motor in the system modeling mode, the average error value mode or the load detection mode is stored. The motor is operated by adjusting the gain of the error value with the saved gain value.
그러므로 본 발명의 자동이득 보상 기능을 갖는 모터 제어기는, 회전동력을 발생하는 모터와, 상기 모터의 회전 값을 검출하는 엔코더와, 외부로부터 입력되는 명령 값에서 상기 회전값을 감산하는 감산기와, 상기 감산기의 출력신호의 이득을 이득 값에 따라 조절하여 상기 모터에 구동신호로 출력하는 구동신호 출력부와, 상기 모터의 부하량을 검출하는 부하량 검출부와, 외부로부터 입력되는 모드 선택신호에 따라 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드로 동작하여 해당되는 동작모드의 이득 값을 상기 구동신호 출력부로 출력하는 이득 조절부와, 상기 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 및 부하량 검출모드에 따라 외부로부터 입력되는 명령 값, 이득 값 및 부하량과, 상기 명령 값에서 상기 회전값을 감산한 에러 값으로 데이터베이스를 구축하고, 구축한 데이터베이스를 저장부에 저장하는 것을 제어하는 저장 제어부를 포함하여 구성됨을 특징으로 한다.Therefore, the motor controller having the automatic gain compensation function of the present invention includes a motor for generating rotational power, an encoder for detecting a rotation value of the motor, a subtractor for subtracting the rotation value from a command value input from the outside, and A drive signal output unit for adjusting the gain of the output signal of the subtractor according to the gain value and outputting it as a drive signal to the motor, a load detection unit for detecting the load of the motor, a manual mode according to a mode selection signal input from the outside, A gain control unit which operates in a system modeling mode, an average error value mode or a load detection mode and outputs a gain value of a corresponding operation mode to the driving signal output unit; and the manual mode, system modeling mode, average error value mode and load detection A command value, a gain value and a load amount input from the outside according to a mode, and the rotation value at the command value Build a database by subtracting the error value, and characterized by configured by a storage control unit for controlling to store the structured database in the storage unit.
그리고 본 발명의 자동이득 보상 기능을 갖는 모터 제어기의 제어방법은, 모드 선택신호에 따라 모터를 구동시킬 동작모드를 판단하는 단계와, 상기 판단한 동작모드에 따라 이득 값을 설정하고, 설정한 이득 값을 구동신호 출력부로 출력하여 상기 모터의 구동을 제어하는 단계를 포함하여 구성됨을 특징으로 한다.The control method of the motor controller having the automatic gain compensation function of the present invention includes determining an operation mode for driving the motor according to the mode selection signal, setting a gain value according to the determined operation mode, and setting the gain value. It characterized in that it comprises a step of controlling the driving of the motor by outputting to the drive signal output unit.
상기 동작모드가 시스템 모델링 모드일 경우에 시스템 모델링 모드에서 외부로부터 입력되는 명령 값에 대한 이득 값이 저장되어 있는지의 여부를 판단하는 단계와, 상기 판단 결과 이득 값이 저장되어 있지 않을 경우에 미리 설정한 시스템 방정식에서 전달함수를 계산하는 단계와, 상기 계산한 전달함수에 따라 이득 값을 설정하는 단계와, 상기 설정한 이득 값에 대하여 RLS(Recursive Least Square) 알고리즘으로 불확실성을 낮출 수 있는 최적의 이득 값을 계산하여 상기 구동신호 출력부로 출력하는 단계와, 상기 판단 결과 이득 값이 저장되어 있을 경우에 그 저장된 이득 값을 상기 구동신호 출력부로 출력하는 단계와, 상기 출력한 이득 값을 따라 발생되는 모터의 에러 값을 검출하고 검출한 에러값에 따라 상기 이득 값을 갱신하여 상기 구동신호 출력부로 출력하는 것을 반복 수행하는 단계를 포함하여 구성됨을 특징으로 한다.Determining whether a gain value for a command value input from the outside is stored in the system modeling mode when the operation mode is the system modeling mode, and preset when the gain value is not stored as a result of the determination Calculating a transfer function in a system equation, setting a gain value according to the calculated transfer function, and an optimal gain that can reduce uncertainty with the recursive least square (RLS) algorithm for the set gain value Calculating a value and outputting it to the drive signal output unit; outputting the stored gain value to the drive signal output unit if the gain value is stored as a result of the determination; and generating a motor according to the output gain value. Detects an error value and updates the gain value according to the detected error value to output the drive signal. Including the step of repeatedly performing the output to feature a configured.
상기 동작모드가 평균 에러 값 모드일 경우에 평균 에러 값 모드에서 외부로부터 입력되는 명령 값에 대한 이득 값이 저장되어 있는지의 여부를 판단하는 단계와, 상기 판단 결과 이득 값이 저장되어 있지 않을 경우에 임의의 이득 값을 설정하여 상기 구동신호 출력부로 출력하고, 에러값을 검출하여 저장하는 단계와, 상기 판단 결과 이득 값이 저장되어 있을 경우에 그 저장된 이득 값을 상기 구동신호 출력부로 출력하고, 에러값을 검출하여 저장하는 단계와, 상기 저장한 에러 값의 평균을 계산하고, 계산한 페러 값의 평균에 따라 이득 값을 설정하여 상기 구동신호 출력부로 출력하는 것을 반복하는 단계를 포함하여 구성됨을 특징으로 한다.Determining whether a gain value for a command value input from the outside is stored in the average error value mode when the operation mode is an average error value mode, and when the gain value is not stored as a result of the determination Setting an arbitrary gain value and outputting it to the drive signal output unit, detecting and storing an error value, and outputting the stored gain value to the drive signal output unit when the gain value is stored as a result of the determination and error Detecting and storing a value, calculating a mean of the stored error values, and repeating outputting the gain to the driving signal output unit by setting a gain value according to the average of the calculated ferro value. It is done.
상기 동작모드가 부하량 검출모드일 경우에 부하량 검출모드에서 외부로부터 입력되는 명령 값에 대한 이득 값이 저장되어 있는지의 여부를 판단하는 단계와, 상기 판단 결과 이득 값이 저장되어 있지 않을 경우에 상기 모터의 부하량을 검출하고, 검출한 부하량에 따라 이득 값을 설정하여 상기 구동신호 출력부로 출력하며, 에러 값을 검출하는 단계와, 상기 판단 결과 이득 값이 저장되어 있을 경우에 그 저장된 이득 값을 상기 구동신호 출력부로 출력하며, 부하량 및 에러 값을 검출하는 단계와, 상기 검출한 부하량에 따른 에러 값으로 상기 이득 값을 갱신하여 상기 구동신호 출력부로 출력하는 것을 반복하는 단계를 포함하여 구성됨을 특징으로 한다.Determining whether a gain value for a command value input from the outside is stored in the load detection mode when the operation mode is the load detection mode; and when the gain value is not stored as a result of the determination, the motor Detecting a load amount, setting a gain value according to the detected load amount, and outputting the gain value to the driving signal output unit, detecting an error value, and when the gain value is stored as a result of the determination, driving the stored gain value. Outputting to a signal output unit, detecting a load amount and an error value, and updating the gain value with an error value according to the detected load amount and repeating outputting the gain value to the drive signal output unit. .
본 발명은 모드 선택신호에 따라 이들 조절부가 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 및 부하량 검출모드들 중에서 어느 하나의 동작모드를 선택하고, 그 선택한 동작모드에 따라 이득 값을 조절하여 모터를 구동시키는 것으로서 사용자가 요구조건에 적당한 동작모드를 선택하여 모터를 구동시킬 수 있고, 또한 부하량의 변동이 심할 경우에는 부하량 검출모드를 선택하여 모터를 정밀하게 구동시킬 수 있다.According to the present invention, the control unit selects one of the operation modes among the manual mode, the system modeling mode, the average error value mode, and the load detection mode according to the mode selection signal, and adjusts the gain value according to the selected operation mode to control the motor. By driving, the user can select the operation mode suitable for the requirements to drive the motor, and when the load amount fluctuates, the load amount detection mode can be selected to precisely drive the motor.
이하의 상세한 설명은 예시에 지나지 않으며, 본 발명의 실시 예를 도시한 것에 불과하다. 또한 본 발명의 원리와 개념은 가장 유용하고, 쉽게 설명할 목적으로 제공된다.The following detailed description is only illustrative, and merely illustrates embodiments of the present invention. In addition, the principles and concepts of the present invention are provided for the purpose of explanation and most useful.
따라서, 본 발명의 기본 이해를 위한 필요 이상의 자세한 구조를 제공하고자 하지 않았음은 물론 통상의 지식을 가진 자가 본 발명의 실체에서 실시될 수 있는 여러 가지의 형태들을 도면을 통해 예시한다.Accordingly, various forms that can be implemented by those of ordinary skill in the art, as well as not intended to provide a detailed structure beyond the basic understanding of the present invention through the drawings.
도 1은 본 발명의 자동이득 보상기능을 갖는 모터 제어기의 구성을 보인 블록도이다. 여기서, 부호 100은 회전동력을 발생하는 모터이고, 부호 110은 상기 모 터(100)가 회전할 경우에 모터(100)의 회전속도 및 회전각도 등의 회전값을 검출하는 엔코더이다.Figure 1 is a block diagram showing the configuration of a motor controller having an automatic gain compensation function of the present invention. Here,
부호 120은 감산기이다. 상기 감산기(120)는 상기 모터(100)를 구동시키는 명령 값에서 상기 엔코더(110)가 검출한 회전 값을 감산하여 에러 값을 계산한다.
부호 130은 구동신호 출력부이다. 상기 구동신호 출력부(130)는 상기 감산기(120)의 출력신호의 이득을 이득 값에 따라 조절하여 상기 모터(100)에 구동신호를 출력한다.
부호 140은 부하량 검출부이다. 상기 부하량 검출부(140)는 예를 들면, 부하량 검출센서(도면에 도시되지 않았음)를 사용하여, 상기 모터(100)에 걸린 부하량을 검출한다.
부호 150은 이득 조절부이다. 상기 이득 조절부(150)는 외부로부터 입력되는 모드 선택신호에 따라 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드로 동작하여 해당되는 동작모드의 이득 값을 상기 구동신호 출력부(130)로 출력한다.
부호 160은 저장 제어부이다. 상기 저장 제어부(160)는 상기 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드에 따라 외부로부터 입력되는 명령 값, 이득 값, 에러 값 및 부하량으로 데이터베이스를 구축하고, 구축한 데이터베이스를 저장부(170)에 저장하는 것을 제어한다.
이러한 구성을 가지는 본 발명의 모터 제어기는 외부로부터 입력되는 명령 값에서 엔코더(110)가 검출하는 모터(100)의 현재 회전 값을 감산기(120)가 감산한 다. 상기 감산기(120)의 출력신호는 구동신호 출력부(130)로 입력되어 이득 조절부(150)로부터 입력되는 이득 값에 따라 이득이 조절되고, 그 이득이 조절된 신호가 상기 모터(100)의 구동신호로 출력되어 상기 모터(100)를 구동시킨다.In the motor controller of the present invention having such a configuration, the
이와 같이 동작함에 있어서, 본 발명은 먼저 사용자가 모드 선택신호로 모터(100)의 구동을 제어할 모드를 선택한다.In this manner, the present invention first selects a mode in which the user controls the driving of the
사용자가 수동모드를 선택하였을 경우에 이득 조절부(150)는 사용자로부터 이득 값을 입력하고, 그 입력한 이득 값을 구동신호 출력부(130)로 출력하여 그 이득 값에 따라 모터(100)를 구동시키게 한다.When the user selects the manual mode, the
그리고 상기 외부로부터 입력되는 명령 값과 상기 이득 조절부(150)가 상기 구동신호 출력부(130)로 출력하는 이득 값과 상기 엔코더(110)가 검출하는 상기 모터(110)의 회전 값이 저장 제어부(160)로 입력된다.In addition, a command value input from the outside, a gain value output from the
그러면, 상기 저장 제어부(160)는 상기 외부로부터 입력되는 명령 값과, 상기 이득 조절부(150)가 구동신호 출력부(130)로 출력한 이득 값과, 상기 명령 값에서 엔코더(100)가 검출한 회전 값을 감산한 에러 값으로 수동모드에서의 데이터베이스를 구축하여 저장부(170)에 저장하고, 또한 상기 에러 값이 가변될 때마다 상기 데이터베이스에 가변된 에러 값을 갱신 저장한다.Then, the
이와 같이 저장된 명령 값, 이득 값 및 에러 값은 예를 들면, 모니터(도면에 도시되지 않았음) 등에 표시하여 사용자가 모니터링할 수 있도록 하는 것이 바람직하다.The command value, gain value, and error value stored in this way is preferably displayed on a monitor (not shown in the figure), for example, so that the user can monitor it.
사용자가 시스템 모델링 모드를 선택하였을 경우에 상기 이득 조절부(150)는 모터 제어기의 시스템을 모델링한 시스템 방정식을 이용하여 전달함수를 계산하고, 게산한 전달함수를 이용하여 최적의 이득 값을 검출하며, 검출한 최적의 이득 값을 구동신호 출력부(130)로 출력하여 모터(100)를 정밀하게 구동시킨다.When the user selects a system modeling mode, the
그리고 저장 제어부(160)는 외부로부터 입력되는 명령 값과 상기 이득 값 및 에러 값으로 시스템 모델링 모드에서의 데이터베이스를 구축하여 저장부(170)에 저장하고, 저장부(170)에 저장한 에러 값에 따라 상기 이득 조절부(150)는 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 데이터베이스에 갱신 저장하고, 그 갱신한 이득 값에 따라 모터(100)를 구동시킴에 따라 발생하는 에러 값을 저장 제어부(160)가 검출하여 저장부(170)에 갱신 저장하는 것을 반복 수행한다.The
사용자가 평균 에러 값 모드를 선택하였을 경우에 상기 저장 제어부(160)가 외부로부터 입력되는 명령 값과 이득 값 및 에러 값으로 평균 에러 값 모드에서의 데이터베이스를 구축하여 저장부(170)에 저장하고, 이득 조절부(130)는 저장부(170)에 저장되어 있는 복수의 에러 값의 평균을 계산하며, 그 계산한 에러 값의 평균에 따라 이득 조절부(150)가 이득 값을 조절하여 모터(100)를 정밀하게 구동시킨다.When the user selects the average error value mode, the
사용자가 부하량 검출모드를 선택하였을 경우에 저장 제어부(160)가 명령 값, 부하량, 이득 값 및 에러 값으로 부하량 검출모드에서의 데이터베이스를 구축하여 저장부(170)에 저장하고, 이득 조절부(150)는 부하량 검출부(140)가 검출하는 부하량에 해당되는 에러 값을 저장부(170)에서 독출하고, 독출한 부하량에 따른 에러 값으로 이득값을 조절하면서 모터(100)를 구동시킨다.When the user selects the load detection mode, the
도 2는 본 발명의 제어방법을 보인 신호흐름도이다. 도 2를 참조하면, 모터(100)를 구동시킬 경우에 이득조절부(150)는 먼저 사용자로부터 모드 선택신호를 입력하고(S200), 입력한 모드선택신호로 동작모드를 판단한다(S202).2 is a signal flow diagram showing a control method of the present invention. Referring to FIG. 2, when driving the
상기 동작모드가 판단되면, 이득 조절부(150)는 판단한 동작모드 즉, 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드에 따라 이득 값을 조절하고, 조절한 이득 값을 구동신호 출력부(130)로 출력하며, 구동신호 출력부(130)는 감산기(120)의 출력신호의 이득을 이득 값에 따라 조절 및 모터(100)로 출력하여 모터(100)를 구동시킨다(S204).When the operation mode is determined, the
도 3은 본 발명의 제어방법에서 수동모드의 동작을 보인 신호흐름도이다. 도 3을 참조하면, 사용자가 선택한 동작모드가 수동모드일 경우에 이득 조절부(150)는 사용자로부터 이득 값을 입력하고(S300), 입력한 이득 값을 구동신호 출력부(130)로 출력하여 구동신호 출력부(130)가 이득 값에 따라 감산기(120)의 출력신호의 이득을 조절 및 모터(100)를 구동시키게 한다(S302).3 is a signal flow diagram showing the operation of the manual mode in the control method of the present invention. Referring to FIG. 3, when the operation mode selected by the user is the manual mode, the
그리고 상기 이득 조절부(150)는 상기 입력한 이득 값을 저장 제어부(160)에 제공하여 저장 제어부(160)가 외부로부터 입력되는 명령 값과, 상기 이득 값과, 상기 명령 값에서 엔코더(110)가 검출하는 회전 값을 감산한 에러 값을 저장부(170)에 저장하게 한다(S304). 예를 들면, 상기 저장 제어부(160)는 명령 값, 이득 값 및 에러 값으로 도 4에 도시된 바와 같이 수동모드에 대한 데이터베이스를 구축하고, 구축한 데이터베이스를 저장부(170)에 저장한다.The
이와 같이 저장한 명령 값, 이득 값 및 에러 값은 사용자의 조작에 따라 모 니터(도면에 도시되지 않았음)에 표시하여 모니터링할 수 있도록 하는 것이 바람직하다.The command value, gain value and error value stored in this way is preferably displayed on the monitor (not shown in the drawing) and monitored according to the user's operation.
이러한 수동모드는 사용자가 최적의 이득 값을 알고 있을 경우에 사용하는 것으로서 모터(100)를 이용하여 소정의 구동물을 구동시킬 경우에 가장 빠르게 구동물을 정상으로 구동시킬 수 있다.This manual mode is used when the user knows the optimum gain value, and when the user drives the predetermined drive by using the
도 5는 본 발명의 제어방법에서 시스템 모델링 모드의 동작을 보인 신호흐름도이다. 도 5를 참조하면, 사용자가 선택한 동작모드가 시스템 모델링 모드일 경우에 이득 조절부(150)는 외부로부터 입력되는 명령 값을 확인하고(S500), 확인한 명령 값에 대하여 최적의 에러 값을 갖는 이득 값이 저장부(170)에 저장되어 있는지의 여부를 판단한다(S502).5 is a signal flow diagram showing the operation of the system modeling mode in the control method of the present invention. Referring to FIG. 5, when the operation mode selected by the user is a system modeling mode, the
상기 판단 결과, 이전에 시스템 모델링 모드로 해당 명령 값에 따라 모터(100)를 구동시키지 않아 저장부(170)에 시스템 모델링 모드에서 해당 명령 값에 대한 이득 값이 저장되어 있지 않을 경우에 이득 조절부(150)는 모터 제어기를 미리 모델링하여 설정한 시스템 방정식을 이용하여 전달함수 의 값을 구한다(S504).As a result of the determination, if the gain value for the command value is not stored in the
예를 들면, 상기 이득 조절부(150)는 수학식 1과 같은 미리 설정된 시스템 방정식을 이용하여 전달함수 의 값을 구한다.For example, the
여기서, θ는 모터(100)의 회전 각도이고, V는 외부로부터 입력되는 명령 값이며, K는 미리 설정된 상수이며, s는 라플라스변환의 복소변수(Complex variable)이며, J는 모터(100)에 구비되어 있는 회전자의 관성 모멘트이며, b는 마찰상수이며, L은 모터(100)의 인덕턴스이며, R은 모터(100)의 저항이다.Here, θ is a rotation angle of the
상기 전달함수가 계산되면, 상기 이득 조절부(150)는 예를 들면, 루트로커스 등을 이용하여 이득 값을 계산하고(S506), RLS(Recursive Least Square) 알고리즘을 이용하여 상기 계산한 이득 값에 잡음 등과 같은 불확실성을 낮출 수 있는 최적의 이득 값을 계산한다(S508).When the transfer function is calculated, the
상기 최적의 이득 값이 계산되면, 상기 이득 조절부(150)는 계산된 최적의 이득 값을 구동신호 출력부(130)로 출력하여 모터(100)의 구동에 사용할 수 있도록 하고(S510), 또한 상기 최적의 이득 값을 저장 제어부(160)에 제공하여 저장 제어부(160)가 예를 들면, 도 4에 도시된 바와 같은 명령 값, 이득 값 및 에러 값으로 시스템 모델링 모드의 데이터베이스를 구축하고, 그 구축한 데이터베이스를 저장부(170)에 저장할 수 있도록 한다(S512).When the optimal gain value is calculated, the
이와 같은 상태에서 상기 이득 조절부(150)는 상기 출력한 이득 값에 의해 발생되는 에러 값에 따라 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(170)에 제공하여 저장부(170)에 갱신 저장하게 한다(S518).In this state, the
그리고 상기 저장 제어부(160)는 상기 명령 값과 상기 엔코더(110)가 출력하는 회전 값으로 에러 값을 계산하고, 계산한 에러 값을 저장 제어부(160)에 제공하여 저장부(170)에 갱신 저장하며(S516), 그 갱신 저장한 에러 값에 따라 이득 조절 부(150)가 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(170)에 제공하여 저장부(170)에 갱신 저장하게 하는 동작을 반복 수행한다.The
상기 단계(S502)의 판단 결과, 이전에 시스템 모델링 모드에서 해당 명령 값으로 모터(100)의 구동을 제어하여 저장부(170)에 시스템 모델링 모드에서 해당 명령 값에 대한 이득 값이 저장되어 있을 경우에 이득 조절부(150)는 저장 제어부(160)를 통해 저장부(170))에서 해당 이득 값을 독출하고, 독출한 이득 값을 구동신호 출력부(130)로 출력하여 구동신호 출력부(130)가 해당 이득 값으로 모터(100)를 구동시키게 한다(S514).As a result of the determination in step S502, when the gain value for the command value is stored in the
그리고 상기 이득 값에 의해 발생되는 에러 값을 저장 제어부(160)가 검출하여 저장부(170)에 갱신 저장하고(S516), 그 갱신 저장한 에러 값에 따라 이득 조절부(150)가 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(170)에 제공하여 저장부(170)에 갱신 저장하게 하는 동작을 반복 수행한다.In addition, the
이러한 시스템 모델링 모드는 이득 값의 튜닝에 대하여 해박한 지식이 없는 사용자라도 최적의 이득 값으로 튜닝하여 모터(100)를 구동시킬 수 있다.The system modeling mode may drive the
도 6은 본 발명의 제어방법에서 평균 에러 값 모드의 동작을 보인 신호흐름도이다. 도 6을 참조하면, 사용자가 선택한 동작모드가 평균 에러 값 모드일 경우에 이득 조절부(150)는 외부로부터 입력되는 명령 값을 확인하고(S600), 평균 에러 값 모드로 해당 명령 값에 따른 이득 값이 저장부(170)에 저장되어 있는지의 여부를 판단한다(S602).6 is a signal flow diagram showing the operation of the average error value mode in the control method of the present invention. Referring to FIG. 6, when the operation mode selected by the user is an average error value mode, the
상기 판단 결과, 이전에 평균 에러 값 모드에서 해당 명령 값으로 모터(100) 를 구동시키지 않아 이득 값이 저장되어 있지 않을 경우에 이득 조절부(150)는 임의의 이득 값을 설정하고, 설정한 이득 값을 구동신호 출력부(130)로 출력하여 구동신호 출력부(130)가 상기 이득 값에 따라 모터(100)를 구동시키게 한다(S604).As a result of the determination, if the gain value is not stored because the
그리고 상기 이득 조절부(150)는 상기 설정한 이득 값을 저장 제어부(160)에 제공하여 저장 제어부(160)가 상기 명령 값, 이득 값 및 에러 값으로 데이터베이스를 구축하여 저장부(170)에 저장한다(S606). 즉, 상기 저장 제어부(160)는 상기 이득 값에 따라 상기 구동신호 출력부(130)가 구동신호를 출력하여 모터(100)를 구동시켰을 때 엔코더(110)가 검출하는 모터(100)의 회전 값을 입력하고, 그 회전 값과 상기 명령 값의 차이 값인 에러 값을 계산한 후 상기 명령 값, 이득 값 및 에러 값으로 예를 들면, 도 4에 도시된 바와 같은 데이터베이스를 구축하여 저장부(170)에 저장한다.The
이와 같은 상태에서 이득 조절부(150)는 저장부(170)에 평균 에러 값 모드의 상기 명령 값으로 저장되어 있는 에러 값을 모두 독출하여 평균 에러 값을 계산하고(S612), 계산한 평균 에러 값에 따라 이득 값을 계산하여 구동신호 출력부(130)로 갱신 출력함과 아울러 저장 제어부(160)에 제공하여 저장부(170)에 저장한다(S614).In this state, the
이와 같이 상기 갱신한 이득 값으로 구동신호 출력부(130)가 모터(100)를 구동시키는 상태에서 상기 저장 제어부(160)는 엔코더(110)가 검출하는 모터(100)의 회전 값 및 명령 값을 이용하여 에러 값을 검출하고, 검출한 에러 값을 저장부(170)에 저장한 후(S610), 이득 조절부(150)가 저장부(170)에 저장된 에러 값 즉, 평균 에러 값 모드의 상기 명령 값으로 저장되어 있는 에러 값들을 모두 독출하여 에러 값의 평균을 계산하고, 계산한 에러 값의 평균에 따라 이득 값을 계산하여 구동신호 출력부(130)로 갱신 출력함과 아울러 저장 제어부(160)에 제공하여 저장부(170)에 저장하는 동작을 반복 수행한다.As described above, in the state in which the driving
이러한 평균 에러 값 모드는 시간의 경과에 따라 에러 값이 점차 줄어들게 되는 것으로서 모터 제이기의 시스템 분석이 어려운 경우에 효과적으로 모터(100)를 구동시킬 수 있다.The average error value mode is such that the error value gradually decreases over time, and when the system analysis of the motor jaggie is difficult, the average error value mode can effectively drive the
도 7은 본 발명의 제어방법에서 부하량 검출모드의 동작을 보인 신호흐름도이다. 도 7을 참조하면, 사용자가 선택한 동작모드가 부하량 검출모드일 경우에 이득 조절부(150)는 먼저 외부로부터 입력되는 명령 값을 확인하고(S700), 저장부(170)에 부하량 검출모드에서 상기 명령 값에 따른 이득 값이 저장되어 있는 지의 여부를 판단한다(S702).7 is a signal flow diagram showing the operation of the load detection mode in the control method of the present invention. Referring to FIG. 7, when the operation mode selected by the user is the load detection mode, the
상기 판단 결과, 이전에 부하량 검출모드에서 상기 명령 값으로 모터(100)를 구동시키지 않아 해당 이득 값이 저장되어 있지 않을 경우에 이득 제어부(150)는 부하량 검출부(140)가 검출하는 부하량을 판단하고(S704), 판단한 부하량에 따라 이득 값을 설정한다(S706).As a result of the determination, if the gain value is not stored because the
그리고 상기 설정한 이득 값을 구동신호 출력부(130)로 출력하여 이득 값에 따라 모터(100)를 구동시키게 하고(S708), 부하량 및 이득 값을 저장 제어부(160)에 제공하여 저장 제어부(160)가 명령 값, 부하량, 이득 값 및 에러 값을 저장부(170)에 저장하게 한다(S710).The set gain value is output to the drive
예를 들면, 상기 저장 제어부(160)는 상기 이득 값을 상기 구동신호 출력부(130)로 출력하였을 경우에 엔코더(110)가 검출하는 모터(100)의 회전값과 상기 명령 값을 이용하여 에러 값을 계산하고, 그 계산한 에러 값과, 명령 값 및 이득 조절부(150)가 제공하는 부하량 및 이득 값으로 도 8에 도시된 바와 같이 부하량 검출모드의 데이터베이스를 구축하고, 그 구축한 부하량 검출모드의 데이터베이스를 저장부(170)에 저장한다.For example, when the
이와 같은 상태에서 상기 이득 조절부(150)는 부하량 검출부(140)가 검출하는 부하량을 판단하고(S714), 판단한 부하량을 저장 제어부(160)에 제공하며, 상기 저장 제어부(160)는 상기 명령 값에서 엔코더(110)가 검출하는 회전값을 감산한 에러 값을 판단하며(S716), 판단한 에러 값을 상기 부하량에 따라 저장부(170)에 갱신 저장한다(S718).In this state, the
즉, 부하량 검출모드에서 저장부(170)에 저장되는 데이터베이스는 예를 들면, 도 8에 도시된 바와 같이 외부로부터 입력되는 명령 값을 구분하고, 구분한 각각의 명령 값 내에서 부하량을 구분하며, 구분한 부하량에 대한 이득 값 및 에러 값을 갱신 저장한다.That is, the database stored in the
그리고 상기 이득 조절부(150)는 상기 부하량에 따른 에러값으로 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(160)를 통해 저장부(170)에 저장하는 동작(S720)을 반복 수행한다.In addition, the
그리고 상기 단계(S702)의 판단 결과, 이전에 부하량 검출모드에서 상기 명령 값으로 모터(100)를 구동시켜 해당 이득 값이 저장부(170)에 저장되어 있을 경 우에 이득 제어부(150)는 저장 제어부(160)를 통해 저장부(170)에서 해당 명령 값에 대한 이득 값을 독출하고, 독출한 이득 값을 구동신호 출력부(130)로 출력하여 구동신호 출력부(130)가 상기 이득 값에 따라 모터(100)를 구동시키게 한다(S712).As a result of the determination in step S702, when the
이와 같은 상태에서 상기 이득 조절부(150)는 부하량 검출부(140)가 검출하는 부하량을 판단하고(S714), 상기 저장 제어부(160)가 에러 값을 판단하며(S716), 판단한 에러 값을 상기 부하량에 따라 저장부(170)에 갱신 저장하며(S718), 상기 이득 조절부(150)는 상기 부하량에 따른 에러값으로 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(160)를 통해 저장부(170)에 저장하는 동작(S720)을 반복 수행한다.In this state, the
이상에서는 대표적인 실시 예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시 예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.The present invention has been described in detail with reference to exemplary embodiments, but those skilled in the art to which the present invention pertains can make various modifications without departing from the scope of the present invention. Will understand.
그러므로 본 발명의 권리범위는 설명된 실시 예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.
도 1은 본 발명의 모터 제어기의 바람직한 실시 예의 구성을 보인 블록도,1 is a block diagram showing the configuration of a preferred embodiment of the motor controller of the present invention;
도 2는 본 발명의 제어방법을 보인 신호흐름도,2 is a signal flow diagram showing a control method of the present invention;
도 3은 본 발명의 제어방법에서 수동모드의 동작을 보인 신호흐름도,3 is a signal flow diagram showing the operation of the manual mode in the control method of the present invention,
도 4는 본 발명의 제어방법에서 수동모드로 동작할 때 생성하는 데이터베이스를 예로 들어 보인 도면,4 is a view showing an example of a database generated when operating in the manual mode in the control method of the present invention;
도 5는 본 발명의 제어방법에서 시스템 모델링 모드의 동작을 보인 신호흐름도,5 is a signal flow diagram showing the operation of the system modeling mode in the control method of the present invention;
도 6은 본 발명의 제어방법에서 평균 에러 값 모드의 동작을 보인 신호흐름도,6 is a signal flow diagram showing the operation of the average error value mode in the control method of the present invention;
도 7은 본 발명의 제어방법에서 부하 센싱모드의 동작을 보인 신호흐름도, 및7 is a signal flow diagram showing the operation of the load sensing mode in the control method of the present invention, and
도 8은 본 발명의 제어방법에서 부하 센싱모드로 동작할 때 생성하는 데이터베이스를 예로 들어 보인 도면이다.8 illustrates an example of a database generated when operating in a load sensing mode in the control method of the present invention.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080062384A KR100989956B1 (en) | 2008-06-30 | 2008-06-30 | Motor controller with Auto Gain Tuning function and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080062384A KR100989956B1 (en) | 2008-06-30 | 2008-06-30 | Motor controller with Auto Gain Tuning function and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100002479A KR20100002479A (en) | 2010-01-07 |
KR100989956B1 true KR100989956B1 (en) | 2010-10-26 |
Family
ID=41812509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080062384A KR100989956B1 (en) | 2008-06-30 | 2008-06-30 | Motor controller with Auto Gain Tuning function and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100989956B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03124793U (en) * | 1990-03-29 | 1991-12-17 | ||
JPH07222481A (en) * | 1994-02-04 | 1995-08-18 | Kokusan Denki Co Ltd | Motor speed controller with automatic gain changeover circuit |
KR960003055A (en) * | 1994-06-13 | 1996-01-26 | 김광호 | Gain automatic adjustment device of servo drive |
JPH09149670A (en) * | 1995-11-27 | 1997-06-06 | Nippon Seiko Kk | Method and apparatus for automatic gain adjustment of servomechanism |
-
2008
- 2008-06-30 KR KR1020080062384A patent/KR100989956B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03124793U (en) * | 1990-03-29 | 1991-12-17 | ||
JPH07222481A (en) * | 1994-02-04 | 1995-08-18 | Kokusan Denki Co Ltd | Motor speed controller with automatic gain changeover circuit |
KR960003055A (en) * | 1994-06-13 | 1996-01-26 | 김광호 | Gain automatic adjustment device of servo drive |
JPH09149670A (en) * | 1995-11-27 | 1997-06-06 | Nippon Seiko Kk | Method and apparatus for automatic gain adjustment of servomechanism |
Also Published As
Publication number | Publication date |
---|---|
KR20100002479A (en) | 2010-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7030581B1 (en) | Motor controller | |
CN107196581B (en) | Control device, method and computer readable medium for fine tuning servo motor | |
KR20180010145A (en) | Motor system | |
US7292001B2 (en) | Gain adjusting method for servo control device | |
KR100989956B1 (en) | Motor controller with Auto Gain Tuning function and control method thereof | |
JP2802460B2 (en) | Heating / cooling controller | |
JP2950149B2 (en) | Auto tuning controller | |
JP6142096B2 (en) | Vehicle hydraulic control apparatus and method | |
US20230188064A1 (en) | Adaptive trigger mapping | |
JP5316424B2 (en) | Motor control device | |
JP4546437B2 (en) | Auto tuning device and auto tuning method | |
JP2004227062A (en) | Limit-cycle automatic tuning method and heat/cool control device | |
JP2006254630A (en) | Motor controller and control method therefor | |
US8295954B2 (en) | Method and device for adjusting a regulating device | |
EP2216986A1 (en) | Lens device | |
JP2003169488A (en) | Controller of servo motor and control method | |
JP2009183083A (en) | Motor controller and method for setting motor control parameter | |
KR20220122254A (en) | Control device for plant and controlling method of the same | |
KR20070043071A (en) | Method for tunning gain of proportional-plus-integrate controller | |
JP6645994B2 (en) | Machine learning device for learning gain optimization, motor control device having machine learning device, and machine learning method | |
JP2006018431A (en) | Servo control device | |
KR0176486B1 (en) | An auto gain tunning apparatus of servo driving system | |
JP7482201B1 (en) | MOTOR CONTROL SYSTEM, CONTROL PARAMETER AUTOMATIC ADJUSTMENT METHOD, AND AUTOMATIC ADJUSTMENT PROGRAM | |
JP2000333483A (en) | Motor controller | |
JP5200648B2 (en) | Motor drive 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 | ||
LAPS | Lapse due to unpaid annual fee |