Engine control system
BACKGROUND OF THE INVENTION 
     This invention relates to a system for controlling an internal combustion engine and, more particularly, to a microprocessor-based electronic engine control system responsive to one or more sensed engine operating parameters for controlling one or more of such engine operating functions as, for example, fuel injection, ignition timing, EGR control, and the like. 
     Many of engine operating functions such as fuel injection, ignition timing, EGR control, and the like have been controlled based on engine load. A true indication of engine load may be obtained by the measurement of both engine speed and output torque, but a satisfactory sensor for measuring engine output torque is not available at this time. Because of this, it is the common practice to employ a single load sensor which provides an inference of engine load be sensing the absolute pressure within the engine intake manifold, the flow of air to the engine, or the angular position of the throttle valve. With engine control systems employing a single load sensor, however, a failure in such a load sensor will leads to a failure to perform proper engine operating function control, causing engine troubles. 
     The present invention provides an improved engine control system employing first and second load sensors which provide an inference of engine load by measuring first and second engine operating parameters. The system controls one or more engine operating functions based normally on the measurement of the first engine operating parameter but based on the measurement of the second engine operating parameter when the first engine operating parameter varies out of a predetermined range. 
     SUMMARY OF THE INVENTION 
     There is provided, in accordance with the present invention, a system for use with an internal combustion engine for controlling at least one engine operating function in response to engine operating parameters. The system comprises means for measuring a first engine operating parameter to provide an inference of engine load, means for measuring a second engine operating parameter to provide an inference of engine load, means for controlling the engine operating function, and a digital computer for calculating a valve corresponding to a setting of the means for controlling the engine operating function. The digital computer calculates a difference between measurements made at uniform time intervals on the first engine operating parameter. The digital computer calculates a value corresponding to a setting of the engine operating function control means from a measurement on the first engine operating parameter but calculates that value from a measurement on the second engine operating parameter when the calculated difference is out of a predetermined range. 
     The system may be used to control ignition timing in terms of spark advance. In this case, the system comprises means for measuring engine operating parameters including intake-manifold vacuum pressure, throttle-valve angular position, and engine speed, and means for controlling the spark advance, and a digital computer for calculating a value corresponding to a setting of the spark advance control means. The digital computer calculates a difference between measurements made at uniform time intervals on intake-minifold vacuum pressure. The digital computer normally calculates a value corresponding to a setting of the spark advance control means from measurements of engine speed and intake-manifold vacuum pressure but calculates that value from measurements of engine speed and throttle-valve angular position when the calculated difference between measurements is out of a predetermined range. 
     Preferably, the digital computer calculates a difference between measurements made at uniform time intervals on throttle-valve angular position and calculates a value corresponding to a setting of the spark advance control means from measurements on engine speed and intake-manifold vacuum pressure, regardless of the calculated difference between the intake-manifold vacuum pressure measurements, when the calculated difference between the throttle-valve angular position measurements exceeds a predetermined value. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The details as well as other features and advantages of this invention are set forth below and are shown in the accompanying drawings, in which: 
     FIG. 1 is a schematic diagram showing one embodiment of an engine control system made in accordance with the present invention; 
     FIG. 2 is a flow diagram illustrating the programming of the digital computer used in the control unit of FIG. 1 for calculating a value corresponding to a setting of controlled variable injection timing; 
     FIG. 3 illustrates a look-up table identifying an appropriate spark advance before the top dead center position as a function of intake-manifold vacuum pressure and engine speed; 
     FIG. 4 illustrates a look-up table identifying an appropriate spark advance before the top dead center position as a function of throttle-valve angular position and engine speed; 
     FIGS. 5 and 6 are graphs showing changes in fuel consumption, engine output torque, and engine knock with respect to spark advance; and 
     FIG. 7 is a schematic view showing a conventional engine control system. 
    
    
     With reference now to the conventional spark timing control system shown in the PRIOR ART figure (FIG. 7), the control unit A produces an appropriate spark timing to switch off the current through the primary winding of an ignition coil B, causing spark firing energy to be developed to fire an appropriate spark plug through a distributor C. The control unit A calculates an appropriate spark advance as a function of intake-manifold vacuum pressure and engine speed. For this purpose, the control unit A has inputs from an intake-manifold pressure sensor D and a crankshaft position sensor E. The calculated spark advance is corrected for the cylinder-head coolant temperature sensed by a temperature sensor F. With such a conventional engine control system, however, a failure or breakdown in the intake-manifold pressure sensor will result in failure to obtain an appropriate spark advance, causing engine output torque drop and engine knock. Furthermore, large pulsations in the air flow to the engine at or near full throttle conditions subjects the calculated spark advance to variations with the pulsations, causing engine output torque variations, engine knock, and increased exhaust emissions. 
     DETAILED DESCRIPTION OF THE INVENTION 
     Turning now to FIG. 1, there is illustrated one embodiment of an engine control system made in accordance with the present invention. While the present invention is hereinafter described in detail in connection with its application to the control of ignition-system spark timing in terms of spark advance, it is to be noted that the general principles and teachings of the present invention could be readily applied to the control of other engine operating functions such as fuel injection, EGR control, and the like. 
     The engine control system has a control unit 10 which includes a digital computer comprised of a central processing unit, a read only memory, and a read/write memory. The digital computer performs calculations, based upon various conditions of the engine that are sensed during engine operation, to determine an appropriate spark advance. 
     The control unit 10 has various inputs from a manifold pressure sensor 1, a crankshaft position sensor 2, a temperature sensor 3, and a throttle-valve position sensor 4. The manifold pressure sensor 1 generates a signal indicative of the intake-manifold vacuum pressure within the engine intake manifold. The crankshaft position sensor 2 generates a series of pulses, the repetition rate of which is directly proportional to engine speed in terms of engine crankshaft speed. The temperature sensor 3 generates a signal indicative of cylinder-head coolant temperature. The throttle-valve position sensor 4 generates a signal indicative of the angular position of the throttle valve. 
     The digital computer reads the signals applied thereto from the sensors into the computer memory at uniform time intervals. The spark advance is calculated normally from a relationship defining spark advance as a function of engine speed and intake-manifold vacuum pressure and corrected for the cylinder-head coolant temperature. The digital computer also calculates the change of the intake-manifold vacuum pressure by subtracting the previous intake-manifold vacuum pressure value from the present intake-manifold vacuum pressure value. If the resulting difference is within a range defined by predetermined upper and lower limits, the manifold pressure sensor 1 and the associated circuit are considered as in operating order. If the resulting difference is out of the range, the digital computer calculates the spark advance from a relationship describing spark advance as a function of engine speed and throttle-valve angular position instead of intake-manifold vacuum pressure. An intake-manifold vacuum pressure change smaller than the predetermined lower limit is considered as an indication of failure or breakdown of the manifold pressure sensor 1 and/or the associated circuit. An intake-manifold vacuum pressure change greater than the predetermined upper limit indicates very great pulsations in the air flow to the engine. For normal engines, the upper and lower limits may be set at 50 mmHg and 10 mmHg, respectively. 
     In addition, the digital computer calculates the change of the throttle-valve angular position by subtracting the previous throttle-valve angular-position value from the present throttle-valve angular-position value. If the resulting difference is greater than a reference value, the digital computer calculates the spark advance based on the measurement of both engine speed and intake-manifold vacuum pressure, regardless the degree of change of the intake-manifold vacuum pressure. An throttle-valve angular-position change greater than the reference value indicates a transition condition. 
     The control unit 10 generates an electronic spark timing output 10a which changes to a high state in accordance with the calculated appropriate spark advance value. The spark timing output 10a is coupled to a switching transistor 20 connected with the primary winding 22 of an ignition coil 24. The secondary winding 26 of the ignition coil 24 is connected to the rotor contact 32 of a distributor 30 which sequentially connects contacts 34 to respective spark plugs, one of which is illustrated as 36. The primary winding 22 of the ignition coil is connected to the positive side of the vehicle battery 42 through an ignition switch 44. The transistor 20 is switched on and off to cause spark firing energy to be developed to fire the spark plugs of the engine. The transistor 20 is turned on when the output of the control unit 10 returns from the low state to a high state and is switched off when the output of the control unit 10 returns to the high state at which time the particular spark plug selected by the distributor 30 is fired. 
     FIG. 2 is a flow diagram illustrating the programming of the digital computer as it is used to control spark timing in terms of spark advance before the top dead center position of each engine piston. During engine operation, the selected engine operating parameters including intake-manifold vacuum pressure, throttle-valve angular position, engine speed and engine coolant temperature are repetitively read into the computer memory at uniform time intervals. 
     The computer program is entered at a point 200. At the point 202 in the program, the digital computer central processing unit calculates a value ΔA TV  for the change of the throttle-valve angular position. Thereafter, the program proceeds to a determination step at a point 204. The determination is whether or not the calculated throttle-valve angular-position change ΔA TV  is greater than the reference value Ra. If the answer to this question is no, the program preceeds to a point wherein the change ΔP IM  of the intake-manifold vacuum pressure is calculated. At the point 208, a determination is made as to whether or not the calculated intake-manifold vacuum pressure change ΔP IM  is greater than the lower limit Rl. If the answer to this question is yes, then at the point 210, another determination is made as to whether or not the calculated intake-manifold vacuum pressure change ΔP IM  is smaller than the upper limit Ru. If the answer to this question is yes, the program proceeds to the point 212 wherein the spark advance is calculated from a relationship defining spark advance as a function of engine speed and intake-manifold vacuum pressure. At the point 214, the calculated spark advance is corrected for the sensed engine coolant temperature. Following this, the program proceeds to a point 216 wherein the corrected spark advance is outputted and then to an end point 220. 
     If the answer to the question at the determination point 208 or at the determination point 210 is no, then the program proceeds to a point 218 wherein the spark advance is calculated from a relationship describing spark advance as a function of engine speed and throttle-valve angular position. Following this, the program proceeds to the point 214 wherein the calculated spark advance is corrected for the sensed engine coolant temperature and then to the point 216 wherein the corrected spark advance is outputted. 
     If the answer to the question at the determination point 204 is yes, the program proceeds to the point 212 wherein the spark advance is calculated from a relationship defining spark advance as a function of engine speed and intake-manifold vacuum pressure. Following this, the program proceeds to the point 214 wherein the calculated spark advance is corrected for the sensed engine coolant temperature and then to the point 216 wherein the corrected spark advance is outputted. 
     FIG. 3 illustrates a look-up table which identifies an appropriate ignition timing (degree) before the top dead center position of each engine piston as a function of intake-manifold vacuum pressure P B  (-mmHg) and engine speed N (rpm). FIG. 4 illustrates a look-up table which identifies an appropriate ignition timing (degree) before the top dead center position of each engine piston as a function of throttle-valve angular position (degree) and engine speed N (rpm). The look-up tables may be obtained experimentally or derived empirically. The look-up tables are stored in the read only memory. The spark advance is normally calculated based on data in the spark advance table of FIG. 3 and is calculated based on the data in the spark advance table of FIG. 4 when the change of the measurement of intake-manifold vacuum pressure is out of the predetermined range. 
     FIG. 5 illustrates changes in fuel consumption, engine output torque, and engine knock with respect to spark advance when the engine operates at 2,400 rpm with a -50 mmHg pressure developed within the engine intake manifold. FIG. 6 illustrates changes in fuel consumption, engine output torque, and engine knock with respect to spark advance when the engine operates at 2,400 rpm with the throttle valve fully opened. 
     The engine control system has a digital computer which calculates an appropriate spark advance from measurements on engine speed and intake-manifold vacuum pressure but from measurements on engine speed and throttle-valve angular position when a failure occurs in the manifold pressure sensor or when very great pulsations occur in the air flow to the engine. This ensures proper engine operating function control over a wide range of engine operating conditions. 
     While the present invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.