# Patent

## Title
Method of efficiently determining pressure-based combustion parameters for an IC engine

## Abstract

Pressure-based combustion parameters of an IC engine are determined based on engine cylinder pressure measurements and crank angle dependent cylinder volume data, where the pressure in a given engine cylinder is periodically sampled at scheduled crank angles to provide a measurement resolution that varies over the combustion cycle for that cylinder, and the cylinder volume data is retrieved from a table of pre-calculated data. The combustion parameter calculations are customized to suit the variable resolution pressure data, and the crank angles used to retrieve the pre-calculated cylinder volume data are offset from the scheduled crank angles to compensate for misalignment of the pressure measurements relative to the scheduled engine crank angles.

## Background
TECHNICAL FIELD
The present invention relates to analyzing combustion events in an IC engine, and more particularly to a method of determining combustion parameters based on engine cylinder pressure measurements.
BACKGROUND OF THE INVENTION
The combustion events in an IC engine can be analyzed on a real-time basis for purposes of diagnosing and/or controlling the engine operation. Several useful combustion parameters, including the indicated mean effective pressure (IMEP), the pumping mean effective pressure (PMEP) and the net heat release energy (Qnet), can be calculated based on engine cylinder pressure measurements and corresponding cylinder volume data. These combustion parameters can be used to detect combustion irregularities in a given cylinder and to detect cylinder-to-cylinder imbalances.
The pressure-based combustion parameters for a given cylinder are ordinarily determined by periodically measuring the cylinder pressure with a suitably placed pressure sensor, calculating cylinder volume data for each pressure measurement based on crankshaft position (also referred to herein as crank angle), and calculating the combustion parameters based on the measured pressures and the calculated cylinder volume data. However, calculating the combustion parameters with sufficient resolution requires an enormous computational effort, and it can be difficult to accurately associate individual pressure measurements with corresponding cylinder volume data. What is needed, therefore, is a method of more efficiently determining pressure-based engine combustion parameters with an on-board engine controller.
SUMMARY OF THE INVENTION
The present invention provides an improved method of determining pressure-based combustion parameters of an IC engine based on engine cylinder pressure measurements and crank angle dependent cylinder volume data, where the pressure in a given engine cylinder is periodically sampled at scheduled crank angles to provide a measurement resolution that varies over the combustion cycle for that cylinder, and the cylinder volume data is retrieved from a table of pre-calculated data. This relieves the computational burden of determining the pressure-based combustion parameters, while providing sufficient resolution during critical portions of the combustion cycle. The combustion parameter calculations are customized to suit the variable resolution pressure data, and the crank angles used to retrieve the pre-calculated cylinder volume data are offset from the scheduled crank angles to compensate for misalignment of the pressure measurements relative to the scheduled engine crank angles.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an IC engine and a microprocessor-based system for carrying out the method of this invention;
FIG. 2 is a flow diagram representing a first off-line process for pre-calculating crank angle dependent cylinder volume data and storing the data in the microprocessor-based system of FIG. 1;
FIG. 3 is a flow diagram representing a second off-line process for scheduling engine crank angles for cylinder pressure measurement;
FIG. 4 is a graph of pressure vs. crank angle for a given cylinder of an IC engine, and illustrates the variable resolution pressure measurement of this invention;
FIG. 5A is a flow diagram representing a software routine executed by the microprocessor-based system of FIG. 1 for acquiring and buffering cylinder pressure data at the scheduled engine crank angles; and
FIG. 5B is a flow diagram representing a software routine executed by the microprocessor-based system of FIG. 1 for determining pressure-based combustion parameters according to this invention.



DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to the drawings, FIG. 1 depicts an implementation of the present invention for an eight-cylinder IC engine. It is assumed that the engine is a four-stroke engine, although the invention can also be applied to a two-stroke engine. The engine is represented in FIG. 1 by the components 10-18, and is controlled by a microprocessor-based engine control module (ECM) 20. The reference numeral 10 designates a representative cylinder of the engine, and the reference numeral 12a designates a pressure sensor (a piezoelectric sensor, for example) positioned to detect the pressure inside cylinder 10. The additional pressure sensors 12b, 12c, 12d, 12e, 12f, 12g, 12h are provided for detecting the pressure in the remaining seven cylinders which are not shown in FIG. 1. The pressure sensors 12a-12h produce analog signals corresponding to the detected pressures, and these analog signals are supplied to an eight-channel high-speed analog-to-digital converter 22 within ECM 20. Other depicted engine components include a toothed wheel 14 coupled to the engine crankshaft, an encoder 16, and an I/O block 18. The encoder 16 may be a Hall-Effect or variable reluctance sensor, for example, and is positioned to detect passage of the teeth of wheel 14 as it rotates with the engine crankshaft to provide (along with a cam or sync pulse signal) an absolute measure of the engine crank angle. The I/O block 18 designates the usual complement of engine sensors and actuators, including for example, a manifold absolute pressure sensor, fuel and spark timing actuators, and so on.
The ECM 20 of FIG. 1 is a dual-processor configuration, including a first microprocessor (μP) 24 for determining pressure-based engine combustion parameters and a second μP 26 for carrying out an engine control based in part on the determined combustion parameters. A data bus 28 couples μP 24 and μP 26 to support inter-processor data transfer. The cylinder pressure data digitized by A/D converter 22 is supplied to μP 24, and the components represented by I/O block 18 are coupled to μP 26. The encoder 16 produces a digital pulse train (generally referred to as a crank signal) that is supplied to both μP 24 and μP 26. It will be appreciated that other ECM configurations are possible, even though the configuration of FIG. 1 is described as the preferred embodiment.
The flow diagrams of FIGS. 2 and 3 represent two off-line processes for developing data used for real-time determination of pressure-based combustion parameters according to this invention. The flow diagram of FIG. 2 represents a process for pre-calculating crank angle dependent engine cylinder volume data, while the flow diagram of FIG. 3 represents a process for scheduling the engine crank angles for cylinder pressure sampling.
FIG. 4 graphically depicts the pressure in a given cylinder as a function of crank angle over a complete four-stroke combustion cycle. In the illustrated convention, the cycle begins at 0° (relative) with the onset of the intake stroke and ends 720° later with the conclusion of the exhaust stroke. For control purposes, the combustion cycle is partitioned into five regions or zones, designated in FIG. 4 as Region 1 through Region 5. Region 1 comprises the entire intake stroke, Region 2 comprises the initial portion of the compression stroke, Region 3 comprises critical portions of the compression and power strokes in which the combustion event occurs, Region 4 comprises the remainder of the power stroke, and Region 5 comprises the entire exhaust stroke.
Three combustion parameters of interest for engine control purposes are the indicated mean effective pressure (IMEP), the pumping mean effective pressure (PMEP), and the net heat release energy (Qnet). In general, both IMEP and PMEP can be expressed as:

IMEP, PMEP=(1/Vd)∫(P dV)   (1)

where Vd is the displaced volume of the cylinder, P is the measured cylinder pressure, and dV is the rate of change in cylinder volume at the point in the engine cycle where the pressure P was measured. For IMEP, the (P*dV) products are integrated over 360° of crankshaft rotation centered about the combustion event (i.e., over Regions 2, 3 and 4 of FIG. 4). For PMEP, the (P*dV) products are integrated over the opposite 360° of crankshaft rotation (i.e., over Regions 1 and 5 of FIG. 4). On the same level, Qnet can be expressed as:

