A method for controlling an electric motor includes receiving a first control command that is indicative of a desired motor control. A current operating condition for the motor is determined. It is then determined whether the first control command meets at least one predetermined criterion at the current operating condition. A second control command that is different from the first control command is generated when the first control command meets the at least one predetermined criterion. generating the second control command includes determining a current value of a motor parameter, changing the parameter value, and using the changed parameter value to generate the second control command. The second control command is then used to control the motor.
|
6. A control system for controlling an electric motor, comprising:
a check module outputting a saturation signal only when a voltage command signal indicates motor saturation;
an adjustment module generating a motor speed adjustment value based on the saturation signal;
a lookup module generating a control signal for the motor based on the motor speed adjustment value; and
a summation module using current motor speed and the motor speed adjustment value to generate adjusted motor speed.
1. A control system for controlling an electric motor, comprising:
a controller configured to:
receive a voltage command indicative of a desired motor control;
receive an input indicating a current operating condition for the motor;
compare the voltage command to at least one predetermined criterion that indicates motor saturation at the current operating condition;
increase the value of a motor speed when the voltage command meets the at least one predetermined criterion;
use the changed value of the motor speed to generate a control command for controlling the motor when the voltage command meets the at least one predetermined criterion;
use the control command to control the motor when the voltage command meets the at least one predetermined criterion; and
use the voltage command to control the motor when the voltage command does not meet the at least one predetermined criterion.
10. A method for controlling an electric motor, comprising:
receiving a voltage command indicative of a desired motor control;
generating at least one of an adjusted torque command or adjusted speed command only when a comparison of the voltage command to at least one predetermined criterion indicates motor saturation at a current motor speed or a current motor torque indicates motor saturation; and
using one of the adjusted torque command or the adjusted speed command to control the motor, and
wherein generating at least one of the adjusted torque command or the adjusted speed command includes generating at least one of an incremental adjustment value of a motor torque or an incremental adjustment value of a motor speed, and applying the incremental adjustment value of the motor torque or the incremental adjustment value of the motor speed to a respective current torque command or current speed command.
2. The control system of
3. The control system of
4. The control system of
5. The controller of
7. The control system of
8. The control system of
9. The control system of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
|
This application is a continuation of U.S. application Ser. No. 12/212,021 filed 17 Sep. 2008, which is hereby incorporated by reference herein.
Embodiments of the present invention relate to controlling an electric motor.
At least one embodiment of the present invention takes the form of a method for controlling an electric motor. The method includes receiving a first control command indicative of a desired motor control; this may be, for example, a desired motor speed, motor torque, or motor power. A current operating condition, such as a current motor speed or motor torque, is determined for the motor. It is determined whether the first control command meets at least one predetermined criterion at the current operating condition. Such a predetermined criterion or criteria may include, for example, whether a mathematical combination of voltage signals is above or below some predetermined value, or whether the motor is operating in a flux weakening state. A second control command that is different from the first control command is generated when the first control command meets the at least one predetermined criterion. The step of generating a second control command includes determining a current value of a motor parameter, changing the value of the parameter—e.g., by increasing it or decreasing it—and using the increased parameter value to generate the second control command. The second control command is then used to control the motor.
Several embodiments of the present invention may be understood by referring to the following Detailed Description in conjunction with the accompanying figures, in which:
The figures are not necessarily to scale and may be simplified for clarity.
The controller 102 controls the motor 106 to achieve a desired motor control parameter, such as motor speed, torque, or power. In the embodiment shown in
The controller 102 also receives an input motor-speed signal ωm. The motor-speed signal ωm may be measured or calculated as described below. For example, the motor may have a position encoder 110 through which the change of the motor position θ can be measured over a prescribed time interval. A differentiator 112 can determine the derivative of the motor position θ from the equation ωm=Δθ/Δt, where Δt is the sampling time and Δθ is the change in position during the sampling time. Alternatively, a speed measuring circuit 114 may be used to directly measure the speed of the rotor and provide a motor speed signal ωm to the controller. Other embodiments may include an observer, an estimator, or a filter to provide a value that is indicative of motor speed to the controller 102.
In the embodiment shown in
In order to perform the prescribed functions and desired processing, the controller 102 may include a processor, memory, storage, timing apparatus, communication apparatus, input/output apparatus, and combinations of the foregoing. For example, the controller 102 may include signal filtering apparatus to enable accurate sampling, conversion, or acquisition of such signals from communication interfaces. The controller 102 may include, or be implemented with, various processors, controllers, microcontrollers, logic/gate arrays, programmable logic arrays, and combinations of the foregoing. Additional features of the controller 102 are discussed below.
In the graph 200, d-q electrical current pairs that correspond to a desired torque value (X Nm) form a torque curve 206. The d-q electrical current pairs that correspond to a first speed (e.g., x rad/sec) form a voltage ellipse 210, which represents an operating boundary of the motor 106 at the first speed. The current pairs that correspond to a second speed (e.g., y rad/sec) form another voltage ellipse 212, which represents an operating boundary of the motor 106 at the second speed.
A current-command trajectory is a shift in a motor operating condition. In
Such transient responses can result from manufacturing non-idealities of the motor 106. Examples of manufacturing non-idealities include, but are not limited to, inaccurate calibration of look-up tables in the controller 102, external noise, and transmission-line losses. These non-idealities can occur more frequently at higher speeds at which the motor 106 is in a field-weakened state. At least one embodiment of the present invention can mitigate or prevent such a transient response in the motor 106. The following disclosure describes a controller embodiment and a method embodiment.
The lookup tables 302, 304 each receive the input torque signal Tref and a modified speed signal ωm,adj. The torque signal Tref is one example of a signal indicative of a desired motor control. The modified speed signal ωm,adj is a summation of the input speed signal ωm and an incremental speed signal Δωm output by the adjustment module 312. When the motor parameter being used in the controller 102 is a motor speed—as illustrated in
The saturation-check module 308 receives vd,cmd and vq,cmd, and determines if a combination of vd,cmd and vq,cmd exceeds a predetermined value, a condition that is indicative of “saturation.” If a mathematical combination of vd,cmd and vq,cmd exceeds the predetermined value, the saturation-check module 308 can provide a signal 314 to the adjustment module 312 indicating saturation. Otherwise, the saturation-check module can pass the voltage commands as voltage control signals vd,ctrl and vq,ctr to the pulse width modulator 310, which generates the gate signals 116-126.
The adjustment module 312 can receive the signal from the saturation-check module 308 indicating saturation and provide an incremental speed signal Δωm to a summing apparatus 316. Although it is shown separately, the summing apparatus may be part of the adjustment module 312. The summing apparatus 316 can sum the speed input ωm and the incremental speed signal Δωm to generate the modified, or adjusted, speed signal ωm,adj and provide the modified speed signal ωm,adj to the lookup tables 302, 304.
Block 410 illustrates a step in which the saturation-check module 306 receives a control command that is indicative of a desired motor control. In the embodiment shown in
vcmd=sqrt(vd,cmd2+vq,cmd2),
where vcmd is the first voltage command,
vd,cmd and vq,cmd are the voltage command values, and
sqrt( . . . ) is the square-root operation.
Blocks 412 and 414 illustrate steps in which the saturation-check module 308 determines a current operating condition for the motor, and whether the control command meets a predetermined criterion at the current operating condition. This may include, for example, a determination of whether the control command at the current operating condition indicates that the motor is saturated. In some embodiments, the saturation-check module 308 checks for saturation by comparing the magnitude of the control command vcmd to the magnitude of a pre-determined value. If the magnitude of vcmd is greater than the magnitude of the predetermined value, the saturation-check module 308 transmits signal 314 to the adjustment module 312, and the method proceeds to step 416. Otherwise, the method ends with the saturation-check module 308 passing vd,cmd and vq,cmd to the pulse width modulator 310 as voltage control signals vd,ctrl and vq,ctrl.
Blocks 416 and 418 illustrate steps in which the controller 102 determines a current value of a motor parameter and changes the parameter value, which, as explained above, may mean increasing or decreasing the parameter value. In the embodiment shown in
Block 420 illustrates a step in which the increased parameter value is used to generate a new control command that is different from the first control command. In controller 102, the lookup tables 302, 304 each receive the adjusted speed signal ωm,adj and provide modified current signals to the interface module 306. The interface module 306 then generates a corresponding set of modified voltage signals, and the method returns to decision block 414. In this manner, the controller 102 can increment the motor speed value until it determines that the motor 106 is no longer in a saturated condition. The controller 102 can then supply the adjusted voltage control values that correspond to the incremented motor speed for improved-transient control.
While several embodiments of the present invention have been illustrated and described, it is not intended that these embodiments illustrate and describe all possible forms of the invention. Rather, the words used in this section are words of description rather than limitation, and various changes may be made without departing from the spirit and scope of the invention.
Degner, Michael W., Reynolds, William, Kim, Hongrae
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
4649331, | May 13 1985 | Lockheed Martin Corporation | Flux-weakening regime operation of an interior permanent magnet synchronous motor |
5032771, | Aug 09 1990 | Allen-Bradley Company, Inc. | Slip control based on sensing voltage fed to an induction motor |
5656911, | Dec 27 1994 | Fuji Electric Company; Nissan Motor Company | Circuit for driving permanent-magnet synchronous motor using proportional controller |
5923728, | May 09 1997 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | Motor controller |
6288515, | Apr 19 2000 | GM Global Technology Operations LLC | System and method for controlling a surface-mounted permanent magnet synchronous machine drive over a wide speed range using a reference voltage |
6362586, | Sep 15 2000 | GM Global Technology Operations LLC | Method and device for optimal torque control of a permanent magnet synchronous motor over an extended speed range |
6407531, | Jan 09 2001 | DELPHI TECHNOLOGIES IP LIMITED | Method and system for controlling a synchronous machine over full operating range |
6429620, | Jan 07 2000 | Kabushiki Kaisha Toshiba | Motor control device |
6741060, | Apr 05 2001 | DELPHI TECHNOLOGIES IP LIMITED | Method and system for controlling a permanent magnet machine during fault conditions |
6894454, | Oct 10 2002 | GM Global Technology Operations LLC | Position sensorless control algorithm for AC machine |
7065437, | Aug 21 2003 | Steering Solutions IP Holding Corporation | Current limit for an electric machine |
7586286, | Nov 17 2006 | Continental Automotive Systems, Inc | Method and apparatus for motor control |
7592765, | Oct 25 2006 | GM Global Technology Operations LLC | Method and system for controlling synchronous motor drive systems |
7759886, | Jul 27 2007 | GM Global Technology Operations LLC | Linearity for field weakening in an interior permanent magnet machine |
7845459, | Jun 06 2006 | Toyota Jidosha Kabushiki Kaisha | Electric power steering apparatus and method for controlling the electric power steering apparatus |
8285451, | Mar 17 2005 | NSK Ltd | Method and apparatus for controlling electric power steering system |
20030222612, | |||
20040007997, | |||
20040100221, | |||
20050046369, | |||
20060055363, | |||
20060181239, | |||
20060261765, | |||
20070035269, | |||
20070250233, | |||
20080315802, | |||
20110241578, | |||
20110241585, | |||
20130002174, | |||
20140203754, | |||
EP1729407, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 30 2014 | Ford Global Technologies, LLC | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Aug 12 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 13 2021 | 4 years fee payment window open |
Sep 13 2021 | 6 months grace period start (w surcharge) |
Mar 13 2022 | patent expiry (for year 4) |
Mar 13 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 13 2025 | 8 years fee payment window open |
Sep 13 2025 | 6 months grace period start (w surcharge) |
Mar 13 2026 | patent expiry (for year 8) |
Mar 13 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 13 2029 | 12 years fee payment window open |
Sep 13 2029 | 6 months grace period start (w surcharge) |
Mar 13 2030 | patent expiry (for year 12) |
Mar 13 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |