Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Observer-Based Inertial Identification for

Auto-Tuning Servo Motor Drives


Sheng-Ming Yang Yu-Jye Deng
Dept. of Mechanical and Electro-mechanical Engineering Behavior Tech Computer Co.
Tamkang University 2F, 51 Tung-Hsing Rd, Taipei
Tamsui, Taipei County Taiwan
Taiwan

Abstract - In servo motor drive applications variation of inertia input. Because the estimated disturbance is also affected by
degrades drive’s performance. Motor response is affected not mechanical parameters, inertia can then be identified after the
only by external disturbance input but also by mechanical estimator. The disturbance estimator has various forms, for
parameters such as inertia and friction. These factors must all be example, inverse mechanical system model [4][5], full or
considered in order for accurate inertia identification and drive
reduced state estimator [6][7], extended Kalman filter [8][9]
tuning. In this paper, an observer-based auto-tuning scheme for
servo motor drives is presented. This scheme is consisted of a ect. Most of these methods need complex software for
state estimator to estimate motor disturbance and two adaptive implementations and are cumbersome for practical industrial
controllers to separately adjust drive inertia and friction to their applications.
correct value. The servo control loop is tuned automatically with In this paper, an alternative observer-based auto-tuning
the inertia found. The experimental results show that this scheme for servo motor drives is presented. A state estimator
auto-tuning scheme can achieve good performance and that the is used to estimate the mechanical parameter-influenced
scheme is able to estimate the mechanical parameters accurately. external disturbance. The average of the actual disturbance is
calculated and then used to correct the output of the state
Keywords —servo motor drive; auto-tune; disturbance estimator;
estimator so that the influence from the actual disturbance is
inertia identification
removed. Then, two adaptive controllers following the state
I. INTRODUCTION estimator are used to separately adjust the drive inertia and
friction to their correct value. The servo control loop is tuned
In servo motor drive applications, variation of load inertia
automatically with the inertia found.
degrades drive’s performance. High performance drives
generally requires identification of moment of inertia of the II. SYSTEM MODEL
whole system including the motor and the load. Once the drive
inertia is identified the motion control loop gains can be tuned Figure 1 shows a typical model for servo motor drives. The
automatically in order to maintain a consistent dynamic bandwidth of the motor current control loop is generally much
response. higher than the bandwidth of the position and velocity loop,
Motor response is affected not only by external disturbance therefore current controller can be approximate with unity
input but also by mechanical parameters such as inertia and gain and excluded from the model. The equations of the
friction. These factors must all be considered in order for system can be expressed as
accurate inertia identification and drive tuning. In comparison dθ r
= ωr (1)
to disturbance input, friction is more predictable and sometime dt
can be treated with simple measurement and compensation.
dω r
Therefore, the schemes which use disturbance torque J + b ⋅ ω r = k t ⋅ i − TL (2)
estimator are commonly employed for drive inertia dt
identification. where ωr is the speed, J is the equivalent motor and load
There were many studies on the identification of drive inertia, b is the viscous damping coefficient, kt is the motor
inertia for auto-tuning of servo or speed-controlled motor torque constant, i is the current, and TL is the external
drives. A model-free method was presented which used motor disturbance torque. Because kt does not change with motor
speed response to estimate inertia [1]. Because this scheme operating condition in general, it is treated as a constant in the
does not consider external disturbance, the results are following analysis. It can be seen from Fig. 1 that there are
dependent on the operating condition when the disturbance two inputs to the motor drive, i.e. the generated torque Tm and
exits. Model reference adaptive control was also applied to the external disturbance torque TL. Both of these inputs affect
find drive inertia [2][3]. However, these methods either motor response. Motor torque can be measured via current
excluded the effect from the external disturbance or did not feedback with good accuracy, but the external disturbance can
include friction in the model. not be measured directly. However, as mentioned in the
Many disturbance observer based auto-tuning schemes have previous section, it can be estimated from motor current and
been proposed in the past [4-9]. These methods generally used velocity or position feedback with various estimation schemes.
a disturbance estimator to estimate the external disturbance

IAS 2005 968 0-7803-9208-6/05/$20.00 © 2005 IEEE


TL disturbance. Let the errors of the mechanical parameters be
θ r* ωr θr ∆J = J − Ĵ and ∆b = b − b̂ , respectively, and k̂ t = k t as
Tm 1 1
kt explained in the previous section. Then, T̂dis can be expressed
Js + b s
as a function of TL, ∆J , and ∆b as follows,
k op ⋅ s + k oi
T̂dis = (∆J ⋅ sω + ∆b ⋅ ω r + TL ) (4)
( )
Ĵs 2 + b̂ + k op s + k oi
Figure 1. Servo motor drive model
Eq.(4) denotes the condition upon which influences from TL,
∆J , and ∆b on T̂dis exits. T̂dis is affected by ∆J only when
TL
ωr the motor in acceleration/or deceleration. On the other hand it
1 is affected by ∆b as long as the motor is not at rest. If both TL
kt
Js + b and ∆b can be found and their influences removed, then ∆J
can be identified when as the motor is in acceleration and
k̂t deceleration region.
IV. ACTUAL EXTERNAL DISTURBANCE AND FRICTION
k 1 ω̂ r It can be seen from Eq.(4) that both TL and ∆b can be
ωr kop + oi
s Ĵs + b̂ estimated when the motor is running at constant speed. But,
estimation of rapidly changing TL and separating it from the
friction is very difficult unless the motor is at standstill.
Therefore, in the following, it is assumed that the actual
T̂dis disturbance torque vary much slowly than the servo motor’s
Figure 2. Disturbance estimator cycle time, then, its average over a servo cycle can be
calculated.
Because variation of mechanical parameters J and b also A. External Disturbance
affects the response, J can be identified indirectly from the From Eq.(2), the relationship between the average motor
estimated disturbance provided that the influences from the current and TL when the motor is running at constant speed in
actual external disturbance and friction are removed. In the a servo cycle can be written as
following section, a disturbance torque estimator which
estimates the mechanical parameter-influenced external TL = kt ⋅ i1 − b ⋅ ωr1 (5)
disturbance torque is presented. where i1 is the average current and ωr1 is the motor speed. If
III. DISTURBANCE TORQUE ESTIMATOR the average current at another speed ωr2 is also measured, and
From Eqs.(1)-(2) a full state estimator for θr and ωr can be its average current is i2 ,
constructed as follows, TL = kt ⋅ i2 − b ⋅ ωr 2 (6)
θˆ  0 1  θˆ   0   k 1  Then, combine Eqs. (5) and (6) and eliminate the terms
 r= b̂   r  +  k̂ t  i +   (θ r -θ̂ r ) (3) consisting b, TL can be written as
  0 -  ωˆ r    k 2 
ω r  
ˆ
Ĵ   Ĵ  k t (i1 − (ω r1 /ω r 2 ) ⋅ i 2 )
where the symbols with ‘^’ on top are the estimated values, T̂ L = (7)
1 − (ω r1 /ω r 2 )
and k1, k2 are the gains of the estimator. Note that the motor
position is measured in the estimator. By using the relation This result shows that the external disturbance torque, when
between motor speed and position, i.e. ωr = sθr, the estimator varying slowly, can be calculated with the average current
can be rearranged into the block diagram shown in Fig.2. The measured at two different motor speeds. The estimation is
controller of the estimator becomes a PI since the velocity is performed over each servo cycle. Although only slow varying
used as the measured input instead of the position. The TL can be estimated accurately, the scheme is sufficient for
proportional and the integral gain of the modified estimator most servo motor drive applications.
are denoted as kop and koi for simplicity, and k op = Ĵ k1 , B. Friction
k oi = b̂ k1 + Ĵ k 2 . After TL is removed, T̂dis becomes a function of ∆J and ∆b
Comparing Fig. 2 and Eq. (2) it can be seen that the signal '
only, and is denoted as T̂dis for convenience. Again, ∆b can
just after the PI controller is the equivalence of -TL. Note that be estimated when the motor is running at constant speed. A
since the estimate is a function of TL, Ĵ and b̂ , T̂dis is used simple MIT rule is used to design an adaptive controller for
instead of to TL so as to distinguish it from the actual external b̂ [10]. Also, it is reasonable to set the convergence rate of

