A knock sensor is provided on a selected cylinder which is most liable for engine knocking to occur. The ignition timing is corrected in accordance with the occurence of knock in the selected cylinder. The corrected ignition timing is stored in a table for operating all cylinders of the engine.

Patent
   4726339
Priority
Dec 28 1984
Filed
Dec 24 1985
Issued
Feb 23 1988
Expiry
Dec 24 2005
Assg.orig
Entity
Large
4
7
all paid
1. A system for controlling ignition timing of an internal combustion engine having at least two cylinders, a microprocessor and an ignition timing control device comprising:
first sensing means for sensing operating conditions of the engine at steady state and for producing a steady state signal;
second sensing means for sensing an acceleration state of the engine and for producing an acceleration state signal;
a knock sensor for sensing engine knock in a cylinder selected from the cylinders and for producing a knock signal;
first means for distinguishing the timing for determining ignition timing of the selected cylinder and for producing a control starting signal;
second means responsive to the control starting signal, to the steady state signal, to the acceleration state signal and to the knock signal for selectively producing a first ignition timing correcting signal representing an ignition timing correcting quantity at a time for deciding the ignition timing in steady state and for producing a second ignition timing correcting signal for the acceleration state respectively;
third means responsive to the first or second ignition timing correcting signal and for correcting the ignition timing of the selected cylinder;
fourth means for storing the corrected ignition timing for deciding the ignition timing of the other cylinder.
2. The system according to claim 1 wherein the ignition timing correcting signal is obtained from a table.
3. The system according to claim 1, wherein
the third means includes means for roughly correcting the ignition timing and means for finely correcting the roughly corrected ignition timing.

The present invention relates to a system for controlling the ignition timing of an internal combustion engine such as an automotive engine.

A learning control system for correcting the ignition timing has been proposed. The control system is adapted to advance the ignition timing so as to produce a maximum torque as long as the level of the engine knock does not exceed a tolerable level. The ignition timing stored in a RAM is corrected by a small correcting quantity (quantity of correction) and converged to a desired value little by little.

In a conventional ignition timing control system, the ignition timing is controlled at each cylinder by a quantity of correction obtained in a program for each cylinder. The correcting quantities for each cylinder are stored in a RAM. Therefore, a RAM having a large capacity must be provided in the system.

The object of the present invention is to provide a system which may control the ignition timing by using a RAM having a small capacity.

To this end, in the system of the present invention, only one cylinder which is liable for engine knocking to occur is selected, and the occurrence of knock in the selected cylinder is detected. The ignition timing is controlled in accordance with conditions, such as knock in the selected cylinder. Other cylinders than the selected cylinder are operated by the ignition timing decided for the selected cylinder.

According to the present invention, there is provided a system for controlling the ignition timing of an internal combustion engine having a microprocessor and an ignition timing control device comprising, sensing means for sensing operating conditions of the engine and for producing an engine operating condition signal, a knock sensor for sensing engine knock in a selected cylinder and for producing a knock signal. The system further comprises first means for distinguishing the timing for determining the ignition timing of the selected cylinder and for producing a control starting signal, second means responsive to the control starting signal, to the engine operating condition signal and to the knock signal for producing an ignition timing correcting signal representing an ignition timing correcting quantity at a time for deciding the ignition timing, third means responsive to the ignition timing correcting signal and for correcting the ignition timing, fourth means for storing the corrected ignition timing for operating the engine.

The other objects and features of this invention will be apparently understood from the following description with reference to the accompanying drawings.

FIG. 1 is a block diagram showing a control system according to the present invention;

FIG. 2 is a block diagram showing a main part of the control system;

FIGS. 3a and 3b show tables storing a plurality of ignition timings;

FIG. 4 shows a range of a coefficient K;

FIGS. 5a to 5c are tables for an acceleration subroutine;

FIGS. 6 to 9b are flow charts showing the operation of the system;

FIGS. 10a and 10b show a retard coefficient table and an advance determining period table, respectively.

