Engine air amount prediction based on a change in speed

Information

  • Patent Grant
  • 6761153
  • Patent Number
    6,761,153
  • Date Filed
    Wednesday, February 26, 2003
    22 years ago
  • Date Issued
    Tuesday, July 13, 2004
    20 years ago
Abstract
A system and method to predict engine air amount for an internal combustion engine is described. Included is a method to predict a change in engine air amount based on a difference in engine speed. This method is especially suited to engine starts, where engine air amount is difficult to predict due to low engine speed and limited sensor information. The system and method provides the prediction of engine air amount without extensive models or calibration. Fuel is supplied based on the predicted engine air amount.
Description




FIELD OF INVENTION




The present invention relates to a method for controlling an internal combustion engine and more particularly to a method for adjusting injected fuel based on a prediction of air entering a cylinder for future induction events.




BACKGROUND OF THE INVENTION




Determining an engine air amount for individual cylinder induction events is important to properly fuel an engine. Typically, an engine air amount is calculated prior to fueling, as many as two engine events prior to an intake event. This is important because fuel is usually delivered before an intake valve opens so that fuel vaporization is promoted and emissions are reduced. Also, accurate engine air amount estimation is especially important during starting and run-up when exhaust gas after-treatment systems are not operating at optimal efficiency. Catalysts require elevated temperatures to operate efficiently. Catalyst temperatures rise as a result of engine operation, but are relatively low during start necessitating accuracy in engine air amount calculations and fuel delivery.




One method to predict an engine air amount is based on monitoring changes in throttle position, as disclosed in U.S. Pat. No. 6,170,475 owned by the assignee of the present invention. This method utilizes a throttle model that characterizes throttle flow given a throttle position and the pressure drop across the throttle. The model is described in look-up functions and tables that capture the physical behavior of the system. Prediction of an engine air amount is accomplished by sensing current and previous throttle positions, determining the relative rate of change in throttle position, then extending this rate of change so that a future throttle position is predicted. The predicted throttle position is then input into the throttle model to predict future engine air amount.




The inventors herein have recognized that this prediction method is not as accurate while the throttle position is not changing. Since a change in throttle position is necessary to predict a change in an engine air amount in the before-mentioned method, the method does not predict a change in an engine air amount during starting.




Another method to predict an engine air amount is based on a Mass Air Flow (MAF) sensor, as disclosed in U.S. Pat. No. 5,331,936 owned by the assignee of the present invention. This method describes using a MAF sensor in series with a throttle body and an intake manifold. The MAF sensor signal is ignored during start while the sensor signal is not ready, because the sensor element requires time to warm-up. The MAF sensor signal is enabled, in a specified time representing sensor warm-up time. After the MAF signal is enabled, usually during engine run-up, a model is used to predict future engine air amount.




The inventors herein have also recognized that while this approach works well during normal engine operation, it is not as accurate during start because the sensor is not warm and operational. During start a predetermined engine air amount is used in place of a measurement. Therefore, a constant engine air amount is provided while the intake manifold is being pumped down even though the actual engine air amount is changing.




SUMMARY OF THE INVENTION




In accordance with the present invention a method that accurately predicts an engine air amount during start is presented.




The method comprises: calculating an engine air amount based on at least a change in engine speed; and adjusting fuel supplied to the engine at least during an engine start based on said engine air amount calculation. This method can be used to reduce the above-mentioned limitations of the prior art approaches.




By using a change in engine speed to predict engine air amount, then adjusting fuel supplied to the engine for future cylinder events, the inventors herein have improved the prediction of engine air amount during a start. Since a change in engine speed can have a large effect on engine air amount during a start, the correlation between the two variables can be used to predict future engine air amounts. When a change in engine speed is used, an engine air amount may be calculated without limitations imposed by throttle prediction or MAF sensor characteristics. Also, a change in engine speed is readily calculated during start, run-up, and normal engine operation.




In other words, a change in engine speed produces a change in an engine air amount because the dynamics of pulling air into a cylinder are changing as the engine accelerates. Volumetric efficiency and gas kinetics change with a change in engine speed, producing a change in engine air amount. This relationship between a change in engine speed and a change in engine air amount has allowed the inventors to predict an engine air amount based on a change in engine speed.