IAS 2005 969 0-7803-9208-6/05/$20.00 © 2005 IEEE


b̂ to much slower than the dynamic response of the T̂dis '
T̂dis kb b̂
' s
T̂dis estimator. Then, from Eq. (4) T̂dis can be simplified to
' T̂L
T̂dis ≈ ∆b ⋅ ω r = (b- b̂)ω r (8) ω *r
'
Because T̂dis represents the model error, the sensitivity of kj Ĵ
b̂ relative to the model error is s
'
∂T̂dis α *r
= -ω r (9)
∂ b̂
Hence, the adaptation rule for b̂ can be expressed as Figure 3. Adaptive controller for b̂ and Ĵ

d b̂  ∂ T̂ '

'
= - k b ⋅ T̂dis ⋅  dis
 = k b ⋅ T̂dis
'
⋅ωr (10)
dt  ∂ b̂
 θ r* ,ω *r


where kb is the adaptation rate. Note that the above equation
can also be expressed in the s-domain for convenience as
follows
k '
b̂ = b ⋅ T̂dis ⋅ ω r + bo (11) Ĵ ,b̂
s T̂dis
Ĵ b̂ Ĵ
where bo is the initial b̂ . ωr
The upper part of Fig. 3 shows the block diagram of the
T̂L
adaptive controller for b̂ . Note that the speed command
α *r ,ω *r
ω *r is used in the adaptive controller instead of ω r . In
practice, there is no difference of either use ω *r or ω r in Figure 4. Observer-based inertia estimator and auto-tuning servo
the controller. However, since motor speed information is motor drive
generally obtained by differentiation of the position feedback,
use of ω *r can prevent quantization error caused by the corresponding control is not executing. Also, it can be shown
inadequate resolution of the position sensor. that the estimated Ĵ and b̂ are globally stable.
The block diagram shown in Figure 4 summarizes the
V. INERTIA IDENTIFICATION AND AUTO-TUNING proposed auto-tuning scheme. Motor current and speed
Also from Eq.(4), motor and load inertia can be estimated information are used to estimate the mechanical parameter-
when the motor is in acceleration and deceleration regions. influenced external disturbance T̂dis . This state estimator
The sensitivity of Ĵ relative to the model error is requires information on Ĵ and b̂ . The actual disturbance
'
∂T̂dis torque is calculated with Eq. (7), and then subtracted from
= -α r (12) '
∂ Ĵ T̂dis . After the influence of TL is removed, T̂dis becomes a
where α r is the motor acceleration rate. The adaptive function of Ĵ and b̂ only. Two adaptive controllers are then
controller expressed in the s-domain is used to find Ĵ and b̂ . The identified Ĵ and b̂ are used for
kj ' the disturbance estimator. Also, Ĵ is used to calculate new
Ĵ = ⋅ T̂dis ⋅ α r + J o (13) servo loop gains. Note that the gains are calculated every
s
servo cycle, and updated when the motor is stopped to prevent
where Jo is the initial Ĵ , kj is the adaptation rate. The lower sudden change in motor dynamic response.
diagram in Fig. 3 shows the block diagram of the adaptive
VI. EXPERIMENTAL RESULTS
controller for Ĵ . Similarly, the acceleration command α *r is
used in the adaptive controller instead of α r . Also as show The proposed control schemes were implemented with a
TMS320F2812 based DSP controller for experimental
in Fig. 3, Ĵ and b̂ adaptive controller were drawn in parallel. verifications. A 400 Watt PMSM motor was used in the
However, Ĵ control is executed when the motor is in experiments. A load motor was coupled to the test motor so
acceleration and deceleration regions, and b̂ control is that load torque can be applied. Sampling frequency of the
executed when the motor is running at constant speed. The servo control loop was about 5 KHz. Parameters of the motor
estimated parameter holds at the last updated value when its and load can be found in Appendix A.