Referring to FIG. 1, an intake air pressure (or quantity) sensor 1 and engine speed sensor 4 such as a crankangle sensor are provided to detect engine operating conditions of an automotive engine. A knock sensor 7 is provided on a selected cylinder which is most liable for engine knocking to occur. The output of the sensor 1 is applied to an A/D converter 3 through a buffer 2, and the output of the sensor 4 is applied to an interrupt processing circuit 6 through a buffer 5. The output of the knock sensor 7 is applied to a comparator 12 through a filter 8 and amplifier 9, and, on the other hand, to the comparator 12 through a rectifier 10 and amplifier 11. The comparator 12 compares both inputs and produces an output signal when an engine knock having a higher level than a predetermined value generates. Outputs of the A/D converter 3, circuit 6 and comparator 12 are applied to a microprocessor 18 through an input port 13.

The microprocessor 18 comprises a CPU 15, RAM 16, ROM 17 and output port 14. The output of the microprocessor 18 is applied to an ignition timing control device 21 through a driver 19 so as to control the ignition timing in accordance with the engine operating conditions sensed by the sensors 1, 4 and 7.

FIG. 6 shows the operation of the control system in a summary. A program starts at predetermined crank angles. When the program starts at a step 60, it is decided whether the program is at the time for calculating the ignition timing for the selected cylinder. When the program is for the selected cylinder, the program proceeds to a step 61, where engine speed and intake air pressure are calculated, and the difference between pressures at the program and at last program is calculated. Further, an acceleration determining value at the engine speed is read from an acceleration determining value table 33 of FIG. 5a at a step 62. Thereafter, it is determined, at a step 63, whether the engine is accelerated by comparing the pressure difference with the acceleration determining value read out at the step 62. If the difference is larger than the value, it is determined that the engine is accelerated. When the engine is accelerated, the program proceeds to a correction subroutine 64 for acceleration ignition timing. In the subroutine, correcting quantity (quantity of correction) for the acceleration is obtained and stored in the RAM 16.

If the engine is not accelerated, the program proceeds to a step 65, where it is decided whether a rough correction has been executed (whether a rough correction completion flag RCMP is set). In accordance with the decision, rough correction or fine correction is executed in a rough correction subroutine 66 or a fine correction subroutine 67. In the subroutine 66, a basic ignition timing is obtained and the timing is corrected to obtain a real ignition timing SPK at a step 68 by correcting quantity obtained in the subroutine 64 or 67, as described hereinafter. The ignition timing SPK is stored in an ignition timing table. If the basic ignition timing obtained in the rough correction subroutine largely deviates from a new desired value by a large disturbance during the fine correcting operation in the subroutine 67, the correcting quantity in the subroutine 67 becomes very large. In such a case, it takes a long time to correct the deviation. Accordingly, if the correcting quantity exceeds a predetermined value at at step 69, the rough correction completion flag RCMP is reset at a step 70, whereby the deviation is quickly corrected in the rough correction subroutine 66. If the program is at the time for another cylinder than the selected cylinder, the program proceeds to a step 61a. At the step 61a, the ignition timing SPK is read from the ignition timing table, so that the corresponding cylinder is operated at the timing SPK.

The rough correction is an operation for obtaining a basic ignition timing SPKbs which is calculated in a basic ignition timing setting circuit 40 shown in FIG. 2. FIG. 8 shows the operation of the rough correction. At a step 91, engine speed and intake air pressure are calculated based on output signals of sensors 1 and 4. Thereafter, at a step 92, a first maximum ignition timing MAPSTD and a second maximum ignition timing MBT are read from tables 92a and 92b (FIGS. 3a, 3b) in the ROM 17, in accordance with the engine speed and intake air pressure. The first maximum ignition timing is maximum timing for producing maximum torque with low-octane gasoline without knocking occurring and the second maximum ignition timing is maximum timing for producing maximum torque with high-octane gasoline without knocking occurring.

In the system, a coefficient K for correcting the ignition timing is provided. The value of the coefficient K is preliminarily set to a value between zero and 1 as shown in FIG. 4.

