[0001] This invention relates to a method and apparatus for determining the accuracy of
a valve position sensor for use in measuring the throttle position in internal combustion
engines.
[0002] Internal combustion engines that rely on electronic control must have some means
of sensing the various mechanical states of the engine. Consequently, numerous sensors,
such as the conventional throttle position sensor, are normally associated with such
engines, and are often located in harsh environments where temperature extremes, moisture
and vibration can reduce sensor life.
[0003] The throttle position sensor provides a signal commonly used in engine control, and
it is important that means exist by which the accuracy of that signal can be monitored.
Evaluation of the accuracy of this sensor is complicated by its indirect relationship
to other engine states and by sensor output signal pollution from engine noise and
system disturbances.
[0004] Some techniques for checking the accuracy of the throttle position sensor are known,
one technique using redundant sensors to provide a means for sensor signal cross-verification.
However, sensor tolerances can vary widely making only more expensive, precise sensors
suitable for this technique. Additionally, if both sensors fail in a similar manner
due to a failure in a non-redundant part of the system, their signals may continue
to correspond to each other, and the failure will go undetected. Sensor accuracy can
only be fully monitored by complete sensor redundancy which can add substantial cost
to a system. Finally, transient signals can appear on the output signal of either
sensor and may lead to an incorrect diagnosis of a fault.
[0005] The present invention seeks to provide an improved method and apparatus for determining
the accuracy of a valve position sensor.
[0006] Accordingly, an aspect of the present invention provides apparatus for determining
the accuracy of a valve position sensor as defined in claim 1.
[0007] This invention can overcome the limitations of the prior art by monitoring the measured
value of an engine state directly dependent on throttle position, and by using that
value to judge the accuracy of the throttle position sensor.
[0008] Specifically, if the rate of change of the position of the throttle valve does not
exceed a predetermined rate of change and if the throttle valve position exceeds a
predetermined position, the absolute pressure of the air in the engine intake manifold
downstream of the throttle valve should always exceed a predetermined pressure. In
an embodiment, if under these conditions the measured pressure is less than the predetermined
pressure for a predetermined time, the throttle position sensor is presumed to be
faulty as a pressure less than the predetermined pressure is not obtainable within
that range of throttle positions.
[0009] This embodiment uses hardware already available with most conventional engine control
systems and requires minimal supporting software, adding little cost to the system.
The accuracy of the throttle position sensor is monitored in this embodiment by a
state affected by throttle position--not affected by the throttle position sensor--thereby
reducing the probability that a fault in this sensor will go undetected. Finally,
a potentially faulty condition must exist for a predetermined time to be diagnosed
as a fault, reducing the chance that a transient condition will be improperly diagnosed
as a fault.
[0010] According to another aspect of the present invention, there is provided a method
of determining the accuracy of a valve position sensor as defined in claim 5.
[0011] For the avoidance of doubt, the sensed valve position increases with increasing opening
of the valve.
[0012] An embodiment of the present invention is described below, by way of illustration
only, with reference to the accompanying drawings, in which:
Figure 1 is a diagram of an embodiment of diagnostic system and engine controller
for monitoring the accuracy of a throttle position sensor;
Figures 2 to 4 are computer flow charts illustrating an embodiment of operation of
an engine controller of Figure 1;
Figure 5 is a graph illustrating the relationship between engine speed and a throttle
position threshold value; and
Figure 6 is a graph illustrating the relationship between the magnitude of the manifold
absolute air pressure and the position of the throttle valve.
[0013] Referring to Figure 1, the air flow rate of an internal combustion engine 20, and
thus the engine operating speed, is controlled on the basis of a command received
from the driver. The driver applies a force to an accelerator pedal 22 of the engine
tending to rotate the pedal about a pivot 24 to an off idle position in opposition
to a return force exerted by a spring 26 tending to rotate the pedal to an engine
idle position.
[0014] Air is drawn through an inlet bore 28 of the engine 20, in which a conventional throttle
valve 30 is located and which, in proportion to the force applied to the pedal 22
by the driver, admits an amount of air into the engine 20. In this embodiment, the
valve 30 consists of a conventional throttle blade rotatably mounted in the inlet
bore 28 of the engine 20. The blade 30 is linked to the pedal 22, such as by a conventional
cable link 32, so that as the driver applies a force to the pedal, displacing it away
from its engine idle position, the blade is rotated away from its closed position
by a proportional amount, so as to regulate airflow into the engine intake manifold.
[0015] A throttle position sensor 36 is associated with the throttle blade 30 to measure
the position of the blade with respect to the air inlet 28, corresponding to the amount
of air allowed into the engine. In this embodiment, the position sensor 36 is a common
rotary potentiometer having a wiper which rotates with respect to an electrically
resistive track as the blade 30 rotates with respect to the air inlet 28. The resistance
between the output terminals of the potentiometer 36, proportional to the displacement
of the blade away from its closed position, is transmitted to and monitored by an
engine controller 34 (which may be a Motorola MC68HC11 single chip processor), such
that the controller receives a measure of the angular position of the blade 30 with
respect to the air inlet 28.
[0016] Fuel is mixed with the air drawn into the engine 20, such as by conventional fuel
injectors (not illustrated). This fuelling is controlled in a conventional manner
by the the engine controller 34 so as to achieve a desired air-to-fuel ratio.
[0017] A conventional pressure sensor 48 for measuring the absolute pressure of the air
within the intake manifold 38 is located in the manifold. The sensor 48 converts the
pressure measured to a voltage proportional to the absolute pressure in the intake
manifold (MAP), which is then transmitted to the engine controller 34.
[0018] A rotational speed sensor 42 is located in proximity to the crankshaft of the engine
40 to sense the rotational speed of the crankshaft. In this embodiment, this sensor
is a conventional magnetic field sensing device that senses changes in the magnetic
field immediately surrounding the head of the sensor as a result of the passage of
the teeth of a conventional ring gear, typically driven by the crankshaft 40. The
resultant alternating waveform, having a frequency proportional to the engine speed
ES is transmitted to a conventional signal conditioning circuit 50 where it is converted
to a form suitable for input into the engine controller 34. It is then transmitted
to the input circuitry of the engine controller as a measure of engine speed.
[0019] The engine controller 34 monitors throttle blade position. When the throttle blade
30 is relatively steady in position, such that its rate of change is below a predetermined
rate of change, the controller 34 calculates a throttle blade position value proportional
to the sensed engine speed ES. If the throttle blade position exceeds that calculated
value, the absolute pressure of the air in the intake manifold (MAP) should not, under
fault-free operation, be less than a predetermined calibration pressure. If the absolute
pressure is less than the predetermined pressure for a predetermined time while the
throttle position exceeds the calculated position, a throttle position sensor fault
is assumed to have occurred and the controller 34 sends a fault code to the fault
code storage unit 44. Conversely, if the absolute pressure is not less than the predetermined
pressure for a predetermined time, the fault code is cleared.
[0020] The controller 34 includes a read only memory 46 in which is stored the program for
running the above embodiment.
[0021] Referring to Figure 2, when power is first applied to the system such as when the
vehicle ignition switch is turned to its "on" position, the engine controller 34 initiates
the engine control program at step 60 and then proceeds to step 62 where the program
provides for system initialization. For example, at this step data constants are transferred
from ROM locations to RAM locations and counters, flags and pointers are initialized.
[0022] After the initialization step, the program proceeds to step 64, where any interrupts
used in the execution of the control program are enabled. The interrupt used to execute
the routine to test the throttle position sensor 36 is also enabled at this step.
The program then proceeds to a background loop at step 66 which is continuously repeated.
This loop may include system diagnostic and maintenance routines. In the preferred
embodiment, the program interrupts the background loop every 100 milliseconds to execute
the routine to test the throttle position sensor 36.
[0023] This testing routine is illustrated in Figure 3, and is entered at step 70. The program
proceeds to step 72 in which conventional engine control and diagnostics routines
are carried out. The program then, at step 74, executes the throttle position sensor
diagnostic routine. The program then returns to the background loop via step 76.
[0024] The steps involved in carrying out the throttle position sensor diagnostic routine
are illustrated in Figure 4. The program enters the routine at step 80 and proceeds
to step 82 where the present throttle blade position PP is read. Next, at step 84,
the difference between PP and the most recent stored value of the throttle position
OP is calculated as ΔP. The value ΔP therefore represents the time rate of change
of throttle position, or the amount of change of throttle position over the fixed
time interval between successive iterations of this routine.
[0025] Next, at step 86, ΔP is compared to a predetermined difference K₁, which defines
the cutoff value above which the throttle blade is considered not to be in the steady
state. In effect, this routine relates throttle position to manifold absolute pressure.
[0026] However, this routine cannot proceed when the blade position is changing rapidly
(is not in its steady state) for the following reasons. For given engine conditions,
a change in throttle blade position will, after a period of time, result in a change
in manifold pressure. However, if the throttle blade position is changing rapidly,
readings of manifold pressure quickly become obsolete and cannot be related to the
present throttle position. Consequently, a meaningful comparison between manifold
pressure and throttle blade position can only be made when the blade is relatively
steady. In this embodiment, K₁ is determined on the basis of the following equation:
where P₁ is the throttle position corresponding to wide open throttle and P₀ is the
throttle position corresponding to a closed throttle. This predetermined value is
stored in ROM and is loaded into system RAM during the initialization at step 62 of
Figure 2. Therefore, in this embodiment, the throttle blade 30 is considered to be
in its steady state if it has not changed by more than two percent of its overall
range between successive 100 millisecond iterations of this algorithm.
[0027] If the blade 30 is not determined to be in its steady state, the program proceeds
to step 112, where the present sensed pressure value PP is stored in RAM as the old
pressure value OP, for use the next time the routine is executed. The program is left
at step 114 and returns to step 76 of Figure 3.
[0028] If the blade 30 is determined to be in its steady state at step 86, the present engine
speed ES is read at step 88. A throttle position calibration value K₂, which is a
function of ES and a third value K₃, which will be described shortly, is next determined
at step 90 and is compared to the present throttle position PP. In this embodiment,
K₂ is determined from a piecewise linear model of throttle position versus engine
speed as illustrated in Figure 5. Four points were chosen to define the model over
the entire engine operating range for this embodiment, but more points may be used
for increased model precision. K₂ is related to K₃ in that when the sensed throttle
position exceeds K₂, the manifold absolute pressure MAP may be compared to K₃ and,
in normal operation, should never be less than K₃.
[0029] Accordingly, K₂ and K₃ are values that must be predetermined on the basis of the
characteristics of the system to be monitored over the range of possible engine speeds.
Once one value is chosen, the other may be found experimentally. For example, by selecting
a value for K₃, a value for K₂ may then be determined as the throttle position for
a given engine speed at which the manifold absolute pressure should never be below
that selected value of K₃.
[0030] As Figure 5 illustrates, K₂ increases in proportion to engine speed. Consequently,
as engine speed increases, the "unobtainable region", shown in Figure 6, of manifold
absolute pressure shrinks, or lower values of throttle position may correspond to
MAP values which would, under normal engine operation, be less than K₃. Low MAP values,
specifically MAP values below K₃, may exist at high engine speeds and low throttle
position values due to a large air demand from the engine, a small air inlet, and
thus a large pressure drop across the inlet. As such, in this embodiment, MAP and
K3 are compared when engine speed and throttle blade position indicate that a MAP
value should never lie below K₃. Should MAP lie below K₃, the throttle blade 30 is
assumed to be at a lower value than the throttle position sensor indicates, and the
throttle position sensor is assumed to be faulty.
[0031] Returning to step 90 of Figure 4, if the present throttle position PP is below K₂,
the throttle position sensor is assumed, for the purposes of this routine, to be operating
properly as a meaningful evaluation of the manifold pressure cannot then be made.
Additionally, if PP is below K₂ then the throttle position sensor is assumed not to
be sticking, a common failure mode for this type of sensor, as normal driving would
eventually push a sticking throttle position sensor to a position in excess of K₂.
In either case, the program exits this routine in the manner described, by saving
the present pressure PP in RAM as the old pressure PO value at step 112, and by proceeding
to step 114, where the program returns to step 76 of the routine of Figure 3.
[0032] Alternatively, if at step 90 of Figure 4, PP exceeds K₂, the program proceeds to
step 92 where the absolute pressure of the air in the intake manifold MAP is measured.
Next, at step 94, MAP is compared to the predetermined pressure threshold value K₃,
which represents the start of a region shown in Figure 6 as the unobtainable pressure
region, within which a MAP measurement may indicate a system fault.
[0033] The relationship between MAP and throttle position is illustrated in Figure 6. There
is a physical limit of MAP, shown as K₃ which, when throttle position is greater than
K₂, should never exceed the measured MAP value. If the throttle blade is nearly closed,
imposing a large restriction on incoming air, a large pressure drop is possible across
the blade. However, as the blade opens, an increasing amount of air is allowed to
pass through, reducing the pressure drop through the inlet.
[0034] Experiments have shown that a certain throttle blade opening K₂ can be determined
as a function of engine speed ES such that for any blade position more open than K₂,
the absolute pressure of the air below the blade cannot be less than a calibrated
value K₃, which is determined on the basis of the physical characteristics of the
throttle bore, the throttle blade and the intake manifold. This provides a convenient
means of checking the accuracy of the throttle position sensor 36. If the sensor 36
indicates that the throttle blade position is more open than K₂, the pressure measured
in the intake manifold should never be below K₃. If the pressure is below K₃, a throttle
position sensor fault may exist.
[0035] In this embodiment, the MAP limit, K₃, was chosen as 55 kiloPascals (kPa), but this
limit may vary depending on the physical characteristics of the system being monitored,
as described above.
[0036] Returning to step 94 of Figure 4, if the measured pressure is below K₃, an occurrence
counter i is incremented at step 96. Next, at step 98, if i exceeds or is equal to
a predetermined value K₄, a throttle position sensor error code is set in the memory
of the engine controller. Upon servicing the engine, a service technician can read
the code and immediately identify the fault, which he can cure by any conventional
off-line fault treatment scheme.
[0037] K₄ is a means by which transient deviations from the range of acceptable pressure
values are tolerated by the routine. These deviations are common in engine diagnostic
systems susceptible to noise and disturbances, are usually of short duration, do not
usually result in reduced performance, and therefore should not be immediately diagnosed
as faults. In this embodiment, K₄ is set to five, such that five cumulative pressure
deviations must occur before a fault code is stored in memory. If i has been incremented
to the value of K₄, the controller limits the value to the value of K₄ at step 110,
such that the system may still self-correct in the predetermined amount of time by
decrementing the counter to zero if five cumulative pressure readings lie within the
acceptable range. The program then, at step 112, saves the present pressure reading
PP as the old pressure reading PO and, at step 114, returns to the routine of Figure
3. At step 98, if i is less than K₄, the program returns to the routine of Figure
3 via steps 112 and 114.
[0038] Returning to step 94, if the MAP value exceeds or is equal to K₃, a fault-free condition
is assumed, and the occurrence counter is decremented by one at step 102. If, at step
104, the counter value is at or below zero, the throttle position sensor fault code
is cleared, if necessary, at step 106. Thus the routine, even if a previous fault
has been diagnosed, may continue operation with no fault indication at all once the
sensor is deemed to be operating correctly over the prescribed period of time. Next,
the counter is reset to a value of zero at step 108, such that at any time five cumulative
pressure excursions will be diagnosed as a fault.
[0039] The program then returns to the routine of Figure 3 via steps 112 and 114, as described
above. Returning to step 104, if the counter value is greater than zero, the program
returns to the routine of Figure 3 immediately through steps 112 and 114.
1. Apparatus for determining the accuracy of a valve position sensor for use in measuring
the position of a valve adapted to regulate inlet of air to the intake manifold of
an internal combustion engine, comprising processing means (34) for calculating the
rate of change in the position of the valve on the basis of the valve position sensed
by the valve position sensor; a pressure sensor (48) for sensing the air pressure
in the intake manifold; comparator means (34) for comparing the sensed air pressure
with a predetermined air pressure value when the rate of change in the position of
the valve does not exceed a predetermined rate of change and when the sensed valve
position exceeds a predetermined valve position; and a fault indicator (44) for indicating
the presence of a fault in the valve position sensor when the predetermined air pressure
value exceeds the sensed air pressure.
2. Apparatus according to claim 1, wherein the predetermined valve position is proportional
to the rotational speed (ES) of an output shaft of the engine.
3. Apparatus according to claim 1 or 2, wherein the fault indicator (44) comprises a
second indicator for indicating the absence of a fault in the valve position sensor
when the predetermined air pressure value does not exceed the sensed air pressure.
4. Apparatus according to claim 1, 2 or 3, wherein the fault indicator comprises incrementing
means (34,44) for incrementing a counter when the predetermined air pressure value
exceeds the sensed air pressure; decrementing means (34,44) for decrementing the counter
when the predetermined air pressure value does not exceed the sensed air pressure;
the fault indicator being adapted to indicate the presence of a fault in the valve
position sensor when the counter exceeds a predetermined count; and the second indicator
is adapted to indicate the absence of a fault in the valve position sensor when the
counter does not exceed the predetermined count.
5. A method of determining the accuracy of a valve position sensor for use in measuring
the position of a valve adapted to regulate the air inlet into the intake manifold
of an internal combustion engine, comprising the steps of sensing the position of
the valve; sensing the air pressure in the intake manifold; determining a valve position
above which the air pressure in the intake manifold will always be above a predetermined
pressure threshold; comparing the sensed air pressure with the predetermined pressure
threshold while the sensed position of the valve is above the determined valve position;
and indicating a fault in the sensed position of the valve when the sensed air pressure
is less than the predetermined pressure threshold.
6. A method according to claim 5, wherein the valve position determining step comprises
the step of sensing engine speed (ES), and determining the valve position as a function
of the sensed engine speed.