IAS 2005 970 0-7803-9208-6/05/$20.00 © 2005 IEEE


Figure 5-7 shows the verifications of the influence of Ĵ , drives is presented in this paper. A state estimator is used to
estimate the mechanical parameter-influenced external
b̂ , and T̂L on T̂dis , respectively. The adaptive controllers
disturbance. It was found that this estimate is a function of the
were not running in these experiments. Figure 5 shows the actual external disturbance, drive inertia, and friction. Under
motor velocity and T̂dis for various Ĵ when b̂ = b, TL = 0, the assumption that the actual disturbance is slow varying, its
and ωr = 1000rpm. The total inertia was about 4 times the average over a servo cycle can be calculated and then removed
from the estimated disturbance. Then, two adaptive controllers
motor’s original inertia, i.e. J ≈ 0.001kg-m2. Ĵ was purposely are used to separately adjust the drive inertia and friction to
set to J, 2J and 0.5J, respectively. It can be seen that T̂dis had their corresponding values. Finally, the servo control loop
noticeable error when the motor was in the acceleration and gains are tuned automatically with the inertia found. The
deceleration regions. The errors were approximately equal to experimental results have verified the relationships between
∆Jαr. Also from the bottom two curves, T̂dis changed its the estimated disturbance and the actual disturbance, motor
inertia, and friction. The results also show that the auto-tuning
polarity as Ĵ varied from 2J to 0.5J. scheme can achieve good performance and that the scheme is
Figure 6 shows the motor velocity and T̂dis when b̂ was able to estimate the mechanical parameters accurately. The
scheme is practical for implementation since it can be realized
purposely set to zero for Ĵ = J, TL = 0, and ωr =1000rpm. It with simple software for easy installation. Because of the
can be seen that T̂dis had error when the motor was rotating, assumption on the external disturbance, larger error may exist
and the error was approximately proportional to motor speed if the scheme is applied for applications with rapidly changing
as expected. Figure 7 shows the motor velocity and T̂dis when disturbance.

a -0.5Nm load was applied to the motor for Ĵ = J, b̂ = b, and APPENDIX A

