The present disclosure relates to internal combustion engines and to control systems and methods for reducing vibrations in internal combustion engines, such as engines for propelling marine vessels.
U.S. Pat. No. 6,109,986 discloses an idle speed control system for a marine propulsion system. The system controls an amount of fuel injected into the combustion chamber of an engine cylinder as a function of the error between a selected target speed and an actual speed. The speed can be engine speed measured in revolutions per minute or, alternatively, it can be boat speed measured in nautical miles per hour or kilometers per hour. By comparing target speed to actual speed, the control system selects an appropriate pulse width length for the injection of fuel into the combustion chamber and regulates the speed by increasing or decreasing the pulse width.
This Summary is provided to introduce a selection of concepts that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter.
In certain examples systems comprise an internal combustion engine having a plurality of piston-cylinders that cause rotation of a crankshaft, a crankshaft sensor configured to sense rotational speed of the crankshaft, and a controller having a processor and a memory. The controller is configured to calculate an acceleration of each piston-cylinder based upon the rotational speed of the crankshaft and then balance the accelerations of the respective piston-cylinders by modifying a combustion input to one or more of the piston-cylinders.
In certain examples, methods are for controlling an internal combustion engine having a plurality of piston-cylinders that cause rotation of a crankshaft. The methods comprise sensing rotational speed of the crankshaft, calculating an acceleration of each piston-cylinder based upon the rotational speed of the crankshaft, and then balancing the accelerations of the respective piston-cylinders by modifying a combustion input to one or more of the piston-cylinders.
Examples are described with reference to the following figures. The same numbers are used throughout the figures to reference like features and like components.
The system 10 includes an Engine Control Unit (ECU) 20 for controlling operations of the engine 12. The ECU 20 is a programmable controller that includes a computer processor 22, software 24, memory (i.e. computer storage) 26 and an input/output (interface) device 28. The processor 22 loads and executes the software 24 from the memory 26. When executed, software 24 controls the engine 12 to operate according to the functionality described in further detail below. In some examples, the processor 22 can comprise a microprocessor and related circuitry that retrieves and executes software 24 from memory 26. Processor 22 can be implemented within a single device but can alternately be distributed across multiple processing devices or sub-systems that cooperate in executing program instructions. Examples include general purpose central processing units, application specific processors, and logic, devices, as well as any other type of processing device, combinations of processing devices, and/or variations thereof. Additional examples of suitable processors are disclosed in U.S. Pat. No. 7941,253 and 6,273,771 which are incorporated herein by reference.
The ECU 20 includes an idle speed controller (ISC) 30, which can be a sub-system of the ECU 20 or a separate controller, distinct from the processor 22, software 24, memory 26 and input/output device 28 of the ECU 20. For discussion purposes herein below, the ISC 30 is a sub-system of the ECU 20; however it should be recognized that this is a non-limiting example and the particular configurations of the ECU 20 and ISC 30 can vary from that which is shown and described. The ISC 30 is configured to maintain the engine 12 at a certain idle speed, which in this disclosure is referred to as an “idle speed set point”. The idle speed set point can be a calibrated engine speed value that typically is selected by the manufacturer through trial and error so as to avoid stalling of the engine 12 when it is operated at idle speed and when it is shifted into forward or reverse gear. Other methods of selecting the idle speed set point are known in the art. The ISC 30 is configured to control one or more “combustion inputs” to the piston-cylinders 1-4 to thereby maintain the speed of the engine 12 at the noted idle speed set point. Examples of “combustion inputs” can include timing of ignition (i.e. spark provided by spark plugs 32a-32d), quantity and/or rate of fuel provided to the engine, spark energy, spark duration, injection timing, quantity and/or rate of airflow provided to the engine 12 via an idle air control valve 34, and/or the like. In certain examples, the idle air control valve 34 can be an electronic valve located downstream of a main throttle body for the engine 12. The idle air control valve 34 typically is located in the intake air plenum for the engine 12. In certain examples, the ISC 30 can be a proportional integral derivative controller (PID), which calculates and monitors the rate of change of speed of rotation of the crankshaft 18 and how long the rate of change occurs. The ISC 30 is configured to compare the results of this calculation to one or more thresholds stored in the memory 26, and then modify the one or more of the noted combustion inputs accordingly to thereby maintain the engine 12 at the idle speed setpoint. It will be recognized by one having ordinary skill in the art that the type of ISC 30 can also vary from that which is shown and described. In another example, idle airflow to the engine may be controlled by the ECU via an electronically driven throttle. In this case, a separate idle air control valve is not needed.
The system 10 also includes a crankshaft sensor 36 that is configured to sense rotation and position of the crankshaft 18 and then provide electronic signals to the ECU 20 that represent the speed of rotation of the crankshaft 18 and the rotational position of the crankshaft 18. Optionally, as described further herein below, the system 10 also includes a camshaft sensor 38 that is configured to sense rotation and position of the camshaft 16 and then provide electronic signals to the ECU 20 that represent the speed of rotation of the camshaft 16 and the rotational position of the camshaft 16. In certain examples, the camshaft sensor 38 and/or crankshaft sensor 36 can be conventional encoders that are respectively located on the camshaft 16 and the crankshaft 18; however any conventional sensor that is configurable to sense speed of rotation and communicate this information to the ECU can be utilized.
Based upon the signals provided by the crankshaft sensor 36, the ISC 30 is configured to compare the actual idle speed of the engine 12 to the idle speed setpoint, which is stored in the memory 26. When the actual speed of the engine 12 deviates from the idle speed set point, the ISC 30 is configured to modify one or more of the noted combustion inputs to the piston-cylinders 1-4 to thereby maintain the engine 12 at the idle speed setpoint and/or respond to a need for a change in torque output of the engine 12. For example, the ISC 30 can be configured to change the rate or amount of airflow to the engine 12 by operating the idle air control valve 34. If a quicker response is necessary, the ISC 30 can be configured to control the timing of ignition via the spark plugs 32a-32d.
The above-described control systems and methods for controlling engine idle speed are implemented over relatively long periods of time (e.g. seconds) and are applied globally to the engine 12, that is, the above-mentioned systems and methods equally affect all of the piston-cylinders 1-4 of the engine 12. Through research and experimentation the present inventors have recognized that it is desirable to provide improved systems and methods that control the engine 12 on a piston-cylinder-to-piston-cylinder basis, to thereby reduce inequality of output amongst the piston-cylinders 1-4. The inventors have further realized that by reducing inequality of output amongst the piston-cylinders 1-4, it is possible to reduce unwanted vibration of the engine 12.
According to the present disclosure, the ECU 20 is uniquely configured to calculate an acceleration of each individual piston-cylinder 1-4 based upon the rotational speed of the crankshaft 18, and thereafter balance the accelerations of the respective piston-cylinders 1-4 by modifying one of the noted combustion inputs to one or more of the plurality of piston-cylinders. As explained further herein below, the ECU 20 is uniquely configured to calculate the acceleration of each piston-cylinder 1-4 during each of a plurality of combustion cycles N, each combustion cycle N consisting of one combustion event per piston-cylinder 1-4. The ECU 20 is further configured to store the acceleration of each piston-cylinder 1-4 during each of the combustion cycles in a buffer, and thereafter perform a statistical analysis on the buffer to identify any accelerations that are out of balance.
As discussed above, the crankshaft sensor 36 senses the speed of rotation of the crankshaft 18 and provides this information to the ECU 20. The ECU 20 can also be configured to differentiate this information and optionally to filter this information to thereby obtain filtered angular acceleration of the crankshaft 18 associated with each respective combustion event for each piston-cylinder. In certain examples, the filtering, step can include filtering the information with a low-pass filter so as to remove inconsistencies caused by components of the system 10 such mechanical effects of the camshaft or other causes of inconsistencies.
Once the acceleration is calculated for each individual piston-cylinder 1-4, the ECU 20 is configured to calculate the strength of combustion of each piston-cylinder 1-4 during each combustion event, i.e. how much work each piston-cylinder 1-4 is doing during each combustion event. In certain examples, the strength of combustion of each piston-cylinder 1-4 can be calculated by obtaining the root mean square magnitude of acceleration during each combustion event. Other methods of calculating the strength of combustion could be used instead. The root mean square calculation can be performed as follows:
where:
The ECU 20 can further be configured to store this value in a buffer until values for a predetermined number N of combustion cycles are stored in the buffer. The number N is a preselected value that is stored in the memory 26 and can vary depending upon the desired responsiveness of the system 10. An example of a buffer for the data shown in
Thereafter, the ECU 20 can further be configured to conduct a statistical analysis of the values in the buffer to determine whether the values for each piston-cylinder 1-4 are within a stored threshold amount of the remaining piston-cylinders 1-4. The stored threshold amount is a preselected value that can be calibrated by the manufacturer and stored in the memory 26. Based upon this statistical analysis the ECU 20 is able to identify whether the piston-cylinders 1-4 are respectively performing an equal amount of work over the course of the N combustion cycles.
The type of statistical analysis can vary. Sin certain examples, the ECU 20 is configured to calculate the standard deviation of the average angular acceleration values of each piston-cylinder 1-4. Thereafter, if the ECU 20 determines that the statistical average is outside of the threshold amount, the ECU 20 is configured to modify a combustion input to the particular piston-cylinder that is providing values that are outside of the threshold amount. For example, the ECU 20 can be configured to cause an advance or retardation of timing of ignition (spark) in the particular piston-cylinder that is providing the values that are outside of the threshold amount. In certain examples, the amount of change necessary to balance the work performed by the respective piston-cylinders 1-4 can be determined by the ECU 20 via a look-up table. Thus the ECU 20 is configured to modify the combustion input(s) to cause the accelerations associated with the individual piston-cylinders 1-4 to converge upon a nominal value. The ECU 20 can also be configured to maintain the same average so as to maintain the RPM (as described herein above), and at the same time obtain the same acceleration caused by each piston-cylinder 1-4.
For example: Assume an arbitrary SD (σ) threshold of 30. Since σ=40 exceeds the defined threshold, piston-cylinder calibration offsets are iteratively applied until σ<30 is satisfied. For example, timing of ignition (spark) could be incrementally advanced for piston-cylinders 4-2 and retarded for 1-3 until σ<30 is satisfied.
For further illustration.
At step 210, the ECU 20 stores the acceleration of each piston-cylinder 1-4 during each of the combustion cycles in a buffer. An example is shown herein above in Table 1. At steps 214 and 216, the ECU 20 performs a statistical analysis on the buffer to identify any accelerations that are out of balance. In a non-limiting example, the statistical analysis can include calculating the per-piston-cylinder average acceleration over N cycles (at step 214) and calculating the standard deviation of the per-piston-cylinder average acceleration (at step 216). At step 218, the ECU 20 compares the result of the statistical analysis to a threshold stored in the memory of the ECU 20 to identify the accelerations that are out of balance. If the standard deviation is less than the threshold, the method returns to step 202. If the standard deviation is greater than the threshold, at step 220, the ECU 20 modifies one or more of the noted combustion inputs according to a look-up table stored in the memory of the ECU 20 to thereby balance the accelerations of the respective piston-cylinders 1-4. Thereafter the method returns to step 202.
In examples of the presently disclosed systems that include the camshaft sensor 38, optionally at step 212, the ECU 20 can be configured to identify the particular piston-cylinder 1-4 that requires corrective action in the form of modified combustion input(s). For example, it is known that the crankshaft 18 rotates twice per combustion event in the engine 12 and the camshaft 16 rotates only once per combustion event. The firing order of the piston-cylinders 1-4 is also a known value. In the example of
In examples that do not include the camshaft sensor 38, the ECU 20 can be programmed with the tiring order and the position of the crankshaft 18, but it will not know which piston-cylinder is which. In these examples, the ECU 20 can be programmed to run a diagnostic. More specifically, the ECU 20 can be programmed to assign each piston-cylinder 1-4 a gated window during its power stroke between 0-720 degrees that is sensed by the crankshaft sensor 36 and communicated to the ECU 20. The ECU 20 can store the accelerations in a table that generally identifies each piston-cylinder based upon the gated angle domain window in which they produce values. The ECU 20 can be programmed to modify combustion inputs based upon the unique gated angle domain window rather than a specific piston-cylinder assignment. In other words, the combustion inputs are modified for the targeted piston-cylinder without needing to identify its correct physical location in the software.
An example is provided herein below:
A four-stroke, inline, four-cylinder engine 12 having a 1-3-4-2 firing order needs to advance spark on “piston-cylinder 1” to improve engine vibration. A cam position sensor 38 isn't available to identify in the ECU 20 which piston-cylinder is 1. However, the ECU 20 is programmed to detect top-dead-center during start-up, start a counter from 0-720° and assume 0° is top-dead-center of the power-stroke on piston-cylinder 1. Thus, any change in timing of ignition applied to piston-cylinder 1 in the ECU 20 affects combustion around the 0-180° gate of the encoder signal.
The engine 12 starts up, top-dead-center is detected, and the 0-720° counter starts in the ECU 20. By chance, the 0° location correctly corresponds with the power-stroke on piston-cylinder 1, so changes made to piston-cylinder 1 in the timing of ignition table would correctly affect piston-cylinder 1. The strategy identifies an advancement in timing of ignition is required in the gated window between 0-180°. Because the ECU 20 identifies piston-cylinder 1 with the 0-180° window of the crankshaft position, it applies the advancement to piston-cylinder 1 in the ECU 20, and the vibration of the engine 12 is improved.
The engine 12 starts up, TDC is detected, and the 0-720° counter starts in the ECU 20. This time, the 0° location from the software's perspective corresponds with the physical power stroke on piston-cylinder 4. Since the software 24 associates the 0-180′ gated window with piston-cylinder 4, changes made to piston-cylinder 1 in the timing of ignition table would actually affect piston-cylinder 4, which is undesirable. However, the control strategy calls for an advancement in timing of ignition on the piston-cylinder in the 360-540° gated window because this is the combustion event that is measuring “weak”. On the software side, this gated window is associated with piston-cylinder 4, so an advancement in timing of ignition (spark) is applied to piston-cylinder 4 in the software 24. However, the 360-540° gated window actually corresponds to piston-cylinder 1 in the physical world, so the vibration of the engine 12 is improved.
In the above description, certain terms have been used for brevity, clarity, and understanding. No unnecessary limitations are to be inferred therefrom beyond the requirement of the prior art because such terms are used for descriptive purposes and are intended to be broadly construed. The different systems and method steps described herein may be used alone or in combination with other systems and methods. It is to be expected that various equivalents, alternatives and modifications are possible within the scope of the appended claims. Each limitation in the appended claims is intended to invoke interpretation under 35 U.S.C. §112(f), only if the terms “means for” or “step for” are explicitly recited in the respective limitation.