Method and system for determining camshaft position

A method of determining a camshaft position. The method comprises determining temperatures, measuring camshaft deviations, and determining a camshaft deviation gradient. Embodiments of the invention may also take the form of a camshaft position temperature compensation system having a memory, a gradient processing module, a temperature sensor, a camshaft position sensor, and an approximation module.

BACKGROUND OF THE INVENTION

The present invention relates to a control system, and more particularly to a control system for an internal combustion engine.

Determining an accurate camshaft angular position or simply a camshaft position is an important factor in obtaining maximum torque from an engine equipped with a variable camshaft. Position sensors attached to the camshaft are typically used to measure the camshaft angular position. The measured camshaft position with respect to a crankshaft angular position is then calculated. However, manufacturing tolerances of the engine and of the sensors often lead to inaccurate measurement of the real camshaft position. This results in a camshaft measurement deviation.

As a consequence, different adaptation algorithms are employed to compensate for the camshaft deviation. Generally, these adaptation algorithms first lock the camshaft in a well-defined reference position, measure the camshaft position, and then compare the measured camshaft position with the well-defined reference position to obtain a measured camshaft deviation. The measured camshaft deviation is then stored in a memory. When an engine control system obtains a current camshaft position from the position sensors, the adaptation algorithm adds the measured camshaft deviation from the memory to the measured camshaft position to obtain a more accurate camshaft position. The correction of camshaft position based on these adaptation algorithms is generally time consuming, even under well-defined engine operating conditions, for example, 15 seconds during idle. Consequently, these adaptation algorithms are run only occasionally during a normal drive cycle.

In addition to manufacturing tolerances of engines and sensors, other factors such as operating temperature, also affect the accuracy of the camshaft measurement. Changes in operating temperature can cause engine expansion, and chain elongation, which, in turn, can increase camshaft measurement deviations. The inaccuracy due to the change of operating temperature also varies depending on the engine drive cycle. Using a temperature compensation look-up table, a rough estimate of the additional camshaft deviation is used to obtain the current camshaft position. However, the same engine and sensor manufacturing tolerances will also affect individual engines differently. Furthermore, the camshaft deviation due to the temperature changes also affects other diagnostic functions used by the engine control system, such as fault recognition. Thus, camshaft deviation caused by temperature changes also reduces fault recognition accuracy, which also results in a higher risk of detecting false errors and a lower detection rate of real faults.

SUMMARY OF THE INVENTION

Accordingly, there is a need for improved methods and systems for determining camshaft position. In one embodiment, the present invention provides a method of determining a camshaft position. The method includes determining a plurality of temperatures that includes a current temperature, measuring a camshaft deviation at each of the temperatures, determining a camshaft deviation gradient based on the temperatures, and updating the camshaft position based on the camshaft position measured at (a) the current temperature, (b) at least one of the camshaft deviations, (c) the camshaft deviation gradient, and (d) the current temperature.

In another embodiment, the invention provides a second method of determining a camshaft position. The method includes retrieving camshaft position data from a memory, determining a rate of change of camshaft position using the camshaft position data, approximating a camshaft deviation based on the rate of change of camshaft position, measuring a camshaft position at a current temperature, and updating the camshaft position based on the approximated camshaft deviation, and the current temperature.

In yet another embodiment, the present invention provides a camshaft position temperature compensation system. The system includes a memory that stores a plurality of camshaft positions, and a gradient processing module that is coupled to the memory. The gradient processing module determines a rate of change of camshaft position. The system also includes a temperature sensor that measures a current temperature, a camshaft position sensor that measures a camshaft position, and an approximation module coupled to the temperature sensor, the camshaft position sensor, and the gradient processing module. The approximation module approximates a camshaft position based on the current temperature, the current camshaft position, and the rate of change of camshaft position.

DETAILED DESCRIPTION

FIG. 1shows a vehicle100with a camshaft temperature compensation system104. The vehicle100includes an engine108, a temperature sensor12positioned to measure engine temperature, and a position sensor116also positioned to measure a camshaft position of the camshaft (not shown) of engine108. Generally, the temperature sensor112is disposed to measure an engine oil temperature. However, other engine temperatures, such as the water or coolant temperature, can also be used. As noted, the position sensor116is generally positioned near the camshaft. Depending on the engine108used, the number of position sensors may be different. For example, there are four position sensors116in an engine with four camshafts. Therefore, the embodiment shown inFIG. 1only illustrates an exemplary system.

The camshaft temperature compensation system104uses an adaptation algorithm module (“AAM”)120to calculate a camshaft difference or camshaft deviation between a known or locked reference camshaft position and the measured camshaft position from the position sensor116. For example, after the engine108is started, the AAM120receives a measured camshaft position from the position sensor116. The AAM120then determines a first deviation (D1) based on the difference between the known or locked reference camshaft position and the measured camshaft position. The first deviation (D1) along with a first temperature (T1) at which the camshaft position was measured by the temperature sensor112, are sent to and stored in a memory124as a first set of camshaft position data. Similarly, a second set of camshaft position data (at a second time) including a second deviation (D2) and a second temperature, (T2) are also determined by the AAM120, and stored in the memory124. The number of camshaft position data sets collected and stored depends on the accuracy desired and the requirements of the vehicle100. For example, in a typical application or implementation five or more sets of camshaft position data are collected during the warm up cycle of the engine.

