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 PDF

Info

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
Application number
KR1020080062384A
Other languages
Korean (ko)
Other versions
KR20100002479A (en
Inventor
임선
김봉석
정일균
이종배
양대열
Original Assignee
전자부품연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전자부품연구원 filed Critical 전자부품연구원
Priority to KR1020080062384A priority Critical patent/KR100989956B1/en
Publication of KR20100002479A publication Critical patent/KR20100002479A/en
Application granted granted Critical
Publication of KR100989956B1 publication Critical patent/KR100989956B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/14Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0004Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P23/0022Model reference adaptation, e.g. MRAS or MRAC, useful for control or parameter estimation
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0077Characterised 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

자동이득 보상 기능을 갖는 모터 제어기 및 그의 제어방법{Motor controller with Auto Gain Tuning function and control method thereof}Motor controller with auto gain compensation function and control method thereof

본 발명은 자동이득 보상기능을 갖는 모터 제어기 및 그의 제어방법에 관한 것이다. 보다 상세하게는 수동 모드, 시스템 모델링 모드, 평균 에러 값 모드 및 부하량 검출모드를 두고, 사용자에 의해 선택되는 모드에 따라 이득 값을 조절하여 모터를 구동시키는 자동이득 보상기능을 갖는 모터 제어기 및 그의 제어방법에 관한 것이다.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, reference numeral 100 denotes a motor that generates rotational power, and reference numeral 110 denotes an encoder that detects rotation values such as rotation speed and rotation angle of the motor 100 when the motor 100 rotates.

부호 120은 감산기이다. 상기 감산기(120)는 상기 모터(100)를 구동시키는 명령 값에서 상기 엔코더(110)가 검출한 회전 값을 감산하여 에러 값을 계산한다.Reference numeral 120 is a subtractor. The subtractor 120 calculates an error value by subtracting a rotation value detected by the encoder 110 from a command value for driving the motor 100.

부호 130은 구동신호 출력부이다. 상기 구동신호 출력부(130)는 상기 감산기(120)의 출력신호의 이득을 이득 값에 따라 조절하여 상기 모터(100)에 구동신호를 출력한다.Reference numeral 130 is a drive signal output unit. The drive signal output unit 130 outputs a drive signal to the motor 100 by adjusting the gain of the output signal of the subtractor 120 according to the gain value.

부호 140은 부하량 검출부이다. 상기 부하량 검출부(140)는 예를 들면, 부하량 검출센서(도면에 도시되지 않았음)를 사용하여, 상기 모터(100)에 걸린 부하량을 검출한다.Reference numeral 140 is a load amount detection unit. The load detection unit 140 detects the load on the motor 100 by using a load detection sensor (not shown in the figure), for example.

부호 150은 이득 조절부이다. 상기 이득 조절부(150)는 외부로부터 입력되는 모드 선택신호에 따라 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드로 동작하여 해당되는 동작모드의 이득 값을 상기 구동신호 출력부(130)로 출력한다.Reference numeral 150 is a gain control unit. The gain adjusting unit 150 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 to output the gain value of the corresponding operation mode to the driving signal output unit 130. )

부호 160은 저장 제어부이다. 상기 저장 제어부(160)는 상기 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드에 따라 외부로부터 입력되는 명령 값, 이득 값, 에러 값 및 부하량으로 데이터베이스를 구축하고, 구축한 데이터베이스를 저장부(170)에 저장하는 것을 제어한다.Reference numeral 160 is a storage control unit. The storage control unit 160 builds a database with command values, gain values, error values, and loads input from the outside according to the manual mode, system modeling mode, average error value mode, or load detection mode, and stores the constructed database. The storage in the unit 170 is controlled.

이러한 구성을 가지는 본 발명의 모터 제어기는 외부로부터 입력되는 명령 값에서 엔코더(110)가 검출하는 모터(100)의 현재 회전 값을 감산기(120)가 감산한 다. 상기 감산기(120)의 출력신호는 구동신호 출력부(130)로 입력되어 이득 조절부(150)로부터 입력되는 이득 값에 따라 이득이 조절되고, 그 이득이 조절된 신호가 상기 모터(100)의 구동신호로 출력되어 상기 모터(100)를 구동시킨다.In the motor controller of the present invention having such a configuration, the subtractor 120 subtracts a current rotation value of the motor 100 detected by the encoder 110 from a command value input from the outside. The output signal of the subtractor 120 is input to the drive signal output unit 130 and the gain is adjusted according to the gain value input from the gain control unit 150, and the signal whose gain is adjusted is converted into a signal of the motor 100. The driving signal is output to drive the motor 100.

