The present invention relates generally to fluid pump control, and more particularly to a method and system for avoiding overshoot in fluid pump control.
Pressurized fluid can be used to generate, control, and transmit power.
In the illustrated embodiment the hydraulic pump 14 is a variable displacement hydraulic pump, whereby pump displacement can be varied via a rotatable swashplate 20. In this regard, a controller 22, such as a programmable logic controller or other processor-based controller, provides a signal to an actuator 24 coupled to the swashplate 20, the signal corresponding to an angular position of the swashplate 20. Based on the signal provided by the controller 22, the actuator 24 moves the swashplate 20 to a desired angle to produce a desired displacement per revolution of the pump 14.
In conventional systems, the controller 22 includes a PID controller for controlling fluid pressure within the fluid system 10. To enhance performance of such systems, gain scheduling may be used to vary a proportional gain of the system.
In
A method and system in accordance with the present disclosure can reduce or even eliminate large pressure or torque overshoot imposed on fluid pumps. The system and method in accordance with the present disclosure can use predictive control to determine a feedforward term, which under certain conditions can be combined with the PID controller output or replace the PID controller output. One method in accordance with the present disclosure to reduce/eliminate pressure or torque overshoot is referred to as peak and hold.
According to one aspect of the invention, a method for controlling fluid pressure supplied by a fluid pump includes: determining whether there is an impending overshoot in fluid pressure supplied by the fluid pump; and engaging a peak and hold controller when it is determined that there is an impending overshoot in the fluid pressure supplied by the hydraulic pump, thereby reducing or eliminating fluid pressure overshoot.
According to one aspect of the invention, determining whether there is an impending overshoot includes concluding there is an impending overshoot when i) a flow provided by the fluid pump is greater than a predetermined percentage of full flow, ii) fluid pressure is greater than a predetermined percentage of a control command pressure, and iii) fluid pressure is continuously increasing over a predetermined time period.
According to one aspect of the invention, step iii) includes determining if feedback pressure is greater than previously sensed feedback pressures for a predetermined number of time steps, each time step having an associated respective one of the previously sensed control feedback pressures.
According to one aspect of the invention, the control command pressure is a desired pressure.
According to one aspect of the invention, the predetermined percentage of full flow is 75%.
According to one aspect of the invention, the predetermined percentage of control command pressure is 90%.
According to one aspect of the invention, engaging the peak and hold controller includes generating a fixed controller output signal.
According to one aspect of the invention, engaging the peak and hold controller includes holding the fixed controller output signal for a predetermined time period.
According to one aspect of the invention, the method includes disengaging the peak and hold controller and engaging the PID controller upon the predetermined time period expiring.
According to one aspect of the invention, the method includes determining the fixed value by predicting a future state of the pressure supplied by the fluid pump.
According to one aspect of the invention, determining the fixed value includes setting the fixed value equal to a value predicted to produce a desired pressure supplied by the fluid pump.
According to one aspect of the invention, engaging the peak and hold controller includes bypassing a PID controller.
According to one aspect of the invention, the controller output is a coil current for a fluid piston pump swashplate actuator.
According to one aspect of the invention, the method includes actuating a swashplate of a fluid piston pump at an angle corresponding to the desired output pressure of the fluid piston pump.
According to one aspect of the invention, the method includes holding the swashplate at the angle as the pressure supplied by the fluid pump rises to a desired output pressure.
According to one aspect of the invention, the method includes holding the swashplate at the angle for a predetermined time period after the desired output pressure is supplied by the fluid pump, thereby holding the output pressure of the fluid pump at the desired output pressure.
According to one aspect of the invention, engaging the peak and hold controller includes determining a feedforward term and combining the feedforward term with an output of a PID controller.
According to one aspect of the invention, determining whether there is an impending overshoot includes sensing a control feedback pressure.
According to one aspect of the invention, determining whether there is an impending overshoot includes comparing the control feedback pressure with a control command pressure.
According to one aspect of the invention, determining whether there is an impending overshoot includes comparing the control feedback pressure with a predetermined percentage of a control command pressure.
According to one aspect of the invention, a controller for controlling fluid pressure supplied by a fluid pump includes: a processor and memory; and logic stored in memory and executable by the processor, the logic including logic configured to cause the processor to execute the method described herein.
According to one aspect of the invention, a hydraulic system includes: a controller as described herein; and a fluid piston pump controlled by the controller.
The foregoing and other features of the invention are hereinafter described in greater detail with reference to the accompanying drawings.
A system and method in accordance with the present disclosure will be described with reference to the drawings, where like reference numerals are used to refer to like elements throughout. It will be understood that the figures are not necessarily to scale.
It is noted that a methodology to reduce/eliminate torque overshoot is similar to a methodology to reduce/remove pressure overshoot. Therefore, in the subsequent disclosure only a pressure overshoot reduction/removal methodology will be discussed. One having ordinary skill in the art would understand that the principles discussed herein are applicable to both scenarios.
In a fluid system pressure overshoot can be expected to occur when pressure continues to increase while fluid flow out of the pump is greater than a prescribed value (e.g., 75% of full flow and/or 90% of pressure command). If the pressure overshoot is significant, a conventional PID controller may not be able to compensate for the increasing pressure, and in some instances may make the situation worse due to integral windup. In accordance with the present disclosure, a peak and hold controller/method is used to implement overshoot reduction/removal.
According to control theory, a future state of a control variable can be predicted based on an estimate of future states of a process variable. In this regard, a controller output can be estimated based on a current trend of the controlled variable. The estimated controller output then can take the place of the PID control output.
For example, in pump pressure control swashplate coil current may be estimated so that the controller output can move the swashplate of the hydraulic piston pump prior to the occurrence of an overshoot and, hence, avoid the occurrence of future pressure overshoot. A peak and hold controller/method in accordance with the present disclosure can carry out such predictive control. As used herein, a peak and hold controller/method is a controller/method that switches out a variable controller output for a fixed prescribed output (peak) for use with a controlled process, the switch to the fixed prescribed output being maintained for a prescribed time period (hold), and upon the prescribed time period elapsing releasing the fixed prescribed output.
The peak and hold controller/method in accordance with the present disclosure sets the controller output to an estimated value based on the controlled variable. In this regard, the peak and hold controller/method bypasses the conventional PID control and provides a feedforward term for output by the controller/method. When controlling a pump, the controller output may be in the form of coil current for a swashplate actuator, and such coil current may vary depending on different pressure ranges. In accordance with peak and hold controller/method, an estimated coil current is given directly to the swashplate actuator (the “peak”) so that the angle of the pump swashplate changes accordingly. This current output or swash angle should remain unchanged for some time (the “hold”). Both the “peak” and “hold” values are predicted by the algorithm or determined by testing. The swashplate coil current output should be selected such that there is little or no oscillation in system pressure. Preferably, the current is set to implement bumpless transfer from peak and hold to PID control.
The peak value output by the controller may be based calibration data obtained during system setup and/or calibration. Further, the peak and hold cycle can repeat for a number of times until the overshoot is removed or reduced to an acceptable level. In addition,
A peak and hold controller 64 includes a first input connected to the positive-end input of the summing junction 34 (pressure command), a second input connected to the negative-end input of the summing junction 34 (pressure feedback), and a third input for receiving flow feedback 38. An output of the peak and hold controller 64 is connected to the other input of switch 62, the switch 62 being operative to select either the output from the PID controller 40 or the output from the peak and hold controller 64 as the control variable for the hydraulic pump 14.
Referring to
With additional reference to
Referring first to
Beginning at block 102, the fluid flow provided by the pump 14 is compared to a predetermined percentage of full flow rate of the pump 14 (rated pump flow). In one embodiment, the predetermined percentage of full flow rate is set to 75% of full (rated) flow of the pump 14. If the pump flow rate is not greater than the flow threshold, there is no impending overshoot and the method moves to block 116 where PID control is engaged. However, if the pump flow is greater than the flow threshold, the method moves to block 104 where the pump pressure (i.e., a pressure feedback, which may be sensed via pressure sensor 42) is compared to a percentage of the pressure control command (a percentage of pressure command 32). In one embodiment, the predetermined percentage of control command pressure is 90% of the command pressure.
If fluid pressure from the pump 14 is not greater than a predetermined percentage of the control command pressure, there is no impending overshoot and the method moves to block 116 where PID control is engaged. If the fluid pressure from the pump 14 is greater than the predetermined percentage of the control command pressure, then the method moves to block 106 to determine if fluid pressure is continuously increasing over a predetermined time period. In one embodiment, the predetermined time period is 5 milliseconds. For example, pressure can be said to be continuously increasing when a currently sensed feedback pressure is greater than previously sensed feedback pressures for a predetermined number of time steps, each time step having an associated respective one of the previously sensed control feedback pressures.
If the fluid pressure is not continuously increasing over the predetermined time period, there is no impending overshoot and the method moves to block 116 where PID control is engaged. However, if the fluid pressure is continuously increasing over the predetermined time period, it can be concluded that there is an impending overshoot and the method moves to block 108 where the PID controller 40 is disengaged (bypassed) and the peak and hold controller 64 is engaged.
For example, the switch 62 may be activated so as to decouple the input corresponding to the PID controller 40 from the switch output and couple the input corresponding to the peak and hold controller 64 to the switch output. Once engaged, the peak and hold controller 64 can generate a fixed controller output signal as indicated at block 110. The fixed value can be determined, for example, by predicting a future state of the pressure supplied by the fluid pump based on a particular controller output, and setting the output to correspond to the predicted pressure. In other words, the fixed value can be set equal to a value predicted to produce a desired pressure supplied by the fluid pump 14. The fixed controller output causes the actuator 24 to position the swashplate 20 at an angle corresponding to the desired output pressure of the pump.
At block 112 it is determined if a prescribed time delay for holding the fixed controller output signal has elapsed. If the time period has not elapsed, the method moves back to block 110, while if the time period has elapsed, the method moves to block 114. By holding the controller output to the prescribed fixed value the swashplate 20 is held at a fixed angle for the predetermined time period, thereby allowing the pressure supplied by the pump 14 to rise and be held at a desired output pressure. In one embodiment, the predetermined time period is 5 milliseconds. Upon the predetermined time period expiring, the peak and hold controller 64 is disengaged as indicated at block 114, and at block 116 the PID controller 40 is engaged. The method then moves back to block 102 and repeats.
Referring now to
In addition, the variable P_Feedback represents pressure feedback in the system 10, the variable P_Command_Pct represents a percentage of pressure command, and the variables P_Feedback(k) and P_Feedback(k−1) represent the current measured pressure feedback and the previously measured pressure feedback, respectively. The variable Fix_Current is a predetermined value which may be predicted by the algorithm or determined by testing, while the variable Adjustment_Current is a value provided by a manufacturer of the actuator 24. The variable Integ_raw_p represents a raw integral output for pressure control loop. The peak and hold algorithm also utilizes pump flow information that is denominated by the variable Q_Feedback. To determine the values of Count3, Count4, and Count5, a flow threshold of Q_Feedback is set by Full_Flow_Pct.
Moving now to
At block 212 an AND function is performed using the flags PHFlag1 and PHFlag2. More particularly, if both PHFlag1 and PHFlag2 are equal to 1, then the method moves to block 214 where the flag PHFlag3 is set to a non-zero value (e.g., PHFlag3 may be set to a value greater than 1) and the method moves to block 216. Moving back to block 212, if either PHFlag1 or PHFlag2 is not equal to 1, the method skips block 214 and moves to block 216.
Blocks 216-232 correspond to blocks 108-112 of
Next at block 224 it is determined if a Max valve or Min valve configuration is present in the system. Max valve and Min valve refer to two different types of control valves on the side of the pump. The max valve defaults the pump to maximum pump flow when no current is sent through the coils, while the min valve defaults the pump to minimum flow when no current is sent through the coils. During normal operation increasing current will either increase pump flow or decrease pump flow depending on the type of valve. Depending on the application, it may be desired that the pump go to minimum flow if power is lost, and in some applications it may be desired that the pump go to maximum flow if power is lost. If a Max valve configuration is present, then the method moves to block 226 where the variable P_Controller_Output is set to the sum of the variable FixCurrent and the variable AdjustmentCurrent and then moves to block 228. However, if at block 224 a Min valve configuration is present, the method bypasses block 226 and moves directly to block 228 where the variable Integ_raw_p is set to 0, and at block 230 the variable Count3 is incremented. If the flow or the percentage of spool stroke for a proportional directional control valve is directly proportional to the coil current, it is a min valve. If the flow or the percentage of spool stroke for a proportional directional control valve is inversely proportional to the coil current, otherwise, it is then a max valve.
Blocks 234-242 correspond to block 106 in
At block 244, the variable Count3 is compared to the constant Count3Time. If Count3 is greater than Count3Time, the method moves to block 246 where Count3 is set to Count3Time plus 2, and PHFlag2 is set to 0. Moving back to block 244, if Count3 is not greater than Count3Time, then block 246 is skipped and the method moves to block 250
Blocks 250-260 correspond to block 102 of
At block 254 the variable Count5 is compared to the variable Count4Time. If Count5 is greater than Count4Time, the method moves to block 256 where the variables Count3 and Count5 are set to 0, and then the method proceeds to block 258. Moving back to block 254, if Count5 is not greater than Count4Time, then the method bypasses block 256 and moves to block 258.
At block 258, Q_Feedback is compared to Full_Flow_Pct, and if Q_Feedback is less than Full_Flow_Pct the method moves to block 260 where the flag PHFlag2 is set to 0, and the method proceeds to block 262. If at block 258 Q_Feedback is not less than Full_Flow_Pct, then the method bypasses block 260 and moves to block 262.
At block 262, the variable Count4 is compared to the variable Count4Time, and if Count4 is less than Count4Time the method moves to block 264 where Count4 is incremented. If, however, at block 262 Count4 is not less than Count4Time then the method moves to block 266 where and P_Feedback(k) is set to P_Feedback(k−1) and Count4 is set to 0. A purpose of block 266 is to filter noise from the measured pressure. Upon completion of blocks 264 or 266, the method moves back to block 202 and repeats.
The peak and hold controller/methodology in accordance with the present disclosure provides improved response relative to conventional PID controllers. Further, since the algorithm can be implemented within a controller, retrofit of existing systems to such peak and hold functionality can be easily implemented.
Although the invention has been shown and described with respect to a certain embodiment or embodiments, it is obvious that equivalent alterations and modifications will occur to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In particular regard to the various functions performed by the above described elements (components, assemblies, devices, compositions, etc.), the terms (including a reference to a “means”) used to describe such elements are intended to correspond, unless otherwise indicated, to any element which performs the specified function of the described element (i.e., that is functionally equivalent), even though not structurally equivalent to the disclosed structure which performs the function in the herein illustrated exemplary embodiment or embodiments of the invention. In addition, while a particular feature of the invention may have been described above with respect to only one or more of several illustrated embodiments, such feature may be combined with one or more other features of the other embodiments, as may be desired and advantageous for any given or particular application.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2014/048132 | 7/25/2014 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
61859836 | Jul 2013 | US |