ωr =1000rpm. It can be seen that T̂dis was approximately The motor used in the experiments was a three-phase PMSM
constant regardless of the motor speed, and its value was about motor, its parameters are:
Output power 400 Watt
the same as the external load applied. Note that the results
Motor inertia 0.000245 kg-m2
given in Fig. 5-7 are all consistent with Eq. (4). Load inertia 0~10 times motor inertia
Figure 8 shows the motor velocity ωr, inverse of Ĵ , b̂ , Viscous friction coefficient 1.5x104 Nm/rad/s
and T̂L when the motor was running back and forth between
1000 and -1000 rpm. A load inertia of about 10 times the REFERENCES
motor inertia was mounted on the motor for testing. The initial [1] B. Zhang, Y. Li and Y. Zuo, “A DSP-based fully digital PMSM servo
Jo was set to the motor’s original inertia, bo was set to 0, and drive using on-line self-tuning PI controller”, Proceeding of the 3rd
Power Electronics and Motion Control Conference, vol. 2, Aug. 2000,
no disturbance torque was applied. Note that 1/ Ĵ is shown in pp. 1012-1017.
the figure because it is more convenience for the control [2] Y. Guo, L. Huang, Y. Qiu, and M. Maramatsu, “Inertia identification
program to calculate 1/ Ĵ instead of Ĵ . It can be seen from and auto-tuning of induction motor using MRAS “, Proceeding of the 3rd
Power Electronics and Motion Control Conference, Aug. 2000, pp.
Fig. 8 that in the beginning, motor speed response had 1006-1011.
significant overshoot due to the incorrect Ĵ and b̂ used for [3] K. Fujita and K. Sado, “Instantaneous speed detection with parameter
identification for ac servo system”, IEEE Transactions on Industry
position loop tuning. But, after several cycles, Ĵ and b̂ Applications, vol. 28, no. 4, Jul. 1992, pp. 864-872.
approached their actual value and the overshoots in ωr [4] I. Awaya, Y. Kato, I. Miyake, and M. Ito, “New motion control with
inertia identification function using disturbance observer”, International
diminished. Also notice T̂L stayed around zero all the time. Conference on Power Electronics and Motion Control, Nov. 1992, pp.
77-81.
Figure 9 also shows ωr, 1/ Ĵ , b̂ , and T̂L when the motor [5] S. Komada, M. Ishida, K. Ohnishi, and T. Hori, “Motion control of
was running back and forth between 1000 and -1000 rpm. In linear synchronous motors based on disturbance observer”, IEEE IAS
Annual Meeting, Nov. 1990, pp. 27-30.
the beginning, both Ĵ and b̂ were tuned to their correct value [6] K.B. Lee, J.H. Song, I. Choy, and J.Y. Yoo, “An inertia identification
already, and no disturbance torque was applied. At the using ROELO for low speed control of electric machine”, IEEE APEC,
instance shown in the figure a disturbance toque of about Feb. 2003, pp. 1052-1055.
[7] R.D. Lorenz, “Observers and state filters in drives and power
-0.4Nm was applied. It can be seen that T̂L returned to its electronics”, IEEE IAS OPTIM 2002, May 2002.
[8] S.J. Hong, H.W. Kim, and S.K. Sul, “A novel inertia identification
correct value after just one servo cycle. Both Ĵ and b̂ were method for speed control of electric machine”, IEEE IECON, Aug.
disturbed at the instant load torque was applied, however, they 1996, pp. 1234-1239.
[9] M. De Campos, E.G. Caratti and H.A. Grundling, “Design of a position
also returned to their correct value after T̂L was correctly servo with induction motor using self-tuning regulator and Kalman
filter”, IEEE IAS Annual Meeting, Oct. 2000, pp. 1613-1618.
estimated and removed from T̂dis . [10] K.J. Astrom and B. Wittenmark, Adaptive Control, Addison-Wesly,
1989.
VII. CONCLUSIONS
An observer-based auto-tuning scheme for servo motor

IAS 2005 971 0-7803-9208-6/05/$20.00 © 2005 IEEE


Figure 9. Motor velocity, 1/ Ĵ , b̂ , and T̂ L when the motor was
running between 1000 and -1000 rpm and an external load of
Figure 5. Motor velocity and T̂dis for various Ĵ when b̂ = b, TL = -0.4 Nm was applied suddenly
TL = 0, and ωr = 1000 rpm (adaptive controllers were not running)

Figure 6. Motor velocity and T̂dis when Ĵ = J, b̂ = 0, TL = 0, and


ωr = 1000 rpm (adaptive controllers were not running)

Figure 7. Motor velocity and T̂dis when Ĵ = J, b̂ = b, TL = -0.5Nm,


and ωr = 1000 rpm (adaptive controllers were not running)

Figure 8. Motor velocity, 1/ Ĵ , b̂ , and T̂L when the motor was


running between 1000 and -1000 rpm, Jo = J/11, bo = 0, and TL = 0

IAS 2005 972 0-7803-9208-6/05/$20.00 © 2005 IEEE

You might also like