이와 같이 동작함에 있어서, 본 발명은 먼저 사용자가 모드 선택신호로 모터(100)의 구동을 제어할 모드를 선택한다.In this manner, the present invention first selects a mode in which the user controls the driving of the motor 100 by the mode selection signal.

사용자가 수동모드를 선택하였을 경우에 이득 조절부(150)는 사용자로부터 이득 값을 입력하고, 그 입력한 이득 값을 구동신호 출력부(130)로 출력하여 그 이득 값에 따라 모터(100)를 구동시키게 한다.When the user selects the manual mode, the gain adjusting unit 150 inputs a gain value from the user, outputs the input gain value to the driving signal output unit 130, and operates the motor 100 according to the gain value. To drive it.

그리고 상기 외부로부터 입력되는 명령 값과 상기 이득 조절부(150)가 상기 구동신호 출력부(130)로 출력하는 이득 값과 상기 엔코더(110)가 검출하는 상기 모터(110)의 회전 값이 저장 제어부(160)로 입력된다.In addition, a command value input from the outside, a gain value output from the gain control unit 150 to the driving signal output unit 130, and a rotation value of the motor 110 detected by the encoder 110 are stored in the control unit. Inputted to 160.

그러면, 상기 저장 제어부(160)는 상기 외부로부터 입력되는 명령 값과, 상기 이득 조절부(150)가 구동신호 출력부(130)로 출력한 이득 값과, 상기 명령 값에서 엔코더(100)가 검출한 회전 값을 감산한 에러 값으로 수동모드에서의 데이터베이스를 구축하여 저장부(170)에 저장하고, 또한 상기 에러 값이 가변될 때마다 상기 데이터베이스에 가변된 에러 값을 갱신 저장한다.Then, the storage control unit 160 detects the command value input from the outside, the gain value output from the gain control unit 150 to the driving signal output unit 130, and the encoder 100 detects the command value. A database in manual mode is constructed with an error value subtracted by one rotation value and stored in the storage unit 170, and each time the error value is changed, the variable error value is updated and stored in the database.

이와 같이 저장된 명령 값, 이득 값 및 에러 값은 예를 들면, 모니터(도면에 도시되지 않았음) 등에 표시하여 사용자가 모니터링할 수 있도록 하는 것이 바람직하다.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 gain control unit 150 calculates a transfer function using a system equation modeling a system of a motor controller, and detects an optimal gain value using the calculated transfer function. The optimum gain value detected is output to the drive signal output unit 130 to precisely drive the motor 100.

그리고 저장 제어부(160)는 외부로부터 입력되는 명령 값과 상기 이득 값 및 에러 값으로 시스템 모델링 모드에서의 데이터베이스를 구축하여 저장부(170)에 저장하고, 저장부(170)에 저장한 에러 값에 따라 상기 이득 조절부(150)는 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 데이터베이스에 갱신 저장하고, 그 갱신한 이득 값에 따라 모터(100)를 구동시킴에 따라 발생하는 에러 값을 저장 제어부(160)가 검출하여 저장부(170)에 갱신 저장하는 것을 반복 수행한다.The storage controller 160 constructs a database in a system modeling mode using the command value, the gain value, and the error value input from the outside, stores the database in the storage unit 170, and stores the database in the storage unit 170. Accordingly, the gain adjusting unit 150 updates the gain value and outputs it to the driving signal output unit 130, updates and stores it in the database, and generates the driving value by driving the motor 100 according to the updated gain value. The storage controller 160 detects the error value and updates and stores the error value in the storage 170.

사용자가 평균 에러 값 모드를 선택하였을 경우에 상기 저장 제어부(160)가 외부로부터 입력되는 명령 값과 이득 값 및 에러 값으로 평균 에러 값 모드에서의 데이터베이스를 구축하여 저장부(170)에 저장하고, 이득 조절부(130)는 저장부(170)에 저장되어 있는 복수의 에러 값의 평균을 계산하며, 그 계산한 에러 값의 평균에 따라 이득 조절부(150)가 이득 값을 조절하여 모터(100)를 정밀하게 구동시킨다.When the user selects the average error value mode, the storage controller 160 constructs and stores the database in the average error value mode in the storage unit 170 using command values, gain values, and error values input from the outside, The gain control unit 130 calculates an average of the plurality of error values stored in the storage unit 170, and the gain control unit 150 adjusts the gain value in accordance with the average of the calculated error values to control the motor 100. Drive precisely).

