SYSTEM AND METHOD FOR CONTROLLING AN ELECTRIC MOTOR
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.
Latest Ford Patents:
- Varnish applicator for electric motor
- Intelligent ticketing and data offload planning for connected vehicles
- Traction battery enclosure reinforcement assembly and reinforcing method
- Grid power dependent preconditioning of vehicle
- Personally identifiable information removal based on private area logic
Embodiments of the present invention relate to controlling an electric motor.
SUMMARY OF THE INVENTIONAt 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 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 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
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 FIG. 3—the output from the adjustment module 312 will be positive. Thus, the modified speed signal, ωm,adj, will be greater than the input speed signal ωm. In other embodiments, where the motor parameter being used is not speed—e.g., it is a motor torque—the output from the adjustment module 312 may be negative, and the modified signal will be less than the input signal. Based on one or more of the input torque signal Tref and the modified speed signal ωm,adj, the lookup tables 302, 304 can generate a d-q current command pair that includes a d-axis electrical current id,cmd and a q-axis electrical current iq,cmd. The electrical currents id,cmd and iq,cmd serve as inputs to the interface module 306, which functions as a current-to-voltage converter and accordingly converts id,cmd and iq,cmd to respective voltages vd,cmd and vq,cmd. 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,ctrl to the pulse width modulator 310, which generates the gate signals 116-126.1.
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
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.
Claims
1. A method for controlling an electric motor, the method comprising:
- receiving a first control command indicative of a desired motor control;
- determining a current operating condition for the motor;
- determining whether the first control command meets at least one predetermined criterion at the current operating condition;
- generating a second control command different from the first control command when the first control command meets the at least one predetermined criterion, generating the second control command including: determining a current value of a parameter of the motor, changing the value of the motor parameter, and using the changed motor parameter value to generate the second control command; and
- using the second control command to control the motor.
2. The method of claim 1, wherein each of the control commands is one of a voltage command or an electrical current command.
3. The method of claim 2, wherein the step of determining whether the first control command meets at least one predetermined criterion at the current operating condition includes determining whether the first control command at the current operating condition is indicative of a flux weakening state for the motor.
4. The method of claim 1, wherein the motor parameter is one of a speed, torque, or power for the motor.
5. The method of claim 1, wherein the motor parameter is speed, the step of generating the second control command including: determining a current speed of the motor, increasing the value of the motor speed, and using the increased value of the motor speed to generate the second control command.
6. The method of claim 1, wherein the desired motor control is one of a desired operating speed, torque, or power for the motor.
7. The method of claim 1, wherein the first control command is a voltage command that includes q and d components, and the step of determining whether the first control command meets at least one predetermined criterion includes determining whether a mathematical combination of the q and d components of the voltage command is greater than a predetermined value.
8. A control system for controlling an electric motor, comprising:
- a controller configured to:
- receive a first control command indicative of a desired motor control;
- determine a current operating condition for the motor;
- determine whether the first control command meets at least one predetermined criterion at the current operating condition;
- determine a current value of a parameter of the motor;
- change the value of the motor parameter when the first control command meets the at least one predetermined criterion;
- use the changed motor parameter value to generate a second control command different from the first control command; and
- use the second control command to control the motor.
9. The control system of claim 8, wherein the motor parameter is one of a speed, torque, or power for the motor.
10. The control system of claim 8, wherein the desired motor control is one of a desired operating speed, torque, or power for the motor.
11. The control system of claim 8, wherein the motor parameter is speed, the value of the motor speed being increased when the first control command meets the at least one predetermined criterion.
12. The control system of claim 8, wherein the first control command is a voltage command that includes q and d components, and the controller determination of whether the first control command meets at least one predetermined criterion includes determining whether a mathematical combination of the q and d components of the voltage command is greater than a predetermined value.
13. The controller of claim 8, wherein each of the current commands is one of a voltage command or an electrical current command.
14. A control system including at least one controller and configured to control an electric motor, the control system comprising:
- a check module configured to determine if the motor is in a field-weakened state, at a first value of a motor parameter, in response to a first control signal;
- an adjustment module configured to generate an adjusted motor parameter value if the motor is in the field-weakened state; and
- a lookup module configured to receive the adjusted motor parameter value and generate a second control signal to control the motor.
15. The control system of claim 14, wherein the adjustment module includes a summation module, the adjustment module being configured to generate the adjusted motor parameter by generating a differential value of the motor parameter and providing the differential value to the summation module, the summation module being configured to receive the first value of the motor parameter and the differential value of the motor parameter, and generate the adjusted motor parameter value.
16. The control system of claim 15, wherein the motor parameter is one of a speed, torque, or power for the motor.
17. The control system of claim 14, wherein the desired motor control is one of a desired operating speed, torque, or power for the motor.
18. The control system of claim 14, wherein the lookup module comprises a lookup table that includes a series of motor parameters and a corresponding series of control signal parameters, and wherein the lookup module is configured to select a control signal parameter from the series of motor parameters based on the received adjusted motor parameter value, and generate the second control signal based on the selected control signal parameter.
19. The control system of claim 14, further comprising a processor, wherein the processor includes the check module, the adjustment module, and the lookup module.
Type: Application
Filed: Sep 17, 2008
Publication Date: Mar 18, 2010
Applicant: FORD GLOBAL TECHNOLOGIES, LLC (Dearborn, MI)
Inventors: Hongrae Kim (Novi, MI), Michael W. Degner (Novi, MI), William Reynolds (Tecumseh)
Application Number: 12/212,021
International Classification: H02P 7/00 (20060101);