By identifying the relationship between change in engine speed and predicted engine air amount the inventors herein recognize many possible configurations. Various examples may use variations of a change in engine speed including: difference in speed (ΔN), difference in speed over change in time (ΔN/Δtime), ΔN processed through a transfer function or difference equation, using current and past values of engine speed, using engine speed from current and past engine related events, interrupt driven speed measurement, a processed change in engine position, a processed change in engine position/change in time, using a processed engine position at current and past events, and interrupt driven processed engine position measurement.




The present invention provides the advantage of improved air/fuel control during start, resulting in lower emissions. This advantage is especially important when a catalyst is cold and its efficiency is low.











The above advantages and other advantages, objects and features of the present invention will be readily apparent from the following detailed description of the preferred embodiments when taken in connection with the accompanying drawings.




BRIEF DESCRIPTION OF THE DRAWINGS




The objects and advantages described herein will be more fully understood by reading an example of an embodiment in which the invention is used to advantage, referred to herein as the Description of Preferred Embodiment, with reference to the drawings, wherein:





FIG. 1

is a schematic diagram of an engine wherein the invention is used to advantage;





FIG. 2

is a plot showing engine air amount and the ideal engine air amount during a start;





FIG. 3A

is a plot showing how a change in engine speed is related to the change in ideal air amount during a start, signals are referenced to first injection;





FIG. 3B

is a plot showing how a change in engine speed is related to the change in ideal air amount during a start, signals are referenced to first known engine position;





FIG. 4

is a plot showing a comparison between prediction of a change in engine air amount based on engine speed and ideal engine air amount at start;





FIG. 5

is a plot showing a comparison between prediction of a change in engine air amount based on engine position and a change in engine speed to ideal prediction of an engine air amount at start;





FIG. 6

is a high level flow chart of predicted engine air amount based on method of fuel delivery at start, Big-Bang or sequential;





FIG. 7



a


is a high level flow chart describing sequential fuel control based on predicted engine air amount;





FIG. 7



b


is a table of example air amount changes during a start;





FIG. 8

is a high level flow chart describing Big-Bang fueling and its interaction with predicting engine air amount;





FIG. 9

is a high level flow chart describing engine air amount prediction during a change in engine speed; and





FIG. 10

is a high level flow chart describing when a change in engine speed is used to predict engine air amount during a transient.











DESCRIPTION OF INVENTION




Referring to

FIG. 1

, internal combustion engine


10


, comprising a plurality of cylinders, one cylinder of which is shown in

FIG. 1

, is controlled by electronic engine controller


12


. Engine


10


includes combustion chamber


30


and cylinder walls


32


with camshaft


130


and piston


36


positioned therein and connected to crankshaft


40


. Combustion chamber


30


is known communicating with intake manifold


44


and exhaust manifold


48


via respective intake valve


52


an exhaust valve


54


. Combustion chamber


30


is also shown having fuel injector


66


coupled thereto for delivering liquid fuel in proportion to the pulse width of signal FPW from controller


12


. Fuel is delivered to fuel injector


66


by fuel system (not shown) including a fuel tank, fuel pump, and fuel rail (not shown). Alternatively, the engine may be configured such that the fuel is injected directly into the intake manifold, directed at the cylinder port, which is known to those skilled in the art as port fuel injection. Intake manifold


44


is shown communicating with throttle body


58


via throttle plate


62


.




Conventional distributorless ignition system


88


provides ignition spark to combustion chamber


30


via spark plug


92


in response to controller


12


. Two-state exhaust gas oxygen sensor


76


is shown coupled to exhaust manifold


48


upstream of catalytic converter


70


. Two-state exhaust gas oxygen sensor


98


is shown coupled to exhaust manifold


48


downstream of catalytic converter


70


. Sensor


76


provides signal EGO


1


to controller


12


.




Controller


12


is shown in

FIG. 1

as a conventional microcomputer including: microprocessor unit


102


, input/output ports


104


, and read-only memory


106


, random access memory


108


, and a conventional data bus. Controller


12


is shown receiving various signals from sensors coupled to engine


10


, in addition to those signals previously discussed, including: engine coolant temperature (ECT) from temperature sensor


112


coupled to cooling sleeve


114


; a measurement of manifold absolute pressure (MAP) form pressure sensor


122


coupled to intake manifold


44


; a measurement (ACT) of engine air amount temperature or manifold temperature from temperature sensor


117


; a cam position signal (CAM) from cam sensor


150