사용자가 부하량 검출모드를 선택하였을 경우에 저장 제어부(160)가 명령 값, 부하량, 이득 값 및 에러 값으로 부하량 검출모드에서의 데이터베이스를 구축하여 저장부(170)에 저장하고, 이득 조절부(150)는 부하량 검출부(140)가 검출하는 부하량에 해당되는 에러 값을 저장부(170)에서 독출하고, 독출한 부하량에 따른 에러 값으로 이득값을 조절하면서 모터(100)를 구동시킨다.When the user selects the load detection mode, the storage control unit 160 constructs a database in the load detection mode using the command value, the load amount, the gain value, and the error value, stores the database in the storage unit 170, and stores the gain control unit 150. ) Reads an error value corresponding to the load amount detected by the load amount detection unit 140 from the storage unit 170, and drives the motor 100 while adjusting the gain value to the error value according to the read load amount.

도 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 motor 100, the gain adjusting unit 150 first inputs a mode selection signal from the user (S200), and determines an operation mode using the input mode selection signal (S202).

상기 동작모드가 판단되면, 이득 조절부(150)는 판단한 동작모드 즉, 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드에 따라 이득 값을 조절하고, 조절한 이득 값을 구동신호 출력부(130)로 출력하며, 구동신호 출력부(130)는 감산기(120)의 출력신호의 이득을 이득 값에 따라 조절 및 모터(100)로 출력하여 모터(100)를 구동시킨다(S204).When the operation mode is determined, the gain controller 150 adjusts the gain value according to the determined operation mode, that is, the manual mode, the system modeling mode, the average error value mode, or the load detection mode, and outputs the adjusted gain value to the driving signal. The drive signal output unit 130 controls the gain of the output signal of the subtractor 120 and outputs the gain to the motor 100 to drive the motor 100 (S204).

도 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 gain adjusting unit 150 inputs a gain value from the user (S300) and outputs the input gain value to the driving signal output unit 130. The drive signal output unit 130 adjusts the gain of the output signal of the subtractor 120 and drives the motor 100 according to the gain value (S302).

그리고 상기 이득 조절부(150)는 상기 입력한 이득 값을 저장 제어부(160)에 제공하여 저장 제어부(160)가 외부로부터 입력되는 명령 값과, 상기 이득 값과, 상기 명령 값에서 엔코더(110)가 검출하는 회전 값을 감산한 에러 값을 저장부(170)에 저장하게 한다(S304). 예를 들면, 상기 저장 제어부(160)는 명령 값, 이득 값 및 에러 값으로 도 4에 도시된 바와 같이 수동모드에 대한 데이터베이스를 구축하고, 구축한 데이터베이스를 저장부(170)에 저장한다.The gain control unit 150 provides the input gain value to the storage control unit 160 so that the storage control unit 160 inputs an external command value, the gain value, and the encoder value from the command value. Stores the error value obtained by subtracting the rotation value detected by the storage unit 170 (S304). For example, the storage controller 160 constructs a database for the manual mode as a command value, a gain value, and an error value as shown in FIG. 4, and stores the constructed database in the storage unit 170.

이와 같이 저장한 명령 값, 이득 값 및 에러 값은 사용자의 조작에 따라 모 니터(도면에 도시되지 않았음)에 표시하여 모니터링할 수 있도록 하는 것이 바람직하다.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 motor 100, the drive can be driven to the normal fastest.

도 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 gain controller 150 checks a command value input from the outside (S500) and has a gain having an optimal error value with respect to the checked command value. It is determined whether a value is stored in the storage unit 170 (S502).

상기 판단 결과, 이전에 시스템 모델링 모드로 해당 명령 값에 따라 모터(100)를 구동시키지 않아 저장부(170)에 시스템 모델링 모드에서 해당 명령 값에 대한 이득 값이 저장되어 있지 않을 경우에 이득 조절부(150)는 모터 제어기를 미리 모델링하여 설정한 시스템 방정식을 이용하여 전달함수

Figure 112008046894160-pat00001
의 값을 구한다(S504).As a result of the determination, if the gain value for the command value is not stored in the storage model 170 in the system modeling mode because the motor 100 is not driven according to the command value in the system modeling mode previously, the gain adjusting unit. Reference numeral 150 is a transfer function using a system equation set by modeling a motor controller in advance.
Figure 112008046894160-pat00001
The value of is obtained (S504).

예를 들면, 상기 이득 조절부(150)는 수학식 1과 같은 미리 설정된 시스템 방정식을 이용하여 전달함수

Figure 112008046894160-pat00002
의 값을 구한다.For example, the gain control unit 150 transfers a function using a preset system equation such as Equation 1 below.
Figure 112008046894160-pat00002
Find the value of.

Figure 112010042097748-pat00012
Figure 112010042097748-pat00012

