The present application generally relates to motor control systems, and particularly to managing supply current in motor control systems under voltage saturated conditions, and more particularly to motor control systems used in electric machines like electric power steering (EPS) systems.
EPS systems typically use an electric motor drive to provide steering assist torque to a driver. Typically, torque control of an electric motor drive system that uses a permanent magnet synchronous machine (PMSM) is performed indirectly by regulating the motor current. In general, the current control of machine currents is performed using a feedback control architecture with measured currents in the synchronously rotating reference frame utilizing the field oriented control (FOC) technique. Feedback control typically exhibits good steady-state tracking performance, fast dynamic response, high bandwidth and satisfactory disturbance rejection. As a result, feedback current control is commonly used to control multi-phase AC machines such as PMSMs.
A motor control system for preventing controller windup and managing supply current under voltage saturation conditions is provided in accordance with one or more illustrative embodiments. The motor control system comprises a voltage limiting module configured to receive a pre-limit voltage command and generate a post-limit voltage command when the motor control system reaches a selected voltage limit corresponding to a configured threshold for limiting voltage applied to a motor controlled by the motor control system; and an anti-windup module configured to determine a voltage difference by subtracting the post-limit voltage command from the pre-limit voltage command, and to compute an anti-windup feedback current using the voltage difference and compensation gains selected to minimize supply current.
A method for preventing controller windup and managing supply current under voltage saturation conditions in an electric motor is also provided in accordance with one or more illustrative embodiments. For example, the method includes receiving, by voltage limiting module in a motor control system, a pre-limit voltage command and generating a post-limit voltage command when the motor control system reaches a selected voltage limit corresponding to a configured threshold for limiting voltage applied to a motor controlled by the motor control system; and determining, by an anti-windup module in the motor control system, a voltage difference by subtracting the post-limit voltage command from the pre-limit voltage command, and computing an anti-windup feedback current using the voltage difference and compensation gains selected to minimize supply current.
In accordance with other illustrative aspects of the system and method, the compensation gains comprise a gain matrix of values selected to move a motor current trajectory of the motor toward a null motor current vector, and the anti-windup module multiplies the gain matrix values by the voltage difference.
In accordance with another illustrative aspect of the system and method, the anti-windup module computes the anti-windup feedback current using a calculation comprising scaling the difference using a gain matrix
where KAdd, KAdq, KAqd, and KAqq are anti-windup parameters.
In accordance with another illustrative aspect of the system and method, the anti-windup feedback current is provided as feedback to an input current command to the motor control system to introduce feedback cross-coupling of the voltage difference to the current error.
In accordance with another illustrative aspect of the system and method, the anti-windup feedback current and an input current command are added and provided as an input to an integral controller to generate a voltage command.
In accordance with another illustrative aspect of the system and method, the input current command is further modified by adding a second feedback current based on a measured current of the electric motor.
In accordance with an illustrative aspect of the system and method, the pre-limit voltage command is computed based on a back-EMF compensation and a feedback based on a measured current of the electric motor.
An example steering system is provided that has an electric motor that generates an amount of torque corresponding to a post-limit voltage command; and a controller that receives an input current command and generates a voltage command for the motor. The controller comprises a voltage limiting module configured to receive a voltage command corresponding to a pre-limit voltage command and generate post-limit voltage command when the motor control system reaches a selected voltage limit corresponding to a configured threshold for limiting voltage applied to the motor; and an anti-windup module configured to determine a voltage difference by subtracting the post-limit voltage command from the pre-limit voltage command, and to compute an anti-windup feedback current using the voltage difference and compensation gains selected to minimize supply current. The anti-windup feedback current modifies the input current command to the controller to prevent controller windup in a motor control system and to minimize supply current draw under voltage saturated current control.
In accordance with illustrative aspect of the steering system, the anti-windup feedback current is calculated by scaling the difference between the post-limit voltage command and the pre-limit voltage command. For example, the difference is scaled using a gain matrix
where KAdd, KAdq, KAqd and KAqq are anti-windup parameters.
In accordance with anther illustrative aspect of the steering system, the input current command is further modified by a second feedback current based on a measured current of the electric motor.
These and other advantages and features will become more apparent from the following description taken in conjunction with the drawings.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
As used herein the terms module and sub-module refer to one or more processing circuits such as an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. As can be appreciated, the sub-modules described below can be combined and/or further partitioned.
Referring now to the Figures, where the technical solutions will be described with reference to specific embodiments, without limiting same,
Electric power steering assist is provided through the control apparatus generally designated by reference numeral 24 and includes the controller 16 and an electric machine 19, which could be a permanent magnet synchronous motor (PMSM), and is hereinafter denoted as motor 19. The controller 16 is powered by the vehicle power supply 10 through line 12. The controller 16 receives a vehicle speed signal 14 representative of the vehicle velocity from a vehicle velocity sensor 17. Steering angle is measured through position sensor 32, which may be an optical encoding type sensor, variable resistance type sensor, or any other suitable type of position sensor, and supplies to the controller 16 a position signal 20. Motor velocity may be measured with a tachometer, or any other device, and transmitted to controller 16 as a motor velocity signal 21. A motor velocity denoted ωm may be measured, calculated or a combination thereof. For example, the motor velocity om may be calculated as the change of the motor position θ as measured by a position sensor 32 over a prescribed time interval. For example, motor speed ωm may be determined as 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 interval. Alternatively, motor velocity may be derived from motor position as the time rate of change of position. It will be appreciated that there are numerous well-known methodologies for performing the function of a derivative.
As the steering wheel 26 is turned, torque sensor 28 senses the torque applied to the steering wheel 26 by the vehicle operator. The torque sensor 28 may include a torsion bar (not shown) and a variable resistive-type sensor (also not shown), which outputs a variable torque signal 18 to controller 16 in relation to the amount of twist on the torsion bar. Although this is one type of torque sensor, any other suitable torque-sensing device used with known signal processing techniques will suffice. In response to the various inputs, the controller sends a command 22 to the electric motor 19, which supplies torque assist to the steering system through worm 47 and worm gear 48, providing torque assist to the vehicle steering.
It should be noted that although the disclosed embodiments are described by way of reference to motor control for electric steering applications, it will be appreciated that such references are illustrative only and the disclosed embodiments may be applied to any motor control application employing an electric motor, e.g., valve control, fluid pumps, and the like. Moreover, the references and descriptions herein may apply to many forms of parameter sensors, including, but not limited to torque, position, speed and the like. It should also be noted that reference herein to electric machines including, but not limited to, motors, hereafter, for brevity and simplicity, reference will be made to motors only without limitation.
In the control system 24 as depicted, the controller 16 utilizes the torque, position, and speed, and like, to compute a command(s) to deliver the required output power. Controller 16 is disposed in communication with the various systems and sensors of the motor control system. Controller 16 receives signals from each of the system sensors, quantifies the received information, and provides an output command signal(s) in response thereto, in this instance, for example, to the motor 19. Controller 16 is configured to develop the corresponding voltage(s) out of inverter (not shown), which may optionally be incorporated with controller 16 and will be referred to herein as controller 16, such that, when applied to the motor 19, the desired torque or position is generated. In one or more examples, the control system 24 operates in a feedback control mode, as a current regulator, to generate the command 22. Alternatively, in one or more examples, the control system 24 operates in a feedforward control mode to generate the command 22. Because these voltages are related to the position and speed of the motor 19 and the desired torque, the position and/or speed of the rotor and the torque applied by an operator are determined. A position encoder is connected to the steering shaft 51 to detect the angular position θ. The encoder may sense the rotary position based on optical detection, magnetic field variations, or other methodologies. Typical position sensors include potentiometers, resolvers, synchros, encoders, and the like, as well as combinations comprising at least one of the forgoing. The position encoder outputs a position signal 20 indicating the angular position of the steering shaft 51 and thereby, that of the motor 19.
Desired torque may be determined by one or more torque sensors 28 transmitting torque signals 18 indicative of an applied torque. One or more illustrative embodiments include such a torque sensor 28 and the torque signal(s) 18 therefrom, as may be responsive to a compliant torsion bar, T-bar, spring, or similar apparatus (not shown) configured to provide a response indicative of the torque applied.
In one or more examples, a temperature sensor(s) 23 is located at the electric machine 19. Preferably, the temperature sensor 23 is configured to directly measure the temperature of the sensing portion of the motor 19. The temperature sensor 23 transmits a temperature signal 25 to the controller 16 to facilitate the processing prescribed herein and compensation. Typical temperature sensors include thermocouples, thermistors, thermostats, and the like, as well as combinations comprising at least one of the foregoing sensors, which when appropriately placed provide a calibratable signal proportional to the particular temperature.
The position signal 20, velocity signal 21, and a torque signal(s) 18 among others, are applied to the controller 16. The controller 16 processes all input signals to generate values corresponding to each of the signals resulting in a rotor position value, a motor speed value, and a torque value being available for the processing in the algorithms as prescribed herein. Measurement signals, such as the above mentioned are also commonly linearized, compensated, and filtered as desired to enhance the characteristics or eliminate undesirable characteristics of the acquired signal. For example, the signals may be linearized to improve processing speed, or to address a large dynamic range of the signal. In addition, frequency or time based compensation and filtering may be employed to eliminate noise or avoid undesirable spectral characteristics.
In order to perform the prescribed functions and desired processing, as well as the computations therefore (e.g., the identification of motor parameters, control algorithm(s), and the like), controller 16 may include, but not be limited to, a processor(s), computer(s), DSP(s), memory, storage, register(s), timing, interrupt(s), communication interface(s), and input/output signal interfaces, and the like, as well as combinations comprising at least one of the foregoing. For example, controller 16 may include input signal processing and filtering to enable accurate sampling and conversion or acquisitions of such signals from communications interfaces. Additional features of controller 16 and certain processes therein are thoroughly discussed at a later point herein,
The controller 16 receives a motor torque command 136 from a torque control system 134 such as, for example, a steering control system. The controller 16 includes control logic 134 and 38 for sending a motor voltage command based on the torque command to the motor 19 through the inverter 122.
To limit the motor voltage command VR within the operating parameters of the inverter 122 during operational control of the motor 19, Vorg may be modified. As shown in
When the controller 16 computes voltage commands (transient or steady-state) beyond the voltage limit of the system, the voltage commands are limited to the maximum available battery voltage and the states (or element of the controller that has memory), such as that of an integrator, become incorrect, because they do not conform to the non-limited or pre-limited voltage commands computed originally. If the saturated condition lasts for a long period of time, the states of the controller may become highly incorrect. When the system returns to the linear operating range, the states can return to correct values after a certain amount of time, which is dependent on how long the saturation condition lasts as well as the post saturation conditions. This situation, referred to as controller windup, can produce poor overall control system performance and instability.
Accordingly, it is desirable to include an anti-windup (AW) apparatus/components to improve performance of the motor control system, and in turn the EPS system using the motor control system.
Further, particularly in case of the EPS system 40, as one of the main electric loads in a vehicle energy network, it is desired that the EPS system 40 be equipped with the capability of actively monitoring and controlling the supply current consumption. Such supply current consumption monitoring and control is driven by, among other reasons, the need to protect the vehicle electrical network especially under weak health conditions. For example, sharp transients in the supply current drawn by the EPS system 40 during abrupt voltage changes (that may be caused by internal errors in the vehicle electrical network) can result in further degradation of the electrical network health. When the supply voltage drops abruptly, the motor current control system within the EPS control loop exhibits voltage command saturation, which activates the anti-windup control apparatus that may be implemented for managing the dynamics of the overall control system.
Existing anti-windup apparatus/techniques attempt to maximize the motor torque or current production under saturation conditions. Alternatively stated, the goal of the existing anti-windup techniques, besides managing controller windup, is to minimize motor current tracking error when the controller 16 enters a voltage saturation condition. The goal of torque or current maximization directly contradicts the objective of supply current overshoot minimization, because the latter requires the motor torque and currents to be minimized.
The technical solutions described herein address such technical challenges by minimizing the supply current draw under voltage saturation conditions while providing anti-windup features. The technical solutions described herein cause the motor current control system to follow an electric-current trajectory that ends at the null motor current vector, or more generally towards a state of lower current vector magnitude in both (e.g., all) directions. This results in the minimization of supply current under voltage saturation, because the supply current reduces with reduction in motor currents.
As shown in
The motor 19 depicted in
VDCIS−RDCIS2=3/2(VdId+VqIq (Equation 1)
Here, VDC is the input voltage from the battery 10, RDC is the resistance of the electric motor drive system, and IS is the electric current that is input to the electric motor drive system, and where Vd, Vq are the d/q motor voltages, Id, Iq are the d/q motor currents. In one or more embodiments the voltage values are measured in Volts and the electric current values are measured in Amperes.
The following equations defined in the d/q axis coordinate frame describe the plant transfer function (using line to neutral definitions) of the plant of the motor 20:
Where Vd, Vq are the d/q motor voltages (in Volts), Id, Iq are the d/q motor currents (in Amperes), Ld, Lq are the d/q axis motor inductances (in Henries), R is the motor circuit (motor plus controller) resistance (in Ohms), Ke is the motor BEMF constant (in Volts/rad/s), ωm is the mechanical motor velocity in (in rad/s), and Te is the electromagnetic motor torque (in Nm).
In some embodiments, the limiter module 316 is a direction preserving voltage limiter that maintains the original phase angle while reducing the magnitude to the maximum available voltage. However, other voltage limiters may be used for the limiter module 316 that modify both the magnitude and the angle of the voltage command. The limiter module 316 outputs a limited voltage command represented by VM.
A current command generator (not shown in
Further, the flux linkages of the plant may be expressed as:
λd=LdId−λm=LdId−2/NPKe (Equation 5)
λq=LqLq (Equation 6)
Note that the d-axis flux linkage comprises the flux due to the permanent magnets λm, and an opposing flux component due to the d-axis motor current. In terms of the flux linkages, the voltage equations may be restated as:
Vd={dot over (λ)}d+ωeλq+IdR (Equation 7)
Vq={dot over (λ)}q−ωeλd+IqR (Equation 8)
In, the steady state, the voltage equations may become,
Vd=ωeλq+IdR (Equation 9)
Vq=−ωeλd+IqR (Equation 10)
The motor 19 together with the controller 16 makes up a closed-loop system that has a certain frequency response characteristic. As can be appreciated, the frequency response of the closed-loop system is governed by a set of model equations that defines a transfer function that transforms the input current command IR to the output current IM. In other words, the controller 16 regulates the output current IM by sending the actual motor voltage command VM generated based on the input current command IR. IM is the current measured and fed back to the controller 16.
The modification module 320 shown in
The compensation modules 306 and 310 depicted in
The compensation module 306 is a proportional controller and the compensation module 310 is an integral controller, together being part of the PI controller 365. The proportional compensation module CP aids in configuring the frequency response of the closed-loop system when the first order type response is desired, in addition to providing beneficial tradeoffs between the motor input disturbance transfer function behavior and the current measurement noise transfer function behavior. When a higher order transfer function (e.g., a third order) is desired, a different configuration than the PI controller 365 is utilized. For example, only an integrator module 308 and compensation module (CI) 308 may be used, without the proportional compensator (CP) 306. In such cases the output of the PI controller 365 is just the VI, which may be further compensated by the BEMF compensator 302 to generate PI controller output VR.
As used herein, the term “module” or “sub-module” refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. When implemented in software, a module or a sub-module can be embodied in memory as a non-transitory machine-readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. Moreover, the modules and sub-modules shown in
In some embodiments, the controller 16 is a feedback controller having a closed-loop control logic. That is, the output current of the motor 19 is fed back to the controller 16 and the controller 16 uses the feedback to regulate the output of the motor 19. As the output current IM is fed back to the controller 16, a controller windup may be generated, where motor voltage command VR may exceed actual motor voltage command VM. This can lead to instability in a motor control system because of a windup condition that is generated in this circumstance, which is a technical challenge addressed by the technical solutions described herein.
Control systems are typically designed to satisfy a set of linear performance metrics, but the control systems typically utilize actuators, such as inverters, that have operating limits. Controller windup may occur when the controller 16 produces control signals that are beyond actuator capabilities, causing saturation. Under a saturation condition, the control signals that are applied to the plant are limited and every component of the controller that has memory (or states) is updated incorrectly. This condition can result in controllers with memory accumulating large errors, which can return to correct values only after the system has come out of saturation and remained in this condition for a period of time. Thus, when controller windup occurs, the system can potentially remain in the saturated condition for a period of time longer than desirable, and ultimately degrade overall performance. The technical solutions described herein address such a technical challenge by facilitating preventing controller windup occurrences.
Further, particularly in PMSM drive systems in EPS systems, the DC bus voltage is supplied by the vehicle battery 10. Typically, to make the most use of the PMSM's capability, the drive system is operating in the maximum torque per voltage (MTPV) mode in which the PMSM can generate the maximum torque under the given battery voltage. During operation near the voltage limit, the actuator is more likely to saturate, especially under the presence of parameter errors or when the motor control system is subjected to external disturbances or failures. The technical solutions described herein address such a technical challenge by facilitating preventing controller windup occurrences using an anti-windup module 301, as illustrated in
As described in more detail below, the anti-windup (AW) module 301 selectively detects a voltage saturation condition and supplies an accurate representation of the actual motor voltage command VM to an input of the motor control system, thereby improving system performance. A voltage saturation condition may occur when a vector summation of an output of the current regulators of both the d and q axes current loops becomes greater in magnitude than the available DC link voltage VDC. A voltage saturation condition may be expressed according to the following equation:
√{square root over (VdR2+VqR2)}≥VDC (Equation 11)
With continued reference to
It can be seen from the above equations that both, motor currents Idq and (alternatively) the motor voltages Vdq contribute to the power consumption or supply current draw. Accordingly, the one or more embodiments facilitate controlling overall supply current by altering the trajectory of the voltage vector in a way such that the motor currents are reduced.
VC=VR−VM Equation (12)
The M module 530 is configured with compensation gains that minimize supply current draw. For minimizing the current draw, the matrix implemented via the M module 530 causes the motor current trajectory to move towards the null motor current vector, or more generally towards a state of lower current vector magnitude in all directions, when the commanded motor voltage (VR) is unequal to the final (limited) voltage (VM).
The M module 530 receives the voltage difference VC and computes an anti-windup feedback current IAW. The anti-windup feedback current is added with the current command IE, which is being input to the integral controller (308, 310) within the PI controller 365. The M module 530 computes the anti-windup feedback current based on the voltage difference VC using one or more configurable parameters. In one or more examples, the parameters are configured as values in a matrix that is multiplied with the voltage difference VC.
To further explain the operation, a simplified embodiment of the AW module 301 is described next.
For simplicity, a 1 degree-of-freedom current controller is depicted, however it is understood that the controller can have 2, 3, . . . , n degrees of freedom in other embodiments. The M module 530, in this case, includes four gain parameters for introducing feedback cross-coupling of the voltage difference Vc between the pre-limit and post-limit (VR and VM) to the current error (IE). The current vector with the proposed anti-windup scheme is expressed as follows:
IT=(CP+H+KI+P−1)−1KIIR+(CP+H+KI+P−1)−1(J+KICA)(VR−VM) Equation (13)
In the above equation (12), IT represents the true motor current output.
By scaling the vector difference between the pre-limit and post-limit voltage commands, the AW module 301 limits the input and output of the integral controller 366 when voltage limiter 316 is activated (or when the motor control system reaches the voltage limit). It should be noted that the voltage limiter 316 is activated only when the voltage command from the adder 314 exceeds the configured threshold for limiting the voltage being applied to the motor 19. When the motor control system 100 is settled to steady-state, the modified input of the integrator 308 is zero while the output remains constant. Because the integral controller 366 is always in operation, the motor control system 100 transitions from unsaturation to saturation in a seamless and smooth manner.
Assuming accurate decoupling via the state-feedback compensator (320) and exact back-EMF compensation (302) using the disturbance feedforward term, the motor currents may be expressed in s-domain as follows.
In the steady-state, the final modified currents can be written as
Accordingly, as per the equations, the steady-state values of the motor currents can be changed when the voltage error is non-zero (i.e., under voltage saturated operation) by selecting the anti-windup compensator gains KAdd, KAdq, KAqd, and KAqq. For instance, positive values of KAdq and KAqq result in a negative value of IAq under all conditions, which therefore results in lower supply current draw. The other gains may be selected and tuned similarly to cause both the motor currents ITq and ITd to tend towards lower values and thus in-turn reduce supply current during voltage saturated operation. Accordingly, the anti-windup compensator gains KAdd, KAdq, KAqd, and KAqq of the M module 530 are configured to reduce supply current during voltage saturated operation. Further, the linear gains can be replaced by any arbitrary mathematical functions (which may be linear or non-linear in nature) that assist simultaneous reduction of both motor currents under voltage saturated operation.
The technical solutions described herein facilitate minimizing supply current draw under voltage saturated current control operation of synchronous motor drives. The technical solutions described herein address the technical challenges regarding windup of a motor control system. The technical solutions described herein improve the existing anti-windup techniques because the existing solutions are developed using steady state models and inherently assume that voltage saturation (transient or steady state) does not occur. In case voltage saturation occurs, existing techniques cannot control the supply current behavior since the anti-windup compensators dominate the motor current tracking behavior which ultimately determines the supply current variation. Accordingly, the technical solutions described herein provide an improved anti-windup by minimizing supply current draw under voltage saturated current control operation of synchronous motor drives.
With continued reference to
The method includes computing post-limited voltage command (VM) from the pre-limited (VR) using the limiting module 316. The limiting module 316 determines if the pre-limited voltage command exceeds the predetermined threshold for a maximum voltage command that is to be applied to the motor 19. If the threshold is exceeded, the anti-windup module 301 is activated and the pre-limit and the post-limit voltage commands (VR and VM) are input to the anti-windup module 301.
The resulting value from the anti-windup module 301 is fed back as a feedback current IAW to modify the current command IE that is being input to the PI controller 365 that generates the voltage command that is input to the voltage limiting module 316. This process that includes at least the above operations is continuous.
The resulting voltage command from the voltage limiting module 316 is applied to the motor 19. The voltage command is generated based on the modified current command. It should be noted that the output current from the motor 19 is also used in at least two separate feedback loops one to generate the pre-limit voltage command (VR) and one to generate the input current command (IE).
While the invention has been described in detail in connection with only a limited number of embodiments, it should be readily understood that the invention is not limited to such disclosed embodiments. Rather, the invention can be modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the invention. Additionally, while various embodiments of the invention have been described, it is to be understood that aspects of the invention may include only some of the described embodiments. Accordingly, the invention is not to be seen as limited by the foregoing description.
Number | Name | Date | Kind |
---|---|---|---|
6841969 | Schulz | Jan 2005 | B1 |
20040007997 | Fu | Jan 2004 | A1 |
20060055363 | Patel | Mar 2006 | A1 |
20110309781 | Tomigashi | Dec 2011 | A1 |
20160373043 | Yamazaki | Dec 2016 | A1 |
20190363653 | Mok | Nov 2019 | A1 |
Number | Date | Country | |
---|---|---|---|
20210159827 A1 | May 2021 | US |