Referring back toFIG. 1, the system104also includes a data preparation module (“PREP”)126. When the system104requests an update of the current camshaft position, the PREP126prepares the position data to be further processed by a curve fitting module (“CFM”)128. For example, the position data from the memory124can be prepared by the CFM128to generate a set of curve coefficients. Details of the processing performed by the PREP126and the CFM128will be described hereinafter. The system104also includes an updating and approximation module (“UAM”)132coupled to the PREP128. Together with the curve coefficients generated, a current temperature measured by the temperature sensor112, a measured camshaft position measured by the position sensor116, the UAM132then generates an updated camshaft position.

FIG. 2shows a first flow chart200used in the PREP126(FIG. 1) according to the present invention. At block204, a set of current position data including a current camshaft deviation (Dcurrent) generated by the AAM120and a current temperature (Tcurrent) (at which Dcurrentis measured) from the temperature sensor112is obtained. A set of pre-determined position data are then compared with the current position data subsequently. For example, at block206, at least two sets of pre-determined position data measured prior to the current position data and stored in the memory124are retrieved. The two sets of pre-determined position data typically include a minimum deviation (Dmin), a minimum temperature (Tmin) at which Dminis determined, a maximum deviation (Dmin) and a maximum temperature (Tmin) at which Dmaxis measured. At block208, Tcurrentis compared with Tmin threshold. If Tcurrentis less than Tmin threshold, Tminis set to (or assigned to) Tcurrentand Dminis set to Dcurrentat block212. Otherwise, that is, when Tcurrentis at least equal to Tmin threshold, Tcurrentis compared to Tmin thresholdat block220. If Tcurrentis greater than Tmaxthreshold, Tmaxis set to (or assigned to) Tcurrent, and Dmaxis set to Dcurrentat block224. Potentially, as a result, a new minimum set of position data or a new maximum set of position data is obtained after block212or block224. Once the minimum or the maximum position data has been reset or determined, a plurality of curve fittings coefficients are generated. It should be understood that the minimum set of position data or the maximum set of position data can be repeatedly updated, or determined based on demand, and that multiple sets of minimum and maximum position data can also be obtained. A typical value of Tmin thresholdis 40° C., and a typical value of Tmax thresholdis 80° C.

At block228, some curve fitting coefficients required by the CFM128are generated based on the pre-determined or the updated position data sets. More specifically, once the pre-determined minimum temperature (Tmin) or the pre-determined maximum temperature (Tmax) are updated, or when the pre-determined minimum camshaft (Dmin) and the pre-determined maximum camshaft deviation (Dmax) are updated, the pre-determined values are used to fit a curve by a numerical method. For example, the desired curve may be a first order curve, or a straight line, and the numerical method can be a linear interpolating polynomial. Other numerical methods may be used including a least square approximation technique with a regression line. For high accuracy, regression models such as a second or a third order regression can also be used.

When the desired regression curve is a linear interpolation, a camshaft deviation due to a change of temperature is determined at block228as follows. After the position data from the memory124has been retrieved and updated as described above, curve fitting coefficients such as a rate of change of camshaft position(“∂D∂T”)
with respect to temperature changes using the camshaft position data is determined as follows:∂D∂T=Dmax-DminTmax-Tmin.
That is, a first difference between Dmaxand Dmin, a second difference between Tmaxand Tmin, and a gradient from dividing the first difference by the second difference are generated at block228. Using the generated gradient in the case of a linear interpolation, a deviation offset (Doffset) is also obtained at block228. This may be better understood by reference toFIG. 3, which illustrates a deviation-temperature curve, a curve, or a line300crossing points (Tmax, Dmax)304and (Tmin, Dmin)308, and having a gradient310. The line300extends to an intercept at a point (0, Doffset)312on a deviation axis316. The gradient(∂D∂T)
310, and Doffset312, which constitute a set of curve fitting coefficients are obtained. The sets of curve fitting coefficients are then optionally weighted depending on different determining factors such as the rotational speed or velocity and the time the last set of curve fitting coefficients was generated.