여기서, θ는 모터(100)의 회전 각도이고, V는 외부로부터 입력되는 명령 값이며, K는 미리 설정된 상수이며, s는 라플라스변환의 복소변수(Complex variable)이며, J는 모터(100)에 구비되어 있는 회전자의 관성 모멘트이며, b는 마찰상수이며, L은 모터(100)의 인덕턴스이며, R은 모터(100)의 저항이다.Here, θ is a rotation angle of the motor 100, V is a command value input from the outside, K is a predetermined constant, s is a complex variable of the Laplace transform, J is a motor (100) The moment of inertia of the rotor provided, b is the friction constant, L is the inductance of the motor 100, R is the resistance of the motor 100.

상기 전달함수가 계산되면, 상기 이득 조절부(150)는 예를 들면, 루트로커스 등을 이용하여 이득 값을 계산하고(S506), RLS(Recursive Least Square) 알고리즘을 이용하여 상기 계산한 이득 값에 잡음 등과 같은 불확실성을 낮출 수 있는 최적의 이득 값을 계산한다(S508).When the transfer function is calculated, the gain adjusting unit 150 calculates a gain value using, for example, a root locus (S506), and applies the calculated gain value to the calculated gain value using a recursive least square (RLS) algorithm. An optimal gain value for reducing uncertainty such as noise is calculated (S508).

상기 최적의 이득 값이 계산되면, 상기 이득 조절부(150)는 계산된 최적의 이득 값을 구동신호 출력부(130)로 출력하여 모터(100)의 구동에 사용할 수 있도록 하고(S510), 또한 상기 최적의 이득 값을 저장 제어부(160)에 제공하여 저장 제어부(160)가 예를 들면, 도 4에 도시된 바와 같은 명령 값, 이득 값 및 에러 값으로 시스템 모델링 모드의 데이터베이스를 구축하고, 그 구축한 데이터베이스를 저장부(170)에 저장할 수 있도록 한다(S512).When the optimal gain value is calculated, the gain control unit 150 outputs the calculated optimal gain value to the drive signal output unit 130 to be used for driving the motor 100 (S510). The optimal gain value is provided to the storage control unit 160 so that the storage control unit 160 constructs a database of the system modeling mode using the command value, the gain value, and the error value as shown in FIG. 4. The built database can be stored in the storage unit 170 (S512).

이와 같은 상태에서 상기 이득 조절부(150)는 상기 출력한 이득 값에 의해 발생되는 에러 값에 따라 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(170)에 제공하여 저장부(170)에 갱신 저장하게 한다(S518).In this state, the gain adjusting unit 150 updates the gain value according to the error value generated by the output gain value, outputs the gain value to the driving signal output unit 130, and provides it to the storage control unit 170. Update storage in the storage unit 170 (S518).

그리고 상기 저장 제어부(160)는 상기 명령 값과 상기 엔코더(110)가 출력하는 회전 값으로 에러 값을 계산하고, 계산한 에러 값을 저장 제어부(160)에 제공하여 저장부(170)에 갱신 저장하며(S516), 그 갱신 저장한 에러 값에 따라 이득 조절 부(150)가 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(170)에 제공하여 저장부(170)에 갱신 저장하게 하는 동작을 반복 수행한다.The storage control unit 160 calculates an error value using the command value and the rotation value output from the encoder 110, and provides the calculated error value to the storage control unit 160 to update and store it in the storage unit 170. In operation S516, the gain adjusting unit 150 updates the gain value according to the updated stored error value, outputs the gain value to the driving signal output unit 130, and provides the storage control unit 170 with the storage control unit 170. Repeat the operation to update and save the data.

상기 단계(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 storage model 170 in the system modeling mode by previously controlling the driving of the motor 100 with the command value in the system modeling mode. The gain control unit 150 reads the gain value from the storage unit 170 through the storage control unit 160, and outputs the read gain value to the drive signal output unit 130 to drive the drive signal output unit 130. ) Drives the motor 100 to the corresponding gain value (S514).

그리고 상기 이득 값에 의해 발생되는 에러 값을 저장 제어부(160)가 검출하여 저장부(170)에 갱신 저장하고(S516), 그 갱신 저장한 에러 값에 따라 이득 조절부(150)가 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(170)에 제공하여 저장부(170)에 갱신 저장하게 하는 동작을 반복 수행한다.In addition, the storage controller 160 detects an error value generated by the gain value and updates and stores it in the storage unit 170 (S516), and the gain adjusting unit 150 adjusts the gain value according to the updated stored error value. It updates and outputs it to the drive signal output unit 130 and provides the storage control unit 170 to update and store the storage unit 170 repeatedly.

이러한 시스템 모델링 모드는 이득 값의 튜닝에 대하여 해박한 지식이 없는 사용자라도 최적의 이득 값으로 튜닝하여 모터(100)를 구동시킬 수 있다.The system modeling mode may drive the motor 100 by tuning to the optimum gain value even for a user who does not have much knowledge about tuning the gain value.

