Method of and apparatus for detecting misfire

Abstract: In order to detect misfire in an internal combustion engine, engine speed is determined by measuring (13) the time of passage of a crankshaft disc (10) from a first position (0, 1, 2) to a second position (1, 2, 0) during every revolution. A detection circuit (14) takes the reciprocal of the measured times of passage to form a series of engine speeds and forms the difference between consecutive engine speeds. These differences are compared (16) with a threshold to signal a misfire when the threshold is exceeded.

Description: The present invention relates to a method of and an apparatus for detecting misfire in an internal combustion engine. DE-A-3 615 547 discloses a technique for detecting a defective cylinder of a multi-cylinder internal combustion engine using measured variations in engine speed. For each cylinder, the maximum and minimum speed changes are determined during a quarter revolution of the engine crankshaft following top dead centre at the start of the combustion strobe for the cylinder. The maximum and minimum speed changes could occur anywhere during the quarter revolution. The ratio of the difference between the maximum and minimum speed change to the difference between the maximum and minimum speed changes for the preceding cylinder is compared with a threshold to indicate whether the cylinder is defective. DE-A-3 724 420 discloses a technique for protecting an exhaust gas catalytic converter by detecting a non-firing cylinder. Crankshaft speed is measured during each engine cycle to monitor speed variations caused by each cylinder. Differences in the maximum values or between maximum and minimum speed variation values are used to determine non-firing and the supply of fuel to a non-firing cylinder is cut off so as to prevent damage to the catalytic converter. EP-A-0 433 690, which was published after the priority date of the present application, discloses a misfire detection technique in which engine revolution time periods are measured for each cylinder. A value representing possible misfire is calculated from three consecutive time period measurements so that these measurements correspond to consecutive crankshaft rotations. EP-A-0 437 212, which was published after the priority date of the present application, discloses a technique similar to that disclosed in EP-A-0 433 690 but inhibits misfire detection when a vehicle is coasting i.e. under closed throttle conditions. It is generally considered that it is difficult to detect misfires reliably in internal combustion engines. Misfire detection can be based on variations in engine output speed and, in a known arrangement, this is determined by means of a variable reluctance transducer or the like co-operating with a toothed wheel mounted on the output shaft. A timer arrangement determines the time taken for consecutive teeth to pass the transducer and this time period, or its reciprocal representing speed, is used to detect variations in engine speed. However, the teeth of the toothed wheel are machined to certain tolerances and the resulting variations in time of passage of consecutive teeth can result in spurious detection of speed variations which create errors in detecting misfire. Some internal combustion engines create cyclical rotary vibrations in their crank shaft which again affect the measurement of time periods between passage of consecutive teeth past the transducer. Such vibrations can occur at multiplies of half the firing frequency of the engine and again can lead to erroneous detection of misfire. The output speed of internal combustions for driving vehicles is not, of course, constant, but varies with the speed of the vehicle. Also, movement of a vehicle over rough and uneven surfaces can feed back speed variations to the engine output shaft. Thus, the engine output shaft is subjected to linear accelerations and decelerations and varying changes in speed during normal driving of the vehicle and this can lead to erroneous detection of misfire. According to a first aspect of the invention, there is provided an apparatus as defined in the appended Claim 1. According to a second aspect of the invention, there is provided a method as defined in the appended Claim 7. Preferred embodiments of the invention are defined in the other appended claims. It has been found that engine misfire can be detected on the basis of measurements representing engine speeds in a simple way and with a high degree of reliability. By making the measurements at the same points in different cylinder and piston cycles, for instance at top dead centre between the compression and ignition strokes of each piston, speed variations caused by the inertia and geometry of the moving parts of an engine do not mask any engine speed variations caused by a misfire. In particular, engine speed variations caused by the inertia and geometry are substantially the same at the same points in different piston and cylinder cycles and are thus removed or their effects greatly reduced in the process of determining the engine speed variations. Preferably, misfire is detected on the basis of engine speed measurements, as opposed to period measurements (e.g. by taking the reciprocal of period measurements). It has been found that misfires can be detected throughout the whole range of engine speeds using threshold values which are constant or change little with engine speed. The threshold level may be a fixed threshold. In one experiment with a typical six cylinder four-stroke cycle engine, a fixed threshold corresponding to a speed variation of 15 RPM has proved satisfactory. It is thus possible to use a fixed speed variation threshold throughout the full range of engine speeds, thus simplifying the processing required to detect misfires. The same reference points are used for each engine speed measurement at the series of sampling points. This avoids any variation in measured engine speed caused by variation in the relative positions of the reference points. For instance, it is common practice to provide a toothed wheel on an engine crankshaft co-operating with a sensor, such as a variable reluctance transducer, to detect the passage of the teeth. Tolerances in the width and spacing of the teeth give rise to variations in the measured engine speed. By basing the engine speed measurement on the passage of a particular tooth or group of teeth past the sensor, for instance the same tooth or group of teeth for each rotation of a plane crankshaft of a four-stroke cycle in-line engine, measured speed variations caused by such tolerances are substantially eliminated or at least reduced to the level where they do not interfere with reliable detection of engine speed variations caused by misfires. Alternatively or additionally, a compensating technique may be used whereby the average differences between period measurements for consecutive cylinders are used to establish correction factors which are applied to the instantaneous measurements. The parameter a may, for instance, be made equal to the number of combustion events per revolution of an output shaft of the engine or a multiple thereof. Thus, systematic errors resulting, for instance, from a timing or measuring device driven by the output shaft can be reduced or eliminated. The comparison means may form the comparison value as T(x)-T(x+1)-T(x+a)+T(x+a+1), where T(i) is the ith period or speed. The measuring means may comprise a variable reluctance transducer co-operating with a toothed wheel driven by the engine output shaft. The threshold value may be a fixed value or may vary, for instance as a function of engine speed and engine load. The method is performed for each cylinder and piston of a multi-cylinder engine by making speed measurements between respective series of the same cycle points for each cylinder and piston. For instance, engine speed is measured between the same point in the cycle of each of the cylinders and pistons, for instance at or after top dead centre of the firing stroke for each piston, with the speed variations being determined for each series of points corresponding to each cylinder and piston. This not only allows misfire to be detected for each cylinder and piston but also allows identification of a misfiring cylinder and piston to be indicated. It is therefore possible to provide diagnostic information which may be used: by an engine management system in order to take corrective action; to warn a vehicle driver of a possible fault; and to assist service personnel in identifying and rectifying a fault. A history of engine misfires may be stored, for instance to facilitate subsequent evaluation by service personnel in order to diagnose faults in the engine. The method may be performed by and the apparatus embodied as a digital system, for instance a micro-controller including a programmed microprocessor, and may be provided as part of an engine management system. For instance, a crankshaft position/speed sensor may be connected via an interface circuit to a timer input terminal of a micro-controller. Thus, misfire detection can be provided within an existing engine management system merely by augmenting the controlling software so as to perform the method. In such cases, the requirement for additional processing power is relatively small so that misfire detection can be provided at very small or no additional cost to an engine management system. It is thus possible to provide reliable misfire detection in an internal combustion engine of a vehicle and appropriate action can be taken when misfire is detected. This in turn makes it possible to reduce the emission of the pollutants, such as unburned or partially burned hydrocarbons, which in turn allows stringent pollution limits to be met with reduced degradation or "poisoning" of exhaust catalysts for removing certain combustion products. It has been found that a misfire of a single combustion event tends to cause a fluctuation in engine speed such that consecutive misfires are detected corresponding to an actual single misfire. Thus, each succeeding misfire is a "phantom" and misfiring actually took place during the first combustion event which gave rise to misfire detection. A single misfire can give rise to pairs, triplets, or larger groups of consecutive misfire detections depending, for instance, on the type of misfire detection being used. This can be ascertained by testing. In the case where a single misfire causes a pair of consecutive detections, should two consecutive misfires actually occur, three consecutive misfire events are generally detected so that, by dealing with each consecutive pair of misfires independently, the first and second combustion events are identified as having given rise to the triplet of misfire detections. Similarly, larger consecutive groups of misfires can be analysed to identify the actual misfiring cylinders. The invention as claimed will be further described, by way of example, with reference to the accompanying drawings, in which: Figure 1 is a block schematic diagram of a misfire detector suitable for an embodiment of the invention; Figure 2 is a block schematic diagram of a micro-controller implementation of the detector of Figure 1; Figure 3 is a flow diagram illustrating part of an operation of the micro-controller implementation of Figure 2 not being an embodiment of the present invention; Figure 4 is a graph illustrating cylinder speed variations as a series of speed measurements against time; Figure 5 is a graph of misfire detections against detection threshold for an engine speed of 5,000 RPM; Figure 6 is a graph similar to that of Figure 5 for an engine speed of 3,000 RPM; Figure 7 is a flow diagram illustrating an operation of the micro-controller implementation of Figure 2 according to the invention; Figure 8 is a graph illustrating a misfire detection technique used in the operation illustrated in Figure 7; Figure 9 is a graph of misfire detections against detection threshold for an engine speed of 2,000 RPM; Figure 10 is a flow diagram illustrating a further type of operation of the micro-controller implementation of Figure 2 not being an embodiment of the invention; Figures 11 to 13 are tables illustrating the derivation of misfire detection technique for the operation illustrated in Figure 10; Figures 14 to 16 are tables illustrating the misfire detection technique applied to engines having different numbers of cylinders; Figure 17 is a graph of misfire detections against detection threshold for an engine speed of 2,000 RPM; Figure 18 is a table illustrating consecutive detections of misfires with one cylinder continuously misfiring; and Figure 19 is a table illustrating identification of a misfiring cylinder based on the detected misfires illustrated in Figure 18. The misfire detector illustrated in the accompanying drawings forms part of an engine control system of a four-stroke cycle six cylinder spark ignition automotive internal combustion engine. The engine (not shown) has a crankshaft to which is fixed a disc 10. The disc has a toothed circumference and co-operates with a sensor 11, for instance a variable reluctance transducer, so as to provide a pulsed electrical signal with each pulse corresponding to the passage of a tooth past the sensor. In Figure 1, only three teeth, labelled 0, 1, and 2, are shown such that each of these three teeth passes the sensor 11 when two of the pistons of the engine are at top dead centre. The output of the sensor 11 is connected to an input circuit 12 which includes pulse shaping circuitry for converting the analog sensor signal into a digital output signal. The digital output signal is supplied to a timer 13 which times the passage of one or a plurality of teeth past the sensor 11. For instance, as indicated in Figure 1, the fire period corresponding to 120° rotation of the crankshaft following detection of each of the three teeth is measured by the timer 13 and supplied to a misfire detection circuit 14. The misfire detection circuit 14 forms the reciprocal of each fire period so as to provide an indication of engine speed during each ignition stroke of the engine and allocates the speed measurements consecutively to three series of measurements corresponding to measurement periods defined by passage of the three teeth of the disc 10 shown in Figure 1 past the sensor 11. The circuit 14 is arranged to form the differences between consecutive pairs of speed measurements in each series. The three sets of speed differences are supplied to a comparator within the detector 14 which compares each speed difference with a fixed threshold, for instance corresponding to a variation of 15 RPM. Whenever a speed difference exceeds the threshold, the comparator supplies a signal to a n averaging engine 15. The detection of a misfire can readily be correlated with the cylinder which is undergoing an ignition stroke so that, if desired, the misfiring cylinder and piston can be identified. The averaging circuit 15 acts as a low pass filter whose purpose is to avoid unwanted misfire indication in conditions where misfire is not present for long enough to cause substantial damage to the catalyst or unacceptably high levels of undesirable exhaust emissions. The output of the averaging circuit gives an indication of the percentage of misfire and is connected to a comparator 16. The comparator 16 compares the percentage of misfire with a fixed threshold, for instance representing 5% of misfire, corresponding to the level above which damage to the catalyst and/or excessive hydrocarbons emissions could occur. When the threshold is exceeded, the comparator 16 supplies a signal to a misfire indicator 17 which provides a visible and/or audible indication. Although the misfire detector shown in Figure 1 can be implemented as an analogue circuit, a discrete hard wired digital circuit, or a combination of the two, it is preferably implemented as a programmed micro-controller-based system as shown in Figure 2. The sensor 11 is connected to an input interface 12 whose output is connected to an engine management system 20 which controls ignition timing and fuelling of the internal combustion engine. The engine management system 20 includes a micro-controller 21 whose operation is controlled by a program stored in a read-only memory 22. The micro-controller 21 has a timer input TIMER to which the output of the input interface 12 is connected. The micro-controller 21 performs an interrupt request routine in response to the leading edge of each pulse produced by the sensor 11 and processed by the input interface 12 as a tooth of the disc 10 begins to pass the sensor 11. Part of the interrupt routine of the micro-controller 21 is illustrated by the flow diagram of Figure 3 and corresponds to the misfire detector 14. The other detector functions performed by software are not illustrated in the drawings as they can readily be provided by a person skilled in the art. At the end of the timed period of passage of the tooth or plurality of teeth past the sensor, the timed fire period is converted into engine speed by dividing a constant K by the fire period in a step 30. A decision step 31 then determines which of the teeth 0, 1, 2 triggered the fire period determination which has just been completed by ascribing a number N to passages of these three teeth past the sensor 11. If N is equal to two, the value of N is reset to zero in a step 32. If N is not equal to 2, then the value of N is incremented by 1 in a step 33. A speed change is then determined by subtracting the speed determined in the step 30 from the previously stored value of the speed for the tooth N in a step 34. A step 35 determines whether the speed change is greater than a threshold, for instance corresponding to a speed variation of 15 RPM. If the speed change is less than the threshold, a misfire flag is set to false in a step 36. If the speed change exceeds the threshold, the misfire flag is set to true in a step 37. The stored speed for the tooth N is then up-dated at 38 by replacing the previous value with the value calculated in the step 30. The interrupt routine is then terminated and control passes to the other software resident in the read only memory 22. Figure 4, not illustrating an embodiment of the invention, shows a graph of engine speed against time with each ignition stroke being indicated on the time axis. In particular, each complete cycle of the engine is represented by a letter A, B, C... and each cylinder ignition stroke is indicated by a subscript in the order of firing of the cylinders. Thus, A 1 represents the ignition stroke of the first piston in engine cycle A, A 2 represents the ignition stroke of the second cylinder in engine cycle A, etc., B 1 represents the first ignition stroke in engine cycle B, and so on. The timer resolution which, in turn, defines the speed measurement resolution, is indicated at 40. The graph in Figure 4 thus shows individual cylinder speed variations for the engine under low load conditions and at an engine speed of 5,000 RPM. An engine misfire is deliberately introduced at the rate of one misfire for twenty ignition strokes so as to illustrate the effect on engine speed. As can be seen from Figure 4, consecutive engine speed measurements illustrate considerable variations in engine speed caused mainly by differences in tooth spacing on the disc 10. However, by considering the speeds as three interleaved series of engine speeds, the speed variations between consecutive ignition strokes in each series i.e. every third measurement in Figure 4, are greatly reduced in the absence of a misfire. Misfires take place at strokes A 4 , D 6 , and H 2 . A substantial drop in engine speed therefore occurs between strokes A 1 and A 4 , between strokes D 3 and D 6 , and between strokes G 5 and H 2 corresponding to the misfires and these speed variations can readily be detected despite the normal speed variations which are occurring as illustrated in Figure 4. It has been found that, surrounding a misfire in one cylinder, the adjacent strokes are also affected. This is because of the discrete sampling nature of the period measurements and because the speed remains low for several fires following a misfire. During these fires, a speed drop will still be registered compared with the cylinder three fires before. Figure 5 illustrates misfire detection with the engine running in the same operating conditions and at the same rate of misfires as in Figure 4. The curves represent numbers of detections of misfires over a period of engine operation when 200 misfires actually took place, as indicated by the chain dot line in Figure 5. The full line representing "valid" misfire detections illustrates how the number of detected misfires is related to the actual value of the threshold against which comparison of engine speed variations is made. The broken line representing "false" misfire detections was obtained under the same test conditions but without any misfire being generated. If the detection threshold is set to too high a value, for instance 25 RPM, the number of detected misfires is far too small, of the order of 20 to 30 misfire detections when in fact 200 misfires took place. The comparison is therefore too insensitive and misses approximately 90% of the actual misfires which occurred during the measurement period. Conversely, if the detection threshold is set to a relatively low value, such as 5 RPM, the detector indicates false misfires. The comparison is therefore too sensitive and relatively small speed variations which occur naturally during engine operation have been falsely detected as misfires. Also, the tendency for engine speed remaining low during ignition strokes following a misfire is resulting in several misfires being detected when in fact only one misfire has occurred. These extra detections are not in fact erroneous but represent "second order" effects of the misfire. In the case of the engine whose operation is illustrated in Figure 6, a detection threshold of between 15 and 20 RPM is appropriate and, in fact, a detection threshold of 15 RPM allows misfire to be detected with very good reliability and consistency, the curve of false detection in Figure 5 indicating that, with this threshold, false misfire detections are non-existent. Figure 6 is similar to Figure 5 but illustrates the effect of varying the detection threshold for the engine operating under low load at a speed of 3,000 RPM. Again, the actual number of misfires which occurred during the measurement period is indicated by the chain dot line. Engine operation with a single misfire every 35 ignition strokes is illustrated by the full line and operation with two consecutive misfires occurring every 70 ignition strokes is illustrated by the broken line. The curve representing single misfires is similar to the "valid" curve of Figure 5 and indicates that a threshold of 15 RPM gives reliable and consistent detection of misfires. The curve representing double misfires gives approximately the same detection of misfires for this threshold. As compared with Figure 5, no false detections occur in the operating conditions illustrated in Figure 6. This is to be expected because of the greater background speed variation which occurs at the higher engine speed of the operating conditions illustrated in Figure 5. In an embodiment of the invention, the operation of the misfire detector shown in Figures 1 and 2 differs from that described hereinbefore as follows. The misfire detection circuit 14 forms the reciprocal of each fire period so as to provide an indication of engine speed during each ignition stroke of the engine and forms a speed change signal as T(x)-T(x+1)-T(x + a) + T(x+a+1), where a is the number of engine fires per revolution of the crankshaft. The speed change or difference signal is supplied to the comparator within the detector 14 which compares each speed difference with a fixed threshold, for instance corresponding to a variation of 20 RPM. Whenever a speed difference exceeds the threshold, the comparator supplies a signal to the averaging engine 15. As shown in Figure 7, at the end of the timed period of passage of the tooth or plurality of teeth past the sensor, the timed fire period is converted into engine speed by dividing a constant K by the fire period in a step 130. A speed change is then determined in a step 131 as T(x)-T(x+1)-T(x+a)+T(x+a+1), where a is the number of engine fires per revolution of the crankshaft. A step 135 determines whether the speed change is greater than a threshold, for instance corresponding to a speed variation of 20 RPM. If the speed change is less than the threshold, a misfire flag is set to false in a step 136. If the speed change exceeds the threshold, the misfire flag is set to true in a step 137. The index x is then up-dated in a step 138. The interrupt routine is then terminated and control passes to the other software resident in the read only memory 22. Figure 8 illustrates the algorithm performed in the step 131 in Figure 7. The upper row represents the crankshaft segments a, b, c used for providing period measurement information and corresponding to sections of the circumference of the crankshaft disc 10 beginning with the teeth 0, 1, 2 shown in Figure 1. The next row indicates the measured periods of passage of these sections as P A to P D , and the bottom row represents a smoothed curve of engine output speed illustrating a misfire occurring during the period P A . Thus, P A corresponds to T(x), P B corresponds to T(x+1), P C corresponds to T(x+a), and P D corresponds to T(x+a+1) for a six cylinder four-stroke engine. In order to provide effective identification of a misfiring cylinder, adjacent measured periods may be compared. This is because of the sharp drop in speed and slow speed recovery occurring after a misfire, as illustrated in the bottom row of Figure 8. Comparing period measurements spaced apart by several fire cycles of the engine could result in spurious misfire detection, but comparison of adjacent periods allows identification of the misfiring cylinder. However, the use of adjacent periods for comparison purposes results in the addition of errors caused by tolerances in manufacture of the teeth of the crankshaft disc 10. Such tolerances result in uneven tooth spacing and this can lead to spurious misfire detection. The algorithm used in the step 131 of Figure 7 and described above avoids these problems. In particular, comparisons are made between adjacent measured periods in order to detect the sharp drop in engine speed following a misfire but so as not to cause spurious detections. The same sections of the crankshaft disc 10 contribute positive and negative amounts in the algorithm so that any unevenness caused by tolerances in manufacture and the like cancel out from the measurement. A further advantage of this algorithm is that errors due to linear acceleration and deceleration are also cancelled greatly reduced. Figure 9 illustrates the number of misfire detections against the threshold in revolutions per minute (RPM) for the step 135 in Figure 7. For this test, an engine was operated at 2,000 RPM and the number of detections in 3,000 engine fire cycles was accessed for different thresholds. The curves labelled smooth road and rough road show the erroneous or spurious detection of misfires at relatively low threshold levels whereas the curve labelled 1% misfire represents 30 actual misfires. Below a threshold of 19 RPM, spurious misfire detection caused by feedback from the road surface can occur. Approximately the correct number of misfire detections were made with a threshold in the region of 20 RPM, and this would therefore seem suitable for the particular engine under test. In a further example not being an embodiment of the invention, the operation of the misfire detector shown in Figures 1 and 2 differs from that described hereinbefore as follows. After each fire period, the circuit 14 forms the sum of the engine speeds corresponding to the fire period just determined and the fire period five firing cycles of the engine earlier and subtracts from this the sum of the speeds corresponding to the firing periods two and three firing cycles of the engine earlier. This calculation provides a speed variation signal which is compared within the detector 14 with a threshold value, for instance corresponding to speed variation of 18 RPM. Whenever the speed difference exceeds this threshold, the comparator supplies a signal to an averaging circuit 15. The detection of a misfire can readily be correlated with the cylinder which has just produced a combustion event so that a misfiring cylinder and piston can be identified. For consecutive misfire detections, cylinder identification can be performed as will be described hereinafter. As shown in Figure 10, at the end of the timed period of passage of the tooth or plurality of teeth past the sensor, the timed fire period is converted into engine speed by dividing a constant K by the fire period in a step 230. A speed change is determined as S(x-2)+S(x-3)-S(x)-S(x-5) in a step 231, the speeds S (x-2), S(x-3), and S(x-5) having been obtained in the step 230 during the second, third, and fifth preceding cycles of operation. A step 235 determines whether the speed change is greater than a threshold, for instance corresponding to a speed variation of 18 RPM. If the speed change is less than the threshold, a misfire flag is set to false in a step 236. If the speed change exceeds the threshold, the misfire flag is set to true in a step 237. Finally, a step 238 resets the index x in readiness for a succeeding cycle of operation. The interrupt routine is then terminated and control passes to the other software resident in the read only memory 22. Figures 11 to 13 are tables illustrating the derivation of the calculation performed in the step 231 of Figure 10. Thus, in order to avoid tooth spacing errors caused by tolerances in machining the teeth of the disc 10, fire periods are compared by making measurements over the same physical portion of the disc 10. For the six cylinder engine being considered, the measurements which are compared should be located at every third fire cycle or an integer multiple of this. For an internal combustion engine which exhibits crankshaft vibrations at integer multiples of half the firing frequency, the algorithms shown in Figure 12 may be employed. Thus, every second fire period, or integer multiple of this, is used for comparison. In order to compensate for linear accelerations and decelerations of the engine crankshaft lasting at least one engine cycle, the algorithms shown in Figure 13 may be employed. In Figures 11 to 13, it should be noted that the cylinder numbers do not refer to the conventional location of cylinders starting at the front of the engine but instead refer to the cylinders in the order in which they are fired within an engine cycle. The "plus sign" and "minus sign" shown in these drawings indicate the ways in which the engine speeds or fire periods are combined in order to provide speed difference signals. Thus, in the case of algorithm 1 shown in Figure 11, the difference is formed between the speed corresponding to the fire period of the cylinder which is performing its ignition stroke and the cylinder which performed its ignition stroke three firing cycles earlier. Figures 14 to 16 illustrate examples of the actual algorithms which may be used in the step 231 for different engine sizes. Figure 14 illustrates the present case for a six cylinder in line engine. Figure 15 illustrates the corresponding algorithm for a four cylinder engine and Figure 16 illustrates the algorithm for an eight cylinder engine. Suitable algorithms for other types of engines can readily be obtained. Thus, the algorithms shown in Figures 14 to 16 represent composites of the techniques illustrated in Figures 11 to 13. In other words, the algorithm of Figure 14 represents a composite of the algorithms shown in Figures 11 to 13. A composite algorithm which fully combines the algorithms shown in Figures 11 to 13 can be provided for any engine having an even number of cylinders. For an engine with an odd number of cylinders, this is not possible and an algorithm has to be provided representing any two of the three types of algorithms illustrated in Figures 11 to 13. The actual choice of which two algorithms should be combined depends on circumstances and, in particular, which of the three difficulties overcome by the algorithms of Figures 11 to 13 is least important for the particular application. For instance, if the engine does not exhibit crankshaft vibrations for alternate firing periods, algorithms from Figures 11 and 13 may be combined as a composite algorithm for an engine with an odd number of cylinders. Figure 17 illustrates the effect of selecting the threshold against which the speed change signal is compared in the step 235 of Figure 10. In particular, the vertical axis represents the numbers of misfire detections and the horizontal axis represents the threshold in terms of revolutions per minute (RPM). The curves were obtained for an engine running at 2,000 RPM for a period corresponding to 4,000 engine fire cycles. Thus, the curve labelled "Tarmac" indicates operation of an engine running along a smooth tarmac road with no misfires. From this, it can be seen that thresholds less than about 11 RPM will give rise to spurious misfire detections. The curve labelled "Rough Road" represents a vehicle running along a relatively rough surface, and illustrates that spurious misfire detections will take place below a threshold of about 16 RPM. The curve labelled "1/101 Misfire" represents the occurrence of one actual misfire per 101 fire cycles, and the curve "1/48 Misfire" likewise relates to one misfire per 48 firing cycles. From these curves, it can be seen that a threshold level of 18 RPM will detect approximately the correct number of misfires and will not detect many, if any, spurious misfires. Above a threshold level of about 20 RPM, substantial numbers of misfires are not detected. Thus, the optimum threshold level for the arrangement which gave rise to the results shown in Figure 17 is 18 or 19 RPM. It has been found that, following an actual misfire in a cylinder, the succeeding strokes are also affected. This is because of the discrete sampling nature of the period measurements and because the speed remains low for several fires following a misfire. During these fire periods, a speed change above the threshold level may still be registered as a spurious signal. Although appropriate selection of the threshold level can reduce this spurious misfire detection, the threshold level should not be reduced to the point where spurious detections not associated with actual misfires occur. Thus, a threshold level below about 15 RPM would give rise to such spurious detection, for instance caused by movement over a rough road surface. It may therefore be more appropriate to set the threshold level at 15 or 16 RPM in order to avoid detecting any significant number of spurious misfires while ensuring that all actual misfires are detected. It has been found that detection of consecutive misfires can be used to identify a misfiring cylinder. In particular, Figure 18 illustrates the results of a test on an engine during which 500 actual misfires took place. The first column indicates different threshold levels and the second column indicates the total number of misfire detections. The remaining columns indicate the total number of misfires detected for each cylinder. Thus, for threshold levels below 12 RPM, misfires were detected for cylinders numbers 3, 4, and 5. Above this threshold, misfires were detected in cylinders 3 and 4 only. In fact, the same numbers of misfires were detected in these two cylinders, and occurred as pairs of misfires during consecutive combustion events. In fact, only cylinder 3 was subjected to misfiring. Thus, it is possible to identify which cylinder was actually misfiring when misfires occur as consecutive pairs. In order to identify the misfiring cylinder, an algorithm which may be added to the flow diagram of Figure 10 searches for consecutive misfire detections and then ascribes the misfire to the first of the two cylinders involved in the combustion events. Thus, if a misfire is detected in cylinder firing cycle i and again cylinder firing cycle (i+1), then the algorithm determines that the misfire was actually detected in respect of cylinder i. If consecutive misfires occur for more than two consecutive firing cycles, the above algorithm operates on the first and second such misfire detections, and then on the second and third misfire detections, and so on for any succeeding misfires. This is illustrated in Figure 19, which shows the effects of applying this algorithm to the data shown in Figure 18. Thus, the misfiring has correctly been attributed to cylinder number 3 and, for triplets of misfire detections with the threshold level set too low, the additional misfires have been ascribed to cylinder number 4. When the threshold level is set to a more appropriate level, for instance 15 RPM, all of the spurious misfires are eliminated from the data and only those associated with the misfiring cylinder number 3 are identified. Thus, spurious detection of misfiring can be reduced or eliminated and the misfiring cylinder can be identified. Detection of misfires may be used in various ways. For instance, the engine management system 20 may be alerted to the misfires and may be arranged to take, or attempt to take, remedial action, such as changing the air/fuel ratio or ignition timing or, for a persistently misfiring cylinder, cutting off the supply of fuel to that cylinder. A visual and/or audible indication may be given to a driver of a vehicle so as to alert the driver to a possible problem. Misfires may be recorded in a memory within the engine management system 20 and may be made accessible to service personnel so as to permit efficient and possibly early diagnosis of potential problems in engine operation. It is thus possible to provide reliable detection of engine misfire by means which can be easily provided at very low cost, for instance requiring no more than additions to software within an engine management system. By giving an indication of possible problems or faults resulting in misfire and/or by taking immediate remedial action, exhaust pollution by unburnt or partially burnt hydrocarbons can be significantly reduced. This is particularly desirable for vehicles fitted with catalytic exhaust gas converters, as the presence of such hydrocarbons in the exhaust gas can degrade or "poison" the catalyst within the converter. Where legislation is enacted requiring automatic diagnostic checks to be made, it is possible to provide this information without substantial modification to, for instance, existing engine management systems.

