ADAPTIVE DISTURBANCE REJECTION AND STABILIZATION FOR
ROTOR SYSTEMS WITH INTERNAL DAMPING
Except where reference is made to the work of others, the work described in this
dissertation is my own or was done in collaboration with my advisory committee. This
dissertation does not include proprietary or classified information.
Andr?as Simon
Certificate of Approval:
David G. Beale
Professor
Mechanical Engineering
George T. Flowers, Chair
Professor
Mechanical Engineering
Dan B. Marghitu
Professor
Mechanical Engineering
John Y. Hung
Professor
Electrical and Computer Engineering
Mark J. Balas
Professor
Electrical and Computer Engineering
University of Wyoming
George T. Flowers
Dean
Graduate School
ADAPTIVE DISTURBANCE REJECTION AND STABILIZATION FOR
ROTOR SYSTEMS WITH INTERNAL DAMPING
Andr?as Simon
A Dissertation
Submitted to
the Graduate Faculty of
Auburn University
in Partial Fulfillment of the
Requirements for the
Degree of
Doctor of Philosophy
Auburn, Alabama
May 9, 2009
ADAPTIVE DISTURBANCE REJECTION AND STABILIZATION FOR
ROTOR SYSTEMS WITH INTERNAL DAMPING
Andr?as Simon
Permission is granted to Auburn University to make copies of this dissertation at its
discretion, upon the request of individuals or institutions and at
their expense. The author reserves all publication rights.
Signature of Author
Date of Graduation
iii
Vita
Andr?as Simon, son of K?aroly Simon and ?Eva Titz, was born on November 19, 1974
in Budapest, Hungary. He entered the Budapest University of Technology and Economics
(formerly known as Technical University of Budapest) in September 1994 where he grad-
uated with a Master of Science degree in Mechanical Engineering in 1999. After working
as a Project Engineer at General Electric Lighting TUNGSRAM in Budapest, he joined
the graduate program of Auburn University in 2000 to continue the research program on
active magnetic bearings and rotordynamics. He received his Master of Science degree in
Mechanical Engineering in 2003 and continued the research for the Ph.D. degree from early
2005. His research interests are nonlinear controls, mechatronics, rotordynamics and active
magnetic bearings.
iv
Dissertation Abstract
ADAPTIVE DISTURBANCE REJECTION AND STABILIZATION FOR
ROTOR SYSTEMS WITH INTERNAL DAMPING
Andr?as Simon
Doctor of Philosophy, May 9, 2009
(M.Sc., Auburn University, 2003)
(M.Sc., Technical University of Budapest, 1999)
180 Typed Pages
Directed by George T. Flowers
Advanced rotor systems today consist of a lightweight rotor supported by radial active
magnetic bearings (AMB). These systems are widely used in flywheel applications and in
other fields where high rotational speeds are essential. Flywheels are most often made of
composite materials to ensure low weight and sufficient structural strength. It has been
shown in previous works that composite materials have high energy dissipation character-
istics, mainly due to internal damping. In applications where the rotor speed is subcritical,
this property is of low concern, whereas at supercritical speeds the effect of internal damp-
ing should not be ignored due to instability effects described in detail later. Therefore,
it is essential that one must have a detailed understanding of the sources and effects of
internal damping in these structures. This work addresses the application of Adaptive Dis-
turbance Rejection (ADR) control method to deal with the rotordynamic instability caused
by internal damping and synchronous vibrations caused by mass imbalance in rotor systems
operating at supercritical speeds. The three modeled systems are 1) a simple Jeffcott-rotor,
2) a rigid shaft with flexible hub and 3) a slim, flexible shaft. A detailed description of
v
the problems and the strategies for addressing them are discussed. A fixed-gain controller
was also developed for each model to better compare the results to the ones from the adap-
tive controllers. Simulation modeling and analysis results are presented and discussed to
illustrate the method and demonstrate its effectiveness.
vi
Acknowledgments
The author would like to express his gratitude to his advisor, Dr. George T. Flowers for
his guidance, patience, invaluable support and encouragement during the long years leading
to this dissertation. The author also wishes to acknowledge the following committee mem-
bers: Professors David G. Beale and Dan B. Marghitu, Mechanical Engineering, Professor
John Y. Hung, Electrical and Computer Engineering and Professor Mark J. Balas from the
Electrical and Computer Engineering Department, University of Wyoming.
vii
Style manual or journal used Journal of Approximation Theory (together with the style
known as ?auphd?). Bibliograpy follows van Leunen?s A Handbook for Scholars.
Computer software used The document preparation package TEX (specifically LATEX)
together with the departmental style-file auphd.sty.
viii
Table of Contents
List of Figures xi
List of Tables xiv
Nomenclature xv
1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Motivation for research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Organization of Dissertation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Internal Damping 4
3 Active Magnetic Bearings 9
4 Adaptive Disturbance Rejection 15
5 Simulation Models 25
5.1 Jeffcott-rotor model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2 Flexible hub model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3 Flexible shaft model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6 Simulation Results 57
6.1 Jeffcott-rotor model results . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.2 Flexible hub model results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.3 Flexible shaft model results . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7 Conclusions and Future Work 81
Bibliography 84
Appendices 90
A Flexible shaft model calculation details 91
B MATLAB code listing for jeff1.m 96
C MATLAB code listing for jeff1ode.m 101
D MATLAB code listing for flexhub10.m 102
ix
E MATLAB code listing for flexhubdyn.m 111
F MATLAB code listing for FlexDamp.m 112
G MATLAB code listing for Model.m 120
H MATLAB code listing for flexode.m 128
I ANSYS code listing for FlexShaft2.inp 129
J MATLAB code listing for jeff1ver.m 135
K MATLAB code listing for flexhub11ver.m 137
L MATLAB code listing for FlexDampver.m 140
M MATLAB code listing for jefffixed.m 143
N MATLAB code listing for flexhubfixed.m 148
O MATLAB code listing for FixedGain1.m 156
x
List of Figures
2.1 Simple mass-damper-spring system . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 Schematic of a radial active magnetic bearing . . . . . . . . . . . . . . . . . 13
3.2 AMB control scheme for 1 degree-of-freedom . . . . . . . . . . . . . . . . . 14
4.1 Adaptive control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 Adaptive Disturbance Rejection schematic . . . . . . . . . . . . . . . . . . . 21
5.1 Rankine rotor model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2 Jeffcott rotor model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.3 Flexible hub model, front view . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.4 Flexible hub model, side view . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.5 Maximum of real part of eigenvalue as a function of rotor speed . . . . . . . 43
5.6 Nodal distribution for flexible shaft model . . . . . . . . . . . . . . . . . . . 44
5.7 First mode shape of flexible shaft model (1st rigid body mode) . . . . . . . 45
5.8 Second mode shape of flexible shaft model (2nd rigid body mode) . . . . . . 45
5.9 Third mode shape of flexible shaft model (1st flexible mode) . . . . . . . . . 45
5.10 Fourth mode shape of flexible shaft model (2nd flexible mode) . . . . . . . . 45
6.1 Jeffcott-rotor response, ?=50 rad/s, u=0, ?G=0, ?H=0 . . . . . . . . . . . 58
6.2 Jeffcott-rotor response, ?=50 rad/s, u=0.005, ?G=0, ?H=0 . . . . . . . . 59
6.3 Jeffcott-rotor response, ?=50 rad/s, u=0, ?G=5000, ?H=0 . . . . . . . . . 60
6.4 Jeffcott-rotor response, ?=50 rad/s, u=0.005, ?G=5000, ?H=500 . . . . . 61
xi
6.5 Jeffcott-rotor model, fixed gain, ?=50 rad/s, u=0 . . . . . . . . . . . . . . . 62
6.6 Jeffcott-rotor model, fixed gain, increased ci, ?=50 rad/s, u=0 . . . . . . . 63
6.7 Jeffcott-rotor model, fixed gain, ?=50 rad/s, u=0.005 . . . . . . . . . . . . 63
6.8 Flexible hub model response at ?=60 rad/s, u=0, ?G=0, ?H=0 . . . . . . 64
6.9 Flexible hub model response at ?=80 rad/s, u=0, ?G=0, ?H=0 . . . . . . 64
6.10 Flexible hub model response at ?=80 rad/s, u=0, ?G=500, ?H=0 . . . . . 65
6.11 Flexible hub model response at ?=80 rad/s, u=0, ?G=1500, ?H=0 . . . . 65
6.12 Flexible hub model response at ?=70 rad/s, u=0.005, ?G=0, ?H=0 . . . . 67
6.13 Flexible hub model response at ?=80 rad/s, u=0.005, ?G=0, ?H=0 . . . . 67
6.14 Flexible hub model response at ?=70 rad/s, u=0.005, ?G=0, ?H=100 . . 68
6.15 Flexible hub model response at ?=80 rad/s, u=0.005, ?G=0, ?H=100 . . 68
6.16 Flexible hub model response at ?=80 rad/s, u=0.005, ?G=1500, ?H=100 . 69
6.17 Flexible hub model response at ?=120 rad/s, u=0.005, ?G=1500, ?H=100 69
6.18 Flexible hub model, fixed gain, at ?=80 rad/s, u=0.0 . . . . . . . . . . . . 70
6.19 Flexible hub model, fixed gain, at ?=80 rad/s, u=0.0, increased cH . . . . . 71
6.20 Flexible hub model, fixed gain, at ?=80 rad/s, u=0.005, increased cH . . . 71
6.21 Flexible shaft model response at ?=120 rad/s, ?=0, u=0, ?G=0, ?H=0 . . 73
6.22 Flexible shaft model response at ?=150 rad/s, ?=0, u=0, ?G=0, ?H=0 . . 73
6.23 Flexible shaft model response at ?=150 rad/s, ?=0.01, u=0, ?G=0, ?H=0 74
6.24 Flexible shaft model response at ?=150 rad/s, ?=0.01, u=0, ?G=50, ?H=0 74
6.25 Flexible shaft model response at ?=150 rad/s, ?=0.01, u=0, ?G=100, ?H=0 75
6.26 Flexible shaft model response at ?=150 rad/s, ?=0, u=0.01, ?G=0, ?H=0 75
xii
6.27 Flexible shaft model response at ?=150 rad/s, ?=0, u=0.005, ?G=0, ?H=0 76
6.28 Flexible shaft model responseat ?=150 rad/s,?=0,u=0.005, ?G=0, ?H=1000 76
6.29 Flexible shaft model response at ?=150 rad/s,?=0.01, u=0.005, ?G=0, ?H=0 77
6.30 Flexible shaft model response at ?=150 rad/s, ?=0.01, u=0.001, ?G=50,
?H=25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.31 Flexible shaft model with fixed gain, ?=150 rad/s, ?=0.01, u=0 . . . . . . 79
6.32 Flexible shaft model with fixed gain, ?=150 rad/s, ?=0.05, u=0 . . . . . . 79
6.33 Flexible shaft model with fixed gain, ?=150 rad/s, ?=0.05, u=0.001 . . . . 80
xiii
List of Tables
5.1 Jeffcott rotor model parameters . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Flexible hub model parameters . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3 Flexible shaft model parameters . . . . . . . . . . . . . . . . . . . . . . . . . 55
xiv
Nomenclature
Ag Electromagnet face area, general AMB model [m2]
Ag,1 Electromagnet face area on right side AMB [m2]
Ag,2 Electromagnet face area on left side AMB [m2]
A State matrix of model without internal damping
AC State matrix of model with internal damping
Ap Plant state matrix
Am Model state matrix
B Input matrix
Bp Plant input matrix
Bm Model input matrix
C Output matrix
Cp Plant output matrix
CI Internal damping matrix
Cm Model output matrix
Cx Output matrix for ADR
D Damping matrix of model without internal damping
DC Damping matrix of model with internal damping
c Damping in Jeffcott rotor [Ns/m]
cc Critical damping coefficient [Ns/m]
d Airgap in general AMB model [m]
d1 Radial clearance at right side AMB [m]
xv
d2 Radial clearance at left side AMB [m]
ey Error vector
Fx Magnetic bearing force vector in x direction [N]
Fx,imb Imbalance force vector in x direction [N]
Fy Magnetic bearing force vector in y direction [N]
Fy,imb Imbalance force vector in y direction [N]
Gp Adaptive stabilizing gain
Hp Adaptive disturbance rejection gain
h1 Power amplifier bandwidth constant
h2 Power amplifier bandwidth constant
Inx Rotor polar mass moment of inertia matrix
IB1? Bias currents at right side AMB [A]
IB2? Bias currents at left side AMB [A]
ic Control current in general AMB force equation [A]
IB Bias current in nonlinear AMB force equation [A]
i1? Control currents at right side AMB [A]
i2? Control currents at left side AMB [A]
k Jeffcott-rotor shaft stiffness [N/m]
kA,1 Amplifier voltage-to-current gain at right side AMB [V/A]
kA,2 Amplifier voltage-to-current gain at left side AMB [V/A]
K Stiffness matrix
KA Amplifier bandwidth matrix
KB Bias current matrix
xvi
Kx Position stiffness in linear AMB force equation [N/m]
Ki Current stiffness in linear AMB force equation [N/A]
KC Stiffness matrix
KI Current stiffness matrix
KF State feedback gain matrix
M Mass matrix
m Mass of disk for Jeffcott rotor [kg]
mR Mass of rim for flexible hub model [kg]
mS Mass of shaft for flexible hub model [kg]
NT Number of turns in general AMB model
NT,1 Number of turns on electromagnets at right side AMB
NT,2 Number of turns on electromagnets at left side AMB
nb1 Node number at right side magnetic bearing location
nb2 Node number at left side magnetic bearing location
np1 Node number at right side position sensor location
np2 Node number at left side position sensor location
q State vector
qx Rotor modal coordinate vector in x direction
qx,i Rotor modal x coordinate for the i-th mode shape
qy Rotor modal coordinate vector in y direction
qy,i Rotor modal y coordinate for the i-th mode shape
S12 Adaptive gain for xm
S22 Adaptive gain for um
xvii
v1? Control voltages at right side AMB [V]
v2? Control voltages at left side AMB [V]
u State-space model input vector
u Static imbalance [kgm]
ud Disturbance function
um Model input for ADR
up Plant input for ADR
x Displacement for general AMB model [m]
xp1 Rotor physical coordinate in x direction at right side position sensor [m]
xp2 Rotor physical coordinate in x direction at left side position sensor [m]
xb1 Rotor physical coordinate in x direction at right side AMB [m]
xb2 Rotor physical coordinate in x direction at left side AMB [m]
xm Model state vector
xp Plant state vector
yp1 Rotor physical coordinate in y direction at right side position sensor [m]
yp2 Rotor physical coordinate in y direction at left side position sensor [m]
yb1 Rotor physical coordinate in y direction at right side AMB [m]
yb2 Rotor physical coordinate in y direction at left side AMB [m]
y State-space model output
ym Model output
yp Plant output
?1 Gain for S12
?2 Gain S22
xviii
?G Gain for Gp
?H Gain for Hp
? Imbalance vector [kgm]
? Rotor free-free modal rotation matrix
? Gyroscopic matrix
?p Disturbance mapping matrix
?1 Right side magnetic bearing amplifiers? time constant [s]
?2 Left side magnetic bearing amplifiers? time constant [s]
? Rotor speed [rad/s]
?n Critical speed vector [rad/s]
?n Undamped natural frequency [rad/s]
?d Damped natural frequency [rad/s]
? Rotor free-free modal displacement vector
?d Disturbance vector
?0 Permeability of air [H/m]
? Internal damping coefficient, flexible shaft model
xix
Chapter 1
Introduction
1.1 Background
High-speed machinery is used in a wide variety of applications, ranging from tur-
bomachines in power generation settings to industrial tools. Uncontrolled and undesired
vibrations in these systems can lead to catastrophic failures meaning extra costs due to
downtime and repair. Of particular interest to this work are the rotor systems engineered
using composite materials. Composites are often used in applications where high strength
and low weight must be combined in order to reach a certain engineering goal. Composite
flywheels represent the common area shared by high-speed machines and composite materi-
als. Advantages of composites also bring certain other properties which are of low concern
in other applications using composite structures but pose major questions in high-speed
applications. One of these properties is internal (material) damping. Internal damping in
composites stems from several sources, the main one being the interaction between the fibers
and matrix. While in subcritical speeds the internal damping helps reduce the vibrations,
in supercritical speed it causes rotordynamic instability, i.e. a subsynchronous vibration
which grows unbounded over time. Since this instability can occur in an otherwise perfectly
balanced rotor, it is difficult to design a static control law to suppress it. Instead, some sort
of adaptive method has to be considered which would help stabilize the system.
1
1.2 Motivation for research
Rotordynamic instability due to internal damping is a more and more pressing prob-
lem in high-speed applications when combined with shafts made of composite materials.
With traditional (metallic) materials internal damping is of low concern but as engineering
solutions move toward stronger and lighter materials, composites represent a whole new
area in rotordynamics due to their unique characteristics. This research aims to show how
Adaptive Disturbance Rejection method can suppress the rotordynamic instability as well
as the synchronous vibrations resulting from static mass imbalance.
1.3 Organization of Dissertation
The research goal is to study and show the effectiveness of Adaptive Disturbance Re-
jection for reducing of rotordynamic instability as well as its ability to suppress synchronous
vibrations resulting from mass imbalance. Specifically, the work includes:
? Development of mathematical models
? Development of simulation models
? Simulation results and discussion
The dissertation is divided into seven major parts; Chapter 1 introduces the reader to
the argument which the research is based as well as describes the motivation for present
research. Chapter 2 gives details about the source, effect and nature of internal damping
in general as well as how it applies specifically to this work. Chapter 3 describes the active
magnetic bearings used in this work and includes background on Active Magnetic Bearings.
2
Chapter 4 introduces the adaptive control method used in this work as well as contains
detailed development steps on how the controllers were constructed. Chapter 5 shows the
development of the three simulation models in great detail; the Jeffcott-rotor model with
internal damping, the rigid rotor model with a flexible hub and the slim, flexible shaft
model. Chapter 6 discusses the results and findings for each simulated model considered.
Chapter 7 concludes the dissertation by giving an overview of the results, findings and the
conclusions drawn.
3
Chapter 2
Internal Damping
Damping is present in almost every engineering system in some form. It can be classi-
fied into three major groups; Coulomb, viscous, or hysteretic damping, depending on vari-
ous sources. Each describes different method of dissipation of vibration energy. Coulomb
damping is experienced as kinetic friction between two dry surfaces. Hysteretic damping
is caused by internal friction or hysteresis during deformation of solids. Viscous damping,
the most common form of damping, originates from fluid dynamics associated with flow
although it is widely used to describe damping which is proportional to velocity. In general,
having damping present in a system is an advantage as it lowers the vibration amplitude.
On the other hand, in some scenarios damping is a disadvantage, such as damping forces
in moving parts or frictional forces between moving parts which can generate self-excited
vibrations. Consider a simple mass-damper-spring system with no external excitation as
Figure 2.1: Simple mass-damper-spring system
shown on Figure 2.1, with the effects of gravity ignored. The equation of motion is:
m?x+c?x+kx = 0 (2.1)
4
The system response from an arbitrary initial position x0 is described by Equation 2.2:
x(t) = x0e???nt cos(?dt+?) (2.2)
where ? is the damping ratio, expressed as ? = ccc where c is the actual damping in the
system and cc is the critical damping coefficient, defined as cc = 2?km for the system
described by Equation 2.1. The undamped and damped natural frequencies are ?n and ?d,
respectively. Expressing them with the help of k, m and ? (Equation 2.3):
?n =
radicalbigg
k
m ?d = ?n
radicalbig
1??2 (2.3)
As Equation 2.2 shows, the response of the system from an initial position is of decaying
amplitude, the rate of decay is governed by the damping ratio. In this scenario the presence
of damping is an advantage as it helps drive the response to zero over some time t. As it is
explained later, internal damping has the opposite effect in structures and would result in
rotordynamic instability i.e. the system response would grow infinitely large over time (in
real engineering systems this would equal to catastrophic failure).
There is a vast body of research on vibration damping, as well as on material damping.
The major works include Linacre?s discussion of material damping in steels [43, 44], the
published results on the investigation of the nature and characteristics of vibration damping
on some idealized models [42, 12] from Lazan and Crandall. Lazan?s work also contains a
detailed list of models for damping characterization as well as levels of damping for most
common materials along with the nature of testing. Sources on the most recent discussion
on the rotordynamic effects of internal damping include Wettergren?s work which provides a
5
good starting point and discussion on the subject [75]. Other valuable sources also include
Crane?spaper [13] on dampingin composite materials, Genin and Maybee?s workon external
and internal damping [21] and Gabrys? overview on composite materials testing and design
[21]. The ASME handbook [16] and Chandra?s work also a good resource on damping in
composites [9].
Internal damping and material damping, in general are quite complex phenomena and
their properties are difficult to describe. As it has been pointed out in prior research [75],
internal damping and material damping, represents a pressing problem in high-speed appli-
cations employing composite materials. It is well known that internal damping in rotating
assemblies may lead to unstable behavior. The sources of internal damping in composites
can be due to several sources, which include but not limited to thermoelastic damping due
to heat flow [78], friction generated between the matrix and fiber, energy dissipation at
cracks and delaminations [22], as well as non-linear damping at large amplitude vibrations
[1]. The basic instability driver is the tangential follower force that results from the internal
damping. This results in a cross-coupling that produces a vibration mode that becomes
less stable with increasing rotor speed and will result in unstable behavior for super-critical
operation.
There has been considerable work in this area that is well-documented in the literature,
particularly with regard to internal friction arising from micro-slip at shrink-fit interconnec-
tions. The earliest published discussion on the topic was by Newkirk [57], who investigated
the failure of compressors and observed violent whirling at speeds above the first critical.
Kimball identified the source of this instability as being internal friction [38]. Gunter devel-
oped a linear rotordynamic model in which internal friction was modeled as a cross-coupled
6
force. He was able to explain the instability behavior using this model as well as provide
insights into how external damping and support (foundation) flexibility can be used to sta-
bilize such systems [25]. Black investigated a variety of internal friction models (viscous,
Coulomb and hysteretic) for internal friction and differentiated between the various models
with regard to their ability to accurately predict the onset of instability [6]. Lund also inves-
tigated internal friction models, specifically due to micro-slip at axial splines and shrink fit
joints [47]. More recently, Jafri conducted further investigations into internal friction effects
in built-up rotors [33]. He demonstrated that the cross-coupled stiffness model often used
for such systems is incorrect and that the correct model uses cross-coupled internal mo-
ments instead. Additionally, Childs pointed out that for many traditional applications the
practical value of the linear (viscous damping) model for internal friction is limited because
of (1) the dominance of friction from shrink-fit rubbing for internal damping, as compared
to material hysteresis and (2) the practical success of minimizing shrink-fit rubbing [11].
However, the system that is considered in this work is not a traditional built-up ro-
tor. Rather, one of the models in this investigation is specifically a flywheel system with
a flexible composite hub serving as the interface between the rim and shaft. Baseline ex-
periments conducted by the authors using a simple rotor with a flexible hub/rim interface
have demonstrated that the primary unstable vibration mode is a relative displacement in
which the hub material is stretched [54]. The primary source of internal dissipation for this
system comes from the damping and flexibility of this composite interface between the rotor
shaft and the flywheel unit.
7
If the damping is considered viscous, the basic governing equations are expressed in
Equations 2.4 and 2.5:
m?x+c?x+kx?c?y = 0 (2.4)
m?y+c?y+ky+c?x = 0 (2.5)
The internal damping within composite rotors has been estimated to be from ten to a hun-
dred times greater than that within a shaft built from conventional materials [75]. Energy
dissipating behavior of composite materials can be caused by frictional damping in the ma-
trix and fiber or by hysteretic damping at the fiber-matrix interface. For polymer matrix
composites (PMC) with ceramic fibers, the damping capacity of the matrix is expected to
be much higher than that of fibers. The damping capacity is a function of fiber volume frac-
tion, fiber orientation and lay-up, load frequency, amplitude and temperature [78]. Thus, in
general the true functional form of composite material damping can be quite complex. Most
investigators content themselves with identifying an equivalent viscous damping that is used
for transient and steady-state response analyses. A detailed characterization is certainly
beyond the scope of the present investigation. Rather, the primary concern is evaluating
the effectiveness of an adaptive control method for stabilizing rotor systems with internal
damping. So, for simplicity in this investigation, a linear (equivalent viscous) model for the
internal damping is used in the models developed in Sections 6.1 to 6.3.
8
Chapter 3
Active Magnetic Bearings
To make high rotational speedspossible, the rotor is often supported by active magnetic
bearings. These bearings provide contactless and maintenance-free support of the rotor, al-
though they require active control for stable levitation. Active magnetic bearings (AMB)
have gone through remarkable development over the past 40 years. These electro-mechanical
devices replace conventional and oil-film bearings and provide non-contact support of the
rotor. These devices are most often used in high-speed applications [64] (such as turbo-
machines, high-speed electric motors, gas turbines, machine tools) and in situations where
the unique non-contact, lubrication-free nature of these devices can be utilized in hostile
environments. Due to necessary control, magnetic bearings also provide controllable bear-
ing parameters such as stiffness and damping and are successfully used in several other
rotordynamic fields for balancing and vibration suppression.
First report on magnetic levitation dates back from 1842, when Earnshaw performed
experiments [15] and has shown that magnetic levitation is inherently unstable. The first
practical implementation was performed by Beams in 1937 [5]. Later research in the field
of the magnetic bearing control and active magnetic bearings in general, has gained more
momentum in the second half of the 20th century. The first analog controllers were soon
replaced with digital ones as well as more and more sophisticated control methods have
been presented to tackle various imbalance, vibration and rotordynamic stability problems.
There have been several successful attempts to make these bearings simpler, cheaper to
manufacture and maintain by eliminating the need for position sensors; there were several
9
papers published on the self-sensing AMB [49, 73]. As the geometrical, electromechanical
and magnetic properties of AMBs in general are very well known, the focus of research has
turned towards control methods to address several pressing rotordynamic problems. Use of
magnetic bearings to suppress rotor vibrations was first published by Humphris [30] using
analog controllers. Later, Allaire [2] has developed analog and digital controllers for the
same. Rotor vibration suppression using active magnetic bearings was also discussed in
[63, 59]. Nonami et al. [58] have compared the use of electromechanical actuators vs. active
magnetic bearings. In Knospe?s work [40], the use of magnetic bearing control robustness
to address rotor vibrations was investigated.
Most of the earlier works on rotor vibration suppression were geared towards fixed-
gain methods although later gain scheduling was also considered. Application of modern
control methods were also examined on magnetic bearings, such as fuzzy logic control [31],
vibration suppression using fuzzy sets [69], robust control, and nonlinear control. Reinig
and Desrochers have used a method called Adaptive Feedforward Compensation (AFC) to
estimate the disturbance force and use that information to drive the magnetic bearings
accordingly [61]. Lum also describes a similar method called adaptive autocentering [46].
Knospe have used different disturbance rejection methods [39].
Thanks to the advances in control theory and magnetic bearing technology, active
magnetic bearing-supported rotors have become successful candidates for adaptive control
methods for disturbance rejection. In previous works it was assumed that vibrations are
caused solely due to mass imbalance. This work however, also deals with the associated
internal damping of the shaft material which can result in rotordynamic instability at high
speeds.
10
Operating principle and modeling
The levitated rotor is generally supported by four, symmetrically placed electromag-
nets. The electromagnetic levitation is achieved by using the attractive force exerted from
the electromagnets. The position of the levitated rotor is controlled by continuously adjust-
ing the current in the individual electromagnets. The general structure of a typical AMB is
shown on Figure 3.1. The electromagnetic force exerted by a single two-pole electromagnet
is described by Equation 3.1 [35]:
F = ??0AgN2T i
2
x2 (3.1)
where i is the total current in the electromagnets and x is the airgap. Expressing the same
with the bias current description of the AMB is in Equation 3.2. The control current ic is
being superimposed on the constant bias current IB.
F = ?0AgN2T
parenleftBigg
(IB +ic)2
(d?x)2 ?
(IB ?ic)2
(d+x)2
parenrightBigg
(3.2)
Most applications of magnetic bearings, however, use the simpler, linearized approach to
express the electromagnetic force, which is sufficient when the expected movement of the
rotor is small compared to the airgap and the rotor is expected to stay in the close vicinity
of the center. This linear representation of the magnetic bearing assumes the force is
proportional to the control current and the actual position of the rotor, as shown in Equation
3.10. The linearization of Equation 3.2 is possible by using the first terms of its Taylor-series
expansion as:
F ? ?F?xx+ ?F?i
c
ic x = 0,ic = 0 (3.3)
11
The partial derivative of Equation 3.2 with respect to the position x is Kx, called position
stiffness.
Kx = ??x
parenleftBigg
?0AgN2T
parenleftBigg
(IB +ic)2
(d?x)2 ?
(IB ?ic)2
(d+x)2
parenrightBiggparenrightBigg
x = 0,ic = 0 (3.4)
Kx = 2?0AgN2T
parenleftbiggI2
B
d3 +
I2B
d3
parenrightbigg
(3.5)
Kx = 4?0AgN2T I
2
B
d3 (3.6)
Similarly, the partial derivative of Equation 3.2 with respect to the control current ic is the
current stiffness, Ki.
Ki = ??i
c
parenleftBigg
?0AgN2T
parenleftBigg
(IB +ic)2
(d?x)2 ?
(IB ?ic)2
(d+x)2
parenrightBiggparenrightBigg
x = 0,ic = 0 (3.7)
Ki = 2?0AgN2T
parenleftbiggI
B
d2 +
IB
d2
parenrightbigg
(3.8)
Ki = 4?0AgN2T IBd2 (3.9)
The magnetic bearings used in this work have been modeled using the linear expression in
Equation 3.10, with the parameters from Equations 3.6 and 3.9.
F = Kxx+Kiic (3.10)
12
Figure 3.1: Schematic of a radial active magnetic bearing
The shaft position is measured by the proximity sensors placed symmetrically around
the shaft. The control system adjusts the amount of current in the individual electromag-
nets to provide stable levitation. This allows unparalleled flexibility in terms of on-line
adjustment of bearing parameters. As shown in Equation 3.2, the relationship between the
electromagnetic force, the airgap and the necessary coil current is non-linear. In this case a
constant (bias) current IB is applied to each coil and the control current ic is being added
to or subtracted from. Using this approach, the rotor is supported by the difference of the
two counteracting forces. For this layout the net force is the difference of the two attractive
forces. More detailed analysis of magnetic bearing types and operating principles can be
found in Bleuler?s work [7], Schweitzer?s book [64] or Maslen?s work on AMB sizing [49],
among many others. Figure 3.2 shows the logical layout of a typical AMB controller.
13
Figure 3.2: AMB control scheme for 1 degree-of-freedom
14
Chapter 4
Adaptive Disturbance Rejection
The development of high-performance aircraft and the requirements for autopilots was
one of the early motivations for research on adaptive control in the 1950-ies [3]. As aircrafts
operate over a large range of velocities and flight altitudes their flight dynamics are nonlinear
and generally time-varying. The complex dynamics of the aircraft can be approximated by
a linear (state-space) model with a continuously varying operating point. The linear model
for a given operating point i can be expressed as:
dx
dt = Aix+Biu x(0) = x0 (4.1)
y = Cix+Diu (4.2)
where Ai, Bi, Ci and Di are the functions of the operating point, which - in turn - is a
function of the actual flight conditions. An adaptive controller should be able to ?learn?
the strategy for adjusting the gains for a given operating point. This argument has led to
the development of adaptive controllers as shown on Figure 4.1 [32]. The various adaptive
schemes differ in the strategy the gains of the controller are adjusted.
An adaptive controller is made up of a parameter estimator and a control law which
governs how the controller is adjusted according to the estimator. In indirect adaptive con-
trol, the plant parameters are used to calculate the controller parameters. In case of direct
adaptive control the plant model is parameterized in terms of the controller parameters. As
the detailed introduction and analysis of adaptive control in general is not the scope of this
15
Figure 4.1: Adaptive control
work, the interested reader should consult Astrom?s book [4] or Iannoau?s work [32], among
many others.
Adaptive control in rotordynamics
One of the most pressing problems in rotordynamics has been mass imbalance and the
synchronous vibrations as a result of imbalance. There have been several works addressing
this problem for rotors supported by rolling element or fluid film bearings as discussed in
the works of Gosiewski [23, 24] and Van de Vegte [71]. Adaptive techniques were applied
in Shi and Ni?s work to address the imbalance problem on flexible rotors [66]. Before the
use of magnetic bearings became widespread in rotordynamic applications, adaptive con-
trols were applied to adjustment of balancing weight(s) attached to the rotating shaft. As
the limitations of this balancing method were identified the focus of research has turned
towards using magnetic bearings? adjustable properties to eliminate or reduce synchronous
rotor vibrations due to imbalance. Magnetic bearings can be used to compensate for the
vibration of the shaft or to cancel the force transmitted to the bearing foundations. First
Knospe and others [39, 40, 41, 59, 17] discussed an adaptive open-loop control scheme for
16
the imbalance vibration control. Williams and colleagues have presented a discussion on
analog and digital methods in rotor vibration reduction with AMBs [76]. Shafai and col-
leagues presented an adaptive method for magnetic bearings to deal with imbalance-induced
vibrations [65] as well as other authors [66]. Adaptive feed-forward method was used in a
large number of works published, as in Na and Park?s discussion [56]. Adaptive methods
were often combined with other nonlinear controllers, such as fuzzy logic control. Recently,
Huang and Lin presented a fuzzy logic control-based output-feedback solution for imbal-
ance control with magnetic bearings [29]. Another fuzzy controller was used to deal with
harmonic disturbances in a rotor system supported by magnetic bearings [28]. Adaptive
vibration and imbalance control of rigid rotors supported by magnetic bearings were dis-
cussed in Hirschmanner?s works [26, 27]. With more detailed analysis and more powerful
computers becoming available, flexible rotor models have been developed. Shida et al. [67]
and Markert et al. [48] have presented two separate methods for unbalance compensation
and vibration control of flexible rotors in magnetic bearings. Some works discussed the
importance of actuator and sensor placement on rotor imbalance control [36]. Other works
focused on varying speed rotors due to the importance of crossing of critical speeds [68]
or multiple-plane balancing [14]. A survey from Zhou and Shi [77] presents the major
milestones of vibration control in rotating machinery, including adaptive vibration control,
active magnetic bearings and other active balancing methods.
Model reference adaptive control (MRAC) was derived from the model reference prob-
lem (MRC). In the latter a good understanding of the plant is required in order to create a
good model. The scheme known as Adaptive Disturbance Rejection (ADR) has been devel-
oped first to reduce the effects of persistent disturbances in large, complex structures. The
17
general form of this approach has been presented by Fuentes and Balas [19]. This method
is based on Model Reference Adaptive Control (MRAC), in which the disturbance rejection
is achieved through an internal reference model. The main advantage of this approach is
that the exact shape of the disturbance function does not need to be known in advance.
This work relies heavily on the results obtained by Alex Matras in his thesis and later in
his doctoral dissertation. Similar to this work, Matras used a radial active magnetic bearing
supportedrotor system to simulate and to implement the ADR control scheme. As described
in [51], an existing magnetic bearing setup driven by an electric motor was used along with
an external simulated sinusoidal disturbance signal to investigate the effectiveness of the
ADR method. The rotor was modeled as a rigid-body with 2+2 degrees-of-freedom. Simula-
tions and experiments were carried out while taking into account the bandwidth limitations
of the power amplifiers and the effects of rotor speed on the disturbance rejection method?s
effectiveness. A simple PD-type controller was combined with the adaptive controller. It
has been shown that Strict Positive Realness (SPR) could only be guaranteed with current
feedback, which was not implemented at the time. Despite the lack of theoretical sufficient
conditions for stability the simulation and experimental results have shown that stability
can be achieved up to a certain disturbance frequency limit.
In his doctoral dissertation [52] and other works [53], Matras has extended the previous
research on Adaptive Disturbance Rejection. Similar to the previous work, a rigid rotor
with 2+2 degrees-of-freedom was supported by a pair of radial active magnetic bearings.
Amplifier dynamics were also taken into account. A simplified model was also developed
with the amplifier dynamics omitted. A linear PID-controller was used to achieve stable
levitation. Base motion was also taken into account in the simulations. While the simulated
18
and experimental model was not SPR, stable adaptive control was achieved using output
redefinition. It was found that using redefined outputs the range of rejected frequencies
has increased. Experiments have also shown the effectiveness of the output redefinition
combined with adaptive disturbance rejection control on the spinning rotor. Similar to
Matras? findings, it is also shown in this work that stability can be achieved by using the
ADR method despite the system being non-SPR.
Since this work discusses the application of Adaptive Disturbance Rejection, the fol-
lowing section contains the desription of the method as presented in [19].
Adaptive Disturbance Rejection
Consider the bounded vector disturbance function ud(t), i.e. the norm of ud must be
finite, as expressed by Equation 4.3.
bardbludbardbl = sup{bardbludbardblp} 1 ? 0 ?? (4.3)
The disturbance function can be a combination of several scalar disturbance functions ?k,
with amplitude ?k and unit vector ek, where
bardbl?kbardbl? = 1 (4.4)
It follows that the disturbance function ud with l separate disturbance functions accounted
for is described as in Equation 4.5:
ud =
lsummationdisplay
k=1
ek?k?k (4.5)
19
Also, the basis function ?d is defined as shown in Equation 4.6:
?d = [?1 ?2 ... ?k]T (4.6)
The plant?s state space model with persistent disturbance ud is described by Equations
4.7?4.9.
dxp
dt = Apxp +Bpup +?pud (4.7)
yp = Cpxp (4.8)
x0p = xp(0) ? ?Np (4.9)
In Equation 4.7 ?p is a matrix operator mapping the disturbance ud into the state space
system. The reference model is described by Equations 4.10 - 4.12, which represent the
model of the plant with no disturbances.
dxm
dt = Amxm +Bmum (4.10)
ym = Cmxm (4.11)
x0m = xm(0) ? ?Nm Nm ?Np (4.12)
The disturbance rejection is achieved by forcing the plant to follow the output of the refer-
ence model by modifying the input up of the plant as:
up = S21xm +S22um +Gpey +Hp?d (4.13)
20
Figure 4.2: Adaptive Disturbance Rejection schematic
with
ey = yp ?ym (4.14)
dS21
dt = ?eyx
T
m?1 (4.15)
dS22
dt = ?eyu
T
m?2 (4.16)
dGp
dt = ?eye
T
y?G (4.17)
dHp
dt = ?ey?
T
d?H (4.18)
with ?1, ?2, ?G and ?H positive definite. In this work the model is following a zero
reference, that is
ym = 0
xm = 0 (4.19)
S21 = 0
S22 = 0
21
therefore the original expression for up reduces to
up = Gpey +Hp?d (4.20)
From Equation 4.14 the driving error ey of the model will also reduce to:
ey = yp (4.21)
yp = Cxq (4.22)
dGp
dt = ?(Cxq)(Cxq)
T ?G (4.23)
dHp
dt = ?ey?
T
d?H (4.24)
The persistent disturbance due to mass imbalance is sinusoidal in nature, therefore a
straightforward choice for ?d - considering the only synchronous components of the dis-
turbance - is:
?d = [sin(?t) cos(?t) 1]T (4.25)
With this choice of ?d and ey the main task becomes to obtain an output matrix Cx which
would give the desired response by modifying Gp and Hp appropriately.
dq
dt = (A?BKF)q+Gpey +Hp?d (4.26)
u = KFq+Gpey +Hp?d (4.27)
u = (KF +GpCx)q+Hp?d (4.28)
22
The ADR control scheme used in this configuration has two adaptive gains, Gp and
Hp, each used for different purposes. Gp is a ?stabilizing? gain, and as shown in Equation
4.23, it is driven by the deviation of the plant output from the reference. On the other hand,
Hp is used with the disturbance basis function ?d, so that the disturbance is canceled out.
The number of elements of ?d defines what disturbance functions are accounted for. As
Hp and ?d are used to suppress the effects of persistent disturbances, in this work this
disturbance is due to mass imbalance. It can also be shown that Hp is a matrix gain; its
size is defined by the number of outputs of the plant and the number of elements of ?d. In
general, by choosing to include more elements in ?d - to account for disturbances of sub-
and supersynchronous frequencies, for example - more accurate disturbance rejection can
be achieved. The weighting matrices ?G and ?H are positive definite and their value acts
as a ?gain? to Gp and Hp, controlling the overall speed and accuracy of adaptation.
In order to make the adaptive scheme work, the open loop system must be Almost
Strictly Positive Real (ASPR) i.e. the (Ap +BpGpCp,Bp,Cp) triple must be Strictly
Positive Real (SPR). According to the Kalman-Yakubovich lemma, a triple (A,B,C) is
SPR, if all of the three conditions are true: 1) A is stable, 2) (A,B) is controllable and 3)
there exist symmetric positive definite matrix operators Q and P such that
ATP+PA = ?Q (4.29)
PB = CT (4.30)
In other words, for Almost Strict Positive Realness (ASPR), the product CpBp must be
positive definite and there must be no unstable zeros in the open-loop transfer function [74].
23
Each simulation model is verified against these requirements later in Chapter 5. It is found
that the adaptive controller works even if these theoretical conditions are not met.
24
Chapter 5
Simulation Models
There are three models used in this work, ranging from the simple Jeffcott-rotor model
to a very detailed flexible shaft model. In all three cases the synchronous disturbance is due
to a static mass imbalance and the rotordynamic instability is caused by internal damping
in the shaft material or in the flexible hub. The development of each model, complete with
equations of motion, controller design is presented below.
5.1 Jeffcott-rotor model
The first published analysis of a two-degrees-of-freedom model of a rigid rotor (viewed
as a spring-mass system) was performed by Rankine [60] to explain the critical speed be-
havior of such systems. He has predicted - incorrectly - that rotating machines would never
be able to rotate faster than their first critical speed. As a result of his work, engineers
have been focusing on designing rotors with high critical speed; meaning heavy shafts with
large diameters. Rankine used a model similar to the one on Figure 5.1, a uniform shaft
with the effects of friction ignored. The equations of motions developed for that model were
incorrectly missing the Coriolis-terms.
Jeffcott?s analysis [34] of a flexible rotor has shown that stable operation above the
critical speed was possible provided the system was properly balanced. Taylor?s work [70]
has verified Jeffcott?s findings. This prompted engineers to focus on higher operating speeds.
25
Figure 5.1: Rankine rotor model
Figure 5.2: Jeffcott rotor model
Since it is practically impossible to build a perfectly balanced rotor in real engineer-
ing applications, rotating imbalance is the most often observed source for synchronous
vibrations. The Jeffcott-rotor, pictured in Figure 5.2, is the most often used model for
rotordynamic analysis. It consists of a large, unbalanced disk mounted on a flexible shaft,
placed symmetrically between the bearings. The equations of motion for this model are:
m?x+c?x+kx = m?2ucos(?t) (5.1)
26
m?y+c?y+ky = m?2usin(?t) (5.2)
where u is the amount of static imbalance. Gravity loads are omitted as they are often
insignificant compared to the rest of the loads in turbomachines. Assuming constant speed
? and disk mass m, shaft bending stiffness k, the viscous damping resulting from air drag
is denoted by c. The amplitude of the synchronous whirl is increasing as the running speed
is approaching the critical speed and then decreases at supercritical speeds until reaching
the value of static imbalance. Near the critical speed damping is the single most important
property which limits the amplitude of the synchronous whirl. There are three major
solutions to minimize the amplitude of the synchronous whirl [72]; balancing the rotor;
changing the rotor speed or to add damping to the system. Adding damping to the system
is possible only by the bearings as the Jeffcott-rotor does not include any damping terms
other than air drag. Internal damping, on the other hand, would cause non-synchronous
whirl.
Sub- and super-synchronous rotor whirl is often caused by shaft misalignment, rotor-
stator rubbing, and loose bearing housings, among others. The solution for these issues is
to reduce the underlying mechanical issues, such as alignment of the shaft, eliminate the
rub, etc. Rotordynamic instability has its history of causing expensive machine failures,
especially in centrifugal compressors used by the process industries. The core of the insta-
bility is the fact that while damping is positive (see Equations 5.1 and 5.2 above) it has
stabilizing effect. On the other hand, if the damping is negative, it results in rotordynamic
instability. In rotating machines this instability is most often caused by forces which are
tangential to the whirl path and acting in the same direction as the instantaneous motion.
The simulated Jeffcott-rotor is supported by two radial AMB, represented by their linear
27
model. The effects of internal damping were added to the equations of motion as well as
the static mass imbalance.
The equations of motion for the Jeffcott-rotor model are shown in Equations 5.3 and
5.4. The equations were obtained by replacing the spring force in Equations 5.1 and 5.2
with the force from the magnetic bearings and adding the expressions for the cross-coupled
force due to internal damping. The force provided by the magnetic bearings is described
by the linear AMB model (discussed earlier) in Equation 5.6. The control currents icx and
icy are calculated by using a PD-type controller as shown in Equation 5.7.
m?x+ci ?x+?ciy = Fx,AMB +Fx,imb (5.3)
m?y+ci ?y??cix = Fy,AMB +Fy,imb (5.4)
Fx,imb = m?2ucos(?t) Fy,imb = m?2usin(?t) (5.5)
Fx,AMB = Kxx+Kiicx Fy,AMB = Kxy+Kiicy (5.6)
icx = Kpx+Kd ?x icy = Kpy+Kd ?y (5.7)
Expressing the equations of motion in state-space (with state vector in Equation 5.9):
dq
dt = Aq+Bu (5.8)
y = Cq
28
q =
?
???
???
????
???
???
???
?
x
y
?x
?y
?
???
???
????
???
???
???
?
(5.9)
The state matrix A with the state-feedback:
A =
?
??
??
??
??
??
0 0 1 0
0 0 0 1
Kx+KiKp
m ?
?ci
m
KiKd?ci
m 0
?ci
m
Kx+KiKp
m 0
KiKd?ci
m
?
??
??
??
??
??
(5.10)
B =
?
??
??
??
??
??
0 0
0 0
1 0
0 1
?
??
??
??
??
??
(5.11)
The control input u modified with the adaptive controller:
u =
?
??
??
icx
icy
?
??
??+GpeyG +Hp?d (5.12)
where eyG is the error signal driving Gp to stabilize the system, in this case
eyG = CGq (5.13)
dGp
dt = ?eyGeyG
T?G (5.14)
29
where CG has been selected as:
CG =
?
?? 1 0 1 0
0 1 0 1
?
?? (5.15)
Also, eyH is the error signal driving Hp to reject the synchronous disturbances as:
eyH = CHq (5.16)
dHp
dt = ?eyH?d
T?H (5.17)
for the best results, CH has been selected as:
CH =
?
?? 1 0 1 0
0 1 0 1
?
?? (5.18)
The disturbance function ?d has been chosen to include the synchronous components as
shown in Equation 5.19:
?d = [sin(?t) cos(?t) 1]T (5.19)
Verification of sufficient conditions for this model:
The product CGB (or CHB) must be positive definite and there must be no unstable
zeros in the open-loop transfer function [74]. The A matrix is expressed in Equation 5.10
and the B matrix is expressed in Equation 5.11 and the MATLAB script in Appendix A.10
30
Name Value Dimension
N 330 ?
Ag 3.22e?4 mm2
d 0.002 m
ib 1 A
?0 4pi e?7 H/m
m 10 kg
u 0.05 kgm
Kp -1000 ?
Kd -5 ?
ci 60 Ns/m
Table 5.1: Jeffcott rotor model parameters
shows that both these conditions are met for this model, as
CGB =
?
?? 1 0
0 1
?
?? (5.20)
and the zeros of the state-space model built with the A, B and CG (or CH) matrices are all
positive. This model satisfies the sufficient conditions for Strict Positive Realness according
to [74].
31
Figure 5.3: Flexible hub model, front view
5.2 Flexible hub model
The simulation model consists of two radial magnetic bearings, current amplifiers,
proximity sensors, a horizontally mounted rotor and the flexibly connected outer rim. The
effects of gravity were omitted in the simulations, as the weight of the rotor assembly can
be offset by applying constant current-offset in the top and bottom electromagnets in each
magnetic bearing. The simulation model was developed using MATLAB. For the sake of
simplicity, a rigid rotor is considered and, due to the small displacements, only lateral
motion (horizontal and vertical) have been considered. The model has 2+2 (shaft and rim)
DOF for lateral motion of the shaft and the rim in vertical and in horizontal directions,
respectively. These assumptions were based on previously experimentally observed and
verified results [50]. The model of the flexible hub flywheel is shown on Figures 5.3 and 5.4.
The shaft and the rim are treated as two discrete masses (mS and mR) connected by
the flexible hub, which is represented by two sets of springs and dampers in the vertical and
32
Figure 5.4: Flexible hub model, side view
horizontal directions. The damper and spring constants have been obtained from previous
experimental results [54, 55]. The magnetic bearings are described by their linearized model
and the forces exerted by the individual magnetic bearings (called bearing A and B) in x
andy direction is denoted byFxA,FyA andFxB, FyB, respectively. The equations of motion
of the entire system are described by Equations 5.37?5.40. For the sake of simplicity the
hub stiffness kH and damping cH terms are assumed to be equal in both vertical and
horizontal directions (isotropic case), although this is not always true, due to the inherent
manufacturing inaccuracies of composites or other geometrical and material imperfections of
the rotor assembly. The model development is presented in detail below. The development
starts with expressions for the potential energy T and kinetic energy V:
T = 12mSparenleftbig?x2S + ?y2Sparenrightbig+ 12mRparenleftbig?x2R + ?y2Rparenrightbig (5.21)
V = 12kHX (xR ?xS)2 + 12kHY (yR ?yS)2 + 12kBXx2S + 12kBYy2S (5.22)
33
The dissipation force FD acting on the hub-rim interface, expressed in the frame fixed to
the rotating assembly:
FD = ?cHXbracketleftbigparenleftbig?xrotR ? ?xrotS parenrightbigxbracketrightbig?cHY bracketleftbigparenleftbig?yrotR ? ?yrotS parenrightbigybracketrightbig (5.23)
The dissipation force FB due to the bearings:
FB = ?cBX ?xS?x?cBY ?yS?y (5.24)
The coordinate transformation from rotating system to the fixed:
?
??
??
xrot
yrot
?
??
??=
?
?? cos(?t) sin(?t)
?sin(?t) cos(?t)
?
??
?
??
??
x
y
?
??
?? (5.25)
Expressing the unit vectors ?x and ?y:
??
?
??
?x
?y
??
?
??=
?
?? cos(?t) sin(?t)
?sin(?t) cos(?t)
?
??
??
?
??
?x
?y
??
?
?? (5.26)
The equations of motion for the system can be obtained by expressing the Lagrangian and
solving the following set of equations:
d
dt
parenleftbigg?L
??qi
parenrightbigg
? ?L?q
i
q = {xS yS xR yR}T i = 1...4 (5.27)
which gives:
mS?xS ?kHX (xR ?xS)+kBXxS = Q1 (5.28)
34
mS?xS ?kHY (yR ?yS) +kBYyS = Q2 (5.29)
mR?xR +kHX (xR ?xS) = Q3 (5.30)
mR?xR +kHY (yR ?yS) = Q4 (5.31)
Expressing FD in the stationary coordinate system:
FD = ((cHX cos2(?t)+cHY sin2(?t))((?xS ? ?xR) +?(yS ?yR))+
sin(?t)cos(?t)((?yR ? ?yS)??(xR ?xS))(cHY ?cHX))?x+ (5.32)
((cHX sin2(?t)+cHY cos2(?t))((?yS ? ?yR)??(xS ?xR))+
sin(?t)cos(?t)((?xR ? ?xS) +?(yR ?yS))(cHY ?cHX))?y
Next, let us take into consideration that Q is composed of FD and FB:
Q1 = ?parenleftbigcHX cos2 (?t)+cHY sin2 (?t)parenrightbig((?xS ? ?xR)+?(yS ?yR))?
sin(?t)cos(?t)((?yR ? ?yS)??(xR ?xS))(cHY ?cHX)?cBY ?xS (5.33)
Q2 = ?parenleftbigcHX sin2 (?t)+cHY cos2 (?t)parenrightbig((?yS ? ?yR)??(xS ?xR))?
sin(?t)cos(?t)((?xR ? ?xS)+?(yR ?yS))(cHY ?cHX)?cBY ?yS (5.34)
Q3 =parenleftbigcHX cos2 (?t)+cHY sin2 (?t)parenrightbig((?xS ? ?xR)+?(yS ?yR)) +
sin(?t)cos(?t)((?yR ? ?yS)??(xR ?xS))(cHY ?cHX) (5.35)
35
Q4 =parenleftbigcHX sin2 (?t)+cHY cos2 (?t)parenrightbig((?yS ? ?yR)??(xS ?xR)) +
sin(?t)cos(?t)((?xR ? ?xS)+?(yR ?yS))(cHY ?cHX) (5.36)
Now all four equations (Equations 5.33 ? 5.36) can be simplified by assuming the isotropic
case (i.e. kB=kBX=kBY , cB=cBX=cBY , kH=kHX=kHY and cH=cHX=cHY ). The bearing
forces have been replaced by the forces from the linearized magnetic bearing models for
each magnetic bearing (FxA, FxB, FyA and FyB).
mS?xS +FxA +FxB +Fx,imb +cH (?xS ? ?xR)+kH (xS ?xR) = ??cH (yS ?yR) (5.37)
mS?yS +FyA +FyB +Fy,imb +cH (?yS ? ?yR) +kH (yS ?yR) = ?cH (xS ?xR) (5.38)
mR?xR +cH (?xR ? ?xS)+kH (xR ?xS) = ??cH (yR ?yS) (5.39)
mR?yR +cH (?yR ? ?yS) +kH (yR ?yS) = ?cH (xR ?xS) (5.40)
The imbalance forces due to the static imbalance u (Fx,imb and Fy,imb) are expressed as
Fx,imb = u?2 sin(?t) (5.41)
Fy,imb =u?2 cos(?t) (5.42)
The cross-coupled stiffness terms are due to the transformation of the damping forces from
the coordinate system fixed to the rotor to the stationary coordinate system of the rim.
These cross-coupling terms are causing instability of the system as soon as the running
speed becomes sufficiently high (see Figure 5.5). The controller is a typical PD-type, with
36
Kp and Kd values obtained from previous experiments [18, 69] (see Equations 3.5 and
3.9) and known to give stable levitation with the magnetic bearings used in this work.
It is also assumed that both magnetic bearings have the same electrical, magnetic and
geometrical parameters, shown in Table 5.2. The currents in the coils are provided by
switching amplifiers of moderate bandwidth. Direct measurement of the rim coordinates
(xR, yR) is impractical due to the flexible attachment to the shaft and the expected range
of motion can be quite large. Additional proximity sensors and their wiring would also
increase the overall mechanical and electrical complexity of the setup. For these reasons a
reduced-order observer has been designed to estimate the rim coordinates. These estimates,
as well as the measured shaft coordinates, were used in the calculation of the adaptive gains
of the controller.
The levitation is achieved by using a PD-type controller with the appropriate Kp and
Kd values as shown in Equations 5.45 and 5.46. Assuming a rigid shaft the basic equation
of motion for the stationary shaft is
m?x = Fx (5.43)
where m=mS+mR and based on the linearized AMB model and Fx can be expressed as
Fx = Kxx+Kiic (5.44)
also, assuming a PD controller for ic, the complete model for the levitation is
m?x = Kxx+Ki (Kpx+Kd ?x) ic = Kpx+Kd ?x (5.45)
37
therefore the state space model with state feedback is
?
??
??
?x
?x
?
??
??=
?
?? 0 1parenleftBig
(Kx+KiKp)
m
parenrightBig parenleftBig
KiKd
m
parenrightBig
?
??
?
??
??
x
?x
?
??
?? (5.46)
which results in Kp < ?500 and Kd < ?1 as minimum values for stable levitation using
the simulation parameters listed in Table 5.2.
State estimator development
Since the direct measurement of the rim coordinates is a somewhat impractical and
unreliable solution, it became apparent that those coordinates should be estimated instead.
Therefore a reduced-order state-estimator has been developed which estimates the rim po-
sition and - in turn - the rim velocity.
Consider the general form of a mathematical model expressed in the state-space form
where x and y is the state vector and output vector, respectively:
dx
dt = Ax+Bu
y = Cx (5.47)
38
For the model discussed here the matrices are as follows:
A =
?
??
??
??
??
??
??
??
??
??
??
??
??
?
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
?2Kx?kH
mS ?
?cH
mS
kH
mS
?cH
mS ?
cH
mS 0
cH
mS 0
?cH
mS
?2Kx?kH
mS ?
?cH
mS
kH
mS 0 ?
cH
mS 0
cH
mS
kH
mR
?cH
mR ?
kH
mR ?
?cH
mR
cH
mR 0 ?
cH
mR 0
??cHmR kHmR ?cHmR ?kHmR 0 cHmR 0 ? cHmR
?
??
??
??
??
??
??
??
??
??
??
??
??
?
(5.48)
B =
?
??
??
??
??
??
??
??
??
??
??
??
??
?
0 0
0 0
0 0
0 0
?2KimS 0
0 ?2KimS
0 0
0 0
?
??
??
??
??
??
??
??
??
??
??
??
??
?
(5.49)
C =
?
??
??
??
??
??
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
?
??
??
??
??
??
(5.50)
39
With an appropriate state feedback (u = ?KKx) the system is modified as
dx
dt = (A?BKK)x
y = Cx (5.51)
The state feedback matrix KK contains the gains of the PD-controller described earlier:
KK =
?
?? Kp 0 0 0 Kd 0 0 0
0 Kp 0 0 0 Kd 0 0
?
?? (5.52)
For the state feedback to work properly it is necessary that all states are available. In
this case some of the states are unavailable due to the limitations mentioned above so
the missing states would be replaced with estimated ones. After obtaining the solution
for the Lyapunov-equation (TA?FT = LC), one can proceed with the calculation of the
estimated states. The detailed development is not shown here, as it follows the standard
method which developed by Luenberger [45] as well as presented in many control text books,
such as [8, 10, 37]
L =
?
??
??
??
??
??
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
?
??
??
??
??
??
(5.53)
40
F =
?
??
??
??
??
??
-1000 0 0 0
0 -2000 0 0
0 0 -3000 0
0 0 0 -4000
?
??
??
??
??
??
(5.54)
The estimate of the state vector x is ?x which is obtained by solving Equation 5.56:
?x =
?
?? C
T
?
??
?1??
?
??
y
z
?
??
?? (5.55)
d?x
dt = (A?LC)?x+Bu+Ly (5.56)
The dynamics for z are described by Equation 5.57:
dz
dt = Fz+TBu+Ly (5.57)
After obtaining the estimates states the overall state matrix for the model is
x =
??
???
????
????
???
????
????
??
????
???
????
????
???
????
???
xS
yS
?xR
?yR
?xS
?yS
??xR
??yR
??
???
????
????
???
????
????
??
????
???
????
????
???
????
???
(5.58)
41
Name Value Dimension Name Value Dimension
Ag 3.28e?4 m2 Kd -5
N 330 Ki 11.02 N/A
d 2 mm Kx 5508.1 N/m
?0 4pie?7 H/m mS 0.238 kg
ib 1 A mR 0.567 kg
kH 2000 N/m ?G 1500
cH 4.84 Ns/m ?H 100
Kp -1000 u 0.005 kgm
Table 5.2: Flexible hub model parameters
The error signal eyG which is used to calculate the adaptive part of controller is made of
the estimated rim coordinates for Gp and the shaft velocity for Hp, as shown in Equations
5.59 and 5.60:
dGp
dt = ?eyGe
T
yG?G (5.59)
dHp
dt = ?eyH?
T
d?H (5.60)
where the error inputs eyG and eyH are expressed as
eyG =
??
?
??
?xR
?yR
??
?
?? (5.61)
eyH =
?
??
??
?xS
?yS
?
??
?? (5.62)
42
0 20 40 60 80 100 120 140 160 180 200?5
0
5
10
Maximum of Re(eig(A+(B*K)))
Rotor speed [rad/s]
Figure 5.5: Maximum of real part of eigenvalue as a function of rotor speed
Verification of sufficient conditions for this model:
As stated before, the product of CxB matrices must be positive definite and there
must be no unstable zeros in the open-loop transfer function [74]. The state matrix for
this model is (A?BKK) as expressed in Equations 5.48 and 5.52. The input matrix B
is expressed in Equation 5.49. The MATLAB script in Appendix A.11 shows that one of
the two conditions are met for this model, as the eigenvalues of the CxB product are all
positive.
CxB =
?
?? 92.57 0
0 92.57
?
?? (5.63)
Some zeros of the state-space model built with the (A?BKK), B and Cx matrices are 0,
suggesting that the model does not satisfy the sufficient theoretical conditions.
43
Figure 5.6: Nodal distribution for flexible shaft model
5.3 Flexible shaft model
The simulation model consists of a slender, flexible shaft supported by two radial active
magnetic bearings at both ends. The rotor is modeled by using the free-free bending mode
shapes and natural frequencies obtained from finite element (FE) model. The FE model
uses 73 nodes and the first four mode shapes (two rigid body modes and two flexible modes)
are included in the simulation. Although the model includes the flexible shaft modes, due
to the insufficient number of position sensor locations those flexible modes can not be used
for controller design. The laminated parts of the shaft at the nodes where the magnetic
bearings are located (nb1, nb2) as well as at the position sensors (np1, np2) are represented
byadditional masses. Theimbalance is modeled as a single point-massacting at the midspan
of the bearings - defined by the imbalance vector ? - although it is not included in the finite
element analysis. Figure 5.6 shows the representation of the finite element model which was
developed using ANSYS. Figures 5.7 to 5.10 show each of the four mode shapes obtained
from the FE analysis.
44
10 20 30 40 50 60 70?5
0
5
Node #
Displacement
Figure 5.7: First mode shape of flexible shaft model (1st rigid body mode)
10 20 30 40 50 60 70?5
0
5
Node #
Displacement
Figure 5.8: Second mode shape of flexible shaft model (2nd rigid body mode)
10 20 30 40 50 60 70?5
0
5
Node #
Displacement
Figure 5.9: Third mode shape of flexible shaft model (1st flexible mode)
10 20 30 40 50 60 70?5
0
5
Node #
Displacement
Figure 5.10: Fourth mode shape of flexible shaft model (2nd flexible mode)
45
According to Ryan [62], the equations of motion for a flexible shaft in nodal coordinates
can be expressed as:
?qx = ??2nqx +???qy +Fhoriz (5.64)
?qy = ??2nqy ????qx +Fvert (5.65)
The horizontal and vertical forcing is provided by the magnetic bearings and the imbalance:
Fhoriz = ?TFx +?TFx,imb (5.66)
Fvert = ?TFy +?TFy,imb (5.67)
In Equations 5.66 and 5.67, Fx and Fy are the forces from the magnetic bearings in hori-
zontal and vertical direction, respectively. Similarly, Fx,imb and Fy,imb are the imbalance
forces in horizontal and vertical direction as shown in Equations 5.68 and 5.69.
Fx,imb = ??2 cos(?t) (5.68)
Fy,imb = ??2 sin(?t) (5.69)
Fx = Fx1 +Fx2 (5.70)
Fy = Fy1 +Fy2 (5.71)
46
The force provided by the magnetic bearings can be expressed in terms of the right and left
side bearing as shown in Equations 5.72 ? 5.75:
Fx1 = ?0Ag,1N2T,1
parenleftbigg I2
13
(d1 ?xb1)2 ?
I214
(d1 +xb1)2
parenrightbigg
(5.72)
Fx2 = ?0Ag,2N2T,2
parenleftbigg I2
23
(d2 ?xb2)2 ?
I224
(d2 +xb2)2
parenrightbigg
(5.73)
Fy1 = ?0Ag,1N2T,1
parenleftbigg I2
11
(d1 ?yb1)2 ?
I212
(d1 +yb1)2
parenrightbigg
(5.74)
Fy2 = ?0Ag,2N2T,2
parenleftbigg I2
21
(d2 ?yb2)2 ?
I222
(d2 +yb2)2
parenrightbigg
(5.75)
In the simulation model, however, the bearing forces (Fx1, Fx2, Fy1 and Fy2), are rep-
resented by the linearized expression as described in Equations 3.6 and 3.10. The simple
model described by Equations 5.64 and 5.65 is now being extended to account for the effects
of internal damping and imbalance, as shown in Equations 5.76 and 5.77.
?qx = ??2nqx +?CIqy +???qy ?CI?qx +?TFx +?TFx,imb (5.76)
?qy = ??2nqy ??CIqx ????qx ?CI?qy +?TFy +?TFy,imb (5.77)
The individual coil currents in the magnetic bearings are the sum of the control currents i
and bias currents IB:
I1k = IB1k +i1k (k = 1...4) (5.78)
I2k = IB2k +i2k (k = 1...4) (5.79)
47
The bias currents are assumed to be linearly proportional to the bias voltages:
IB1i = kA1VB1i (i = 1...4) (5.80)
IB2i = kA2VB2i (i = 1...4) (5.81)
In this work it is assumed that the internal damping terms are in the form of ??i, therefore
the damping matrix takes the form as expressed by Equation 5.82:
CI = ?
?
??
??
??
??
??
?1 0 0 0
0 ?2 0 0
0 0 ?3 0
0 0 0 ?4
?
??
??
??
??
??
(5.82)
The simulation model used in this work is described by 20 states which are defined as
follows: four states for each mode-shape for the displacement of the shaft in vertical (x)
and in horizontal (y) direction as well as their time-derivatives, respectively, and the four
augmented current states. The current states are a combination of the bias currents IB and
control currents i.
48
q =
?
????
???
????
????
???
????
???
???
????
???
????
????
???
????
qx
qy
?qx
?qy
IB11i11 ?IB12i12
IB13i13 ?IB14i14
IB21i21 ?IB22i22
IB23i23 ?IB24i24
?
????
???
????
????
???
????
???
???
????
???
????
????
???
????
(5.83)
q? =
?
???
????
???
???
????
???
q?,1
q?,2
q?,3
q?,4
?
???
????
???
???
????
???
?q? =
?
???
????
???
???
????
???
?q?,1
?q?,2
?q?,3
?q?,4
?
???
????
???
???
????
???
(5.84)
The individual coil currents are not observable. Following the results from [18], with some
manipulation the system can be made observable by introducing the new current state
variables:
IB11i11 ?IB12i12
IB13i13 ?IB14i14 (5.85)
IB21i21 ?IB22i22
IB23i23 ?IB24i24
49
The amplifiers providing current to the active magnetic bearings are of pulse width mod-
ulation (PWM) type with moderate bandwidth. Each power amplifier?s bandwidth is de-
pendent upon the actual airgap between the rotor and electromagnet surface in a particular
direction. Based on earlier experimental results [18] the coil and amplifier dynamics can be
described by Equations 5.86 - 5.93.
di11
dt = (kA,1v11 ?i11)(h1 ?h2 (d1 ?yb1)) (5.86)
di12
dt = (kA,1v12 ?i12)(h1 ?h2 (d1 +yb1)) (5.87)
di13
dt = (kA,1v13 ?i13)(h1 ?h2 (d1 ?xb1)) (5.88)
di14
dt = (kA,1v14 ?i14)(h1 ?h2 (d1 +xb1)) (5.89)
di21
dt = (kA,2v21 ?i21)(h1 ?h2 (d2 ?yb2)) (5.90)
di22
dt = (kA,2v22 ?i22)(h1 ?h2 (d2 +yb2)) (5.91)
di23
dt = (kA,2v23 ?i23)(h1 ?h2 (d2 ?xb2)) (5.92)
di24
dt = (kA,2v24 ?i24)(h1 ?h2 (d2 +xb2)) (5.93)
The displacement of the rotor at the magnetic bearing locations (xb1, yb1, xb2 and yb2) can
be calculated by using the following coordinate transformations (Equation 5.94):
xb1 =
4summationdisplay
i=1
?nb1,iqx,i yb1 =
4summationdisplay
i=1
?nb1,iqy,i xb2 =
4summationdisplay
i=1
?nb2,iqx,i yb2 =
4summationdisplay
i=1
?nb2,iqy,i (5.94)
50
Similarly, the displacements at the proximity sensors (xp1, yp1, xp2 andyp2) can be obtained
by using the expressions in Equation 5.95:
xp1 =
4summationdisplay
i=1
?np1,iqx,i yp1 =
4summationdisplay
i=1
?np1,iqy,i xp2 =
4summationdisplay
i=1
?np2,iqx,i yp2 =
4summationdisplay
i=1
?np2,iqy,i
(5.95)
The state-space representation of the system, in general, is expressed by Equation 5.96:
dq
dt = Aq+Bu
y = Cq (5.96)
The model with no internal damping is described by Equations 5.97 and 5.98. Similarly,
the model with internal damping considered is described by Equations 5.99 and 5.100. Due
to the nature of the FE analysis the mass matrix M is normalized so that in Equations 5.97
and 5.99 the inverse of the mass matrix (M?1) is a unit matrix.
A =
?
??
??
??
0 I 0
M?1K ?M?1D M?1KI
0 0 KA
?
??
??
?? (5.97)
B =
?
?? 0
KB
?
?? (5.98)
AC =
?
??
??
??
0 I 0
M?1KC ?M?1DC M?1KI
0 0 KA
?
??
??
?? (5.99)
51
BC =
?
?? 0
KB
?
?? (5.100)
The uncontrolled system (either A or AC) is unstable. Therefore, a basic state feedback
controller has been developed by changing all the positive real parts of the eigenvalues of
A negative. This step was necessary, since the uncontrolled system is unstable due to the
unstable dynamics of the active magnetic bearings. Also, the system represented by AC is
unstable as well, due to the presence of internal damping terms. The controller designed
to stabilize A, however, is unable to counter the effects of internal damping as it has been
developed using the system model which did not take internal damping into consideration.
The state feedback matrix KF is obtained from MATLAB simulation. The model with state
feedback is expressed in Equation 5.101. With the state feedback to the original system,
the state-space model can be described as
dq
dt = (A?BKF)q
u = KFq (5.101)
The state feedback matrix designed for the system with no internal damping (A) will be
used on the actual system (AC) which includes the effects of internal damping. Based on
the simulation results the state feedback designed for the original system is not able to
suppress the instability resulting from the effects of internal damping. For this reason the
Adaptive Disturbance Rejection method is being considered to help the controller deal with
rotordynamic instability resulting from internal damping.
52
It has been found that by using the terms which were used to describe internal damping
in Equation 5.99, the output matrix can be successfully be laid out to have the desired effect
on Gp, as shown in Equation 5.102. As it is readily apparent, the output matrix used in
conjunction with Gp has little resemblance to an actual output, therefore this matrix could
be called a ?pseudo?-output matrix.
CG = ?
?
??
??
??
??
??
0 0 ??3 ??4 0 0 ???3 ???4
0 0 ???3 ???4 0 0 ???3 ???4
0 0 ???3 ???4 0 0 ??3 ??4
0 0 ??3 ??4 0 0 ??3 ??4
0 0 ?3 ?4 0 0 ??3 ??4 0 0 0 0
0 0 ?3 ?4 0 0 ?3 ?4 0 0 0 0
0 0 ??3 ??4 0 0 ?3 ?4 0 0 0 0
0 0 ??3 ??4 0 0 ??3 ??4 0 0 0 0
?
??
??
??
??
??
(5.102)
The output matrix (CH) used with Hp is shown in Equation 5.103. This matrix
appears as a ?normal? output matrix would in this configuration except that it contains
both the position and the velocity components. The argument for the selection of output
matrices as described above is the following; the effect of internal damping has been acting
on the system in an indirect fashion, therefore a similarly indirect method (i.e. indirect
output matrix) has been chosen to properly address the unstable eigenvalues in the system
matrix. The layout of the CG matrix helps drive the gains of Gp to a form which is very
similar to a fixed state-feedback. The values of CG were actually determined from the static
state-feedback values acting as guidelines.
53
The effect of static imbalance appears as a direct term in the equations of motion, thus
it is sufficient to use a direct output matrix, i.e. one that very closely resembles the original
one. The output matrix for the disturbance rejection part is CH and is built by combining
the position and velocity terms for the original output matrix C.
CH =
?
??
??
??
??
??
?np1,1 ?np1,2 ?np1,3 ?np1,4 0 0 0 0
0 0 0 0 ?np1,1 ?np1,2 ?np1,3 ?np1,4
?np2,1 ?np2,2 ?np2,3 ?np2,4 0 0 0 0
0 0 0 0 ?np2,1 ?np2,2 ?np2,3 ?np2,4
?np1,1 ?np1,2 ?np1,3 ?np1,4 0 0 0 0 0 0 0 0
0 0 0 0 ?np1,1 ?np1,2 ?np1,3 ?np1,4 0 0 0 0
?np2,1 ?np2,2 ?np2,3 ?np2,4 0 0 0 0 0 0 0 0
0 0 0 0 ?np2,1 ?np2,2 ?np2,3 ?np2,4 0 0 0 0
?
??
??
??
??
??
(5.103)
Verification of sufficient conditions for the flexible shaft model:
As stated before, the product of CGB (or CHB) matrices must be positive definite and
there must be no unstable zeros in the open-loop transfer function [74]. The state matrix
for this model is AC as expressed in Equations 5.99. The input matrix B is expressed
in Equation 5.100. The MATLAB script in Appendix A.11 shows that one of the two
conditions are met for this model, as the eigenvalues of both the CGB product and the
54
Name Value Dim. Name Value Dim.
NT,1 160 kA,1 0.45 V/A
NT,2 160 kA,2 0.45 V/A
Ag,1 3.23e?4 m2 nb1 54
Ag,2 3.23e?4 m2 nb2 34
d1 1.25e?3 m np1 51
d2 1.25e?3 m np2 30
h1 2.87e6 ?1 2.53e?5 s
h2 2700 ?2 2.53e?5 s
IB1? 0.5 A IB2? 0.5 A
?0 4pie?7 H/m ?3 39.6 rad/s
?1,2 0 rad/s ?4 95.6 rad/s
Table 5.3: Flexible shaft model parameters
CHB are all positive.
CGB =
?
??
??
??
??
??
0.05 0 0 0
0 0.05 0 0
0 0 0.05 0
0 0 0 0.05
?
??
??
??
??
??
(5.104)
CHB =
?
??
??
??
??
??
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
?
??
??
??
??
??
(5.105)
Some zeros of the state-space model built with the (AC ?BKF), B and CG matrices are
0, proving that the flexible shaft model does not satisfy the sufficient theoretical conditions.
55
As shown later, despite the fact that the model does not pass these requirements, it performs
well in the face of persistent disturbance and internal damping induced instability.
56
Chapter 6
Simulation Results
This section presents the simulation results for all three models used in this work.
First the simple Jeffcott-rotor is being considered with added internal damping (ci) and
static mass imbalance (u). The combined effects of both imbalance and internal damping
are also discussed. It is shown how the ADR control scheme can be utilized to suppress
synchronous vibrations and rotordynamic imbalance at the same time. Next, the same
analysis is presented for the rigid rotor with a rim attached to it by a flexible hub in Section
6.2. In that model, the flexible hub simulates the effect of internal damping with added
static mass imbalance. Finally, a flexible shaft model is considered with a mass imbalance
and internal damping in Section 6.3. A fixed-gain controller was also developed for each
model to better illustrate the effectiveness of the adaptive controller.
6.1 Jeffcott-rotor model results
First, the model for the Jeffcott-rotor has been developed which is a rigid disk on a
flexible shaft. The effect of internal damping was added to the equations of motion as well
as the static mass imbalance. As the model presented here is a purely theoretical one, the
values for various parameters such as internal damping, mass, etc. were selected to present
the argument.
As Figure 6.1 shows the uncontrolled response of the model grows unstable at super-
critical speed when internal damping is present. Furthermore, as Figure 6.2 shows the
combined effect of internal damping and mass imbalance further complicates the problem
57
by driving the system unstable even faster. When considering only internal damping, the
stabilizing part of the ADR scheme (Gp) drives the response stable as shown on Figure
6.3. To counter the combined effect of mass imbalance and internal damping, both the
stabilizing and disturbance rejection parts of the ADR are used, as shown on Figure 6.4
the response is stable. It is shown that the stabilizing part of ADR has successfully dealt
with the rotordynamic instability due to internal damping and the disturbance rejection
part (Hp) has also reduced the amplitude of the synchronous vibration.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Simulation time, [s]
Displacement, [m]
x
y
Figure 6.1: Jeffcott-rotor response, ?=50 rad/s, u=0, ?G=0, ?H=0
Fixed-gain controller results
The fixed-gain baseline controller has been developed to better illustrate the ADR
scheme?s effectiveness in face of varying model parameters, such as internal damping, mass
imbalance. As expected, the response is stable as shown on Figure 6.5, when the simulation
58
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Simulation time, [s]
Displacement, [m]
x
y
Figure 6.2: Jeffcott-rotor response, ?=50 rad/s, u=0.005, ?G=0, ?H=0
is run with the same parameters as the fixed-gain controller is designed for. On the other
hand, the controller is not able to stabilize the system whenthe internal dampingis increased
(Figure 6.6) or combined with persistent disturbance, such as mass imbalance, as shown on
Figure 6.7.
6.2 Flexible hub model results
This section discusses the results observed from the simulation on the model described
previously. The simulations were performed with no external disturbance (i.e. mass imbal-
ance) taken into consideration. Thus, the only source of rotordynamic instability was the
effect of internal damping. The first simulations were performed to test how a simple PD-
type controller would deal with the rotordynamic instability as a result of internal damping.
59
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Simulation time, [s]
Displacement, [m]
x
y
Figure 6.3: Jeffcott-rotor response, ?=50 rad/s, u=0, ?G=5000, ?H=0
Therefore, it is first assumed that Hp = 0 and ?H = 0. Figure 6.8 shows the results of a
test run while the rotor speed is subcritical; in this case the internal damping has a stabiliz-
ing effect on the system. The response is stable, as expected from the steady-state solution
of Equations 5.28?5.31.
Internal damping induced instability with no external disturbance
According to simulations the critical speed of this model with the presented parameters
is expected around the ?=70 rad/s speed as shown on Figure 5.5. While the rotor speed
is below the critical value, the response is stable, as shown on Figure 6.8. Increasing
running speed ? results in longer settling time and eventually unstable behavior as the
critical speed is exceeded. The rotordynamic instability shown on Figure 6.9 takes effect
and the controller is not able to compensate for the increasing destabilizing forces. The
60
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Simulation time, [s]
Displacement, [m]
x
y
Figure 6.4: Jeffcott-rotor response, ?=50 rad/s, u=0.005, ?G=5000, ?H=500
results on the actual experiments would result in severe mechanical damage to the structure.
As shown on Figure 6.9 the plant response becomes unstable at ?=80 rad/s due to the
internal damping induced destabilizing forces. Using the adaptive controller described above
combined with the reduced order state estimator the response becomes stable and balanced
despite the destabilizing forces. By choosing an appropriate value for ?G the adaptive
disturbance rejection scheme is successfully rejecting the destabilizing effects. Figure 6.10
shows the stable response which was achieved with ?G=500. The settling time is longer
than with ?G=1500 (see Figure 6.8), although with proper adjustment of ?G this can be
fine-tuned, striking a balance between slower stabilization (with smaller ?G) or shorter
settling time (using higher ?G value), which is, on the other hand, limited by the physical
limitations of the plant (i.e. current amplifier and proximity sensor bandwidth, amplifier
61
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Simulation time, [s]
Displacement, [m]
x
y
Figure 6.5: Jeffcott-rotor model, fixed gain, ?=50 rad/s, u=0
slew rate, etc.). Increase of ?G results in shorter settling time, as shown on Figure 6.11.
The suppression of the internal damping induced instability with no external disturbance
represents a meaningful finding. In order to fully take advantage of ADR, the effect of
external disturbances, such as mass imbalance should also be considered. This combined
problem is presented in the next section.
Internal damping induced instability with persistent synchronous distur-
bance
In this section the effect of a persistent disturbance is discussed and the relevant simula-
tion results are being presented. The simulation model is the same one used in the previous
subsection. In this case, however, a static mass imbalance is also considered, which results
in synchronous sinusoidal disturbance. A series of simulations were performed to assess this
62
0 1 2 3 4 5?5
?4
?3
?2
?1
0
1
2
3 x 10
10
Simulation time, [s]
Displacement, [m]
x
y
Figure 6.6: Jeffcott-rotor model, fixed gain, increased ci, ?=50 rad/s, u=0
0 1 2 3 4 5?3
?2
?1
0
1
2
3
4 x 10
10
Simulation time, [s]
Displacement, [m]
x
y
Figure 6.7: Jeffcott-rotor model, fixed gain, ?=50 rad/s, u=0.005
63
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.8: Flexible hub model response at ?=60 rad/s, u=0, ?G=0, ?H=0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.9: Flexible hub model response at ?=80 rad/s, u=0, ?G=0, ?H=0
64
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.10: Flexible hub model response at ?=80 rad/s, u=0, ?G=500, ?H=0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.11: Flexible hub model response at ?=80 rad/s, u=0, ?G=1500, ?H=0
65
method?s ability to deal with the synchronous disturbance in the plant. The mass imbalance
u is located at the midspan of the shaft. Figure 6.12 shows the effect of the mass imbalance
on a system with ?=70 rad/s, i.e. in the sub-critical speed region. Next, on Figure 6.13
the response is shown at ?=80 rad/s (supercritical region), with the ADR scheme inactive,
that is, with ?G=0 and ?H=0. The unstable response is due to the rotordynamic insta-
bility as a result of internal damping. Figure 6.11 shows how the synchronous disturbance
is canceled with the ADR scheme by using the Hp part of the ADR. Note that on Figures
6.14 and 6.15 the ADR controller is activated at 1 second in order to avoid effects from the
initial transients. The same method (i.e. Hp only) is used when the rotor is operating in the
supercritical region, as shown on Figure 6.15; the internal damping still drives the response
unstable. Figures 6.14 and 6.15 show the disturbance rejection part of the controller is
successful in rejecting the synchronous disturbance. Also, Figures 6.10 and 6.11 show that
the stabilization component of the controller is also effective. The combined effect of both
Gp and Hp is shown on Figures 6.16 and 6.17, which reflect stable response even at rotor
speeds well above the critical value. Here both internal damping as well as mass imbalance
is acting on the model; hence the need for both stabilization and disturbance rejection. The
response is stable at the supercritical speed of ?=80 rad/s and, additionally, the same gains
(?G and ?H) can be successfully used at even higher speed (?=120 rad/s) showing the
robustness of the adaptive control scheme.
Fixed-gain controller results
The fixed-gain controller was developed with known model parameters, such as running
speed, internal damping. The stable response is shown on Figure 6.18. Increased internal
damping is driving the model unstable as the fixed gain controller is not able to stabilize
66
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.12: Flexible hub model response at ?=70 rad/s, u=0.005, ?G=0, ?H=0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.13: Flexible hub model response at ?=80 rad/s, u=0.005, ?G=0, ?H=0
67
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.14: Flexible hub model response at ?=70 rad/s, u=0.005, ?G=0, ?H=100
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.15: Flexible hub model response at ?=80 rad/s, u=0.005, ?G=0, ?H=100
68
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.16: Flexible hub model response at ?=80 rad/s, u=0.005, ?G=1500, ?H=100
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2
Displacement, [mm]
Simulation time [s]
Shaft X
Rim X
Figure 6.17: Flexible hub model response at ?=120 rad/s, u=0.005, ?G=1500, ?H=100
69
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time [s]
Shaft X
Rim X
Figure 6.18: Flexible hub model, fixed gain, at ?=80 rad/s, u=0.0
the response, shown on Figure 6.19. Also, when disturbance is introduced, such as mass
imbalance, the fixed-gain controller can?t stabilize the system, as shown on Figure 6.20.
6.3 Flexible shaft model results
Internal damping
Figure 6.21 shows the stable response when the rotor speed is below the first critical
speed and no internal damping is acting on the model. Similarly, Figure 6.22 also shows
a stable response although in this case internal damping is present but the rotor speed is
subcritical. Since the rotor speed is below the first critical, the internal damping is not
causing rotordynamic instability. As shown on Figure 6.23 the increasing speed enables
the internal damping to destabilize the system. In order to counter the rotordynamic
70
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time [s]
Shaft X
Rim X
Figure 6.19: Flexible hub model, fixed gain, at ?=80 rad/s, u=0.0, increased cH
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time [s]
Shaft X
Rim X
Figure 6.20: Flexible hub model, fixed gain, at ?=80 rad/s, u=0.005, increased cH
71
instability, the ADR scheme has been developed and applied as described earlier. With a
choice of ?G=50 or ?G=100 stable response can be observed, which is shown on Figures
6.24 and 6.25, respectively. The exact value of ?G is of secondary importance in this case,
as it can be ?fine-tuned? to give the desired response parameters (overshoot, settling time,
etc.). In this case the range of appropriate gain is quite large, in the order of magnitudes.
Mass imbalance
Next, the effect of mass imbalance is being considered on the basic rotor system. A
constant mass imbalance is simulated. The mass imbalance is located in the bearing mid-
span, at node 44. The model is capable of handling several separate mass imbalances, each
located at different nodes of the model and at different relative phase angles. In this work
a single mass imbalance is being considered.
As it is widely known, the effect of a static mass imbalance is a sinusoidal force of
synchronous frequency. The first run of simulation is shown on Figure 6.26 and 6.27 with no
adaptive control (?G=0 and ?H=0), where the effect of mass imbalance can be observed for
various imbalance values. The result is a persistent disturbance which does not decay over
time. Figure 6.28 shows the suppressed synchronous response after the ADR disturbance
rejection part (Hp) has been activated at ?=150 rad/s with no internal damping acting on
the system.
Mass imbalance and internal damping
As the internal damping terms are included in the model output (Cx and in turn, ey,
as shown in Eqns. 4.21 to 4.24), it is difficult to separate the two simple cases (i.e. internal
damping or mass imbalance alone) therefore the most general case will be considered next.
Internal damping (?=0.01) and mass imbalance (?44=0.005) is being combined in the next
72
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.21: Flexible shaft model response at ?=120 rad/s, ?=0, u=0, ?G=0, ?H=0
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.22: Flexible shaft model response at ?=150 rad/s, ?=0, u=0, ?G=0, ?H=0
73
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.23: Flexible shaft model response at ?=150 rad/s, ?=0.01, u=0, ?G=0, ?H=0
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.24: Flexible shaft model response at ?=150 rad/s, ?=0.01, u=0, ?G=50, ?H=0
74
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.25: Flexible shaft model response at ?=150 rad/s, ?=0.01, u=0, ?G=100, ?H=0
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.26: Flexible shaft model response at ?=150 rad/s, ?=0, u=0.01, ?G=0, ?H=0
75
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.27: Flexible shaft model response at ?=150 rad/s, ?=0, u=0.005, ?G=0, ?H=0
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.28: Flexible shaft model response at ?=150 rad/s, ?=0, u=0.005, ?G=0,
?H=1000
76
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.29: Flexible shaft model response at ?=150 rad/s,?=0.01,u=0.005, ?G=0, ?H=0
series of simulations. As shown on Figure 6.29, the rotordynamic imbalance is very strong
when the two effect co-exist; the rotor response grows unstable almost immediately with no
adaptive control (?G=0 and ?H=0). As Figure 6.30 shows the introduction of both parts
of the ADR scheme (Gp and Hp) helps to reach stable response as well as rejecting some
of the persistent disturbances with the proper selection of gains.
Fixed-gain controller results
In order to better emphasize the results from the non-controlled case as well as the
adaptive controller, a fixed-gain controller was developed for the flexible shaft model. This
output-feedback controller was designed with the internal damping known beforehand. To
show how the fixed-gain controller performs in certain scenarios, the internal damping was
changed and the controller response is investigated. The fixed-gain controller as developed
with the damping ratio?=0.01 and the stable response is shown on Figure 6.31. As expected
77
0 1 2 3 4 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.30: Flexible shaft model response at ?=150 rad/s, ?=0.01, u=0.001, ?G=50,
?H=25
the response is stable since the internal damping and the running speed matches the value
this controller was designed for. Figure 6.32 shows the unstable response of the fixed-gain
controller when the internal damping is increased but the gains have not been changed from
the original values. As expected, the response grows unstable after a time. Small increase
in ? from ?=0.01 to ?=0.05 results in unstable response in shorter time. Overall it is shown
that a fixed-gain controller is unable to properly stabilize a system in which the internal
damping is changed; running speed is increased or mass imbalance acting on the system as
shown on Figure 6.33.
78
0 2 4 6 8 10 12 14?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Simulation time, [s]
Displacement, [m]
xp1
yp1
Figure 6.31: Flexible shaft model with fixed gain, ?=150 rad/s, ?=0.01, u=0
0 2 4 6 8 10 12 14?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Simulation time, [s]
Displacement, [m]
xp1
yp1
Figure 6.32: Flexible shaft model with fixed gain, ?=150 rad/s, ?=0.05, u=0
79
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5?2
?1.5
?1
?0.5
0
0.5
1
1.5
2 x 10
?3
Displacement, [m]
Simulation time, [s]
xp1
yp1
Figure 6.33: Flexible shaft model with fixed gain, ?=150 rad/s, ?=0.05, u=0.001
80
Chapter 7
Conclusions and Future Work
The research presented in this dissertation provides an investigation of using adaptive
control method to suppress rotordynamic instability and synchronous disturbance. The
Adaptive Disturbance Rejection control scheme was used to stabilize rotors with persistent
synchronous, sinusoidal disturbance represented by constant mass imbalance. There were
three different rotor models developed, each with increasing complexity. First a simple
Jeffcott-rotor was investigated, then a rigid rotor with a flexibly connected outer rim and
finally a flexible shaft by using finite element analysis results. The internal damping in
each of the three models was modeled as a simple viscous damping. The modeled rotors
were supported by a pair of radial AMBs described by their linearized model. The power
amplifier and circuitry dynamics were also included.
The Jeffcott-rotor model is a relatively simple one with 2 degrees-of-freedom. The ADR
scheme was successfully used to stabilize the system as well as to reduce the synchronous
vibrations due to the static imbalance. The Jeffcott-rotor model also satisfies the exact
conditions for Strict Positive Realness. The second model is a rigid rim attached to a rigid
shaft by a flexible hub, as analyzed next. For practical reasons a reduced-order observer was
developed to estimate the rim positions. The ADR scheme was successfully used to stabilize
the system as well as to reduce the synchronous vibrations due to the static imbalance.
This model also satisfies the conditions for Strict Positive Realness. The third model was
a flexible shaft represented by a 73-node lumped-mass parameter model where the flexible
mode shapes and eigenfrequencies were obtained from finite element analysis. It was found
81
that by modifying the ADR algorithm this model can be successfully stabilized. As the
internal damping acting on the system dynamics in an indirect fashion, the corresponding
output matrix had to be shaped in a way which drives Gp in the required manner. On the
other hand, the effect of static mass imbalance is directly tied into the system dynamics,
requiring an output matrix laid out similarly to the original one. It was shown that even
though the flexible shaft model was not SPR (some zeros in the open-loop transfer function
were positive), the model worked well and the ADR scheme was able to stabilize the system
and reject the persistent disturbances by using a modified output matrix. This method of
output redefinition is very much similar to Matras? earlier works.
A fixed-gain baseline controller has been developed for each model in order to better
illustrate the effectiveness of the adaptive method. As expected, the fixed-gain controller is
unable to stabilize the system when the model parameters change or external disturbance
is introduced.
In order to gain more insight from the application of ADR to rotordynamic instability
and synchronous disturbance, additional research and work should be conducted, such as:
? Investigation of the effectiveness of disturbance rejection with mass imbalance in more
than one plane, i.e. several masses mounted on the flexible shaft in different node
locations and different relative phase angles.
? Experimental verification of the results obtained from the flexible shaft and flexible
hub models.
? Development of finite element model to investigate the effectiveness of ADR on real
rotor structures assembled from several parts and replacing the cross-coupled stiffness
with cross-coupled moments according to the newest observations.
82
? Investigation the effect of different linear and nonlinear expressions for the internal
damping models.
83
Bibliography
[1] Adams, R. D. and Maheri, M. R., ?Dynamic Flexural Properties of Anisotropic Fibrous
Composite Beams?, Composite Science Technology, 50(4), pp. 497-514, (1994).
[2] Allaire, P. E., Mikula, A., Banerjee, B. B., Lewis, D. W. and Imlach, J., ?Design and
Testing of a Magnetic Thrust Bearing?, Journal of the Franklin Institute, 326(6), pp.
831-847, (1989).
[3] Aseltine, J. A., Mancini, A. R. and Sarture, C. W., ?A Survey of Adaptive Control
Systems?, IRE Transactions on Automatic Control, 3(6), pp. 102-108, (1958).
[4] ?Astrom, K. J. and Wittenmark, B., Adaptive Control, 2nd Ed., Addison-Wesley, Read-
ing, Massachusetts, USA, (1995).
[5] Beams, J. W. and Black, S. A., ?Electrically-Driven Magnetically-Supported Vacuum-
Type Ultracentrifuge?, Review of Scientific Instruments, 10, pp. 59-63, (1939).
[6] Black, H. F., ?The Stabilizing Capacity of Bearings for Flexible Rotors with Hystere-
sis?, Transactions of the ASME, pp. 87-91, (1976).
[7] Bleuler, H., ?A Survey of Magnetic Levitation and Magnetic Bearing Types?, JSME
International Journal Series III, 35(3), pp. 335-342 (1992).
[8] Brogan, W. L., Modern Control Theory, Prentice Hall, Englewood Cliffs. (1991).
[9] Chandra, R., Singh, S. P. and Gupta, K., ?Damping Studies in Fiber-Reinforced Com-
posites - A Review?, Composite Structures, 46, pp. 41-51, (1999).
[10] Chen, C.-T., Linear System Theory and Design, Oxford University Press, (1999).
[11] Childs, Dara, Turbomachinery Rotordynamics, Wiley, pp. 23-28, (1993).
[12] Crandall, S. H. ?The Role of Vibration Damping in Vibration Theory?, Journal of
Sound and Vibration, 11(1), pp. 3-18, (1970).
[13] Crane, R. M. and Gillespie, J. W. Jr., ?Characterization of the Vibration Damping Loss
Factor of Glass and Graphite Fiber Composites?, Composite Science and Technology,
40, pp. 355-375, (1940).
[14] Dyer, S. W., Shi, J., Ni, J. and Shin, K.-K., ?Robust Optimal Influence-Coefficient
Control of a Multiple-Plane Active Rotor Balancing System?, Journal of Dynamic
Systems, Measurement and Control, 124(1), pp. 41-46, (2002).
84
[15] Earnshaw, S., ?On the Nature of Molecular Forces?, Trans. Camb. Phil. Soc., 7, pp.
97-112, (1842).
[16] Engineered Materials Handbook, 1, ASME International Committee, (1987).
[17] Fittro, R. and Knospe, C. R., ??-Synthesis Control Design Applied to a High Speed
Machining Spindle with Active Magnetic Bearings?, Proceedings of the 6th Interna-
tional Conference on Magnetic Bearings, (1998).
[18] Flowers, G. T., Sz?asz, G., Trent, G. S. and Greene, M. E., ?A Study of Integrally
Augmented State Feedback Control for an Active Magnetic Bearings Supported Rotor
System?, ASME Journal of Engineering for Gas Turbines and Power, 123, pp. 377-382,
(2001).
[19] Fuentes, R.J. and Balas, M. J., ?Direct Adaptive Rejection ofPersistent Disturbances?,
Journal of Mathematical Analysis and Applications, 251, pp. 28-39, (2000).
[20] Gabrys, C. W. and Bakis, C. E., Design and Testing of Composite Flywheel Rotors, in
Composite Materials: Testing and Design, 13, pp. 3-22, American Society for Testing
and Materials, Conshohocken, PA, USA, (1997).
[21] Genin, J. and Maybee, J. S., ?External and Material Damping in Three-Dimensional
Rotor System?, International Journal of Non-Linear Mechanics, 5, pp. 287-297, (1970).
[22] Gibson, R. F., Principles of Composite Material Mechanics, McGraw-Hill, (1994).
[23] Gosiewski, Z., ?Automatic Balancing of Flexible Rotors, Part I: Theoretical Back-
ground?, Journal of Sound and Vibration, 100(4), pp. 551-567, (1985).
[24] Gosiewski, Z., ?Automatic Balancing of Flexible Rotors, Part II: Synthesis of System?,
Journal of Sound and Vibration, 114(2), pp. 103-119, (1987).
[25] Gunter, E. J., Dynamic Stability of Rotor-Bearing Systems, NASA Technical Report,
SP-113, (1966).
[26] Hirschmanner, M., Steinschaden, N. and Springer, H., ?Adaptive Control of a Rotor
Excited by Destabilizing Cross-Coupling Forces?, Proceedings of the 6th International
Conf. on Rotor Dynamics, Sydney, Australia, pp. 38-45, (2002).
[27] Hirschmanner, M. and Springer, H., ?Adaptive Vibration and Unbalance Control of a
Rotor Supported by Active Magnetic Bearings?, Eighth International Symposium on
Magnetic Bearings, Mito, Japan, pp. 483-488, (2002).
[28] Hong, S.-K. and Langari, R., ?Robust Fuzzy Control of a Magnetic Bearing System
Subject to Harmonic Disturbances?, IEEE Transactions on Control Systems Technol-
ogy, 8(2), pp. 366-371, (2002).
85
[29] Huang, S.-H. and Lin, L.-C., ?Fuzzy Dynamic Output Feedback Control with Adaptive
Rotor Imbalance Compensation for Magnetic Bearing Systems?, IEEE Transactions on
Systems, Man and Cybernetics, Part B, 34(4), pp. 1854-1864, (2004).
[30] Humphris, R. R., Kelm, R. D., Lewis, D. W. and Allaire, P. E., ?Effect of Control
Algorithms on Magnetic Journal Properties?, ASME Journal of Engineering for Gas
Turbines and Power, 108, pp. 624-632, (1986).
[31] Hung, J. Y., ?Magnetic Bearing Control Using Fuzzy Logic?, IEEE Transactions on
Industry Applications, 31(6), pp. 1492-1497, (1995).
[32] Iannoau, P. A. and Sun, J., Robust Adaptive Control, Prentice Hall, (1996).
[33] Jafri, S., Shrink Fit Effects On Rotordynamic Stability: Experimental And Theoretical
Study, Ph.D. Dissertation in Mechanical Engineering, Texas A&M University, (2007).
[34] Jeffcott, H. H., ?The Lateral Vibration of Loaded Shafts in the Neighborhood of a
Whirling Speed - The Effect of Want of Balance?, Philosophical Magazine, Series 6,
37, pp. 304-314, (1919).
[35] Johnson, D., Alternate Operating Modes for Magnetic Bearing Codes, Ph.D. Disserta-
tion, State University on New York at Buffalo (1995).
[36] Johnson, M. E., Nascimento, L. P., Kasarda, M. and Fuller, C. R., ?The Effect of
Actuator and Sensor Placement on the Active Control of Rotor Unbalance?, Journal
of Vibration and Acoustics, 125(3), pp. 365-373, (2003).
[37] Kailath, T., Linear Systems, Prentice Hall, Englewood Cliffs. (1980).
[38] Kimball, A. L. Jr., ?Internal Friction Theory of Shaft Whirling?, General Electric
Review, 27(4), pp. 244-251, (1924).
[39] Knospe, C. R., Hope, W., Fedigan, S. J. and Williams, R. D., ?Experiments in the
Control of Unbalance Response Using Magnetic Bearings?, Mechatronics, 5(4), pp.
385-400, (1985).
[40] Knospe, C. R., Hope, R. W., Tamer, S. M. and Fedigan, S. J., ?Robustness of Adap-
tive Unbalance Control of Rotors with Magnetic Bearings?, Journal of Vibration and
Control, 2, pp. 33-52, (1996).
[41] Knospe, C. R., Hope, R. W., Fedigan, S. J. and Williams, R. D., ?A Multi-Tasking
DSP Implementation of Adaptive Magnetic Bearing Control?, IEEE Transactions on
Control Systems Technology, 5, pp. 230-238, (1997).
[42] Lazan, B. J., Damping of Materials and Members in Structural Mechanics, Pergamon
Press, (1968).
86
[43] Linacre, E. ?Damping Capacity, Part I: Introduction and Technique of Measurement?,
Iron and Steel, May, pp. 153-156, (1950).
[44] Linacre, E. ?Damping Capacity, Part II: Effects of Conditions of Measurement?, Iron
and Steel, June, pp. 285-286, (1950).
[45] Luenberger, D., ?An Introduction to Observers?, IEEE Transactions on Automatic
Control, 16(6), pp. 596-602, (1971).
[46] Lum, K.-Y., Coppola, V. T. and Bernstein, D. S., ?Adaptive Autocentering Control
for an Active Magnetic Bearing with Unknown Mass Imbalance?, IEEE Transactions
on Control Systems Technology, 5(5), pp. 587-597, (1996).
[47] Lund, J. W., Destabilization of Rotors from Friction in Internal Joints with Micro-slip,
International Conference in Rotordynamics, JSME, pp. 487-491, (1986).
[48] Markert, R., Skrica, N. and Zhang, X., ?Unbalance Compensation on Flexible Rotors
by Magnetic Bearings Using Transfer Functions?, Proc. 8th International Symposium
on Magnetic Bearings, Mito, Japan, pp. 417-422, (2002).
[49] Maslen, E. H. and Allaire, P. E., ?Magnetic Bearing Sizing for Flexible Rotors?, Journal
of Tribology, 114, pp. 223-229, (1992).
[50] Matras, A., Flowers, G. T., Fuentes, R., Balas, M. and Fausz, J., ?Suppression of
Persistent Rotor Vibrations Using Adaptive Techniques?, Journal of Vibration and
Acoustics, 128(6), pp. 682-689, (2006).
[51] Matras, Alex, Implementation of Adaptive Disturbance Rejection Control in an Ac-
tive Magnetic Bearing System, M.Sc. Thesis, Department of Mechanical Engineering,
Auburn University, Auburn, Alabama, USA, (2003).
[52] Matras, Alex, Applied Adaptive Disturbance Rejection Control Using Output Redef-
inition on Magnetic Bearings, Ph.D. Dissertation, Department of Aerospace Sciences,
University of Colorado, Boulder, Colorado, USA, (2005).
[53] Matras, A. and Balas, M. J., ?Modification of Adaptive Disturbance Rejection Control
for an Active Magnetic Bearing?, Proc. of AIAA Conference on Guidance, Navigation
and Control, San Francisco, California, (2005).
[54] Moreira, A., Flowers, G. T., Balas, M., Matras, A. and Fausz, J., ?The Influence of
Internal Damping on the Rotordynamic Stability of a Flywheel Rotor with Flexible
Hub?, Proceedings of the IDETC/CIE 2005, (2005).
[55] Moreira, A., Characterization and Dynamic Analysis of Damping Effects in Composite
Materials for High-Speed Flywheel Applications, Ph.D. Dissertation, Dept. of Mechan-
ical Engineering, Auburn University, Auburn, Alabama, USA, (2005).
87
[56] Na, H.-S. and Park, Y., ?An Adaptive Feedforward Controller for Rejection of Periodic
Disturbances?, Journal of Sound and Vibration, 201(4), pp. 427-435, (1997).
[57] Newkirk, B. L., ?Shaft Whipping?, General Electric Review, 27(3), pp. 169-178, (1924).
[58] Nonami, K., DiRusso, E. and Fleming, D. P., ?Vibration and Control of Flexible Rotor
Supported by Magnetic Bearings?, presented at the 1st International Conference on
Magnetic Bearings, co-sponsored by the Swiss Federal Institute of Technology and the
Swiss Society of Microtechnics, June 6-8, (1988).
[59] Palazzolo, A. B., Jagannathan, S., Montague, G. T., Kascak, A. F. and Kir?aly, L. J.,
?Hybrid Active vibration Control of Rotorbearing Systems using Piezoelectric Actu-
ators?, presented at the 12th Biennial Conference on Mechanical Vibration and noise
sponsored by the ASME, Sept. 17-20, (1989).
[60] Rankine, W. A., ?On the Centrifugal Force of Rotating Shafts?, Engineer, 27, p. 249,
(1869).
[61] Reinig, K. D. and Desrochers, A. A., ?Disturbance Accommodating Controllers for
Rotating Mechanical Systems?, ASME Journal of Dynamic Systems, Measurement
and Control, 108, pp. 24-31, (1986).
[62] Ryan, S. G., ?Limit Cycle Vibrations in Turbomachinery?, NASA Technical Paper No.
3181, (1991).
[63] Schweitzer, G., Magnetic Bearings, Rotordynamics 2: Problems in Turbomachinery,
Edited by N. F. Reiger, pp. 543-570, Springer-Verlag, (1988).
[64] Schweitzer, G., Bleuler, H. and Traxler, A., Active Magnetic Bearings, vdf Hochschul-
verlag AG, ETH Zurich, Switzerland, (1994).
[65] Shafai, B., Beale, S., LaRocca, P. and Cusson, E., ?Magnetic Bearing Control Systems
and Adaptive Forced Balancing?, IEEE Control Systems Magazine, 14(2), pp. 4-13,
(1994).
[66] Shi, J., Zmood, R. and Qin, L., ?Synchronous Disturbance Attenuation in Magnetic
Bearing Systems Using Adaptive Compensating Signals?, Control Engineering Prac-
tice, 12(3), pp. 283-290, (2004).
[67] Shida, H., Ichihara, M., Seto, K. and Saigo, M., ?Motion and Vibration Control of Flex-
ible Rotor Using Magnetic Bearings?, Proc. 8th International Symposium on Magnetic
Bearings, Mito, Japan, pp. 381-386, (2002).
[68] Shin, K.-K. and Ni, J., ?Adaptive Control of Active Balancing System for Speed-
Varying Rotors Using Feedforward Gain Adaptation Technique?, Journal of Dynamic
Systems, Measurement and Control, 123(3), pp. 346-352, (2001).
88
[69] Simon, A. and Flowers, G. T., ?Non-Singleton Fuzzy Sets for Disturbance Attenua-
tion?, International Journal of Acoustics and Vibration, 12(4), pp. 171-178, (2007).
[70] Taylor, H. D., ?Shaft Behavior at Critical Speeds?, General Electric Review, 32, pp.
194-200, (1929).
[71] Van de Vegte, J., ?Continuous Automatic Balancing of Rotating Systems?, Journal of
Mechanical Engineering Science, 6, pp. 264-269, (1964).
[72] Vance, J. M. Rotordynamics of Turbomachinery, John Wiley and Sons, Inc., (1988).
[73] Vischer, D. and Bleuler, H., ?Self-Sensing Active Magnetic Levitation?, IEEE Trans-
actions on Magnetics, 29(2), pp. 1276-1281, (1993).
[74] Wen, J., ?Time Domain and Frequency Domain Conditions for Strict Positive Real-
ness?, IEEE Transactions on Automatic Control, AC-33 (10), pp. 988-992, (1988).
[75] Wettergren, H. L., Rotordynamic Analysis with Special Reference to Composite Rotors
and Internal Damping, Ph.D. Dissertation, Dept. of Mechanical Engineering, Link?oping
University, Link?oping, Sweden, (1994).
[76] Williams, R. D., Keith, F. J. and Allaire, P. E., ?A Comparison of Analog and Digital
Controls for Rotor Dynamic Vibration Reduction through Active Magnetic Bearings?,
Journal of Engineering for Gas Turbines and Power, 113, pp. 535-543, (1991).
[77] Zhou, S. and Shi, J., ?Active Balancing and Vibration Control of Rotating Machinery:
A Survey?, The Shock and Vibration Digest, 33(5), pp. 361-371, (2001).
[78] Zinoviev, P. and Ermakov, Y., Energy Dissipation in Composite Materials, Technomic
Publishing Co. Inc., Pennsylvania, USA, (1994).
89
Appendices
90
Appendix A
Flexible shaft model calculation details
K =
?
??
??
??
??
??
??
??
??
??
??
??
??
?
K1 ??21 K2 0 0 0 0 0 0
K3 K4 ??22 0 0 0 0 0 0
0 0 ??23 0 0 0 0 0
0 0 0 ??24 0 0 0 0
0 0 0 0 K5 ??21 K6 0 0
0 0 0 0 K7 K8 ??22 0 0
0 0 0 0 0 0 ??23 0
0 0 0 0 0 0 0 ??24
?
??
??
??
??
??
??
??
??
??
??
??
??
?
KC =
?
??
??
??
??
??
??
??
??
??
??
??
??
?
K1 ??21 K2 0 0 ????1 0 0 0
K3 K4 ??22 0 0 0 ????2 0 0
0 0 ??23 0 0 0 ????3 0
0 0 0 ??24 0 0 0 ????4
????1 0 0 0 K5 ??21 K6 0 0
0 ????2 0 0 K7 K8 ??22 0 0
0 0 ????3 0 0 0 ??23 0
0 0 0 ????4 0 0 0 ??24
?
??
??
??
??
??
??
??
??
??
??
??
??
?
91
C =
?
??
??
??
??
??
?np1,1 ?np1,2 ?np1,3 ?np1,4 0 0 0 0
0 0 0 0 ?np1,1 ?np1,2 ?np1,3 ?np1,4
?np2,1 ?np2,2 ?np2,3 ?np2,4 0 0 0 0
0 0 0 0 ?np2,1 ?np2,2 ?np2,3 ?np2,4
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
?
??
??
??
??
??
D =
?
?? 0 ??
??? 0
?
??
DC =
?
?? ?CI ??
??? ?CI
?
??
? = ?TInx?
92
KI =
?
??
??
??
??
??
??
??
??
??
??
??
??
?
K1c,1 0 K1c,2 0
K2c,1 0 K2c,2 0
0 0 0 0
0 0 0 0
0 K1c,1 0 K1c,2
0 K2c,1 0 K2c,2
0 0 0 0
0 0 0 0
?
??
??
??
??
??
??
??
??
??
??
??
??
?
KA =
?
??
??
??
??
??
?kA,1?1 0 0 0
0 ?kA,1?1 0 0
0 0 ?kA,2?2 0
0 0 0 ?kA,2?2
?
??
??
??
??
??
KB =
?
??
??
??
??
??
kA,1parenleftbigIB1,1 +IB1,2parenrightbig 0 0 0
0 kA,1parenleftbigIB1,3 +IB1,4parenrightbig 0 0
0 0 kA,2parenleftbigIB2,1 +IB2,2parenrightbig 0
0 0 0 kA,2parenleftbigIB2,3 +IB2,4parenrightbig
?
??
??
??
??
??
?1 = 2pi(h1 +h2d1)
?2 = 2pi(h1 +h2d2)
93
Kic,1 = 2Ag,1?0N
2
T,1
d21 ?nb1,i K
i
c,2 =
2Ag,2?0N2T,2
d22 ?nb2,i
K1 =
parenleftBig
K1,1x,1 +K2,1x,1
parenrightBig
?nb1,1 +
parenleftBig
K1,1x,2 +K2,1x,2
parenrightBig
?nb2,1
K2 =
parenleftBig
K1,1x,1 +K2,1x,1
parenrightBig
?nb1,2 +
parenleftBig
K1,1x,2 +K2,1x,2
parenrightBig
?nb2,2
K3 =
parenleftBig
K1,2x,1 +K2,2x,1
parenrightBig
?nb1,1 +
parenleftBig
K1,2x,2 +K2,2x,2
parenrightBig
?nb2,1
K4 =
parenleftBig
K1,2x,1 +K2,2x,1
parenrightBig
?nb1,2 +
parenleftBig
K1,2x,2 +K2,2x,2
parenrightBig
?nb2,2
K5 =
parenleftBig
K3,1y,1 +K4,1y,1
parenrightBig
?nb1,1 +
parenleftBig
K3,1y,2 +K4,1y,2
parenrightBig
?nb2,1
K6 =
parenleftBig
K3,1y,1 +K4,1y,1
parenrightBig
?nb1,2 +
parenleftBig
K3,1y,2 +K4,1y,2
parenrightBig
?nb2,2
K7 =
parenleftBig
K3,2y,1 +K4,2y,1
parenrightBig
?nb1,1 +
parenleftBig
K3,2y,1 +K4,2y,1
parenrightBig
?nb2,1
K8 =
parenleftBig
K3,2y,1 +K4,2y,1
parenrightBig
?nb1,2 +
parenleftBig
K3,2y,2 +K4,2y,2
parenrightBig
?nb2,2
K1,ix,1 = 2Ag,1?0
parenleftbigN
T,1IB1,1
parenrightbig2
d31 ?nb1,i K
3,i
y,1 =
2Ag,1?0parenleftbigNT,1IB1,3parenrightbig2
d31 ?nb1,i
K2,ix,1 = 2Ag,1?0
parenleftbigN
T,1IB1,2
parenrightbig2
d31 ?nb1,i K
4,i
y,1 =
2Ag,1?0parenleftbigNT,1IB1,4parenrightbig2
d31 ?nb1,i
K1,ix,2 = 2Ag,2?0
parenleftbigN
T,2IB2,1
parenrightbig2
d32 ?nb2,i K
3,i
y,2 =
2Ag,2?0parenleftbigNT,2IB2,3parenrightbig2
d32 ?nb2,i
94
K2,ix,2 = 2Ag,2?0
parenleftbigN
T,2IB2,2
parenrightbig2
d32 ?nb2,i K
4,i
y,2 =
2Ag,2?0parenleftbigNT,2IB2,4parenrightbig2
d32 ?nb2,i
K1c,1 = 2Ag,1?0N
2
T,1
d21 ?nb1,1 K
1
c,2 =
2Ag,1?0N2T,1
d21 ?nb1,2
K2c,1 = 2Ag,2?0N
2
T,2
d22 ?nb2,1 K
2
c,2 =
2Ag,2?0N2T,2
d22 ?nb2,2
95
Appendix B
MATLAB code listing for jeff1.m
%
% jeff1.m - simple Jeffcott rotor with internal damping and
% mass imbalance
%
clc;
clear all;
format compact;
format short g;
diary off;
% AMB parameters
N = 330;
Ag = 3.22e-4;
mu0 = 4*pi*1e-7;
d = 2.0e-3;
ib = 1.0;
% AMB position stiffness
Kx = Ag*N*N*ib*ib*mu0/(d*d*d);
% AMB current stiffness
Ki = Ag*N*N*ib*mu0/(d*d);
% mass [kg]
m=10;
%internal damping
%ci=4.4158; % critical value for w=1000; m=1
ci=60.0; % critical value for w=50; m=10
ci=0.0;%5;
% running speed [rad/s]
w=50;
% static imbalance [kgm]
96
imb = 0.001;
% sampling frequency [Hz]
ws = 5000;
dt = 1/ws;
t_end = 5.0;
t1 = 0;
steps = t_end/dt;
q = zeros(4,1);
% initial conditions
% % q(1) = 0.5e-3;
% % q(2) = -1.2e-3;
% simple PD controller
Kp= -1000;
Kd= -5;
icx=0;
icy=0;
xx = zeros(steps,1);
yy = zeros(steps,1);
tt = zeros(steps,1);
A=[zeros(2,2), eye(2,2);
(Kx+(Ki*Kp))/m, -w*ci/m, ((Ki*Kd)-ci)/m,0;
w*ci/m, (Kx+(Ki*Kp))/m, 0, ((Ki*Kd)-ci)/m];
eig(A)
nd = 3;
b = [0,0; 0,0; 1,0; 0,1];
Gp = zeros(2,2);
Hp = zeros(2,nd);
97
% gain for Gp
DG = 0;
% gain for Hp
qq = 500; %%1000; %250; %5000;
DH = qq; %*eye(nd,nd);
% output matrix
Cx = [1,0,1,0; 0,1,0,1];
%Cx = [.01,0,2,0; 0,.01,0,2];
%Cx = [0,0,1,0; 0,0,0,1];
%Cx = [1,0,0,0; 0,1,0,0];
%Cx = [-1,-1,-1,-1; -1,-1,-1,-1];
u=[0;0];
phid = zeros(nd,steps);
imbx = zeros(steps,1);
imby = zeros(steps,1);
wd=w;
%wd=100;
for k=1:steps
tt(k)=dt*(k-1);
imbx(k) = w*w*imb*cos(wd*2.0*pi*dt*k);
imby(k) = w*w*imb*sin(wd*2.0*pi*dt*k);
end;
%wdp=2*wd/(nd-1);
wdp=wd/(nd-1);
for k=1:steps
for n=1:((nd-1)/2)
phid(n,k) = cos(((wd)-((n-1)*wdp))*dt*k*2.0*pi);
phid(((nd-1)/2)+n,k)= sin(((wd)-((n-1)*wdp))*dt*k*2.0*pi);
end;
phid(nd,k) = 1.0;
end;
disp(?Simulation is running...?);
98
Fx=0;
Fy=0;
dx_r=0;
dy_r=0;
tic;
cxx=zeros(2,4);
cxx(:,3:4) = ones(2,2);
for k=1:steps
x_old=q(1);
y_old=q(2);
q(3) = dx_r;
q(4) = dy_r;
[t,Q] = ode45(@jeff1_ode,[t1, t1+dt],q,[],...
ci,w,m,u,b,Fx,Fy,imbx(k),imby(k));
q = Q(size(t,1),:)?;
t1 = t1+dt;
dx_r = q(3);
dy_r = q(4);
% manual differentiation for velocity calculation
q(3)=(q(1)-x_old)/dt;
q(4)=(q(2)-y_old)/dt;
% simple PD control for current to AMB
icx = (Kp*q(1))+(Kd*q(3));
icy = (Kp*q(2))+(Kd*q(4));
Fx = (Kx*q(1))+(Ki*icx);
Fy = (Kx*q(2))+(Ki*icy);
xx(k)=q(1);
yy(k)=q(2);
ey = Cx*q;
99
Gp = Gp+(-ey*(ey?)*dt*DG);
if(t1>1)
eyy=Cx*q;
% eyy = [-q(3); -q(4)];
% eyy = [q(1); q(2)];
% eyy =cxx*q;
Hp = Hp+(-eyy*(phid(:,k)?)*dt*DH);
end;
u=(Gp*ey)+(Hp*phid(:,k));
if(mod(k,ws)==0)
disp(k);
end;
end;
toc;
figure;
plot(tt(1:k),xx(1:k),?b-?,tt(1:k),yy(1:k),?r-?);
%axis([0 t1 -d d]);
%axis([0 t1 -0.1 0.1]);
%axis([0 t1 -5e-5 5e-5]);
legend(?x?,?y?);
title(strcat(?\omega=?,num2str(w),? \Delta_{G}=?,num2str(DG),...
? \Delta_{H}=?,num2str(qq)));
disp(?done.?);
% A=[zeros(2,2), eye(2,2);
% (Kx+(Ki*Kp))/m, -w*ci/m, ((Ki*Kd)-ci)/m,0;
% w*ci/m, (Kx+(Ki*Kp))/m, 0, ((Ki*Kd)-ci)/m];
%
% disp(?After adaptation:?);
% eig(A+(b*Gp*Cx))
%
% the end
%
100
Appendix C
MATLAB code listing for jeff1ode.m
%
% jeff1_ode.m dynamics for the Jeffcott-rotor model
%
function dq = jeff1_ode(t,q,ci,w,m,u,b,Fx,Fy,imbx,imby)
dq = zeros(4,1); %#ok
dq(1) = q(3);
dq(2) = q(4);
dq(3) = ((Fx-(ci*q(3))-(w*ci*q(2)))/m)+imbx;
dq(4) = ((Fy-(ci*q(4))+(w*ci*q(1)))/m)+imby;
% additional input from ADR
dq = dq+(b*u);
return;
%
% the end
%
101
Appendix D
MATLAB code listing for flexhub10.m
%
% flexhub10.m
%
% Simulation of flexible hub with internal damping
%
clear all;
clc;
% rotational speed [rad/s]
w = 70; %80; % 80 crit.
% disturbance frequency [Hz]
wd = w;
% static imbalance [kg*m]
imb = 0.005;
DG = 1500*1e6;%-1000; %100;%10000;
nd = 3; % number of members of disturbance vector
qq = -100; %-100;
DH = qq; %*eye(nd,nd);
%
% sampling frequency [Hz]
%
%ws = 10000;
ws = 5000;
dt = (1.0/ws);
% simulation time [s]
t_end = 5.0;
102
%
% AMB properties
%
N = 330;
Ag = 3.22e-4;
mu0 = 4*pi*1e-7;
d = 2.0e-3;
i_b = 1.0;
%
% linearized AMB parameters
%
%K = Ag*N*N*mu0/4.0;
% position stiffness
Kd = Ag*N*N*i_b*i_b*mu0/(d*d*d);
% current stiffness
Kc = Ag*N*N*i_b*mu0/(d*d);
%
% PD controller gains
%
Kp = 1000;
Kd = 10;
%
% Rotor properties
%
mS = 0.238;
mR = 0.567;
cH = 4.84; %1.84;
kH = 2000; %26994;
q = zeros(8,1);
%
% initial conditions of shaft (xS,yS)
% (for the shaft it should not be larger than the AMB airgap (2 mm)
%
q(1) = 1.5e-3;
103
q(2) = -1.0e-3;
%
% initial conditions for the Rim position (xRr,yRr) and for the
% estimated Rim position (xRe,yRe)
%
xRe = q(1);
yRe = q(2);
Gp = zeros(2,2);
%dGp = zeros(2,2);
Hp = zeros(2,nd);
%dHp = zeros(2,nd);
steps = (t_end/dt);
i_cx = 0;
i_cy = 0;
kk = [(-2*Kc/mS), 0; 0,(-2*Kc/mS)];
B = [zeros(4,2); kk; zeros(2,2)];
clear kk;
KK = [Kp,0,0,0,Kd,0,0,0; 0,Kp,0,0,0,Kd,0,0];
A1 = [(-(2*Kd)-kH)/mS, (-w*cH)/mS, kH/mS, (w*cH)/mS;
(w*cH)/mS,(-(2*Kd)-kH)/mS, (-w*cH)/mS, kH/mS;
kH/mR,(w*cH)/mR,(-kH)/mR,(-w*cH)/mR;
(-w*cH)/mR,kH/mR,(w*cH)/mR,(-kH)/mR];
A2 = [-cH/mS,0,cH/mS,0;
0,-cH/mS,0,cH/mS;
cH/mR,0,-cH/mR,0;
0,cH/mR,0,-cH/mR];
A = [zeros(4,4), eye(4,4); A1, A2];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% reduced order state-estimator for Rim position and velocity
%
104
AA = (A+(B*KK));
F = eye(4,4);
%tmp = min(real(eig(AA)));
F(1,1) = -1000; %2*tmp;
F(2,2) = -2000; %2.1*tmp;
F(3,3) = -3000; %2.2*tmp;
F(4,4) = -4000; %2.3*tmp;
L = eye(4,4);
C = [eye(2,2), zeros(2,6);
zeros(2,4), eye(2,2), zeros(2,2)];
%disp(?Rank of controllability matrix F|L (min.4):?);
%rank(ctrb(F,L))
%disp(?Eigenvalues of A+(B*KK) (state feedback + linear AMB):?);
eig(A+(B*KK))
%
% solve the Lyapunov-equation for T in (T*(A+(B*KK)) - F*T = L*C)
%
T = lyap(-F,AA,-(L*C));
%disp(?Error in solution of Lyapunov equation (should be small):?);
(T*(AA))-(F*T)-(L*C)
TB = T*B;
invCT = inv([C;T]);
z = zeros(4,1);
dz = zeros(4,1);
gp_tmp = [0; 0];
hp_tmp = [0; 0];
% set up storage variables for plotting
DTpos_xS = zeros(steps,1);
DTpos_yS = zeros(steps,1);
DTpos_xRr = zeros(steps,1);
105
DTpos_yRr = zeros(steps,1);
DTpos_xRe = zeros(steps,1);
DTpos_yRe = zeros(steps,1);
DTgp = zeros(steps,1);
DThp_x = zeros(steps,1);
DThp_y = zeros(steps,1);
DTctr_x = zeros(steps,1);
DTctr_y = zeros(steps,1);
DTphid = zeros(steps,nd);
DTtt = zeros(steps,1);
phid = zeros(nd,steps);
for k=1:steps
tmpx = wd*2.0*pi*dt*k;
imbx(k) = w*w*imb*cos(tmpx);
imby(k) = w*w*imb*sin(tmpx);
end;
clear tmpx;
wdp=wd/(nd-1);
for k=1:steps
for n=1:((nd-1)/2)
phid(n,k) = cos((wd-((n-1)*wdp))*dt*k*2.0*pi);
phid(((nd-1)/2)+n,k)= sin((wd-((n-1)*wdp))*dt*k*2.0*pi);
end;
phid(nd,k) = 1.0;
end;
disp(?Simulation is running...?);
t1 = 0;
xSdot_real = 0;
ySdot_real = 0;
xRrdot_real = 0;
yRrdot_real = 0;
%
% main simulation loop
%
106
tic;
for k=1:steps
%
% simple PD control
%
i_cx = (Kp*q(1))+(Kd*q(5));
i_cy = (Kp*q(2))+(Kd*q(6));
i_cx = i_cx+gp_tmp(1)+hp_tmp(1);
i_cy = i_cy+gp_tmp(2)+hp_tmp(2);
Fx = (Kd*q(1))+(Kc*i_cx)+imbx(k);
Fy = (Kd*q(2))+(Kc*i_cy)+imby(k);
% restore real velocities for ODE()
q(5) = xSdot_real;
q(6) = ySdot_real;
q(7) = xRrdot_real;
q(8) = yRrdot_real;
[t,Q] = ode45(@flexhub_dyn,[t1,t1+dt],q,[],mS,mR,cH,kH,w,Fx,Fy);
xS_old = q(1);
yS_old = q(2);
xRr_old = q(3);
yRr_old = q(4);
q = Q(size(t,1),:)?;
t1 = t1+dt;
xS = q(1);
yS = q(2);
xRr = q(3);
yRr = q(4);
%
% velocities obtained from ODE solution
%
107
xSdot_real = q(5);
ySdot_real = q(6);
xRrdot_real = q(7);
yRrdot_real = q(8);
%
% velocities calculated manually from measured positions
%
xSdot = (q(1)-xS_old)/dt;
ySdot = (q(2)-yS_old)/dt;
xRrdot = (q(3)-xRr_old)/dt;
yRrdot = (q(4)-yRr_old)/dt;
dz = (F*z)+(TB*[i_cx;i_cy])+(L*[q(1); q(2); q(5); q(6)]);
z = z+(dz*dt);
xRe_old = xRe;
yRe_old = yRe;
ztx = invCT*[q(1);q(2);q(5);q(6);z];
xRe = ztx(3);
yRe = ztx(4);
% xRedot = ztx(7);
% yRedot = ztx(8);
xRedot = (xRe-xRe_old)/dt;
yRedot = (yRe-yRe_old)/dt;
%
% ADR parts calculated here (xRe and yRe are estimated)
%
% if(t1>0.5)
% Gp = Gp+(((-[xRr; yRr])*[xRr; yRr]?)*DG)*dt;
% gp_tmp = Gp*[xRr; yRr];
Gp = Gp+(((-[xRe; yRe])*[xRe; yRe]?)*DG)*dt;
gp_tmp = Gp*[xRe; yRe];
% Gp = Gp+(((-[xSdot; ySdot])*[xSdot; ySdot]?)*DG)*dt;
% gp_tmp = Gp*[xSdot; ySdot];
% end;
if(t1>1)
108
% Hp = Hp+((-[xRe; yRe])*(phid(:,k)?)*DH)*dt;
% Hp = Hp+((-[xRr; yRr])*(phid(:,k)?)*DH)*dt;
% Hp = Hp+((-[xS; yS])*(phid(:,k)?)*DH)*dt;
Hp = Hp+((-[xSdot; ySdot])*(phid(:,k)?)*DH)*dt;
hp_tmp = Hp*phid(:,k);
end;
% u = (Gp*[xRe; yRe])+(Hp*phid(:,k));
DTpos_xS(k) = q(1)*1000.0;
DTpos_yS(k) = q(2)*1000.0;
% real Rim positions from mechanical model
DTpos_xRr(k) = q(3)*1000.0;
DTpos_yRr(k) = q(4)*1000.0;
% estimated Rim positions from estimator
DTpos_xRe(k) = xRe*1000.0;
DTpos_yRe(k) = yRe*1000.0;
DThp_x(k) = hp_tmp(1);
DThp_y(k) = hp_tmp(2);
DTctr_x(k) = i_cx;
DTctr_y(k) = i_cy;
DTtt(k) = t1;
if(mod(k,ws)==0)
disp(k);
end;
end;
disp(?complete?);
beep;
toc;
figure;
%plot(DTtt,DTpos_xS,DTtt,DTpos_yS,DTtt,DTpos_xRr,DTtt,DTpos_yRr);
plot(DTtt,DTpos_xS,DTtt,DTpos_xRr);
axis([0, t_end, -(d*1000.0), d*1000.0]);
tit = strcat(?\Omega=?,num2str(w),? \Delta_{G}=?,...
num2str(DG),? \Delta_{H}=?, num2str(qq),? n_{d}=?,num2str(nd),...
? u=?,num2str(imb));
title(tit);
ylabel(?Displacement, [mm]?);
109
xlabel(?Simulation time [s]?);
legend(?Shaft X?,?Rim X?);
%
% the end
%
110
Appendix E
MATLAB code listing for flexhubdyn.m
%
% Rigid shaft and flexibly attached rim equations of motion
%
function qdot = flexhub_dyn(t,q,mS,mR,cH,kH,w,Fx,Fy)
qdot = zeros(8,1);
%
% 4-DOF model, only lateral movement; assumes symmetric AMB operation
%
a1 = ((q(5)-q(7))+(w*(q(2)-q(4))));
a2 = ((q(6)-q(8))-(w*(q(1)-q(3))));
qdot(1) = q(5);
qdot(2) = q(6);
qdot(3) = q(7);
qdot(4) = q(8);
qdot(5) = ((kH*(q(3)-q(1)))-(2.0*Fx)-(a1*cH))/mS;
qdot(6) = ((kH*(q(4)-q(2)))-(2.0*Fy)-(a2*cH))/mS;
qdot(7) = ((kH*(q(1)-q(3)))+(a1*cH))/mR;
qdot(8) = ((kH*(q(2)-q(4)))+(a2*cH))/mR;
return;
%
% the end
%
111
Appendix F
MATLAB code listing for FlexDamp.m
%
% George T. Flowers and Andras Simon
%
% Flex_Damp.m
%
%**********************************************************************
% Program to simulate a flexible rotor with internal damping and
% supported by two radial magnetic bearings.
%**********************************************************************
%
% this script is using the FLEX_SHAFT2 Ansys model and generated files
%
clc;
clear all;
format compact;
format short g;
%
% 1st crit. speed: 39 rad/s
% 2nd crit. speed: 96 rad/s
%
% simulation time [s]
%
t_end = 10;
global a1 ac1 b1;
global nm zeta;
% running speed [rad/s]
global w;
w = 200;
wd = w;
% range multipliers for phid[] components (lower and upper limit)
112
pll=0.0; %0.05
plu=1.0; %1.0
% ADR gain
% % D3 = 500*eye(4,4);
DG = 150; % 50; %50;
% number of disturbances taken into account (MUST be odd number)
global nd
nd=3; %101;
%nd=51;
nd=71;
qq=400; %<-----
DH = qq;
%DH = qq*eye(nd,nd);
% for k=1:nd
% DH(k,k)=DH(k,k)*k;
% end;
ss = 4;
% ADR stabilizing part
Gp = zeros(ss,ss);
% ADR disturbance rejection part
Hp = zeros(ss,nd);
% time when Gp is activated [s]
tgp = 1.0;
% time when Hp is activated [s]
thp = 1.0;
% internal damping ratio (best leave at 1%)
zeta = 0.0;
zeta = 0.01;
%
% setting up state-space model and AMB parameters (Model.m)
%
113
Model;
q = zeros((4*nm)+4,1);
%initial bearing positions
q(1) = 0.0005;
q(5) = -0.0001;
pcon = eig(a1);
%
% poles for state f/b (change real parts of eig(a1))
%
%
for k=1:((4*nm)+4)
if(real(pcon(k))>0)
pcon(k) = -pcon(k);
end;
if(abs(real(pcon(k)))<1.0e-5)
pcon(k) = 0+(imag(pcon(k))*sqrt(-1));
end;
end;
% state feedback for model *without* internal damping
Kc = place(a1,b1,pcon);
Kc(1:4,(4*nm)+1:(4*nm)+4) = 0;
%Kc(1:4,11:12)=0;
%Kc(1:4,15:16)=0;
a11 = a1-(b1*Kc);
ac1 = ac-(b1*Kc);
% eig(ac1)
% return;
%
% sampling frequency [Hz]
%
%ws = 10000.0;
ws = 5000.0;
dt = 1.0/ws;
114
t1 = 0.0;
steps = (t_end-t1)/dt;
%hp_mat = zeros(ss,nd,steps);
%gp_mat = zeros(ss,ss,steps);
cx1 = [0,0, om(3), om(4), 0,0, om(3), om(4);
0,0,-om(3),-om(4), 0,0, om(3), om(4);
0,0,-om(3),-om(4), 0,0,-om(3),-om(4);
0,0, om(3), om(4), 0,0,-om(3),-om(4)];
cx2 = [0,0, om(3), om(4), 0,0,-om(3),-om(4);
0,0, om(3), om(4), 0,0, om(3), om(4);
0,0,-om(3),-om(4), 0,0, om(3), om(4);
0,0,-om(3),-om(4), 0,0,-om(3),-om(4)];
cx = zeta*[w*cx1,cx2,zeros(4,4)]; % pad it with zeros to fit size
cxx = [w*cx1,cx2,zeros(4,4)];
clear cx1 cx2
Kcxx = zeros(4,20);
% how many imbalances are accounted for
ni = 1;
% imbalance node locations (for each imbalance)
iml = ones(ni,1)*37;
% imbalance values (for each imbalance)
imm = zeros(ni,1);
% imbalance phase shifts (for each imbalance)
imph = zeros(ni,1);
% imbalance matrix
phi_imb = zeros(nn,ni);
imphase = zeros(ni,1);
% node locations where imbalances are located (1 per node)
iml(1) = 37;
%iml(2) = 30;
% individual imbalances [kg-m]
115
%imm(1) = 2e-3; %1e-2;
%imm(1) = 1e-1; % for w=10
%imm(1) = 1e-2; % for w=1000
imm(1) = 5e-3; %<-----
% phase shift of imbalances [degrees]
imph(1) = 0;
%imph(2) = 90;
for i=1:ni
phi_imb(iml(i),i)=imm(i); % place imbalances into imbalance matrix
imph(i) = imph(i)*(pi/180.0); % convert [degree] -> [rad]
end;
imbtmp = (phi?)*phi_imb*w*w;
imbx = zeros(nm,steps);
imby = zeros(nm,steps);
imbal_angle_cos = zeros(ni,steps);
imbal_angle_sin = zeros(ni,steps);
phid = zeros(nd,steps);
tt = zeros(steps,1);
for k=1:steps
tmp_imb = (wd*2.0*pi*dt*k*ones(ni,1))+imph;
imbal_angle_cos(:,k) = cos(tmp_imb);
imbal_angle_sin(:,k) = sin(tmp_imb);
tt(k) = dt*k;
% imbalance force in X direction
imbx(:,k) = imbtmp*imbal_angle_cos(:,k);
% imbalance force in Y direction
imby(:,k) = imbtmp*imbal_angle_sin(:,k);
end;
wdp=(plu-pll)*wd/(nd-1);
for k=1:steps
for n=1:((nd-1)/2)
tmpx = ((pll*wd)+((n-1)*wdp))*dt*k*2.0*pi;
% tmpx = ((plu*wd)-((n-1)*wdp))*dt*k*2.0*pi;
116
phid(n,k) = cos(tmpx);
phid(((nd-1)/2)+n,k)= sin(tmpx);
end;
phid(nd,k) = 1.0;
end;
clear tmpx;
%QQ = zeros((4*nm)+4,steps);
ey = zeros(4,1);
eyy = zeros(4,1);
eyyd = zeros(4,1);
x_old = zeros(nm,1);
y_old = zeros(nm,1);
dx_real = zeros(nm,1);
dy_real = zeros(nm,1);
dx_calc = zeros(nm,1);
dy_calc = zeros(nm,1);
pos_bear = zeros(nm,steps);
pos_prox = zeros(nm,steps);
u = zeros(4,1);
cvprox = cprox;
cvprox(:,9:16) = cprox(:,1:8);
cvvprox = zeros(4,20);
cvvprox(:,9:16) = cprox(:,1:8);
%ccc = zeros(20,4);
%cvprox(:,1:8) = zeros(4,8);
disp(?Simulation is running...?);
tic;
cx3 = zeros(4,20);
cx3(:,17:20)=ones(4,4);
for k=1:steps
117
% save previous positions for manual differentiation
x_old = q(1:4);
y_old = q(5:8);
% restore real velocities for ODE45()
q(9:12) = dx_real;
q(13:16) = dy_real;
[t,Q] = ode45(@flex_ode_L1,[t1, t1+dt],q,[],...
b1,ac1,u,imbx(:,k),imby(:,k));
q = Q(size(t,1),:)?;
t1 = t1+dt;
% save real velocities (from ODE solution)
dx_real = q(9:12);
dy_real = q(13:16);
% calculate actual velocities from position inputs
% by using simple differentiation
q(9:12) = (q(1:4)-x_old)/dt;
q(13:16) = (q(5:8)-y_old)/dt;
% positions at the prox. sensors
pos_prox(:,k) = cprox*q;
% positions at the bearings
pos_bear(:,k) = cbear*q;
% ADR stabilizing part
if(t1>tgp)
%ey = cprox*q;
ey = cx*q;
Gp = Gp+((-ey)*(ey?)*dt*DG);
% gp_mat(:,:,k) = Gp;
end;
% ADR disturbance rejection part
if(t1>thp)
eyy = cvprox*q; %100
% eyy = cprox*q; %100
118
% eyy = cvvprox*q;
Hp = Hp+((-eyy)*(phid(:,k)?)*dt*DH);
% hp_mat(:,:,k) = Hp;
end;
% actual control input from ADR for next cycle
u = (Gp*ey)+(Hp*phid(:,k));
if(mod(k,ws)==0)
disp(k);
end;
% if(max(pos_prox(:,k))>1 || min(pos_prox(:,k))<-1)
% disp(?Oooopssss...?); % if response grows unstable
% break;
% end;
end;
toc;
% plot X and Y positions at each bearing on a single figure
figure;
plot(tt(1:k),pos_prox(1,:),?b-?,tt(1:k),pos_prox(3,:),?r-?,...
tt(1:k),pos_prox(2,:),?k-?,tt(1:k),pos_prox(4,:),?g-?);
tit = strcat(?\Omega=?,num2str(w),? \Delta_{G}=?,...
num2str(DG),? \Delta_{H}=?, num2str(qq),? n_{d}=?,num2str(nd),...
? u=?,num2str(imm(1)));
title(tit);
legend(?x_{p1}?,?x_{p2}?,?y_{p1}?,?y_{p2}?);
axis([0 t1 -0.002 0.002]);
disp(?completed.?);
%
% the end
%
119
Appendix G
MATLAB code listing for Model.m
%
% George T. Flowers and Andras Simon
%
% Model.m
%
%**********************************************************************
% This program sets up the state-space model of the flexible shaft with
% internal damping, various imbalances, supported by two radial AMB.
%
% This routine is called from Flex_Damp.m
%
%**********************************************************************
%
% this script is using the FLEX_SHAFT2 Ansys model and generated files
%
% running speed (rad/s)
global w;
% number of mode shapes from ANSYS solution
global nm;
nm = 4;
% internal damping ratio (best leave at 1%)
global zeta;
% node location of AMB 1 (right)
nb1 = 54;
% node location of AMB 2 (left)
nb2 = 34;
% node location of position sensors for AMB 1 (right)
np1 = 51;
120
% node location of position sensors for AMB 2 (left)
np2 = 30;
% number of nodes in ANSYS model
nn = 73;
%
% Simulation model
%
% 4 inputs, 4 outputs, 4 modeshapes
%
% modal displacement matrix
phi = zeros(nn,nm); %#ok
% modal rotation matrix
psi = zeros(nn,nm); %#ok
% array of eigenfrequencies
om = zeros(nm,1);
% mass moment of inertia matrix
ainx = zeros(nn,nn);
% mass matrix
am = zeros(nn,nn);
%
% read ANSYS-generated files
%
massdata = load(?massdata2.dat?);
phi = load(?displace2.dat?); % nodal displacement matrix
psi = load(?rotate2.dat?); % nodal rotation matrix
omega = load(?omega2.dat?); % critical speeds in Hz
% trim psi and phi to the first 4 modeshapes
phi = phi(:,1:nm);
psi = psi(:,1:nm);
% fix ANSYS results for rigid body modes
omega(1,2) = 0.0;
omega(2,2) = 0.0;
121
%**********************************************************************
% AMB properties begin here
%**********************************************************************
% permeability of air, H/m
mu = 4*pi*1e-7;
% parameters for AMB 2 (left)
ld = 1.25e-3; % airgap [m]
lnt = 160; % number of turns on one leg
laa = 3.2258e-4; % face area [m^2]
lka = 0.45; % amplifier gain (Volt to Amps)
% bias voltages/currents for Left AMB
%lvb = [0.85, 0.2, 0.5, 0.5];
lvb = [0.5, 0.5, 0.5, 0.5];
lib = lvb*lka;
% bearing constant
lk1 = (mu*laa*(2*lnt)^2.0)/4.0;
% amplifier bandwidth constants
lba1 = 2.87*1e6;
lba2 = 2700;
% lk2 is 1/tau (amplifier time constant)
lk2 = 2.0*pi*(lba2+(lba1*ld));
lk3 = lka*lk2;
% elastic stiffness, left AMB, at each coil and both modeshapes
% left AMB, for ib1...ib4, mode 1...nm
lKx = zeros(4,nm);
for j=1:4 % 4 currents top, bottom, right, left
for i=1:2 %...for rigid body modes only
lKx(j,i) = (2.0*laa*mu*((lnt*lib(j))^2)/(ld^3))*phi(nb2,i);
end;
end;
% left AMB current stiffness, for mode 1 and 2
lKi = zeros(nm,1);
for i=1:2
lKi(i) = (2.0*laa*mu*(lnt^2)/(ld^2))*phi(nb2,i);
end;
% parameters for AMB 1 (right)
rd = 1.25e-3; % airgap [m]
122
rnt = 160; %number of turns on one leg
raa = 3.2258e-4; % face area [m^2]
rka = 0.45; % amplifier gain (V->A)
% bias voltages/currents
%rvb = [0.85, 0.2, 0.5, 0.5];
rvb = [0.5, 0.5, 0.5, 0.5];
rib = rvb*rka;
% bearing constant
rk1 = (mu*raa*(2*rnt)^2.0)/4.0;
% amplifier bandwidth constants
rba1 = 2.87*1e6;
rba2 = 2700;
% rk2 is 1/tau (amplifier time constant)
rk2 = 2.0*pi*(rba2+(rba1*rd));
rk3 = rka*rk2;
% elastic stiffness, right AMB, at each coil and both modeshapes
% right AMB, for ib1...ib4, mode 1...nm
rKx = zeros(4,nm);
for j=1:4 % 4 currents top, bottom, right, left
for i=1:2 %...for rigid body modes only
rKx(j,i) = (2.0*raa*mu*((rnt*rib(j))^2)/(rd^3))*phi(nb1,i);
end;
end;
%
% right AMB current stiffness, mode 1 and 2
rKi = zeros(nm,1);
for i=1:2
rKi(i) = (2.0*raa*mu*(rnt^2)/(rd^2))*phi(nb1,i);
end;
%**********************************************************************
% AMB properties end here
%**********************************************************************
%**********************************************************************
% Setting up A, B and C matrices for state-space model
%**********************************************************************
global a1 ac ac1 b1 cprox cbear; %#ok
a = zeros((4*nm)+4,(4*nm)+4);
123
a1 = zeros((4*nm)+4,(4*nm)+4);
ac = a1; %#ok
a2 = zeros((4*nm)+4,(4*nm)+4);
a3 = a2;
b1 = zeros((4*nm)+4,4);
% mass matrix (normalized)
mass = eye(2*nm,2*nm);
% stiffness matrix (from AMB Kx)
stiffkx = zeros(2*nm,2*nm);
% stiffness matrix (from AMB Ki)
stiffki = zeros(2*nm,4);
% stiffness matrix associated with internal damping
stiffcc = zeros(2*nm,2*nm);
% damping matrix
damp = zeros(2*nm,2*nm);
for i=1:nm,
% psi(:,i) = rotate(:,i); % extract psi (nodal rotation matrix)
% phi(:,i) = displace(:,i); % extract phi (nodal displacement matrix)
om(i) = 2.0*pi*omega(i,2); % critical speeds in rad/s
end
% mass (am) and inertia (ainx) values at each node location
for i=1:nn,
am(i,i) = massdata(i,2);
ainx(i,i) = massdata(i,3);
end
% total mass
%m = trace(am);
%clear omega;
%clear rotate;
%clear displace;
%clear massdata;
% form Gamma matrix
124
%
gamm = (psi?)*ainx*(psi);
%clear ainx;
%clear psi;
% !!! check signs on gamma terms !!!
damp(1:nm,nm+1:(2*nm)) = -gamm(1:nm,1:nm)*w;
damp(nm+1:(2*nm),1:nm) = gamm(1:nm,1:nm)*w;
%
% stiffness matrix from internal damping
%
for i=1:nm,
stiffcc(i,i+nm) = w*zeta*om(i); %+
stiffcc(i+nm,i) = -w*zeta*om(i); %-
end
%
% stiffness matrix assoc. with position stiffness (Kx) of AMB
%
% rKx/lKx summed up in one direction, for both AMBs, rigid modes only
%
for i=1:nm
for j=1:2
tmp = ((rKx(1,i)+rKx(2,i))*phi(nb1,j));
stiffkx(i,j) = tmp + ((lKx(1,i)+lKx(2,i))*phi(nb2,j));
tmp = ((rKx(3,i)+rKx(4,i))*phi(nb1,j));
stiffkx(i+nm,j+nm) = tmp + ((lKx(3,i)+lKx(4,i))*phi(nb2,j));
end;
end;
%
% stiffness matrix assoc. with current stiffness (Ki) of AMB
%
for i=1:nm
stiffki(i,1) = rKi(i);
stiffki(nm+i,2) = rKi(i);
stiffki(i,3) = lKi(i);
stiffki(nm+i,4) = lKi(i);
end;
stiff2 = stiffkx + stiffcc;
125
% build A matrix
for i=1:nm,
a(i+(2*nm),i)= -(om(i)^2);
a(i+(3*nm),i+nm) = -(om(i)^2);
end;
a2(1:(2*nm),((2*nm)+1):(4*nm)) = eye(2*nm,2*nm);
a2((2*nm)+1:(4*nm),1:(2*nm)) = inv(mass)*stiffkx(1:(2*nm),1:(2*nm));
a2((2*nm)+1:(4*nm),(2*nm)+1:(4*nm)) = -inv(mass)*damp;
a2((2*nm)+1:(4*nm),(4*nm)+1:(4*nm)+4) = inv(mass)*stiffki;
a3(1:(2*nm),((2*nm)+1):(4*nm)) = eye(2*nm,2*nm);
a3((2*nm)+1:(4*nm),1:(2*nm)) = inv(mass)*stiff2(1:(2*nm),1:(2*nm));
a3((2*nm)+1:(4*nm),(2*nm)+1:(4*nm)) = -inv(mass)*damp;
a3((2*nm)+1:(4*nm),(4*nm)+1:(4*nm)+4) = inv(mass)*stiffki;
for i=1:nm
a3(i+(2*nm),i+(2*nm))= -zeta*om(i);
a3(i+(3*nm),i+(3*nm))= -zeta*om(i);
end;
% a1 is the state matrix A *without* internal damping
a1 = a2 + a;
% ac is the state matrix Ac *with* internal damping included
ac = a3 + a;
% Current states
a1((4*nm)+1,(4*nm)+1) = -rk3;
a1((4*nm)+2,(4*nm)+2) = -rk3;
a1((4*nm)+3,(4*nm)+3) = -lk3;
a1((4*nm)+4,(4*nm)+4) = -lk3;
ac((4*nm)+1,(4*nm)+1) = -rk3;
ac((4*nm)+2,(4*nm)+2) = -rk3;
ac((4*nm)+3,(4*nm)+3) = -lk3;
ac((4*nm)+4,(4*nm)+4) = -lk3;
% input matrix B
b1((4*nm)+1,1) = rk3*(rib(1)+rib(2));
126
b1((4*nm)+2,2) = rk3*(rib(3)+rib(4));
b1((4*nm)+3,3) = lk3*(lib(1)+lib(2));
b1((4*nm)+4,4) = lk3*(lib(3)+lib(4));
%
% output matrix C with proximitor positions (cprox)
cprox = zeros(4,(4*nm)+4);
for i=1:nm
cprox(1,i) = phi(np1,i);
cprox(2,nm+i) = phi(np1,i);
cprox(3,i) = phi(np2,i);
cprox(4,nm+i) = phi(np2,i);
end;
% output matrix C with bearing positions (cbear)
cbear = zeros(4,(4*nm)+4);
for i=1:nm
cbear(1,i) = phi(nb1,i);
cbear(2,nm+i) = phi(nb1,i);
cbear(3,i) = phi(nb2,i);
cbear(4,nm+i) = phi(nb2,i);
end;
%**********************************************************************
% A, B and C matrices are now completed for the state-space model
%**********************************************************************
return;
%
% the end
%
127
Appendix H
MATLAB code listing for flexode.m
%
% flex_ode.m - describes the dynamics of the rotor system model
%
% called from Flex_Damp.m
%
function dq = flex_ode(t,q,b1,ac1,u,imbx,imby) %#ok
dq = (ac1*q)+(b1*u);
dq(9:16) = dq(9:16)+[imbx;imby];
return;
%
% the end
%
128
Appendix I
ANSYS code listing for FlexShaft2.inp
/COM
/COM Flexible shaft model
/COM
/COM Long, slender steel shaft with two radial AMB and proximitors
/COM
/FILNAME,FLEX_SHAFT2,1
!number of nodes
nodes=73
!number of mode shapes to be calculated
shapes=10
! bearing 1 node
nb1=54
!bearing 2 node
nb2=34
! proximitor 1 node
np1=51
!proximitor 2 node
np2=30
!total shaft length [m]
lenT = 1.5
!distance of nodes
lenS=(lenT/(nodes-1))
! Pi constant
pi=acos(-1)
129
! steel density [kg/m^3]
rho = 7800
! shaft radius [m]
rad=0.005
mTot = rad*rad*pi*lenT*rho
*DIM,masses,ARRAY,nodes,3
*DIM,phi_array,ARRAY,nodes,shapes
*DIM,psi_array,ARRAY,nodes,shapes
*DIM,w_vector,ARRAY,shapes,2
*DIM,tmp,ARRAY,nodes,1
*DO,var1,1,nodes,1
masses(var1,1) = var1
*ENDDO
/PREP7
/TITLE,Flexible shaft with 2 AMB
! Rotor properties
DENS,1,0.0
GXY,1,8.0E10
GYZ,1,8.0E10
GXZ,1,8.0E10
EX,1,2.0E11
EY,1,2.0E11
EZ,1,2.0E11
NUXY,1,0.284
NUYZ,1,0.284
NUXZ,1,0.284
! Elastic beams
ET,1,BEAM3
R,221,7.53828E-5,4.52204E-10,1.0
130
! Rigid masses
ET,2,MASS21
! axis of symmetry is X
! solid slender shaft (S)
mS=mTot/(nodes-1)
IxS=(mS*rad*rad)/2.0
IyS=(mS*((4*rad*rad)+(lenS*lenS)))/12.0
IzS=IyS
! elements at shaft ends (E)
mE=mS/2.0
IxE=(mE*rad*rad)/2
IyE=(mE*((4*rad*rad)+(lenS*lenS/4)))/12.0
IzE=IyE
! mass at position sensors (P)
mP=0.1211
IxP=0.2072e-4
IyP=0.1196e-4
IzP=IyP
! mass at magnetic bearings (B)
mB=0.5414
IxB=0.2276e-3
IyB=0.1425e-3
IzB=IyB
R,1,mE,mE,mE,IxE,IyE,IzE
R,2,mS,mS,mS,IxS,IyS,IzS
R,3,mP,mP,mP,IxP,IyP,IzP
R,4,mB,mB,mB,IxB,IyB,IzB
! Coordinate system
CSYS,0,0,0,0
! Define nodes
N,1,0,0,0
NGEN,nodes,1,1,nodes,1,lenS,0,0
! End of node print
131
! 2D Elastic beam elements
TYPE,1
MAT,1
REAL,221
E,1,2
EGEN,(nodes-1),1,1,(nodes-1),1
! End of beam elements
! Generalized mass elements
TYPE,2
! shaft endpoints
REAL,1
E,1
E,nodes
masses(1,2) = mE
masses(nodes,2) = mE
masses(1,3) = IxE
masses(nodes,3) = IxE
! slender solid shaft (except endpoints)
REAL,2
E,2
EGEN,(nodes-2),1,(nodes+2),((2*nodes)-1),1
*DO,var1,2,(nodes-1),1
masses(var1,2) = mS
masses(var1,3) = IxS
*ENDDO
! proximitor assembly at np1 and np2
REAL,3
E,np1
E,np2
masses(np1,2) = masses(np1,2)+mP
masses(np2,2) = masses(np2,2)+mP
masses(np1,3) = masses(np1,3)+IxP
masses(np2,3) = masses(np2,3)+IxP
! laminated bearing assembly at nb1 and nb2
REAL,4
E,nb1
E,nb2
132
masses(nb1,2) = masses(nb1,2)+mB
masses(nb2,2) = masses(nb2,2)+mB
masses(nb1,3) = masses(nb1,3)+IxB
masses(nb2,3) = masses(nb2,3)+IxB
! End of mass elements
! Constraints: no axial movement
D,ALL,UX
FINISH
! End of rotor model
! End of element print
/SOLU
ANTYPE,MODAL
MODOPT,REDUC,shapes
TOTAL,shapes
MXPAND,shapes
!LUMPM,ON
SAVE
SOLVE
SAVE
FINISH
/SOLU
EXPASS,ON
MXPAND,shapes
SOLVE
FINISH
! write results into files
/POST1
*DO,var1,1,shapes,1
SET,1,var1
*VGET,tmp,NODE,1,U,Y,,0
*DO,var2,1,nodes,1
phi_array(var2,var1)=tmp(var2)
*ENDDO
*VGET,tmp,NODE,1,ROT,Z,,0
*DO,var2,1,nodes,1
psi_array(var2,var1)=tmp(var2)
133
*ENDDO
*ENDDO
! save natural frequencies to w_vector
*DO,var1,1,shapes,1
w_vector(var1,1) = var1
*GET,w_vector(var1,2),MODE,var1,FREQ
*ENDDO
! write nodal displacements to DISPLACE2.DAT
*MWRITE,phi_array,displace2,dat,,JIK,shapes,nodes,1
%15.7G %15.7G %15.7G %15.7G %15.7G %15.7G %15.7G %15.7G %15.7G %15.7G
! write nodal rotations to ROTATE2.DAT
*MWRITE,psi_array,rotate2,dat,,JIK,shapes,nodes,1
%15.7G %15.7G %15.7G %15.7G %15.7G %15.7G %15.7G %15.7G %15.7G %15.7G
! write eigenfrequencies to OMEGA2.DAT
*MWRITE,w_vector,omega2,dat,,JIK,2,shapes,1
%D %G
! write nodal masses to MASSDATA2.DAT
*MWRITE,masses,massdata2,dat,,JIK,3,nodes,1
%D %G %G
SAVE
FINISH
134
Appendix J
MATLAB code listing for jeff1ver.m
%
% jeff1_ver.m - Jeffcott rotor with internal damping and mass imbalance
%
% verification of theoretical conditions for stability
%
clc;
clear all;
format compact;
format short g;
diary off;
% AMB parameters
N = 330;
Ag = 3.22e-4;
mu0 = 4*pi*1e-7;
d = 2.0e-3;
ib = 1.0;
% AMB position stiffness
Kx = Ag*N*N*ib*ib*mu0/(d*d*d);
% AMB current stiffness
Ki = Ag*N*N*ib*mu0/(d*d);
% mass
m=10;
%internal damping
ci=60.0; % critical value for w=50; m=10
% running speed, rad/s
w=50;
% simple PD controller
Kp= -1000;
135
Kd= -5;
icx=0;
icy=0;
A=[zeros(2,2), eye(2,2);
(Kx+(Ki*Kp))/m, -w*ci/m, ((Ki*Kd)-ci)/m,0;
w*ci/m, (Kx+(Ki*Kp))/m, 0, ((Ki*Kd)-ci)/m];
b = [0,0; 0,0; 1,0; 0,1];
% output matrix
Cx = [1,0,1,0; 0,1,0,1];
disp(?C*B matrix:?);
Cx*b
rank(Cx*b)
sys = ss(A,b,Cx,zeros(2,2));
[z,p,k] = zpkdata(sys);
disp(?Zeros of the OLTF:?);
z{1}
z{2}
z{3}
z{4}
%
% the end
%
136
Appendix K
MATLAB code listing for flexhub11ver.m
% flexhub11_ver.m
%
% Simulation of flexible hub with internal damping
%
% Verification of theoretical conditions
%
clear all;
clc;
% rotational speed [rad/s]
w = 80;
% disturbance frequency [Hz]
wd = w;
% static imbalance [kg*m]
imb = 0.0; %0.005; %0.005;
%
% AMB properties
%
N = 330;
Ag = 3.22e-4;
mu0 = 4*pi*1e-7;
d = 2.0e-3;
i_b = 1.0;
%
% linearized AMB parameters
%
%K = Ag*N*N*mu0/4.0;
% position stiffness
Kd = Ag*N*N*i_b*i_b*mu0/(d*d*d);
137
% current stiffness
Kc = Ag*N*N*i_b*mu0/(d*d);
%
% PD controller gains
%
Kp = 1000;
Kd = 10;
%
% Rotor properties
%
mS = 0.238;
mR = 0.567;
cH = 4.84; %1.84;
kH = 2000; %26994;
kk = [(-2*Kc/mS), 0; 0,(-2*Kc/mS)];
B = [zeros(4,2); kk; zeros(2,2)];
clear kk;
KK = [Kp,0,0,0,Kd,0,0,0; 0,Kp,0,0,0,Kd,0,0];
A1 = [(-(2*Kd)-kH)/mS, (-w*cH)/mS, kH/mS, (w*cH)/mS;
(w*cH)/mS,(-(2*Kd)-kH)/mS, (-w*cH)/mS, kH/mS;
kH/mR,(w*cH)/mR,(-kH)/mR,(-w*cH)/mR;
(-w*cH)/mR,kH/mR,(w*cH)/mR,(-kH)/mR];
A2 = [-cH/mS,0,cH/mS,0;
0,-cH/mS,0,cH/mS;
cH/mR,0,-cH/mR,0;
0,cH/mR,0,-cH/mR];
A = [zeros(4,4), eye(4,4); A1, A2];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% reduced order state-estimator for Rim position and velocity
%
AA = (A+(B*KK));
138
F = eye(4,4);
%tmp = min(real(eig(AA)));
F(1,1) = -1000; %2*tmp;
F(2,2) = -2000; %2.1*tmp;
F(3,3) = -3000; %2.2*tmp;
F(4,4) = -4000; %2.3*tmp;
L = eye(4,4);
C = [eye(2,2), zeros(2,6);
zeros(2,4), eye(2,2), zeros(2,2)];
%Cx = [-1,0,0,0, -1,0,0,0; 0,-1,0,0, 0,-1,0,0];
Cx = [-1,0,1,0, -1,0,1,0; 0,-1,0,1, 0,-1,0,1];
%disp(?Rank of controllability matrix F|L (min.4):?);
%rank(ctrb(F,L))
%disp(?Eigenvalues of A+(B*KK) (state feedback + linear AMB):?);
eig(A+(B*KK))
disp(?C*B matrix:?);
Cx*B
eig(Cx*B)
sys = ss(AA,B,Cx,zeros(2,2));
[z,p,k] = zpkdata(sys);
disp(?Zeros of the open loop transfer function:?);
z{1}
z{2}
z{3}
z{4}
%
% the end
%
139
Appendix L
MATLAB code listing for FlexDampver.m
%
% George T. Flowers and Andras Simon
%
% Flex_Damp20_ver.m
%
%**********************************************************************
% Program to simulate a flexible rotor with internal damping and
% supported by two radial magnetic bearings.
%**********************************************************************
%
% this script is using the FLEX_SHAFT2 Ansys model and generated files
%
% verification of theoretical conditions for (A)SPR-ness
%
clc;
clear all;
format compact;
format short g;
%
% 1st crit. speed: 54 rad/s
% 2nd crit. speed: 133 rad/s
%
% simulation time
%
t_end = 5;
global a1 ac1 b1;
global nm zeta;
% running speed [rad/s]
global w;
w = 100;%150; %800;
wd = w;
140
%DG=50000;
% internal damping ratio (best leave at 1%)
zeta = 0.01;
%zeta = 0.01;
zeta = 0.05;
%zeta=0;
%
% setting up state-space model and AMB parameters
%
Model;
pcon = eig(a1);
%
% poles for state f/b (change real parts of eig(a1))
%
for k=1:((4*nm)+4)
if(real(pcon(k))>0)
pcon(k) = -pcon(k);
end;
if(abs(real(pcon(k)))<1.0e-5)
pcon(k) = 0+(imag(pcon(k))*sqrt(-1));
end;
end;
% state feedback for model *without* internal damping
Kc = place(a1,b1,pcon);
Kc(:,17:20) = 0;
a11 = a1-(b1*Kc);
ac1 = ac-(b1*Kc);
Kc2 = place(ac,b1,pcon);
ws = 5000.0;
cx1 = [0,0, om(3), om(4), 0,0, om(3), om(4);
0,0,-om(3),-om(4), 0,0, om(3), om(4);
0,0,-om(3),-om(4), 0,0,-om(3),-om(4);
0,0, om(3), om(4), 0,0,-om(3),-om(4)];
141
cx2 = [0,0, om(3), om(4), 0,0,-om(3),-om(4);
0,0, om(3), om(4), 0,0, om(3), om(4);
0,0,-om(3),-om(4), 0,0, om(3), om(4);
0,0,-om(3),-om(4), 0,0,-om(3),-om(4)];
cx = zeta*[w*cx1,cx2,eye(4,4)/400];
cxx = [w*cx1,cx2,zeros(4,4)];
clear cx1 cx2
Kcxx = zeros(4,20);
disp(?C*B matrix:?);
cx*b1
eig(cx*b1)
sys = ss(ac1,b1,cx,zeros(4,4))
disp(?Zeros of the open loop t.f.:?)
[z,p,k] = zpkdata(sys)
z{1}
%
% the end
142
Appendix M
MATLAB code listing for jefffixed.m
%
% jeff_fixed.m - simple Jeffcott rotor with internal damping and
% mass imbalance
% fixed-gain version
clc;
clear all;
format compact;
format short g;
diary off;
% AMB parameters
N = 330;
Ag = 3.22e-4;
mu0 = 4*pi*1e-7;
d = 2.0e-3;
ib = 1.0;
% AMB position stiffness
Kx = Ag*N*N*ib*ib*mu0/(d*d*d);
% AMB current stiffness
Ki = Ag*N*N*ib*mu0/(d*d);
% mass
m=10;
%internal damping
%ci=4.4158; % critical value for w=1000; m=1
ci=60.0; % critical value for w=50; m=10
%ci=0.0;%5;
% running speed, rad/s
w=50;
143
% static imbalance
imb = 0.005; %0.005;%0.001;
% sampling frequency
ws = 5000;
dt = 1/ws;
t_end = 5.0;
t1 = 0;
steps = t_end/dt;
q = zeros(4,1);
% initial conditions
q(1) = 0.5e-3;
q(2) = -1.2e-3;
% simple PD controller
Kp= -1000;
Kd= -5;
icx=0;
icy=0;
xx = zeros(steps,1);
yy = zeros(steps,1);
tt = zeros(steps,1);
A=[zeros(2,2), eye(2,2);
(Kx+(Ki*Kp))/m, -w*ci/m, ((Ki*Kd)-ci)/m,0;
w*ci/m, (Kx+(Ki*Kp))/m, 0, ((Ki*Kd)-ci)/m];
pcon = eig(A);
%
% poles for state f/b (change real parts of eig(a1))
%
%
for k=1:4
if(real(pcon(k))>0)
144
pcon(k) = -pcon(k);
end;
if(abs(real(pcon(k)))<1.0e-5)
pcon(k) = 0+(imag(pcon(k))*sqrt(-1));
end;
end;
eig(A)
b = [0,0; 0,0; 1,0; 0,1];
K = place(A,b,pcon);
AA = A-(b*K);
eig(AA)
imbx = zeros(steps,1);
imby = zeros(steps,1);
wd=w;
%wd=100;
% 20 rad/s : 250
% 50 rad/s : 12500
% 60 rad/s : 15000
for k=1:steps
tt(k)=dt*(k-1);
imbx(k) = w*w*imb*cos(wd*2.0*pi*dt*k);
imby(k) = w*w*imb*sin(wd*2.0*pi*dt*k);
end;
disp(?Simulation is running...?);
ci = 10;
Fx=0;
Fy=0;
dx_r=0;
dy_r=0;
tic;
145
for k=1:steps
x_old=q(1);
y_old=q(2);
q(3) = dx_r;
q(4) = dy_r;
[t,Q] = ode45(@jeff_fix_ode,[t1,t1+dt],q,...
[],ci,w,m,K,b,Fx,Fy,imbx(k),imby(k));
q = Q(size(t,1),:)?;
t1 = t1+dt;
dx_r = q(3);
dy_r = q(4);
% manual differentation for velocity calculation
q(3)=(q(1)-x_old)/dt;
q(4)=(q(2)-y_old)/dt;
% simple PD control for current to AMB
icx = (Kp*q(1))+(Kd*q(3));
icy = (Kp*q(2))+(Kd*q(4));
Fx = (Kx*q(1))+(Ki*icx);
Fy = (Kx*q(2))+(Ki*icy);
xx(k)=q(1);
yy(k)=q(2);
if(mod(k,ws)==0)
disp(k);
end;
end;
toc;
figure;
plot(tt(1:k),xx(1:k),?b--?,tt(1:k),yy(1:k),?r-?);
axis([0 t1 -d d]);
%axis([0 t1 -0.1 0.1]);
146
%axis([0 t1 -5e-5 5e-5]);
legend(?x?,?y?);
xlabel(?Simulation time, [s]?);
ylabel(?Displacement, [m]?);
disp(?done.?);
%
% the end
%
147
Appendix N
MATLAB code listing for flexhubfixed.m
%
% flexhub_fixed.m
%
% Simulation of flexible hub with internal damping
% Fixed-gain version
clear all;
clc;
% rotational speed [rad/s]
w = 80; %80; % 80 crit.
% disturbance frequency [Hz]
wd = w;
% static imbalance [kg*m]
imb = 0.0; %0.005; %0.005;
%
% sampling frequency [Hz]
%
%ws = 10000;
ws = 5000;
dt = (1.0/ws);
% simulation time [s]
t_end = 5.0;
%
% AMB properties
%
N = 330;
Ag = 3.22e-4;
mu0 = 4*pi*1e-7;
d = 2.0e-3;
148
i_b = 1.0;
%
% linearized AMB parameters
%
%K = Ag*N*N*mu0/4.0;
% position stiffness
Kd = Ag*N*N*i_b*i_b*mu0/(d*d*d);
% current stiffness
Kc = Ag*N*N*i_b*mu0/(d*d);
%
% PD controller gains
%
Kp = 1000;
Kd = 10;
%
% Rotor properties
%
mS = 0.238;
mR = 0.567;
cH = 4.84; %1.84;
kH = 2000; %26994;
q = zeros(8,1);
%
% initial conditions of shaft (xS,yS)
% (for the shaft it should not be larger than the AMB airgap (2 mm)
%
q(1) = 1.5e-3;
q(2) = -1.0e-3;
%
% initial conditions for the Rim position (xRr,yRr) and for the
% estimated Rim position (xRe,yRe)
%
xRe = q(1);
yRe = q(2);
149
steps = (t_end/dt);
i_cx = 0;
i_cy = 0;
kk = [(-2*Kc/mS), 0; 0,(-2*Kc/mS)];
B = [zeros(4,2); kk; zeros(2,2)];
clear kk;
KK = [Kp,0,0,0,Kd,0,0,0; 0,Kp,0,0,0,Kd,0,0];
A1 = [(-(2*Kd)-kH)/mS, (-w*cH)/mS, kH/mS, (w*cH)/mS;
(w*cH)/mS,(-(2*Kd)-kH)/mS, (-w*cH)/mS, kH/mS;
kH/mR,(w*cH)/mR,(-kH)/mR,(-w*cH)/mR;
(-w*cH)/mR,kH/mR,(w*cH)/mR,(-kH)/mR];
A2 = [-cH/mS,0,cH/mS,0;
0,-cH/mS,0,cH/mS;
cH/mR,0,-cH/mR,0;
0,cH/mR,0,-cH/mR];
A = [zeros(4,4), eye(4,4); A1, A2];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% reduced order state-estimator for Rim position and velocity
%
AA = (A+(B*KK));
pcon = eig(AA);
%
% poles for state f/b
%
%
for k=1:8
if(real(pcon(k))>0)
pcon(k) = -pcon(k);
end;
if(abs(real(pcon(k)))<1.0e-5)
pcon(k) = 0+(imag(pcon(k))*sqrt(-1));
end;
150
end;
K2 = place(AA,B,pcon);
AAA = AA-(B*K2);
% recalc matrices with higher speed or higher cH
cH = 10.0; % was 4.84
%w = 100; % was 80
A1 = [(-(2*Kd)-kH)/mS, (-w*cH)/mS, kH/mS, (w*cH)/mS;
(w*cH)/mS,(-(2*Kd)-kH)/mS, (-w*cH)/mS, kH/mS;
kH/mR,(w*cH)/mR,(-kH)/mR,(-w*cH)/mR;
(-w*cH)/mR,kH/mR,(w*cH)/mR,(-kH)/mR];
A2 = [-cH/mS,0,cH/mS,0;
0,-cH/mS,0,cH/mS;
cH/mR,0,-cH/mR,0;
0,cH/mR,0,-cH/mR];
A = [zeros(4,4), eye(4,4); A1, A2];
AA = (A+(B*KK));
F = eye(4,4);
%tmp = min(real(eig(AA)));
F(1,1) = -1000; %2*tmp;
F(2,2) = -2000; %2.1*tmp;
F(3,3) = -3000; %2.2*tmp;
F(4,4) = -4000; %2.3*tmp;
L = eye(4,4);
C = [eye(2,2), zeros(2,6);
zeros(2,4), eye(2,2), zeros(2,2)];
cc = [-1,0,0,0,-1,0,0,0; 0,-1,0,0,0,-1,0,0];
%disp(?Rank of controllability matrix F|L (min.4):?);
%rank(ctrb(F,L))
151
%disp(?Eigenvalues of A+(B*KK) (state feedback + linear AMB):?);
%eig(A+(B*KK))
%
% solve the Lyapunov-equation for T in (T*(A+(B*KK)) - F*T = L*C)
%
%T = lyap(-F,AA,-(L*C));
T = lyap(-F,AAA,-(L*C));
%disp(?Error in solution of Lyapunov equation (should be small):?);
%(T*(AA))-(F*T)-(L*C)
TB = T*B;
invCT = inv([C;T]);
z = zeros(4,1);
dz = zeros(4,1);
% set up storage variables for plotting
DTpos_xS = zeros(steps,1);
DTpos_yS = zeros(steps,1);
DTpos_xRr = zeros(steps,1);
DTpos_yRr = zeros(steps,1);
DTpos_xRe = zeros(steps,1);
DTpos_yRe = zeros(steps,1);
DTctr_x = zeros(steps,1);
DTctr_y = zeros(steps,1);
DTtt = zeros(steps,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for k=1:steps
tmpx = wd*2.0*pi*dt*k;
imbx(k) = w*w*imb*cos(tmpx);
imby(k) = w*w*imb*sin(tmpx);
end;
clear tmpx;
disp(?Simulation is running...?);
t1 = 0;
152
xSdot_real = 0;
ySdot_real = 0;
xRrdot_real = 0;
yRrdot_real = 0;
%
% main simulation loop
%
tic;
for k=1:steps
%
% simple PD control
%
i_cx = (Kp*q(1))+(Kd*q(5));
i_cy = (Kp*q(2))+(Kd*q(6));
Fx = (Kd*q(1))+(Kc*i_cx)+imbx(k);
Fy = (Kd*q(2))+(Kc*i_cy)+imby(k);
% restore real velocities for ODE()
q(5) = xSdot_real;
q(6) = ySdot_real;
q(7) = xRrdot_real;
q(8) = yRrdot_real;
[t,Q] = ode45(@flexhub_dyn2,[t1,t1+dt],q,...
[],mS,mR,cH,kH,w,Fx,Fy,B*K2);
xS_old = q(1);
yS_old = q(2);
xRr_old = q(3);
yRr_old = q(4);
q = Q(size(t,1),:)?;
t1 = t1+dt;
xS = q(1);
yS = q(2);
xRr = q(3);
153
yRr = q(4);
%
% velocities obtained from ODE solution
%
xSdot_real = q(5);
ySdot_real = q(6);
xRrdot_real = q(7);
yRrdot_real = q(8);
%
% velocities calculated manually from measured positions
%
xSdot = (q(1)-xS_old)/dt;
ySdot = (q(2)-yS_old)/dt;
xRrdot = (q(3)-xRr_old)/dt;
yRrdot = (q(4)-yRr_old)/dt;
dz = (F*z)+(TB*[i_cx;i_cy])+(L*[q(1); q(2); q(5); q(6)]);
z = z+(dz*dt);
xRe_old = xRe;
yRe_old = yRe;
ztx = invCT*[q(1);q(2);q(5);q(6);z];
xRe = ztx(3);
yRe = ztx(4);
% xRedot = ztx(7);
% yRedot = ztx(8);
xRedot = (xRe-xRe_old)/dt;
yRedot = (yRe-yRe_old)/dt;
DTpos_xS(k) = q(1);
DTpos_yS(k) = q(2);
DTpos_xRr(k) = q(3); % real Rim positions from mechanical model
DTpos_yRr(k) = q(4);
DTpos_xRe(k) = xRe; % estimated Rim positions from estimator
DTpos_yRe(k) = yRe;
DTctr_x(k) = i_cx;
DTctr_y(k) = i_cy;
154
DTtt(k) = t1;
if(mod(k,ws)==0)
disp(k);
end;
end;
disp(?complete?);
beep;
toc;
dist=1;
msteps = steps/dist;
xmark = zeros(msteps,1);
ymark = xmark;
for k=1:msteps
xmark(k) = DTpos_xS(dist*k);
ymark(k) = DTtt(dist*k);
end;
figure;
%plot(DTtt,DTpos_xS,DTtt,DTpos_yS,DTtt,DTpos_xRr,DTtt,DTpos_yRr);
plot(DTtt,DTpos_xS,?b-?,DTtt,DTpos_xRr,?r:?);
axis([0, t_end, -d, d]);
tit = strcat(?\Omega=?,num2str(w),? u=?,num2str(imb));
title(tit);
ylabel(?Displacement, [m]?);
xlabel(?Simulation time [s]?);
legend(?Shaft X?,?Rim X?);
%
% the end
%
155
Appendix O
MATLAB code listing for FixedGain1.m
%
% George T. Flowers and Andras Simon
%
% FixedGain1.m
%
%**********************************************************************
% Program to simulate a flexible rotor with internal damping and
% supported by two radial magnetic bearings.
%**********************************************************************
%
% this script is using the FLEX_SHAFT2 Ansys model and generated files
%
% Fixed gain controller (Baseline)
%
clc;
clear all;
format compact;
format short g;
%
% 1st crit. speed: 54 rad/s
% 2nd crit. speed: 133 rad/s
%
% simulation time
%
t_end = 5;
global a1 ac1 b1;
global nm zeta;
% running speed [rad/s]
global w;
w = 150;%150; %800;
wd = w;
156
% internal damping ratio (best leave at 1%)
zeta = 0.01;
%
% setting up state-space model and AMB parameters
%
Model;
pcon = eig(a1);
%
% poles for state f/b (change real parts of eig(a1))
%
%
for k=1:((4*nm)+4)
if(real(pcon(k))>0)
pcon(k) = -pcon(k);
end;
if(abs(real(pcon(k)))<1.0e-5)
pcon(k) = 0+(imag(pcon(k))*sqrt(-1));
end;
end;
% state feedback for model *with* internal damping
Kc2 = place(ac,b1,pcon);
%Kc2(:,17:20) = 0;
ac2 = ac-(b1*Kc2);
%
% change zeta to trick fixed gain controller
%
%zeta = 0.05;
%
% re-calculate system matrices
%
%Model;
q = zeros((4*nm)+4,1);
157
%initial bearing positions
q(1) = 0.0005;
q(5) = -0.0001;
% sampling frequency [Hz]
%
ws = 5000.0;
dt = 1.0/ws;
t1 = 0.0;
steps = (t_end-t1)/dt;
% how many imbalances are accounted for
ni = 1;
% imbalance node locations (for each imbalance)
iml = ones(ni,1)*44;
% imbalance values (for each imbal.)
imm = zeros(ni,1);
% imbalance phase shifts (for each imbalance)
imph = zeros(ni,1);
% imbalance matrix
phi_imb = zeros(nn,ni);
imphase = zeros(ni,1);
% node locations where imbalances are located (1 per node)
iml(1) = 44;
%iml(2) = 30;
% individual imbalances [kg-m]
%imm(1) = 5e-3;
imm(1) = 1e-3;
% phase shift of imbalances [degrees]
imph(1) = 0;
%imph(2) = 90;
for i=1:ni
phi_imb(iml(i),i)=imm(i); % place imbalances into imbalance matrix
158
imph(i) = imph(i)*(pi/180.0); % [degree] -> [rad]
end;
imbtmp = (phi?)*phi_imb*w*w;
imbx = zeros(nm,steps);
imby = zeros(nm,steps);
imbal_angle_cos = zeros(ni,steps);
imbal_angle_sin = zeros(ni,steps);
tt = zeros(steps,1);
for k=1:steps
tmp_imb = (wd*2.0*pi*dt*k*ones(ni,1))+imph;
imbal_angle_cos(:,k) = cos(tmp_imb);
imbal_angle_sin(:,k) = sin(tmp_imb);
tt(k) = dt*k;
% imbalance force in X direction
imbx(:,k) = imbtmp*imbal_angle_cos(:,k);
% imbalance force in Y direction
imby(:,k) = imbtmp*imbal_angle_sin(:,k);
end;
x_old = zeros(nm,1);
y_old = zeros(nm,1);
dx_real = zeros(nm,1);
dy_real = zeros(nm,1);
dx_calc = zeros(nm,1);
dy_calc = zeros(nm,1);
pos_bear = zeros(nm,steps);
pos_prox = zeros(nm,steps);
u = zeros(4,1);
disp(?Simulation is running...?);
tic;
for k=1:steps
159
% save previous positions for manual differentation
x_old = q(1:4);
y_old = q(5:8);
% restore real velocities for ODE45()
q(9:12) = dx_real;
q(13:16) = dy_real;
[t,Q] = ode45(@flex_ode20,[t1, t1+dt],q,[],...
b1,ac2,u,imbx(:,k),imby(:,k));
q = Q(size(t,1),:)?;
t1 = t1+dt;
% save real velocities (from ODE solution)
dx_real = q(9:12);
dy_real = q(13:16);
% calculate actual velocities from position inputs
% by using simple differentiation
q(9:12) = (q(1:4)-x_old)/dt;
q(13:16) = (q(5:8)-y_old)/dt;
% positions at the prox. sensors
pos_prox(:,k) = cprox*q;
% positions at the bearings
pos_bear(:,k) = cbear*q;
if(mod(k,ws)==0)
disp(k);
end;
end;
toc;
% plot X and Y positions at each bearing on a single figure
figure;
plot(tt(1:k),pos_prox(1,:),?b-?,tt(1:k),pos_prox(2,:),?r:?);
tit = strcat(?\Omega=?,num2str(w),? u=?,num2str(imm(1)));
title(tit);
160
legend(?x_{p1}?,?y_{p1}?);
axis([0 t1 -0.002 0.002]);
ylabel(?Displacement, [m]?);
xlabel(?Simulation time, [s]?);
disp(?completed.?);
%
% the end
%
161