도 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 gain adjusting unit 150 checks a command value input from the outside (S600), and gains according to the command value in the average error value mode. It is determined whether the value is stored in the storage unit 170 (S602).

상기 판단 결과, 이전에 평균 에러 값 모드에서 해당 명령 값으로 모터(100) 를 구동시키지 않아 이득 값이 저장되어 있지 않을 경우에 이득 조절부(150)는 임의의 이득 값을 설정하고, 설정한 이득 값을 구동신호 출력부(130)로 출력하여 구동신호 출력부(130)가 상기 이득 값에 따라 모터(100)를 구동시키게 한다(S604).As a result of the determination, if the gain value is not stored because the motor 100 is not driven with the corresponding command value in the average error value mode previously, the gain adjusting unit 150 sets an arbitrary gain value and sets the gain. The value is output to the drive signal output unit 130 so that the drive signal output unit 130 drives the motor 100 according to the gain value (S604).

그리고 상기 이득 조절부(150)는 상기 설정한 이득 값을 저장 제어부(160)에 제공하여 저장 제어부(160)가 상기 명령 값, 이득 값 및 에러 값으로 데이터베이스를 구축하여 저장부(170)에 저장한다(S606). 즉, 상기 저장 제어부(160)는 상기 이득 값에 따라 상기 구동신호 출력부(130)가 구동신호를 출력하여 모터(100)를 구동시켰을 때 엔코더(110)가 검출하는 모터(100)의 회전 값을 입력하고, 그 회전 값과 상기 명령 값의 차이 값인 에러 값을 계산한 후 상기 명령 값, 이득 값 및 에러 값으로 예를 들면, 도 4에 도시된 바와 같은 데이터베이스를 구축하여 저장부(170)에 저장한다.The gain control unit 150 provides the set gain value to the storage control unit 160 so that the storage control unit 160 constructs a database with the command value, the gain value, and the error value, and stores the database in the storage unit 170. (S606). That is, the storage controller 160 is a rotation value of the motor 100 is detected by the encoder 110 when the drive signal output unit 130 outputs a drive signal to drive the motor 100 according to the gain value , Calculate an error value that is a difference value between the rotation value and the command value, and then construct the database as shown in FIG. 4 using the command value, the gain value, and the error value. Store in

이와 같은 상태에서 이득 조절부(150)는 저장부(170)에 평균 에러 값 모드의 상기 명령 값으로 저장되어 있는 에러 값을 모두 독출하여 평균 에러 값을 계산하고(S612), 계산한 평균 에러 값에 따라 이득 값을 계산하여 구동신호 출력부(130)로 갱신 출력함과 아울러 저장 제어부(160)에 제공하여 저장부(170)에 저장한다(S614).In this state, the gain adjusting unit 150 reads out all the error values stored in the storage unit 170 as the command value of the average error value mode, calculates an average error value (S612), and calculates the average error value. In operation S614, the gain value is calculated and updated and output to the driving signal output unit 130. The gain value is provided to the storage control unit 160 and stored in the storage unit 170 (S614).

이와 같이 상기 갱신한 이득 값으로 구동신호 출력부(130)가 모터(100)를 구동시키는 상태에서 상기 저장 제어부(160)는 엔코더(110)가 검출하는 모터(100)의 회전 값 및 명령 값을 이용하여 에러 값을 검출하고, 검출한 에러 값을 저장부(170)에 저장한 후(S610), 이득 조절부(150)가 저장부(170)에 저장된 에러 값 즉, 평균 에러 값 모드의 상기 명령 값으로 저장되어 있는 에러 값들을 모두 독출하여 에러 값의 평균을 계산하고, 계산한 에러 값의 평균에 따라 이득 값을 계산하여 구동신호 출력부(130)로 갱신 출력함과 아울러 저장 제어부(160)에 제공하여 저장부(170)에 저장하는 동작을 반복 수행한다.As described above, in the state in which the driving signal output unit 130 drives the motor 100 at the updated gain value, the storage control unit 160 controls the rotation value and the command value of the motor 100 detected by the encoder 110. After detecting the error value by using the error value and storing the detected error value in the storage unit 170 (S610), the gain control unit 150 is the error value stored in the storage unit 170, that is, the average error value mode of the Read all the error values stored as the command value to calculate the average of the error value, calculate the gain value according to the average of the calculated error value and update the output to the drive signal output unit 130 and the storage control unit 160 ) And repeatedly storing the data in the storage unit 170.