The coefficient K is stored in the RAM 16 and updated in accordance with engine operating conditions so as to roughly converge the ignition timing to a desired ignition timing. The updating is performed under a predetermined condition and the condition is determined at a step 93. When the difference between the first and second maximum ignition timings read from the tables 92a and 92b is larger than a predetermined degree, for example 5°, the updating is performed. Namely, the program proceeds to a step 94, where it is determined whether a knock has occurred during the program. When the occurrence of knock is determined, the program proceeds to a step 95, and if not, proceeds to a step 96. At step 95, the coefficient K is decremented by a correcting quantity ΔK(ΔK=K/2), and the remainder K-ΔK is stored in the RAM 16 as a new coefficient for the next updating. Accordingly, the correcting quantity ΔK at the next updating is (K-ΔK)/2. Namely, the correcting quantity is a half of the coefficient K at updating. More particularly, if the initial coefficient is 1/2, the correcting quantity is 1/4, and if it is 0 or 1, the correcting quantity is 1/2 as seen from FIG. 4.

At the step 96, it is determined whether the engine has operated without a knock occurring for a predetermined period. When knocking does not occur for the period, the coefficient K is incremented by the correcting quantity ΔK at a step 97.

After the updating of the coefficient K at step 95 or 97, it is determined whether the rough correction is completed at a step 98. As will be understood from the above description, the correcting quantity ΔK decreases as the number of the correction increases. In the system, when the correcting quantity reaches a predetermined small value, the rough correction is completed. Accordingly, if quantity ΔK reaches the predetermined value, a rough correction completion flag RCMP is set at a step 99, or if not, the flag is reset at a step 100. On the other hand, the total correcting quantity SPKprt and the number of correction NUM of ignition timing are stored in an ignition timing correcting quantity table 42 and a table 43 (FIG. 2) for the number of correction. At a step 100a, a basic ignition timing SPKbs is calculated by a following formula

SPKbs =MAPSTD+K×ΔMAPMBT (1)

where ΔMAPMBT=MBT-MAPSTD

The basic ignition timing is applied to an engine 41 (FIG. 2) to operate the engine at the ignition timing. The coefficient K is stored in the RAM 16. If the rough correction is not completed, the coefficient K is updated at the next program so as to roughly converge the ignition timing to a desired ignition timing as described above. It will be understood that if the initial coefficient K is 0, the basic ignition timing SPKbs calculated by the formula (1) is the maximum ignition timing MAPSTD at the first program. The basic ignition timing SPKbs obtained by the rough correction is further corrected by the fine correcting operation as described hereinafter.

Referring to FIGS. 9a and 9b, at a step 102, it is decided whether the engine operation is in a range which is proper to correct the basic ignition timing SPKbs. If it is in the range, the correcting quantity SPKprt and the number of correction NUM are read from tables 42 and 43 at a step 103. Then, at a step 104, a retard coefficient LN for retarding quantity RET is looked up from a retard coefficient table 44 (FIG. 2) of FIG. 10a in accordance with the number of correction NUM, and an advance determining period ADJ is looked up from an advance determining period table 45 (FIG. 2) shown in FIG. 10b in accordance with the number of correction NUM. Thereafter, the program proceeds to a step 105, where it is decided whether a knock has occurred during the program. When the occurrence of knock is determined, the program proceeds to a step 106, and if not, it proceeds to a step 109. At step 106, the intensity of the knock and the interval of knocks are calculated at a calculating circuit 47 (FIG. 2), and then, retarding quantity KNK is looked up from a retarding quantity table 48 in accordance with the intensity and the interval of knock. At a step 107, a real retarding quantity RETreal is calculated by multiplying the retarding quantity KNK and retard coefficient LN together (RETreal =KNK×LN). Thereafter, the program proceeds to a step 108, where the correcting quantity SPKprt stored in the table 42 is subtracted with the real retarding quantity RETreal to obtain a new correcting quantity SPKprtr which is stored in the table 42.

On the other hand, at the step 109, it is decided whether a knock occurred in the advance determining period ADJ, which is performed at a comparator 49 in FIG. 2. When knock does not occur in the period, the program proceeds to a step 110, where an advancing quantity ADV of a constant small value is added to the correcting quantity SPKprt to obtain a new correcting quantity SPKprta which is performed in an advancing quantity setting circuit 50 in FIG. 2 and stored in the table 42. Thereafter, at a step 111, it is determined whether the new correcting quantity SPKprta is larger than a limit value which is obtained by subtracting the basic ignition timing SPKbs from the maximum ignition timing MBT (MBT-SPKbs). When the new correcting quantity SPKprta is smaller than the limit value, the new correcting quantity is stored in the table 42 at a step 113. If it is larger than the limit value, the value of MBT-SPKbs is used as a new correcting quantity (at step 113) and stored in the table 42.