Claims: An apparatus for detecting misfire in an internal combustion engine having a plurality of pistons and cylinders, comprising measuring means for making measurements representing engine speeds, determining means responsive to the measuring means for determining variations as the differences between measurements, and a comparator responsive to the determining means for comparing the variations with a threshold level and for signalling a misfire when the threshold level is exceeded, characterised in that the measuring means (10, 11) is arranged to make the measurements between a same first point and a same second point of each cycle of each piston and cylinder and in that the determining means (13, 14) is arranged to determine the variations by comparing each xth, (x+1)th, (x+a)th, and (x+a+1)th measurements, where a is the number of combustion events per period of a systematic measurement fluctuation caused by misfire or an integral multiple greater than zero thereof, a being greater than 1, the xth and (x+a)th measurements are of opposite sign in the comparison, and the (x+1)th and (x+a+1)th measurements are of opposite sign in the comparison. An apparatus as claimed in Claim 1, characterised in that the determining means (13, 14) is arranged to form the reciprocals of the time intervals between the detection of the first and second points. An apparatus as claimed in Claim 2, characterised in that the comparator (16) is arranged to compare the variations with a fixed threshold level representing a fixed speed variation. An apparatus as claimed in any one of the preceding claims, characterised in that the measuring means (10, 11) comprises a transducer arranged to detect when an engine output shaft is at a respective first position and a respective second position for each of the cylinders and pistons. An apparatus as claimed in any one of the preceding claims, characterised in that a is equal to the number of combustion events per revolution of an engine output shaft or an integral multiple greater than zero thereof. An apparatus as claimed in any one of the preceding claims, characterised in that the determining means (13, 14) is arranged to form each variation as: T(x)-T(x+ 1)-T(x+a)+T(x+a+ 1) where T(i) is the ith measurement. A method of detecting misfire in an internal combustion engine having a plurality of pistons and cylinders, comprising the steps of: making measurements representing engine speeds between a same first point and a same second point of each cycle of each piston and cylinder; determining variations by comparing each xth, (x+1)th, (x+a)th, and (x+a+1)th measurements, where a is the number of combustion events per period of a systematic measurement fluctuation caused by misfire or an integral multiple greater than zero thereof, a being greater than 1, the xth and (x+a)th measurements are of opposite sign in the comparison, and the (x+1)th and (x+a+1)th measurements are of opposite sign in the comparison; comparing the variations with a threshold level; and signalling a misfire when the threshold is exceeded. A method as claimed in Claim 7, characterised in that the determining step comprises forming the reciprocals of the time intervals between the detection of the first and second points. A method as claimed in Claim 8, characterised in that the comparing step comprises comparing the variations with a fixed threshold level representing a fixed speed variation. A method as claimed in any one of Claims 7 to 9, characterised in that the measuring step comprises detecting when an engine output shaft is at a respective first position and a respective second position for each of the cylinders and pistons. A method as claimed in any one of Claims 7 to 10, characterised in that a is equal to the number of combustion events per revolution of an engine output shaft or an integral multiple greater than zero thereof. A method as claimed in any one of Claims 7 to 11, characterised in that the determining step determines each variation as: T(x)-T(x+ 1)-T(x + a) + T(x + a + 1) where T(i) is the ith measurement.

Inventors: BRADSHAW BENJAMIN JAMES, HOLMES MICHAEL, BRADSHAW, BENJAMIN JAMES, HOLMES, MICHAEL
Applicants: LUCAS IND PLC, LUCAS INDUSTRIES PUBLIC LIMITED COMPANY
Application year: 1991
Main classification: F02P17
IPC codes: G01M15, F02P17, F02D45