이러한 평균 에러 값 모드는 시간의 경과에 따라 에러 값이 점차 줄어들게 되는 것으로서 모터 제이기의 시스템 분석이 어려운 경우에 효과적으로 모터(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 motor 100.

도 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 gain controller 150 first checks the command value input from the outside (S700), and stores the 170 in the load detection mode. It is determined whether the gain value according to the command value is stored (S702).

상기 판단 결과, 이전에 부하량 검출모드에서 상기 명령 값으로 모터(100)를 구동시키지 않아 해당 이득 값이 저장되어 있지 않을 경우에 이득 제어부(150)는 부하량 검출부(140)가 검출하는 부하량을 판단하고(S704), 판단한 부하량에 따라 이득 값을 설정한다(S706).As a result of the determination, if the gain value is not stored because the motor 100 is not driven with the command value in the load detection mode previously, the gain control unit 150 determines the load amount detected by the load detection unit 140. (S704), a gain value is set according to the determined load amount (S706).

그리고 상기 설정한 이득 값을 구동신호 출력부(130)로 출력하여 이득 값에 따라 모터(100)를 구동시키게 하고(S708), 부하량 및 이득 값을 저장 제어부(160)에 제공하여 저장 제어부(160)가 명령 값, 부하량, 이득 값 및 에러 값을 저장부(170)에 저장하게 한다(S710).The set gain value is output to the drive signal output unit 130 to drive the motor 100 according to the gain value (S708), and the load control unit and the gain value are provided to the storage control unit 160 to store the control unit 160. ) Stores the command value, the load amount, the gain value, and the error value in the storage unit 170 (S710).

예를 들면, 상기 저장 제어부(160)는 상기 이득 값을 상기 구동신호 출력부(130)로 출력하였을 경우에 엔코더(110)가 검출하는 모터(100)의 회전값과 상기 명령 값을 이용하여 에러 값을 계산하고, 그 계산한 에러 값과, 명령 값 및 이득 조절부(150)가 제공하는 부하량 및 이득 값으로 도 8에 도시된 바와 같이 부하량 검출모드의 데이터베이스를 구축하고, 그 구축한 부하량 검출모드의 데이터베이스를 저장부(170)에 저장한다.For example, when the storage controller 160 outputs the gain value to the driving signal output unit 130, the storage controller 160 uses the rotation value and the command value of the motor 100 that the encoder 110 detects. Calculates the value, constructs a database of the load detection mode as shown in FIG. 8 using the calculated error value, the load value and the gain value provided by the command value and the gain control unit 150, and detects the established load amount. The database of the mode is stored in the storage unit 170.

이와 같은 상태에서 상기 이득 조절부(150)는 부하량 검출부(140)가 검출하는 부하량을 판단하고(S714), 판단한 부하량을 저장 제어부(160)에 제공하며, 상기 저장 제어부(160)는 상기 명령 값에서 엔코더(110)가 검출하는 회전값을 감산한 에러 값을 판단하며(S716), 판단한 에러 값을 상기 부하량에 따라 저장부(170)에 갱신 저장한다(S718).In this state, the gain control unit 150 determines the load amount detected by the load amount detection unit 140 (S714), and provides the determined load amount to the storage control unit 160, and the storage control unit 160 receives the command value. In operation S716, an error value obtained by subtracting the rotation value detected by the encoder 110 is determined (S716), and the determined error value is updated and stored in the storage unit 170 according to the load amount (S718).

즉, 부하량 검출모드에서 저장부(170)에 저장되는 데이터베이스는 예를 들면, 도 8에 도시된 바와 같이 외부로부터 입력되는 명령 값을 구분하고, 구분한 각각의 명령 값 내에서 부하량을 구분하며, 구분한 부하량에 대한 이득 값 및 에러 값을 갱신 저장한다.That is, the database stored in the storage unit 170 in the load detection mode, for example, as shown in Figure 8 distinguishes the command value input from the outside, and separates the load within each of the separated command value, Update and save the gain value and error value for the divided load.

그리고 상기 이득 조절부(150)는 상기 부하량에 따른 에러값으로 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(160)를 통해 저장부(170)에 저장하는 동작(S720)을 반복 수행한다.In addition, the gain adjusting unit 150 updates the gain value with the error value according to the load amount, outputs the gain value to the driving signal output unit 130, and stores the gain value in the storage unit 170 through the storage control unit 160 ( S720) is repeated.

그리고 상기 단계(S702)의 판단 결과, 이전에 부하량 검출모드에서 상기 명령 값으로 모터(100)를 구동시켜 해당 이득 값이 저장부(170)에 저장되어 있을 경 우에 이득 제어부(150)는 저장 제어부(160)를 통해 저장부(170)에서 해당 명령 값에 대한 이득 값을 독출하고, 독출한 이득 값을 구동신호 출력부(130)로 출력하여 구동신호 출력부(130)가 상기 이득 값에 따라 모터(100)를 구동시키게 한다(S712).As a result of the determination in step S702, when the gain 100 is previously stored in the storage unit 170 by driving the motor 100 with the command value in the load detection mode, the gain control unit 150 stores the storage control unit. The storage unit 170 reads the gain value of the command value through the 160 and outputs the read gain value to the driving signal output unit 130 so that the driving signal output unit 130 according to the gain value. To drive the motor 100 (S712).

