USER MODIFIABLE FUEL INJECTION COMPUTER

Abstract: An electronic fuel injection computer system for an internal combustion engine which is modifiable while installed in and during the operation of said engine to produce a range of fuel delivery curves and/or ignition timing curves to fit said engine. The computer comprising software having a main serial communication program (1) adapted to provide information on selected engine parameters to the user at the request of a control program on an external computer and an engine management program (2). The engine management program being operable during periodic interruption (2A) of the serial communication program by a signal from one or more engine sensors.

Description: USER MODIFIABLE FUEL INJECTION COMPUTER This invention relates to improvements in electronic fuel injection computers. Motor vehicles are now commonly manufactured with electronic fuel injection (E.F.I. ). There are good reasons for the move to E.F.I. A good E.F.I, system will produce considerably more power using less fuel and also generate less pollution than carburetion on the same vehicle. In an age of high fuel costs, energy conservation and restrictive pollution laws, the trend towards E.F.I, will continue. Present E.F.I, computers however are "black boxes" which are dedicated to a particular engine model. They cannot be readily serviced or interchanged with other types of vehicles. This has the disadvantage that conventional naturally aspirated engines cannot be easily converted to E.F.I. Further, in factory equipped E.F.I, vehicles any subsequent modifications to the engine such as for example turbo charging or increase in the compression ratio, cannot be matched by the required alteration to the E.F.I. It is therefore an object of this invention to ameliorate the aforementioned disadvantages and accordingly a user accessible E.F.I, computer is disclosed which is modifiable to fit a range of engine configurations. Preferably an E.F.I, computer according to this invention is user accessible using an external personal computer. Such E.F.I, computer can thus be initially programmed and/or modified to produce any fuel delivery curve required by the user. Preferably an E.F.I, computer according to this invention is also adaptable to provide a "staged" fuel injection curve such as that required by forced induction engines. Preferably a computer according to this invention is also adapted to record or "data log" various engine parameters such as speed, fuel delivery etc. in a manner whereby it can be later read and analysed by the user. SUBSTITUTESHEET One preferred embodiment of this invention will now be described with reference to the attached representation in which: Figure 1 is a block diagram showing the main components of an E.F.I, computer and engine sensors. Figure 2 is a software flow chart of the E.F.I, computer of Figure 1. Figure 3 is a software flow chart of a personal computer used to program the E.F.I, computer of Figures 1 and 2. Figure 4 is an example of a fuel inspection bar chart as relating to a typical 4 cylinder automobile. There are three distinct parts to the programmeable fuel injection computer according to this invention. These are the hardware (Fig, 1) which remains in the car, the software (Fig. 2) which drives this hardware and the software (Fig. 3) which allows the system to be configured to suit a particular vehicle and which runs on an external personal computer. The software which directly controls the hardware has two parts. The main program 1 is a serial communication routine which services the external requests of a control program running on the personal computer. This communications program allows the system information and variables to be displayed and accessed by a user using the personal computer. The serial communication program acts as a slave to the program in the personal computer. If the engine being controlled is not running then the system continually runs the serial communication program. The second part of the software manages the engine. This software 2 is called as the result of an interrupt trigger 2A by ei her of r.wo engine position sensors. These trigger pulses interrupt the serial communication program and start the engine management program. The SUBSTITUTESH engine management program processes all of the engine related information and sets up output compare timers to correctly control both the fuel injectors and ignition timing. Once these functions have been carried out the program flow returns to the serial communication program until it is again interrupted. As well as these two main programs the in-car computer software has an optional routine 2B which controls an external key-pad. Its purpose is to act as a remote electronic key, for locking and unlocking the car computer. To unlock the system the operator must enter a four digit pin number before an interrupt mask on the engine position sensors will be removed and program control passed to the serial routine. The pin number entered by the operator is compared to an internal reference stored in EEPROM, giving a 1 in 10,000 chance of guessing the internal key. In addition to this the operator has the ability to create and delete an additional pin number as well as the prime pin number at will. This allows access to the vehicle by persons other than themselves without disclosing their prime pin number, and also allows them to change the prime pin number if necessary. To lock the system a single key is depressed when the engine is off and the ignition is in the accessories or on position. This causes an internal flag to be set in EEPROM and program control to be passed to key-pad routine. The fuel injection computer employs two separate MCU's 3 & 4 which operate as master and slave. The assembly language software written to control these devices can be treated as a single program. The use of two MCU's is only to provide the necessary hardware. When power is applied a reset pulse triggers the program to perform a setup routine which first initialises variables, registers and then copies a block of program code from EEPROM to RAM. This block of code is used to enable writing to the EEPROM. This routine then checks to see if the computer is in a locked or unlocked state; if it's locked then program control is passed to the lock/unlock routines where it will remain until it is successfully unlocked. Program control is then passed to the serial receive/transmit routines where it remains until it receives an external interrupt. It is SUBSTITUTESHEET these routines which allows 'on line' communications to take place with an external computer 4A running system software. This is done via a serial communications interface 5. Engine parameters, identification block of memory and the fuel map block of memory can all be passed to the external computer on its request. As well as this the external computer can write data to specific areas of memory - for example a change to a fuel map data element would occur whenever the system was running on line and a user was editing one of the fuel delivery maps displayed on the personal computer. When the engine is turning sensors relay position pulses to the external interrupts of the MCU. This in turn vectors the fuel/ignition program to commence running, which performs the following functions. (i) Calculates the number of E clock cycles per engine revolution. (ii) Indexes the ignition maps using engine RPM. (iii) Calculates an ignition timing correction with respect to engine load. (iv) Calculates and applies delay to produce an ignition pulse out. (v) Applies ignition divide by. (vi) Indexes base fuel with respect to RPM and pressure. (vii) Interpolates fuel value with respect to adjacent value in next RPM range. (viii) Calculates and applies air temperature correction. (ix) Indexes coolant map based on coolant value and apply correction. (x) Applies percentage correction from manual fuel trim. (xi) Applies final fuel value to the fuel injection routine. (xii) Returns from interrupt to serial routine. The controlling program (Fig. 3) runs in a personal computer serially connected to the in-car computer. It is designed to give the user access SUBSTITUTESHEET to system information and allow the user to alter variables which tailor the system to a particular engine's requirements. This program is essentially graphically driven so as to allow the user to see trends in successive variables and to allow the user to gain an overview of the information currently being applied to the engine. The three main objectives of this program are to graphically display the variables being applied to the engine, to give the user real time feedback as to which variable is being used at any instant and to allow the user to alter that variable whilst the engine is still running. The information relating to any two engine variables is stored as a look-up table (see table 1). Each of these tables is called a map. Each map is displayed graphically with a bar graph. This bar graph shows the user the relationship between the two variables. RANGE (1) 0 1000 RPM' RANGE (2) 1000 2000 RPM RANGE (3) 2000 3000 RPM ******** RANGE (4) 3000 4000 RPM Press Fl - F9 RANGE (5) 4000 5000 RPM to vi_w maps. RANGE (6) 5000 6000 RFM RANGE (7) 6000 7000 RPM RANGE (8) 7000 8000 RPM Press "L" to load CURRENT POSITION vehicle information WARM UP CHARACTERISTICS STORE VECHIC E INFORMATION TO DISK LOAD VECHICLE INFORMATION FROM DISK ********* M> SUB MENU All secondary functions in sub menu press ■ M' < ESC > : EXIT to s ys tem. TABLE 1 SUBSTITUTE SHEET The program's main menu preferably enables the selection of eight RPM indexed "Maps", two Ignition "Maps" and a warm-up cycle "Map". The main menu also allows for map handling functions to floppy disk storage. These functions include storing maps to disk, loading maps from disk, erasing of maps from disks and ID files. The RPM indexed maps are preferably spaced at intervals of 1000 RPM. Each map is used in that band of 1000 RPM. The RPM maps are graphical representations of engine load versus the injector opening time per engine cycle in milliseconds. The height of each bar in the graph sets the amount of fuel delivered at that load point. An example of such a map is shown in figure 4. The warm-up cycle map relates the increase in the amount of fuel delivered over the engine's entire operating range versus engine temperature. The height of each bar in this map gives the percentage of increased enrichment versus engine temperature. The first ignition timing map defines ignition timing against engine speed. The height of each bar in this map sets the ignition timing in degrees before top dead- centre for a given engine speed. The second ignition timing map defines a correction factor, to be applied to the ignition timing calculated from the first map, versus engine load. Each SUBSTITUTE SHEET bar in this map sets the correction to be applied for a given engine load. Feedback as to which bar is currently being used in the map currently being displayed is preferably given by an arrow 6 on the screen. The arrow points to the bar currently being accessed by the engine. This real time feedback allows the user to move to alter the bar currently being used. The bar 7 currently being adjusted by the user is outlined. A particular bar may be selected and the height changed causing instantaneous real-time change of the actual value within the in-car computer. The height of the bar is proportional to the fuel delivered. The sub-menu, accessed from either the main menu or whilst viewing maps allows manipulation of (a) Display characteristics such as the level of screen resolution (it is possible to double the number of bars in a given map), and the ability to set up all eight RPM maps by making them identical. (b) Access to a set-up program which leads the user through a series of questions to configure the basic system parameters. (c) Access -to a page of identification data (see Table 2 ) to allow users attempting to change an already configured system to see the system parameters already in use. This identification also includes relevant information about the make, model, registration, engine capacity, service history etc. as well as an hour meter which records the number of computer hours clocked up from new. This information is not directly used by the engine management program. It is present for the benefit of service personnel. (d) Access to transient response variables used when the throttle position is increased are made via a single screen display of two bars. This allows control of the amount and duration of supplementary fuel added to overcome any lean-out during throttle changes. (e) The system preferably has a datalog function which allows all of the engine's operating parameters to be recorded up to 20 times a SUBSTITUTESHEET second for later recall and examination. The data recorded preferably includes engine speed, manifold pressure, engine temperature, ' intake air temperature, throttle position, mixture trim position, air fuel ratio from exhaust gas feedback, exhaust gas temperature, barometric pressure, current RPM range and the bar currently in use in that 'Map' as well as the real time the sample was taken. The datalog can be scrolled through or a statistical analysis of the total information can be displayed. This analysis gives the maximum, minimum and average of each piece of data. The system allows for an auto disk save function which allows the block of recorded data to be dumped to floppy disk drive storage, once the memory available is full, for later retrieval. This function continues until the disk space available is used up. There are also functions which allow for datalogs to be stored and retrieved from floppy disk storage. (f) The program can be set to operate off-line to allow the maps and ID to be altered without the system being connected to an In-Car computer. (g) The engine variables can be brought up on a screen for display. If any engine variable is outside a predetermined bandwidth the screen is preferably highlighted to show a possible fault. This aids service inspections of the system. (h) Preferably there is a help menu which shows the user which keys select which function. As mentioned earlier the in-car computer hardware consists of a dual microprocessor based data acquisition and control circuit designed to monitor the operating parameters of an engine and control actuators which supply the engine's fuel and ignition requirements. To this end there are a number of input circuits 8 which feed the microprocessors information relating to current engine parameters. These currently include inlet manifold pressure, ambient air temperature, inlet air temperature, engine coolant temperature, exhaust gas temperature, exhaust gas oxygen content, throttle position and engine speed and position. SUBSTITUTESHEE VERSION FU2-088 OWNER INVENT ENG. VECHICLE MAKE HOLDEN MODEL GEMINI REGO HAL001 ENGINE CYLINDERS 4 ' PULSES 1 SIZE 2 Lt RPM LIMIT 8000 PROGRAMMED DATE 17JUM88 BY E.F. I. TECH. NOTE MODIFIED * CHANGE ? <Y> * EXIT : <Esc> TABLE 2 SUBSTITUTE SHEET -8 - The circuitry involved for each input is of a conventional nature for the type of parameter measured. For each analogue parameter an analogue signal, proportional to the parameter measure is derived. The microprocessor chosen has on chip analogue to digital converters which allow the parameters to be used by the microprocessor. The microprocessors 3 and 4 chosen are configured in a master/slave configuration. Conceptually the Master/Slave set-up means the slave processor 4 is used only to extend the capabilities of the master processor 3 and not as a processor in its own right. The major parameters are fed to, and processed by, one microprocessor which then directs the actions of a slave processor. Each microprocessor controls four fuel injector solenoid drivers 9 for the control of conventional -petrol fuel injectors. The rate of fuel delivery is determined by the injector opening time per engine cycle. The injectors are timed to open once per engine cycle in time with the opening of the inlet valve. The opening time of the injector is managed by four output compare timers within each microprocessor. Once the required opening time is calculated by the microprocessor software the calculated opening time is sequentially fed to each output compare timer to actuate the fuel injector solenoid for the required time. The injector driver circuits are single chip solenoid drivers designed specifically for the control of fuel injectors. The circuits used with these drivers are of a conventional nature. The circuits shown here are directly driven from the outputs of the microprocessors. These circuits give saturation current to ensure fast solenoid opening followed by a holding current of approximately one fourth the saturation current for the remainder of the opening cycle. The ignition timing is controlled by a fifth output 10 compare timer on the slave microprocessor. Both microprocessors receive two timing signals at fixed points in the engine's cycle. These are a main timing pulse, a fixed number of engine degrees of rotation before each piston reaches top dead centre and a cylinder.one timing pulse when cylinder one reaches top dead centre. The ignition timing is determined by starting a calculated delay past the receipt of a main trigger pulse. SUBSTITUTESHEET The drive to trigger the external ignition amplifier is opto coupled from the output compare timer on the slave microprocessor. The rising edge of the output compare is used to trigger the ignition amplifier. The two temperature sensor circuits are used to measure the inlet air temperature and the engine coolant temperature. Each of the temperature sensors is a temperature dependant zener diode in a brass body designed to mount into either the air or coolant stream. The current through the zener is set by a resistor network. The 'voltage across the zener is proportional to the temperature of the sensor. This voltage is then fed directly to the Master microprocessor Analogue to Digital Input. The programming interface 5 to the personal computer is via an RS 232C standard serial interface. This interface is made through a single chip driver. The cable from the personal computer to the in-car computer uses three wires. These are serial transmit, serial receive and ground. The pressure sensor elements are solid state devices. Differential amplifiers are used to amplify the signal from the elements to a level suitable for the Microprocessor Analogue to Digital converters. The differential pressure sensor element is used to measure the pressure inside the inlet manifold with respect to atmospheric pressure. The Absolute pressure sensor is used to measure the ambient atmospheric pressure with respect to an internal vacuum in the sensor element. This allows full load to always index the same bar in the look up tables even with varying ambient pressures. The effects of varying ambient pressures are compensated for by a separate compensation program using the absolute pressure sensor. The main trigger pulse is referenced to occur a fixed number of engine degrees of rotation before each piston reaches top dead centre. This signal is squared and trimmed before being used to trigger both microprocessors and the frequency to voltage converter. The frequency to voltage converter is used to derive a voltage proportional to engine speed. This voltage is fed to an Analog to Digital converter on the master microprocessor. This is the main engine speed reference for the system. SUBSTITUTESHEET - 1 0 - The main trigger pulse is also used to trigger a retriggerable monostable. The output of the monostable is continuously on if the trigger pulses occur more than 50 times per minute. The output from the monostable is used to drive a relay which switches an external relay which switches the car's high pressure fuel pumps on. The exhaust temperature sensor and the exhaust oxygen sensor probe ' are fed to suitable amplifiers before passing to a hardware switch. The system is preferably configured to run on only one of these sensors at any one time. This is purely a current hardware constraint due to the number of available A/D converters on the master microprocessor and is not essential to the invention. It is also envisaged that this system would be suitable for use with high pressure in-cylinder fuel injection systems, compression ignition or ignition type internal combustion engines. The basic principles already incorporated in the system can be used to provide a signal to control an electronic pressure regulator to vary the pressure of a high pressure system. The data log function may also be extended to provide telemetry of the data. It will thus be appreciated that this invention at least in the form of the embodiment described provides a novel and unique improvement in fuel injection computers for internal combustion engines, clearly however the particular example disclosed is only the currently preferred form of this invention and a wide variety of modifications may be made which would be apparent to a man skilled in the art. For example a computer according to this invention may also be adapted to control other engine paramerers such as valve timimg, transmission shift or suspension adjustment Further the invention is not limited to the partucular installation described but can extend to other industrial applications. SUBSTITUTESHEE