; a profile ignition pickup signal (PIP) from a Hall effect sensor


118


coupled to a crankshaft


40


, and an engine speed signal (RPM) from engine speed sensor


119


. In a preferred aspect of the present invention, engine speed sensor


119


produces a predetermined number of equally spaced pulses every revolution of the crankshaft.




Referring to

FIG. 2

, a plot showing several signal trajectories as they occur when starting a six-cylinder engine. The signals in

FIGS. 2-5

have been scaled to show the relationships between the signals and not their actual magnitudes. The signal labeled PIP, uses a rising edge to identify each engine cylinder position 10 degrees prior to top-dead-center of compression stroke, creating an engine event signal. The period of the cylinder event in degrees is: 720/number of engine cylinders. In other words, an engine event is a cylinder reaching top-dead-center of compression stroke; PIP is constructed relative to engine events and all cylinders will fire over a period of 720 degrees.




Engine sensors are sampled relative to the PIP signal. Sampling may occur on rising or falling edge or in any combination of edges. The +'s and O's represent data captured at the falling edge of PIP. It is also recognized that engine position could be derived from a signal with more or less resolution than the one shown here. The signal labeled “EAA”, Engine Air Amount, identified by +'s, is the air mass entering a given cylinder when the sample was taken at the PIP edge. The signal labeled “IEAA”, two-event ideal prediction of engine air amount, identified by O's, is the two-event ideal prediction of air mass entering a given cylinder. Air mass data gathered during a start is shifted two PIP events to create this signal. As will be described below, this ideal prediction is not available in real-time, and thus the present invention describes various ways to estimate these values.




The area between the engine air amount signal (EAA) and two-event ideal engine air amount (IEAA) signal is the region that conventional approaches can produce and this is the error the present invention seeks to reduce. Notice, as the engine speed increases the engine air amount decreases. This is an important observation linking a change in engine speed to a change in engine air amount utilized in the present invention as described below. In other words, the present invention recognizes that a prediction of an engine air amount for future induction events can be predicted based on measured change in engine speed.




Referring to

FIG. 3A

, a plot showing important signals used to create two-event predicted engine air amount based on a change in engine speed, referenced to an injection counter (CYL_CNT). PIP is shown again because it illustrates the relative timing between signals of interest. Signals identifying the location of first injection and the number of events after first injection are also shown, INJ


1


and CYL_CNT. Difference in engine speed (ΔN), identified by *'s, change in ideal engine air amount (ΔIEAA), identified by O's, change in engine air amount (ΔEAA), identified by +'s, and engine speed (RPM) are also shown.




The figure shows that a change in engine speed and change in engine air amount gives little indication of changing predicted ideal engine air amount two events prior to the first indication of engine acceleration. However, once engine position and the first cylinder to receive fuel are known, change in engine speed and change in engine air amount can be more accurately predicted.




After engine position is determined, counting the number of engine events after first injection allows the engine controller to predict where the first cylinder fueled will fire. This is possible because the fueled cylinder will almost always fire, when properly fueled, the same number of events after receiving fuel. The firing of a cylinder increases engine speed resulting in a change of engine air amount. Therefore, by predicting when the first cylinder will fire, controller


12


is able predict the change in engine air amount prior to the cylinder firing.




An injection counter is formed by incrementing the variable CYL_CNT each time an injection occurs, starting from the first injection. Since the fuel is delivered sequentially, each engine event has a corresponding injection. Therefore, once the injection counter starts it will increment on every engine event.




According to the present invention, controller


12


provides the prediction of change in engine air amount based on engine position until a minimum number of injections have occurred or a predetermined level of engine acceleration has been exceeded (CYL_CNT>OL_PRE). Where CYL_CNT is the number of injections and OL_PRE is the number of predetermined engine position based predictions. Thereafter, a change in engine speed is used to predict a change in engine air amount during a start. After the engine has started a different two-event engine air amount prediction method is used as described below with regard to FIG.


6


.




Referring to

FIG. 3B

, a plot similar to

FIG. 3A

, but also shows signals that identify the location where engine position is first known and the numbers of events thereafter, SYNC and EVNT_CNT. These two signals are used to show an alternate embodiment of the method described by

FIG. 3A

, two-event predicted engine air amount referenced to an engine event counter. Difference in engine speed (ΔN), identified by *'s, change in ideal engine air amount (ΔIEAA), identified by O's, change in engine air amount (ΔEAA), identified by +'s, and engine speed (RPM) are also shown.