이와 같은 상태에서 상기 이득 조절부(150)는 부하량 검출부(140)가 검출하는 부하량을 판단하고(S714), 상기 저장 제어부(160)가 에러 값을 판단하며(S716), 판단한 에러 값을 상기 부하량에 따라 저장부(170)에 갱신 저장하며(S718), 상기 이득 조절부(150)는 상기 부하량에 따른 에러값으로 이득 값을 갱신하여 구동신호 출력부(130)로 출력함과 아울러 저장 제어부(160)를 통해 저장부(170)에 저장하는 동작(S720)을 반복 수행한다.In this state, the gain adjusting unit 150 determines the load amount detected by the load amount detecting unit 140 (S714), the storage control unit 160 determines an error value (S716), and determines the determined error value as the load amount. In accordance with the present invention, the controller 170 updates and stores the data in the storage unit 170 (S718), and the gain adjusting unit 150 updates the gain value with the error value according to the load amount and outputs it to the driving signal output unit 130. The operation (S720) of storing the data in the storage unit 170 through the 160 is repeatedly performed.

이상에서는 대표적인 실시 예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시 예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.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)

회전동력을 발생하는 모터;A motor generating rotational power; 상기 모터의 회전 값을 검출하는 엔코더;An encoder for detecting a rotation value of the motor; 외부로부터 입력되는 명령 값에서 상기 회전값을 감산하는 감산기;A subtractor for subtracting the rotation value from the command value input from the outside; 상기 감산기의 출력신호의 이득을 이득 값에 따라 조절하여 상기 모터에 구동신호로 출력하는 구동신호 출력부;A drive signal output unit configured to adjust a gain of an output signal of the subtractor according to a gain value and output the drive signal to the motor as a drive signal; 상기 모터의 부하량을 검출하는 부하량 검출부;A load amount detector for detecting a load amount of the motor; 외부로부터 입력되는 모드 선택신호에 따라 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 또는 부하량 검출모드로 동작하여 해당되는 동작모드의 이득 값을 상기 구동신호 출력부로 출력하는 이득 조절부; 및A gain adjusting unit for operating 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 and outputting a gain value of a corresponding operation mode to the driving signal output unit; And 상기 수동모드, 시스템 모델링 모드, 평균 에러 값 모드 및 부하량 검출모드에 따라 외부로부터 입력되는 명령 값, 이득 값 및 부하량과, 상기 명령 값에서 상기 회전값을 감산한 에러 값으로 데이터베이스를 구축하고, 구축한 데이터베이스를 저장부에 저장하는 것을 제어하는 저장 제어부를 포함하여 구성된 자동이득 보상 기능을 갖는 모터 제어기.A database is constructed with a command value, a gain value, and a load amount input from the outside according to the manual mode, the system modeling mode, the average error value mode, and the load detection mode, and an error value obtained by subtracting the rotation value from the command value. A motor controller having an automatic gain compensation function comprising a storage control unit for controlling storing of a database in a storage unit. 모드 선택신호에 따라 모터를 구동시킬 동작모드를 판단하는 단계; 및Determining an operation mode for driving the motor according to the mode selection signal; And 상기 판단한 동작모드에 따라 이득 값을 설정하고, 설정한 이득 값을 구동신호 출력부로 출력하여 상기 모터의 구동을 제어하는 단계;를 포함하고,And setting a gain value according to the determined operation mode, and controlling the driving of the motor by outputting the set gain value to a driving signal output unit. 상기 동작모드가 시스템 모델링 모드일 경우에;When the operation mode is a system modeling mode; 시스템 모델링 모드에서 외부로부터 입력되는 명령 값에 대한 이득 값이 저장되어 있는지의 여부를 판단하는 단계;Determining whether a gain value for a command value input from the outside is stored in the system modeling mode; 상기 판단 결과 이득 값이 저장되어 있지 않을 경우에 미리 설정한 시스템 방정식에서 전달함수를 계산하는 단계;Calculating a transfer function from a preset system equation when the gain value is not stored as a result of the determination; 상기 계산한 전달함수에 따라 이득 값을 설정하는 단계;Setting a gain value according to the calculated transfer function; 상기 설정한 이득 값에 대하여 RLS(Recursive Least Square) 알고리즘으로 불확실성을 낮출 수 있는 최적의 이득 값을 계산하여 상기 구동신호 출력부로 출력하는 단계;Calculating an optimum gain value for reducing uncertainty with a recursive least square (RLS) algorithm with respect to the set gain value and outputting the optimal gain value to the driving signal output unit; 상기 판단 결과 이득 값이 저장되어 있을 경우에 그 저장된 이득 값을 상기 구동신호 출력부로 출력하는 단계; 및Outputting the stored gain value to the driving signal output unit when the gain value is stored as a result of the determination; And 상기 출력한 이득 값을 따라 발생되는 모터의 에러 값을 검출하고 검출한 에러값에 따라 상기 이득 값을 갱신하여 상기 구동신호 출력부로 출력하는 것을 반복 수행하는 단계를 포함하여 구성된 자동이득 보상 기능을 갖는 모터 제어기의 제어방법.Detecting an error value of the motor generated according to the output gain value, and repeatedly updating the gain value according to the detected error value and outputting the gain value to the driving signal output unit. Control method of motor controller. 삭제delete 제 2 항에 있어서, 상기 동작모드가 평균 에러 값 모드일 경우에;3. The method of claim 2, wherein: the operating mode is an average error value mode; 평균 에러 값 모드에서 외부로부터 입력되는 명령 값에 대한 이득 값이 저장 되어 있는지의 여부를 판단하는 단계;Determining whether a gain value for a command value input from the outside is stored in the average error value mode; 상기 판단 결과 이득 값이 저장되어 있지 않을 경우에 임의의 이득 값을 설정하여 상기 구동신호 출력부로 출력하고, 에러값을 검출하여 저장하는 단계;If a gain value is not stored as a result of the determination, setting an arbitrary gain value and outputting it to the driving signal output unit, and detecting and storing an error value; 상기 판단 결과 이득 값이 저장되어 있을 경우에 그 저장된 이득 값을 상기 구동신호 출력부로 출력하고, 에러값을 검출하여 저장하는 단계; 및If the gain value is stored as a result of the determination, outputting the stored gain value to the driving signal output unit, and detecting and storing an error value; And 상기 저장한 에러 값의 평균을 계산하고, 계산한 페러 값의 평균에 따라 이득 값을 설정하여 상기 구동신호 출력부로 출력하는 것을 반복하는 단계를 포함하여 구성됨을 특징으로 하는 자동이득 보상 기능을 갖는 모터 제어기의 제어방법.Comprising the step of calculating the average of the stored error value, and setting the gain value according to the average of the calculated ferro value and outputting the output to the drive signal output unit motor having an auto gain compensation function, characterized in that Control method of the controller. 제 2 항에 있어서, 상기 동작모드가 부하량 검출모드일 경우에;3. The method of claim 2, wherein the operation mode is a load detection mode; 부하량 검출모드에서 외부로부터 입력되는 명령 값에 대한 이득 값이 저장되어 있는지의 여부를 판단하는 단계;Determining whether a gain value for a command value input from the outside is stored in the load detection mode; 상기 판단 결과 이득 값이 저장되어 있지 않을 경우에 상기 모터의 부하량을 검출하고, 검출한 부하량에 따라 이득 값을 설정하여 상기 구동신호 출력부로 출력하며, 에러 값을 검출하는 단계;Detecting a load amount of the motor when the gain value is not stored as a result of the determination, setting a gain value according to the detected load amount, and outputting the gain value to the driving signal output unit, and detecting an error value; 상기 판단 결과 이득 값이 저장되어 있을 경우에 그 저장된 이득 값을 상기 구동신호 출력부로 출력하며, 부하량 및 에러 값을 검출하는 단계;If the gain value is stored as a result of the determination, outputting the stored gain value to the driving signal output unit and detecting a load amount and an error value; 상기 검출한 부하량에 따른 에러 값으로 상기 이득 값을 갱신하여 상기 구동신호 출력부로 출력하는 것을 반복하는 단계를 포함하여 구성됨을 특징으로 하는 자동이득 보상 기능을 갖는 모터 제어기의 제어방법.And updating the gain value with the error value according to the detected load amount and repeating the output of the gain value to the driving signal output unit.
KR1020080062384A 2008-06-30 2008-06-30 Motor controller with Auto Gain Tuning function and control method thereof KR100989956B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
JP6751615B2 (en) Motor system
US10416612B2 (en) Control device and method for tuning a servo motor
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
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
US8295954B2 (en) Method and device for adjusting a regulating device
US20100202771A1 (en) Lens device
JP2019170114A (en) Control apparatus of motor, robot, and control method of the motor
JP2003169488A (en) Controller of servo motor and control method
JP2006254630A (en) Motor controller and control method therefor
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
KR100794893B1 (en) Motor control apparatus

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