|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The field of the invention is high performance, electronic, motor drives
for variable speed control of AC induction motors, and more particularly,
motor drives using vector control techniques and speed feedback.
2. Description of the Background Art
Vector control or field-oriented control is one technique used in motor
drives for controlling the speed and torque of AC motors. With this
technique, stator current is resolved into a torque-producing or q-axis
component of current, I.sub.q, and a flux-producing or d-axis component of
current, I.sub.d, where the q-axis leads the d-axis by 90.degree. in phase
angle.
To provide a high performance drive, there are several other requirements.
A speed sensor is required, to obtain speed feedback from the rotor, which
is used in controlling the torque, frequency and slip at which the motor
is operated. Another requirement of prior drives has been a knowledge of
motor parameters such as inductance (L) and resistance (R) of the rotor
and stator. In prior systems, the set up of a drive involved adjustments
based on these parameters for the particular motor being controlled.
While other motor control techniques are known to reduce the number of
motor parameters which must be evaluated, they have not altogether
eliminated this requirement in a high performance drive. The motor
parameters must be obtained from the manufacturer of the motor or
determined through rigorous testing of the motor.
Besides making an initial determination for slip, based on motor
parameters, another requirement has been on-line adaptation to dynamic
changes in motor parameters during operation of the motor. One example of
a dynamic change occurs when the rotor resistance (R.sub.r) changes with
the heating of the motor.
Additional control strategies are required when operating in the constant
horsepower region, above base speed, where it is necessary to (1) weaken
flux to achieve higher speeds and (2) maintain the vector control
relationship of the d-axis and q-axis components of flux produced in the
motor.
SUMMARY OF THE INVENTION
The invention relates to a motor drive which controls slip of an induction
motor without prior knowledge of machine parameters. This allows the drive
to be used with a variety of motors without the set up for machine
parameters that would otherwise be required.
In a broad aspect of the invention, where slip is controlled as a dynamic
and non-linear function of motor operation, a slip frequency command is
modified in response to feedback representative of stator voltage, so that
both stator voltage and stator current are sensed by the motor control.
In a more specific aspect of the invention, a slip gain multiplier,
K.sub.s, is regulated in response to a voltage error determined as a
difference between the command for the d-axis component of stator voltage
(V*.sub.d) and feedback representative of the d-axis component of actual
stator voltage (V.sub.d). The error in the d-axis voltage is an indicator
of the loss of field orientation, and may be exhibited in torque
oscillations as the motor is operated above base speed. These oscillations
result from an indication of undesirable coupling of the d-axis rotor flux
and q-axis torque commands. By modifying slip in response to such errors,
field orientation or vector control can be maintained. This method is
applied in the constant horsepower range, at speeds above base speed, by
sensing the d-axis component of actual stator voltage (V.sub.d) at base
speed, and using this voltage as the command (V*.sub.d) for operation of
the motor above base speed. Any error in the d-axis voltage is then used
to modify the slip gain (K.sub.s) until the error is nulled.
In another more specific aspect of the invention, flux-weakening can be
achieved in the constant horsepower range in an analogous fashion, by
measuring the q-axis component of actual stator voltage (V.sub.q) at base
speed, and using this voltage as the command (V.sub.q *) for operation of
the motor above base speed. Flux is weakened by controlling a command for
the d-axis stator current (I*.sub.d) in response to an error between the
command (V*.sub.q) for operation of the motor above base speed and the
voltage feedback (V.sub.q) sensed for the q-axis component above base
speed.
Other objects and advantages, besides those discussed above, shall be
apparent to those familiar with the art from the description of the
preferred embodiments which follows. In the description, reference is made
to the accompanying drawings, which form a part hereof, and which
illustrate examples of the invention. Such examples, however, are not
exhaustive of the various embodiments of the invention, and therefore
reference is made to the claims which follow the description for
determining the scope of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a motor drive for carrying out the invention;
FIG. 2 is a more detailed block diagram of a portion of FIG. 1 for a first
embodiment;
FIG. 3 is a flow chart of a subroutine represented in FIG. 2;
FIG. 4 is a more detailed block diagram of a portion of FIG. 1 for a second
embodiment;
FIGS. 5 and 6 are more detailed block diagrams for elements in FIG. 4; and
FIG. 7 is a graph showing operation of a motor in the constant torque and
constant horsepower regions.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 illustrates a current-regulated pulse width modulation (CRPWM) motor
control for an AC induction motor 10. The motor control (also called a
"drive") includes a power section that receives power at a line frequency
of 60 Hz from a 3-phase AC power source 11. The three phases of the power
source are connected to an AC-DC power converter 12 in the power section
of the drive. The AC-DC power converter 12 rectifies the alternating
current signals from the AC source 11 to produce a DC voltage (VDC) on a
DC bus 13 that connects to power inputs on the pulse width modulation
(PWM) voltage inverter 14, which completes the power section of the drive.
The AC source 11, the AC-DC power converter 12, and DC bus 13 provide a DC
source for generating a DC voltage of constant magnitude. The PWM inverter
14 includes a group of switching elements which are turned on and off to
convert this DC voltage to pulses of constant magnitude.
The pulse train pattern from a PWM inverter is characterized by a first set
of positive-going pulses of constant magnitude but of varying pulse width
followed by a second set of negative-going pulses of constant magnitude
and of varying pulse width. The RMS value of this pulse train pattern
approximates one cycle of a sinusoidal AC waveform. The pattern is
repeated to generate additional cycles of the AC waveform.
To control the frequency and magnitude of the resultant AC power signals to
the motor, AC inverter control signals are applied to the PWM inverter.
The PWM voltage inverter 14 receives three balanced AC inverter control
signals, V*.sub.as, V*.sub.bs and V*.sub.cs which vary in phase by
120.degree., and the magnitude and the frequency of these signals
determines the pulse widths and the number of the pulses in pulse trains
V.sub.as, V.sub.bs and V.sub.cs which are applied to the terminals of the
motor. The asterisk in the first set of signals denotes a "command"
signal. The "s" subscript in both sets of signals denotes that these
signals are referred to the stationary reference frame. The voltages
V.sub.as, V.sub.bs and V.sub.cs are phase voltage signals incorporated in
the line-to-line voltages observed across the stator terminals.
The AC inverter control signals, V*.sub.as, V*.sub.bs and V*.sub.cs result
from a 2-phase to 3-phase conversion which is accomplished with a 2-to-3
phase converter 15. The input signals V.sub.qs and V.sub.ds are sinusoidal
AC voltage command signals having a control signal magnitude and a
frequency. These signals are related to a stationary d-q reference frame
in which torque-controlling electrical parameters are related to a q-axis
and flux-controlling electrical parameters are related to a d-axis. The
q-axis leads the d-axis by 90.degree. in phase difference.
Phase currents I.sub.as, I.sub.bs and I.sub.cs flowing through the stator
terminals are sensed, using current sensing devices (not shown) of a type
known in the art. These signals are fed back to a 3-to-2 phase converter
17 for converting these signals to feedback signals I.sub.q Fbk and
I.sub.d Fbk related to the stationary d-q frame of reference.
The AC voltage control signals V.sub.qs and V.sub.ds are output signals
from a synchronous current regulator 16. The details of this circuit 16
have been previously shown and described in Kerkman et al., U.S. Pat. No.
4,680,695 issued July 14, 1987. The synchronous current regulator 16
includes a proportional-integral loop (PI loop) with summing inputs. At
one summing input, an AC current command signal for the q-axis, I*.sub.qs,
is algebraically summed with an I.sub.q Fbk signal to provide a current
error for the q-axis. At a second summing input, an AC current command
signal for the d-axis, I*.sub.ds, is algebraically summed with an I.sub.d
Fbk signal to provide a current error for the d-axis. The electrical
operating frequency in radians (.omega.*.sub.e) is also an input signal to
both the q-axis and d-axis branches of the circuit. With these input
signals, the synchronous current regulator 16 controls the AC voltage
command signals V.sub.qs and V.sub.ds at its outputs in response to
current error, and further, it maintains the vector orientation of the
output signals to the d-axis and the q-axis.
Voltage changes at the stator terminals cause a change in voltages V.sub.qs
and V.sub.ds at the outputs of the synchronous current regulator 16 as
disclosed in a copending application of Rowan et al. Ser. No. 504,110,
filed Apr. 3, 1990, which is assigned to the assignee of the present
invention. A change in voltage at the motor terminals is reflected back to
the outputs of the current regulator 16. Sensing voltages V.sub.qs and
V.sub.ds instead of stator terminal voltages V.sub.as, V.sub.bs and
V.sub.cs provides signals with less harmonic content and provides
control-level signals as opposed to motor power-level signals. The voltage
feedback quantities V.sub.q Fbk and V.sub.d Fbk are converted from analog
signals to digital data (V.sub.qs Fbk, V.sub.ds Fbk) by A-to-D converters
20.
Thus far, the description has related to elements which known in the art.
The invention involves the organization of two controller elements, a
field-oriented controller 18 and a slip identifier/controller 21. These
two controllers can be embodied in a microelectronic processor operating
in response to a stored program. A preferred form of this microelectronic
processor is the Model 8096 offered by Intel Corporation of Santa Clara,
Calif. The A-to-D converters 20 are incorporated in this circuit.
The basic functions of the field-oriented controller 18 are to respond to
the speed feedback .omega..sub.r to control an AC torque command I*.sub.qs
and also to provide the AC flux control command I*.sub.ds and the stator
operating frequency command .omega.*.sub.e to the current regulator 16.
The field-oriented controller 18 receives speed feedback .omega..sub.r from
the rotor in the form of digitized position data. A resolver 22 is coupled
to the rotor of the motor 10. As the rotor rotates, signals are generated
from the resolver 22 to a resolver-to-digital conversion circuit 23 which
transmits the digital position data to the field-oriented controller 18.
The field-oriented controller 18 receives a velocity command
.omega.*.sub.r at a user input 25.
The field-oriented controller 18 generates digital values for I*.sub.qs or
I*.sub.ds which are instantaneous values of AC signals in the form of I*
cos .theta..sub.e and -I* sin .theta..sub.e, respectively. The series of
digital values follows the functions I* cos .omega..sub.e t and -I* sin
.omega..sub.e t. These values are inputs to MDAC circuits 19, where the
values are multiplied by V.sub.REF to arrive at the proper signal level
for input to the synchronous current regulator 16. A commercial version of
this circuit is the AD 7524 multiplying digital-to-analog converter
offered by Analog Devices, Norwood, Mass. The signals resulting from the
conversion through MDAC circuits 19 are designated I*.sub.qs and I*.sub.ds
and are AC input signals to the synchronous current regulator 16.
The slip identifier/controller 21 generates a DC flux current command
I*.sub.de in the synchronous d-q frame of reference and also generates a
slip angular frequency command .omega..sub.s. These take the form of data
which are inputs to the field-oriented controller 18. The slip
identifier/controller 21 generates the slip angular frequency command
.omega..sub.s as an output of a control loop which receives voltage
feedback quantities V.sub.q Fbk and V.sub.d Fbk. The voltage feedback is
compared to one or more voltage commands for the motor to determine a
voltage difference, and it is this voltage difference that controls the
slip angular frequency command .omega..sub.s.
In a first embodiment, which is useful at speeds below base speed, a
voltage magnitude controller is provided in which a voltage command V* is
a single command of a certain magnitude, and in which the voltage feedback
is resolved into a single value, V.sub.MAG, of a certain magnitude for
comparison with the voltage command, V*.
In a second embodiment, which is advantageous at speeds above base speed,
the voltage commands are resolved into q-axis and d-axis components for
comparison with the voltage feedback for the respective axes. In the
second embodiment, the voltage controller for the d-axis controls slip by
controlling .omega..sub.s, and the voltage controller for the q-axis
controls the flux current command I*.sub.de.
FIG. 7 is a graph showing the two regions of operation of a typical AC
induction motor. The two regions are divided by the speed threshold known
as "base speed".
With the exception of startup operation, constant torque and steady-state
nominal flux are produced when the motor is operated between zero speed
and base speed. Horsepower is the product of torque and speed. Horsepower
is increased until it reaches a rated horsepower at base speed.
Thereafter, further increases in speed require that flux be reduced or
weakened, and horsepower is not increased. The range of operation above
base speed is referred to as the constant horsepower range of operation
and may extend up to a speed four times higher than base speed. In the
example in FIG. 7, flux at two times base speed is reduced to about 50% of
rated or nominal flux for the motor.
Referring to FIG. 2, the slip identifier/controller 21 and the
field-oriented controller 18 for the first embodiment are shown. The
microprocessor executes a program 30 stored in nonvolatile memory to
control slip. In executing this program the microprocessor utilizes a
random access memory (RAM) (not shown) to store data and temporary
results. The voltage feedback quantities V.sub.q Fbk and V.sub.d Fbk are
transformed from the stationary (AC) reference frame to V.sub.qe Fbk and
V.sub.de Fbk quantities in the synchronous (DC) reference frame by
executing a stationary-to-synchronous transformation of a type known in
the art and represented by block 31. These voltage feedback quantities
V.sub.qe Fbk and V.sub.de Fbk become inputs to routines in a main portion
30 of a microelectronic processing program.
The voltage command V* may be the nominal or nameplate voltage for the
motor, or it may be a function of the V/Hz input multiplied by an
operating frequency command .omega.*.sub.e. For the second alternative,
the microprocessor calculates the motor voltage command value V* in
response to a voltage/hertz ratio according to the following equation:
V*=.omega.*.sub.e (t)/2.pi..times.(V/Hz) (1)
where (V/Hz) is the volts/hertz ratio.
The voltage/hertz ratio is set to a predetermined ratio by connecting a
jumper wire on an input interface 25 represented in FIG. 2, so that an
input signal is read by the microelectronic processor that acts as the
slip identifier/controller 21.
The voltage command V* and the voltage feedback magnitude V.sub.MAG are
inputs to a slip controller portion of the program represented by block 32
in FIG. 2 and shown in more detail in FIG. 3.
Referring to FIG. 3, a main loop 40 in the CPU program 30 includes a block
of instructions 42 to read the voltage feedback quantities V.sub.qs Fbk
and V.sub.ds Fbk from the A-to-D converters 20 and to calculate V.sub.MAG.
The calculation involves squaring the magnitudes of the feedback
quantities, summing the squares and taking the square root of this sum.
As represented by the "time out" decision block 43 in FIG. 3, an interrupt
routine is executed every 500 microseconds to see if the slip command
(.omega..sub.s)needs adjustment. The program then branches to an interrupt
subroutine starting with process block 44, which represents getting the
calculated value for V.sub.MAG.
Next, as represented by decision block 45, a check is made to see if the
slip routine has been requested. If not, the program loops and monitors
V.sub.MAG. Is the answer is "YES", then a check is made, as represented by
decision block 46, to see if V.sub.MAG =V*. If the answer is "YES", no
adjustment in slip is necessary and the microprocessor will loop back to
monitor V.sub.MAG. If V.sub.MAG is not equal to V*, then a check is made,
as represented by decision block 47, to see if V.sub.MAG >V*. If the
answer is "YES", then the slip multiplier K.sub.s is incremented, as
represented by process block 48, and an "increment slip" counter is
incremented by one, as represented by process block 49. Slip is increased
to lower the stator terminal voltage and maintain vector control. If the
answer is "NO" in block 47, then V.sub.MAG <V*, by virtue of the previous
check in block 46. The slip multiplier K.sub.s is decremented, as
represented by process block 50, and a decrement slip counter is
incremented by one, as represented by process block 51. Slip is decreased
to raise the stator terminal voltage and maintain vector control.
After one of these two paths is taken, a check is made as represented by
decision block 52 to see if the loop counter for either the "increment
slip" or "decrement slip" loop has exceeded N counts. This is necessary to
be sure that the signals are sampled over some number of electrical cycles
or definite time period. Assuming the necessary time has elapsed, the slip
multiplier is permanently changed by adding it to the old slip multiplier
and dividing by two to average the two values, as represented by process
block 53. The loop counters are reset. Then, as represented by return
block 54, a return from the interrupt routine is executed.
The slip multiplier K.sub.s is then multiplied by the torque current
command I*.sub.qe to generate the slip frequency command .omega..sub.s
according to the following relationship:
.omega..sub.s =K.sub.s (I*.sub.qe) (2)
where Ks is a lumped constant
##EQU1##
where R.sub.r is the resistance of the rotor,
where L.sub.m is the magnetizing inductance,
where L.sub.r is the inductance of the rotor, and
where .gamma..sub.dr is the rotor d-axis flux.
By adjusting K.sub.s as function of stator voltage changes, the need to
measure the above motor parameters is eliminated.
As seen in FIG. 2, the slip frequency command .omega..sub.s from the slip
controller 32 is then algebraically summed with the rotor angular
frequency feedback .omega..sub.r from input 27 to arrive at the stator
operating frequency command .omega.*.sub.e, which is then transmitted to
an input on the synchronous current regulator 16 in FIG. 1.
The feedback quantity V.sub.qe Fbk can be compared to a DC command
V*.sub.qe to provide a voltage error to control a DC flux current command
I*.sub.de. The DC torque current command I*.sub.qe is a result of a
conventional speed-torque control loop in which the speed command
.omega.*.sub.r at user input 24 is algebraically summed at junction 26
with speed feedback .omega..sub.r at input 27. The difference is an input
to a PI control loop algorithm 29. The resulting DC torque command
I*.sub.qe, which is related to the synchronous d-q reference frame, is
then transformed to an AC command I*.sub.qs in the stationary d-q
reference frame by performing the transformation represented by process
block 28. This transformation is well known in the art and is described in
Bose, "Adjustable Speed AC Drive Systems", IEEE Press, 1980, p. 14. It
should be noted that all electrical parameters in the present description
relate to the stator of the motor unless a rotor parameter is noted.
If the stator angular frequency corresponding to base speed is designated
".omega..sub.b ", then the voltage magnitude embodiment of FIGS. 2 and 3
is suitable for stator operating frequencies .omega.*.sub.e
<.omega..sub.b. At frequencies corresponding to rotor speeds above base
speed, where .omega.*.sub.e >.omega..sub.b, a second embodiment becomes
more effective.
The second embodiment is shown in FIGS. 4-6. The digitized feedback values
V.sub.q Fbk and V.sub.d Fbk are transformed from the stationary d-q
reference frame to the synchronous d-q reference frame through the
transformation represented by process block 31. The feedback value
V.sub.qe Fbk is fed to flux control loop 33 to control a DC flux current
command I*.sub.de. This command is transformed to a digital AC current
command I*.sub.ds for the d-axis in the stationary d-q reference frame by
performing the transformation represented by process block 28.
The feedback value V.sub.de Fbk is fed to slip control loop 34 to control a
stator operating frequency command .omega..sub.s. The speed command
.omega.*.sub.r is compared to the speed feedback .omega..sub.r and a PI
control loop algorithm 29 is applied to the error to control a DC torque
current command I*.sub.qe. The command I*.sub.qe is an input to the slip
control loop circuit 34. I*.sub.qe is also transformed to a digital AC
command I*.sub.qs for the q-axis in the stationary d-q reference frame by
performing the transformation represented by process block 28.
The digitized vector control commands I*.sub.qs and I*.sub.ds are converted
to analog vector control commands by the MDAC's 19 in FIG. 1, as discussed
previously.
Referring to FIG. 5, the details of the slip control loop show that the
command I*.sub.qe is an input to a function block 60 along with
.omega.*.sub.e.
This block 60 represents the calculation of a d-axis voltage command
V*.sub.de according to the following approximation in which several
omitted terms on the right hand side are considered negligible when
operating above base speed:
V*.sub.de .apprxeq.-(.omega.*.sub.e).sigma.(I*.sub.qe) (3)
where .sigma. is a lumped constant
##EQU2##
where L.sub.s is the inductance of the stator,
where L.sub.m is the magnetizing inductance, and
where L.sub.r is the inductance of the rotor.
The d-axis voltage command V*.sub.de is then algebraically summed with the
d-axis voltage | | |