Counting the number of engine events after engine position is known allows engine controller


12


to predict where the first cylinder fueled will fire. This is possible because the first fueled cylinder will almost always fire, when properly fueled, the same number of events after receiving fuel. Knowing the number of events after first injection where firing will occur, along with the number of events between engine position identification and first fueling, the total number of events between position identification and first firing can be established. Using the same procedure described in

FIG. 3A

, but counting from where engine position is first known, controller


12


is able predict the change in engine air amount prior to the cylinder firing.




In addition, by counting all engine events, even before engine position is known, it is possible to adjust engine air amount based on engine events during a start. At cranking speeds, the engine behaves as a constant displacement pump evacuating the intake manifold at the same rate from start to start. As long as the engine cranking rpm is consistent and the intake manifold is throttled the same, the engine air amount can be predicted. Engine air amount captured from previous starts can be used to predict engine air amount during a future start as long as compensated for engine operating conditions. Compensation is provided as described in FIG.


6


.




Referring to

FIG. 4

, a plot showing change in two-event ideal engine air amount (ΔIEAA), identified by *'s, and change in predicted two-event engine air amount (ΔPEAA), identified by x's. Taking the difference between EAA and IEAA, then zeroing out the first few events that will be predicted using engine position, creates ΔIEAA. ΔPEAA is created by calculating change in engine air amount based on change in engine speed using the method of the present invention. ΔPEAA data has not been shifted and is calculated from a difference equation identified from a different data set. Notice, the close correlation between the prediction made by the present invention and the ideal two-event change in engine air amount. This shows that using a change in engine speed, it is possible to obtain an accurate prediction for engine air amounts that will occur during induction events occurring after the current sample interval. Also, data used to create FIG.


4


and

FIG. 5

is different data than the data used to determine model coefficients, FIG.


3


A.




Referring to

FIG. 5

, a plot showing change in two-event ideal engine air amount (ΔIEAA), identified by *'s, and predicted two-event engine air amount (ΔPEAA), identified by x's. However,

FIG. 5

also includes three engine air amount predictions based on engine position. The first two engine position based predictions are made because no change in speed is observed as described above with regard to FIG.


2


. The third engine position based prediction is used because the engine speed/engine air amount difference equation needs two engine events to follow the ΔIEAA signal.




Referring to

FIG. 6

, a flowchart of a routine performed by controller


12


that determines how to calculate predicted engine air amount, during a start, based on type of fueling used to start an engine. The routine provides up to three different methods to calculate engine air amount during a start. These methods are performed in sequence based on the current conditions of the engine. In step


610


, engine operating conditions are read. Operating conditions are determined by measuring engine coolant temperature (ECT), engine air amount temperature (ACT), barometric pressure (BP), and parameters alike. These parameters are used to compensate engine air amount estimates in blocks


612


,


622


, and


630


. In step


612


, a base engine air amount is calculated using the well-known ideal gas law equation PV=mRT, before the engine begins to turn. The ideal gas equation, written for a four-cylinder engine compensated for operating conditions is as follows:






Mcyl
=


D

4

RT


·

η


(

N
,
load

)


·

P
m

·

fnBP


(
BP
)


·

fnTem


(

ECT
,
ACT

)













Where Mcyl is the engine air amount or cylinder air charge, D is the displacement of the engine, R is the gas constant, T is the engine air temperature. The symbol η represents the engine volumetric efficiency, empirically derived, stored in a table with indices of engine speed and load. Manifold pressure, Pm is based on measuring a signal from pressure transducer


122


. Barometric pressure compensation is stored as a function, fnBP, and is empirically derived so that it expresses the change in engine air amount as operating barometric pressure deviates from some nominal barometric pressure. Heat transfer between the engine and the engine air amount has an influence on volumetric efficiency and the engine air amount inducted. The table FnTem is an empirically derived table that has x indices of engine coolant temperature (ECT) and y indices of engine air amount temperature (ACT). Based on these engine operating conditions, FnTem provides compensation for heat transfer. Then, this engine air amount is passed to block


812


or block


716


, depending on the fueling method selected. In step


614


the controller


12


determines if the engine is turning. If the engine is turning the routine proceeds to step


616


, if not, no additional engine air calculations are made until the engine turns. Step


