CA1307846C - User modifiable fuel injection computer - Google Patents
User modifiable fuel injection computerInfo
- Publication number
- CA1307846C CA1307846C CA 594912 CA594912A CA1307846C CA 1307846 C CA1307846 C CA 1307846C CA 594912 CA594912 CA 594912 CA 594912 A CA594912 A CA 594912A CA 1307846 C CA1307846 C CA 1307846C
- Authority
- CA
- Canada
- Prior art keywords
- engine
- computer
- program
- ignition timing
- fuel
- 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.)
- Expired - Lifetime
Links
Classifications
-
- Y02T10/46—
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
Abstract
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.
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
~ 1- 1 307846 USER MODIFIABLE FUEL INJECTION COMPUTER
This invention relates to improvements in electronic fuel in~jection compu~ers.
Motor vehicles are now commonly manufactured with electronic fuel injeclion (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 res~rictive 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 ~.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 'Idata log" various engine parameters such as speed, fuel delivery etc. in a manner whereby it can be later read and analysed by the user.
'`" ~ 307~346 - la - ~.
In accordance with a particular embodiment of the inven-tion there is provided an E.F.I.
computer for an internal combustion engine which is modifiable while installed in and during operation s of said engine to produce 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 and said E.F.I. compu-ter comprising software having a main serial communication program adapted to provide in~ormation on selected engine parameters to the user at the request of a control program on said external computer means, and an engine management system.
' 2. 1 307846 One preferred embodiment of this invention will now be described with reference to the attached representation in which:
Figure 1 i9 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 softwa~e 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 ~ypical 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 o~ 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 ~hen 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 either of two engine position sensors. These trigger pulses interrupt the serial communication program and start the engine management program. The ~: : ' : ~ :
~ 3- 1 307846 engine management program processes all of the engine related in~ormation and sets up outp~lt compare timers to correctly control both the fuel in~jectors and ignition timing. Once these fllnctions 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 op~lonal ro~ltine 2s which controls an ex~ernal 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 hy the operator is compared to an internal reference stored in EEPROM, giving a 1 in 10,000 chance o~ 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 ro~ltine.
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 .
~ 4- I 3078~6 these routines which allows 'on line' communications to take place with an external computer 4~ 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) lndexes the ignition maps using eng~ne 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 ~rom manual fuel trim.
(xi) Applies final fuel value to the fuel injection ` routine.
(Xli) Returns from interrupt to serial routine, The controlling program (Fig. 3) runs in a personal computer serially ~ ~ connected ~o the in-car computer. It is designed to give the user access :: ::
1 3078~6 to sys~em information and allow the user to alter variables which tailor the system to a particular engine'~ requirements. This program ls 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 ro which variable is being used at any instant and to allow the user to al~er thaL 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. Ea~h map is displayed graphically w~th a bar graph. This bar graph shows the user the relationship between the two variables.
:
cFl> : RANGE (1) 0 - 1000 RPM
< F2 > : RANGE (2 ) 1000 - 2000 RPM
<F3> : RANGE ~3) 2000 - 3000 RPM ~***~*~
~ ~4 > : ~ANGE (4) 3000 - 4000 RPM Pres~ F9 <F5~ : RANGE (5) 4000 - 5000 RPM to viewmap~.
<F6> : RANGE (6) 5000 - 6000 RPM
< F7 > : RANGE (7 ~ 6000 ~ 7000 RPM
~F8~ : R`ANGE (8~ 7000 80VO RPM
Press "L" to load E`9> : ~CURRENT ~QSITION vehicle information.
F10>: WARII UP CHA~ACTE~ISTICS
~S~ STO~E ~E(~HI(~LE INFORMATION TO r)ISK
<L> : LOAD VECHICLE INFORMATIO~ FR()M DISK
,~ *~**~r11r*
~M> : SU~ MENU All secondary functions in sub n,en~ press 'M' ; ~ <ESC> : EXIT to system.
: ::
:
~ ~ ~ TABLE 1 :::
: ~ :
: : :
' ' .
The program's main menu preferably enables the selection of eight ~PM 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 s~oring 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 ls used in -thar 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 opera-ting range versus engine temperature. The height of each bar in this map gives the percentage of increased enrichment versus engine temperature.
The firs-~ ignition timing map defines ignltion 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 , ~
: /
/
~: ~ /
:: /
:
~ /
: /
:: /
6. 1 307846 bar in this map sets the correction to be applied for a given engine load.
Feedbaclc as to which bar is currently being used in the map currently being displayed i~s 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 al~lows 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 Eunction which allows all of the engine's operating parameters to be recorded up to 20 times a ~: : .
_~ 7- 1 307846 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 ~rom exhaust gas feedback, exhaus-~ gas temperature, barometric pressure, c~lrrent 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.
'I'his analysis gi~es 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 engineis fuel and ignition requirements. To this end there are~a number of input circuits 8 which feed the microprocessors information relating ~o 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.
:~
~::
:: ~ :: : :~
~ .
VERS IQN F[)2- 0~
OWNER INVENT ENG.
ECH ICLE
MAKE HOLDEN
MODEL, GEM I N I
ENG INE
_____~
Pt1LSES
S IZE ~ Lt P~.OGRAM~.ED
~ _ _ _ _ ~ _ _ _ _ DATh ~7JUN88 Bï E:. F. I. TEG~I.
NOT E : ~Or~I~IED * CHANGE ? < Y> ~ EXIT : < Esc>
:; ~ :
.
' ``" 1 307~46 The circuitry involved for each input is of a conventional nature for the type of parameter measured. For each analogue para~neter an analogue signal, proportional to ~he 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 arld 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 ancl 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 conven-tional 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 englne 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 satura~ion 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 o a main trigger pulse.
9.
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 OUtpllt 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. I'his 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 enginespeed. This voltage is fed to an Analog to Digital converter on the master microprocessor. This is the main engine speed reference for the system.
~: :: .
~: .
: : :
lO. 1 307846 'I'he 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 eng:ines. 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 in~ection computers for internal combustion engines. clearly however the particular ~xample disclosed is only the currently preferred form of this invention and a wide variety of modifications may be made which would ~e apparent to a man skilled in the art. For example a computer according to this invention may also be adapted to control other engine parameters such as valve timimg, transmission shlft or suspension adjustment.
Further the invention is not limited to the partucular installation described but can extend to other industrial applications.
:: , ~
:; :
:
This invention relates to improvements in electronic fuel in~jection compu~ers.
Motor vehicles are now commonly manufactured with electronic fuel injeclion (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 res~rictive 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 ~.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 'Idata log" various engine parameters such as speed, fuel delivery etc. in a manner whereby it can be later read and analysed by the user.
'`" ~ 307~346 - la - ~.
In accordance with a particular embodiment of the inven-tion there is provided an E.F.I.
computer for an internal combustion engine which is modifiable while installed in and during operation s of said engine to produce 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 and said E.F.I. compu-ter comprising software having a main serial communication program adapted to provide in~ormation on selected engine parameters to the user at the request of a control program on said external computer means, and an engine management system.
' 2. 1 307846 One preferred embodiment of this invention will now be described with reference to the attached representation in which:
Figure 1 i9 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 softwa~e 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 ~ypical 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 o~ 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 ~hen 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 either of two engine position sensors. These trigger pulses interrupt the serial communication program and start the engine management program. The ~: : ' : ~ :
~ 3- 1 307846 engine management program processes all of the engine related in~ormation and sets up outp~lt compare timers to correctly control both the fuel in~jectors and ignition timing. Once these fllnctions 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 op~lonal ro~ltine 2s which controls an ex~ernal 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 hy the operator is compared to an internal reference stored in EEPROM, giving a 1 in 10,000 chance o~ 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 ro~ltine.
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 .
~ 4- I 3078~6 these routines which allows 'on line' communications to take place with an external computer 4~ 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) lndexes the ignition maps using eng~ne 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 ~rom manual fuel trim.
(xi) Applies final fuel value to the fuel injection ` routine.
(Xli) Returns from interrupt to serial routine, The controlling program (Fig. 3) runs in a personal computer serially ~ ~ connected ~o the in-car computer. It is designed to give the user access :: ::
1 3078~6 to sys~em information and allow the user to alter variables which tailor the system to a particular engine'~ requirements. This program ls 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 ro which variable is being used at any instant and to allow the user to al~er thaL 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. Ea~h map is displayed graphically w~th a bar graph. This bar graph shows the user the relationship between the two variables.
:
cFl> : RANGE (1) 0 - 1000 RPM
< F2 > : RANGE (2 ) 1000 - 2000 RPM
<F3> : RANGE ~3) 2000 - 3000 RPM ~***~*~
~ ~4 > : ~ANGE (4) 3000 - 4000 RPM Pres~ F9 <F5~ : RANGE (5) 4000 - 5000 RPM to viewmap~.
<F6> : RANGE (6) 5000 - 6000 RPM
< F7 > : RANGE (7 ~ 6000 ~ 7000 RPM
~F8~ : R`ANGE (8~ 7000 80VO RPM
Press "L" to load E`9> : ~CURRENT ~QSITION vehicle information.
F10>: WARII UP CHA~ACTE~ISTICS
~S~ STO~E ~E(~HI(~LE INFORMATION TO r)ISK
<L> : LOAD VECHICLE INFORMATIO~ FR()M DISK
,~ *~**~r11r*
~M> : SU~ MENU All secondary functions in sub n,en~ press 'M' ; ~ <ESC> : EXIT to system.
: ::
:
~ ~ ~ TABLE 1 :::
: ~ :
: : :
' ' .
The program's main menu preferably enables the selection of eight ~PM 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 s~oring 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 ls used in -thar 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 opera-ting range versus engine temperature. The height of each bar in this map gives the percentage of increased enrichment versus engine temperature.
The firs-~ ignition timing map defines ignltion 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 , ~
: /
/
~: ~ /
:: /
:
~ /
: /
:: /
6. 1 307846 bar in this map sets the correction to be applied for a given engine load.
Feedbaclc as to which bar is currently being used in the map currently being displayed i~s 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 al~lows 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 Eunction which allows all of the engine's operating parameters to be recorded up to 20 times a ~: : .
_~ 7- 1 307846 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 ~rom exhaust gas feedback, exhaus-~ gas temperature, barometric pressure, c~lrrent 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.
'I'his analysis gi~es 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 engineis fuel and ignition requirements. To this end there are~a number of input circuits 8 which feed the microprocessors information relating ~o 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.
:~
~::
:: ~ :: : :~
~ .
VERS IQN F[)2- 0~
OWNER INVENT ENG.
ECH ICLE
MAKE HOLDEN
MODEL, GEM I N I
ENG INE
_____~
Pt1LSES
S IZE ~ Lt P~.OGRAM~.ED
~ _ _ _ _ ~ _ _ _ _ DATh ~7JUN88 Bï E:. F. I. TEG~I.
NOT E : ~Or~I~IED * CHANGE ? < Y> ~ EXIT : < Esc>
:; ~ :
.
' ``" 1 307~46 The circuitry involved for each input is of a conventional nature for the type of parameter measured. For each analogue para~neter an analogue signal, proportional to ~he 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 arld 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 ancl 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 conven-tional 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 englne 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 satura~ion 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 o a main trigger pulse.
9.
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 OUtpllt 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. I'his 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 enginespeed. This voltage is fed to an Analog to Digital converter on the master microprocessor. This is the main engine speed reference for the system.
~: :: .
~: .
: : :
lO. 1 307846 'I'he 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 eng:ines. 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 in~ection computers for internal combustion engines. clearly however the particular ~xample disclosed is only the currently preferred form of this invention and a wide variety of modifications may be made which would ~e apparent to a man skilled in the art. For example a computer according to this invention may also be adapted to control other engine parameters such as valve timimg, transmission shlft or suspension adjustment.
Further the invention is not limited to the partucular installation described but can extend to other industrial applications.
:: , ~
:; :
:
Claims (6)
1. An E.F.I. computer for an internal com-bustion engine which is modifiable while installed in and during operation of said engine to produce 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 and said E.F.I. computer comprising software having a main serial communi-cation program adapted to provide information on selected engine parameters to the user at the request of a control program on said external computer means, and an engine management system.
2. The E.F.I. computer as claimed in claim 1 wherein said engine management program is adapted to set up output compare timers to control engine fuel injectors and/or ignition timing.
3. The E.F.I. computer as claimed in claim 1 wherein said engine management program operates during the periodic interruption of the serial communication program by a signal from one or more engine sensors.
4. The E.F.I. computer as claimed in claim 1 wherein said information on engine parameters includes fuel delivery maps which show programmed fuel delivery at spaced intervals of R.P.M.
5. The E.F.I. computer as claimed in claim 3 wherein said information on engine parameters further includes ignition timing maps which present ignition timing against engine speed.
6. The E.F.I. computer as claimed in any one of claims 4 or 5 wherein said maps are in the form of bar graphs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 594912 CA1307846C (en) | 1989-03-28 | 1989-03-28 | User modifiable fuel injection computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA 594912 CA1307846C (en) | 1989-03-28 | 1989-03-28 | User modifiable fuel injection computer |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1307846C true CA1307846C (en) | 1992-09-22 |
Family
ID=4139809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA 594912 Expired - Lifetime CA1307846C (en) | 1989-03-28 | 1989-03-28 | User modifiable fuel injection computer |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA1307846C (en) |
-
1989
- 1989-03-28 CA CA 594912 patent/CA1307846C/en not_active Expired - Lifetime
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5056026A (en) | User modifiable fuel injection computer | |
EP1546532B1 (en) | Methods and apparatus for operation of multiple fuel engines | |
US6999869B1 (en) | Programmable internal combustion engine controller | |
US4408588A (en) | Apparatus for supplementary fuel metering in an internal combustion engine | |
CA2186024A1 (en) | Control System for an Internal Combustion Engine Using Either Gasoline or Methane or LPG as a Fuel | |
EP0065221B1 (en) | Internal combustion engine control apparatus | |
US6269300B1 (en) | Method for producing production control software for a natural gas or diesel engine controller | |
CA2172290A1 (en) | System, Method and Electronic Control Unit for Metering the Fuel Supply to a Combustion Installation Operating on More Than One Type of Fuel | |
CN101321941A (en) | Emissions sensors for fuel control in engines | |
US6721648B2 (en) | Method and apparatus for controlling a motorcycle engine | |
GB2038041A (en) | Idling revolution control device for an internal combustion engine | |
US6368248B1 (en) | Method and device for controlling a drive unit of a vehicle | |
GB2061379A (en) | I c engine fuel injection timing control system | |
CA1307846C (en) | User modifiable fuel injection computer | |
US4271797A (en) | Internal combustion engine control system | |
GB1580730A (en) | Control of fuel injection system during warm-up | |
JPH02502660A (en) | Electronic fuel injection circuit with altitude compensation device | |
Grimm et al. | GM Micro-Computer Engine Control System | |
US3683869A (en) | Fuel injection control system for internal combustion engines | |
GB1579101A (en) | Internal combustion engine | |
US20150027406A1 (en) | Adjustable fuel trim module for diesel engine | |
JPH0117823Y2 (en) | ||
JPS6213504B2 (en) | ||
GB2049996A (en) | Automatic control of fuel supply in i.c. engines | |
Kaiser et al. | Closed loop control at engine management system MOTRONIC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKLA | Lapsed |