Professional Documents
Culture Documents
1 INTRODUCTION
1.1.1 Speed control of induction motor
In the past, DC motors were used extensively in areas where variable-speed
operations were required. DC motors have certain disadvantages, however, which are due
to the existence of the commutator and the brushes which makes the motor more bulky,
costly and heavy. These problems could be overcome by application of AC motors. AC
motors have simpler and more rugged structure, higher maintainability and economy than
DC motors. They are also robust and immune to heavy loading. The speed of the
induction motor has to be controlled and so different types of controllers are used to
obtain the desired speed.
Various speed control techniques implemented by modern-age Variable Frequency
Drive are mainly classified in the following three categories:
Scalar Control (V/f Control)
Vector Control (Indirect Torque Control)
Direct Torque Control (DTC)
The aim of our project is to control the induction motor using vector control. We
employ indirect rotor flux vector control to control the induction motor.
The dynamic modeling of induction motor is done in the SIMULINK using the
necessary equations. The vector control of the induction motor is also modeled in the
SIMULINK using the necessary equations. The type of speed controller used in this
indirect rotor vector control induction motor is PI speed controller.
Neural Networks is implemented in the system for better control of the induction
motor. This is done by collecting samples from the PI controller and training the network
with the collected samples and writing the necessary program to create a neural network
for the system.
The alternating nature of the supply voltage induces an Electromagnetic Force (EMF) in
the rotor (just like the voltage is induced in the transformer secondary) as per Lenzs law,
thus generating another set of electromagnets; hence the name induction motor.
Interaction between the magnetic field of these electromagnets generates twisting force,
or torque. As a result, the motor rotates in the direction of the resultant torque.
2.2.1 STATOR:
The stator is made up of several thin laminations of aluminum or cast iron. They
are punched and clamped together to form a hollow cylinder (stator core) with slots as
shown in Fig 2.1. Coils of insulated wires are inserted into these slots. Each grouping of
coils, together with the core it surrounds, forms an electro- magnet (a pair of poles) on the
application of AC supply. The number of poles of an AC induction motor depends on the
internal connection of the stator windings. The stator windings are connected directly to
the power source. Internally they are connected in such a way, that on applying AC
supply, a rotating magnetic field is created.
Stator
Fig 2.1
2.2.2 ROTOR:
The rotor is made up of several thin steel laminations with evenly spaced bars,
which are made up of aluminum or copper, along the periphery. In the most popular type
of rotor (squirrel cage rotor), these bars are connected at ends mechanically and
electrically by the use of rings. Almost 90% of induction motors have squirrel cage
rotors. This is because the squirrel cage rotor has a simple and rugged construction. The
rotor consists of a cylindrical laminated core with axially placed parallel slots for
carrying the conductors. Each slot carries a copper, aluminum, or alloy bar. These rotor
bars are permanently short-circuited at both ends by means of the end rings, as shown in
Fig 2.2. This total assembly resembles the look of a squirrel cage, which gives the rotor
its name.
The rotor slots are not exactly parallel to the shaft. Instead, they are given a skew
for two main reasons. The first reason is to make the motor run quietly by reducing
magnetic hum and to decrease slot harmonics. The second reason is to help reduce the
locking tendency of the rotor. The rotor teeth tend to remain locked under the stator teeth
due to direct magnetic attraction between the two. This happens when the numbers of
stator teeth are equal to the number of rotor teeth.
The rotor is mounted on the shaft using bearings on each end; one end of the
shaft is normally kept longer than the other for driving the load. Some motors may have
an accessory shaft on the non-driving end for mounting speed or position sensing devices.
Between the stator and the rotor, there exists an air gap, through which due to induction,
the energy is transferred from the stator to the rotor. The generated torque forces the rotor
and then the load to rotate. Regardless of the type of rotor used, the principle employed
for rotation remains the same.
--------(2.1)
The magnetic field produced in the rotor because of the induced voltage is alternating in
nature. To reduce the relative speed, with respect to the stator, the rotor starts running in
the same direction as that of the stator flux and tries to catch up with the rotating flux.
However, in practice, the rotor never succeeds in catching up to the stator field. The
rotor runs slower than the speed of the stator field. This speed is called the Base Speed
(Nb). The difference between NS and Nb is called the slip. The slip varies with the load.
An increase in load will cause the rotor to slow down or increase slip. A decrease in load
will cause the rotor to speed up or decrease slip. The slip is expressed as a percentage and
can be determined as follows.
% Slip = [(Ns Nb) / Ns] * 100
-------- (2.2)
Once the motor reaches about 75% of its rated speed, a centrifugal switch
disconnects the start winding. From this point on, the single-phase motor can maintain
sufficient torque to operate on its own. Except for special capacitor start/capacitor run
types, all single-phase motors are generally used for applications up to 3/4 hp only.
Depending on the various start techniques, single phase AC induction motors are further
classified as described in the following sections.
The most common type of induction motor has a squirrel cage rotor in which
aluminum conductors or bars arecast into slots in the outer periphery of the rotor. These
conductors or bars are shorted together at both ends ofthe rotor by cast aluminum end
rings, which also can be shaped to act as fans. In larger induction motors,copper or
copper-alloy bars are used to fabricate the rotor cage winding. As the sinusoidallydistributed flux density wave produced by the stator magnetizing currents sweeps past the
rotor conductors, it generates a voltage in them.
The result is a sinusoidally-distributed set of currents in the short-circuited rotor
bars. Because of the low resistance of these shorted bars, only a small relative angular
velocity, between the angular velocity, of the flux wave and the mechanical angular
velocity of the two-pole rotor is required to produce the necessary rotor current. The
relative angular velocity, is called the slip velocity. The interaction of the sinusoidallydistributed air gap flux density and induced rotor currents produces a torque on the rotor.
The typical induction motor speed-torque characteristic is shown in Fig 2.4.
Fig 2.4
Squirrel-cage induction motors are popular for their simple construction, low cost
per horsepower, and low maintenance (they contain no brushes, as do DC motors). They
are available in a wide range of power ratings. With field-oriented vector control
methods,induction motors can fully replace standard DC motors, even in highperformance applications.
2.4.2.1 Squirrel Cage Motor:
Almost 90% of the three-phase AC Induction motors are of this type. Here, the rotor
is of the squirrel cage type and it works as explained earlier. The power ratings range
from one-third to several hundred horsepower in the three-phase motors. Motors of this
type, rated one horsepower or larger, cost less and can start heavier loads than their
single-phase counterparts.
2.4.2.2 Wound-Rotor Motor:
The slip-ring motor or wound-rotor motor is a variation of the squirrel cage
induction motor. While the stator is the same as that of the squirrel cage motor, it has a set
of windings on the rotor which are not short-circuited, but are terminated to a set of slip
rings. These are helpful in adding external resistors and contactors. The slip necessary to
generate the maximum torque (pull-out torque) is directly proportional to the rotor
resistance. In the slip-ring motor, the effective rotor resistance is increased by adding
external resistance through the slip rings. Thus, it is possible to get higher slip and hence,
the pull-out torque at a lower speed.
A particularly high resistance can result in the pull-out torque occurring at almost
zero speed, providing a very high pull-out torque at a low starting current. As the motor
accelerates, the value of the resistance can be reduced, altering the motor characteristic to
suit the load requirement. Once the motor reaches the base speed, external resistors are
removed from the rotor. This means that now the motor is working as the standard
induction motor. This motor type is ideal for very high inertia loads, where it is required
to generate the pull-out torque at almost zero speed and accelerate to full speed in the
10
The downside of the slip ring motor is that slip rings and brush assemblies need regular
maintenance, which is a cost not applicable to the standard cage motor.
If the rotor windings are shorted and a start is attempted (i.e., the motor is converted to a
standard induction motor), it will exhibit an extremely high locked rotor current
typically as high as 1400% and a very low locked rotor torque, perhaps as low as 60%.
In most of the applications, this is not an option. Modifying the speed torque curve by
altering the rotor resistors, the speed at which the motor will drive a particular load can
be altered. At full load, you can reduce the speed effectively to about 50% of the motor
synchronous speed, particularly when driving variable torque/variable speed loads, such
as printing presses or compressors. Reducing the speed below 50% results in very low
efficiency due to higher power dissipation in the rotor resistances. This type of motor is
used in applications for driving variable torque/ variable speed loads, such as in printing
presses, compressors, conveyer belts, hoists and elevators.
2.5 TORQUE EQUATION GOVERNING MOTOR OPERATION:
The motor load system can be described by a fundamental torque equation.
T TL
------(2.3)
Where,
T= the Instantaneous value of the developed motor torque (N-m)
TL= the Instantaneous value of the load torque (N-m)
11
---------(2.4)
This shows that the torque developed by the motor is counter balanced by a load torque,
TL and a dynamic torque, J(dwm/dt). The torque component, J(dwm/dt), is called the
dynamic torque because it is present only during the transient operations. The drive
accelerates or decelerates depending on whether T is greater or less than T L. During
acceleration, the motor should supply not only the load torque, but an additional torque
component, J(dwm/dt), in order to overcome the drive inertia.
In drives with large inertia, such as electric trains, the motor torque must
exceed the load torque by a large amount in order to get adequate acceleration. In drives
requiring fast transient response, the motor torque should be maintained at the highest
value and the motor load system should be designed with the lowest possible inertia. The
energy associated with the dynamic torque, J(dWm/dt), is stored in the form of Kinetic
Energy (KE) given by, J(dWm/2). During deceleration, the dynamic torque, J(dWm/dt),
has a negative sign. Therefore, it assists the motor developed torque T and maintains the
drive motion by extracting energy from the stored kinetic energy. To summarize, in order
to get steady state rotation of the motor, the torque developed by the motor (T) should
always be equal to the torque requirement of the load (T L). The torque-speed curve of the
typical three-phase induction motor is shown in Fig 2.6.
12
maximum torque, known as the breakdown or pull-out torque, at almost full speed and
then drop to zero at the synchronous speed. The curve of the start torque against the rotor
speed is dependant on the terminal voltage and the rotor design. The LRT of an induction
motor can vary from as low as 60% of FLT to as high as 350% of FLT. The pull-up torque
can be as low as 40% of FLT and the breakdown torque can be as high as 350% of FLT.
Typically, LRTs for medium to large motors are in the order of 120% of FLT to 280% of
FLT. The PF of the motor at start is typically 0.1-0.25, rising to a maximum as the motor
accelerates and then falling again as the motor approaches full speed.
14
15
16
17
18
19
or
Indirect
torque
control.
Using
field
orientation
(Clarke-Park
20
21
The algorithm captures all these details at the start from the motor without rotating
the motor. But rotating the motor for a few seconds helps in the tuning of the model. The
better the tuning, the higher the accuracy of speed and torque control. With the DC bus
voltage, the line currents and the present switch position as inputs, the model calculates
actual flux and torque of the motor. These values are fed to two-level comparators of the
torque and flux, respectively. The output of these comparators is the torque and flux
reference signals for the optimal switch selection table. Selected switch position is given
to the inverter without any modulation, which means faster response time. The external
speed set reference signal is decoded to generate the torque and flux reference. Thus, in
the DTC, the motor torque and flux become direct controlled variables and hence, the
name Direct Torque Control. The advantage of this technology is the fastest response
time, elimination of feedback devices, reduced mechanical failure, performance nearly
the same as the DC machine without feedback, etc. The disadvantage is due to the
inherent hysteresis of the comparator, higher torque and flux ripple exist. Since switching
is not done at a very high frequency, the low order harmonics increases. It is believed that
the DTC can be implemented using an Artificial Intelligence model instead of the model
based on mathematical equations. This will help in better tuning of the model and less
dependence on the motor parameters.
3.2 VECTOR CONTROL THEORY:
3.2.1 Background:
The induction motor is the workhorse of industrial and residential motor
applications due to its simple construction and durability. These motors have no brushes
to wear out or magnets to add to the cost. The rotor assembly is a simple steel cage. IMs
are designed to operate at a constant input voltage and frequency, but you can effectively
control an IM in an open loop variable speed application if the frequency of the motor
input voltage is varied. If the motor is not mechanically overloaded, the motor will
operate at a speed that is roughly proportional to the input frequency. As you decrease the
frequency of the drive voltage, you also need to decrease the amplitude by a proportional
amount. Otherwise, the motor will consume excessive current at low input frequencies.
22
23
Te = Kt Ia If
---------------(3.1)
24
With vector, control. Ids is analogous field current If and Iqs is analogous to armature
current Ia of a dc machine.
Therefore, the torque can be expressed as
Te=Kf ids iqs
---------(3.2)
Te=Kf r iqs
----------(3.3)
on the right of figure 3.2 . This means that when I qs is controlled, it affects the actual
r . Note that when compared to dc
Iqs current only and but does not affect the flux
25
The controller makes two stages of inverse transformation, as shown, so that the control
currents Ids* and Iqs* correspond to the machine curent with the flux vector r and Iqs
perpendicular to it, as shown. Note that the
transformation including the inverter ideally do not incorporate any dynamics, and
therefore the response to Ids and Iqs is instantaneous ( neglecting computational and
sampling delays ). There are essentially two general methods of vector control. One
called the direct or feed back method was invented by Blaschke, and the other, known
as the indirect or feed forward method, was invented by Hasse. The methods are
different essentially by how the unit vector (cose and sine) is generated for the control.
3.4 Direct or feedback Vector Control:
In the direct vector control method, the principal vector control parameters,
Ids* and Iqs* which are dc values (VR) with the help of a unit vector (Cose and Sine)
generated from flux vector signals drs and qrs. The resulting stationary frame signals
are then converted to phase current commands for the inverter. The flux signals drs and
qrs are generated from the machine terminal voltages and currents with the help of the
voltage model estimator. The generation of a unit vector signal from feedback flux vector
gives the name direct vector control.
In the direct vector control, the measurement of voltages and currents are required. In
this the r is estimated by observer and flux vectors are estimated from the
voltage model method and current model method. the three voltages and three current
sensors are required. From r we get the speed e and then get the angle e.
3.5 Indirect or Feed forward Vector Control :
In this modeling the indirect vector control method is used. In the indirect vector
control the unit vector signals (Cose and Sine) are generated in feedforwawrd manner,
indirect vector control is very popular in industrial application. Figure (3.1) explains the
fundamental principle of indirect vector control with the help of phasor diagram. The
ds-qs axes are fixed on the stator, but of d r-qr axes. Which are fixed on the rotor, are
moving at speed r as shown.
26
Synchronously rotating axes de-qe is rotating ahead of the dr-qr axes by the
positive slip angle sl corresponding to slip frequency sl. Since the rotor pole is
directed on the d e axes and e = r = sl we can write
e e dt
sl dt r sl -------- (3.4)
Note that the rotor pole position is not absolute, but is slipping with respect to the
rotor at frequency sl. The phasor suggest that for decoupling control, the stator flux
component of current
------------ (3.5)
------------
(3.6)
From the rotor flux equations the currents Idr, Iqr equations as:
27
--------------(3.7)
---------------------
(3.8)
-------- (3.9)
------------ (3.11)
dqr/dt = 0
------------ (3.12)
That is,
So that the total rotor flux r is directed on the de axis.
Substituting the above conditions in equations 3.9 & 3.10, and simplified we get
L r d r
r L m i ds
R r dt
L
sl m
r
Where r
i qs
-------- (3.13)
-------------- (3.14)
Lr
r = dr has been substituted.
= rotor time constant,
Rr
r /Lm
Ids =
------------- (3.15)
In other words, the rotor flux is directly proportional to current Ids in steady state.
The Iqs is estimated as follows.
The Torque is given by
Te = (3/2) (p/2)(dr Iqr - qr Idr)
------------- (3.16)
Te = (3/2)(p/2)( dr I qr )
---------------- (3.17)
r
Iqs = (2/3) (2/p) (Lr/Lm) (Te/
-------------- (3.18)
r /Lm
-------------- 3.19)
Similarly
The torque component of the stator current Iqs*
I
qs
rest )
= (2/3)(2/p) (Lr/Lm) (Te*/
----------(3.20)
rest )
sl* = Lm/ r. (Iqs*/
---------------(3.21)
29
coordinate reference transformation process. If you picture how an AC motor works, you
might imagine the operation from the perspective of the stator. From this perspective, a
sinusoidal input current is applied to the stator. This time variant signal causes a rotating
magnetic flux to be generated. The speed of the rotor is going to be a function of the
rotating flux vector. From a stationary perspective, the stator currents and the rotating
flux vector look like AC quantities. Now, instead of the previous perspective, imagine
that you could climb inside the motor. Once you are inside the motor, picture yourself
running alongside the spinning rotor at the same speed as the rotating flux vector that is
generated by the stator currents. Looking at the motor from this perspective during steady
state conditions, the stator currents look like constant values, and the rotating flux vector
is stationary! Ultimately, you want to control the stator currents to get the desired rotor
currents (which cannot be measured directly). With the coordinate transformation, the
stator currents can be controlled like DC values using standard control loops.
3.7 Block Diagram of the Vector Control:
Figure (A) shows the basic structure of the vector control of the AC induction motor. To
perform vector control, follow these steps:
Measure the motor quantities (phase voltages and currents)
Transform them to the 2-phase system ( ,) using a Clarke transformation
Calculate the rotor flux space vector magnitude and position angle
Transform stator currents to the d-q coordinate system using a Park transformation
The stator current torque- (isq) and flux- (isd) producing components are separately
controlled.
The output stator voltage space vector is calculated using the decoupling block.
An inverse Park transformation transforms the stator voltage space vector back from the
d-q coordinate system to the 2-phase system fixed with the stator.
30
3.8.TRANSFORMATIONS:
31
Fig 3.6
Clarke Transformation
---------(3.23)
32
Assuming that the a axis and the axis are in the same direction, the
quadrature-phase stator currents is(and is(are related to the actual 3-phase stator
currents as follows:
where:
isa = Actual current of the motor Phase A [A]
isb = Actual current of the motor Phase B [A]
isC= Actual current of the motor Phase C [A]
The constant k equals k = 2/3 for the non-power-invariant transformation. In this case, the
quantities isa and isare equal. If its assumed that isa+ isb+ isc= 0 , the quadraturephase components can be expressed utilizing
only two phases of the 3-phase system:
is=isa
is=(1/
--------(3.24)
3 ) isa + (2/ 3 )isb
-------(3.25)
The inverse Clarke transformation goes from a 2-phase ((to a 3-phase isa, isb, isc
system. For constant k = 2/3, it is calculated by the following equations:
isa = is
isb= -(1/2) is+(
isc= -(1/2) is-(
-------------(3.26)
/2) is
------------ (3.27)
/2) is
-----------(3.28)
33
Fig:3.7
Park Transformation
34
The components isd and isq of the current space vector in the d-q reference frame are
determined by the following equations:
-------(3 .29)
-------(3.30)
The component isd is called the direct axis component (the flux-producing
component) and isq is called the quadrature axis component (the torque-producing
component).
They are time invariant; flux and torque control with them is easy. To avoid using
trigonometric functions on the hybrid controller, directly calculate sin Field and cosField
using division, defined by the following equations:
------(3.31)
--------(3.32)
---------(3.33)
The inverse Park transformation from the d-q to the , coordinate system is found by
the following equations:
35
NEURAL NETWORKS
4.1 INTRODUCTION
Neural networks are composed of simple elements operating in parallel. These elements
are inspired by biological nervous systems. As in nature, the network function is
determined largely by the connections between elements. We can train a neural network
to perform a particular function by adjusting the values of the connections (weights)
between elements. Commonly neural networks are adjusted, or trained, so that a
particular input leads to a specific target output. Such a situation is shown below. There,
the network is adjusted, based on a comparison of the output and the target, until the
network output matches the target. Typically many such input/target pairs are used, in this
supervised learning, to train a network
36
Neural networks have been trained to perform complex functions in various fields of
application including pattern recognition, identification, classification, speech, vision and
control systems. Today neural networks can be trained to solve problems that are difficult
for conventional computers or human beings. The supervised training methods are
commonly used, but other networks can be obtained from unsupervised training
techniques or from direct design methods. Unsupervised networks can be used, for
instance, to identify groups of data. Certain kinds of linear networks and Hopfield
networks are designed directly. In summary, there are a variety of kinds of design and
learning techniques that enrich the choices that a user can make. The field of neural
networks has a history of some five decades but has found solid application only in the
past fifteen years, and the field is still developing rapidly. Thus, it is distinctly different
from the fields of control systems or optimization where the terminology, basic
mathematics, and design procedures have been firmly established and applied for many
years.
4.2 Simple Neuron
A neuron with a single scalar input and no bias appears on the left below.
37
The neuron on the right has a scalar bias, b. You may view the bias as simply being
added to the product wp as shown by the summing junction or as shifting the function f to
the left by an amount b. The bias is much like a weight, except that it has a constant input
of 1. The transfer function net input n, again a scalar, is the sum of the weighted input wp
and the bias b. This sum is the argument of the transfer function f. (Radial Basis
Networks discusses a different way to form the net input n.) Here f is a transfer function,
typically a step function or a sigmoid function, which takes the argument n and produces
the output a. Examples of various transfer functions are given in the next section. Note
that w and b are both adjustable scalar parameters of the neuron.
The central idea of neural networks is that such parameters can be adjusted so that
the network exhibits some desired or interesting behavior. Thus, we can train the network
to do a particular job by adjusting the weight or bias parameters, or perhaps the network
itself will adjust these parameters to achieve some desired end. All of the neurons in this
toolbox have provision for a bias, and a bias is used in many of our examples and will be
assumed in most of this toolbox. However, you may omit a bias in a neuron if you want.
As previously noted, the bias b is an adjustable (scalar) parameter of the neuron. It is not
an input. However, the constant 1 that drives the bias is an input and must be treated as
such when considering the linear dependence of input vectors in Linear Filters.
4.3 Transfer Functions:
The behaviour of an ANN (Artificial Neural Network) depends on both the weights and
the input-output function (transfer function) that is specified for the units. This function
typically falls into one of three categories:
linear (or ramp)
threshold
sigmoid
For linear units, the output activity is proportional to the total weighted output.
38
For threshold units, the output is set at one of two levels, depending on whether the total
input is greater than or less than some threshold value.
For sigmoid units, the output varies continuously but not linearly as the input changes.
Sigmoid units bear a greater resemblance to real neurones than do linear or threshold
units, but all three must be considered rough approximations.
4.4 Architecture of neural networks:
4.4.1Feed-forward networks:
Feed-forward ANNs (figure 4.3) allow signals to travel one way only; from input to
output. There is no feedback (loops) i.e. the output of any layer does not affect that same
layer. Feed-forward ANNs tend to be straight forward networks that associate inputs with
outputs. They are extensively used in pattern recognition. This type of organisation is also
referred to as bottom-up or top-down.
4.4.2Feedback networks:
Feedback networks (figure 4.4) can have signals travelling in both directions by
introducing loops in the network. Feedback networks are very powerful and can get
extremely complicated. Feedback networks are dynamic; their 'state' is changing
continuously until they reach an equilibrium point. They remain at the equilibrium point
until the input changes and a new equilibrium needs to be found. Feedback architectures
are also referred to as interactive or recurrent, although the latter term is often used to
denote feedback connections in single-layer organisations.
39
40
The activity of the input units represents the raw information that is fed into the
network.
The activity of each hidden unit is determined by the activities of the input units
and the weights on the connections between the input and the hidden units.
The behaviour of the output units depends on the activity of the hidden units and
the weights between the hidden and output units.
This simple type of network is interesting because the hidden units are free to construct
their own representations of the input. The weights between the input and hidden units
determine when each hidden unit is active, and so by modifying these weights, a hidden
unit can choose what it represents.
We also distinguish single-layer and multi-layer architectures. The single-layer
organisation, in which all units are connected to one another, constitutes the most general
case and is of more potential computational power than hierarchically structured multilayer organisations. In multi-layer networks, units are often numbered by layer, instead of
following a global numbering.
4.6 Perceptrons:
The most influential work on neural nets in the 60's went under the heading of
'perceptrons' a term coined by Frank Rosenblatt. The perceptron (figure 4.5) turns out to
be an MCP model ( neuron with weighted inputs ) with some additional, fixed, pre-processing. Units labelled A1, A2, Aj , Ap are called association units and their task is to
extract specific, localised featured from the input images. Perceptrons mimic the basic
41
idea behind the mammalian visual system. They were mainly used in pattern recognition
even though their capabilities extended a lot more.
4.7 Backpropagation
4.7.1 Introduction:
Backpropagation was created by generalizing the Widrow-Hoff learning rule to
multiple-layer networks and nonlinear differentiable transfer functions. Input vectors and
the corresponding target vectors are used to train a network until it can approximate a
function, associate input vectors with specific output vectors, or classify input vectors in
an appropriate way as defined by you. Networks with biases, a sigmoid layer, and a linear
42
output layer are capable of approximating any function with a finite number of
discontinuities.
Standard backpropagation is a gradient descent algorithm, as is the Widrow-Hoff learning
rule, in which the network weights are moved along the negative of the gradient of the
performance function. The term backpropagation refers to the manner in which the
gradient is computed for nonlinear multilayer networks. There are a number of variations
on the basic algorithm that are based on other standard optimization techniques, such as
conjugate gradient and Newton methods. The Neural Network Toolbox implements a
number of these variations. This chapter explains how to use each of these routines and
discusses the advantages and disadvantages of each. Properly trained backpropagation
networks tend to give reasonable answers when presented with inputs that they have
never seen. Typically, a new input leads to an output similar to the correct output for
input vectors used in training that are similar to the new input being presented. This
generalization property makes it possible to train a network on a representative set of
input/target pairs and get good results without training the network on all possible
input/output pairs. There are two features of the Neural Network Toolbox that are
designed to improve network generalization - regularization and early stopping. These
features and their use are discussed later in this chapter. This chapter also discusses
preprocessing and postprocessing techniques, which can improve the efficiency of
network training. Before beginning this chapter you may want to read a basic reference
on backpropagation, such as D.E Rumelhart, G.E. Hinton, R.J. Williams, "Learning
internal representations by error propagation," D. Rumelhart and J. McClelland, editors.
Parallel Data Processing, Vol.1, Chapter 8, the M.I.T. Press, Cambridge, MA 1986 pp.
318-362. This subject is also covered in detail in Chapters 11 and 12 of M.T. Hagan, H.B.
Demuth, M.H. Beale, Neural Network Design, PWS Publishing Company, Boston, MA
1996. The primary objective of this chapter is to explain how to use the backpropagation
training functions in the toolbox to train feedforward neural networks to solve specific
problems. There are generally four steps in the training process: Assemble the training
data Create the network object Train the network Simulate the network response to new
inputs This chapter discusses a number of different training functions, but in using each
function we generally follow these four steps. The next section, Fundamentals, describes
43
the basic feedforward network structure and demonstrates how to create a feedforward
network object. Then the simulation and training of the network objects are presented.
4.7.2 Creating a Network (newff):
The first step in training a feedforward network is to create the network object. The
function newff creates a feedforward network. It requires four inputs and returns the
network object. The first input is an R by 2 matrix of minimum and maximum values for
each of the R elements of the input vector. The second input is an array containing the
sizes of each layer. The third input is a cell array containing the names of the transfer
functions to be used in each layer. The final input contains the name of the training
function to be used. For example, the following command creates a two-layer network.
There is one input vector with two elements. The values for the first element of the input
vector range between -1 and 2, the values of the second element of the input vector range
between 0 and 5. There are three neurons in the first layer and one neuron in the second
(output) layer. The transfer function in the first layer is tan-sigmoid, and the output layer
transfer function is linear. The training function is traingd (which is described in a later
section).
net=newff([-1 2; 0 5],[3,1],{'tansig','purelin'},'traingd');
This command creates the network object and also initializes the weights and biases of
the network; therefore the network is ready for training. There are times when you may
want to reinitialize the weights, or to perform a custom initialization. The next section
explains the details of the initialization process.
4.7.3 Initializing Weights (init).
Before training a feedforward network, the weights and biases must be initialized. The
newff command will automatically initialize the weights, but you may want to reinitialize
them. This can be done with the command init. This function takes a network object as
input and returns a network object with all weights and biases initialized. Here is how a
network is initialized (or reinitialized):
44
net = init(net);
4.7.4 Simulation (sim):
The function sim simulates a network. sim takes the network input p, and the network
object net, and returns the network outputs a. Here is how you can use sim to simulate the
network we created above for a single input vector:
p = [1;2];
a = sim(net,p)
a = -0.1011
(If you try these commands, your output may be different, depending on the state of your
random number generator when the network was initialized.) Below, sim is called to
calculate the outputs for a concurrent set of three input vectors. This is the batch mode
form of simulation, in which all of the input vectors are place in one matrix. This is much
more efficient than presenting the vectors one at a time.
p = [1 3 2;2 4 1];
a=sim(net,p)
a = -0.1011 -0.2308
0.4955
4.7.5 Training:
Once the network weights and biases have been initialized, the network is ready for
training. The network can be trained for function approximation (nonlinear regression),
pattern association, or pattern classification. The training process requires a set of
examples of proper network behavior - network inputs p and target outputs t. During
training the weights and biases of the network are iteratively adjusted to minimize the
network performance function net.performFcn. The default performance function for
feedforward networks is mean square error mse - the average squared error between the
network outputs a and the target outputs t. The remainder of this chapter describes several
different training algorithms for feedforward networks. All of these algorithms use the
gradient of the performance function to determine how to adjust the weights to minimize
performance. The gradient is determined using a technique called backpropagation,
which involves performing computations backwards through the network. The
45
backpropagation computation is derived using the chain rule of calculus and is described
in Chapter 11 of [HDB96]. The basic backpropagation training algorithm, in which the
weights are moved in the direction of the negative gradient, is described in the next
section. Later sections describe more complex algorithms that increase the speed of
convergence.
4.7.6 Levenberg-Marquardt (trainlm):
46
The parameter mem_reduc is used to control the amount of memory used by the
algorithm. It is discussed in the next section.
The parameters show and epoch are set to 5 and 300, respectively.
p = [-1 -1 2 2;0 5 0 5];
t = [-1 -1 1 1];
net=newff(minmax(p),[3,1],{'tansig','purelin'},'trainlm');
net.trainParam.show = 5;
net.trainParam.epochs = 300;
net.trainParam.goal = 1e-5;
[net,tr]=train(net,p,t);
TRAINLM, Epoch 0/300, MSE 2.7808/1e-05, Gradient 7.77931/1e-10
TRAINLM, Epoch 4/300, MSE 3.67935e-08/1e-05, Gradient
0.000808272/1e-10
TRAINLM, Performance goal met.
a = sim(net,p)
a = -1.0000 -1.0000
1.0000
0.9996
47
48
Artificial Neural Networks (ANN) are currently a 'hot' research area in medicine and it is
believed that they will receive extensive application to biomedical systems in the next
few years. At the moment, the research is mostly on modelling parts of the human body
and recognising diseases from various scans (e.g. cardiograms, CAT scans, ultrasonic
scans, etc.).
Neural networks are ideal in recognising diseases using scans since there is no need to
provide a specific algorithm on how to identify the disease. Neural networks learn by
example so the details of how to recognise the disease are not needed. What is needed is a
set of examples that are representative of all the variations of the disease.
The quantity of examples is not as important as the 'quantity'. The examples need to be
selected very carefully if the system is to perform reliably and efficiently.
Modelling and Diagnosing the Cardiovascular System:
Neural Networks are used experimentally to model the human cardiovascular system.
Diagnosis can be achieved by building a model of the cardiovascular system of an
individual and comparing it with the real time physiological measurements taken from
the patient. If this routine is carried out regularly, potential harmful medical conditions
can be detected at an early stage and thus make the process of combating the disease
much easier.
A model of an individual's cardiovascular system must mimic the relationship among
physiological variables (i.e., heart rate, systolic and diastolic blood pressures, and
breathing rate) at different physical activity levels. If a model is adapted to an individual,
then it becomes a model of the physical condition of that individual. The simulator will
have to be able to adapt to the features of any individual without the supervision of an
expert. This calls for a neural network.
Another reason that justifies the use of ANN technology, is the ability of ANNs to
provide sensor fusion which is the combining of values from several different sensors.
Sensor fusion enables the ANNs to learn complex relationships among the individual
49
sensor values, which would otherwise be lost if the values were individually analysed. In
medical modelling and diagnosis, this implies that even though each sensor in a set may
be sensitive only to a specific physiological variable, ANNs are capable of detecting
complex medical conditions by fusing the data from the individual biomedical sensors.
Electronic noses:
ANNs are used experimentally to implement electronic noses. Electronic noses have
several potential applications in telemedicine. Telemedicine is the practice of medicine
over long distances via a communication link. The electronic nose would identify odours
in the remote surgical environment. These identified odours would then be electronically
transmitted to another site where an door generation system would recreate them.
Because the sense of smell can be an important sense to the surgeon, telesmell would
enhancetelepresentsurgery.
Instant Physician:
An application developed in the mid-1980s called the "instant physician" trained
an autoassociative memory neural network to store a large number of medical records,
each of which includes information on symptoms, diagnosis, and treatment for a
particular case. After training, the net can be presented with input consisting of a set of
symptoms. it will then find the full stored pattern that represents the "best" diagnosis and
treatment.
Neural Networks in business
Business is a diverted field with several general areas of specialisation such as accounting
or financial analysis. Almost any neural network application would fit into one business
area or financial analys. There is some potential for using neural networks for business
purposes, including resource allocation and scheduling. There is also a strong potential
for using neural networks for database mining, that is, searching for patterns implicit
within the explicitly stored information in database. Most of the funded work in this area
is classified as proprietary. Thus, it is not possible to report on the full extent of the work
50
going on. Most work is applying neural networks, such as the Hopfield-Tank network for
optimization and scheduling.
Marketing:
There is a marketing application which has been integrated with a neural network
system. The Airline Marketing Tactician (a trademark abbreviated as AMT) is a computer
system made of various intelligent technologies including expert systems. A feedforward
neural network is integrated with the AMT and was trained using back-propagation to
assist the marketing control of airline seat allocations.
The adaptive neural approach was amenable to rule expression. Additionaly, the
application's environment changed rapidly and constantly, which required a continuously
adaptive solution. The system is used to monitor and recommend booking advice for each
departure. Such information has a direct impact on the profitability of an airline and can
provide a technological advantage for users of the system. [Hutchison & Stephens, 1987]
While it is significant that neural networks have been applied to this problem, it is also
important to see that this intelligent technology can be integrated with expert systems and
other approaches to make a functional system. Neural networks were used to discover the
influence of undefined interactions by the various variables. While these interactions
were not defined, they were used by the neural system to develop useful conclusions. It is
also noteworthy to see that neural networks can influence the bottom line.
Credit Evaluation:
The HNC company, founded by Robert Hecht-Nielsen, has developed several neural
network applications. One of them is the Credit Scoring system which increase the
profitability of the existing model up to 27%. The HNC neural systems were also applied
to mortgage screening. A neural network automated mortgage insurance underwritting
system was developed by the Nestor Company. This system was trained with 5048
applications of which 2597 were certified. The data related to property and borrower
qualifications. In a conservative mode the system agreed on the underwritters on 97% of
51
the cases. In the liberal model the system agreed 84% of the cases. This is system run on
an Apollo DN3000 and used 250K memory while processing a case file in approximately
1 sec.
MODELLING
5.1
Consider a space vector Yss of stator voltage, current and flux linkage.
Ys
----------(5.1)
Where = exp (j2/3)
The above transform being reversible
Vs
= Rs Is
+ p s
-----------(5.3)
52
Vr = Rr Ir + p r = 0
---------(5.4)
We found that some of the machine inductances are functions of the rotor speed,
where upon the coefficients of the differential equations which describe the
behavior of these machines are time varying except when the rotor is stalled.
equations
There are several changes of variables which refers machine variables to a frame
of reference which rotates at a n arbitrary angular velocity.
-----------(5.5)
r s = n exp (j) r
-----------(5.6)
Rr =n2Rr
------------(5.7)
Therefore the stator equation with respect to stationary reference frame is:
Vs s = Rs Is s + p s s
---------------(5.8)
0 = Rr Ir s + (p j0) r s
-------------(5.9)
54
s s = Ls Is s + Lm Ir s
r s = Lm Is s + Lr Ir s
where
-----------------(5.10)
----------------(5.11)
Ls = Lls + Lm
---------------------(5.12)
Lr = Llr + Lm
-----------------(5.13)
Vs s = (Rs + Ls p) Is s + Lm p Ir s
0 = (Rr + Lr (p - jo)) Irs + Lm (p j0) Is s
------------(5.14)
---------(5.15)
55
Fig 5.2
Y a = exp (- j a) Y s
-------------------(5.16)
Vs a = (Rs + Ls p) Is a + Lm p Ir a + ja s a
----------(5.17)
0 = (Rr + Lr p) Ir a + Lm p Is a + j (a - o) r a,
--------(5.18)
----------------(5.19)
--------(5.20)
Since
s a = Ls Isa + Lm Ira
--------------------(5.21)
56
r a = Lm Isa + Lr Ir a
------------------(5.22)
Vsa = Rs Is a + ps a + ja s a
--------(5.23)
0 = Rr Ir a + pr a + j (a - o) r a
-------(5.24)
The dynamic model of induction motor is shown in figure below with the help of the
above equations:
Vsa = Rs Is a + ps a + ja s a ------(5.25)
57
Fig 5.3
0 = Rr Ir a + pr a + j (a - o) r a --------(5.26)
Flux current relations:
From the figure 5.2 the flux linkage equations can be written as:
-------(5.27)
--------(5.28)
-----------(5.29)
-----------(5.30)
58
Is = Gss -
Gm r
----------------(5.31)
Ir = -Gm1s + Ggr
---------------(5.32)
Where:
Gs = (Llr + Lm)/K
Gg
-------------(5.33)
Gm = Lm/K
----------(5.34)
Gm1 = Lm/K
--------------(5.35)
= (Lls + Lm)/K
------------(5.36)
59
The control is done using the unit vector signals ( cose and sine)
ds-qs
fixed on stator
dr-qr
de-qe
frequency sl
therefore rotor pole is directed on the de axis and e = r + sl. We can write as:
e = wedt = (r + sl)dt = r + sl
---------------------(5.38)
for decoupling control, the stator flux component I ds should be aligned on the de
axis and torque component of current Iqs should be on qe axis
60
-------(5.39)
------(5.40)
-------------------
(5.41)
---------------(5.42)
------------------(5.43)
61
-----------(5.47)
that is
dqr/dt = 0
--------(5.48)
-------------------(5.49)
= 0-----------(5.50)
---------(5.51)
-----------(5.52)
And
- (Lm/Lr) RrIqs + slr = 0-----------------(5.53)
slr = (Lm/Lr) RrIqs
sl = (LmRr/rLr)Iqs
----------------(5.54)
--------------(5.55)
r = LmIds
-----------------------(5.56)
62
To implement the indirect vector control strategy it sis necessary to take equations
e = r + sl
-------------------(5.57)
--------------(5.58)
------------------(5.59)
the speed control loop generates the torque component of current iqs* as usual
the flux component of current Ids* for the desired rotor flux r is determined
from equation r = LmIds and is maintained constant in open loop manner.
The variation of magnetizing inductance Lm will cause some drift in the flux.
The slip frequency sl* is generated from Iqs* in feedforward manner from
sl = (LmRr/rLr)Iqs
----------------------(5.60)
------------------(5.61)
The unit vector signals cose and sine are then generated from e by integration.
Torque equation:
i q* Cal cul ator
Te = (3/2)(p/2)(LmTe*
/Lr) rIqs
Phir
Iq*
------------------(5.62)
Iq* Calculator
63
1
Te*
u[1]*0.341/(u[2]+1e-3)
1
Iq*
Phir
Lm = 34.7 mH
p= # of poles = 4
id* Calculator
Phir*
Id*
-K-
Phir*
1
Id*
KF
Id* = Phir*/ Lm
Lm= 34.7 mH
Theta calculator
Theta Calculator
Iq
1
Iq
Phir
Mux
theta
34.7e-3*u[1]/(u[2]*0.1557+1e-3)
wm
2
Phir
wsl
1
s
1
theta
wm
Theta= Electrical angle= integ ( wsl + wm)
wsl=slip speed (rad/s) = Lm *Iq / ( Tr * Phir)
wm= Rotor speed (rad/s)
Lm = 34.7 mH
Lr = Ll'r +Lm = 0.8 +34.7= 35.5 mH
Rr= 0.228 ohms
Tr = Lr / Rr = 0.1557 s
64
abc2dq
abc to dq
iabc
theta
idq
f(u)
2
theta
Fcn
2/3
1
idq
1
f(u)
iabc
Fcn1
----------(5.63)
Fcn1 = -u(1)*sin(u(4))-u(2)*sin(u(4)-2*pi/3)-u(3)*sin(u(4)+2*pi/3)
dq2abc
----------(5.64)
idq
dq to abc
theta
iabc^
65
f(u)
Fcn
1
f(u)
idq
1
iabc^
Fcn1
f(u)
2
theta
Fcn2
--------------(5.65)
Fcn1 = u(1)*cos(u(3)-2*pi/3)-u(2)*sin(u(3)-2*pi/3)
--------------(5.66)
Fcn2 = u(1)*cos(u(3)+2*pi/3)-u(2)*sin(u(3)+2*pi/3-----------------(5.67)
Flux calculator
Flux Calculator
Phir
1
Phir
Id
.157s+1
Transfer Fcn
34.7e-3
Lm
1
Id
Rr = 0.228 ohms
66
Id
T heta Calculator
abc2dq
Iq
Phir
iabc
theta
theta
wm
idq
Demux
INVERT ER
iq* Cal culator
2
T e*
Te*
Phir
dq2abc
Ie*
idq
Iq*
theta
iabc^
i d* Calculator
3
Phir*
Id*
Phir*
2
Is
p/2
Wmec
67
Fig-5.13
Vector Control Subsystem
68
controlled. The error signal is formed by subtracting the desired setting of the parameter
to be controlled from the actual measured value of that parameter. The sign of the error
indicates the directionof change required by the control input. The Proportional (P) term
of the controller is formed by multiplying the error signal by a P gain, causing the PI
controller to produce a control response that is a function of the error magnitude. As the
error signal becomes larger, the P term of the controller becomes larger to provide more
correction.
The effect of the P term tends to reduce the overall error as time elapses. However,
the effect of the P term reduces as the error approaches zero. In most systems, the error of
the controlled parameter gets very close to zero but does not converge. The result is a
small remaining steady state error. The Integral (I) term of the controller is used to
eliminate small steady state errors.
The I term calculates a continuous running total of the error signal. Therefore, a small
steady state error accumulates into a large error value over time. This accumulated error
signal is multiplied by an I gain factor and becomes the I output term of the PI controller.
Fig-6.1
PI BASED CONTROLLER
69
Or in time domain
U(t) = Kp [e(t) + (1/ i ) edt]
where
Kp = proportional gain
i = integral time constant
70
corresponds to the steady state value of the output Css. The value of Kp,Ti and Td of the
controllers can then be calculated as below:
Kp=1.2(T/L)
i = 2L
71
Fig-6.4
NN BASED CONTROLLER
72
gensim(net,-1)
Fig 6.5
Simulation Results
#Case 1: No-Load
PI Controller:
Speed(rad/s) Vs Time(s):
73
Speed(rad/s)
Time(s)
Fig 7.1
Torque(N-m) Vs Time(s)
Torque(N-m)
74
Time(s)
Fig 7.2
Current (A) Vs Time(s)
Current (A)
75
Time(s)
Fig 7.3
At No-Load:
NN Controller:
Speed(rad/s) Vs Time(s):
76
Speed(rad/s)
Time(s)
Fig 7.4
Torque(N-m) Vs Time(s)
Torque(N-m)
77
Time(s)
Fig 7.5
Current (A) Vs Time(s)
Current (A)
78
Time(s)
Fig 7.6
#Case 2: Step Change in -Load
PI Controller:
Speed(rad/s)Vs Time(s):
79
Speed(rad/s)
Time(s)
Fig 7.7
Torque(N-m)Vs Time(s)
Torque(N-m)
80
Time(s)
Fig 7.8
Current (A) Vs Time(s)
Current (A)
81
Time(s)
Fig 7.9
At Step Change in Load
NN Controller:
Speed(rad/s)Vs Time(s):
82
Speed(rad/s)
Time(s)
Fig 7.10
Torque(N-m)Vs Time(s)
Torque(N-m)
83
Time(s)
Fig 7.11
Current (A) Vs Time(s)
Current (A)
84
Time(s)
Fig 7.12
85
Speed(rad/s)
Time(s)
Fig 7.13
Torque(N-m)Vs Time(s)
Torque(N-m)
86
Time(s)
Fig 7.14
Current (A) Vs Time(s)
Current (A)
87
Time(s)
Fig 7.15
NN Controller:
Speed(rad/s)Vs Time(s):
Speed(rad/s)
88
Time(s)
Fig 7.16
Torque(N-m)Vs Time(s)
Torque(N-m)
89
Time(s)
Fig 7.17
Current (A) Vs Time(s)
Current (A)
90
Time(s)
Fig 7.18
DISCUSSION OF RESULTS
91
In this chapter the obtained Results are discussed. The dynamic model
induction motor is developed in the SIMULINK, and the Vector controller is interfaced
with it in the SIMULINK.
92
# In real time system it is more uncertain and time varying in its operation either
Neural Networks controller or FUZZY controller can provide prompt control over the
speed or torque output of an induction motor provided that training is rigorous .But
unfortunately the training time is very high for an NN controller or FUZZY controller to
give accurate output.
# Further the of Neuro- Fuzzy design and implementation to avoid the prolong
training time of NN controller.
93
BIBILOGRAPHY
1.C.M.Liaw.Y.S.Kung
inductionmachines
and
M.S.Ouyang
Identification
and
control
of
vol.31.pp.612-619,1995.
2. C.M.Liaw.Y.S.Kung and C.M.Wu Design and implementation of a high performance
field oriented inductionmotor drive.IEEE Trans Ind.Applicat. vol.38.pp.275-282,1991.
3.M.A.Wishart and R.G.Harley Identification and control of
inductionmachines using
94