Qnet=∫[(γ/(γ−1)](P dV)+∫[(1/(γ−1)](V dP)   (2)

where γ is a ratio of specific heats cp and cv (which may be estimated during engine operation for a given cylinder as a function of that cylinder's temperature, pressure and air/fuel ratio), dP is the rate of change in cylinder pressure, and V is the cylinder volume corresponding to the pressure rate of change dP. Thus, the volume terms V and dV are needed to calculate the desired combustion parameters IMEP, PMEP and Qnet.

As indicated by flow diagram blocks 30, 32 and 34 of FIG. 2, the crank angle dependent volume terms V and dV are pre-calculated off-line for a given engine family and then stored in the format of a look-up table (with crank angle as the independent variable) in non-volatile memory 24a of μP 24. The volume terms are calculated at a fine crank angle resolution of 0.01° to 0.10°, as the capacity of non-volatile memory 24a permits. As explained below, this allows the volume data look-up functions to be precisely offset from the scheduled crank angles to compensate for misalignment of the actual pressure measurements relative to scheduled crank angles.
The terms V and dV are calculated for a given crank angle based on engine geometry dimensions such as the cylinder bore and stroke, the connecting rod length, and so on. Specifically, the volume Vi for a given crankshaft angle θi is calculated as follows:




  
    
      
        
          V
          i
        
        =
        
          
            V
            C
          
          +
          
            
              
                π
                ⁢
                
                  
                
                ⁢
                
                  B
                  2
                
              
              4
            
            ⁢
            
               
              
                [
                
                  
                    L
                    ROD
                  
                  +
                  
                    L
                    2
                  
                  -
                  
                    (
                    
                      
                        
                          L
                          2
                        
                        ⁢
                        
                          cos
                          ⁡
                          
                            (
                            
                              θ
                              i
                            
                            )
                          
                        
                      
                      +
                      
                        (
                        
                          
                            L
                            ROD
                          
                          *
                          
                            cos
                            ⁡
                            
                              (
                              
                                a
                                ⁢
                                
                                  
                                
                                ⁢
                                
                                  sin
                                  ⁡
                                  
                                    (
                                    
                                      
                                        
                                          
                                            L
                                            2
                                          
                                          ⁢
                                          
                                            sin
                                            ⁡
                                            
                                              (
                                              
                                                θ
                                                i
                                              
                                              )
                                            
                                          
                                        
                                        +
                                        wp
                                      
                                      
                                        L
                                        ROD
                                      
                                    
                                    )
                                  
                                
                              
                              )
                            
                          
                        
                        )
                      
                    
                    )
                  
                
                ]
              
            
          
        
      
    
    
      
        (
        3
        )
      
    
  




where B is the bore, L is the stroke, LROD is the connecting rod length, wp is the wrist pin offset, and VC is the clearance volume. The clearance volume VC can be calculated as:

VC=Vd/(CR−1)   (4)

where CR is the compression ratio and Vd is the displaced volume (a function of bore B and stroke L). The change in volume Vi for a given crankshaft angle θi—that is,





  
    ⌊
    
      
        d
        V
      
      
        d
        θ
      
    
    ⌋
  
  i




—is calculated as follows:





  
    
      
        
          
            [
            
              
                d
                V
              
              
                d
                θ
              
            
            ]
          
          i
        
        =
        
          
            
              π
              ⁢
              
                
              
              ⁢
              
                B
                2
              
            
            4
          
          [
          
            
              
                L
                2
              
              ⁢
              
                sin
                ⁡
                
                  (
                  
                    θ
                    i
                  
                  )
                
              
            
            +
            
              (
              
                
                  
                    (
                    
                      
                        
                          L
                          2
                        
                        ⁢
                        
                          sin
                          ⁡
                          
                            (
                            
                              θ
                              i
                            
                            )
                          
                        
                      
                      +
                      wp
                    
                    )
                  
                  *
                  
                    L
                    2
                  
                  ⁢
                  
                    cos
                    ⁡
                    
                      (
                      
                        θ
                        i
                      
                      )
                    
                  
                
                
                  
                    
                      L
                      ROD
                    
                    [
                    
                      1
                      -
                      
                        
                          
                            (
                            
                              
                                
                                  L
                                  2
                                
                                ⁢
                                
                                  sin
                                  ⁡
                                  
                                    (
                                    
                                      θ
                                      i
                                    
                                    )
                                  
                                
                              
                              +
                              wp
                            
                            )
                          
                          2
                        
                        
                          L
                          ROD
                          2
                        
                      
                    
                    ]
                  
                  0.5
                
              
              )
            
          
          ]
        
      
    
    
      
        (
        5
        )
      
    
  




The flow diagram of FIG. 3 represents a second off-line process for generating an array of engine crank angles identifying the desired pressure measurement points for each of the engine cylinders. According to the method of present invention, the engine cylinder pressure is measured at a variable resolution to relieve the calculation burden of μP 24 without degrading the required computational accuracy. The graph of FIG. 4 shows one possible sampling schedule in which the 720° of crankshaft rotation per engine cycle is divided into five regions, as explained above. For purposes of calculation accuracy, the critical portions of the cycle are those in which the pressure is rapidly changing. Accordingly, the pressure measurement resolution is scheduled appropriate to each region. In the least critical Regions 1 and 5, the pressure is sampled every 6° of crankshaft rotation; in the more critical Regions 2 and 4, the pressure is sampled every 1° of crankshaft rotation; and in the most critical Region 3, the pressure is sampled every 0.1° of crankshaft rotation. Preferably, the number of regions, their duration, and the sampling resolution for each, are calibrated off-line as indicated by block 40 of FIG. 3. As indicated at block 42, the calibrated resolution parameters are then used to create an array of crankshaft angles corresponding to the desired pressure sampling points. For the example of FIG. 4, the crankshaft angle array can be given as:

(0, 6, 12, . . . 174, 180, 181, 182 . . . 339, 340.0, 340.1, 340.2 . . . 439.9, 440, 441, 442 . . . 539, 540, 546, 552 . . . 720)

As indicated at block 44, the crankshaft angle array is then stored in the non-volatile memory 24a of μP 24. The stored array is a relative measure of crankshaft rotation, and applies to each of the engine cylinders regardless of their absolute crank angle position.

Referring to FIGS. 5A and 5B, the flow diagram blocks 50-56 and 58-64 represent software routines executed by μP 24 during engine operation to effect calculation in real time of the pressure-based combustion parameters IMEP, PMEP and Qnet. Blocks 50, 52, 54 and 56 of FIG. 5A represent an interrupt service routine executed at each scheduled crank angle for each cylinder. As indicated at blocks 52-56, each pressure sample is converted to suitable pressure units, referenced or pegged to a nominal reading of the MAP sensor, and transferred to a buffer for the respective cylinder. Blocks 58, 60 and 62 of FIG. 5B represent a routine executed at the end of each combustion cycle of each cylinder for calculating the combustion parameters IMEP, PMEP and Qnet. For example, the calculation may be timed to occur at the end of the exhaust stroke for each cylinder. In each case, the calculation process involves determining an offset angle (block 58), fetching the buffered pressure data for that cylinder (block 60), retrieving pre-calculated values of V and dV from the non-volatile memory 24a using the scheduled crank angle, as modified by the determined offset (block 62), and calculating the combustion parameters based on the retrieved values of V and dV and the buffered pressure measurements for that cylinder (block 64). The offset angle of block 58 represents a determined misalignment of a given pressure sample with respect to the scheduled crank angle, and is preferably determined by calibration as a function of engine speed. Some sources of misalignment include inaccurate placement or tolerance variations of encoder 16, crankshaft flexure, and signal processing delay. A single offset value can be used for all of the cylinders, or the offset may be determined individually for each cylinder.
The combustion parameter calculations represented by block 64 of FIG. 5B are customized relative to equations (1) and (2) to account for the variable resolution pressure data. Thus, the parameters IMEP and PMEP for a scheduled crankshaft angle θi are calculated according to:




  
    
      
        IMEP
        ,
        
          PMEP
          =
          
            
              1
              
                V
                d
              
            
            ⁢
            
              
                ∑
                
                  i
                  =
                  
                    n
                    ⁢
                    
                      
                    
                    ⁢
                    1
                  
                
                
                  n
                  ⁢
                  
                    
                  
                  ⁢
                  2
                
              
              ⁢
              
                
                  
                    
                      P
                      i
                    
                    ⁡
                    
                      [
                      
                        
                          d
                          V
                        
                        
                          d
                          θ
                        
                      
                      ]
                    
                  
                  j
                
                ⁢
                
                  spacing
                  j
                
              
            
          
        
      
    
    
      
        (
        6
        )
      
    
  




where Pi is sampled pressure for crankshaft angle position θi,





  
    ⌊
    
      
        d
        V
      
      
        d
        θ
      
    
    ⌋
  
  j




is the pre-calculated dV term for the crank angle (θi+offset), and spacingj is the crank angle separation between successive pressure samples (i.e., the pressure measurement resolution). In the case of IMEP, the summation limits n1 and n2 correspond to the compression and power strokes. In the case of PMEP, the summation limits n1 and n2 correspond to the intake and exhaust strokes. The parameter Qnet is calculated according to:





  
    
      
        
          Q
          net
        
        =
        
          
            ∑
            
              i
              =
              
                n
                ⁢
                
                  
                
                ⁢
                1
              
            
            
              n
              ⁢
              
                
              
              ⁢
              2
            
          
          ⁢
          
            ⌊
            
              
                
                  [
                  
                    γ
                    
                      γ
                      -
                      1
                    
                  
                  ]
                
                ⁢
                
                  
                    
                      P
                      i
                    
                    ⁡
                    
                      [
                      
                        
                          d
                          V
                        
                        
                          d
                          θ
                        
                      
                      ]
                    
                  
                  j
                
                ⁢
                
                  spacing
                  j
                
              
              +
              
                
                  [
                  
                    1
                    
                      γ
                      -
                      1
                    
                  
                  ]
                
                ⁢
                
                  V
                  j
                
                ⁢
                
                  
                    
                      P
                      
                        i
                        +
                        1
                      
                    
                    -
                    
                      P
                      
                        i
                        -
                        1
                      
                    
                  
                  2
                
              
            
            ⌋
          
        
      
    
    
      
        (
        7
        )
      
    
  




where Vj is the pre-calculated V term for the crank angle (θi+offset), and the term [(Pi+1−Pi−1)/2] is the average change in pressure over an interval centered about the scheduled crank angle θi. The summation limits n1 corresponds to the start of combustion, and may be designated, for example, at the spark plug firing angle (or the fuel injection angle in a diesel engine). The summation limit n2 is the end of combustion, and may be calibrated or determined based on pressure and volume parameters.

In summary, the present invention provides a method of efficiently determining engine cylinder pressure-based combustion parameters such as IMEP, PMEP and Qnet in real time during engine operation. While the invention has been described with respect to the illustrated embodiment, it is recognized that numerous modifications and variations in addition to those mentioned herein will occur to those skilled in the art. For example, ECM 20 may be programmed to calculate other combustion parameters such as mass burned fraction (MBF), the combustion cycle regions can be calibrated differently than depicted herein, and so on. Accordingly, it is intended that the invention not be limited to the disclosed embodiment, but that it have the full scope permitted by the language of the following claims.

## Claims

1. A method of determining a pressure-based combustion parameter for a cylinder of an IC engine, comprising the steps of:
pre-calculating engine crank angle dependent volume data for said cylinder and storing said volume data as a function of engine crank angle for later retrieval;
measuring pressure in said cylinder at scheduled engine crank angles during a combustion cycle of said engine;
retrieving stored volume data for said cylinder based on said scheduled engine crank angles;
calculating the pressure-based combustion parameter using the measured pressures and the retrieved cylinder volume data; and
calibrating the scheduled engine crank angles such that a resolution of the pressure measurements has relatively low resolution of pressure measurement during intake and exhaust strokes of the combustion cycle, and relatively high resolution of pressure measurement during the compression and power strokes of the combustion cycle.

2. The method of claim 1, where the pre-calculated engine crank angle dependent volume data includes a volume of said cylinder and a rate of change in volume of said cylinder.

3. The method of claim 1, including the steps of:
determining an offset corresponding to a misalignment of the pressure measurements relative to respective scheduled engine crank angles; and
retrieving the stored volume data for said cylinder based on said scheduled engine crank angles, as modified by the determined offset.

4. The method of claim 3, where the engine has multiple cylinders, and offsets are individually determined for each cylinder.

5. The method of claim 3, where said pressure-based combustion parameter is a mean effective pressure in said cylinder, calculated according to:




  
    1
    
      V
      d
    
  
  ⁢
  
    ∑
    
      
        
          
            P
            i
          
          ⁡
          
            [
            
              
                d
                V
              
              
                d
                θ
              
            
            ]
          
        
        j
      
      ⁢
      
        spacing
        j
      
    
  




where θi is a scheduled crank angle, Vd is a displaced volume of said cylinder, Pi is a cylinder pressure measured at scheduled crank angle θi,




  
    ⌊
    
      
        d
        V
      
      
        d
        θ
      
    
    ⌋
  
  j




is the retrieved cylinder volume data for a crank angle (θi+offset), and spacingj is a crank angle separation between successive cylinder pressure measurements.

6. The method of claim 3, where said pressure-based combustion parameter is a net heat release energy in said cylinder, calculated according to:




  
    Q
    net
  
  =
  
    ∑
    
      ⌊
      
        
          
            [
            
              γ
              
                γ
                -
                1
              
            
            ]
          
          ⁢
          
            
              
                P
                i
              
              ⁡
              
                [
                
                  
                    d
                    V
                  
                  
                    d
                    θ
                  
                
                ]
              
            
            j
          
          ⁢
          
            spacing
            j
          
        
        +
        
          
            [
            
              1
              
                γ
                -
                1
              
            
            ]
          
          ⁢
          
            V
            j
          
          ⁢
          
            
              
                P
                
                  i
                  +
                  1
                
              
              -
              
                P
                
                  i
                  -
                  1
                
              
            
            2
          
        
      
      ⌋
    
  




where γ is a ratio of specific heats cp and cv, θi is a scheduled crank angle, Pi is a cylinder pressure measured at scheduled crank angle θi,




  
    ⌊
    
      
        d
        V
      
      
        d
        θ
      
    
    ⌋
  
  j




and Vj are the retrieved cylinder volume data for a crank angle (θi+offset), spacingj is a crank angle separation between successive cylinder pressure measurements, and [(Pi+1−Pi−1)/2] is an average change in measured cylinder pressure over an interval centered about the scheduled crank angle θi.