Explaining the operation in the subroutine 64 for acceleration with reference to FIG. 7, occurrence of engine knock is decided at a step 81. When knock occurs, the intensity of the knock is calculated at a step 82. In accordance with the intensity, retarding degree RETac of ignition timing is looked up from a table of FIG. 5c at a step 83. On the other hand, correcting degree SPKac is looked up from a table 34 of FIG. 5b in accordance with the engine speed, and the retarding degree RETac and the correcting degree SPKac are added to produce a correcting quantity SPKacr. The correcting quantity SPKacr is stored in the RAM 16 at a step 89 for correcting the basic ignition timing obtained in the subroutine 66.

If knock does not occur, it is determined whether knock does not occur during a predetermined period at a step 85. If it does not occur, the program proceeds to a step 86 where a predetermined advancing degree ADVac is subtracted from the correcting degree SPKac (SRKac -ADVac) to obtain a correcting quantity SPKaca. Thereafter, the program proceeds to a step 87, where it is determined whether the correcting quantity SPKaca is negative. If the SPKaca is negative, the value of SPKaca is set to zero at a step 88. The value is stored in the RAM 16 at the step 89. The stored value SPKacr or SPKaca is added to the basic ignition timing SPKbs at step 68 (FIG. 6) to obtain a real ignition timing SPK.

While the presently preferred embodiment of the present invention has been shown and described, it is to be understood that this disclosure is for the purpose of illustration and that various changes and modifications may be made without departing from the scope of the invention as set forth in the appended claims.

Nagai, Masaaki

Patent Priority Assignee Title
4838228, Apr 21 1987 Nissan Motor Company, Limited Ignition timing control apparatus
5000150, May 18 1989 Fuji Jukogyo Kabushiki Kaisha Method for controlling ignition timing of an internal combustion engine
5035219, May 18 1989 Fuji Jukogyo Kabushiki Kaisha Method for controlling ignition timing of an internal combustion engine
6062199, Mar 07 1997 Robert Bosch GmbH Method for controlling knocking in multicylinder internal combustion engines
Patent Priority Assignee Title
2401563,
4268910, Dec 16 1977 Nippondenso Co., Ltd.; Nippon Soken, Inc. Method for controlling timing of spark ignition for an internal combustion engine by feedback related to the detection of knocking
4275692, Aug 15 1978 Toyota Jidosha Kogyo Kabushiki Kaisha System for controlling ignition timings in engine
4465046, Oct 17 1980 Barnes Engineering Company Method and apparatus for controlling the combustion process of an internal combustion engine
4483295, Mar 24 1982 Mazda Motor Corporation Control device for multicylinder engine
4508079, Mar 31 1982 Mitsubishi Denki Kabushiki Kaisha Knocking control system for internal combustion engine
4612902, Mar 28 1984 HITACHI, LTD , A CORP OF JAPAN Knocking control method and apparatus for internal combustion engine
//
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 11 1985NAGAI, MASAAKIFuji Jukogyo Kabushiki KaishaASSIGNMENT OF ASSIGNORS INTEREST 0045010083 pdf
Dec 24 1985Fuji Jukogyo Kabushiki Kaisha(assignment on the face of the patent)
Date Maintenance Fee Events
Aug 02 1991M173: Payment of Maintenance Fee, 4th Year, PL 97-247.
Aug 14 1995M184: Payment of Maintenance Fee, 8th Year, Large Entity.
Aug 16 1999M185: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Feb 23 19914 years fee payment window open
Aug 23 19916 months grace period start (w surcharge)
Feb 23 1992patent expiry (for year 4)
Feb 23 19942 years to revive unintentionally abandoned end. (for year 4)
Feb 23 19958 years fee payment window open
Aug 23 19956 months grace period start (w surcharge)
Feb 23 1996patent expiry (for year 8)
Feb 23 19982 years to revive unintentionally abandoned end. (for year 8)
Feb 23 199912 years fee payment window open
Aug 23 19996 months grace period start (w surcharge)
Feb 23 2000patent expiry (for year 12)
Feb 23 20022 years to revive unintentionally abandoned end. (for year 12)