Ivana Golub Medvešek
Ante Cibilić
Vinko Tomas
ISSN 0007-215X
eISSN 1845-5859
POSITION AND SPEED ESTIMATION OF A STEPPING MOTOR AS
AN ACTUATOR OF DIESEL ENGINE FUEL RACK
UDC 629.5.062.3
Professional paper
Summary
This paper illustrates one efficient method for permanent magnet synchronous motor PMSM position and speed estimation using Extended Kalman filter - EKF. This is very
important, especially in case of faulty sensors. The Extended Kalman Filter is an optimal
recursive estimation algorithm for nonlinear systems. Marine diesel engine is a very complex,
nonlinear dynamic system. Therefore, it is very important to control the engine shaft torque
and power in all circumstances and working conditions. This paper, in short, includes a
description of the standard Kalman Filter and its algorithm with the two main steps, the
prediction step and the correction step. Furthermore the Extended Kalman Filter is discussed
as a nonlinear system. The objective of this paper is to present implementation of Extended
Kalman Filter for estimation of the PMSM rotor position and speed in case of faulty sensors
by using measurements of the motor currents only. Simulation has been conducted in
MATLAB programming environment. Achieved results of the simulation have shown that the
PMSM rotor position and speed are estimated sufficiently well for the purpose of marine
diesel engine fuel rack position control in the main engine speed control loop.
Key words: marine diesel engine, fuel actuator, PMSM, estimation, Kalman filter
1. Introduction
Marine diesel engine is a high-risk plant of the ship propulsion. Therefore, it is very
important to control the engine shaft torque and power in all circumstances and working
conditions. This can be realized by controlling the engine shaft speed using conventional or
digital governors. Digital speed controllers of large marine diesel engines have been
increasingly in use in combination with an electrical PMSM servo-motor as actuator of the
fuel rack position. The output of the digital controller is a periodic pulse width modulated
signal relative to the size of deviation of the actual speed from the desired speed. Such a
signal is the input to the fuel rack positioning system actuated with the PMSM electrical
motor, Fig 1. Good quality of the diesel engine fuel actuator control has key importance for
maintaining the necessary engine power in different operating conditions, especially in cases
of significant external disturbances (sea waves, currents, wind, etc.) and faulty sensors.
Ivana Golub Medvešek, Ante Cibilić,Vinko Tomas
Position and speed estimation of a stepping motor as an
actuator of diesel engine fuel rack
Fig. 1 Structural block diagram of the electrical actuator of fuel rack position within the diesel engine speed
control [1]
The actuator functioning, Fig. 2 is controlled from the main position control loop and
the local closed control loops (speed and current control loop).
Speed
Command
Position
command
+
Amp
Torque
Command
+
+
Amp
-
Position
error
signal
Torque
error signal
Amp
Speed
error
signal
Motor with
feedback
device
Current Feedback
Speed Feedback
Position Feedback
Fig. 2 Diagram of the electrical actuator control loop in the engine fuel positioning system [1]
The development and availability of very high energy permanent magnet materials have
contributed to an increased use of the permanent magnet stepping motors – PMSM [2]. Due to
its high efficiency, high power density, and robustness, permanent magnet stepping motors
have been widely used, especially in systems that have demanding requirements on reliability,
such as ship propulsion systems (see Fig. 1), robotic systems, process control systems,
machine tools etc.
2. Dynamics of Stepping Motors
Stepping motor converts electronic pulses into proportionate mechanical movement.
Each revolution of the stepping motor’s shaft is made up of a series of discrete individual
steps i.e. angular incremental movements. PMSM operates on the reaction between a
permanent-magnet rotor and electromagnetic stator fields, Fig. 3.
Fig. 2 Basic components of PMSM [3]
BRODOGRADNJA/SHIPBUILDING 65 (1) 2014
30
Position and speed estimation of a stepping motor as an
actuator of diesel engine fuel rack
Ivana Golub Medvešek, Ante Cibilić,Vinko Tomas
The essential property of the stepping motor is its ability to convert electronic pulses
into precisely defined increments of rotor position [4].
Fig. 4 Principle of stepping motor control [3]
Stepping motors are simple, robust and reliable and are well suited for open or close
loop controlled actuators [5], Fig. 4. A more recent development in PM stepping motor
technology is the thin-disk rotor. Fig. 5 shows the basic construction of a thin-disk rotor
PMSM. This type of PMSM dissipates much less power in heat losses and is considerable
more efficient.
Fig. 5 Thin-disk rotor of PMSM [6]
Dynamics of PMSM, for the purpose in this paper, is analyzed with the condition that a
sinusoidal characteristic of the magnetic field in the air gap (between rotor and stator
segments) is assumed. The contribution of each phase on the motor torque Tmj can be written
as [7]:
Tmj = km ⋅ sin [ n × θ ( t ) + θ 0 ] ⋅ Ij( t )
(1)
where is:
km - motor constant, depending on the design of the motor:
n – number of rotor pole pairs;
θ (t ) - actual rotor position;
θ - local field angle;
0
Ij( t ) - current in the coil as function of time.
31
65 (1) 2014 BRODOGRADNJA/SHIPBUILDING
Ivana Golub Medvešek, Ante Cibilić,Vinko Tomas
Position and speed estimation of a stepping motor as an
actuator of diesel engine fuel rack
The total torque Tm produced by stepping motor is [7]:
m
Tm = ∑ Tmj
(2)
j =1
The equation of motion of the stepper motor is given as follows:
m
∑ TMJ = J
j =1
dω
+ Dω + TF
dt
(3)
where is:
J – inertia of the rotor and the load;
D – viscous damping constant;
TF - frictional load torque.
In this paper Extended Kalman Filter is used to estimate the states of a two-phase PMSM.
Dynamic model for this motor is as follows:
λ ⋅ω
R
u + Δu b
sinΘ + a
Ia+
L
L
L
λ ⋅ω
R
u + Δu b
cos Θ + b
ib = − I b +
L
L
L
dω
3 λ
3 λ
B ⋅ω
= − ⋅ I a sin Θ + ⋅ I b cos Θ −
+ Δα
dt
2 J
2 J
J
dΘ
=ω
dt
ia = −
(4)
where:
I a and I b are the currents in the two motor windings;
Θ and ω are the angular position and speed of the rotor;
R and L are the motor winding’s resistance and inductance;
λ is the flux constant of the motor;
B is the coefficient of viscous friction that acts on the motor shaft and its load;
J is the moment of inertia of the motor shaft and its load;
u a and u b are the voltages that are applied across the two motor windings;
Δ u a and Δ u b are noise terms due to errors in u a and u b ;
Δα is a noise term due to uncertainly in the load torque;
The Extended Kalman Filter - EKF algorithm is an optimal recursive estimation
algorithm for nonlinear system like PMSM is. EKF processes all available measurements to
provide estimate of the variables of interest. The EKF approach is ideal for the state
estimation of PMSM. Mathematical model, describing the motor dynamics is sufficiently well
known and the motor winding currents can be measured and are suitable for the determination
of the rotor position and speed of PMSM.
BRODOGRADNJA/SHIPBUILDING 65 (1) 2014
32
Position and speed estimation of a stepping motor as an
actuator of diesel engine fuel rack
Ivana Golub Medvešek, Ante Cibilić,Vinko Tomas
The purpose of this paper is to show the possibility to apply the mathematics of a
Kalman Filter to a microcontroller to get i.e. estimate the PMSM rotor position and speed
without using the faulty sensors, encoders.
3. Kalman Filter Estimator
Kalman filter is a linear, discrete time and finite dimensional system [8]. Fig. 6.
illustrates the typical application context in which the Kalman filter is used.
^
y
∧
r = y − y
y
Fig. 6 Typical application of the Kalman filter [9]
The Kalman filter can incorporate all available information such as system's dynamics
model, known control inputs, measurement errors, and any information about initial
conditions of the variables of interest, to form an optimal estimate of the system state. It
estimates the state of a dynamic system in each time instant working on-line.
Taking into account the noise of actuator and sensor, system with stationary noise
covariance can be expressed in discrete form as [9]:
x( k + 1 ) = A x( k ) + B u( k ) + w( k )
yv ( k ) = C x( k ) + v( k )
(5)
Where w and v are independent incidental white noise processes: (w – actuator noise, input
additive signal, v – sensor or measurement noise, output additive signal). A, B, C are matrix
of states, matrix of inputs, matrix of outputs respectively. The basic problem in practical cases
such as this, is the optimal state estimation x(k) from the noise measurement data.
^
Estimated state is indexed with x( k | k ) . The optimal estimator class includes Minimum
Mean Square Error Estimators - MMSE [10]. These minimize the expected minimum value of
the minimum mean square error estimation. Recursive Kalman Filter algorithm consists of
two parts [9]:
∧
∧
- prediction (one step in advance) of the state x( k + 1 ) with known previous state x( k ) ,
^
^
x( k + 1| k ) = A x( k | k ) + B u( k )
(6)
∧
- estimated state correction x( k + 1 ) based on new measurement y v (k + 1) ,
x( k | k ) = x( k | k − 1 ) + K( y ( k ) − C x( k | k − 1 ))
^
^
v
(7)
The value of the correction part is the function of the so called innovation that is discrepancy
of the measured value and the predicted value.
33
65 (1) 2014 BRODOGRADNJA/SHIPBUILDING
Ivana Golub Medvešek, Ante Cibilić,Vinko Tomas
Position and speed estimation of a stepping motor as an
actuator of diesel engine fuel rack
^
^
yv ( k + 1 ) − C x( k + 1| k ) = C( x( k + 1 ) − x( k + 1| k ))
(8)
Increased innovation matrix K (Kalman’s gain) is selected in a way to minimize the
estimation error in steady state for given actuator and sensor noise covariance.
Q = E ( w( k )w( k )T ) ; R = E ( v( k )v( k )T )
(9)
By combining the equations above the recursive Kalman algorithm can be expressed as:
^
^
⎡u( k ) ⎤
x( k + 1| k ) = A( I − KC ) x( k | k − 1 ) + [ B AK ] ⎢
⎥
⎣ yv ( k )⎦
^
(10)
^
y( k | k ) = C( I − KC ) x( k | k − 1 ) + CKyv ( k )
(11)
^
Kalman Filter generates the optimal estimate y( k | k ) for corresponding y( k ) and the filter
^
state x( k | k − 1 ) . This algorithm represents the standard adaptive Kalman Filter. The
^
measurement error is ( y − yv ) and the estimation error is ( y − y ) .
Kalman filter addresses the general problem of trying to estimate the state of a discrete
time controlled process that is governed by a linear stochastic difference equation [11]. If the
process to be estimated or the measurement relationship to the process is nonlinear in this
purpose we use Extended Kalman Filter.
4. Extended Kalman Filter
Extended Kalman Filter - EKF is the nonlinear version of the Kalman Filter which
linearizes an estimate of the current mean and covariance. The EKF for parameter estimation
has a number of advantages such as [10]:
- it only uses the mean and covariance of the state, it is simple and computationally fast,
- it has close connection with the state-space theory,
- it has a unified formulation for both single variable and multivariable problems.
The nonlinear process model (from time k to time k+1) is described as [12]:
x( k + 1 ) = f [x( k ),u( k )] + w( k )
(12)
where is:
x(k), x(k+1) - the system state at time instant k, k+1;
u(k) – the control;
w(k) – the zero-mean Gaussian process noise.
The objective is to estimate at each time step by the process model and the observation. The
observation model at time k+1 is give by [12]:
y( k + 1 ) = C [x( k + 1 )] + v( k + 1 )
(13)
Where is:
C – the observation function;
v(k+1) – the zero-mean Gaussian observation noise.
BRODOGRADNJA/SHIPBUILDING 65 (1) 2014
34
Position and speed estimation of a stepping motor as an
actuator of diesel engine fuel rack
Ivana Golub Medvešek, Ante Cibilić,Vinko Tomas
As with the original Kalman Filter, the Extended Kalman Filter uses a two step
predictor – corrector algorithm. The first step involves projecting both the most recent state
estimate and an estimate of the error covariance in forward instant time to compute a
predicted estimate of the state at the current time. Predict using process model [12]:
∧
x( k + 1 ) = f ( x( k ),u( k ))
(14)
P( k + 1 ) = ∇f ( k )P( x )∇ f ( x ) + Q
T
∧
where ∇f ( x ) is the Jacobian of function f with respect to x evaluated x( k ) .
The second step involves correcting the predicted state estimate calculated in the first step by
incorporating the most recent process measurement to generate an update state estimate.
Update using observation [12]:
∧
x( k + 1 ) = x( k + 1 ) + K ⎡⎣ y( k + 1 ) − C( x( k + 1 )⎤⎦
P( k + 1 ) = P( k + 1 ) − KS K
(15)
T
Where P is the estimation error.
Where the innovation covariance S and the Kalman gain K are given by:
S = ∇C P( k + 1 )∇C T + R
(16)
K = P( k + 1 )∇C T S −1
where ∇C is the Jacobian of function C evaluated at x( k + 1 ) , R is the covariance of the
measurement noise.
5. SIMULATION CASE
We used here EKF to estimate position and speed of PMSM as the actuator of fuel rack
position in diesel engine speed control process. Parameters values for PMSM model were as
follows [13]:
R=0,7 Ω - winding resistance;
L=5 mH – winding inductance;
λ=0,193 Vs/rad – motor constant;
J=9· 10−5 kg/m² - moment of inertia;
B=0,001 Nms/rad – coefficient of viscous friction.
The goal of this paper was to estimate the rotor position and speed with the assumption
that the motor winding currents can be measured continuously. The control inputs (winding
voltages) are expressed as (17), according [14]:
u a( t ) = sin 2π ⋅ t
u b( t ) = cos 2π ⋅ t
(17)
Equation (17) means that in discrete time, the control inputs are equal to [14]:
u ak = sin 2π ⋅ k ⋅ T
u bk = cos 2π ⋅ k ⋅ T
(18)
where: k=0,1,2,..n; T – sampling period.
35
65 (1) 2014 BRODOGRADNJA/SHIPBUILDING
Ivana Golub Medvešek, Ante Cibilić,Vinko Tomas
Position and speed estimation of a stepping motor as an
actuator of diesel engine fuel rack
The voltages that are applied to the winding currents are equal to these values plus u ak and
u bk , which are zero-mean variables with standard deviations equal to 1 mA. It is assumed that
the speed noise due to load torque disturbance has a standard deviation of 0.05 rad/s².
In this paper Extended Kalman Filter simulation code in MATLAB has been used. The
obtained results are presented graphically. Fig. 7a and 7b shows currents i a and i b through
motor windings.
Fig. 7a Time dependence of true and estimated value of PMSM current in coil A
Fig. 7b Time dependence of true and estimated value of PMSM current in coil
The Fig. 7a and 7b clearly shows the true value and the estimated value of motor
winding currents. Winding currents measurements are obtained once per millisecond. Even
though the deviation of true value has appeared due to measurement noise v a and v b it is
negligible. Measurement noise in this case is commonly caused by electric noise, quantization
error in microcontroller, etc.
BRODOGRADNJA/SHIPBUILDING 65 (1) 2014
36
Position and speed estimation of a stepping motor as an
actuator of diesel engine fuel rack
Ivana Golub Medvešek, Ante Cibilić,Vinko Tomas
Fig. 8 Time dependence of true and estimated value of PMSM rotor speed
Fig. 9 Time dependence of true and estimated value of PMSM rotor position
Fig. 8 and 9 clearly show that the rotor position and speed are estimated quite well. The
above results show that the Extended Kalman Filter can be efficiently implemented to
estimate the speed and rotor position of the PMSM. These simulations have proved that it is
possible to achieve the position and speed of PMSM rotor in case of faulty sensors.
6. CONCLUSION
In this paper, the design and implementation of an Extended Kalman Filter has been
researched. The system considered is a permanent magnet synchronous motor – PMSM as a
fuel rack position actuator. The Extended Kalman Filter is designed for estimation of the rotor
position and speed in case of faulty sensor by using measurements of the PMSM motor
currents only. In this paper PMSM has been investigated, because digital speed controllers of
large marine diesel engines have been increasingly in use in combination with an electrical
PMSM servo-motor as actuator of the fuel rack position.
Good quality of the diesel engine fuel actuator control has key importance for
maintaining the necessary engine power in different operating conditions, especially in cases
of significant external disturbances and faulty sensors.
In the paper MATLAB programming environment has been used to simulate and
display the results of conducted simulations. Simulation results are presented to demonstrate
the feasibility of this estimation process. The data analysis has showed that PMSM rotor
position and speed are estimated quite well. The results of the simulations show that the
Extended Kalman Filter can be efficiently implemented to estimate the rotor position and
37
65 (1) 2014 BRODOGRADNJA/SHIPBUILDING
Ivana Golub Medvešek, Ante Cibilić,Vinko Tomas
Position and speed estimation of a stepping motor as an
actuator of diesel engine fuel rack
speed of PMSM for the purpose of marine diesel engine fuel rack position control in the main
marine engine speed control loop.
REFERENCES
[1]
Komar, I., Antonić, R. , Kulenović, Z.: “Experimental Tuning of Marine Diesel Engine Speed
Controller Parameters on Engine Test Bed”, Transactions of FAMENA, Vol. 33, No. 2, 2009, pp. 51-70
[2]
Batzel, T.D.: “Sensorless Electric Drive for Permanent Magnet Synchronous Motors, State College,
Pennsylvania, 1999
[3]
[4]
Antonić, R.: “Automatizacija broda II”, Faculty of Maritime Studies, Split, 2007
Acarnley, P.: “Stepping Motors – a Guide to Theory and Practice - 4th edition”, The Institution of
Engineering and Technology, London, 2002.
[5]
Acarnley, P.: “Stepping Motors: a Guide to Modern Theory and Practice”, Peter Peregrinus, London,
1992.
[6]
[7]
Simpson, C.D.: “Industrial Electronics”, Prentice Hall, New Jersey, 2006.
Morar, A.: “Stepper Motor Model for Dynamic Simulation”, Acta Electrotehnica, Vol.44, No.2, 2003,
pp. 117-122.
[8]
Anderson, B.D.O., Moore, J.B.: “Optimal Filtering”, Englewood Clifts, Prentice-Hall, New Jearsy,
1979.
[9]
Antonić, R.: “Fault Tolerant Control System for Large Diesel Engine in Marine Propulsion”, Ph.D.
thesis, Univerity of Zagreb, Faculty of electric engineering and computing, 2002.
[10]
Sun, X., Jin, L., Xiong, M.: “Extended Kalman Filter for Estimation of Parameters in Nonlinear
State – Space Models of Biochemical Networks”, PlosOne, Vol.3, No.11, 2008, pp. 1-13.
[11]
Welch, G., Bishop, G.: “An introduction to the Kalman Filter”, University of North Carolina at
Chapel Hill, 2001.
[12]
Huang, S.: “Understanding Extended Kalman Filter – Part III: Extended Kalman Filter”, University of
Technology, Faculty of Engineering and Information Technology, Sydney, 2010.
[13]
Dhaonadi, R., Mohan, N., Norum, L.: “Design and Implementation of an Extended Kalman Filter
for the State Estimation of a Permanent Magnet Synchronous Motor”, IEEE Transactions on Power
Electronics, Vol. 6, No. 3, 1991, pp. 491-497.
[14]
Simon, D.: “Optimal State Estimation: Kalman, H∞, and Nonlinear Approaches”, John Wiley & Sons,
New York, 2006
Submitted:
18.01.2013.
Accepted:
05.03.2014
BRODOGRADNJA/SHIPBUILDING 65 (1) 2014
Ivana Golub Medvešek, PhD student
Ante Cibilić, PhD student
Faculty of Maritime studies University of Split
Prof.dr.sc. Vinko Tomas
Faculty of Maritime studies University of Rijeka
38