GB2207775A - Adaptive control system for internal combustion engine - Google Patents

Adaptive control system for internal combustion engine Download PDF

Info

Publication number
GB2207775A
GB2207775A GB08813930A GB8813930A GB2207775A GB 2207775 A GB2207775 A GB 2207775A GB 08813930 A GB08813930 A GB 08813930A GB 8813930 A GB8813930 A GB 8813930A GB 2207775 A GB2207775 A GB 2207775A
Authority
GB
United Kingdom
Prior art keywords
engine
value
parameter
slope
perturbation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB08813930A
Other versions
GB2207775B (en
GB8813930D0 (en
Inventor
Michael Holmes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZF International UK Ltd
Original Assignee
Lucas Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucas Industries Ltd filed Critical Lucas Industries Ltd
Publication of GB8813930D0 publication Critical patent/GB8813930D0/en
Publication of GB2207775A publication Critical patent/GB2207775A/en
Application granted granted Critical
Publication of GB2207775B publication Critical patent/GB2207775B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P5/00Advancing or retarding ignition; Control therefor
    • F02P5/04Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
    • F02P5/145Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means
    • F02P5/15Digital data processing
    • F02P5/1502Digital data processing using one central computing unit
    • F02P5/151Digital data processing using one central computing unit with means for compensating the variation of the characteristics of the engine or of a sensor, e.g. by ageing
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1401Introducing closed-loop corrections characterised by the control or regulation method
    • F02D41/1408Dithering techniques
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P5/00Advancing or retarding ignition; Control therefor
    • F02P5/04Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
    • F02P5/145Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means
    • F02P5/1455Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means by using a second control of the closed loop type
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P5/00Advancing or retarding ignition; Control therefor
    • F02P5/04Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions
    • F02P5/145Advancing or retarding ignition; Control therefor automatically, as a function of the working conditions of the engine or vehicle or of the atmospheric conditions using electrical means
    • F02P5/15Digital data processing
    • F02P5/1502Digital data processing using one central computing unit
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B1/00Engines characterised by fuel-air mixture compression
    • F02B1/02Engines characterised by fuel-air mixture compression with positive ignition
    • F02B1/04Engines characterised by fuel-air mixture compression with positive ignition with fuel-air mixture admission into cylinder
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Description

1 A ' 1 22- 0 7 7 7" 315 5 6 ADAPTIVE CONTROL SYSTEM FOR AN INTERNAL
COMBUSTION ENGINE.
This invention relates to an adaptive control system for an internal combustion engine and also to a method of controlling such an engine.
In operating an internal combustion ene-ine, it is necessary to establish values for various control parameters and, depending upon the particular control parameter, the value of the parameter may be varied continuously in accordance with one or more operating parameters of the engine.
In a spark ignition engine, for each ignition spark or engine fire in.one of the engine cylinders, it is necessary to control the spark advance angle so as to produce the peak combustion' pressure soon after the piston has passed the top dead centre position. Because the flame speed varies with the density of the air/fuel mixture, it is generally necessary to increase the spark advance angle with decreasing cylinder filling pressure. The cylinder filling pressure may be obtained by measuring the.pressure in the inlet manifold of the engine cylinders. The spark advance angle must also be increased with increasing engine speed so as to allow for extra rotation of the engine crankshaft while the air/fuel mixture burns.
Until recently, the spark advance angle was established by a mechanical device responsive to manifold pressure and engine speed. Such a mechanical device establishes the spark advance angle as a simple function of engine speed and demanded load as represented by the manifold pressure. Careful testing of engines shows that the optimum spark advance angle is a complex function of load and speed and this function cannot be matched by a mechanical device. Modern ignition systems now use 3356 2- empirically derived characteristics for the spark advance angle which are stored as a look-up table in a read only memory.
These spark advance characteristics are determined by testing a number of samples of an engine and establishing an optimum spark advance angle for each load/speed point.
Although this provides a much closer match to the optimum spark advance angle than was achieved with the mechanical devices, it still does not give the engine user the best possible spark advance angle for his engine throughout its life. There are a number of reasons for this. It is not possible to test enough engines to provide good statistics and the engines available during tests are often different from production engines. Also, variations in the engine characteristics may occur due to manufacturing tolerances and from small changes in engine design. During the life of an engine, various ageing effects will occur in the engine and in the sensors, actuators and electronic circuitry and these will create a mismatch between the optimum characteristics and those stored in the read only memory.
In US Patent 4 5791 800, there is described an adaptive control system for controlling the spark advance in a spark ignition engine or the fuel injection timing in a compression ignition engine.
In the case of the spark ignition engine, small positive and negative perturbations are superimposed on the spark advance angle in synchronization with the operating cycle of the engine. The resulting changes in engine speed are used to determine the differential or slope of engine output with respect to spark advance angle. Each slope value is examined and these values are used to provide corrections to 1 t 3356 3the spark advance angle with the intention of obtaining optimun values for the spark advance angle.
In the arrangement described in this patent, two perturbation patterns are described operating respectively at engine speeds from 0 to 2000 RPM and 2000 to 4000 RPM. In the first pattern, each half period of the perturbation cycle comprises one complete engine cycle and produces a range of perturbation frequencies from 0 to 8.3 Hz in the case of a four cylinder engine. In the second pattern, each half period of the perturbation cycle comprises two complete engine cycles and produces a range of perturbation frequencies from 4.2 to 8.31-1z.
This arrangement suffers from the following disadvantages. During normal conditions in a vehicle having a typical manual transmission system, the perturbation frequency will often change from being well below the resonant frequency of the vehicle driveline in the prevailing gear to being well above the resonant frequency. Consequently, there are large variations in the phase differences between the perturbation and the resulting changes in engine speed. This makes it difficult to obtain accurate values for the slope.
In unpublished European patent application 0234714, there is described an arrangement which overcomes this problem. In this arrangement, a perturbation wavefrm is generated at a frequency slightly above the highest resonant frequency of the vehicle driveline and the frequency is varied so that each cycle of the perturbation waveform comprises a whole number of engine fire periods. With this arrangement, at certain engine speeds there is a synchronization of the waveform to the engine operating cycle which results in a particular.
1 3356 cylinder continuously experiencing more perturbat ions of one type compared with other cylinders. Consequently, if a particular cylinder produces a higher torque than another cylinder, this will cause a bias in the measured values of the slope.
It is accordingly an object of this invention to provide a new or improved adaptive control system for an internal combustion engine and also a method controlling such an engine in which the above mentioned problems are overcome or reduced.
According to a first aspect of this invention, there is provided an adaptive control system for an internal combustion engine, said control system comprising means for determining a basic value for an engine control parameter (hereinafter referred to as "said perturbed parameter"); a perturbation generator for perturbing said perturbed parameter about said basic value, said perturbation generator generating a perturbation waveform and applying both positive type and negative type of perturbations to said perturbed parameter during each cycle of the waveform; means for monitoring an engine output; means for calculating the slope of engine output with respect to said perturbed parameter; and means for using said slope to apply a correction to at least one engine control parameter (each of which is hereinafter referred to as a "corrected parameter"); in which, for an engine having n cylinders, each cycle of said perturbation waveform comprises m engine fires, m having a value which is less than 2n, and said waveform is arranged so tha t each cylinder of the engine experiences equal numbers of both types of perturbations compared with other cylinders irrespective of engine speed.
By arranging the perturbation waveform so t 3 3 5, o' 5that the number of engine fires in each cyQle of the waveform is less than twice the number of cylinders, the perturbation frequency will be relatively high, in comparison with the arrangement described in US Patent 4 578 800, at low engine speeds. Consequently, large variations in the phase difference between the perturbation waveform and the resulting changes in engine speed will either be avoided or will be rare.- By arranging the waveform so that each cyclinder experiences equal numbers of both types of perturbat ions, the danger of bias in the measured values is avoided.
Preferably in each cycle of the perturbation waveform, there are a perturbations of one type, b perturbations of the other type, (a + b) is less than or equal to m, and a and b are each equal to a respective multiple of the highest common factor of n and m.
By arranging the perturbation waveform in this way, the danger of synchronization between the engine operating cycle and the perturbation waveform is avoided.
At low engine speeds, it is impossible to maintain the frequency of the perturbation waveform above, or even close to, the resonant frequency of the vehicle driveline. In the preferre d embodiment, when the engine speed is below a predetJrmined value, no perturbations are applied to the perturbed parameter.
Conveniently, the system includes means for measuring the engine fire period corresponding to each perturbation, and said calculating means calculates each value of the sloDe -from said fire periods.
The calculating means may calculate each 3356 value of the slope from fire periods of a particular cylinder corresponding to both positive type and negative type perturbations In a preferred embodiment, said calculating means calculates each slope value by calculating a first value relating to the change in engine speed between a fire period of a particular cylinder corresponding to one type of perturbation and the immediately preceding fire period, calculating a second value -relating to the change in engine speed between a previous fire period of said particular cylinder corresponding to the other type of perturbation and the immediately preceding fire period, both said immediately preceding fire periods corresponding to said other type of perturbation, and then calculating the slope value as the difference between said first and second values.
The perturbed parameter may be an ignition timing parameter.
The ignition timing parameter may be spark advance angle in the case of a spark ignition engine or fuel injection timing in the case of a compression ignition engine.
There may be a single corrected parameter which is the same parameter as the perturbed parameter.
According to a second aspect of this invention, there is provided an adaptive control system for an internal combustion engine having a flywheel connected through resilient shafting and a gear arrangement to a load, said flywheel, resilient shafting and gear arrangement forming a resonant system which has a pArticular resonant frequency for each gear ratio established by said gear arrangement, said control system comprising means for determining 1 3356 7- a basic value for an engine control parameter (hereinafter referred to as "said perturbed parameter"); a perturbation generator for perturbing said perturbed parameter about said basic value; said perturbation generator generating a perturbation waveform and applying both positive type and negative type perturbations to said perturbed parameter during each cycle of the waveform; means for monitoring an engine output; means for calculating the slope of the engine output with respect to said perturbed parameter; and means for using said slope to apply a correction to at least one engine control parameter (each of which is hereinafter referred to as a Ilcorrected parameterll); in which the frequency of said waveform is greater than the resonant frequency of said resonant system in the prevailing gear under normal driving conditions, and said waveform is arranged so that each cylinder of the engine experiences equal numbers of both types of pei-turbations compared with other cylinders irrespective of engine speed.
Ac-cording to a third aspect of this invention, there is provided a method of controlling an internal combustion engine, said method comprising the steps of perturbing an engine control parameter (hereinafter referred to as a "said perturbed parameterll) by generating a perturbation waveform, applying both positive type and negative type perturbations to said perturbed parameter during each cycle of said waveform, calculating the slope of engine output with respect t'o said perturbed parameter from the response of engine output to said perturbations, and using said slope to apply a correction to at least one engine control parameter (each of which is hereinafter referred to as a 3356 11corrected parameter"); in which, for an engine having n cylinders, each cycle of said perturbation waveform comprises m engine fires, m having a value which is less than 2n, and said waveform is arranged so that each cylinder of the engine experiences equal numbers of both types of perturbations compared with other cylinders irrespective of engine speed.
According to a fourth aspect of this invention, there is provided a method of controlling an internal combustion engine, said engine having a flywheel connected through resilient shafting and a gear arrangement to a load, said flywheel, resilient shafting and gear arrangement forming a resonant system which has a particular resonant frequency for each gear ratio established by said gear arrangement, said method comprising the steps of: perturbing an engine control parameter (he-Leina-IL'te.-, referred to as "said perturbed parameterll) by generating a perturbation waveform, applying both positive type and negative type perturbations to said perturbed parameter during each cycle of said waveform, calculating the slope of engine output with respect to said perturbed parameter from the response of engine output to said perturbations, and using said slope to apply a correction to at least one engine control parameter, in which the frequency of said waveform is greater than the resonant frequency of said resonant system in the prevailing gear unde normal driving conditions, and said waveform is arranged so that each cylinder of the engine experiences equal numbers of both types of perturbations compared with other cylinders irrespective of engine speed.
In controlling an internal combustion engine, it is desirable to obtain good fuel economy 3356 9- z while keeping emissions of undesirable exhaust gases as low as possible. It is another object of this invention to provide an improved adaptive control system for an internal combustion engine with a view to achieving this.
According to a fifth aspect of this invention, there is provided an adaptive control system for an internal combustion engine, said control system comprising means for perturbing an ignition timing parameter about a basic value, means for monitoring an engine output, means for calculating the slope of engine output with respect to said ignition timing parameter, and means for controlling at least one input parameter so as to achieve a negative value of said slope during at least some driving conditions, said negative value being a function of the vehicle operating conditions.
By operating an internal combustion with the slope of engine output with respect to an ignition timing parameter at a negative value,ignition timing is retarded relative to the timing which gives maximum engine output. However, the applicants have found that, by retarding ignition timing by a small amount, it is possible to obtain a significant reduction of the emissions of nitrogen oxides with only a slight reduction of engine output.
The negative slope may be a function of engine speed and load.
In a spark ignition engine, the ignition timing parameter may be spark advance angle and in a compression ignition engine the ignition timing 3356 parameter may be fuel injection timing.
According to a sixth aspect of this invention, there is provided a method of controlling an internal combustion engine, said method comprising the steps of: perturbing an ignition timing parameter about a basic value, monitoring an engine output, and calculating the slope of engine output with respect to said ignition timing parameter, and controlling at least one input parameter so as to achieve a negative value of said slope during at least some driving conditions, said negative value being a function of the vehicle operating conditions.
This invention will now be described in more detail, by way of example, with reference to the drawings in which:
Fig 1 is a diagram of the functional components of an adaptive control system embodying this invention; Fig 2 is a graph illustrating the phase lag between a perturbation waveform and the resulting change in engine speed as a function of perturbation frequency; Pig 3 is a graph of erigine speed as a function of crankshaft angle; Fig 4 is a block diagram of a microcomputer arrangement which implements the functional components of Figure 1; Fig 5 is a layout diagram of the computer program forming part of the control system of Figure 4; Fig 6 is a diagram illustrating the calculation of weighting factors used in the program; Fig 7 is a flow chart of part of the program; X 3356 Fig 8 is a timing diagram for the control system of Fig 1; Figs ga and gb are timing diagrams for two other embodiments of this invention; and Fig 10 is a diagram in simplifed form of the functional components of the adaptive control system of Figure 1.
Referring now-to Figure 1, there is shown in functional form an adaptive control system for a four cylinder spark ignition internal combustion engine 10 which is provided with a flywheel 11. The engine 10 is installed in a motor vehicle and is connected through a resilient shaft 12, a gear box 13, and a further resilient shaft 14 to drivewheels 15 which form a load. Although not shown, a clutch is also provided.
The flywheel 11 is associated with a position transducer 16 which coacts with a toothed wheel from which teeth have been removed to provide reference positions. The pulses from transducer.16 are supplied to a dwell control device 17, the output of which is connected through a power stage 18 to a coil and distributor 19. The coil and distributor 19 is connected to four spark ignition plugs 20 and causes ignition sparks to occur in these plugs at appropriate moments.
The output of transducer 16 is also supplied to a speed calculation device 30 which calculates engine speed and supplies this to the dwell control device 17.
The engine is provided with a transducer 31 which measures the demanded load to which the engine is subjected. In the present example, the transducer 31 measures the pressure in"the inlet manifold for X 1 1 -31 r, 6 the engine cylinders. The demanded load could also be detected by measuring other quantities such as the throttle valve opening position or the rate of air flow into the inlet manifold.
The system also includes a memory 35 in which is stored a two dimensional array of spark advance angles, the abscissa and ordinate of the array corresponding to engine speed and demanded load. The memory 35, the speed calculation device 30 and transducer 31 are connected to a calculation device 36. For each prevailing engine speed and load, the calculation device 36 calculates a basic value for spark advance and supplies this to one input of a summer 37. The calculation device 36 calculates this basic value from the spark advance values stored in the array in memory 35 at the four points in the speed/load plane surrounding the prevailing engine speed and load. Each of these values is multiplied by an appropriate weighting factor and the four resulting values are added to provide the basic spark advance value. Thus, the calculation means 36 calculates the basic spark advance value by interpolation. The spark advance values are stored in memory 35 at a density which provides a good match-for the irregularities of the true optimum spark advance characteristics of the engine 10.
The spark advance values in memory 35 take the form of a fixed schedule which is established from rig-tests on sample engines. For the various reasons which have been outlined above, the optimum spark advance values will differ from those stored in memory 35. As will shortly be described in detail, the system imposes small positive and negalGive perturbations on the spark advance value and senses k 3356 the change in engine output speed which these cause. Prom the change in engine speed, correction values are stored in a correction memory 38. These correction values are also stored as a two dimensional array in which the abscissa and ordinate represent engine speed and load and they are stored with the same density as the values stored in memory 35.
For the prevailing engine speed, a correction value is calculated in a correction value calculation device 39 and supplied to a second input of summer 37. The calculation device 39 receives the outputs of speed calculation device 30 and load transducer 31 and calculates the correction value for the prevailing engine speed and load from the values stored in memory 38 by using the same interpolation method as that used by the calculation device 36.
The perturbation values are determined in perturbation generator 40 and supplied to an input of a summer 41. The other input of summer 41 receives the output of summer 37, and the output of summer 41 is supplied to the dwell control device 17 as a command value for the spark advance angle. The dwell control device 17 uses the output of the speed calculation device 30 and position transducer 16 to ensure that ignition sparks occur at the commanded spark advance values.
Because ignition sparks occur intermittently in a spark ignition engine, the torque output of engine 10 fluctuates during each engine cycle. In order to smooth these fluctuations, the flywheel 11 is provided and it converts the fluctuations in torque into small accelerations and decelerationsThe resilient nature of shafts 12 and 14 prevent these small accelerations and decelerations from 1 3356 causing changes in the speed of drivewheels 15.
The flywheel 1 1, shafts 12 and 14, and the gear box 13 form a resonant system. The resonant f.requency varies with the gear ratio established in the gear box 13. In the present example, the system has a resonant freqtiency of 4Hz in second gear and 9Hz in fourth gear.
Every single perturbation in the spark advance angle causes a change in output torque produced by engine 10. In view of the resonant nature of flywheel 1 1 and shafts 12 and 14, the resulting change in the speed of flywheel 1 1 has two components.- The first of these components is a damped ringing response at the appropriate resonant frequency and, in the particular engine mentioned above, the ringing decays with a time constant of 0.3 seconds. The second component is the longer term response which is associated with the new steady state which arises when the change in resistance forces caused by the change in vehicle speed match the change in torque from the engine. With the particular engine discussed above, this second component has a time constant of 7 seconds. in fourth gear.
It is desirable to provide a system which will work in any gear and which will provide comparable. results in the different gears without knowledge of which particular gear is engaged. In Figure 2, there is shown a graph of the phase shift between a perturbation waveform generated by perturbation generator 40 and the resulting change in engine speed as a function of perturbation frequency for fourth gear, second gear and neutral. As may be seen, the phase shift changes rapidly with frequency in the region below 9Hz and there are also large k 3356 differences between the phase shift in the different gears. In contrast, in the region above 10Hz, the phase shift changes slowly with frequency and the differences in the phase shift in the different gears are small. With increasing frequency, for all gears the phase shift approaches the 900 phase shift obtained when neutral is engaged. In order to provide comparable results in the different gears. it is desirable to maintain the perturbation frequency produced by perturbation generator 40 at a value greater than the resonant frequency of the resonant system formed from flywheel 11, shafts 12 and 14 and gear box 13 in the prevailing gear. In the present case as will be explained, the perturbation frequency is kept above the resonant frequency under normal driving conditions.
The perturbation generator 40 generates a two level waveform. During the first part of each perturbation cycle, the perturbation generator 40 applies a small positive perturbation, namely +3.750, to the spark advance angle. During the second part of each cycle, the perturbation generator 40 applies a small negative perturbation, namely -3.75, to the spark advance angle. Because perturbations can take effect only when ignition is effected, each part of the cycle must have a duration equal to a whole number of engine fire periods. In the present example, the first part of each cycle has a duration equal to one fire period and the second part has a duration equal to two fire periods. The reasor for this is ex-olained below.
An example of the perturbation waveform is illustrated in Pigure 8 and indicated by reference numeral 41. In Figure 8, the time of each spark is indicated by a star and the top dead centre positions k 3356 - 16of the pistons are indicated by IlTDW The num-ber of the cylinder undergoing an expansion stroke is written below waveform 41.
With the perturbation waveform of Figure 8, the perturbation frequency is directly proportional to engine speed. At an engine speed of 1000 RPM, the perturbation frequency is 11Hz. Referring to Figure 2, at 1 1Hz the phase shift in all gears is close to 90. Thus, at engine speeds above 1000 RPM, the phase shift remains stable. Between an engine speed of 1000 RPM and an engine speed of 600 RPM, which corresponds to a perturbation frequency of 6.7 Hz, the phase shift moves significantly away from 90in fourth gear. However, engine speeds below 1000 RPM not represent normal driving conditions in fourth gear as they would cause the engine to stall. Below 600 RPM, the phase shift moves away from Q10 in the remaining gears. At engine speeds below 600 RPM, perturbation generator 40 ceases to apply perturbations to the spark advance angle. Thus, in the present example the perturbation frequency stays above the resonant frequency in the prevailing gear under normal driving conditions.
As will be explained, the output of transducer 16 is used to calculate engine speed by making measurements of the period which elapses during each 180 of crankshaft rotation. It is arranged that each measurement commences when the piston in the cylinder undergoing an expansion stroke is at 1200 after the top dead centre position and ends when the next piston, in t-he firing order, is at 1200 after the top dead centre position. Thus, each calculation of engine speed in speed calculation device 30 corresponds to the average speed during 180 of crankshaft rotation, this 180 of rotation 3356 ending when the piston performing an expansion stroke is at 120 after the top dead centre position. There are two important reasons for measuring the speed in this way.
Firstly, referring to Figure 3, there is shown the variation in the speed of flywheel 11 as a function of crankshaft angle. As may be seen, during each engine cycle, severe fluctuations occur. There is therefore a danger that the severe fluctuations in engine speed could confuse measurements in engine speed caused by the perturbations to the spark advance angle. By calculating the engine speed from the duration of 180 rotation of the crankshaft, this danger is avoided.
Secondly, this way of measuring speed allows for the phase shift between the perturbation waveform and the resulting change in engine speed. Each perturbation is applied at the instant of ignition. Each calculation of engine speed may be said to correspond to the position of the engine crankshaft when it is half way through the corresponding 1800 of rotation, that is when the piston is at 30 after the top dead centre position. Thus, there is a lag between the instant of ignition and the position at which the speed is measured. Although it has been stated that the phase shift between the perturbation waveform and the resulting change in engine speed approaches 90, it is not essential for the lag between the instant of ignition and the position at which the speed is measured to correspond to exactly 90 of the perturbation cycle. The applicants have found that satisfactory results are obtained when the speed is measured as described above.
For convenience, these measured periods 1 1 3 -3 5 6 - 18will be referred to as 'fire periods'. These fire periods are shown in Figure 8 and are denoted by T1 1... T23. The corresponding engine speeds are denoted by S11... S23- Referring again to Figure 1, the output of speed calculation means 30 is supplied to a speed change calculation device 44. The speedchange calculation device 44 calculates and stores the speed change due to each perturbation. For example, for the first negative perturbation to the spark advance angle for cylinder number 2 shown in Figure 8, the speed change is calculated as S12 - S11.
The values calculated in the speed change calculation device 44 are supplied to a slope. calculation device 46. Each value of the slope is calculated by taking a first value which corresponds to the speed change resulting from applying a positive perturbation to the spark advance angle of a particular cylinder, taking a second value which corresponds to the speed change resulting from applying the previous negative perturbation to the spark advance angle of the same particular cylinder, and then calculating the slope by subtracting the second value from the first value.
For example, referring to Figure 8, following the positive perturbation to cylinder number 3, the slope is calculated as follows:
first value = (S23 - S22) second value = (S 13 - S12) slope = (S23-S22) (S13-S12) By calculating the slope in this way, the result is not affected by linear acceleration or deceleration of engine speed. This arises because there will be a component for the acceleration or deceleration present in each of the values 3356 (S23-S22) and (S13-012) and these components will cancel in the formula for the slope.
In the formula given above for the slope, the slope is calculated for each cylinder in turn. This provides the advantage that the spark advance angle may be corrected on a cylinder by cylinder basis.
By way of modification, the slope may be calculated from the average engine speeds for each type of perturbation. For example, referring to Figure 8, a value for the slope may be calculated as follows:
slope = S14 - (S12 + S13)/2 This formula has the disadvantage that the resulting value of the slope is affected by linear acceleration and it does not pe rmit the slope to be calculated for each cylinder in turn.
The slope may also be calculated by:
slope = S14 - (S13 + S21)/2 With this formula, the resulting value of slope is not affected by linear acceleration.
In.an internal combustion engine, it may happen that a particular cylinder produces more torque that the other cylinders. If a perturbation waveform causes a positive (or negative) perturbation to be applied more often to the spark advance angle of this cylinder than other cylinders, there will be a bias in the calculated value of the slope.
With the perturbation waveform shown in Figure 8, positive and negative perturbations are applied alternately to each cylinder. Thus, the danger of a bias in the calculated value of the slope is avoided.
The waveform shown in Figure 8 does not represent the only waveform which avoids the danger h 3356 of bias. An example of a three level waveform for a four cylinder engine is shown in Figure ga and indicated by reference numeral 43. In this waveform, each cycle of the perturbation waveform comprises three engine fires. This waveform causes a positive perturbation to be applied to the spark advance angle for the first fire, no perturbation to be applied for the second fire, and a negative perturbation to be applied for the third fire.
An example of a suitable perturbation waveform for a six cylinder engine is shown in Figure gb and indicated by reference numeral 43. In the example, each cycle of the perturbation waveform corresponds to four e ngines fires and each part of each cycle has a duration of two engine fires.
More generally, the danger of bias may be avoided, in the case of an engine which has n cylinders, by using a perturbation waveform in which each cycle comprises m engine fires, with a perturbations of one type, b perturbations of the other type, (a + b) being less than or equal to m, and a and b each being a multiple of the highest common factor of n and m.
In order to obtain a relatively high frequency at low engine speeds, and thereby reduce or avoid the danger of the frequency of the perturbation waveform falling below the resonant frequency of the vehicle directions, it is desirable that m is as small as possible and preferable that m is less than 2n.
In the case of the arrangement described in European patent application 0234714 mentioned above, the danger of a bias in the calculated slope may be eliminated by introducing an additional fire period into the perturbation waveform at periodic k 1 3356 intervals.
The curve relating torque output to spark advance has a single maximum at which the slope of engine output with respect to spark advance is zero.
In presently known adaptive control systems, the spark advance angle is corrected with the intention of achieving this maximum. However, the applicants have found that, if the spark advance angle is corrected so as to achieve a small negative value for the slope, the emissions of nitrogen oxides are significantly reduced at the cost of only a small loss of engine output. In order to obtain a reduction in emissions of nitrogen oxides, it is desirable that the spark advance angle is corrected so that the slope is negative during at least some driving conditions. In the present example the spark advance angle is corrected so that the slope has a value which is less than, or equal to, zero during all driving conditions. During idle conditions, the spark advance angle is corrected so that the slope has a negative value.
In Figure 1, the slope calculated by the slope calculation device 46 is compared by s-mme-. 49 with a target slope value obtained from target slope calculation device 48 and the slope error is supplied to correction memory updating device 47. Target slope calculation device 48 calculates the target slope value from a target slope memory 45 using the same method of interpolation that is used to calculate the basic spark advance by basic spark advance calculation device 36. Target slope memory 45 contains a 2 dimensional array of different slope values as a function of load and speed. The slope value at any individual load and speed is determined by engine testing to give the optimuln compromise 1 3356 22- between engine output and emissions of nit-l;ogen oxides. All slope values stored in memory 45 are less than, or equal to, zero. Correction memory updating device 47 also receives the engine speed and load from the speed calculation device 30 and load transducer 31. For each slope measurement, the updating device 47 updates the values stored in the memory 3.8 for each of the four array points surrounding the prevailing engine speed and load. Specifically, for each array point, a new correction value is calculated and stored from the old correction value in accordance with the following formula:new correction old correction + k, x (weighting factor) x (slope target slope). where ki is a constant and target slope is the required slope.
This formula corrects the values in the memory 38 from the slope measurements by integration and smoothes out the noise component in the slope measurements. The constant kl should be chosen so as to be small enough to reduce these noise components to a low level but large enough to provide.rapid convergence to the optimum spark advance angle. The weighting factor given in this formula is the same as the weighting factor used by the correction means 36 and 39. The method of calculating the weighting factor will be described in detail below.
As the density of array points in the memory 35 is chosen to give a good match with the irregularities in the optimum spark advance characteristics, the information in the slope measurements will represent a mismatch which has occurred between the actual optimum characteristics 1 3356 - 23and those stored in the memory 35. It is therefore reasonable to update memory 38 by a process which is symmetrical with the interpolation process used to derive the spark advance angle and the formula given above achieves this. Furthermore, in the formula given above, the values stored in memory 38 are corrected in proportion to the magnitude of each slope measurement and so maximum advantage is taken of the information present in each slope measurement.
The combination of the rapid method of making slope measurements which is achieved by using the perturbation waveform of Figure 8 and the formula given above for updating memory 38 permit the spark advance angle to be corrected to its true optimum value for the complete range of engine speeds and loads in approximately six hours of driving a_ motor vehicle in mixed road conditions. It is preferred that memory 38 is of a nonvolatile construction so that the corrections are retained between periods of engine operation. Thus, memory 38 contains a complete schedule of updated correction values addressed by engine speed and load.
Two further refinements to the formula given above for updating memory 38 will now be described.
In addition to the mismatch in the spark advance angle for the prevailing speed and load, each slope measurement may also contain information which refers to the whole speed/load plane. For example, there may be a mismatch for spark advance across the entire plane due, for example, to changes in barometric pressure or in the composition of fuel. In order to take advantage of this information, each slope measurement may be used to update all the 1 3356 24correction values in memory 38 in accordance with the following formula:new correction = old correction + k2 x (slope target slope).
Alternatively, this formula may be used to update a single value which is added at summer 37 to the correction value calculated by calculation device 39.
The constant k2 is of course much smaller than the constant ki mentioned above. However, the constant k2 must be chosen to be large enough to give convergence for changes in variables such as a barometric pressure in a few minutes across the entire load/speed plane.
The second refinement enables the entire spark advance characteristics to be tilted and this may be required, for example, when the position transducer 16 is poorly calibrated or subject to drift. With this second refinement, four offset correction values are stored in an additional memory corresponding to the four corners of the speed/load plane. Each slope measurement is then used to update these four values by multiplying the slope by an appropriate weighting-factor and an appropriate constant. In calculating each correction value, these four offset values are then multiplied by appropriate weighting factors and the resulting value is added to the value calculated from the four array points surrounding the prevailing engine speed and load.
As mentioned above, by using the perturbation waveform of Figure 8 and the method of slope calculation performed by the slope calculation device 46, the slope is available for each cylinder.
By way of modification, there may be provided an h 3, 3 5 6 individual correction memory for each cylinder, each correction memory being updated using the formula given above and, if desired, with some or all of the two refinements.
The various functional blocks shown in Figure 1 are implemented using a microcomputer arrangement and this arrangement is shown in Figure 4.
As shown in Figure 4, the microcomputer arrangement comprises an Intel Corporation 8097 microcomputer 100 which is connected via a data and address bus 101 to a type 27C64 read only memory 102, a Hitachi type 6116 read/write memory 103, and a Greenwich Instruments Limited type NVR2 non-volatile read/write memory 104. The program and fixed schedules are stored in memory 102, temporary variables are stored in memory 103, and the corrections for the spark advance angle are stored in memory 104.
The microcomputer arrangement implements the speed calculation device 30, the perturbation generator 40, the speed change calculation device 44, slope calculation device 46, updating device 47, the memories 35, 38 and 45 together with the calculation devices 36, 39 and 48, summers 37, 41 and 40. and part of dwell control device 17.
The load transducer 31 is connected through a conventional signal conditioning circuit 105 to an ANALOG input of microcomputer 100. The position transducer 16 is of the variable reluctance type and coacts with a toothed wheel mounted on the engine crankshaft and from which teeth have been removed to establish reference positions. Transducer 16 is connected through a signal conditioning circuit 106 to a HIGH SPEED input of microcomputer 100.
1 3356 A HIGH SPEED output of microcomputer 100 is connected to the input of a dwell control circuit 107. The dwell control circuit 107 together with part of the program stored in memory 102 perform the function of the dwell control device 17 of Figure 1. The dwell control circuit 107 is a type L497 dwell control Pircuit supplied by S. G. S. Limited. The dwell control circuit 107 initiates the build up of current in the primary winding of the ignition coil at the correct moment to achieve the required level just before the current. is interrupted. The dwell control circuit 107 also limits the coil current to the required level during the short period which elapses between achieving the required current and the current being interrupted. The output of dwell control circuit 107 is connected to the power stage 18 which, as mentioned with reference to Figure 1, is connected to the input of the coil and distributor 19.
Referring now to Figure 5, there is shown the general arrangement of the modules which form the program and also the flow of data between these modules. The program comprises modules MISDET 112, IGNLU 113 SAPIRE 114, and DWELL 115. The module IGNLU calls a sub-module LOOK UP and the module SAPIRE calls sub-modules MAP STOE and LOOK UP CORRECTION. Although not shown, SAPIRE also calls a sub-module LOOK UP TARGET SLOPE. Figure 5 also shows a fixed spark-advance schedule 110 which contains the fixed spark advance values and which corresponds to memory 35 shown in Figure 1. Figure 5 further shows a spark-advance correction schedule 111 which contains the correction values for spark advance and corresponds to memory 38 shown in Figure 5.
The module MISDET receives an interrupt 0 3356 signal TOOTH INTERRUPT and this module is executed each time a tooth is detected. A variable TOOTH is supplied to the module DWELI, and represents the position of the crankshaft to within one - tooth of the toothed wheel which coacts with transducer 16. This module MISDET compares the period between each tooth and thereby detects the missing teeth. When a missing tooth is detected, this module re-establishes the relationship between the variable TOOTH and the absolute position of the crankshaft. The module MISDET also calculates the fire period as the period which commences when the piston in the cylinder undergoing an expansion stroke is 1200 after its top dead centre position and ends when the next piston,_ in the firing order, is 120 after its top dead centre position. 'This period is supplied as a variable FIRE PERIOD to the modules IGNLU.
The module IGNLU receives a variable MAN PRESS representing manifold pressure which is indicative of the demanded load. The variable MAN PRESS is derived from the output signal of transducer 31 converted by an analog/digital converter which forms part of microcomputer 100. The module IGNLU calculates a variable ENG SPEED, representing engine speed, from FIRE PERIOD and supplies this to SAFIRE and DWE.L.L.
In each of the schedules 1 10 and 1 1 1, the spark advance values are stored as a 16 X 16 array. In each array, the abscissa and ordinate correspond respectively to engine speed and load and the abscissa and ordinate are divided respectively into 16 discrete engine speed and load values. Thus, each array point contains the spark advance value for one of the discrete engine speed values and one of the discrete load values.
1.
1 3356 In order to address the schedules 110 and 11 1, the module IGNIX generates address variables SPEED INDEX and LOAD INDEX corresponding respectively to engine speed and load. Each of these address variables can assume any one of values 0 to 15 corresponding to the lower 16 discrete engine speed and load values. These variables are set to the value corresponding to the engine speed and load immediately below the prevailing speed and load. The address variables SPEED INDEX and LOAD INDEX are supplied to the sub-modules LOOK UP, MAP STORE, and LOOK UP CORRECTION.
The module IGNI:U also calculates four variables MAP INT 0 to 3'which represent the four weighting factors described above. The four weighting factors MAP INT 0 to 3 correspond respectively to the four addresses (SPEED INDEX, LOAD INDEX), (SPEED INDEX + 1,.LOAD INDEX), (SPEED INDEX, LOAD INDEX + 1) (SPEED INDEX +1, LOAD INDEX +1). The method of calculating the weighting factors MAP INT2 0 to 3 for the prevailing speed and load is shown in Figure 6. A main.rectangle is formed in the speed/load plane, the corners of the rectangle lying at addresses (SPEED INDEX, LOAD INDEX), (SPEED INDEX INDEX + 1, T OAD INDEX), (SPEED INDEX, LOAD INDEX +1) W (SPEED INDEX + 1, 10AD INDEX + 1). This main rectangle is divided into four sub-rectangles by drawing the abscissa and ordinate -passing through the prevailing speed and load these sub-rectangles having areas AO, Al, A2, A3. The weightsing factor for each of the four array points is calculated by dividing the area of the sub-rectangle diagonally opposite the array point by the area of the main rectangle. Thus, the weighting factors MAD INT 0 to 3 have the following values:- 9 1 - 20 MAP INT 0 = AO/A MAP INT 1 = Al/A MAP INT 2 = A3/A MAP INT 3 = A4/A where A = AO + Al.+ A2 + A3.
The module IGNLU calls the sub module LOOK UP which calculates the basic spark advance angle as a variable SPK ANG BASE by the interpolation process which has been described'above. SPK ANG BASE defines the spark advance angle with reference to rotation of the crankshaft beyond a datum position. Thus, with increasing spark advance angle, the value of SPK ANG BASE decreases. The module IGNLU then supplies the variable SPK ANG BASE to the module SAPIRE.
The module IGNLU is executed each time a missing tooth is detected and the module SAPIRE is executed after module IGNLU.
The module SAFIRE generates the perturbation waveform, determines each perturbation to the spark advance angle, calculates the change in engine speed resulting from each perturbation, and calculates the slope of engine output with respect to the spark advance angle as a variable SLOPE. This module uses the slope measurement compared with the target slope to produce a variable SLOPE ERROR and uses SLOPE ERROR to update the spark advance correction schedule. This module retrieves a correction value to the spark advance from t-his schedule. This module also sums the basic spark advance value SPK ANG BASE with the perturbation value and the calculated correction value to produce a command value SPK ANG for the spark advance angle and supplies this to the module DWELL. The module SAPIRE will now be described with reference to the flow chart shown in Pigure 7.
X 1.
33 356 After entering the module SAPIRE, in a step 200, the variable ENG SPEED is examined. If the engine speed is less than 600 RPM, in a step 201, SPK ANG is set to SPK AND BASE and no perturbation is made. If the engine speed is greater than 600 RPM, the program continues with a step 202.
In step 202, a variable ACCELERATION is calculated as (ENG SPEED - OLD SPEED). OLD SPEED is a variable representing the value of ENG SPEED available to the module SAPIRE during its previous execution. In Figure 8, successive executions of the module SAFIRE are indicated by reference numerals 221 to 228. Thus, for example, during the execution of SAFIRE indicated by 225, the variable ACCELERATION is given a value of S 13 S12. This corresponds to the change in engine speed caused by the perturbation established during the execution of SAFIRE indicated by 223. In general, the variable ACCELERATION corresponds to the change in engine speed caused by the perturbation established in the last but one execution of SAFIRE After step 202, the variable OLD SPEED is set to ENG SPEED in a step 203. The program then continues with a step 204.
In step 204, variables STATE and CYLINDER are calculated. As previously mentioned, each cycle of the perturbation waveform comprises three engine fires and thevariable STATE has values of 0,1,2 corresponding to the first, second and third fires of each cycle. When STATE has values of 0 and 1, the module SAFIRIE establishes negative perturbations to the spark advance angle and, when STATE has a value of 2, it establishes a positive perturbation. The values of STATE are shown in Figure 8. CYLINDER is the number of the cylinder corresponding to the T 1 4 -3 5 6 - 31 present value of ENG SPEED. Thus, during the execution of SAFIRE indicated by 225, ENG SPEED has a value S13 and CYLINDER has a value of 3.
After step 204, in a step 205 the value of STATE is examined and the program branches to one of steps 206,207,208 corresponding respectively to values of STATE of 0, 1 and 2.
In steps 206 and 207, a variable DITHER, which establishes the perturbation, is set to +3.75 and, in step 208, DITHER is set to -3.750. A value of DITHER of -3.750 corresponds to an advanced or positive perturbation. After steps 206 and 208, the program jumps to a step 211 and, after stem 207, the program continues with a step 209.
In step 209, the variable SLOPE is calculated as ACCELERATION ACCEL(CYLINDER). ACCEL(CYLINDER) corresponds to the value of ACCELERATION during the previous execution of the module SAPIRE in which CYLINDER was given its present value. Thus, SLOPE represents the slope of engine output with respect to the spark advance angle for the cylinder having the present value of CYLINDER. After step 209, the program continues with step 215.
In step 215 the sub-module LOOK UP TARGET SLOPE is called. This sub-module uses the values of SPEED INDEX, LOAD INDEX and MAP INT 0 to '31, which it receives from IGNLU, to calculate a variable TARGET SLOPE from target slope values stored in a memory.
In step 216, a variable SLOPE ERROR is calculated as TARGET SLOPE - SLOPE.
In step 210, the module MAP STORE is called. This module uses the recently, calculated value of SLOPE ERROR together with the values of MAP INT 0 to 3, SPEED INDEX and LOAD INDEX, which it receives from the module IGNLU, to update the spark 3356 advance correction schedule 11 1. This is pe rformed in the manner described with reference to Figure 1. Af te r step 210, the program continues with step 21 1.
In step 211, the sub module 100K UP CORRECTION is called. This sub module calculates a variable CORRECTION which represents the appropriate correction to the spark advance correction schedule. This variable is calculated by the interpolation method described with reference to Figure 6.
Next, in a step 212, a variable SK ANG OPT is calculated as the sum of SPK ANG BASE and CORRECTION. SK ANG OPT represents the optimum spark advance angle for the prevailing engine speed and load.
In a step 213, the variable SK ANG, which represents the commanded value of the spark advance angle, is calculated as the sum of SPK ANG OPT and the variable DITHER. Thus, either a positive or negative perturbation corresponding to 3.75' of crankshaft rotation is imposed on the optimum spark advance angle.
Lastly, in a step 214, the variable ACCEL (CY1INDER) is set to the present value of ACCELERATION.
Returning to Figure 5, the routine DWELL uses variables TOOTH, ENG SPEED and SPK-ANG to calculate a variable COIL DRIVE which controls the generation of each spark. Specifically, COIL DRIVE causes the HIGH SPEED output of microcomputer 100 to go low when the engine crankshaft passes the commanded spark advance position and to go high early enough to allow the primary current in the ignition coil to reach the required value.
The response in engine speed to the perturbations of the spark advance angle falls with 0 14 1.
3356 increasing engine speed above the resonant speed. To compensate for this, by way of modification, SLOPE can be multiplied by a variable proportional to engine speed and, hence, proportional to perturbation frequency. The overall signal to noise ratio does not change with engine speed as the majority of the noise is generated in the combustion process and consequently is also affected by the driveline response.
Although the above example describes applying perturbations to the spark advance angle in a spark ignition engine in order to obtain corrections to this parameter, the present invention is not limited to this application. For example, it could also be used to apply perturbations to the timing of fuel injection in a compression ignition engine so as to provide corrections to this parameter. Also, in both spark ignition and compression ignition engines, the air/fuel ratio is established in accordance with a predetermined schedule. The present invention could be used to apply perturbations to this ratio so as to obtain corrections to this peeirameter. In some compression ignition and in some spark ignition engines, exhaust gases are mixed with engine intake air in a predetermined ratio. The present invention could be used to apply perturbations to this ratio so as to obtain a correction for this parameter. In the example described above, the spark advance angle is perturbed and this same parameter is corrected in accordance with the slope measurements. However, the example could be modified so as to perturb one parameter and correct another parameter. For example, the spark advance could be perturbed and the slope measurements used to correct values in a 1k 3356 schedule for the air/fuel ratio. The use of slope measurements to do this is described in European patent application 0 210 766.
In the sy.stem discussed with reference to Figures 4 to 7, there are provided a fixed spark advance schedule 110 and a spark advance correction schedule 11 1. By way of modification there may be provided a single spark advance schedule which is initially provided with the fixed values. The values would then be updated in accordance with the slope measurements.
In another modification, a single memory location is provided for the entire speed/load plane in place of the schedule-111.
In order to assist in understanding the present invention, the adaptive control system of Figure 1 will now be described once again, but in a simplified manner, with reference to Figure 10.
Figure 10 is a diagram of the functional components of the control system and corresponds generally to Figure 1. However, in the interests of simplicity, there have been omitted the flywheel 11, gear box 13, shafts 12, 14, drive wheels 15, dwell control device 17, power stage 18, spark plugs 20, calculation devices 36, 39, 44, 48 and the correction memory updating device 47.
Referring now to Figure 10, there is shown a control system for the four cylinder engine 10.
The position transducer 16 detects the position of the engine crankshaft and the speed calculation device 30 is responsive to the output of transducer 16 and calculates the engine speed. Position transducer 16 and speed calculation device 30 together form an engine output detector.
The control system includes the memory 35 1 33505 which contains basic values of the spark advance angle and the memory 47 which contains correction values for the spark advance angle. Spark advance angle is an engine control parameter.
The outputs from memories 35 and 47 are supplied to the two inputs of a summer 37. The output of summer 37 is supplied to the input of a summer 41 and the output of summer 41 is supplied to the input of the coil anddistributor 17 to control ignition timing. The coil and distributor 17 is an engine input device.
The system includes the perturbation generator 40 which receives the output from position transducer 16. The perturbation generator generates a perturbation waveform and, in order to apply perturbations to the sparkadvance angle, the output of perturbation generator 40 is supplied to the other input of summer 41. The perturbation waveform is divided into two parts. During the first part, which comprises a single engine fire, a positive perturbation is applied to the spark advance angle. During the second part, which comprises two engine fires, a negative perturbation is applied to the spark advance angle.
The outputs from the perturbation generator and the speed calculation device 30 are supplied to the slope calculation device 46, which calculates the slope of engine output with respect to engine speed.
The output of slope calculation device 46 is supplied to the negative input of the summei- 49.
The output from memory 48, which contains target slope values, is supplied to the positive input of summer 49. The output of summer 49 represents the error between the actual slope and the target slope.
3 6 - 36This output is supplied to memory 47 in order to update the correction values.
A specific form for the perturbation waveform has just been described. More generally, for an engine having n cylinders, each cycle of the waveform comprises m engine fires, where m has a value less than 2n, and the waveform is arranged so that each cylinder of the engine experiences equal numbers of both types of perturbations. Preferably, there are a perturbations of one type, b perturbations of the other type, (a + b) being less than or equal to m, and a and b each being a respective multiple of the highest common factor of n and m.
3356 _ 3.r -

Claims (34)

Claims:
1 - An adaptive control system for an internal combustion engine, said control system comprising means for determining a basic value for an engine control parameter (hereinaft-er, referred to as "said perturbed parameter"); a perturbation generator for perturbing said perturbed parameter about said basic value, said perturbation generator generating a perturbation waveform and applying both positive type and negative type perturbations to said perturbed parameter during each cycle of the waveform; means for monitoring an engine output; means for calculating the slope of engine output with respect to said perturbed parameter; and means for using said slope to apply a correction to at least one engine control parameter (each of which is hereinafter referred to as a "corrected parameter"); in which, for an engine having n cylinders, each cycle of said perturbation waveform comprises m engine fires, m having a value which is less than 2n, and said waveform is arranged so that each cylinder of the engine experiences equal numbers of both types of perturbations compared with other cylinders irrespective of engine speed.
2. An adaptive control system as claime in Claim 1, in which, in each cycle of the perturbation waveform, there are a perturbations of one type, b perturbations of the other type, (a + b) is less than or equal to m, and a and b are each equal to a respective multiple of the highest common factor of n and m.
3. An adaptive control system for a four cylinder internal combustion engine as claimed in Claim 1, in which m has a value of three, a has a value of one and b has a value of two.
-:3 IR - 3356
4. An adaptive control system for a six cylinder internal combustion engine as claimed in Claim 1, in which m has a value of four, a has a value of two and b has a value of two.
5. An adaptive control system as claimed in any one of the preceding claims, in which, when the engine speed is below a predetermined value, no perturbations are applied to said perturbed parameter.
6. An adaptive control system as claimed in any one of the preceding claims, in which the system includes means for measuring the engine fire period corresponding to each perturbation, and said calculating means calculates each value of the slope from said fire periods.
7. An adaptive control system as claimed in Claim 6, in which said calculating means calculates each value of the slope from fire periods of a particular cylinder corresponding to both positive type and negative type perturbations.
8. An adaptive control system as claimed in Claim 7, in which said calculating means calculates each slope value by calculating a first value relating to the change in engine speed between a fire period of a particular cylinder correspAnding to one type of perturbation and the immediately preceding fire period, calculating a second value relating to the change in engine speed between a previous fire period of said particular cylinder corresponding to the other type of perturbation and the immediately preceding fire period, both said immediately preceding fire -periods corresponding to said other type of perturbation, and then calculating the slope value as the difference between said first and second values.
2 5) 8 Ir - 3356
9. An adaptive control system as claimed in any one of the preceding claims, in which the perturbed parameter is an ignition timing parameter.
10. An adaptive control system for a spark ignition engine as claimed in claim 9, in which the ignition timing parameter is spark advance angle.
11. An adaptive control system for a compression ignition engine as claimed in Claim 9, in which the ignition timing parameter is fuel injection timing.
12. An adaptive control system as claimed in any one of the preceding claims, in which there is a single corrected parameter which is the same as said perturbed parameter.
13. An adaptive control system for an internal combustion engine having a flywheel connected through resilient shafting and a gear arrangement to a load, said flywheel, resilient shafting and gear arrangement form ing a resonant system which has a particular resonant frequency for each gear ratio established by said gear arrangement, said control system comprising means for determining a basic value for an engine control parameter (hereinafter referred to as "said perturbed parameter"); a perturbation generator for perturbing said perturbed parameter about said basic value; said perturbation generator generating a perturbation waveform and applying both positive type and negative type perturbations to said perturbed parameter during each cycle of the waveform; means fo-r monitoring an engine output; means for calculating the slope of the engine output with respect to said perturbed parameter; and means for using said slope to apply a correction to at least one engine control parameter (each of which is hereinafter referred to as a "corrected 3356 - 44P pa-Lameter"); in which the frequency of said waveform is greater than the resonant frequency of said resonant system in the prevailing gear under normal driving conditions and said waveform is arranged so that each cylinder of the engine experiences equal numbers of both types of perturbations compared with other cylinders irrespective of engine speed.
14. An adaptive control system for an internal combustion engine, said control system comprising means for perturbing an ignition timing parameter about a basic value, means for monitoring an engine output, and means for calculating the slope of engine output with repect to said ignition timing parameter, in which the system includes means for controlling at least one input parameter so as to achieve a negative value of said slope during at least some driving conditions, said negative value being a function of the vehicle operating conditions.
15. An adaptive control system as claimed in Claim 14, in which the negative slope is a function of engine speed and load.
16. An adapiive control system for a spark ignition engine as claimed in Claim 14 or Claim 15, in which the ignition timing parameter is spark advance angle.
17. An adaptive control system for a compression ignition engine as claimed in Claim 14 or Claim 15, in which the ignition timing parameter is fuel injection timing.
18. A method of controlling an internal combustion engine, said method comprising the steps of perturbing an engine control parameter (hereinafter referred to as a "said perturbed parameter") by generating a perturbation waveform, applying both positive type and negative type 9 1. % V- 1 - 33505 perturbations to said perturbed parameter during eac.h.
cycle of said waveform, calculating the slope of engine output with respect to said perturbed parameter from the response of engine output to said perturbations, and using said slope to apply a correction to at least one engine control parameter (each of which is hereinafter referred to as a "corrected parameter"); in which, for an engine having n cylinders, each cycle of said perturbation waveform comprises m engine fires, m having a value which is less than 2n, and said waveform is arranged so that each cylinder of the engine experiences equal numbers of both types of perturbations compared with other cylinders irrespective of engine speed.
19. A method of controlling an internal combustion engine as claimed in Claim 18, in which, in each cycle of the perturbation waveform, therreare a perturbations of one type, b perturbations of the other type, (a + b) is less than or equal to m, and a and b are each equal to a respective multiple of the highest common factor of n and m.
20. A method of controlling a four cylinder internal combustion engine as claimed in Claim 18, in which m has a value of three, a has a value of one, and b has a value of two.
21. A method of controlling a six cylinder internal combustion engine as claimed in Claim 18, in which m has a value of four, a has a value of two, and b has a value of two.
22. A method of controlling an internal combustion as claimed in any one of Claims 18 to 21, in which, when the engine speed is below a predetermined value, no perturbations are applied to said perturbed parameter.
23. A method of controlling an internal lk 4 - q_ 3356 combustion engine as claimed in any one of Claims 18 to 22, in which the method includes the further step of measuring the engine fire period corresponding to each perturbation, and, in said step of calculating the slope, each value of the slope is calculated from said fire periods.
24. A method of controlling an internal combustion engine as claimed in Claim 23, in which, in said step of calculating the slope, each value of the slope is calculated from fire periods of a particular cylinder corresponding to both positive type and negative type perturbations.
25. A method of controlling an internal combustion engine as claimed in Claim 24, in which, in said step of calculating the slope, each value of the slope is calculated by calculating a first value relating to the change in engine speed between a fire period of a particular cylinder corresponding to one type of perturbation and the immediately preceding fire period, calculating a second value relating to the change in engine speed between a previous fire period of said particular cylinder corresponding to the other type of pert-urbation and the immediately preceding fire period, both said immediately preceding fire periods corresponding to said other type of perturbation, and then calculating the slope value as the difference between said first and second values.
26. A method of controlling an internal combustion engine as claimed in any one of claims 18 to 25, in which the perturbed parameter is an ignition timing parameter.
27. A method of controlling a spark ignition engine as claimed in Claim 26, in which the ignition timing parameter is spark advance angle.
7.
11 TA 9- _n - 3356
28. A method of controlling a compresseion ignition engine as claimed in Claim 26, in which the ignition timing partameter is fuel injection timing.
29. A method of controlling an internal combustion engine as claimed in any one of Claims 18 to 28, in which there is a single corrected parameter which is the same as the perturbed parameter.
30. A method of controlling an internal combustion engine, said engine having a flywheel connected through resilient shafting and a gear arrangement to a load, said flywheel, resilient shafting and gear arrangement forming a resonant system which has a particular resonant frequency for each gear ratio established by said gear arrangement, said method comprising the steps of: perturbing an engine control parameter (hereinafter referred to as "said perturbed parameterl') by generating a perturbation waveform, applying both positive type and negative type perturbations to said perturbed parameter during each cycle of said waveform, calculating the slope of engine output with respect to said perturbed parameter from the response of engine output to said perturbations, and using said slope to apply a correction to at least one engine control parameter, in which the frequency of said waveform is greater than the resonant frequency of said resonant system in the prevailing gear under normal driving conditions, and said waveform is arranged so that each cylinder of the engine experiences equal numbers of both types o-f perturbations compared with other cylinders irrespective of engine speed.
31. A method of controlling an internal combustion engine, said method comprising the steps of: perturbing an ignition timing parameter about a 1 $ A 3356 m -.4 - basic value, monitoring an engine output, and calculating the slope of engine output with respect to said ignition timing parameter, in which the method further includes the step of controlling at least one input parameter so as to achieve a negative value of said slope during at least some driving conditions, said negative value being a function of the vehicle operating conditions.
32. A method of controlling an internal combustion engine as claimed in Claim 31, in which the negative slope is a function of engine speed and load.
33. An adaptive control system for an internal combustion engine substantially as hereinbefore described with reference to, and as shown in, the accompanying drawings.
34. A method of controlling an internal combustion -substantially as hereinbefore described with reference to, and as shown in, the accompanying drawings.
Published 1988 at The Patent Office, State House, 6671 High Holborn, London WC1R 4TP. Further copies may be obtained from The Patent Mce. Wes Branch, St Mary Crky, "ington, Kent BR5 3RD. Printed bY Multiplex techniques ltd, St Mary Cray. Kent. Con. 1187.
GB8813930A 1987-06-27 1988-06-13 Adaptive control system for an internal combustion engine Expired - Lifetime GB2207775B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB878715130A GB8715130D0 (en) 1987-06-27 1987-06-27 Adaptive control system for i c engine

Publications (3)

Publication Number Publication Date
GB8813930D0 GB8813930D0 (en) 1988-07-20
GB2207775A true GB2207775A (en) 1989-02-08
GB2207775B GB2207775B (en) 1991-08-07

Family

ID=10619696

Family Applications (2)

Application Number Title Priority Date Filing Date
GB878715130A Pending GB8715130D0 (en) 1987-06-27 1987-06-27 Adaptive control system for i c engine
GB8813930A Expired - Lifetime GB2207775B (en) 1987-06-27 1988-06-13 Adaptive control system for an internal combustion engine

Family Applications Before (1)

Application Number Title Priority Date Filing Date
GB878715130A Pending GB8715130D0 (en) 1987-06-27 1987-06-27 Adaptive control system for i c engine

Country Status (6)

Country Link
US (1) US4893600A (en)
EP (2) EP0537794A3 (en)
JP (1) JPH07117029B2 (en)
DE (2) DE3885947T2 (en)
ES (1) ES2048761T3 (en)
GB (2) GB8715130D0 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0398381B1 (en) * 1989-05-19 1993-12-15 Nissan Motor Co., Ltd. Apparatus for detecting failure occurring in control system for driving load
JPH03210065A (en) * 1990-01-12 1991-09-13 Nissan Motor Co Ltd Knocking control device for engine
US5126933A (en) * 1990-02-07 1992-06-30 White Iii Charles A Self-learning memory unit for process controller and self-updating function generator
EP0442687B1 (en) * 1990-02-14 1998-04-15 Lucas Industries Public Limited Company Method of and apparatus for detecting misfire
EP0447646B1 (en) * 1990-03-17 1995-08-30 Robert Bosch Gmbh Error-corrected control system
DE4009791A1 (en) * 1990-03-27 1991-10-02 Daimler Benz Ag Vibration damping for transmission of vehicle - with selective switching between preset ignition programs
US5000148A (en) * 1990-04-16 1991-03-19 Kokusan Denki Company, Ltd. System and method for controlling ignition of internal combustion engine for vehicle
US5200900A (en) * 1990-09-06 1993-04-06 John B. Adrain Automotive multiple memory selector apparatus with human interactive control
CA2050126A1 (en) * 1990-09-06 1992-03-07 John B. Adrain Automotive multiple memory selector apparatus with human interactive control
US5137000A (en) * 1991-03-29 1992-08-11 Cummins Electronics Company Device and method for decreasing delays in fuel injected internal combustion engines
GB9200920D0 (en) * 1992-01-16 1992-03-11 Lucas Ind Plc Method of and an apparatus for misfire and rough road detection
US5168853A (en) * 1992-04-06 1992-12-08 Optimizer Control Corp. System for optimizing the performance of internal combustion engines
US5805450A (en) * 1995-02-15 1998-09-08 Outboard Marine Corporation Electronic ignition timing control and engine management system
US5988140A (en) * 1998-06-30 1999-11-23 Robert Bosch Corporation Engine management system
US6640777B2 (en) 2000-10-12 2003-11-04 Kabushiki Kaisha Moric Method and device for controlling fuel injection in internal combustion engine
US6895908B2 (en) * 2000-10-12 2005-05-24 Kabushiki Kaisha Moric Exhaust timing controller for two-stroke engine
US6832598B2 (en) 2000-10-12 2004-12-21 Kabushiki Kaisha Moric Anti-knocking device an method
JP4270534B2 (en) 2000-10-12 2009-06-03 ヤマハモーターエレクトロニクス株式会社 Internal combustion engine load detection method, control method, ignition timing control method, and ignition timing control device
US6892702B2 (en) * 2000-10-12 2005-05-17 Kabushiki Kaisha Moric Ignition controller
US20030168028A1 (en) * 2000-10-12 2003-09-11 Kaibushiki Kaisha Moric Oil control device for two-stroke engine
US7171292B2 (en) * 2004-03-23 2007-01-30 Cummins, Inc. Vehicle powertrain torsional processing system
JP4377294B2 (en) * 2004-07-12 2009-12-02 ヤンマー株式会社 Rotational speed control device for internal combustion engine and internal combustion engine provided with the rotational speed control device
JP4622569B2 (en) * 2005-02-15 2011-02-02 日産自動車株式会社 In-cylinder direct injection internal combustion engine
US8555857B2 (en) * 2010-11-16 2013-10-15 GM Global Technology Operations LLC Method and apparatus for controlling spark timing in an internal combustion engine
US9097197B2 (en) * 2011-03-31 2015-08-04 Robert Bosch Gmbh Defining a region of optimization based on engine usage data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1543379A (en) * 1975-02-19 1979-04-04 Bosch Gmbh Robert Method and apparatus for controlling the operation of an internal combustion engine
EP0044656A1 (en) * 1980-07-10 1982-01-27 LUCAS INDUSTRIES public limited company Method of and apparatus for optimising the operation of an internal combustion engine
US4403584A (en) * 1980-09-05 1983-09-13 Nippondenso Co., Ltd. Method and apparatus for optimum control for internal combustion engines
US4479476A (en) * 1981-01-26 1984-10-30 Nippondenso Co., Ltd. Method and apparatus for optimum control of internal combustion engines
US4575800A (en) * 1983-04-08 1986-03-11 Optimizer Control Corporation System for optimizing the timing of diesel or spark ignition engines

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1257779A (en) * 1967-12-21 1971-12-22
JPS5388426A (en) * 1977-01-17 1978-08-03 Hitachi Ltd Ignition timing control system for internal combustion engine
DE2847021A1 (en) * 1978-10-28 1980-05-14 Bosch Gmbh Robert DEVICE FOR CONTROLLING OPERATING CHARACTERISTICS OF AN INTERNAL COMBUSTION ENGINE TO OPTIMUM VALUES
JPS5948307B2 (en) * 1979-02-23 1984-11-26 日産自動車株式会社 Internal combustion engine ignition timing control device
US4306284A (en) * 1979-08-14 1981-12-15 Optimizer Control Corporation Optimizer industrial test unit
US4276860A (en) * 1979-11-01 1981-07-07 Motorola, Inc. Apparatus for the generation of monostable pulses having predetermined durations independent of input signal period
JPS56115855A (en) * 1980-02-19 1981-09-11 Toyota Motor Corp Method and apparatus for controlling ignition timing of engine
JPS5746045A (en) * 1980-09-05 1982-03-16 Nippon Denso Co Ltd Air fuel ratio control method of internal combustion engine
US4433381A (en) * 1980-09-19 1984-02-21 The Bendix Corporation Control system for an internal combustion engine
US4481162A (en) * 1981-02-02 1984-11-06 Kv33 Corporation Flexible mold for dental model bases and method of using it
JPS57143161A (en) * 1981-03-02 1982-09-04 Nippon Denso Co Ltd Ignition time controlling method for internal combustion engine
JPS5841264A (en) * 1981-09-07 1983-03-10 Nippon Denso Co Ltd Ignition timing control system for internal-combustion engine
CH648638A5 (en) * 1981-09-09 1985-03-29 Inst Francais Du Petrole METHOD FOR ADJUSTING THE TIME OF CONTROL OF THE INITIATION OF COMBUSTION IN AN ENGINE.
GB2135391B (en) * 1982-07-27 1986-08-28 Marchal Equip Auto Method for self-adaptive regulation of the ignition advance angle of a thermal engine with controlled ignition
US4535406A (en) * 1983-02-22 1985-08-13 Allied Corporation Fuel distribution control for an internal combustion engine
JPS59185874A (en) * 1983-04-08 1984-10-22 Hitachi Ltd Ignition system for internal-combustion engine
JPH0733809B2 (en) * 1984-06-27 1995-04-12 株式会社日本自動車部品総合研究所 Internal combustion engine output fluctuation measurement method
DE3439927A1 (en) * 1984-06-30 1986-01-09 Bosch Gmbh Robert METHOD AND DEVICE FOR ADAPTIVE INTERFERENCE SIGNALING IN REGULATORS
JPH0615841B2 (en) * 1984-08-10 1994-03-02 日本電装株式会社 Electronically controlled fuel injection device
JPH0697003B2 (en) * 1984-12-19 1994-11-30 日本電装株式会社 Internal combustion engine operating condition control device
GB8518593D0 (en) * 1985-07-23 1985-08-29 Lucas Ind Plc Control for i c engine
GB8604260D0 (en) * 1986-02-20 1986-03-26 Lucas Elect Electron Syst I c engine
GB8604259D0 (en) * 1986-02-20 1986-03-26 Lucas Elect Electron Syst I c engine
US4715344A (en) * 1985-08-05 1987-12-29 Japan Electronic Control Systems, Co., Ltd. Learning and control apparatus for electronically controlled internal combustion engine
JP2511862B2 (en) * 1986-01-08 1996-07-03 株式会社日立製作所 Ignition timing control method for internal combustion engine
JPS62214269A (en) * 1986-03-10 1987-09-21 オプテイマイザ− コントロ−ル コ−ポレ−シヨン Ignition timing optimizing device for diesel or spark ignition engine
GB8700759D0 (en) * 1987-01-14 1987-02-18 Lucas Ind Plc Adaptive control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1543379A (en) * 1975-02-19 1979-04-04 Bosch Gmbh Robert Method and apparatus for controlling the operation of an internal combustion engine
EP0044656A1 (en) * 1980-07-10 1982-01-27 LUCAS INDUSTRIES public limited company Method of and apparatus for optimising the operation of an internal combustion engine
US4403584A (en) * 1980-09-05 1983-09-13 Nippondenso Co., Ltd. Method and apparatus for optimum control for internal combustion engines
US4479476A (en) * 1981-01-26 1984-10-30 Nippondenso Co., Ltd. Method and apparatus for optimum control of internal combustion engines
US4575800A (en) * 1983-04-08 1986-03-11 Optimizer Control Corporation System for optimizing the timing of diesel or spark ignition engines

Also Published As

Publication number Publication date
DE3885947D1 (en) 1994-01-13
DE3821448C2 (en) 1991-02-21
GB8715130D0 (en) 1987-08-05
US4893600A (en) 1990-01-16
EP0297747B1 (en) 1993-12-01
EP0537794A3 (en) 1994-12-07
GB2207775B (en) 1991-08-07
DE3821448A1 (en) 1989-01-26
EP0297747A2 (en) 1989-01-04
JPH07117029B2 (en) 1995-12-18
GB8813930D0 (en) 1988-07-20
JPS6487873A (en) 1989-03-31
DE3885947T2 (en) 1994-05-19
EP0297747A3 (en) 1989-05-17
EP0537794A2 (en) 1993-04-21
ES2048761T3 (en) 1994-04-01

Similar Documents

Publication Publication Date Title
EP0297747B1 (en) Adaptive control system for an internal combustion engine
US4899282A (en) Method and apparatus for controlling an internal combustion engine
US6085143A (en) Method for regulating a smooth running of an internal combustion engine
US4841933A (en) Adaptive control system for an internal combustion engine
US5669354A (en) Active driveline damping
EP0589517A1 (en) Method of predicting air flow into a cylinder
US5383432A (en) Method and apparatus for controlling ignition timing based on fuel-air composition during fuel excursions
JPH04503387A (en) System for monitoring and/or controlling the performance of a multi-cylinder engine
EP0345942B1 (en) Adaptive control system for an internal combustion engine and method of operating an internal combustion engine
EP0273601B1 (en) Engine control and combustion quality detection system and method
US5359519A (en) Process and device for measuring the torque of an internal combustion heat engine taking into consideration, in particular, the recirculation of exhaust gases and residual burnt gases and excess oxidant
US5144560A (en) Control method for an internal combustion engine and apparatus therefor
EP0234715B1 (en) Adaptive control system for an internal combustion engine
US6665607B2 (en) Method and device for controlling an internal combustion engine
US4644784A (en) Suction pipe pressure detection apparatus
EP0234714B1 (en) Adaptive control system for an internal combustion engine
US4711215A (en) LPP combustion control for IC engine with abnormal combustion
JP3563435B2 (en) Cylinder-specific combustion control method
Hönig et al. Electronic Spark Control Systems
JPS6328217B2 (en)
JPH05288238A (en) Vehicle vibration/noise controller
GB2309744A (en) Controlling i.c. engine ignition timing
JPS61272451A (en) Controller for internal-combustion engine
GB2332758A (en) Control system for an internal combustion engine
JPH11148403A (en) Air-fuel ratio control device for internal combustion engine

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 19970613