METHOD AND SYSTEM FOR ESTIMATING OPERATION PARAMETERS OF A SERVOMOTOR
20170045870 ยท 2017-02-16
Inventors
Cpc classification
H02P23/14
ELECTRICITY
G05B2219/50185
PHYSICS
G05B19/416
PHYSICS
H02P21/14
ELECTRICITY
International classification
H02P23/14
ELECTRICITY
Abstract
A method for estimating operation parameters of a servomotor is described. The method includes the steps of: driving the servomotor to rotate stably at an initial angular velocity; computing d- and q-axis components of an initial voltage when the servomotor rotates at the initial angular velocity; accelerating the servomotor to a predetermined angular velocity according to the initial voltage; and computing at least one operation parameter of the servomotor after the servomotor rotates at the predetermined angular velocity.
Claims
1. A method for estimating operation parameters of a servomotor, the method 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 comprising the steps of: 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.
2. The method of claim 1, the system further including a rotating speed control loop that is controlled by the control module to drive the servomotor according to an angular velocity signal, wherein, in step c), the control module is configured to compute the d- and q-axis components of the initial voltage based upon:
.sub.d0=.sub.0PL.sub.qi.sub.q, and
.sub.q0=.sub.0PL.sub.di.sub.d+.sub.0P, where .sub.d0 and .sub.q0 are respectively the d- and q-axis components of the initial voltage, L.sub.d and L.sub.q are respectively d- and q-axis components of inductance, .sub.0 is the initial angular velocity, P are pole pair of servomotor, i.sub.d and i.sub.q are respectively d- and q-axis components of the output current, and is a physical quantity of flux linkage; wherein, in step d), the control module outputs the initial voltage to the current control loop, so that the q-axis component of the output current follows a q-axis component of the current signal.
3. The method of claim 2, wherein: in step d), when the q-axis component of the output current reaches the q-axis component of the current signal, the control module commands the current control loop to relax the limitation of the integrated value, so as to accelerate the servomotor to achieve the predetermined angular velocity; in step e), the control module computes an estimated friction coefficient when the servomotor rotates at the predetermined angular velocity.
4. The method of claim 3, wherein step e) includes the sub-steps of: when the servomotor rotates at the predetermined angular velocity .sub.1, computing an initial estimated torque constant based upon
5. The method of claim 4, wherein step e) further includes the sub-steps of: deactivating the servomotor so as to make the servomotor decelerate; sampling a plurality of angular velocity values during deceleration of the servomotor; and computing an estimated inertia using curve fitting based on the angular velocity values and the estimated friction coefficient.
6. The method of claim 5, wherein, in step e), the control module is configured to compute an estimated torque constant {circumflex over (K)}.sub.t based upon
7. The method of claim 6, further comprising the steps of computing a proportional gain based upon K.sub.p.sub._.sub.=.sub..Math. and an integral gain based upon K.sub.i.sub._.sub.=.sub..Math.{circumflex over (B)}, and controlling the rotating speed control loop with the proportional gain K.sub.p.sub._.sub. and the integral gain K.sub.i.sub._.sub..
8. A system for estimating operation parameters of a servomotor, the system comprising: a current control loop configured to output an output current to the servomotor; and a control module configured to control said current control loop, and being operable to output a current signal to said current control loop to enable said 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 said 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.
9. The system of claim 8, further comprising a rotating speed control loop configured to be controlled by said control module to drive the servomotor according to rotating speed of the servomotor, wherein said control module is configured to compute the d- and q-axis components of the initial voltage based upon:
.sub.d0=.sub.0PL.sub.qi.sub.q, and
.sub.q0=.sub.0PL.sub.di.sub.d+.sub.0P, where .sub.d0 and .sub.q0 are respectively the d- and q-axis components of the initial voltage, L.sub.d and L.sub.q are respectively d- and q-axis components of inductance, .sub.0 is the initial angular velocity, P are pole pair of servomotor, i.sub.d and i.sub.q are respectively d- and q-axis components of the output current, and is a physical quantity of flux linkage; wherein said current control loop is configured to output the output current having the q-axis component that follows a q-axis component of the current signal.
10. The system of claim 9, wherein said control module includes a friction-coefficient estimating unit configured to: when the q-axis component of the output current reaches the q-axis component of the current signal, command said current control loop to re lax the limitation of the integrated value, so as to accelerate the servomotor to achieve the predetermined angular velocity; and compute an estimated friction coefficient when the servomotor rotates at the predetermined angular velocity.
11. The system of claim 10, wherein said control module includes: a current configuring unit configured to output to said current control loop the current signal with the q-axis component equal to 0; a torque-constant estimating unit configured to compute an initial estimated torque constant when the servomotor rotates at the predetermined angular velocity; an initial-inertia estimating unit configured to compute an initial inertia based on the initial estimated torque constant when the servomotor rotates at the predetermined angular velocity; and a calculator configured to compute an initial proportional gain and an initial integral gain based on the initial inertia, and to control said rotating speed control loop with the initial proportional gain and the initial integral gain.
12. The system of claim 11, wherein: said torque-constant estimating unit is configured to compute the initial estimated torque constant based upon
13. The system of claim 11, wherein said control module further includes an inertia estimating unit configured to: deactivate the servomotor so as to make the servomotor decelerate; sample a plurality of angular velocity values during deceleration of the servomotor; and compute an estimated inertia using curve fitting based on the angular velocity values and the estimated friction coefficient.
14. The system of claim 13, wherein said control module is further operable to: compute an estimated torque constant {circumflex over (K)}.sub.t based upon
15. The system of claim 14, wherein said control module is further operable to compute a proportional gain based upon the estimated inertia, to compute an integral gain based upon the estimated friction coefficient, and to control said rotating speed control loop with the proportional gain and the integral gain.
16. The system of claim 15, wherein said control module is operable to compute the proportional gain based upon K.sub.p.sub._.sub.=.sub..Math., and to compute the integral gain based upon K.sub.i.sub._.sub.=.sub..Math.{circumflex over (B)}.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] 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:
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
DETAILED DESCRIPTION
[0028] Referring to
[0029] The system 100 includes a control loop module 3 and a control module 1.
[0030] 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.
[0031] 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.
[0032] Referring further to
[0033] 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., represents an actual inertia.
[0034] Block diagrams of the angular position control loop 30, the rotating speed control loop 31 and the current control loop 32 are illustrated in
[0035] 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, K.sub.p.sub._.sub.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.
[0036] 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, K.sub.i.sub._.sub. is an integral gain of the rotating speed control loop 31, B is an actual friction coefficient of the servomotor 4, and .sub. is a bandwidth of the rotating speed control loop 31 associated with the cutoff frequency.
[0037] 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 K.sub.i.sub._.sub. and a proportional gain K.sub.p.sub._.sub. of the rotating speed control loop 31 so as to obtain a torque value of a torque signal T*.sub.e. It should be noted that values of the integral gain K.sub.i.sub._.sub. and the proportional gain K.sub.p.sub._.sub. are to be solved herein. Next, the torque value of the torque signal T*.sub.e is divided by the estimated torque constant {circumflex over (K)}.sub.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*.sub.d and a q-axis component i*.sub.q. Referring to
where i.sub.q is a q-axis component of the output current, i*.sub.q is the q-axis component of the current signal, K.sub.p.sub._.sub.iq is a proportional gain of the q-axis control loop 321, L.sub.q is a q-axis inductance, and .sub.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
[0038] Referring to
It is known that an actual motor torque T.sub.e of the servomotor 4 is equal to the q-axis component i.sub.q of the output current multiplied by a torque constant K.sub.t. The angular velocity value of the actual angular velocity of the servomotor 4 is derived from a difference between the actual motor torque T.sub.e of the servomotor 4 and an actual load torque T.sub.L of the load 2 with reference to the actual inertia J and an actual friction coefficient B.
[0039] As illustrated in
[0040] Furthermore, for the current control loop 32 in this embodiment, integrated values of the differences between the q- and d-axis components i*.sub.q, i*.sub.d of the current signal and the q- and d-axis components i.sub.q, i.sub.d of the output current are limited by respective limiters 3211, 3221 so as to limit the integrated values in a reasonable range.
[0041] It is worth noting that the d-axis component i*.sub.d is set as zero (i*.sub.d=0) in this embodiment. In other words, only the q-axis component i*.sub.q of the current signal is considered in the following description, and the d-axis control loop 322 may be omitted in other embodiments.
[0042] Specifically, referring back to
[0043] At first, the current configuring unit 11 generates the q-axis component i*.sub.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 .sub.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.
[0044] When the servomotor 4 rotates at the initial angular velocity .sub.0, the initial-voltage configuring unit 12 of the control module 1 computes the d-axis component .sub.d0 and the q-axis component .sub.q0 of the initial voltage, and outputs the d- and q-axis components .sub.d0, .sub.q0 of the initial voltage to the current control loop 32 for accelerating the servomotor 4 from the initial angular velocity .sub.0 to a predetermined angular velocity .sub.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 .sub.1.
[0045] For example, when the servomotor 4 rotates at the predetermined angular velocity .sub.1, the torque-constant estimating unit 13 computes an initial estimated torque constant {circumflex over (K)}.sub.t0. The initial-inertia estimating unit 14 computes an initial estimated inertia .sub.0 with the q-axis component i*.sub.q of the current signal equal to zero (i.e., i*.sub.q=0). The first calculator 171 computes an initial proportional gain K.sub.p.sub._.sub.0 and an initial integral gain K.sub.i.sub._.sub.0 of the rotating speed control loop 31 based upon the initial estimated torque constant {circumflex over (K)}.sub.t0 and the initial estimated inertia .sub.0, and then controls the rotating speed control loop 31 with the initial proportional gain K.sub.p.sub._.sub.0 and the initial integral gain K.sub.i.sub._.sub.0.
[0046] In addition, the control module 1 measures the q-axis component i.sub.q of the output current which corresponds to the predetermined angular velocity .sub.1. Based upon the predetermined angular velocity .sub.1 and the q-axis component i.sub.q of the output current, the torque-constant estimating unit 13 computes the estimated torque constant {circumflex over (K)}.sub.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)}.
[0047] Finally, the second calculator 172 computes a proportional gain K.sub.p.sub._.sub. and an integral gain K.sub.i.sub._.sub. for controlling the rotating speed control loop 31 based upon the estimated torque constant {circumflex over (K)}.sub.t and the estimated friction coefficient {circumflex over (B)}.
[0048] Referring to
[0049] In duration t.sub.0-t.sub.1 (step S1), the current configuring unit 11 of the control module 1 outputs the q-axis component i*.sub.q of the current signal to the current control loop 32 to enable the current control loop 32 to output the q-axis component i.sub.q of the output current to the servomotor 4. In step S1, the q-axis component i*.sub.q of the current signal is equal to i.sub.1 (i*.sub.q=i.sub.1).
[0050] The current control loop 32 drives the servomotor 4 to rotate stably at the initial angular velocity .sub.0 by limiting the integrated value of the difference between the q-axis component i*.sub.q of the current signal and the q-axis component i.sub.q of the output current. When the servomotor 4 reaches the initial angular velocity .sub.0 at instant t.sub.1, the q-axis component i.sub.q of the output current is equal to i.sub.2 (i.sub.1=i.sub.2).
[0051] In duration t.sub.1-t.sub.2 (step S2), the initial-voltage configuring unit 12 computes d- and q-axis components .sub.d0 and .sub.q0 of the initial voltage when the servomotor 4 rotates at the initial angular velocity .sub.0. The d- and q-axis components .sub.d0 and .sub.q0 of the initial voltage is computed based upon:
.sub.d0=.sub.0PL.sub.qi.sub.q, and
.sub.q0=.sub.0PL.sub.di.sub.d+.sub.0P,
where L.sub.d and L.sub.q 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.
[0052] In duration t.sub.2-t.sub.3 (step S3), the initial-voltage configuring unit 12 outputs the initial voltage having the d- and q-axis components .sub.d0 and .sub.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 i.sub.q of the output current follows the q-axis component i*.sub.q of the current signal. When the q-axis component i.sub.q of the output current reaches the q-axis component i*.sub.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 .sub.1 at instant t.sub.3.
[0053] In duration t.sub.3-t.sub.4 (step S4), the servomotor 4 stably rotates at the predetermined angular velocity .sub.1, and the torque-constant estimating unit 13 computes the initial estimated torque constant {circumflex over (K)}.sub.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 .sub.0 based upon
where is a current angular acceleration of the servomotor 4 accelerating from the initial angular velocity .sub.0 to the predetermined angular velocity .sub.1, and i.sub.1 is the value at which the q-axis component i*.sub.q of the current signal is set (i*.sub.q=i.sub.1). Next, the current configuring unit 11 outputs to the current control loop 32 the current signal with the q-axis component i*.sub.q equal to zero (i*.sub.q=0), so that the rotating speed control loop 31 takes over the controlling of the servomotor 4 from the current control loop 32.
[0054] Then, the first calculator 171 computes the initial proportional gain K.sub.p.sub._.sub.0 based upon K.sub.p.sub._.sub.0=2.Math..sub..Math.J.sub.0 and the initial integral gain K.sub.i.sub._.sub.0 based upon K.sub.i.sub._.sub.0=.sub..sup.2.Math.J.sub.0. Following the computation of the initial proportional gain K.sub.p.sub._.sub.0 and the initial integral gain K.sub.i.sub._.sub.0, the control module 1 controls the rotating speed control loop 31 with the initial proportional gain K.sub.p.sub._.sub.0 and the initial integral gain K.sub.i.sub._.sub.0. It is worth noting that in
[0055] Furthermore, at the end of the duration t.sub.3-t.sub.4 (step S5), the torque-constant estimating unit 13 computes the estimated torque constant {circumflex over (K)}.sub.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 r.sub.s is a resistance value of the servomotor 4, and i.sub.3 is the q-axis component i.sub.q of the output current measured when the servomotor rotates 4 at the predetermined angular velocity .sub.1 in the duration t.sub.3-t.sub.4.
[0056] Finally, in duration t.sub.4-t.sub.7 (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
[0057] 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.Math.e.sup.N-t, and M is a constant associated with the angular velocity of the servomotor 4 solved by the curve fitting with the exponential function.
[0058] Subsequently, the second calculator 172 computes the proportional gain based upon K.sub.p.sub._.sub.=.sub..Math. and the integral gain based upon K.sub.i.sub._.sub.=.sub..Math.{circumflex over (B)}, and controls the rotating speed control loop 31 with the proportional gain K.sub.p.sub._.sub. and the integral gain K.sub.i.sub._.sub.. Therefore, the rotating speed control loop 31 is capable of controlling the servomotor 4 to stably operate.
[0059] Referring to
during acceleration of the servomotor 4, the initial estimated inertia is computed as .sub.0=1.410.sup.3 (kg.Math.m.sup.2) 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.4410.sup.4 (kg.Math.m.sup.2) 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.
[0060] 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)}.sub.t is roughly 1.5%.
TABLE-US-00001 TABLE 1 Manual setting value Estimation Error Inertia 3.28 10.sup.4 3.44 10.sup.4 5.0% (kg .Math. m.sup.2)
[0061] 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 K.sub.p.sub._.sub. and the integral gain K.sub.i.sub._.sub. according to the operation parameters for automatically controlling the servomotor 4 within about 1.4 seconds.
[0062] 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)}.sub.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.
[0063] 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.
[0064] 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.