OPTIMIZED REGENERATIVE BRAKING CONTROL OF ELECTRIC MOTORS USING LOOK-UP TABLES
20230081528 · 2023-03-16
Inventors
Cpc classification
H02P21/36
ELECTRICITY
Y02T10/72
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B60L7/14
PERFORMING OPERATIONS; TRANSPORTING
B60L15/025
PERFORMING OPERATIONS; TRANSPORTING
Y02T10/64
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
B60L7/14
PERFORMING OPERATIONS; TRANSPORTING
B60L15/02
PERFORMING OPERATIONS; TRANSPORTING
B60L15/20
PERFORMING OPERATIONS; TRANSPORTING
H02P21/36
ELECTRICITY
Abstract
A regenerative braking controller for an AC motor. To determine an electromagnetic torque for slowing or stopping the motor, the regenerative braking controller accesses a lookup table to retrieve a braking torque value corresponding to a current estimate of rotor velocity. The retrieved braking torque may correspond to a maximum or minimum torque level at which regenerative braking will occur at the current rotor velocity, or to a torque level at which charging current during regenerative braking will be maximized. If an external mechanical brake is present, the regenerative braking controller can forward an external braking torque signal to a controller so that the mechanical brake can apply the remainder of the braking force beyond that indicated by the regenerative braking torque. A method for establishing the braking torques to be stored in the lookup table is also disclosed.
Claims
1. A device comprising: a look-up-table memory configured to store a regenerative braking table that includes a set of regenerative braking torque values over a range of rotor speeds of a motor; a processing resource coupled to the look-up-table memory; a non-transitory memory coupled to the processing resource and storing instructions that, when executed, cause the processing resource to: receive a desired rotor speed of the motor; determine a current rotor speed of the motor; and provide a set of data signals configured to control the motor based on a comparison of braking torque data retrieved from the regenerative braking table and a difference between the current rotor speed and the desired rotor speed; a pulse-width modulation driver coupled to the processing resource and configured to: receive the set of data signals; and provide, based on the set of data signals, a set of pulse-width-modulation control signals configured to control a motor.
2. The device of claim 1, wherein the processing resource is configured to: couple to an external brake; and provide braking of the motor based on whether the difference between the current rotor speed and the desired rotor speed exceeds a regenerative braking threshold.
3. The device of claim 1, wherein the regenerative braking table includes a set of maximum regenerative braking torque values and a set of minimum regenerative braking torque values over the range of rotor speeds.
4. The device of claim 1, wherein the regenerative braking table includes a set of optimum regenerative braking torque values over the range of rotor speeds at which charging current is maximized.
5. The device of claim 1 further comprising: a power driver circuit coupled to the pulse-width modulation driver and configured to: receive the set of pulse-width-modulation control signals; and provide, based on the set of data signals, a set of pulse-width-modulation pulses configured to control the motor.
6. The device of claim 5 further comprising a three-phase inverter coupled to the power driver circuit and configured to couple to the motor, wherein the three-phase inverter is configured to: receive the set of pulse-width-modulation pulses; and drive the motor according to the set of pulse-width-modulation pulses.
7. The device of claim 6 further comprising a battery management circuit coupled to the three-phase inverter and configured to couple to an energy storage system, wherein the battery management circuit is configured to perform regenerative braking by providing a charging current to the energy storage system.
8. The device of claim 1 further comprising: a first analog-to-digital converter coupled to the processing resource and configured to couple to the motor to provide a motor current measurement to the processing resource; a second analog-to-digital converter coupled to the processing resource and configured to couple to the motor to provide a motor voltage measurement to the processing resource; and a third analog-to-digital converter coupled to the processing resource and configured to couple to the motor to provide a bus voltage measurement to the processing resource, wherein the processing resource is further configured to determine the current rotor speed of the motor based on the motor current measurement, the motor voltage measurement, and the bus voltage measurement.
9. The device of claim 8, wherein the processing resource is further configured to perform a Clarke transform and a Park transform on each of the motor current measurement and the motor voltage measurement.
10. The device of claim 1, wherein the processing resource is further configured to: determine whether the current rotor speed is above a minimum regenerative braking rotor speed; and provide the set of data signals configured to control the motor to produce regenerative braking based on the current rotor speed being above the minimum regenerative braking rotor speed.
11. The device of claim 1, wherein the processing resource is further configured to: determine a first regenerative braking torque value based on the current rotor speed and on the regenerative braking table; retrieve, from the regenerative braking table, a first regenerative braking torque value associated with a first rotor speed and a second regenerative braking torque value associated with a second rotor speed, wherein the current rotor speed is between the first rotor speed and the second rotor speed; and perform interpolation on the first regenerative braking torque value and the second regenerative braking torque value.
12. A method comprising: receiving a desired rotor speed of a motor; determining a current rotor speed of the motor; determining a desired torque value based on a difference between the current rotor speed and the desired rotor speed; if the desired torque value is less than zero, retrieving braking torque data from a regenerative braking table, the regenerative braking table including a set of regenerative braking torque values over a range of rotor speeds of the motor; providing a set of data signals configured to control the motor to transition from the current rotor speed to the desired rotor speed based on a comparison of the braking torque data retrieved from the regenerative braking table and the torque value; and controlling the motor using the set of data signals to produce regenerative braking.
13. The method of claim 12 further comprising: causing an external brake to brake the motor based on the desired torque value exceeding a regenerative braking torque threshold.
14. The method of claim 12, wherein the regenerative braking table includes a set of maximum regenerative braking torque values and a set of minimum regenerative braking torque values over the range of rotor speeds.
15. The method of claim 12, wherein the regenerative braking table includes a set of optimum regenerative braking torque values over the range of rotor speeds at which charging current is maximized.
16. The method of claim 12 further comprising providing, by a power driver circuit, a set of pulse-width-modulation pulses based on the set of data signals to control the motor.
17. The method of claim 16 further comprising: receiving the set of pulse-width-modulation pulses by a three-phase inverter; and driving the motor by the three-phase inverter according to the set of pulse-width-modulation pulses.
18. The method of claim 12 further comprising receiving a motor current measurement, a motor voltage measurement, and a bus voltage measurement, wherein the determining of the current speed of the motor is based on the motor current measurement, the motor voltage measurement, and the bus voltage measurement.
19. The method of claim 12 further comprising determine whether the current rotor speed is above a minimum regenerative braking rotor speed, wherein controlling the motor using the set of data signal to produce regenerative braking is based on the current rotor speed being above the minimum regenerative braking rotor speed.
20. A method, comprising: developing system equations representative of behavior of a synchronous machine; identifying motor parameters and power system parameter values; applying the motor parameters and power system parameter values to the system equations; determining, for each rotor speed over an operating range, a minimum braking torque and a maximum braking torque for regenerative energy recovery based on the motor parameters and power system parameter values applied to the system equations; and storing the minimum braking torque and the maximum braking torque in a lookup table in a memory resource.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
DETAILED DESCRIPTION OF THE INVENTION
[0023] The one or more embodiments described in this specification are implemented into a field-oriented control (FOC) scheme for a permanent magnet (PM) type of an AC electric motor, as it is contemplated that such implementation is particularly advantageous in that context. However, it is also contemplated that concepts of this invention may be beneficially applied to other applications, for example other types of electric motors such as AC induction motors, and other machines. Accordingly, it is to be understood that the following description is provided by way of example only, and is not intended to limit the true scope of this invention as claimed.
[0024]
[0025] In this embodiment, much of the architecture for controlling the alternating current applied to the stator windings is implemented by programmable microcontroller integrated circuit (MCU) 220, enabling many of the calculations and control loop functions to be carried out in the digital domain. Examples of integrated circuits suitable for use as MCU 220 according to these embodiments include microcontrollers in the C2000 and MSP430 families available from Texas Instruments Incorporated. In the example of
[0026] According to these embodiments, processor unit 22 is coupled to regenerative braking lookup table 24r (shown as RB LUT 24r in
[0027] The feedback side of the control system of
[0028] In this implementation, MCU 220 also includes optional external brake controller 245, which presents a signal that controls the drive applied to an external brake 259 (also optional). As will be described in further detail below, external brake controller 259 generates its output control signal in response to the received input (e.g., the desired motor speed) and feedback signals, specifically in cooperation with energy recovery functions according to these embodiments.
[0029]
[0030] Other functions within controller 220 include an energy storage system (ESS) 265, which in this example is a battery, and battery management circuit 260. In this arrangement, battery management circuit 260 is coupled to an output of three-phase inverter 232, and operates to control a maximum level of regenerative braking current flowing into ESS 265 using a current regulation circuit, with that maximum level based on the maximum charging current that ESS 265 can support.
[0031]
[0032] Reference current generator 256 operates to produce quadrature phase reference current I.sub.q,ref and direct phase reference current I.sub.d,ref based on reference torque signal τ.sub.ref from RB controller 240 and an estimate {circumflex over (ω)}[n] of the current rotor velocity. Quadrature phase reference current I.sub.q,ref corresponds to the desired torque component (i.e., the q component in the d, q domain), and a difference between that current and quadrature phase feedback current Iq is applied to q-axis current controller 258. Similarly, a difference between direct phase reference current I.sub.d,ref and direct phase feedback current Id is applied to d-axis current controller 257. Controllers 257, 258 operate according to a conventional control function (e.g., proportional-integral) to produce direct phase and quadrature phase control signals V.sub.d, Vq, respectively, which are applied to inverse Park transform function 253.
[0033] Inverse Park transform function 253 transforms the d and q phase control signals Vd, Vq to spatially fixed α and β phase control signals Vαβ. Because the inverse Park transform requires knowledge of the rotor position (more specifically, the rotor flux or field flux linkage angle), rotor position estimate {circumflex over (θ)}[n+1] for the next control cycle [n+1] is supplied, in this embodiment, by estimator function 215. As shown in
[0034] On the feedback side of the control loop in this architecture, Clarke transform function 241a receives sampled currents Iabc associated with the three motor phases and acquired for the current sample period n, as produced by ADCs 243a based on the electrical parameters sensed by sense circuits 233. From these inputs, Clarke transform function 241a produces spatially fixed α and β phase feedback signals Iαβ, which in turn are applied to Park transform function 246a to produce d and q phase feedback signals Id, Iq, respectively. Similarly, Clarke transform function 241b receives sampled voltages Vabc from ADCs 243b, and produce α and β phase voltage feedback signals Vαβ, which are applied to Park transform function 246b to produce d and q phase voltage feedback signals Vd, Vq, respectively. Current feedback signals Id, Iq and voltage feedback signals Vd, Vq as well as sensed bus voltage Vbus from ADCs 243c, are forwarded to estimator function 215, which will generate rotor position and rotor velocity estimates for use in the control loop as noted above. Alternatively or in addition, one of sense circuits 233 may receive a signal from a velocity sensor at motor 210, in which case a direct measurement of rotor velocity is obtained and can be used in the control loop.
[0035] Examples of speed and position estimator algorithms and methods suitable for use in estimator function 215 in this embodiment are described in copending U.S. application Ser. No. 14/337,576 and Ser. No. 14/337,595, both filed Jul. 22, 2014, and copending U.S. application Ser. No. 14/880,008 filed Oct. 9, 2015, all such applications commonly assigned herewith and incorporated herein by reference. Copending U.S. application Ser. No. 14/675,196, filed Mar. 31, 2015, commonly assigned herewith and incorporated herein by this reference, describes a motor controller architecture that includes a function for selecting a fractional delay compensation value to be applied in the estimate of rotor position for which pulse-width-modulated drive signals are to be applied to a multi-phase electric motor, which may optionally be included in the functional architecture of control system 250 according to these embodiments.
[0036] As mentioned above, the functional architecture of controller 220 includes RB controller 240 in the control loop. As described in copending U.S. application Ser. No. 14/837,810, filed Aug. 27, 2015, commonly assigned herewith and incorporated herein by reference, and in the embodiment shown in
[0037] As described in the above-incorporated application Ser. No. 14/837,810, RB controller 240 operates to determine boundaries of the regions in the braking quadrants (quadrants II and IV in the torque-speed plane of
[0038] However, it has been observed, according to these embodiments, that this approach may not be practicable for salient-pole PMSMs and interior permanent magnet motors (IPMs), because the nature of these motors makes it prohibitively difficult to derive closed-form expressions for the regenerative braking boundaries and maximum regenerative braking current curves. These embodiments provide regenerative braking control in which closed-form expressions are not necessary, thus allowing a wide range of electric motors to attain maximum charging current during regenerative braking.
[0039] According to these embodiments, regenerative braking lookup table (RB LUT) 24r is provided in MCU 220, as shown in
[0040] It is contemplated that the braking torques stored in RB LUT 24r may be calculated by a number of approaches. For example, these braking torques may be determined for various rotor speeds experimentally, for example by characterizing a particular make and model of motor 210 and measuring the energy recovery performance over varying rotor speeds. Alternatively, these braking torques may be determined by deriving closed-form expressions as described in the above-incorporated application Ser. No. 14/837,810 and then applying varying rotor speeds to those expressions to arrive at the braking torques corresponding to the regenerative braking boundaries and maximum regenerative braking current curves for each of those rotor speeds.
[0041] A technique for numerically determining the braking torques stored in RB LUT 24r according to an embodiment will now be described with reference to
[0042] According to this embodiment, determination of the regenerative braking torque levels for a given permanent magnet synchronous machine, such as motor 210 of
[0043] An equivalent circuit model for DC storage/power block 30 of a system based on a storage battery (e.g., ESS 265 of
and that also includes an equation for the electromagnetic torque rem:
τ.sub.em=N(Λ(L.sub.d−L.sub.q)i.sub.dm)i.sub.qm (2)
where Λ is the magnitude of the permanent magnet flux in the AC machine. The control variables in these system equations are the duty cycle vectors u.sub.d and u.sub.q in the d and q axes, respectively. As known in the art, for a fixed DC-bus voltage, the maximum lengths of the duty cycle vectors u.sub.d and u.sub.q depend on the type of pulse-width-modulation (PWM) strategy and the type of stator machine winding. For example, the maximum length [max(U.sub.dq)] of the duty cycle vector for a wye-connected machine using PWM without 3.sup.rd harmonic injection is:
and for a delta-connected machine using PWM without 3.sup.rd harmonic injection is:
[0044] In process 22 according to this embodiment, specific motor and power system parameter values are identified and applied to the system equations developed in process 20. These parameter values include those that are relevant or necessary to carry out the calculations involved in determining the applicable braking torques for that particular motor and power system type may include some or all of the following:
TABLE-US-00001 Unit of Parameter Description measure E.sub.s Open circuit battery voltage V R.sub.s Internal resistance of battery Ohm N Number of pole-pairs of motor — R.sub.p Per-phase stator winding resistance of motor Ohm R.sub.c Per-phase core loss resistance of motor Ohm L.sub.d d-axis inductance of motor mH L.sub.q q-axis inductance of motor mH Λ Magnitude of permanent magnet flux V/rad/sec I.sub.max Maximum length of current vector in the d-q A plane max(U.sub.dq) Maximum assignable length of the duty-cycle — vector in the d-q plane ω.sub.max Maximum mechanical speed of the motor RPM J.sub.m Rotor inertia kg-m.sup.2 B.sub.m Rotor viscous friction co-efficient N-m/rad/sec
Additional or different parameters may be added or substituted, or some of these parameters may be omitted, depending on the numerical approach and optimization equations used to determine the braking torques. For example, in some implementations the core loss resistance R.sub.c of the motor may be included as indicated in the above table, while in other implementations the core loss resistance R.sub.c may be omitted without a significant loss of accuracy in the result. The particular values applied for a given motor and power system may be determined by characterization, by reference to stated specifications for the motor and power system, or by other conventional techniques. It is contemplated that the precision that will typically be required for these parameter values will typically allow the use of one set of parameter values for a given model of motor and a given model of power system (either on a component-by-component basis or for the system as a whole), without requiring entry of different parameter values for each particular instance of the motor or power system. Of course, if a particularly precise installation is contemplated, it may be advantageous to characterize and measure that particular motor instance and power system instance, so that the braking torques and energy recovery can be tuned to obtain the best available optimization.
[0045] According to this embodiment, optimization process 24 is then performed to determine, for each rotor speed w over a desired operating range, the minimum and maximum braking torques at which regenerative energy recovery occurs. By implication, regenerative braking will occur at those braking torques between these two limits at each rotor speed. As mentioned above, many motor types are not well suited for the determination of these braking torque limits by solving closed-form expressions; in addition, even for those motor types that do give rise to closed-form expressions, one or more of the assumptions underlying those expressions may be found to be imprecise for a particular motor or system type. According to this embodiment, therefore, one or more optimization problems are formulated in advance, and numerically solved from the system equations developed in process 20 for the parameter values applied in process 22 to determine the regenerative braking torque levels over the rotor speed range.
[0046] In process 24, the minimum and maximum braking torques at selected rotor speeds are determined from respective optimization problems. In this embodiment, these optimization problems are constructed as:
Problem 1: Minimize electromagnetic torque τ.sub.em, where:
∥u.sub.dq∥≤max(U.sub.dq),∥i.sub.dq∥≤I.sub.max,τ.sub.em≤0,i.sub.s≤0
Problem 2: Maximize electromagnetic torque τ.sub.em, where:
∥u.sub.dq∥≤max(U.sub.dq),∥i.sub.dq∥≤I.sub.max,τ.sub.em≤0,i.sub.s≤0
[0047] Both of these optimization problems are constrained by the system equations (1) and (2) described above. In process 24, these optimization problems are solved at each rotor speed w over a range of operating speeds to generate the bounds of regenerative braking in the forward braking quadrant IV of the torque-speed plane of
[0048] In optimization process 26, the braking torques at which regenerative braking provides the maximum energy recovery are determined, by solving another optimization problem over the range of operating speeds:
Problem 3: Minimize output current is from the power system, where:
∥u.sub.dq∥≤max(U.sub.dq),∥i.sub.dq∥≤I.sub.max,τ.sub.em≤0,i.sub.s≤0
[0049] This optimization problem is also constrained by the system equations (1) and (2) described above. In this embodiment, optimization process 26 determines, for each rotor speed w over the operating range, the braking torque at which the current output by the battery is at its minimum, which conversely corresponds to the torque at which the charging current during regenerative braking is at a maximum.
[0050] It is contemplated that the particular optimization problems, and indeed which optimization problems and braking torques derived, may vary from that shown in
[0051]
[0052] Referring back to
[0053] Referring now to
[0054] As described in the above-incorporated patent applications Ser. No. 14/337,576, Ser. No. 14/337,595, and Ser. No. 14/675,196, the control loop of system 250 operates on a periodic basis, with the rotor speed and position determined at one sample period n being used to determine the appropriate control signals to be applied to the motor in a next sample period n+1. It is contemplated that those skilled in the art having reference to this specification will be able to realize these embodiments in connection with other time-based approaches to feedback control of the motor as appropriate for a particular application, without undue experimentation.
[0055] The operation of RB controller 240 in determining the appropriate braking torque for motor 210 begins in process 42 by the receipt of a current rotor velocity estimate [n] from estimator function 215. While this description will refer to the functional architecture of
[0056] In decision 45, RB controller 240 determines whether torque signal τ.sub.desired from speed controller 251 indicates a braking torque, which for the case of forward motion is a negative value. If torque signal τ.sub.desired is a forward torque (decision 45 returns a “no” result), RB controller 240 performs no active function and forwards torque value n (which at this point is the torque signal τ.sub.desired from speed controller 251) as torque signal τ.sub.ref to reference current generator 256. RB controller 240 communicates a zero value for torque τ.sub.ext to external brake controller 245, so that external brake 259 is not applied to motor 210. Control of motor 210 to continue its rotation in the forward direction is then carried out in the conventional manner, as described above.
[0057] If decision 45 determines that torque signal τ.sub.desired is a braking torque (decision 45 returns a “yes”), RB controller 240 then accesses RB LUT 24r to obtain a desired braking torque value τ.sub.2 in process 46. In this embodiment in which RB LUT 24r store braking torques for each motor speed over the operating range, process 46 involves the access of one or more memory locations of RB LUT 24r that are indicated by the rotor speed estimate {circumflex over (ω)}[n] from estimator function 215 for the current sample period n. The particular manner in which RB LUT 24r is accessed will depend on the architecture of that memory resource, and may involve the translation of the current rotor speed estimate {circumflex over (ω)}[n] into a memory address, or may apply all or part that estimate to RB LUT 24r if realized as a content-addressable memory.
[0058] The braking torque data retrieved from RB LUT 24r in process 46 may include one or both of the minimum and maximum braking torques (i.e., the points on curves 40min, 40max of
[0059] According to this embodiment, it is contemplated that the braking torque values stored in RB LUT 24r will have been established at discrete rotor speeds over the operating range. As such, the current rotor speed estimate {circumflex over (ω)}[n] from estimator function 215 may not exactly match one of the rotor speeds for which braking torques are stored in RB LUT 24r, so the result of process 46 may be an estimate of the braking torques based on one or more retrieved braking torque values, for example that of a rotor speed closest to the current rotor speed estimate {circumflex over (ω)}[n]. Alternatively, process 46 may retrieve the braking torques for the next higher and next lower rotor speeds relative to the rotor speed estimate {circumflex over (ω)}[n], and performing a linear interpolation between the two corresponding retrieved braking torques to arrive at the appropriate limits for the current rotor speed. It is contemplated that these and other variations on the manner in which RB LUT 24r is accessed to obtain the regenerative braking torque limits and optimum operating point can readily be implemented by those skilled in the art having reference to this specification.
[0060] In decision 47, RB controller 240 determines whether the absolute value of the desired braking torque (Ti) is greater than the absolute value of the regenerative braking torque (n) corresponding to the maximum charging current determined by the access of RB LUT 24r in process 46. If so (decision 47 is “yes”), then the regenerative braking algorithm proceeds to decision 49, in which RB controller 240 determines whether current rotor speed estimate {circumflex over (ω)}[n] is above some minimum rotor speed ω.sub.rb,min for which regenerative braking is to be applied. As the braking operation is carried out over multiple sample periods, the application of a braking torque selected to obtain energy recovery through regenerative braking would asymptotically reduce the rotor speed toward its desired value, but never precisely reach that desired speed because typically the maximum stopping torque would never be applied in lieu of a lesser torque that would provide some energy recovery, even if minimal. Accordingly, it is efficient to effectively disable regenerative braking as rotor speeds become very slow, particularly considering that little energy would be recovered at these speeds even if enabled. Decision 49 thus ensures that regenerative braking is considered if the current rotor speed estimate {circumflex over (ω)}[n] is above some minimum rotor speed ω.sub.rb,min, as may be selected by the system designer or integrator.
[0061] If the current rotor speed estimate {circumflex over (ω)}[n] indicates that regenerative braking is to be enabled (decision 49 is “yes”), decision 51 is then performed by RB controller 240 to determine whether an external brake is available. This determination may simply be hardwired if external brake 259 is not installed in system 250; alternatively, decision 51 may determine whether such an installed external brake 259 has been selectively enabled for the current mode of operation of motor 210. If external brake 259 is available and enabled (decision 51 is “yes”), then RB controller 240 can derive an external torque τ.sub.ext to ensure or optimize regenerative braking, while using external brake 259 to apply the rest of the desired braking force. This operation is performed by RB controller 240 in process 50, by forwarding a value of torque signal τ.sub.ref corresponding to torque value τ.sub.2 to reference current generator 256, according to which the control loop will generate the corresponding multiphase control signals to effect that electromagnetic braking at motor 210. In process 52, RB controller 240 forwards a value of external torque signal τ.sub.ext to external brake controller 245 corresponding to the difference (τ.sub.1−τ.sub.2) between the desired braking torque τ.sub.desired and the applied electromagnetic torque Tem. External brake controller 245 in turn will control external brake 259 in response to external torque signal τ.sub.ext to apply the remainder of the braking force.
[0062]
[0063] As mentioned above, RB controller 240 according to this embodiment may operate in the absence of an external brake system (i.e., decision 51 returns a “no” result). In this case, RB controller 240 executes decision 53 to determine whether it is acceptable to compromise braking distance in order to maximize regenerative braking. It is contemplated that this determination will typically be performed in response to an external signal, for example as may be generated by logic within processor unit 22 in response to the motor environment, other user inputs, the rapidity with which braking has been applied such as in the case of an emergency stop, and the like. If so (decision 53 is “yes’), then RB controller 240 will execute process 50 to forward a value of torque signal τ.sub.ref corresponding to torque value τ.sub.2 to reference current generator 256, in response to which the control loop will generate the corresponding multiphase control signals to motor 210 for the next sample period n+1 to effect that electromagnetic braking. Of course, since no external brake 259 is available in this case, a longer stopping time will be experienced that would have occurred without regenerative braking according to this embodiment, but at a benefit of additional recovered energy.
[0064] If the current situation is such that braking cannot be compromised in favor of energy recovery (decision 53 is “no”), RB controller 240 will carry out process 48 to apply a torque signal τ.sub.ref corresponding to torque value τ.sub.1=τ.sub.desired as received from speed controller 251 in process 44. Because external brake 259 is not available, no torque signal τ.sub.ref will be generated in this instance of process 48.
[0065] If the absolute value of the desired braking torque (τ.sub.1) is not greater than the absolute value of the regenerative braking torque (τ.sub.2) corresponding to the maximum charging current, as indicated by decision 47 returning a “no” result, the regenerative braking algorithm will be effectively disabled, and in process 48 the reference torque τ.sub.ref is set to torque n and the external braking torque τ.sub.ext for systems including external brake controller 245 is set to zero. Similarly, if the current rotor speed estimate {circumflex over (ω)}[n] is below the minimum rotor speed ω.sub.rb,min, as indicated by decision 49 returning a “no” result, process 48 is executed by RB controller to apply torque signal τ.sub.ref corresponding to torque value τ.sub.1=τ.sub.desired, and also perhaps a torque signal τ.sub.ext to external brake controller 245 to control the application of external brake 259 as indicated by the conventional braking algorithm in system 250.
[0066] Following this instance of the braking operation in the generation of multiphase braking control signals, and external braking if desired, this process of
[0067] According to these embodiments, regenerative braking may be carried out for a wide range of synchronous machine types, including such machines as IPMs for which the operating regime for regenerative braking cannot be reduced to closed-form expressions. These embodiments thus permit the use of extremely accurate models of the motor and power system involved, specifically so as to take into account parameters that may be specific to the make and model of particular motors. In addition, these embodiments can be operated with or without the assistance of external mechanical braking, while still maximizing the charging current during regenerative braking. In addition, it is contemplated that the storing and access of braking torques in a lookup table, as used in connection with these embodiments, will reduce the computational load of the regenerative braking controller and can thus maximize the performance of the motor control system, facilitating a corresponding increase in the frequency at which the control loop operates.
[0068] While one or more embodiments have been described in this specification, it is of course contemplated that modifications of, and alternatives to, these embodiments, such modifications and alternatives capable of obtaining one or more the advantages and benefits of this invention, will be apparent to those of ordinary skill in the art having reference to this specification and its drawings. It is contemplated that such modifications and alternatives are within the scope of this invention as subsequently claimed herein.