Once the curve fitting coefficients such as the gradient(∂D∂T)
310, and Doffset 312have been determined, the camshaft position can be updated and approximated as shown in FIG.4. Specifically,FIG. 4shows a flow chart250of updating and approximating a camshaft position due to a change of temperature. When the system104requests a camshaft position update and approximation, the system104will also obtain a temperature reading (“Tsensed” or “7”) from the temperature sensor112, and a camshaft position (“PT”) reading from the AAM120or the position sensor116, as shown in block254. PTis either a manufacturing tolerance compensated camshaft position when obtained from the AAM120, or a non-compensated position, or simply a sensed position when obtained from the position sensor116. UAM132then reads the curve fitting coefficients from PREP126, and approximates a camshaft deviation (“DT”) due to the change of temperature with the curve fitting coefficients, as shown in block258. When a linear regression is used, the camshaft deviation due to the change of temperature is approximated as follows:DT=Doffset+∂D∂T·Tsensed.
That is, the deviation due to the sensed temperature (Tsensed) is equal to a sum of Doffset312and the product between the gradient310and Tsensed. Alternatively, referring back toFIG. 3, when a camshaft deviation point (Tsensed, DT)318is requested, Tsensedis first sensed, and located on the curve300. The corresponding deviation DTcan also be determined from a line320normal to the deviation axis316and crossing the curve300at the temperature Tsensed. Once the camshaft deviation due to temperature change has been determined or approximated, the camshaft position, PT, is updated by summing the measured PTand the approximated temperature deviation DT, as shown in block262of FIG.4. Generally, when a camshaft deviation point (Tsensed, DT) is requested, the Tsensedis first sensed. The corresponding camshaft deviation is then obtained by plugging the sensed temperature Tsensedinto the curve that encompasses the curve fitting coefficients.

In an alternative embodiment, the measured deviations such as Dmin, and Dmaxare averaged over a number of times and temperatures, or filtered over several measurements. In yet another embodiment, a temperature threshold is used to set up the regressive curve. For example, the temperature threshold may require that an absolute difference between Tminand Tmaxis greater than a pre-determined minimum. In yet another example, the temperature threshold may require that an absolute difference between Tminand Tmaxis less than a predetermined maximum. In this way, the deviations produced by the system100will have a higher accuracy.

Once the temperature maximum and minimum, and the deviation maximum and minimum have been determined, a deviation threshold can be set up to validate the fault recognition. For example, when DTis beyond the deviation threshold developed, a fault recognition can be invalidated. Furthermore, with the line300(FIG.3), a hypothetical deviation (DHYPO) at an exemplary temperature can be determined. Once DHYPOhas been determined, if Tsenseddoes not exceed some pre-determined threshold, DTcan be optionally set to DHYPOto reduce the systems response time. For example, when a hypothetical deviation is calculated at 20° C., a fault is detected only when Tsensedis significantly higher than 20° C.

FIG. 5shows an alternative system500embodying the present invention. System500includes a temperature compensation enable504configured to receive a temperature reading from a temperature sensor508(or112of FIG.1), and a fault validity enable512. When the enable504is activated, the temperature reading is compared with an existing minimum temperature or an existing maximum temperature, as described in block208or block220ofFIG. 2, respectively. If the existing temperature limits requires an update, the enable504will send an enable signal to an update module516. Using a camshaft position reading from a camshaft position sensor520, a camshaft deviation is determined at a deviation determination module524. A temperature compensation module526then processes the determined deviation from module524, the temperature reading from sensor508, and the updated temperature limits, to generate a gradient528(310ofFIG. 3) and offset532(312ofFIG. 3) and a deviation validity536. The deviation validity536from the temperature compensation module526then controls whether the updated camshaft position, as determined in block262(ofFIG. 2) (for example), should be released.

The system500also includes a fault threshold module540. When the enable512is activated, the fault threshold module540sets up a deviation threshold in which fault recognition is considered faulty. A comparison module544then compares the deviation reading from module524with the threshold. A fault validity is generated based on the comparison results. For example, a fault is valid when the deviation is within the threshold.

For ideal engine operation, the deviation should be as small as possible. Generally, the smaller the deviation, the greater or higher the alignment is between the camshaft and crankshaft. The alignment is also sometimes referred to as a timing of opening and closing of valves relative to a piston position. As described earlier, many factors affect alignment deviation (Dcurrent). These factors include actual deviations from manufacturing tolerances and increasing wear, virtual deviations such as sensor tolerances, mounting mistakes such as misalignment of the belt or chain that drives the camshaft from a crank, and temperature effects due to sensor characteristic or different expansion within the engine108.

Diagnostic functions that check errors such as mounting mistakes generally compare Dcurrentwith a diagnostic threshold Ddiagnosisto determine if, for example, the mounting mistakes are acceptable. If Dcurrentis greater than Ddiagnosis, a fault code is generated. To accurately generate a fault code, tolerance factors such as manufacturing, aging, and temperature are considered in determining Ddiagnosis. As a result, DTas determined earlier can be used to compensate for the effect of the engine temperature of the engine108. Specifically, DTcan be used to calculate DHYPOat a defined temperature, for example 20° C. Thereafter, DHYPOat the defined temperature can be compared to Ddiagnosisat block544. In that way, the diagnostic threshold (Ddiagnosis) can be lowered, and therefore the fault detection can be improved.

As should be apparent to one of ordinary skill in the art, the systems shown inFIGS. 1 and 5are models of actual systems. In fact, the system shown inFIG. 5is based on a model made using ASCET-SD modeling simulation software, which will automatically generate software code, and documentation based on the logical constructs created by the designer. Many of the modules and logical structures described are capable of being implemented in software executed by a microprocessor or a similar device or of being implemented in hardware using a variety of components including, for example, application specific integrated circuits (“ASICs”). Thus, the claims should not be limited to any specific hardware or software implementation or combination of software or hardware.