Combustion fault detection apparatus and control system for internal combustion engine
BACKGROUND OF THE INVENTION 
     The present invention relates to an apparatus for detecting an abnormal combustion in an internal combustion engine, and more in particular to a combustion fault detection apparatus for an internal combustion engine for detecting a combustion fault in a specific cylinder. 
     An apparatus for detecting a fault of combustion such as misfire is disclosed in JP-A-50-8919. 
     This prior art apparatus, however, fails to take into consideration the detection of an abnormal combustion which may occur only in a specific cylinder. 
     In the case where the combustion of only a specific cylinder becomes abnormal, the other cylinders continue to operate normally. The driver, not conscious of the abnormality which is not accompanied by any sudden torque change, would continue driving, and therefore the problem has been posed of non-combusted fuel being emitted into the exhaust system from the faulty cylinder. 
     The object of the present invention is to provide a combustion fault detection apparatus for an internal combustion engine which is capable of detecting abnormal combustion in a specific cylinder. 
     SUMMARY OF THE INVENTION 
     According to the present invention, there is provided a combustion fault detection apparatus comprising a sensor for detecting the rotational conditions of the engine, cylinder signal generation means for generating a cylinder signal on the basis of an output of the sensor, inter-cylinder time measuring means for measuring the time interval reaching a predetermined condition between cylinders in operation of the engine on the basis of cylinder signals for the respective cylinders, and decision means for detecting on a fault by comparison and computation of the inter-cylinder time intervals. 
     The combustion fault detection apparatus according to the present invention is adapted to detect the engine speed from a sensor, generate a cylinder signal for each cylinder at a cylinder signal generator, measure the inter-cylinder time in response to a cylinder signal, and make a computation by comparison thereby to detect abnormal combustion in a specified cylinder. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a diagram showing an engine control system. 
     FIG. 2 is a diagram showing a control unit in detail. 
     FIGS. 3(A) to 3(F) are timing charts. 
     FIG. 4 is a diagram showing time length between the cylinders reaching a predetermined condition in operation. 
     FIGS. 5 to 7 are flowcharts for operation of an apparatus embodying the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     An embodiment of the present invention will be explained below. 
     An engine control system embodying the present invention is shown in FIG. 1. Air is introduced by way of an inlet 10 of an air cleaner 9 and is supplied through a hot-wire sensor 11 for detecting the intake air amount and a throttle body 12 including a throttle valve for controlling the air intake amount taken into a cylinder of internal combustion engine 7. An output of the hot-wire sensor 11 is applied to a control unit 4. On the other hand, fuel is pumped up and pressurized by a fuel pump 13 from a fuel tank and is supplied through a fuel damper 14 and a fuel filter 15 supplied to the internal combustion engine 7 by way of an injection valve 17. Fuel pressure is regulated by a regulator 16. 
     The crankshaft has mounted thereon a disc having a plurality of protrusions at predetermined angular intervals. A crank angle sensor 1 and a reference sensor 2 detect at the pick-up thereof a crank angle signal and a reference signal which are applied to the control unit 4. A distributor 5 has built therein a first cylinder sensor, and a first cylinder signal detected by this sensor is applied to the control unit 4. The control unit 4 includes a CPU, a ROM, a RAM and input and output lines thereof. An output of various sensors including the hot-wire sensor 121 are applied to the control unit 4 and subjected to a predetermined computation process. An output signal representing the result of this computation is used to energize the injection valve 17. An output signal representing the result of computation of the control unit 4 is also applied to a power transistor of the ignition coil to control the ignition timing. 
     FIG. 2 is a diagram showing details of the control unit 4, witch is not fully illustrated for simplification. The first cylinder sensor is provided for detecting a first cylinder signal generated at intervals of two crankshaft revolutions. The first cylinder signal thus detected is shaped into a rectangular waveform by a waveform shaping circuit 201, and further is converted into a digital quantity at an input port 203. The crank angle sensor is for detecting crank angle signals generated at predetermined intervals of crank angle. A crank angle signal thus detected is shaped into a rectangular wave by a waveform shaping circuit 202 and is converted into a digital quantity by an input port 204. A crank angle signal is generated at such comparatively small angular intervals such as one degree of crank angle. The reference sensor is for detecting a reference signal generated at predetermined crank angles. A reference signal thus detected is shaped by a waveform shaping circuit 200. A reference signal is generated at comparatively large angular intervals such as about 180 degree of crank angle. Output signals of the waveform shaping circuits 200, 201 and 202 are applied further to a cylinder signal generator 207, so that a signal is generated for each revolution of the crankshaft corresponding to each cylinder. This signal is converted into a digital quantity by an input port 205. A clock generator 213 generates a rectangular wave in short cycles of time. A cycle counter 208 counts an output of the clock generator 213 and is reset by a cylinder signal of the cylinder signal generator 207, and thus this counter 208 measures the time interval between a given cylinder signal after generation of the preceeding cylinder signal. An output of the cycle counter 208 is converted into a digital quantity by an input port 206. The input ports 203, 204, 205, 206, RAM 220, ROM 221 and CPU 222 are connected by bus lines. The CPU 222 fetches a signal from each input port and processes it by computation in accordance with a program stored in the ROM 221. The RAM 220 is used for temporarily storing the data related to the computation performed by the CPU 222. The CPU 222, ROM 221, RAM 220 and output ports 209, 210 are also connected by the bus lines. The result of computation at the CPU 222 is supplied through an output port 209 by a drive circuit 211, which operates to drive a power transistor of the ignition coil 3, thereby effecting ignition within a cylinder indicated by the distributor 5. Further, a combustion fault indication lamp 6 is energized by a drive circuit 212 through the output port 210. 
     FIG. 3 shows a timing chart of the first cylinder signal, reference signal, crank angle signal, cylinder signals, cycle counter signal and an ignition signal. As seen from this timing chart, the first cylinder signal is generated for every two revolutions of the crankshaft, the crank angle signal at each comparatively small angle such as one degree, and the reference signal at each comparatively large crank angle such as 180 degree. Also, the cylinder signal is generated for a number of revolutions of the crankshaft corresponding to each cylinder. FIG. 3(E) shows the operation of the cycle counter for measuring the time length from generation of one cylinder signal to generation of the next cylinder signal. 
     The operation shown in the flowchart of FIG. 5 is initiated for each time of generation of a cylinder signal. First, step 501 decides whether the first cylinder is involved or not. If the first cylinder is involved, step 503 sets a variable K n  indicating a cylinder to &#34;1&#34;, and the process proceeds to step 504. If the cylinder involved is not the first one, on the other hand, &#34;1&#34; is added to the preceeding variable K n-1  in order to increment the variable K n  indicating a given cylinder, and the process is passed to step 504. 
     Steps 504 to 507 are for deciding when conditions are met for decision on a combustion fault. Step 504 decides whether the engine temperature T w  has reached a predetermined level T w1  which is used as a criterion of engine warming. This temperature may be set to 70° C., for instance. If the engine temperature has reached the predetermined temperature T w1 , the process proceeds to step 506. If the engine has not reached the predetermined temperature T w1 , by contrast, it indicates that the engine revolutions have not yet been stabilized. Thus, no decision is made on a combustion fault, and the process is passed to step 707 to be discussed later. 
     Step 506 decides whether the engine load L falls within a predetermined range between L 0  and L 1 , where L 1  may be set to a value associated with the opening of the throttle valve, that is, 0 mmHg or smaller, and L 0  to a value associated with the deceleration following idling, that is, approximately -550 mmHg. As long as the engine load falls within this predetermined range, the process proceeds to step 507. If the engine load is not within the predetermined range, on the other hand, the process is passed to step 707 without making any decision on a combustion fault. 
     Step 507 decides whether the engine speed N is within a predetermined range between N 0  and N 1 , where N 0  may be set, for example, to a value approximate to the starting engine speed of 400 r.p.m. On the other hand, N 1  may be set to about 3000 r.p.m. associated with a large rotational inertia. If the engine speed falls within the predetermined range, the process proceeds to step 508, while if the engine speed is not within the predetermined range, no decision is made on a combustion fault, and the process proceeds to step 707. Steps 504 to 507 may use the basic injection amount, the intake manifold pressure, the throttle valve opening degree or other factors representing the engine load in addition for decision on conditions, to which the fuel injection status indicating whether fuel is cut or not, for example, may be added. Step 508 adds one variable t n  indicating an integration. 
     Each of the steps shown in the flowchart of FIG. 6 is for integrating the time representing each inter-cylinder time interval. 
     Step 600 decides whether the number tn of integrations has reached 4×p, where p is a number predetermined depending on the form of a fault decision. The formula 4×p specifies an equal number of integrations for each cylinder of a four-cylinder engine, and may be replaced with 6×p for a six-cylinder engine to make a similar decision. 
     If the number of integrations has yet to reach a predetermined number, the process proceeds from step 600 to step 601. Step 601 decides which cylinder the variable K n  indicates. If K n  is &#34;1&#34;, that is, if the first cylinder is involved, the process is passed to step 602 Step 602 adds the interval time a n  of the first cylinder to the integrated value A n-1  of the first cylinder up to the immediately preceding occasion thereby to provide an integrated value A n  of the first cylinder for the present occasion. The character a n  designates the time required from generation of a signal of the fourth cylinder to the generation of that of the first cylinder by the cylinder signal generator 207, as measured by the cycle counter 208, which time is shown specifically in the timing chart of FIG. 3. The whole process ends after the integration step of 602. If step 601 decides that K n  is not &#34;1&#34;, the process proceeds to step 603, which determines whether the variable K n  indicates a specific cylinder &#34;2&#34;, that is, whether the second cylinder is involved or not. If the second cylinder is involved, the interval time b n  of the second cylinder up to the immediately preceding occasion is added to the integrated value B n-1  thereby to make up an integrated value B n  of the second cylinder for the present occasion. The character b n  designates the time required from generation of a signal of the first cylinder to generation of a signal of the second cylinder by the cylinder signal generator 207, as measured by the cycle counter 208. In similar fashion, steps 605 to 608 decide whether the third or fourth cylinder is involved thereby to compute an integrated value C n  of the third cylinder or D n  of the fourth cylinder respectively. 
     The interval time of each cylinder may be replaced by the interval of ignition timings, which may be integrated to detect a combustion fault. If step 600 finds that the number of integrations has reached a predetermined level, the process is passed to step 701. 
     The flowchart of FIG. 7 includes steps for detecting a combustion fault and related processes using an integrated value of the interval time of each cylinder. 
     Step 701 computes an average value Tn of the integrated values A n , B n , C n  and D n  of the cylinders and a difference ΔT of the maximum and minimum values thereof. FIG. 4 is a diagram showing a cylinder interval time in the case where the third cylinder is faulty and misfires, for example. The cylinder interval time is known to vary depending on the combustion status, the mounting position of the injector or the construction of the air intake system. In the case of a fault such as misfire only for a specific single cylinder, there is generated no torque in the particular cylinder, resulting in an abnormally long interval time thereof. In FIG. 4, it is seen that the figure C n  for the third cylinder is longer than those for the other cylinders. Step 702 decides whether the difference ΔT divided by the average value tn falls within a predetermined value α. In the case of FIG. 4, ##EQU1## The value ΔT or the maximum value less T n  may be used for decision. If step 702 decides that a predetermined range is not satisfied, a faulty condition exists, and therefore a combustion fault lamp is turned on at step 703. Step 705 then controls the ignition timing by retarding it by 5 degree from a predetermined value based on a basic ignition timing dependent on the engine speed and the engine load Step 706 enriches the air-fuel mixture by increasing the air-fuel ratio by 10%. 
     If step 702 decides that a predetermined range is satisfied, a faulty condition is not involved, and therefore step 704 turns off the combustion fault indication lamp, followed by step 707 for clearing the variables to end the whole process. 
     This flowchart, which is used for a four-cylinder engine, may be applied also to a six-cylinder engine by adding E n  and F n  to A n , B n , C n  and D n  as variables for integration. The same flowchart may find applications in an engine with an increased number of cylinders by taking a similar procedure. 
     According to the present invention, a combustion fault of a specific cylinder is thus detected effectively.