Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.
CA 02790645 2012-09-21
METHOD AND APPARATUS FOR IMPROVING OUTPUT OF A MULTI-WINDING MOTOR
Field of the Invention
[0001] The present invention relates in general to multi-winding brushless
motors, and in
particular to a controller for a multi-winding brushless motor that, in
operation, detects a failure
mode on at least one winding at an instant, and dynamically redistributes the
drive currents of
the other windings in order for continuous accurate torque production.
Background of the Invention
[0002] Multi-winding brushless motors are commonly used as the drives of
servo systems in a
wide range of industrial applications from robotics and automation to
aerospace and military.
Accurate and ripple-free torque control of brushless motors is essential for
precision control of
such servo systems, and to avoid vibration in other applications.
[0003] In multi-winding brushless motors, electric power is distributed by
an electronic
controller (electronically controlled commutation system) to a plurality of
windings, each delivering
power to the motor during a respective phase (range of angular positions), of
the motor.
Conventional electronic controllers incorporate feedback from the rotor
angular position. These
are typically analog feedback circuits, although digital controllers are
increasingly being used for
flexibility and simplified control depending on operating requirements.
[0004] The basic function of the controller is to independently excite the
windings of the motor
to rotate the magnetic field generated by the windings, to rotate the rotor.
Thus the controller is
coupled by respective drive circuits to the windings. While most multi-winding
brushless motors
incorporate the windings in the stator, it is possible, though usually
inconvenient, to locate
windings in the rotor, and its logically possible to include windings on both
the stator and rotor.
The multi-winding brushless motors may divided into AC and DC motors, where
the power input is
characterized, or by a mechanism for imparting motion given the magneto-motive
field (e.g. a
1
CA 02790645 2012-09-21
permanent magnet, a reluctance-based material, inductive coil). Electrically
commutated,
multi-winding, motors, such as brushless DC motors, including permanent magnet
synchronous
motors, switched reluctance motors, and induction motors, require such a
controller.
[0005] Conventional controllers excite respective windings with
approximately sinusoidal
current waveforms for smooth motor operation. However, non-ideal motors do not
generate a
perfectly sinusoidally distributed magneto-motive force from a sinusoidal
current waveform
excitation, and so a sinusoidal excitation applied to a non-idea motor can
result in torque ripple.
Torque ripple, a well known problem in the art, is a cyclic variation in the
torque output of a motor.
[0006] It is well known that suppressing the torque ripple of the motor
drive of a servo system
can significantly improve system performance by reducing speed
fluctuations[1,2]. Commercial
high-performance electric motors reduce the pulsating torque by increasing a
number of motor
poles. However, such motors tend to be expensive, heavy, and bulky due to
construction and
assembly of multiple windings, rotor poles, the attendant drive circuits, etc.
[0007] Control approaches for accurate torque production in electric motors
and their
underlying models have been studied by several researchers [1-14]. It was
assumed in these
works that the currents applied to the drive circuits (i.e. drive currents)
can be controlled ac-
curately and instantaneously, so the currents were treated as the control
inputs. Then, the
waveforms of the drive currents were pre-shaped so that the generated torque
is equal to the
requested torque. However, when the drive circuits have current and voltage
limits, some of
them may not be able to deliver the drive currents dictated by the controller,
for example, when
the motor operates at high torque or speed, or when a winding fails.
Consequently, the motor's
torque production may significantly deteriorate as a result of the distortions
of the drive current
caused by the voltage or current saturation of the amplifiers.
[0008] Flux weakening is a known technique that allows a machine to operate
above the
rated speed in a constant-torque high-speed region, when there is a fixed
inverter voltage and
2
CA 02790645 2016-08-24
current [15]. Below the rated speed, all of the drive currents can be used to
produce torque.
Above the rated speed, a part of the drive current must be used to oppose the
permanent magnet
flux while the remaining portion is used to produce torque. Several authors
have addressed flux
weakening in permanent magnet synchronous motors [16-19]. However, these
techniques can
deal with electric motors with prefect sinusoidal back-emf waveforms, and
current limits are not
taken into account.
[0009]
Accordingly there is a need for a technique for controlling drive circuits of
multi-winding
brushless motors that improves operation in the event of a failure mode, and
for multi-winding
brushless motors with improved accuracy of torque output.
Summary of the Invention
[0010]
Applicant has conceived of a novel technique for controlling drive circuits of
multi-winding brushless motors, using sensors for sensing when the motor is in
a failure mode,
and, when a winding is found to be in a failure mode at an angular position of
the rotor, for
distributing a torque to other windings that are not in a failure mode at the
same time, so that the
torque output is increased at the moment when the winding failed. The failure
mode may be an
instantaneous failure of the winding. The failure may be complete, in that it
results in no torque
generation from that winding, or partial, in that some torque is generated by
the winding, but not
as much as the drive current was expected to generate. Some failure modes are
monitored in
accordance with the art, having regard to back-emf voltage, whereas others may
require
additional sensors. In a preferred embodiment of the present invention, one
such sensor is an
angular velocity sensor, which may be derived from known angular position
sensors, or
tachometers.
[0010a]
According to one aspect, there is provided a method for controlling drive
currents
to respective windings of a multi-winding brushless motor, the method
comprising: monitoring an
output of the motor and a demand of the motor; determining whether a failure
mode has occurred,
3
CA 02790645 2016-08-24
the failure mode being an instantaneous failure to generate demand, the
failure mode being one
of: a complete failure of a winding, a voltage saturation, and a current
saturation; and, upon
detection of a failure mode on a first winding, reshaping the drive currents
to the respective
windings, to redistribute a demand contribution that is not being produced by
the first winding to
one or more of the windings that are not in a failure mode.
[0010b] According to one aspect, there is provided a controller for
controlling drive currents
to respective windings of a multi-winding brushless motor, the controller
comprising:
communications links for receiving a sensed output of the motor and a demand
of the motor, the
communication link for the demand coupling the controller with a servomotor;
communications
links for controlling a plurality of drive circuits to excite the drive
currents in the respective
windings; wherein the controller is adapted to: determine whether a failure
mode has occurred,
the failure mode being an instantaneous complete or partial failure to
generate the demand; and,
upon detection of a failure mode on a first winding, reshaping the drive
currents to the respective
windings, to redistribute a demand contribution that is not being produced by
the first winding to
one or more of the windings that are not in a failure mode.
[0010c] According to one aspect, there is provided a method for
controlling drive currents
to respective windings of a multi-winding brushless motor, the method
comprising: monitoring an
output of the motor and a demand of the motor; determining whether one of a
plurality of failure
modes that can be detected has occurred, the failure mode being an
instantaneous complete or
partial failure to generate demand; and, upon detection of one of the
plurality of failure modes on
a first winding, reshaping the drive currents to the respective windings, to
redistribute a demand
contribution that is not being produced by the first winding to one or more of
the windings that are
not in a failure mode, where each failure mode is identified with a different
respective
redistribution of demand.
3a
CA 02790645 2016-08-24
[0010d] According to one aspect, there is provided a method for
controlling drive currents
to respective windings of a multi-winding brushless motor, the method
comprising: monitoring an
output of the motor and a demand of the motor; determining whether a failure
mode has occurred,
the failure mode being an instantaneous complete or partial failure to
generate demand; and,
upon detection of a failure mode on a first winding, reshaping the drive
currents to the respective
windings, to redistribute a demand contribution that is not being produced by
the first winding to
one or more of the windings that are not in a failure mode, by performing a
prescribed process to
compute difference functions for drive currents applied at each drive circuit.
[0010e] According to one aspect, there is provided a method for
controlling drive currents
to respective windings of a multi-winding brushless motor, the method
comprising: monitoring an
output of the motor and a demand of the motor; determining whether a failure
mode has occurred
using output of a sensor, the failure mode being an instantaneous complete or
partial failure to
generate demand; and, upon detection of a failure mode on a first winding,
reshaping the drive
currents to the respective windings, to redistribute a demand contribution
that is not being
produced by the first winding to one or more of the windings that are not in a
failure mode.
[0010f] According to one aspect, there is provided a controller for
controlling drive currents
to respective windings of a multi-winding brushless motor, the controller
comprising:
communications links for receiving a sensed output of the motor and a demand
of the motor;
communications links for controlling a plurality of drive circuits to excite
the drive currents in the
respective windings; wherein the controller is adapted to: determine whether a
failure mode has
occurred, the failure mode being an instantaneous failure to generate the
demand, the failure
mode being one of a complete failure of a winding, a voltage saturation, or a
current saturation;
and, upon detection of a failure mode on a first winding, reshaping the drive
currents to the
respective windings, to redistribute a demand contribution that is not being
produced by the first
winding to one or more of the windings that are not in a failure mode.
3b
CA 02790645 2016-08-24
[0010g]
According to one aspect, there is provided a controller for controlling drive
currents
to respective windings of a multi-winding brushless motor, the controller
comprising:
communications links for receiving a sensed output of the motor and a demand
of the motor;
communications links for controlling a plurality of drive circuits to excite
the drive currents in the
respective windings; wherein the controller is adapted to: determine whether
one of a plurality of
failure modes that can be detected has occurred, the failure mode being an
instantaneous
complete or partial failure to generate the demand; and, upon detection of one
of the plurality of
failure modes on a first winding, reshaping the drive currents to the
respective windings, to
redistribute a demand contribution that is not being produced by the first
winding to one or more of
the windings that are not in a failure mode, where the controller is further
adapted to identify a
different respective redistribution of demand, or method of redistributing the
demand, for each of
the plurality of failure modes.
[0010h]
According to one aspect, there is provided a controller for controlling drive
currents
to respective windings of a multi-winding brushless motor, the controller
comprising:
communications links for receiving a sensed output of the motor and a demand
of the motor;
communications links for controlling a plurality of drive circuits to excite
the drive currents in the
respective windings; wherein the controller is adapted to: determine whether a
failure mode has
occurred from output of a sensor, the failure mode being an instantaneous
complete or partial
failure to generate the demand; and, upon detection of a failure mode on a
first winding, reshaping
the drive currents to the respective windings, to redistribute a demand
contribution that is not
being produced by the first winding to one or more of the windings that are
not in a failure mode.
[0011]
Accordingly, a method is provided for controlling drive currents to respective
windings
of a multi-winding brushless motor. The method comprises: monitoring an output
of the motor
and a demand of the motor; determining whether a failure mode has occurred,
the failure mode
3c
CA 02790645 2012-09-21
being an instantaneous complete or partial failure to generate demanded
output; and, upon
detection of a failure mode on a first winding, redistributing a demand
contribution that is not being
produced by the first winding to one or more of the windings that are not in a
failure mode. The
output and demand may be torque or angular velocity. The monitoring of the
output may be
performed with feedback from a closed feedback loop between the drive circuits
and a sensor on
the motor output. The failure mode may be determined from comparison of demand
and output,
or from output of a sensor. The failure mode may be a complete failure of a
winding, or a partial
failure of a winding. There may be a plurality of failure modes that can be
detected, and each
failure mode may be identified with a different respective redistribution of
demand, or method of
redistributing the demand. The redistributing of the demand contribution that
is not being
produced may involve performing a prescribed process to compute difference
functions for drive
currents applied at each drive circuit.
[0012] The method may further comprise a prior, off-line step of computing
the prescribed
process using a model of the motor.
[0013] Also accordingly, a controller is provided for controlling drive
currents to respective
windings of a multi-winding brushless motor. The controller comprises
communications links for
receiving a sensed output of the motor and a demand of the motor;
communications links for
controlling a plurality of drive circuits to excite the drive currents in the
respective windings; and a
processor adapted to: determine whether a failure mode has occurred, the
failure mode being an
instantaneous complete or partial failure to generate demanded output; and,
upon detection of a
failure mode on a first winding, redistributing a demand contribution that is
not being produced by
the first winding to one or more of the windings that are not in a failure
mode.
[0014] The sensed output and demand may be either torque or angular
velocity. The
sensed output may be feedback from a closed feedback loop between the drive
circuits and a
sensor on the motor output. The communication link for the demand may be
coupled to a
4
CA 02790645 2012-09-21
servomotor. The failure mode may be determined from comparison of demand and
output or
from output of a sensor. The failure mode may be a complete failure of a
winding, or a partial
failure of a winding. The failure mode may be one of a plurality of failure
modes that can be
detected, and the controller may further be adapted to identify a different
respective redistribution
of demand or a method of redistributing the demand, for each failure mode. The
controller may
comprise program instructions for executing a prescribed process to compute
difference functions
for drive currents applied at each drive circuit to redistribute the demand
contribution that is not
being produced. The prescribed process may involve solving a model of the
motor for a set of
current conditions.
[0015] Also accordingly, a kit is provided, the kit comprising a
multiwinding brushless motor
and instructions for operating the motor, wherein the instructions rate one of
the motor torque and
the motor angular velocity above a torque or angular velocity that can be
achieved with excitation
of drive currents on each winding at saturation.
[0016] Further features of the invention will be described or will become
apparent in the
course of the following detailed description.
Brief Description of the Drawings
[0017] In order that the invention may be more clearly understood,
embodiments thereof will
now be described in detail by way of example, with reference to the
accompanying drawings, in
which:
FIG. 1 is a schematic illustration of a controller for a multi-winding
brushless motor showing
principal components and inputs;
FIG. 2 is a piecewise linear function of a Lagrangian multiplier, which is a
general form of an
optimal solution to control in the event of current or voltage saturation;
FIG. 3 is a schematic illustration of a controller arrangement in accordance
with the example;
FIGs. 4a,b,c are plots of back-emf waveform, and cogging torque as a function
of angle for an
CA 02790645 2012-09-21
assembled controller, and at table of harmonics characterizing an assembled
motor;
FIGs. 5a,b,c are plots of phase offset, gain and virtual torque computed for
the assembled motor,
providing novel functions for effecting the controller arrangement of FIG. 3;
FIGs. 6a,b,c are plots of drive currents, terminal voltage, and torque output
offset of the
assembled control system, the latter having a constrained and non-constrained
plots for
comparison, in the condition of a voltage saturation;
FIGs. 7a,b,c are plots of drive currents, terminal voltage, and torque output
offset of the
assembled control system, the latter having a constrained and non-constrained
plots for
comparison, in the condition of a current saturation;
FIG. 8 is a plot of operational ranges of the assembled motor with and without
the constrained
optimization showing extended range in accordance with the present invention;
and
FIGs. 9a,b,c are plots of drive currents, terminal voltage, and torque output
offset of the
assembled control system, the latter having a constrained and non-constrained
plots for
comparison, in the condition of a current saturation.
Description of Preferred Embodiments
[0018] A technique is provided for improving control of demand current to a
multiwinding
brushless motor, such as a servomotor.
[0019] A method in accordance with an embodiment of the present invention
involves
providing a multiwinding brushless motor with sensors for determining one or
more failure modes,
and a controller adapted to, upon detection of a failure mode on one winding,
redistribute motor
demand resulting from the failure mode, to one or more of the windings that
are not in a failure
mode. This may involve monitoring an output of the motor and a demand of the
motor. The
output and demand may be torque or velocity output and demand, and may be
derived from an
operating parameter of a mechanical system incorporating the motor. One
example of such a
6
CA 02790645 2012-09-21
parameter is a degree of extension of a ballscrew or leadscrew driven by the
motor, with or
without monitoring of a force opposing the ballscrew or leadscrew.
[0020] It is conventional for servocontrollers to output demand in terms of
velocity and/or
torque, and control via downstream parameters requires a high level of
integration of the systems,
which is practical in some highly engineered systems. More frequently a
controller of the motor
receives demand signals from a higher level controller, such as a
servocontroller, which monitors
and generates demand from downstream parameters.
[0021] FIG. 1 is a schematic illustration of parts of a multi-winding
brushless motor
controller 10 coupled to a set of drive circuits 12, each of which being
coupled to a respective
winding 14. This controller 10 would typically consist of a digital signal
processor (DSP),
although, for various reasons, it can be an assembly of analog and/or digital
components, or may
be a part of a computer. The motor has a plurality of windings 14, typically 3
or more, each of
which being controlled by a respective drive circuit 12 to generate a magneto-
motive force in a
manifold (not shown). The controller 10 controls delivery of drive currents 16
from each drive
circuit 12 to excite the respective winding 14. The drive currents 16 are
timed with a motor
output (not in view), which is monitored by a sensor 18, that is communicated
to the controller 10
via a link 20. The controller 10 receives a demand over a link 22, which
interconnects the
controller 10 with an electronic device (ED), which may be of a wide variety
of user interfaces,
autonomous programs of control equipment, sensors, or the like. In some
embodiments, ED is a
servocontroller.
[0022] The windings 14 may be arrayed on the motor output, a stator of the
motor (which is
more conventional), and possibly on both, and the magneto-motive force
produced by the
windings 14 may act on permanent magnets, electromagnets, induction coils, or
variable
reluctance materials such as soft metals, which may be in the stator or rotor.
Today most of the
multi-winding brushless motors are of permanent magnet, induction, or variable
reluctance types.
7
CA 02790645 2012-09-21
[0023] The motor may be a rotary motor, with an actuated output in the form
of a rotor having
a plurality of poles, or it may be a linear motor having a plurality of
windings and poles in stator
and reciprocating parts. While the layout of the motor windings and poles are
different for linear
vs. rotary motors, and the output is linearly actuated instead of azimuthally,
but the same
principles apply mutatis mutandis.
[0024] Typically, but not necessarily, the sensor 18 is part of a closed
feedback loop between
the monitored output (e.g. rotor or reciprocator), with the demand serving to
govern the drive
circuits. Typically the demand changes more slowly than the sensor feedback
loop. Such a
closed feedback loop may be analog or digital, and is typically embedded in
the drive circuits 12.
[0025] To determine whether a demand is not met, output information can be
provided by
sensor 18, for comparison with the demand. Additionally, or alternatively, one
or more
sensors 23 may be used to detect particular types of failure modes, which can
have respective
previously encoded response patterns in the event of detection, and may have a
range of
response patterns depending on a detected degree or modality. As an example,
back-emf is
typically monitored in the drive circuits 12, and this can indicate whether a
winding has failed,
which would typically result in a different redistribution of demand than a
voltage or current limit, or
some other types of failure modes.
[0026] The controller 10 may be programmed to take remedial action in the
event of the
detected failure mode, in various ways. Generally there is a trade-off between
computationally
expensive, solutions, with a large volume of monitored information, which give
optimized
solutions in a widest variety of possible operating conditions, and lower cost
solutions that make
more assumptions about the operating conditions, have fewer sensors, less data
to compile, use
a far thinner model of the motor, and a lower cost processor with more
heuristic response, that
provide lower cost onboard equipment. Some approaches will maximize use of
rich off-line
8
CA 02790645 2012-09-21
models to compute optimal action in the event of a failure given the available
sensor information.
Either way, the result may be a difference function for drive currents applied
at each drive circuit.
Example
[0027]
The example of the present invention is directed to a conventional permanent
magnet
synchronous rotary motor, in that these were modeled, but it will be
appreciated that substantially
the same model may be applicable to other motors, and that small variations to
control induction
or other slip requiring (asynchronous) motors are within the scope of the
skilled practitioner. As
such, the windings are assumed to be on the stator, and permanent magnetic
poles are provided
in a rotor.
[0028]
The failure modes examined are winding fault (complete failure), and
saturation of
voltage and/or current limits. Other failure modes for which remedial action
can be known a
priori, may be identified and examined. The demand for the present model is
torque demand,
and the sensor input includes an angular velocity measure.
[0029]
The following is a closed-form solution for optimal excitation currents for
accurate
torque control with waveforms that minimize power dissipation, subject to
current and voltage
limits. When the drive current exceeds voltage and/or current limits, they are
saturated (winding
fault can be seen as an extreme case of this), and the controller
automatically reshapes the drive
currents in the unsaturated windings in such a way that the motor generates
torque as demanded,
within the limits of the capacity of the other windings.
[0030]
The optimal management of motor's drive currents can significantly increase
the
rated speed and torque of the motor in the face of the voltage and current
limits. In addition, the
torque controller can be used as a remedial strategy to compensate for a phase
failure by
optimally reshaping the currents of the remaining windings for accurate torque
production.
Motor Model with Current and Voltage Limits
9
CA 02790645 2012-09-21
[0031] The torque produced by windings in such a motor is a function of the
drive currents
applied and the rotor angle, as well as a cogging torque, which is only a
function of the rotor angle.
Cogging torque is a well known property of motors that results from stator
features, and it is
generally desired to correct for this effect. If the motor operates in a
linear magnetic regime, then
the torque r of the motor with p windings is given by EQ1:
[0032] r(0, i) = 97. (0)i õg (0), (1)
[0033] where r cog is the cogging torque, 0 is the angular position of the
rotor, and vectors
9 E RP and i e RP are defined as:
(PM = [01 MI ...)
[0034] (2)
= ipiT
[0035] Here, iA and OA (0) are the drive current and back-emf shape
function of the k th
winding. In typical rotary electric motors, the shape functions are periodic
functions of rotor
angle. Since successive windings are shifted by 27* , the k th torque shape
function can be
constructed as EQ2:
( \
[0036] (0) = 0 q 0 (k ¨1) + (3)
P
[0037] where q is the number of motor poles. Furthermore, since 0 is a
periodic function
with spacial frequency 27-cl q , it can be effectively approximated through
the truncated complex
Fourier series as EQ3
[0038] = c nei n9
n=-N
CA 02790645 2012-09-21
[0039] where j = J11i, {c1,¨,cN} are the Fourier coefficients, and N can be
chosen
arbitrary large. Similarly, the cogging torque can be approximated by another
finite Fourier
series as EQ4
[0040] z-cog (0) = (4)
n=¨ N
[0041] where {bp= = = ,bN} are the corresponding Fourier coefficients.
[0042] Thus the torque control problem is: Given a desired motor torque 7d
, solve EQ1 for the
drive currents, i . Given a scalar torque set point, EQ1 permits infinitely
many drive current
waveforms. Since the continuous mechanical power output of electrical motors
is limited
primarily by heat generated from internal copper losses, we use the freedom in
the drive current
solutions to minimize power losses,
[0043]
Pioss =R11i112, (5)
[0044] where R is the resistance of the windings. However, due to voltage
and current
limits of the drive circuits, minimization of EQ5 must be subject to the
following set of 2p
inequality constraints (EQ6a,b):
Il
i
[0045] max (6)
VkI~Vmax Vk=1,===,p.
[0046] where vk is the voltage of the kth drive circuit, and ima, and vmax
are, respectively,
the current and voltage limits of the motor's drivers. In the following
development, we will show
that the above set of 2p inequalities can be equivalently reduced to a set of
p inequalities if
the motor inductance is assumed negligible.
[0047] The voltage of the winding terminal of an electric motor is the
superposition of the
back-emf and the ohmic voltage drop if the inductance of the stator coils is
negligible [20-22]. That
is EQ7:
11
CA 02790645 2012-09-21
[0048] vk = Rik +ek k =1,===, p (7)
[0049] where ek is the back-emf of the kth winding, which is equal to the
rotor speed, w,
times the back-emf shape functions, 04(0), i.e.,
[0050] ek = 09*.
[0051] Using the relation between the terminal voltages and the drive
currents in EQ7, we can
rewrite inequalities EQ6b as EQ8:
[0052] lik +1)R fbk(0)I __ 0 V k =1,¨ (8)
[0053] which are equivalent to EQ9:
¨ v. ¨ co0 (0) v co0 (0)
[0054] k < ; < max k
k =1= = = , p (9)
[0055] Using EQ6a in EQ9 yields:
¨
- VmaxU) k(0)
max
[0056]
v. ¨ coOk (0)
V 0 ER,k=1,===,p
[0057] Therefore, the condition for the existence of a solution for
inequalities EQ6a and EQ9
can be expressed by EQ10:
[0058] max I Ok (0) l< V11+Ri. (10)
CO
[0059] In other words, if condition EQ10 is satisfied, then inequalities
EQ6a and EQ9 can be
combined in the following form EQ11:
[0060] ik (11)
[0061] where the lower- and upper-bound current limits are EQ12:
12
CA 02790645 2012-09-21
Lk (0, co) = max(¨i., ¨Vmax ¨ coOk (0) )
[0062] (12)
ik (0, co) = vmax coOk (0))
[0063] Finally, the constraint inequality on the drive currents pertaining
to both current and
voltage limitations can be expressed by EQ13:
[0064] I ik ¨ pk(0,0))1¨cyk(0,0)0 Yk=1,===, p (13)
where
1 -
Pk (0,04 = ¨2(4 + ik)
[0065] (14)
1 -
ak (0, co) = ¨2(ik ik )
[0066] are the current offset and gain associated with the k th winding.
The inequality
constraints EQ13 imposed on the drive currents are equivalent to both voltage
and current limitsof
EQ6a,b. Notice that parameters Pk and crk are not constants, rather they are
at given
mechanical states 0 and a). Nonetheless, in the following analysis, we drop
the position and
velocity arguments for the simplicity of notation.
[0067] Optimal Reshaping of Drive Currents: Quadratic Programming
[0068] With this model, optimal reshaping of the phase currents can be
perforemd with
quadratic programming. The derivations in this section present the optimal
drive currents
[0069] i* = [it, = = = ,
[0070] which generate the demand torque rd and minimize the power losses
per EQ5,
subject to the constraints of EQ6a,b. By setting r=rd in EQ1, and using the
inequality
constraints of EC113, the problem of finding optimal instantaneous currents
can be equivalently
formulated as the following quadratic programming problem EQ15a,b,c:
13
CA 02790645 2012-09-21
min iri
subject to : h = cori+ z ¨ z-d =0
[0071] PEI l<0 (15)
P
gp¨ 1< 0
a-P
[0072] Note that all the instantaneous variables in the above equality and
inequality
constants, i.e., 0k' ,
and 0-4, are at given rotor angular position, 0, and velocity w. Since
all the functions are convex, any local minimum is a global minimum as well.
Now, we seek the
minimum point i* satisfying the equality and inequality constraints. Before we
pay attention to
the general solution, it is beneficial to exclude the trivial solution, i; =
0. If the kth torque shape
function is zero, that winding contributes no torque regardless of its
current. Hence EQ16,
[0073] k = = 1k = 0 Vk=1,===,p (16)
[0074] immediately specifies the optimal drive currents at the crossing
point. By excluding the
trivial solution, we deal with a smaller set of variables and number of
equations in our optimization
programming. Therefore, we have to find the optimal solution corresponding to
the nonzero part.
Hereafter, without loss of generality, we assume that all torque shape
functions are non-zero.
[0075] Now, defining the function (EQ17)
[0076] L= f +Ah+ tiTg, (17)
[0077] where f =iTi , g = [gi,g2,===,gpf , AER , and It= L141õu2,===,ppf .
Let i*
provide a local minimum of f(i) satisfying the equality and inequality
constraints 15b and 15c.
Assume that column vectors Vig
are linearly independent. Then according to the
Kuhn-Tucker theorem [23], there exist 0 Vk=1,===,p such that EQ18
14
CA 02790645 2012-09-21
ViL =0
[0078] (18)
dukgk(i*k) =0 Vk =1,===,p.
[0079] Denoting sgn(.) as the sign function, we can show that
[0080] Vig = diag sgn(il ¨ P1) õsgn(C ¨
{
crI a P
[0081] in which the columns are linearly independent. The only pitfall is
ik= 0, where the
sign function is indefinite. We assume that the optimal solutions i: are non-
zero because
Ok # 0. This assumption will be relaxed later. Substituting f, h and g from
EQ15 into
EQ18 yields EQ19a,b:
2aki il
k akOk +/Lk sgn(i k ¨Pk) = 0
[0082] (19)
ilk (I i: ¨ Pk 1-0-k ) = 0
[0083] EQ19a, EQ19b, and EQ15b together constitute a set of 2p+1 nonlinear
equations
with 2p +1 unknowns i*, 2, and to be solved in the following way. Since
pkgk(ik*)= 0
while ,Lik. 0 and g(i) 0 , we can say that pk =0 if Iik ¨ Pk 1< ak , while pk>
0 if
1 ik - Pk 1- Cr k = Therefore, EQ19a can be written in the following compact
form EQ20:
[0084] Tk(i: ¨ pk)=¨ 120k¨pk Vk = 1,= = = , p. (20)
2
[0085] The mapping Tk : D k F---> R, in which
[0086] D k(X) = {x E R :1x ¨ Pk I5. 0k}'
[0087] is defined by EQ21:
x lx ¨Pk l< ak
[0088] Tk (x) =(21)
x + 1----I'Lsgn(x ¨ pi, )
2o-k
CA 02790645 2012-09-21
[0089] It is apparent that the mapping is invertible on D, i.e. there
exists a function 7-1(x)
such that Tic-I (Tk(X)) = X VX eD. In other words, the variable i: in EQ20 can
be determined
uniquely if the right-hand-side of the equation is given. The inverse of the
mapping is the
saturation function, i.e. Tk-'(.) ak sat(=/crk ) where EQ22:
1 x > 1
[0090] sat(x) = x ¨1 < x <1 (22)
¨1 x < ¨1
[0091] In view of the function definition, we can rewrite EQ20 as EQ23:
[0092] ik = ph+ak sat( Pk = 1,= = = , p. (23)
0-k
[0093] Upon substitution of the optimal drive currents from EQ23 into the
torque equation
EQ15b, we arrive at EQ24:
[0094] 5ri, sat(0.5/ _____ ) =T (24) where
k=1 0-k
[0095] r =rd ¨2-c0g -p and EQ25:
[0096] rp ap, (25)
[0097] is the torque offset calculated at any position 8. Note that r, does
not have any
physical meaning but can be interpreted as the torque associated with non-zero
mean values of
the current limits. Since A is the only unknown variable in EQ24, finding the
optimal values of the
drive currents boils down to solve the algebraic equation EQ24 for the
Lagrangian multiplier.
Apparently, the left-hand side of EQ24 is a piecewise linear function of A..
Thus, EQ24 can be
concisely written as EQ26
[0098] W(A) = r*. (26)
16
CA 02790645 2012-09-21
[0101] As an illustration, the piecewise linear function for a motor system
which will be
described below is depicted in FIG. 2 for a particular motor angle of 1000.
The slope of the
piecewise linear function abruptly decreases each time one of the phases
saturates and when all
phases saturate the slope becomes zero, in that case there is no solution for
A . Therefore, the
piecewise linear function is invertible only if the following conditions are
satisfied EQ27:
[0102] V1min 4- rcog rp rd Vmax rcog rp (27)
[0103] Then, the corresponding Lagrangian multiplier can be obtained by
EQ28:
[0104] A. = V-1(T*) (28)
[0105] Finally, substitution of EQ28 into EQ23 yields the optimal drive
currents as EQ29:
[0106]
/4 = pk+o_k sat(-0.5V-1(r*Ok =(29)
o-
[0107] The motor, amplifier drives, and the torque controller are
schematically illustrated in
FIG. 3. In FIG. 3 illustrates a control system for a rotary brushless mother
having 3 windings. In
operation, in the event that no winding is saturated or failed, each winding's
switch will be in the
normal setting, as shown. Furthermore all of the phase offsets pk= 0, and
scaling factors 0-4= 1
in this state. Null signals will be sent from the 3 windings, and added, and
as a result the cogging
torque will be subtracted from the demand torque, and forwarded to the
piecewise linear function,
which will not affect the torque function. As a result, the torque will be fed
to the circuits, which
divide and then multiply byo-4, and apply the limiting function will have
unitary effect. A null
phase offset is applied, and then the excitation is applied at the winding.
[0108] If a winding is in a voltage or current saturation state, the
limiter in the drive circuit will
preclude oversupply of current or voltage. Given angular position 0, the shape
functions 04,
are derived form corresponding Fourier coefficients, according to EQ2, and
EQ3. This is
17
CA 02790645 2012-09-21
performed by the signal processers called Fourier series [c1...cn]. Similarly,
with corresponding
Fourier coefficients, cogging torque /cog is derived from angular position 0
at the signal
processor defined with coeficients bi..bn. Given angular velocity w, and 0k'
signal processors in
each drive circuit compute crh , and Pk' according to EQ12, and EQ14. The Pk
and Ok are
multipled and summed over the 3 windings to compute rp as per EQ25. Then using
the cogging
torque, demand torque, and rp, EQ26 is computed by summing. The Lagrangian
multiplier is
obtained by application of the piecewise linear function to lambda and the
resulting current of
EQ29 is multiplied by Ok , subject to limiting, the gain and phase shift are
applied and the resulting
signal is amplified and used to excite the windings. Specifically, the
characterized phase offset
and scalle factors are sent to the gains in the circuit before and after the
limiter, and the phase
offsets are applied before and after the scaling.
[0109] If a winding failure is determined, from the position sensor
feedback, which is
decomposed for each winding's phase, the switch will be tripped for the
corresponding drive
circuit, which will send a null Ok on winding's drive circuit. When an open-
circuit or short-circuit
fault occurs, the faulty winding is isolated and the currents of the remaining
healthy windings are
optimally reshaped for accurate torque production. It is clear from EQ16 that
when the
instantaneous back-emf of a winding takes a zero value, the corresponding
drive current
becomes trivially zero. Therefore, the faulty winding can be easily isolated
by setting the value of
its back-emk shape function to zero in the optimization formulation. Now,
suppose that the
motor's shape functions for the optimization programming EQ15 is modified
according to EQ30:
[0110] Ok {01, for normal phase
0 for faulty phase (30)
[0111] Then, the optimal solution EQ29 ensures that the instantaneous
currents of faulty
winding is zero, while the remaining windings generate the desired torque
satisfying the optimality
conditions.
18
CA 02790645 2012-09-21
Experiment
[0112] In order to evaluate the performance of the optimal torque
controller, experiments
were conducted on a three-phase synchronous motor with 9 pole pairs. Three
independent
current servo amplifiers (Advanced Motion Control 30A2OAC) control the motor's
excitation
currents as specified by the torque controller. The electric motor and a
hydraulic rack and pinion
rotary motor are mounted on the rigid structure of a dynamometer. The
hydraulic motor's shaft is
connected to that of the electric motor via a torque transducer (Himmelstein
MCRT 2804TC) by
means of two couplings which relieve bending moments or shear forces due to
small axes
misalignments. The speed of the hydraulic motor is controlled by a pressure
compensated flow
control valve. The hydraulic pressure is set sufficiently high so that the
hydraulic actuator can
always regulate the angular speed regardless of the electric motor torque. In
other words, the
operating speed of the electric motor is independently set by the hydraulic
actuator. The winding
voltages are attenuated by resistor branches and then sensed by Isolation
Amplifiers (model AD
210 from Analog Device). The Isolation Amplifier System eliminates the
possibility of leakage
paths and ground loops between the power servo amplifiers and the data
acquisition system by
providing complete transformer isolation. A multi-channel data acquisition
system acquires the
analog data at the sampling rate of 1 kHz. Errors between the measured rotor
position, used by
the torque controller for current commutation, and the true rotor position
will result in torque ripple.
One source of this error is measured quantization. In order to minimize the
torque-ripple induced
by this quantization as much as possible, the motor uses a high-resolution
encoder with 0.001
resolution for measurement of angular position.
Identification of Motor Parameters
[0113] Torque shape functions are measured by using the hydraulic
dynamometer [24]. To
this end, the torque trajectory data versus position was registered during the
rotation, while one
19
CA 02790645 2012-09-21
winding was energized with a constant current. The value of the winding
resistance measured by
a wheat-stone bridge instrument is EQ31:
[0114] R 2.54Q.
[0115] The torque-angle data are registered within almost one rotation
while the drive current
is kept constant. But the current is incremented at the end of each rotation
stroke by lAmp until
an ensemble of torque profiles belonging to the span of [-15, 15] Amp is
obtained. By taking
the average of two sequences of the motor torques corresponding to when the
motor shaft is
rotated clockwise and counter-clockwise, the effect of the bearing friction
torque in the motor
torque measurement is compensated. Now at every motor position 0, the current
load cases
s and the corresponding measured torques ri (8) are related by EQ32:
,
.1
/1 Tim
[0116]
i12 1 [ MO) 1-2(o)
(32)
Tcog(e)
_1
u 1
_
[0117] Then, 0,(0) and rcog(0) can be obtained at every given position by
using the
pseudo-inverse of the above matrix equation.
[0118] Since the motor has nine pole pairs, the torque trajectory is
periodic in position with a
fundamental spatial-frequency of 9 cpr (cycles/revolution) and thus the torque
pattern repeats
every 40 degrees. The Fourier coefficients can by calculated by the inverse
fourier series
27,
oo+¨
q
= Ichi(9)e-inge
10119]
b - 'mg
1z- cog (0)e
8-90
CA 02790645 2012-09-21
[0120] The phase shape functions, 4, and the cogging torque are shown in
FIGs. 4a,b and
the corresponding Fourier coefficients are given in FIG. 4c(Table 1). These
are basic properties
of the assembled motor, and the corresponding parameters are determined to a
high degree of
accuracy with this method.
[0121] Performance Test
[0122] The proposed torque controller subject to current and voltage limits
has been
implemented on the three-phase motor. An emulator of the control system of
FIG. 3 was created
in software to control the motor. The objective of this section is to
demonstrate that the torque
controller can deliver accurate torque production in the face of current and
voltage saturation. It
has been shown [2] that non-constrained optimization of motor torque leads to
the following
solution of drive currents EQ33:
Ok (0)
[0123] ik (0) (7 7 ¨ 2 \" d cog=
(33)
11901
[0124] For a comparative result, the performances of both constrained
torque controller EQ29
and non-constrained torque controller EQ33 are presented. It is worth noting
that, in the case of
non-constrained optimization torque controller, the maximum torque is reached
as soon as one
winding saturates. On the other hand, the constrained optimization algorithm
increases the
torque contribution of the unsaturated windings when one winding saturates,
until, in the limit, all
windings are saturated.
[0125] The motor shaft is rotated by the hydraulic actuator at a constant
speed while the
motor torque is monitored by the torque transducer. The maximum winding
voltage and current
are specified as EQ34:
= 10 Amp
[0126] (34)
vmax = 40 Volt
21
CA 02790645 2012-09-21
[0127] In the first part of the experiment, the desired torque and the
rotation speed of the
hydraulic motor are set to EQ35:
{
rd =10 Nm
[0128] Case I : (35)
co = 21 rad/s
[0129] FIG. 5a is a graph showing the phase offsets applied during voltage
or current
saturation. FIG. 5b is a graph showing the scaling factor applied during
voltage or current
saturation. FIG. 5c is a graph of the rp applied during the voltage or current
saturation.
FIGs. 6a and 6b plot the winding current waveform and the time-history of the
consequent
terminal voltages, respectively. It is clear from the latter figure that the
winding voltages reach
their limits in this experiment, but the drive currents are far from the
current limit. The motor
torque is shown in FIG. 6c, which shows that in comparison with the known
saturation-
uncompensated technique, substantial torque ripple is avoided using the same
physical motor,
with only a change in the control design.
[0130] At low velocity and high desired torque, it is most likely that the
windings current
saturation occur rather than the winding voltage saturation. As a
demonstration, in the second
part of the experiment the desired torque and the shaft speed are set to EQ36
{rd = 25 Nm
[0131] Case II : (36)
oi = 2 rad/s
[0132] It is apparent from the values of drive currents and voltages in
FIGs. 7a and 7b that the
drive currents reach their limit while the terminal voltages are not
saturated. FIG. 7c shows that
again saturation-compensated control has substantial advantages in providing
accurate torque
output over the prior art.
[0133] Motor Torque-Velocity Characteristic
22
CA 02790645 2012-09-21
[0134] The control algorithm presented in previous section permits torque
sharing among
windings when some windings saturate. This results in a considerable increase
in the attainable
maximum motor torque because the torque controller automatically increases the
torque
contribution of the unsaturated windings when one winding saturates. This is
clearly
demonstrated in FIG. 8 which depicts the maximum attainable motor torques
corresponding to
the solutions of the saturation-compensated and saturation non-constrained
control. The graphs
indicate that the maximum torque capability is improved by 20% when the
winding saturation is
considered in the drive current shape function.
[0135] Single-winding Failure
[0136] The optimal torque controller can produce accurate torque even under
operation of a
single winding failure. In this experiment, the current circuit of the motor's
first winding is virtually
broken by sending zero signal to the enable port of the corresponding power
amplifier. Thus
EQ37:
[0137] 01(0) 0 VOER (37)
[0138] The objective is to produce the same torque 10 Nm as the three
windings by using
only the remaining two windings, i.e., EQ38:
Td =10 Nm
[0139] Case III: co = 21 rad/s (38)
0 (open ¨ cuircuit)
[0140] The currents and voltages of the two healthy windings are shown in
FIGs. 9a and 9b.
FIG. 9c depicts motor torques when one winding is open circuit. The dashed
line in FIG. 9c
shows motor torque produced by a controller assuming all three windings are
normal. This
results in drastic torque fluctuation because the healthy windings do not
compensate for lacking
torque of the faulty winding. The solid line in FIG. 9c shows that the motor
still producing the
23
CA 02790645 2016-08-24
constant desired torque when the torque controller is designed based on the
two healthy
windings.
[0141] Thus the saturation compensated control has been demonstrated and
proves
advantageous over saturation non-compensated control.
[0142] Other advantages that are inherent to the structure are obvious to
one skilled in the art.
The embodiments are described herein illustratively and are not meant to limit
the scope of the
invention as claimed. Variations of the foregoing embodiments will be evident
to a person of
ordinary skill and are intended by the inventor to be encompassed by the
following claims.
24