This application provides an up to date engine management system for older
gasoline powered automobile engines, and is also applicable to custom made
engines.
Background
Today a typical production Automobile engine management system provides
sequential fuel injection, only supplying fuel during the intake stroke of each
cylinder. It is also common for the ignition to be controlled by the EMS,
providing variable spark timing without mechanical parts to wear or break. The
modern system allows for superior efficiency (fuel mileage), reduced exhaust
emissions, and increased reliability over old “20th Century” technologies. Other
benefits, such as a reduced power operating or shutdown mode to prevent
catastrophic overheating in the event of cooling system failure are typical in
current systems. Finally, the modern engine management system includes an “On
Board Diagnostic” (OBD) capability to alert the driver of the smallest operating
abnormalities or sensor malfunctions, often well before any adverse consequences
take place.
The Inspiration
I have an old 1983 Nissan pickup truck. The stock set-up is an electronically
controlled carburetor (ECC) system, with an analog control unit that monitors
engine speed, coolant temperature, a zero throttle switch, an intake manifold
vacuum switch and exhaust oxygen sensor. The system controls the air/fuel
mixture by way of a fuel metering solenoid valve inside the carburetor. It also
has a fuel shutoff solenoid that is engaged during deceleration and on shutdown.
The ignition system is independent of the control system using a vacuum advanced
magnetic distributor, standard for the time. In general the system is simple and
straightforward except for the carburetor mechanicals. There was no OBD (On
Board Diagnostics) mandate at the time. One other manufacturer’s products had an
early version of OBD, but the Nissan ECC system just had a single LED that
flashes as the oxygen sensor oscillates from rich to lean as an indication that
it is working.
So what is the purpose of having this closed loop air/fuel mixture control
anyway? This vehicle (like most cars and light trucks sold in the US since the
mid 1980s), is equipped with a 3-way catalytic converter on the exhaust system
that relies on an oscillating mixture held close to stochiometric (14.7:1) at a
frequency at 0.5Hz - 2Hz to function at peak conversion efficiency. When the
catalytic converter is functioning at it's peak, harmful exhaust emissions
(pollutants) are reduced to a minimum.
While the Electronically Controlled Carburetor system makes a valiant effort, a
carburetor has limitations (it is dependent on vacuum for fuel delivery) and
undesirable characteristics (such as icing) that are simply not present in a
fuel injection system. The carburetor also requires more frequent maintenance.
It develops dirty fuel deposits, and eventually leaks, requiring cleaning,
rebuilding, or replacement. An engine with a single carburetor receives an
atomized air/fuel mixture at the carburetor venturi (typically upstream of the
throttle butterfly valve) in a continuous flow. While early fuel injection
systems were also of a continuous delivery style, they still had a few
advantages over the carburetor. The fuel injection rate is independent of the
intake manifold or ported (at the throttle butterfly) vacuum, there is no
carburetor icing, and events requiring excursions in fuel delivery such as
acceleration and starting are handled more simply, not requiring temperamental
mechanical devices such as the accelerator pump and choke required by a
carburetor. It should come as no surprise that since 1995 there have been no
carbureted engine production vehicles sold in the United States in the
Automobile and Light Truck categories.
The Solution
By now you may have realized that the focus of this project is to create a
modern engine management system that can be applied to older automobile engines
that were originally equipped with carburetors.
For those too young to have ever seen a carburetor or only hear about them in
folklore: http://en.wikipedia.org/wiki/Carburetor is a good place to learn more
about carbs.
Yes, the plan is to create a modern Engine Management System using the PIC32
MCU. The initial test bed will be my 1983 4wd Nissan pickup. It has a 2.4 liter
4 cylinder engine. In the stock configuration, it gets 19/22.5 MPG city/highway
in 2wd mode and about 15.5/18 in 4wd HI. As for economy in 4wd LO, I don’t think
anybody has ever bothered to ask. Top speed in 4wd LO is 35MPH so the better
advice there is never get more than half a tank from the nearest gas station (or
outpost with cans, drums, etc…). I hope to improve on the fuel economy a bit
(I'd like to see the average go up to 23mpg or better from the current 20mpg),
but more importantly give the truck improved reliability and power, lower
exhaust emissions and above all, reduce maintenance needs. Also it will be extra
cool to have the superior monitoring capabilities. This system will be easily
adapted to a wide variety of other engines and vehicles also.
The System
1. Of course, at the heart of the prototype system is the PIC32 starter kit
development board.
2. System inputs may be of several signal types including linear analog,
nonlinear analog frequency, or Boolean digital. Signal conditioning external to
the MCU where required, will be minimized to take full advantage of the PIC32 on
board peripheral capabilities. A preliminary list of system inputs includes…
a. Battery voltage. Direct linear analog signal. High impedance, transient
protected divider direct to MCU Analog Input.
b. Throttle position. Direct linear analog signal. High impedance, transient
protected divider direct to MCU Analog Input.
c. Mass airflow. Signal conditioned nonlinear analog signal.
d. Intake Manifold Vacuum/Pressure. Signal conditioned nonlinear analog signal.
e. Engine Coolant Temperature. Signal conditioned nonlinear analog signal.
f. Exhaust Oxygen Sensor. Signal conditioned nonlinear analog signal.
g. Fuel pressure Sensor (optional). Signal conditioned nonlinear analog signal.
h. Engine speed. Optically isolated frequency (frequency via hall sensor/magnet
on crankshaft).
i. Camshaft position. Signal conditioned optically isolated frequency (via
ignition distributor position).
j. Clutch Position Switch. Optically isolated digital signal direct to MCU
Digital Input.
k. Ignition “RUN” Switch. Optically isolated digital signal direct to MCU
Digital Input.
l. Ignition ”START” Switch. Optically isolated digital signal direct to MCU
Digital Input.
m. Oil Pressure Switch. Optically isolated digital signal direct to MCU Digital
Input.
n. Zero Throttle Switch. Optically isolated digital signal direct to MCU Digital
Input.
o. Full Throttle Switch. Optically isolated digital signal direct to MCU Digital
Input.
3. Primary System Outputs. The primary system outputs are fuel injector control
signals, ignition pulse signals, fuel pump control, and possibly other outputs
that are yet to be determined.
a. Fuel injector control signals. The system design will feature a scalable
configuration with the prototype having four injectors. This design will be made
with the provision for scalability from 1 to 24 or more fuel injectors. One (or
two injectors working in unison) may be preferred in a single throttle body
injector application, while 24 will accommodate two injectors per cylinder on a
12 cylinder engine. The injector pulse common frequency and duration will be
provided by the MCU PWM peripheral, while injector sequencing will be controlled
by auxiliary gate logic driven by MCU digital outputs. The injectors are driven
by the resultant sequenced injector pulse through purpose specific automotive
fuel injector driver ICs.
b. Ignition Pulse Signals. Similar to the injector control, the ignition pulse
signals will be implemented in a scalable configuration to accommodate a variety
of engines, with various numbers of cylinders. For the prototype, this feature
will require 4 ignition pulse output signals if the more recent 3 valve/1 spark
plug per cylinder ‘”KA” cylinder head is installed, or 8 ignition pulse signals
if the older 2 valve/2 spark plug per cylinder “NAPS-Z” cylinder head is chosen.
c. Fuel Pump Control. The fuel pump control signal is a signal conditioned
digital output which determines when the fuel pump is allowed to run or be
stopped based on operating and safety conditions.
4. Optional System Outputs. A number of optional system outputs can also be
configured. For example: In the case the engine is turbocharged, a wastegate
control solenoid can be implemented to provide a variable boost pressure level.
5. Annunciator Outputs. Several discrete annunciator outputs will be implemented
to provide the standard “Idiot Lights” for excessive coolant temperature, low
oil pressure and low battery/alternator voltage. An additional array of
configurable annunciator outputs will be provided for engine management system
specific functions and future expansion.
6. Diagnostic Data Link Output. The prototype and production versions will
provide access to diagnostic and configuration information via an RS-232 serial
port implemented on one of the PIC32 on board UARTs. In the production version
an SAE J1962 OBDII compliant port will be implemented on the second PIC32 on
board UART to provide access to standard diagnostic information.
Why (What is the need for this design)?
There are already several “aftermarket” choices available for a Fuel Injection
System controller. These existing products are generally designed for high
performance and high fuel flow racing and “Hot Rod” applications. Since these
products are typically not intended for adapting older “Street Legal” vehicles
they may not have the appropriate feature set. Some do not have the needed
provisions for modern emissions control or on board diagnostics. They also tend
to be quite expensive.
The new PIC32 based “Engine Management System” is more than an aftermarket fuel
injection controller. It incorporates the full complement of modern engine
management with ignition system control, fuel delivery system control, and
industry standard onboard diagnostics. It will be low cost and configurable to a
wide variety of engines. For example: It can be set up to operate a single
injector for a small utility engine or throttle body injector system, up to as
many as say, 24 injectors (two per cylinder on a 12 cylinder engine) or more.
Plus, at the heart of this new system is the PIC32 MCU!