This application claims priority of Chinese Patent Application No. 201510500888.X, filed on Aug. 14, 2015.
The disclosure relates to a method and a system for estimating operation parameters of a servomotor, and more particularly to a method and a system for estimating a torque constant, inertia and a friction coefficient of the servomotor.
Servomotor systems are widely used in industries, and a reliable automatic control method of the servomotor system is needed, such that manpower cost may be reduced and productivity may be increased.
However, differently structured servomotors require different operation parameters (e.g., a torque constant, inertia and a friction coefficient) for control thereof.
Therefore, an object of the disclosure is to provide a method and a system for rapidly estimating operation parameters of a servomotor.
According to an aspect of the disclosure, the method for estimating operation parameters of a servomotor is described. The method is to be implemented by a system that includes a current control loop for outputting an output current to the servomotor, and a control module for controlling the current control loop. The method includes the following steps:
a) outputting, by the control module, a current signal to the current control loop to enable the current control loop to output the output current to the servomotor;
b) driving, by the current control loop, the servomotor to rotate stably at an initial angular velocity by limiting integrated value of a difference between a current value of the current signal and a current value of the output current;
c) computing, by the control module, d- and q-axis components of an initial voltage when the servomotor rotates at the initial angular velocity;
d) outputting, by the control module, the initial voltage having the d- and q-axis components to the current control loop for accelerating the servomotor from the initial angular velocity to a predetermined angular velocity by feed-forward control; and
e) after the servomotor rotates at the predetermined angular velocity, computing, by the control module, at least one operation parameter of the servomotor.
According to another aspect of the disclosure, the system for estimating operation parameters of a servomotor includes a current control loop and a control module.
The current control loop is configured to output an output current to the servomotor.
The control module is configured to control the current control loop, and is operable to:
output a current signal to the current control loop to enable the current control loop to output the output current to the servomotor and to drive the servomotor to rotate stably at an initial angular velocity by limiting integrated value of a difference between a current value of the current signal and a current value of the output current;
compute d- and q-axis components of an initial voltage when the servomotor rotates at the initial angular velocity;
output the d- and q-axis components of the initial voltage to the current control loop for accelerating the servomotor from the initial angular velocity to a predetermined angular velocity by feed-forward control; and
compute at least one operation parameter of the servomotor after the servomotor rotates at the predetermined angular velocity.
Other features and advantages of the disclosure will become apparent in the following detailed description of the embodiments with reference to the accompanying drawings, of which:
Referring to
The system 100 includes a control loop module 3 and a control module 1.
The control loop module 3 includes a current control loop 32, a rotating speed control loop 31 and an angular position control loop 30. The current control loop 32 is configured to output an output current to the servomotor 4. The rotating speed control loop 31 is configured to drive the servomotor 4 according to an angular velocity signal. The angular position control loop 30 is configured to generate the angular velocity signal outputted to the rotating speed control loop 31.
The control module 1 is configured to control the current control loop 32 and the rotating speed control loop 31. In this embodiment, the control module 1 is a computer provided with a software and/or a firmware. The control module 1 is programmed to cooperate with the control loop module 3 to implement a method for estimating the operation parameters of the servomotor 4 according to this disclosure, so that the servomotor 4 loaded with the load 2 can be controlled, for example by the control loop module 3, according to the operation parameters.
Referring further to
It should be noted that, for the sake of convenience of description, notation standard are briefly addressed herein. A symbol with a “*” represents a value of an instruction signal, e.g., ω* represents an angular velocity value of the angular velocity signal for instructing the rotating speed control loop 31. A symbol with a “^” represents an estimated quantity, e.g., Ĵ represents the estimated inertia. A symbol without any tag represents an actual physical quantity, e.g., J represents an actual inertia.
Block diagrams of the angular position control loop 30, the rotating speed control loop 31 and the current control loop 32 are illustrated in
Referring to
where θ is an angle value of an angular position of the servomotor 4, θ* is an angle value of an angle signal for instructing the angular position control loop 30, Kp_p is a proportional gain of the angular position control loop 30 associated with a cutoff frequency and a bandwidth of the angular position control loop 30, and s is a complex frequency parameter.
Referring to
where ω is an angular velocity value of an actual angular velocity of the servomotor 4, ω* is an angular velocity value of the angular velocity signal, Ki_ν is an integral gain of the rotating speed control loop 31, B is an actual friction coefficient of the servomotor 4, and ων is a bandwidth of the rotating speed control loop 31 associated with the cutoff frequency.
In this embodiment, the rotating speed control loop 31 is implemented by a proportional integral controller (PI controller). The rotating speed control loop 31 computes a difference by subtracting the angular velocity value of the actual angular velocity ω of the servomotor 4 from the angular velocity value of the angular velocity signal ω*, which is generated by the angle control loop 30. Then, the rotating speed control loop 31 processes the difference with reference to the integral gain Ki_ν and a proportional gain Kp_ν of the rotating speed control loop 31 so as to obtain a torque value of a torque signal T*e. It should be noted that values of the integral gain Ki_ν and the proportional gain Kp_ν are to be solved herein. Next, the torque value of the torque signal T*e is divided by the estimated torque constant {circumflex over (K)}t to obtain a current value of a current signal i*. In particular, the current signal is used to instruct the current control loop 32, and has a d-axis component i*d and a q-axis component i*q. Referring to
where iq is a q-axis component of the output current, i*q is the q-axis component of the current signal, Kp_iq is a proportional gain of the q-axis control loop 321, Lq is a q-axis inductance, and ωiq is a bandwidth of the q-axis control loop 321. The d-axis control loop 322 has a transfer function similar to that of the q-axis control loop 322. As shown in
Referring to
It is known that an actual motor torque Te of the servomotor 4 is equal to the q-axis component iq of the output current multiplied by a torque constant Kt. The angular velocity value of the actual angular velocity ω of the servomotor 4 is derived from a difference between the actual motor torque Te of the servomotor 4 and an actual load torque TL of the load 2 with reference to the actual inertia J and an actual friction coefficient B.
As illustrated in
Furthermore, for the current control loop 32 in this embodiment, integrated values of the differences between the q- and d-axis components i*q, i*d of the current signal and the q- and d-axis components iq, id of the output current are limited by respective limiters 3211, 3221 so as to limit the integrated values in a reasonable range.
It is worth noting that the d-axis component i*d is set as zero (i*d=0) in this embodiment. In other words, only the q-axis component i*q of the current signal is considered in the following description, and the d-axis control loop 322 may be omitted in other embodiments.
Specifically, referring back to
At first, the current configuring unit 11 generates the q-axis component i*q of the current signal for the current control loop 32, and the current control loop 32 drives the servomotor 4 to rotate stably at an initial angular velocity ω0 by limiting the integrated value of the difference between the current value of the current signal i* and a current value of the output current.
When the servomotor 4 rotates at the initial angular velocity ω0, the initial-voltage configuring unit 12 of the control module 1 computes the d-axis component νd0 and the q-axis component νq0 of the initial voltage, and outputs the d- and q-axis components νd0, νq0 of the initial voltage to the current control loop 32 for accelerating the servomotor 4 from the initial angular velocity ω0 to a predetermined angular velocity ω1 by feed-forward control and by relaxing the limitation of the integrated value. The control module 1 then computes at least one operation parameter of the servomotor 4 after the servomotor 4 rotates at the predetermined angular velocity ω1.
For example, when the servomotor 4 rotates at the predetermined angular velocity ω1, the torque-constant estimating unit 13 computes an initial estimated torque constant {circumflex over (K)}t0. The initial-inertia estimating unit 14 computes an initial estimated inertia Ĵ0 with the q-axis component i*q of the current signal equal to zero (i.e., i*q=0). The first calculator 171 computes an initial proportional gain Kp_ν0 and an initial integral gain Ki_ν0 of the rotating speed control loop 31 based upon the initial estimated torque constant {circumflex over (K)}t0 and the initial estimated inertia Ĵ0, and then controls the rotating speed control loop 31 with the initial proportional gain Kp_ν0 and the initial integral gain Ki_ν0.
In addition, the control module 1 measures the q-axis component iq of the output current which corresponds to the predetermined angular velocity ω1. Based upon the predetermined angular velocity ω1 and the q-axis component iq of the output current, the torque-constant estimating unit 13 computes the estimated torque constant {circumflex over (K)}t, and the friction-coefficient estimating unit 15 computes the estimated friction coefficient {circumflex over (B)}. Furthermore, the inertia estimating unit 16 computes the estimated inertia Ĵ using curve fitting based upon a plurality of angular velocity values and the estimated friction coefficient {circumflex over (B)}.
Finally, the second calculator 172 computes a proportional gain Kp_ν and an integral gain Ki_ν for controlling the rotating speed control loop 31 based upon the estimated torque constant {circumflex over (K)}t and the estimated friction coefficient {circumflex over (B)}.
Referring to
In duration t0-t1 (step S1), the current configuring unit 11 of the control module 1 outputs the q-axis component i*q of the current signal to the current control loop 32 to enable the current control loop 32 to output the q-axis component iq of the output current to the servomotor 4. In step S1, the q-axis component i*q of the current signal is equal to i1 (i*q=i1).
The current control loop 32 drives the servomotor 4 to rotate stably at the initial angular velocity ω0 by limiting the integrated value of the difference between the q-axis component i*q of the current signal and the q-axis component iq of the output current. When the servomotor 4 reaches the initial angular velocity ω0 at instant t1, the q-axis component iq of the output current is equal to i2 (iq=i2).
In duration t1-t2 (step S2), the initial-voltage configuring unit 12 computes d- and q-axis components νd0 and νq0 of the initial voltage when the servomotor 4 rotates at the initial angular velocity ω0. The d- and q-axis components νd0 and νq0 of the initial voltage is computed based upon:
νd0=−ω0×P×Lq×iq, and
νq0=ω0×P×Ld×id+ω0×P×λ,
where Ld and Lq are respectively d- and q-axis components of inductance, P are pole pair of servomotor, and λ is a physical quantity of flux linkage. Reference may be made to “Permanent Magnet Synchronous and Brushless DC Motor Drives,” 2010 (Ch. 3, pages 227-233) for calculation of the physical quantity of the flux linkage.
In duration t2-t3 (step S3), the initial-voltage configuring unit 12 outputs the initial voltage having the d- and q-axis components νd0 and νq0 to the current control loop 32, so that the servomotor 4 is accelerated by feed-forward control. As a result, the q-axis component iq of the output current follows the q-axis component i*q of the current signal. When the q-axis component iq of the output current reaches the q-axis component i*q of the current signal, the control module 1 commands the current control loop 32 to relax the limitation of the integrated value, so as to accelerate the servomotor 4 to achieve the predetermined angular velocity ω1 at instant t3.
In duration t3-t4 (step S4), the servomotor 4 stably rotates at the predetermined angular velocity ω1, and the torque-constant estimating unit 13 computes the initial estimated torque constant {circumflex over (K)}t0 based upon
where ω is the angular velocity value of the actual angular velocity of the servomotor 4. In the following, the initial-inertia estimating unit 14 computes the initial estimated inertia Ĵ0 based upon
where α is a current angular acceleration of the servomotor 4 accelerating from the initial angular velocity ω0 to the predetermined angular velocity ω1, and i1 is the value at which the q-axis component i*q of the current signal is set (i*q=i1). Next, the current configuring unit 11 outputs to the current control loop 32 the current signal with the q-axis component i*q equal to zero (i*q=0), so that the rotating speed control loop 31 takes over the controlling of the servomotor 4 from the current control loop 32.
Then, the first calculator 171 computes the initial proportional gain Kp_ν0 based upon Kp_ν0=2·ων·J0 and the initial integral gain Ki_ν0 based upon Ki_ν0=ων2·J0. Following the computation of the initial proportional gain Kp_ν0 and the initial integral gain Ki_ν0, the control module 1 controls the rotating speed control loop 31 with the initial proportional gain Kp_ν0 and the initial integral gain Ki_ν0. It is worth noting that in
Furthermore, at the end of the duration t3-t4 (step S5), the torque-constant estimating unit 13 computes the estimated torque constant {circumflex over (K)}t of the servomotor 4 based upon
and the friction-coefficient estimating unit 15 computes the estimated friction coefficient {circumflex over (B)} of the servomotor 4 based upon
where rs is a resistance value of the servomotor 4, and i3 is the q-axis component iq of the output current measured when the servomotor rotates 4 at the predetermined angular velocity ω1 in the duration t3-t4.
Finally, in duration t4-t7 (step S6), the control module 1 deactivates the servomotor 4 so as to make the servomotor 4 decelerate for computing the estimated inertia Ĵ. Referring to
Specifically, the estimated inertia Ĵ is computed based upon
where N is a constant associated with time solved by the curve fitting with an exponential function ω(t)=M·eN·t, and M is a constant associated with the angular velocity of the servomotor 4 solved by the curve fitting with the exponential function.
Subsequently, the second calculator 172 computes the proportional gain based upon Kp_ν=ων·Ĵ and the integral gain based upon Ki_ν=ων·{circumflex over (B)}, and controls the rotating speed control loop 31 with the proportional gain Kp_ν and the integral gain Ki_ν. Therefore, the rotating speed control loop 31 is capable of controlling the servomotor 4 to stably operate.
Referring to
during acceleration of the servomotor 4, the initial estimated inertia is computed as Ĵ0=1.4×10−3 (kg·m2) when the servomotor 4 rotates substantially at 1500 rpm, the estimated friction coefficient is computed as
during deceleration of the servomotor 4, and the estimated inertia is computed as Ĵ=3.44×10−4 (kg·m2) before the servomotor 4 comes to a stop. The duration for estimating the operation parameters by the method of this disclosure is only about 1.4 seconds.
Referring to Table 1 below, an error between each of the operation parameters estimated by the method of this disclosure and manual setting value is shown. The error of the estimated inertia Ĵ is 5.0%. The error of the estimated friction coefficient {circumflex over (B)} is roughly 5.1%. The error of the estimated torque constant {circumflex over (K)}t is roughly 1.5%.
By the method of this disclosure, the system 100 is capable of estimating the operation parameters of the servomotor 4 and computing the proportional gain Kp_ν and the integral gain Ki_ν according to the operation parameters for automatically controlling the servomotor 4 within about 1.4 seconds.
To sum up, by limiting the integrated value of the difference between the current value of the current signal i* and the current value of the output current, operation errors of the servomotor 4 are reduced so that the servomotor 4 controlled by the system 100 is capable of stable operation. Moreover, by the method of this disclosure, the operation parameters, such as the estimated inertia Ĵ, the estimated friction coefficient {circumflex over (B)} and the estimated torque constant {circumflex over (K)}t, are automatically, precisely and rapidly computed during operation of the servomotor 4. So-called dynamic performance, i.e. automatically and rapidly tuning the operation parameters for control of the servomotor 4, is achieved.
In the description above, for the purposes of explanation, numerous specific details have been set forth in order to provide a thorough understanding of the embodiment. It will be apparent, however, to one skilled in the art, that one or more other embodiments may be practiced without some of these specific details. It should also be appreciated that reference throughout this specification to “one embodiment,” “an embodiment,” an embodiment with an indication of an ordinal number and so forth means that a particular feature, structure, or characteristic may be included in the practice of the disclosure. It should be further appreciated that in the description, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of various inventive aspects.
While the disclosure has been described in connection with what is considered the exemplary embodiment, it is understood that this disclosure is not limited to the disclosed embodiment but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements.
Number | Date | Country | Kind |
---|---|---|---|
2015 1 0500888 | Aug 2015 | CN | national |
Number | Name | Date | Kind |
---|---|---|---|
6940251 | Sarlioglu | Sep 2005 | B1 |
7088077 | Nagashima | Aug 2006 | B2 |
7211984 | Patel | May 2007 | B2 |
7339344 | Borisavljevic | Mar 2008 | B2 |
7405531 | Khatib | Jul 2008 | B2 |
7860624 | Kubota | Dec 2010 | B2 |
7986118 | Yoshikawa | Jul 2011 | B2 |
8207701 | Tang | Jun 2012 | B2 |
8232758 | Okita | Jul 2012 | B2 |
8519649 | Taniguchi | Aug 2013 | B2 |
8860355 | Ueda | Oct 2014 | B2 |
8872463 | Sonoda | Oct 2014 | B2 |
20050137739 | Yoshida | Jun 2005 | A1 |
20060069481 | Kubota | Mar 2006 | A1 |
20060097688 | Patel | May 2006 | A1 |
20060250101 | Khatib | Nov 2006 | A1 |
20080067960 | Maeda | Mar 2008 | A1 |
20080258670 | Yoshikawa | Oct 2008 | A1 |
20100000815 | Tang | Jan 2010 | A1 |
20110050146 | Okita | Mar 2011 | A1 |
20110285337 | Taniguchi | Nov 2011 | A1 |
20130026963 | Sonoda | Jan 2013 | A1 |
20130063068 | Ueda | Mar 2013 | A1 |
20140265952 | Katariya | Sep 2014 | A1 |
20140368137 | Taniguchi | Dec 2014 | A1 |
Number | Date | Country | |
---|---|---|---|
20170045870 A1 | Feb 2017 | US |