616


selects the engine air amount calculation method based on engine fueling method.




If Sequential Electronic Fuel Injection (SEFI) is selected the routine proceeds to step


618


. In step


618


the engine controller


12


determines engine position using signals provided by crankshaft


118


and camshaft


150


sensors. Once engine position is determined, fuel is delivered on a closed valve to the cylinder whose intake stroke is next to occur, reference

FIG. 7A

SEFI Fueling. SEFI fueling continues for N


1


engine events without an update to the change in predicted engine air amount. However, base engine air amount is updated at each engine event, but the change in engine air amount due to a change in engine speed is zero since there is minimal engine acceleration until the first cylinder fueled fires. Step


620


provides engine event delay, when cylinders are not firing no change in predicted engine air amount is needed. Typically, N


1


is calibrated to a number of engine events, beginning with the first fueled intake stroke, where N


1


is calibrated based on the following equations:








X=


720/#Cylinders










N




1


Events=((720−360)/


X


)−2






After N


1


events have occurred the routine proceeds to step


622


where the change in engine air amount is retrieved from memory. The predicted change in engine air amount for the next three engine events are stored in a table (Delta_Mcyl). (Note that the number used is determined based on factors such as number of cylinders and number of events predicting ahead. And here, three is selected as an example value for a V6 engine.) The table has x dimension units of engine coolant temperature (ECT) and y dimension units of engine events (k). The stored value is then modified based on the values of parameters measured in step


610


. The values stored in memory are empirically derived at nominal engine operating conditions. As conditions deviate from nominal the controller performs the following compensation:






Δ


PEAA


=Delta







m