Claims: The claims defining the invention are as follows: 1. An E.F.I, computer for an internal combustion engine which is modifiable while installed in and during operation of said engine toproduce a range of fuel delivery curves and/or ignition timing curves to fit said engine, said E.F.I, computer being user accessible through a serially connected external computer means. 2. The E.F.I, computer as claimed in claim 1 wherein said computer comprises software having a main serial communication program adapted to provide information on selected engine parametersto the user at the request of a control program on said external computer means, and an engine management program. 3. The E.F.I, computer as claimed in claim 2 wherein said engine management program is adapted to set up output compare timers to control engine fuel injectors and/or ignition timing. 4. The E.F.I, computer as claimed in claim 2 wherein said engine management program operates during the periodic interruption of the serial communication program by a signal from one or more engine sensors. 5. The E.F.I, computer as claimed in claim 2 wherein said information on engine parameters includes fuel delivery maps which show programmed fuel delivery at spaced intervals of R.P.M. 6. The E.F.I, computer as claimed in claim 4 wherein said information SUBSTITUTESHEET on engine parameters further includes ignition timing maps which present ignition timing against engine speed. 7. The E.F.I, computer as claimed in claim 5 or 6 wherein said maps are in the form of bar graphs. 8. An E.F.I, computer for an internal combustion engine which is modifiable while installed in and during operation of the engine, said computer being substantially as described herein with reference to the drawings. SUBSTITUTESHEET

Inventors: MITCHELL STEVEN JAMES, MTCHELL WILLIAM RICHARD, MITCHELL, STEVEN, JAMES, MTCHELL, WILLIAM, RICHARD
Applicants: INVENT ENG PTY LTD, INVENT ENGINEERING PTY. LTD.
Application year: 1988
Main classification: F02D41
IPC codes: F02D41, F02D45, F02P5, G05B19