This application claims the priority of Korean Patent Application No. 2002-37516, filed Jun. 29, 2002 in the Korean Intellectual Property Office, which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to a method of controlling a motor, and more particularly, to a motor control system and a method fast-adaptable to an operation environment to control a motor in a particular environment with control factors which are designed to consider an environment and operation characteristics of a system using the motor.
2. Description of the Related Art
When the analysis of the control resource and mechanism is completed, a controller is designed in operation 210. For example, in the case of a PID controller, constants of Kp, Ki, and Kd are determined in the controller to have a transfer function of Kp+Ki/s+Kd*s, and the constants are applied to the PID controller. Here, processes are programmed as a firmware and performed in a processor such as a CPU.
When the controller is designed, the motor is driven according to specification of the controller to operate a system, in operation 220.
In the case of using the motor control system of
When the control resource and mechanism are analyzed, controllers are designed and applied in operation 310. Here, a plurality of controllers are designed taking into account changes in loads. For example, in the case of using PID controllers, constants of Kp, Ki, and Kd are determined in the controllers to have a transfer function of Kp+Ki/s+Kd*s. The constants are Kp, Ki, and Kd applied to the PID controllers.
When the control constants used in the controllers are determined, a motor is driven according to the controllers in order to operate a system in operation 320.
Then, one of the plurality of controllers which generates the best motor driving result or system operation result, is selected and the system is controlled using the selected controller in operation 330.
The motor control system of
The conventional motor control method of
Accordingly, it is an aspect of the present invention to provide a method and an apparatus to drive a motor to select and apply a motor driving controller optimum for an operation environment while not wasting system resources.
Additional aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
The foregoing and/or other aspects of the present invention are achieved by providing a method of controlling a motor in a motor driving system. The method includes calculating N control algorithms for respective controllers to correspond to N motor driving conditions, driving the motor under N motor driving environments by using at least one controller of the respective controllers, calculating performance indexes by using predetermined control factors which are detected when driving the motor using the at least one controller under the N motor driving environments, and storing the calculated N control algorithms for the respective controllers and the performance indexes corresponding to each of the N motor driving conditions.
According to an aspect of the invention, the calculating the performance indexes includes assigning predetermined weights to each of the predetermined control factors, and calculating the performance indexes by combining the predetermined control factors to which the weights are assigned.
According to an aspect of the present invention, the control factors include maximum overshoot, response delay, velocity ripple, settling time, or acceleration information.
The foregoing and/or other aspects of the present invention are achieved by providing a method of controlling a motor in a motor control system in which N controllers corresponding to N driving conditions include a base controller to be applied to each of the N driving conditions. The method includes driving the motor by applying the base controller, converting predetermined information detected by driving the motor into system performance information, comparing the system performance information with N system performance information of the respective N controllers, and driving the motor by selecting an optimum controller under the driving condition to correspond to the system performance information most similar to the detected predetermined information.
According to an aspect of the invention, the converting the predetermined information which is detected by driving the motor into the system performance information, includes assigning predetermined weights to each of the predetermined information, and calculating the system performance information by combining the predetermined information to which the weights are assigned.
According to an aspect of the invention, the detected predetermined information includes maximum overshoot, response delay, velocity ripple, settling time, or acceleration information.
The foregoing and/or other aspects of the present invention are achieved by providing a motor control method in a system driven by a motor including calculating N control algorithms for respective controllers to correspond to N motor driving conditions, driving a motor under N motor driving environments by using at least one controller of the respective controllers, calculating performance indexes by using predetermined control factors which are detected when driving the motor using the at least one controller used under the N motor driving environments. The method also includes storing the respective controllers and the performance indexes corresponding to each of the N motor driving conditions, driving the motor by applying the at least one controller, calculating a real performance index by using control results which are detected when driving the motor, comparing the real performance index with the stored performance indexes, and selecting the stored performance index similar to the real performance index, and driving the motor using the respective controller which corresponds to the selected stored performance index.
According to an aspect of the invention, the control factors include maximum overshoot, response delay, velocity ripple, settling time, or acceleration information.
According to an aspect of the invention, the calculating the performance indexes includes assigning predetermined weights to each of the control factors, and calculating the performance indexes by combining the control factors to which the weights are assigned.
According to an aspect of the invention, the calculating the real performance index includes assigning predetermined weights to each of the control results which are detected when driving the motor, and calculating the real performance index by combining the control results to which the weights are assigned.
The foregoing and/or other objects of the present invention are achieved by providing a system to drive a motor including a controller calculation unit to obtain functions of control parameters considering N driving environments and to calculate control algorithms according to the functions, and a memory to store the functions of the control parameters and the corresponding control algorithms.
According to an aspect of the invention, the control parameters include maximum overshoot, response delay, velocity ripple, settling time, or acceleration information.
According to an aspect of the invention, the performance indexes are calculated by assigning predetermined weights to each of the control factors and combining the control factors to which the weights are assigned.
The above and/or other aspects and advantages of the invention will become apparent and more appreciated from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the present preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.
Referring to
A plurality of controllers which correspond to each of the environments are generated in operation 410.
One of the plurality of controllers is determined as a base controller in operation 420.
The base controller is applied to all of the predetermined environments to drive the motor, and control factors x1, x2, x3, etc., which are related to the performance of a system are detected, in operation 430. Here, the control factors include acceleration information, velocity ripple, position accuracy, maximum overshoot, settling time, and response delay. In the conventional method, only acceleration information or velocity information may be obtained by using a signal obtained by using a detector such as an encoder to drive the motor, and a CPU clock. However, in the present invention, the various control factors such as the acceleration information, velocity ripple, position accuracy, maximum overshoot, settling time, and response delay may be obtained by using an encoder signal and a CPU clock signal.
Performance indexes are calculated using the control factors in operation 440. Here, the performance indexes may be calculated as shown in
In operation 520, the order of the control factors is determined. In operation 530, the performance indexes are determined by combining the control factors according to the determined order. Here, imposing weights and combining of the control factors are only an example, and any function can be used as long as the control factors are used. The number of results formed by converting the control factors, which are obtained by applying the base controller to each driving environment, into the performance indexes appears the number of N, which corresponds to the number of the driving environments.
The driving environments, corresponding controllers and performance indexes are stored in a table in operation 450 of
The above-described processes are performed to form the motor driving control environments. The processes hereinafter are performed to select and apply the controller to drive the motor.
The motor is driven using the base controller in operation 460.
The control factors are obtained using the results that are obtained from the detector such as the encoder when driving the motor, in operation 470. Here, the control factors are the same as the control factors which are set when designing the controllers.
The performance indexes are calculated using the same method of calculating the performance indexes when designing the controllers (i.e., by using the obtained control factors), in operation 480. The calculated performance indexes and the performance indexes of each environment which are stored in the table, are compared to select the controller corresponding to the driving environment that has the most similar performance index, in operation 490.
In order to perform the method of controlling the motor, the system has to include a controller generation unit which generates the controllers to correspond to each of N driving environments, and a memory which stores the table of
In the present invention, the controllers are pre-designed based on various system environments, and an optimum controller for a current motor driving environment is selected using control factors which are detected by applying one controller of the pre-designed controllers when driving the motor. Unlike the conventional method of selecting the optimum controller for the current driving environment by driving each of the controllers, the present invention detects the driving environment when designing the controllers using the control factors, and selects the controller designed according to the detected driving environment. In the present invention, since all of the controllers are not driven, the system is not wasted, and an amount of time to detect the optimum controller is reduced.
Although a few preferred embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2002-37516 | Jun 2002 | KR | national |