Abstract:
A method for controlling the ignition timing of internal combustion engines by reducing the amount of correction of ignition timing with each change of direction of the correction. This increases the speed of approach to the approximate optimum ignition timing yet minimizes variation of ignition timing near the optimum state.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a method and an apparatus for controlling the ignition timing of internal combustion engines. The method and apparatus of the present invention are used for internal combustion engines of automotive vehicles. 
     2. Description of the Prior Art 
     In general, the ignition timing of internal combustion engines is determined based on engine running conditions, such as speed, the intake vacuum, intake air flow, and engine temperature, so as to maximize engine output power and minimize fuel consumption without causing knock. The optimal ignition timing, however, cannot easily be maintained because it varies in accordance with individual engine differences and engine ambient conditions. 
     A prior art method has been proposed in which knock is sensed by a device which detects engine vibration at the detonation stroke. In this method, the ignition timing is retarded to a predetermined period upon knock and is advanced by a predetermined rate otherwise. This works to suppress knock below a predetermined level. 
     This prior art method, however, has a problem. When correcting the ignition timing by a predetermined rate, large amounts of correction cause large variations in ignition timing near the optimum state, though also resulting in a fast speed of approach to the approximate optimum state. This results in large variation of engine torque and, hence, reduced engine drivability. Contrary to this, small amounts of correction result in a low speed of approach to the approximate optimum state, though also causing less variations in ignition timing near the optimum state. This results in continued failure to meet the optimum ignition timing, hence, confined loss of output power. 
     SUMMARY OF THE INVENTION 
     It is the primary objec of the present invention to provide an improved method for controlling the ignition timing of internal combustion engines in which the speed of approach to the approximate optimum state is high and yet variation of ignition timing near the optimum state is minimized, so that the control of the ignition timing of internal combustion engines is carried out satisfactorily. 
     In accordance with the fundamental aspect of the present invention, there is provided a method for controlling the ignition timing for an internal combustion engines comprising the steps of: detecting the engine running condition and generating the detected signal, obtaining an amount of correction of the ignition timing for correcting the ignition timing, and correcting the ignition timing in the advance or retardation correction direction, said amount of correction of the ignition timing being reduced with each change in the direction of correction of the ignition timing. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates an apparatus for controlling the ignition timing of internal combustion engines in accordance with an embodiment of the present invention; 
     FIG. 2 illustrates the computer in the apparatus of FIG. 1; 
     FIG. 3 illustrates the relationship between the amount of correction of the ignition timing and the knock rate; 
     FIGS. 4, 4A and 4B illustrate a flow chart of the computation carried out in the computer of FIG. 2; 
     FIG. 5 illustrates the changes with time of the ignition timing and the correction angle; 
     FIGS. 6, 6A and 6B illustrate a process in accordance with another embodiment of the present invention; and 
     FIG. 7 illustrates the changes with time of the ignition timing and the correction amount in accordance with the process of FIG. 6. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The apparatus of FIG. 1 comprises four-cylinder four-cycle internal combustion engine 1, starter 11, starter switch 111, fuel supplying device 12, air intake manifold 13, pressure sensor 3, branch duct 131 for pressure sensor 3, and rotation sensor 2. Rotation sensor 2 is arranged in the ignition distributor for engine 1. Rotation sensor 2 produces a top dead center signal when the engine takes the top dead center position and produces a rotation angle signal when the engine has rotated by a predetermined crank angle, for example, 30°CA from the top dead center position. This predetermined angle is obtained by equally dividing one rotation of the engine. 
     The apparatus of FIG. 1 also comprises knock sensor 4, band pass filter 6, half wave rectifier and integrator circuit 7, computer 5, power source circuit 15, battery 19, igniter 81, and ignition coil 82. 
     As illustrated in FIG. 2, computer 5 comprises an 8 bit central processor unit (CPU) 500, interruption control unit 501, timer unit 502, crank angle counter unit 503, digital input port 504, knock detection circuit 505, analog input port 507, current-flow and ignition control unit 508, random access memory (RAM) 509, read only memory (ROM) 510, common bus 511, RAM power source circuit 512, and power source circuit 513. 
     Interruption control unit 501 receives the top dead center signal from rotation sensor 2, a program interruption signal from digital input port 504, and the signal from timer unit 502 for control of the interruption operation. Timer unit 502 comprises a 16-bit counter for counting the clock pulses which occur every 8 μs and a latch for storing the count each time rotation sensor 2 generates a predetermined signal. Crank angle counter unit 503 receives the top dead center signal and rotation angle SIG.(2) from rotation sensor 2 and gives the count which represents the engine rotational angle position. CPU 500 reads out the count of crank angle counter unit 503 and the latch value of timer unit 502. This read-out is carried out at two rotational angle positions, and the difference of the latch values is obtained. From the obtained difference, the time for the engine to rotate between these two rotational angle positions and the engine speed are measured. 
     Digital input port 504 receives starter signal SIG.(11) from starter 11. The voltage supplied to starter 11 via starter switch 111 is also supplied to digital input port 504 so that the ON state of starter switch 111 is acknowledged by digital input port 504. Digital input port 504 produces the program interruption signal which is supplied to interruption control unit 501. 
     Knock detection circuit 505 receives knock signal SIG.(6) and knock reference level SIG.(7) from filter 6 and half wave rectifier and integrator circuit 7 connected to knock sensor 4. Knock detection circuit 505 produces the knock detection pulse signal when the instantaneous value of the knock signal far exceeds the average value. CPU 500 commands the count of the number of these knock detection pulses during a predetermined period. Analog input port 507 receives air intake manifold pressure signal SIG.(3) from pressure sensor 3 and voltage signal SIG.(19) from battery 19 and carries out the analog-to-digital conversion of the received signals. 
     Current-flow and ignition control unit 508 supplies a current-flow and ignition signal to the actuator circuit of igniter 81. Unit 508 comprises a number of down-counters. It receives a command from CPU 500 regarding the selection of ignition coil 82 to be subjected to the current-flow and ignition control, the count of the crank angle counter from which the down counter should start counting, and the value of down count. Under this command, unit 508 makes the current-flow signal in the coil to be &#34;0&#34; in the case of current flow and &#34;1&#34; in the case of ignition, when the count of the down-counter reaches zero. Common bus 511 is connected to CPU 500. The control signals and data are transmitted between CPU 500 and the units of computer circuit 5 through common bus 511. 
     Knock sensor 4 monitors the oscillation of the engine block and produces the knock signal corresponding to the oscillation. The knock of engine 1 is detected by using the knock signal from filter 6 and the knock reference level signal from half wave rectifier and integrator circuit 7. The state of engine 1 is determined as the knock-state if knock rate V is greater than a predetermined value. Knock rate V is the ratio between knock signal SIG.(6) and reference level signal SIG.(7). That is V=SIG.(6)/SIG.(7). Reference level signal SIG.(7) is determined in accordance with such engine conditions as speed and intake air pressure and the state of the output signal of knock sensor 4. 
     The relationship between ignition timing correction amount T ig  (CORR) and knock rate V is illustrated in the graph of FIG. 3. In the graph of FIG. 3, the abscissa represents knock rate V, while the ordinate represents ignition timing correction amount T ig  (CORR). In the ordinate, &#34;A&#34; represents an advance in the ignition angle, &#34;θ A  (MAX)&#34; represents the maximum value of the ignition timing correction amount in the advance side, &#34;R&#34; represents retardation in the ignition angle, and &#34;θ R  (MAX)&#34; represents the maximum value of the ignition timing correction amount in the retardation side. 
     When knock rate V is less than predetermined value V A , ignition timing correction amount T ig  (CORR) increases in accordance with the reduction of V until T ig  (CORR) reaches θ A  (MAX), as shown in solid T-1. When knock rate V is less than another predetermined value V R , T ig  (CORR) increases in accordance with the increase of V until T ig  (CORR) reaches θ R  (MAX), as shown in solid line T-3. 
     In accordance with the present invention, it is proposed that the rate of increase T ig  (CORR) in the range below V A  or in the range above V R  be reduced, as shown by arrow a1 or arrow a2, if the direction of correction of ignition timing of the present step is opposite to that of the preceding step. The reduction of the rate of increase of T ig  (CORR) means the reduction of the gradient of line T-1, that is angle φ(A), or the gradient of line T-3, that is, angle φ(R). 
     This enables knock to be detected before the ignition timing correction amount far exceeds the optimum value to the advanced angle side and enables retardation of the angle to be carried out. This consequently allows knock to be eliminated and the ignition timing to return to the optimum value quickly. 
     The changes with time of ignition timing T ig  and correction Δθ in accordance with the method of the present invention are illustrated in FIG. 5 (I) and (II), respectively. FIG. 5 (I) shows that the variation of value T ig  is attenuated with the lapse of time, as indicated in waveform T ig  (L). Waveform T ig  (L) is obtained as the result of control with learning correction according to the present invention. The base level of the variation is optimum ignition timing T ig  (OPT). 
     If no control with learning correction is carried out, the waveform becomes T ig  (NON). The change with time of correction angle Δθ is illustrated in FIG. 5 (II). 
     A flow chart of an example of the computation carried out in computer circuit 5 is illustrated in FIG. 4. In Step S1 and Step S2, engine speed N e  and intake air pressure P m  are detected. In Step S3, the basic ignition timing is read out from a two dimensional map of the engine speed and the intake air pressure stored in ROM 510. 
     In step S4, a decision is made as to whether or not engine running conditions have changed. If the decision is YES, constants α and β assume the values α 0  and β 0  and ignition timing correction amount Δθ 0  assumes the value 0 in Step S5, and the process proceeds to Step S6. Constant α is the ratio between the ignition timing correction amount in the advance range and the knock rate. Constant β is the ratio between the ignition timing correction amount in the retardation range and the knock rate. Values α 0  and β 0  are the initial values of α and β, respectively. If the decision of Step S4 is NO, the process proceeds directly to Step S6. 
     In Step S6, knock rate V is calculated using the relationship &#34;V=SIG.(6)/SIG.(7)&#34;. 
     In Step S7, critical values V A  and V R  of knock rate V are calculated. In Step S8, a decision regarding the relationship between V and V A , V R  is carried out. When the decision is V&lt;V A , the process proceeds to Step S9. When the decision is V A  &lt;V&lt;V R , the process proceeds to Step S10. When the decision is V&gt;V R , the process proceeds to Step S11. 
     In Step S9, ignition angle correction amount Δθ is calculated as &#34;Δθ=α(V A  -V)&#34;, where α is a constant. In this regard, Δθ should be less than θ A  (MAX). In Step S10, the ignition timing correction amount Δθ is selected as zero. In Step S11, the ignition timing correction amount is calculated as &#34;Δθ=β(V R  -V)&#34;, where β is another constant. In this regard, Δθ should be less than θ R  (MAX). 
     In Step S12, the decision as to whether or not the present Δθ has the sign opposite of that of the preceding value Δθ 0  is carried out. If the decision is YES, the process proceeds to Step S13. If the decision is NO, the process proceeds to Step S14. In Step S13, the value α and β are reduced either by multiplying α and β by a predetermined value less than 1, such as 0.8, or by subtracting a predetermined value from α and β. The Δθ obtained by the calculations Δθ=α(V A  -V) and Δθ=β(V R  -V) is used as the new preceding value Δθ 0 . 
     In Step S14, the value θ C  of the corrected ignition timing is calculated in a similar manner as Step S3. In Step S15, the new value θ C  of the corrected ignition timing is calculated by adding the obtained Δθ to the value θ C  calculated in Step S14. 
     If engine running conditions change to a great extent, values α and β are brought back to initial values α 0  and β 0 , and the process of the correction of ignition timing is started again. 
     Above, a preferred embodiment has been described. Various modifications and alterations of this embodiment are possible without departing from the scope of the present invention. 
     For example, although in the above-described embodiment the ignition timing correction amount is changed in accordance with the change of the knock rate, it is possible to use a single critical knock rate to carry out the angle correction in the retardation range by a predetermined amount when the knock rate is greater than the critical knock rate and carry out the correction of angle in the advance range by a predetermined rate. The reduction of the amount of correction corresponding to the change of correction direction is carried out similarly to the case of the above-described embodiment. 
     A process for controlling the ignition timing of internal combustion engines in accordance with another embodiment of the present invention is illustrated in FIG. 6. 
     In the process of FIG. 6, a sequence of steps comprising the signal from knock sensor 901, filtering by band pass filter 902, half-wave rectifying and integration 903, amplification 904, and implementation of offset 905 is used as an input of knock decision stage 910 to provide the criterion of the knock decision. The signal from distributor 906 is supplied to waveform shaping step 907. The signal of step 907 is supplied to step 908 for generating the gate signal for the knock decision period. Step 908 also receives clock pulse 912. The signal of step 902 and the signal of step 908 are supplied to step 909 for generating the knock signals which are to be supplied to step 910 for decision. 
     As the result of the decision in step 910, if the signal from step 909 is greater than the criterion from step 905, pulses called &#34;knock pulses&#34; are generated in step 911. 
     The knock pulses from step 911 are supplied to step 914 of the up/down counting for correction of the ignition timing as up-count pulses. In step 913, pulses for advance ignition timing are produced after a predetermined period after the generation of the knock pulse in step 911. The pulses of step 913 are supplied to step 914 as down-count pulses. 
     The signal of step 914 is supplied to step 917 for generating the signal for up/down switching. The signal of step 917 is supplied to step 918 for the correction amount up/down counting. The signal of step 918 is supplied to step 914 as the signal of the correction amount. 
     The signal of step 914 is supplied to digital/analog conversion step 915. The signal of step 915 is supplied to step 916 where the amount of the correction of the ignition timing is obtained. 
     It is arranged that one count of the correction amount signal from step 918 of the up/down counting for the correction amount corresponds to 0.10 of the crank angle. This count of the correction amount signal is supplied to step 914 to cause one down-counting each time the up/down switching occurs. Thus, amount Δθ of correction is reduced each time the up/down switching occurs. The change with time of ignition timing T ig  and correction amount Δθ in accordance with the process of FIG. 6 is illustrated in FIG. 7.