cyl(


ECT,k





fnBP


(


BP





fn


Tem(


ECT,ACT


)






The base engine air amount, calculated in step


612


, is modified by the change in engine air amount to determine the engine air amount for the next three engine events as follows:






Engine Air Amount=Base Engine Air Amount−Change in Predicted Engine Air Amount






Or








EAA=BEAA−ΔPEAA








These three predicted engine air amounts can be considered to be engine position dependant since they always begin two engine events prior to the power stroke of the first fueled cylinder. Change in predicted engine air amount is calculated on the PIP down edge to ensure recognition of engine acceleration. During a start, engine air amounts are stored to memory, providing the start is representative. In other words, starting engine air amounts are saved if the engine start produces at least one of the following attributes: the expected engine acceleration, the expected air/fuel response, or the expected emissions. The controller


12


can then adapt to engine wear and manufacturing variation by using the stored engine air amounts, and thereby base the engine air amount on past starts. The routine then proceeds to step


626


.




If Big-Bang (simultaneously fire all injectors) fueling is identified in step


616


fuel is delivered at the first indicated engine event, reference

FIG. 8

, and only the base engine air amount is updated based on the ideal gas equation for N


2


engine events, where N


2


is calculated as follows:








N




2


=#cylinders−2






The delay is used with Big-Bang fueling because all cylinders have been fueled and there is no sense updating the engine air amount until the next fuel delivery is scheduled. The routine then proceeds to step


626


.




In step


626


, the engine controller


12


determines if the engine has accelerated as expected. If the expected engine acceleration has not been detected, engine air amount calculations revert to base engine air amount calculations. If the expected engine acceleration has been detected the routine proceeds to step


630


. In step


630


the change in engine speed is used to calculate the change in engine air amount, reference FIG.


9


. The steps in

FIG. 9

are executed until a specified number of engine events have occurred or the change in engine speed falls below a predetermined threshold. Then the routine proceeds to step


632


where the engine air amount calculation is turned over to a different calculation method.




Referring to

FIG. 7A

, a flowchart of a routine performed by controller


12


to control fueling based on a sequential strategy is shown. In step


710


, engine operating conditions are read. Operating conditions are determined by measuring engine coolant temperature and parameters alike. These parameters are used to compensate engine fuel amount estimates in block


718


. In step


712


, the routine decides whether to synchronize air and fuel delivery, step


714


, or to proceed and retrieve the engine air amount in step


716


. If the air and fuel have not been synchronized, the controller


12


aligns the two-event predicted engine air amount with the next cylinder on intake stroke. In step


716


, the two-event engine air amount is retrieved from steps


612


,


622


, or


630


depending on execution of the routine in FIG.


6


. In step


718


, the desired Lambda is retrieved from predetermined values stored in a table. The table has x dimension units of engine coolant temperature (ECT) and y dimension units of time since start. Lambda is calculated as follows:







Lambda


(
λ
)


=


Air
Fuel


Air

Fuel
stoichiometry













In step


720


, fuel mass is calculated based on the engine air amount from step


716


, and the Lambda value retrieved in step


718


. Fuel mass is calculated as follows:






Fuel_Mass
=


Engine_Air

_Amount



Air

Fuel
stoichiometry



Lambda












In step


722


, injector pulse width is calculated using a function whose input is desired fuel mass and whose output is injector pulse width. In step


724


, the injectors are activated for the duration determined in step


722


. This process occurs for every injection event, using cylinder specific air amounts, producing cylinder specific fueling.




Referring to

FIG. 7B

, a table of example predicted engine air amounts derived during a SEFI start. Starting from the left, the first column contains the fueled cylinder induction event number. The second column identifies the method used to calculate change in engine air amount, IGL refers to Ideal Gas Law, PP refers to engine Position based Prediction, and DN refers to Delta engine speed (N). The controller


12


selects the engine air amount calculation based on engine position and acceleration. Column three is the calculated change in predicted engine air amount based on the following identified difference equation:








y


(


k+


1)+


A




0




y


(


k


)=


B




1




x


(


k+


1)+


B




0




x


(


k


)






or








y


(


k


)=−


A




0




y


(


k−


1)+


B




0




x


(


k


)+


B




0




x


(


k−


1)  (1)






Where k indicates the sample number, A's and B's are scalar coefficients, y(k+1) represents predicted engine air amount, y(k) represents the previous engine air amount, x(k+1) represents the current change in engine speed, and where x(k) represents the previous engine speed. Column four contains the change in predicted engine air amount based on the above-mentioned difference equation. This prediction is selected by controller


12


when a predetermined number of engine events have occurred or when a minimum change in engine speed has been detected. Column five contains the prior change in engine air amount multiplied by the factor Ao. Identification of parameters Ao, B


1


, and Bo is detailed in the description of FIG.


9


. Column six contains the prior change in predicted engine air amount. Column seven contains the current change in engine speed multiplied by the factor B


1


. Column eight contains the prior change in engine speed. Column nine contains the prior change in engine speed multiplied by the factor Bo. Column


10


contains the prior change in engine speed.




Referring to

FIG. 8

, a flowchart of a routine performed by controller


12


to provide Big-Bang fueling. In step


810


engine operating conditions are read. Operating conditions are determined by measuring engine coolant temperature and parameters. These parameters are used to compensate engine fuel amount estimates in block


814


. In step


812


, engine air amount is retrieved from calculations made in step


612


. In step


814


, the desired Lambda is looked-up using the same method used in step


718


. In step


816


, the routine determines if the engine is rotating, if so, all injectors are fired simultaneously in step


818


, where the first engine event is detected. If the engine is not rotating, fuel is not delivered and the routine waits until rotation is detected. In step


820


, the engine controller


12


determines engine position using signals provided by crankshaft


118


and camshaft


150


sensors. Once engine position is determined, predicted engine air amount and fuel delivery are aligned. Big Bang fueling provides fuel for two engine revolutions allowing the controller


12


to wait N


3


engine events, step


822


, before beginning SEFI fueling, step


824


. Note that N


3


is the number of cylinders in the engine.




Referring to

FIG. 9

, a flowchart of a routine performed by controller


12


to calculate a change in engine air amount from a change in engine speed. In block


910


, a change in engine speed is calculated. Engine speed changes may be determined in a number of ways using a variety of sensors. One method to calculate a change in engine speed would be to calculate engine speed at two distinct engine events and then subtract the previous measurement from the current measurement. Another method might use the change in engine position divided by the change in time. Sensors used to indicate engine speed would include Hall effect, variable reluctance, tachometers, and optical devices. In step


912


, the change in engine speed from step


910


is processed through a transfer function or difference equation of the form:








y


(
z
)



x


(
z
)



=




B
1


z

+

B
0



z
+

A
0













or








y


(


k+


1)=−


A




0




y


(


k


)=


B




1




x


(


k+


1)+


B




0




x


(


k


)






The first order equation was selected because it provides a good estimate of ΔIEAA during a change in engine speed without sacrificing computation time incurred by higher order equations. However, various other methods could be used as described below. The coefficients Ao, B


1


, and Bo are determined from data acquired during a start or some other condition where a large change in engine speed occurs. To determine the coefficients, the change in engine speed and the change in engine air amount are recorded. Then, the change in engine air amount is shifted two engine events in the future. The first three significant values of change in engine air amount are then zeroed out to produce a causal system. In other words, a change in engine speed is being used to predict a change in engine air amount; therefore, a change in engine speed has to occur before a change in engine air amount. Coefficients Ao, B


1


, and Bo are then calculated using a Least Squares Fit between change in engine speed and change in engine air amount. The following formulae are used to calculate the coefficients:







y


(


k


)=−


A




0




y


(


k−


1)+


B




1




x


(


k


)+


B




0




x


(


k−


1)







[




y
2






y
3






y
n




]

=



[




-

y
1





x
2




x
1






-

y
2





x
3




x
2






-

y

n
-
1






x
n







3




]



[




A
0






B
1






B
0




]







or










Y=ΦΘ






then






{circumflex over (Θ)}=(Φ


T


Φ)


−1


Φ


T




Y








Data acquired from a V6 engine start produced the following coefficients when processed using the before-mentioned Least Squares method:







Θ
^

=


[




A
0






B
1






B
0




]

=

[




-
0.6807







-
7.9759

*

10

-
8








2.4031
*

10

-
8






]












Coefficients Ao, B


1


, and Bo are stored in the memory of controller


12


in table format. Each coefficient is stored in a unique table where engine coolant temperature (ECT) is the x index to the array and barometric pressure (BP) is the y index. In other words, the three coefficients are read from three tables and the table values are empirically derived at different engine coolant temperatures and barometric pressures. Additional tables are added when the method is used during engine running transient conditions. The coefficients may be modified based on engine operating conditions read in step


610


. After a start or transient condition, controller


12


can process captured data using the same procedure as described above to modify coefficients Ao, B


1


, and Bo. The next start or transient condition, with similar engine operating conditions will use the modified coefficients. The coefficients are then used in equation (1) to produce a predicted change in engine air amount based on a change in engine speed, step


914


. The change in engine air amount is then used with the base engine air amount to produce an engine air amount based on the following equation:






Engine Air Amount=Base Engine Air Amount−Change in Predicted Engine Air Amount






Or








EAA=BEAA−ΔPEAA








The base engine air amount is calculated in step


612


or may be calculated using another method by another routine in controller


12


depending on how the prediction is used. Additional difference equation identification methods are also envisioned.




Referring to

FIG. 10

, a flowchart of a routine performed by controller


12


to predict engine air amount during an engine speed transient. The routine begins after a change in engine speed has been observed. Then, a decision is made in step


1002


whether to proceed or exit the routine. If the absolute value of the change in engine speed does not exceed N_LOW_LIM the routine is exited via step


1004


. If the change in engine speed exceeds N_LOW_LIM then the routine proceeds to step


1006


.




Engine acceleration or deceleration is determined in step


1006


. If the engine is accelerating, the change in engine speed is processed by difference equation (1), step


1010


, whose output is a change in engine air amount, FIG.


9


. However, the difference equation coefficients maybe different than those used when the routine is called in step


630


. If the engine is decelerating, the change in engine speed is processed by difference equation (1), step


1008


, but again may use different coefficients based on deceleration. Engine air amount is then calculated in step


914


, based on coefficients from steps


1008


and


1010


. The routine then exits back to the calling routine.




As will be appreciated by one of ordinary skill in the art, the routines described in

FIGS. 6

,


7


A,


8


,


9


and


10


below may represent one or more of any number of processing strategies such as event-driven, interrupt-driven, multi-tasking, multi-threading, and the like. As such, various steps or functions illustrated may be performed in the sequence illustrated, in parallel, or in some cases omitted. Likewise, the order of processing is not necessarily required to achieve the objects, features and advantages of the invention, but is provided for ease of illustration and description. Although not explicitly illustrated, one of ordinary skill in the art will recognize that one or more of the illustrated steps or functions may be repeatedly performed depending on the particular strategy being used.




This concludes the description of the invention. The reading of it by those skilled in the art would bring to mind many alterations and modifications without departing from the spirit and the scope of the invention. For example, I3, I4, I5, V6, V8, V10, and V12 engines operating in diesel, natural gas, gasoline, or alternative fuel configurations could use the present invention to advantage. Accordingly, it is intended that the scope of the invention be defined by the following claims.



Claims
  • 1. A method for controlling an internal combustion engine, comprising:calculating an engine air amount based on at least a change in engine speed; and adjusting fuel supplied to the engine at least during said engine start, based on said engine air amount calculation.
  • 2. The method as set forth in claim 1 wherein said engine air amount calculation is further based on ambient air temperature, engine temperature, and barometric pressure.
  • 3. The method as set forth in claim 1 wherein said change in engine speed is determined by dividing said change in engine speed by a change in time.
  • 4. The method as set forth in claim 1 wherein said engine air amount calculation is further based on a difference equation relating a change in engine speed to a change in engine air amount.
  • 5. The method as set forth in claim 1 wherein said change in engine speed is determined from current and past engine speed measurements taken at current and past engine events.
  • 6. The method as set forth in claim 1 wherein said engine start is defined the interval when said engine is rotating from power delivered by a starter motor until said engine is rotating under its own power at a stable idle speed.
  • 7. The method as set forth in claim 1 wherein said engine air amount calculation is further based on data from at least a past start.
  • 8. A method for controlling an internal combustion engine during a start, the method comprising:increasing engine speed from rest; after said increasing, determining cylinder location based on at least one sensor; after determining said cylinder location, commencing sequential fuel injection based at least on a cylinder air amount, with said air amount calculated for each cylinder based at least on a number of injection events after said first injection event; and after said number of injection events, calculating an engine air amount based on at least a change in engine speed during a start.
  • 9. The method as set forth in claim 8 wherein said air amount calculated is further based on ambient air temperature, engine temperature, and barometric pressure.
  • 10. The method as set forth in claim 8 wherein said sensor is a variable reluctance, Hall effect, optical, or tachometer device.
  • 11. The method as set forth in claim 8 wherein said engine air amount calculation is further based on data from at least a past start.
  • 12. A method for controlling an internal combustion engine, comprising:calculate an engine air amount based on at least a change in engine speed; and adjusting fuel supplied to the engine at least during a transient condition, based on said engine air amount calculation.
  • 13. The method as set forth in claim 12 wherein said transient condition is a transmission shift.
  • 14. The method as set forth in claim 12 wherein said transient condition is a torque converter locking or unlocking.
  • 15. A system for controlling an internal combustion engine, comprising:a sensor for providing a signal indicative of engine speed; and a controller for calculating a change in engine speed based on said sensor signal, calculating engine air amount based on said change in engine speed, adjusting fuel supplied to the engine at least during an engine start, based on said engine air amount.
  • 16. A computer readable storage medium having stored data representing instructions executable by a computer to control a internal combustion engine, said storage medium comprising:instructions for calculating an engine air amount based on at least a change in engine speed; and instructions for adjusting fuel supplied to the engine at least during said engine start, based on said engine air amount calculation.
US Referenced Citations (24)
Number Name Date Kind
4432325 Auracher et al. Feb 1984 A
4653452 Sawada et al. Mar 1987 A
4951499 Akimoto Aug 1990 A
5056308 Kume et al. Oct 1991 A
5159914 Follmer et al. Nov 1992 A
5168701 Yamamoto et al. Dec 1992 A
5311936 McNair et al. May 1994 A
5483946 Hamburg et al. Jan 1996 A
5497329 Tang Mar 1996 A
5537977 Hartman et al. Jul 1996 A
5654501 Grizzle et al. Aug 1997 A
5738074 Nakamura et al. Apr 1998 A
5755212 Ajima May 1998 A
5778857 Nakamura et al. Jul 1998 A
5870986 Ichinose Feb 1999 A
5893349 Rado Apr 1999 A
5983868 Ichinose Nov 1999 A
RE36737 Brehob et al. Jun 2000 E
6089082 Kotwicki et al. Jul 2000 A
6135087 DeGeorge et al. Oct 2000 A
6155242 Kotwicki et al. Dec 2000 A
6170475 Lewis et al. Jan 2001 B1
6282485 Kotwicki et al. Aug 2001 B1
6360531 Wiemero et al. Mar 2002 B1
Non-Patent Literature Citations (1)
Entry
SAE 810494, “Transient A/F Control Characteristics of the 5 Liter Central Fuel Injection Engine”, C.F. Aquino.