Microprocessor control of ignition advanceangle To increase the performance of an internal combustion engine, more accurate control of ignition timing is necessary. S Bhot and R Quayle have developed an open-loop system which provides close control over ignition angle and hence optimizes performance The ignition control requirements o f an internal combustion petrol engine are reviewed and the benefits of accurate ignition control are discussed. A design for a microprocessorbased open-loop ignition controller is described and the experimental results obtained with this controller presented. Various means o f achieving further improvements are suggested, including a closed-loop controller for optimum ignition timing under aH conditions of engine wear. This strategy uses peak cylinder pressure angle as the feedback signal on which the adaptive control is based.
microsystems automotive ignitioncontrol It is well established that to achieve increased performance from an internal combustion engine more accurate control of both the ignition timing and air:fuel ratio is required. Improved control of these parameters results in better fuel economy and cleaner exhaust emission. A microprocessorbased ignition controller has been developed to evaluate the improvements that can be gained from closer control of the ignition timing. Suggestions for further improvements have been made from the experience gained from this controller. The ignition controller uses an Intel 8080A-based singleboard microcomputer. This controller is attached to a Ford Escort 1100cc four-cylinder engine which has been used for all of the experiments carried out. Additional engine test bed instrumentation incorporated includes a Heenan and Froude water dynamometer which provides a brake load for the engine and from which the power output from the engine may be determined. A viscous air flow meter for induction air measurement, a calibrated pipette for petrol measurement and a mercury manometer for the inlet manifold vacuum have also been used.
IGNITION TIMING REQUIREMENTS The combustion process of an internal combustion petrol engine is initiated by a spark issued by the ignition controller. The timing of this spark is a critical parameter and has to be varied to suit the engine's operating conditions. To achieve maximum work from the air-fuel charge induced in the cylinder this charge has to be ignited during the compression stroke such that the cylinder pressure generated by the combustion reaches a maximum when the piston is at a few degrees after top dead centre. The piston position at which the peak pressure should occur remains virtually constant for a particular engine design, regardless of the engine's operating conditions. The time required for a given fuel-air charge to burn Electrical Engineering Laboratories,Universityof Manchester, Manchester, Greater ManchesterM13 9PL, UK
vol 6 no 7 september 1982
depends to varying degrees on many factors - the most important of which are detailed below.
Turbulence of burning charge As engine speed increases, the tendency is for turbulence to increase thus increasing the burn rate (speed of propagation of the flame front) through the charge. This tends to counter the theoretical requirement (assuming no turbulence) of ever-increasing advance with speed and gives rise to the characteristic 'flat topped' advance curve versus speed. Generally speaking, the more turbulent the charge, the less advance is required by the engine.
Density of charge In simple terms, a dense charge will burn quicker than a less dense one. At wide open throttle (full load), the density of the charge in the cylinder at the end of the intake stroke (assuming 100 per cent volumetric efficiency) will equal the ambient intake air density. Under part throttle operation, the restriction of the throttle plate effectively reduces the volumetric efficiency of the engine such that a lesser charge is induced. Hence the charge density at the end of the intake stroke is reduced compared to the full load wide open throttle condition. This less dense charge requires a longer burn time and hence increased ignition advance. The intake manifold depression is an indication of the prevailing charge density hence its use as a load indicator. -
Air:fuel ratio Although air:fuel ratio does influence the burn time of the charge, the extent of this influence is small compared to the density influence given above. Thus although air:fuel ratio is varied from full load to part load in the interests of economy, this is not the prime cause of increased burn time. The air:fuel ratio is normally varied to suit the engine load, a weaker mixture being supplied to the engine under part throttle conditions in the interest of economy while a rich mixture is supplied at full throttle in order to achieve maximum power output. An automatic ignition controller is therefore required to sense both the changes in engine speed and engine load.
CONVENTIONAL
IGNITION CONTROLLERS
Conventionally, variation of ignition timing is achieved by a mechanical and pneumatic control. Each time a spark plug is to be fired, a cam attached to the distributor shaft opens a contact breaker. Ignition advance for increasing engine speed is provided by centrifugal weights in the distributor
0141-9331[82/070355-05 $03.00 © 1982 Butterworth & Co (Publishers) Ltd
355
which advance the distributor cam relative to the crankshaft thereby advancing the ignition timing. This action is further augmented by a vacuum mechanism to provide the additional advance required under part throttle conditions. The inlet manifold depression is used to provide an indication of the engine load. The vacuum in the inlet manifold moves a diaphragm which in turn rotates the contact breaker carrier relative to the distributor cam through ~C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
mechanical linkages. An approximation to the required ignition advance angle characteristics is obtained with [hc use of springs of differing stiffness. The characteristic curve~ obtained on the experimental engine with its conventional distributor can be seen in Figures 1 and 2. This type oi controller usually lacks in accuracy and additional errors are introduced due to deterioration of the contact breaker mechanism with use. Frequent maintenance and adjustment is required to minimize errors.
MICROPROCESSOR-BASED IGNITION CONTROLLER "o *~
tO
20i
o~ D (3
lO
c
I
g g I
ol
l
0
J__
1000
i L
2000 Engine
l--
3000 speed
4000
5000
(RPM)
Figure 1. Variation in ignition advance angle against engine speed as provided by a conventional mechanical ignition system 20
1D Q.
o
O
lov
~o
5-
g_ g
0
I 100 Inlet
manifold
200 depression
1 300
400
( m m Hg )
Figure 2. Variation of ignition advance angle against inlet manifold depression as provided by a conventional mechanical ignition system
356
The accuracy and maintenance problems associated with the conventional mechanical ignition controller can be overcome with the use of an electronic controller based around a microprocessor. Open-loop control of the ignition timing is achieved by storing the advance characteristics against engine speed and inlet manifold vacuum in two look-up tables. These characteristics are not subject to the approximations caused by variations in spring stiffness and a more ideal advance profile may be obtained. The ignition adva.nce data for any instantaneous engine condition is obtained by interpolating between the appropriate points in the two tables and summing the results. In order to extract this data from the two tables, engine speed and inlet manifold vacuum information is required by the microprocessor. Engine position information is also necessary to synchronize the ignition firing pulses. Ignition
controller
hardware
In the method adopted for the ignition timing controller described here, engine position information fs obtained from four Hall-effect switches (Sprague Electric ULS 3006 T) mounted inside a modified distributor. Each Hall-effect switch =sarranged to close when its corresponding piston reaches a known reference position. The piston position required for static timing which conventionally is the firing position at engine cranking speeds is used as the reference position. This ensures that the microprocessor can issue ignition firing pulses without the need for computation under engine starting conditions when wide variations in engine speed occur due to varying load. The centrifugal weights and advance mechanism housed inside the distributor have been replaced by an alnico magnet and the four Hall-effect switches. The magnet is mounted on the distributor shaft and sweeps past the hall effect switches mounted 90 ° apart on the circumference of the distributor. The engine speed is derived from the engine position information with the aid of a fixed frequency astable oscillator and a 16-bit programmable interval time (Intel 8253) under microprocessor control. Counting is initiated by the microprocessor when the Hall-effect switch corresponding to piston 1 closes. The counter is read by the microprocessor after 1½ revolutions of the crankshaft when the Hall-effect switch corresponding to piston 3 closes. The 16-bit count value is updated in the microprocessor's RAM memory and is used to compute the engine speed in rpm. The counter is allowed to interrupt the microprocessor if the complete 16-bit value reaches its terminal count before the switch corresponding to piston 3 has closed. The choice of oscillator frequency ensures that this can only occur under engine starting conditions and the interrupt is used to flag to the controller software that the engine cranking condition prevails.
microprocessors and microsystems
Inlet manifold vacuum is measured by a semiconductor. strain gauge pressure transducer (National Semiconductor LX 0603). The internal temperature sensor is used to compensate the sensor output for the effects of the wide temperature variation in the proximity of the engine. Two operational amplifiers are used to buffer and scale the sensor output. The analogue output of the pressure sensor is digitized by an 8-bit A/D converter (Ferranti ZN425E) which with external clock gating logic performs a binary ramp type conversion. The A/D converter is interfaced to the microprocessor through an input port (I ntel 8255) operating in Mode 1. The handshaking signals provided by the input port are used to latch the digital value into the port after conversion and initiate a new conversion when the previous value is read by the microprocessor. The information on engine speed and inlet manifold vacuum obtained by the microprocessor is used to select the appropriate advance angles from the two look-up tables and the resulting advance angle components are added together. As ignition is always in advance of the static timing position this ignition advance angle is converted into a delay angle from the previous pistons reference position. This delay angle is in turn scaled into a delay count relative to the current engine speed and a known clock frequency. This delay count is loaded into the second channel of the interval timer each time a piston reaches its reference position and an ignition pulse is issued by the microprocessor at the conclusion of the delay period. Engine position information and the zero count outputs of the two interval timers are conveyed to the microprocessor with the use of interrupts which ensures a fast response from the microprocessor to this time critical information. A single priority interrupt level is used by all the interrupting devices and their identity is determined by the microprocessor by polling each device in software. The ignition firing pulse is issued by the microprocessor through an output port and is used to trigger the gate of the thyristor of a capacitive discharge type electronic ignition unit. The electronic ignition unit is electrically isolated from the microprocessor by an optoisolator. The HT pulses generated by the ignition unit are routed to the appropriate spark plug by the rotor arm which was retained in the modified distributor.
Ignition controller software The software developed for the microprocessor to perform the control and computational function of the ignition timing controller is written in standard Intel 8080A assembly language and has been crossassembled on a DEC PDP-11. The object code generated by the assembler is programmed into UV-erasable PROMs. A flow chart for the ignition controller software is shown in Figure 3. On execution Of the controller software, an initialization routine is entered which sets up the operating modes of the programmable I/O devices and the programmable interval timers. On conclusion of this routine the main section of the ignition controller software is entered. This section performs the following functions: • wait until the engine speed counter is read on closure of piston 3 position sensor • calculate and update the engine speed in rpm • read the inlet manifold vacuum • obtain the two components of the ignition advance angle
vol 6 no 7 september 1982
I
Initialize ignition controller
I
Read engine speed interval timer and calculate engine speed ~n RPM
J
Input inlet manifold vacuum
I
Look up components of advance angle
I
I
i
J
Convertadvance angle to delay count
J
Display engine parameters on the VDU
J
Read the advance angle desired by the operator
J
Re~d engine speed ~nterval timer and ca!,culate engine speed in RPM
I
Input inlet manifold vacuum
1
No
I
J
Convert manually entered advance angle to delay count
J
Display englne parameters on the VDU
1
Figure 3. Flowchart of ignition controller software
corresponding to engine speed and inlet manifold vacu u m
• convert the resulting advance angle into a delay angle and a delay count relative to the current engine speed • display the engine parameters on the visual display unit • poll the keyboard to check for operator intervention These functions are repeated by the microprocessor in a continuous loop. The flow of this loop can be modified by the operator through keyboard intervention. Under this condition the operator is allowed to enter the desired ignition advance angle to be used by the microprocessor regardless of the engine operating conditions. A further incorporation allows the operator to enter an additional advance angle of a few degrees for the outer two pistons of the engine. This facility allows for compensation of the maldistribution of the air-fuel charge associated with the single carburettor and inlet manifold design which results in a weaker mixture being supplied to the outer pistons. Interrupts are accepted by the microprocessor throughout the execution of either the automatic timing loop or the manual entry routine. On receiving an interrupt the microprocessor executes a polling routine to identify the interrupting device and proceeds to service the identified device before returning to the interrupted program.
357
The service routines for the four Hall-effect switches test the engine speed flag and if this flag is set, indicating the engine cranking condition, an ignition firing pulse is issued immediately thus ensuring that ignition occurs at the engine's static timing position. If this flag is not set, the ignition delay interval timer is loaded with the previously calculated delay count. The interrupt service routines for Hall-effect switches corresponding to pistons ] and 3 perform the additional task of loading and reading the engine speed interval timer. The interrupt service routine for the ignition delay interval timer, set up by the service routines for the Hall-effect switches, executes at the conclusion of the delay period and serves to issue an ignition firing pulse. The interrupt service routine for the engine speed interval timer is only executed when the engine is turning over slowly and is used to set a flag in RAM to indicate the cranking condition.
EXPERIMENTAL RESULTS The ignition controller has been used in experiments to map the optimum ignition advance angle characteristics of the engine under various engine speeds and loads. The minimum specific fuel consumption criterion has been used to determine the optimum ignition advance angle for a given engine condition. To achieve this the engine was allowed to reach its operating temperature and the required engine speed and load were set. The ignition advance angle was varied over a range encompassing the optimum ignition advance angle. At each setting of the ignition advance angle the engine speed, brake load, fuel-flow rate, air-flow rate and inlet manifold vacuum were recorded. The specific fuel consumption for each of these settings was calculated and a graph of specific fuel consumption against ignition advance 50 .
.
.
.
.
.
.
.
.
.
.
.
.
.
~"'J~l~'~,~l
.
.
. . . . RPM 4500
.
.
angle was plotted. This curve has the form of a parabola. The advance angle corresponding to the minima on the parabola represents the optimum angle for that particular engine speed and load. These experiments were repeated to cover the whole range of engine speed and throttle openings. The data recorded from these experiments has been processed by a program run on the University of Manchester's Cyber 170/720 interactive computing facility. -this program calculates the specific fuel consumption and evaluates coefficients of the 'best fit' parabola through the experi mental points. This mathematical function is differentiated to locate the minimum and the ignition advance angle is determined for minimum specific fuel consumption. Figure 4 shows the optimum ignition advance angle characteristics for the experimental engine. The set el graphs shown in the figure can be extrapolated to the y-axis to obtain the ignition advance profile against engine speed shown in Figure 5. This graph shows the optimum ignition advance angle and should be compared with Figure I which shows the advance angle as a function of engine speed as provided by the conventional distributor. A large discrepancy exists between the two. The conventional ignition advance against inlet manifold vacuum shown in Figure 2 is seen to represent a considerable compromise to the optimum curve which, as indicated by Figure 4, differs depending upon engine speed. The facility to provide an extra ignition advance angle to the outer pistons in order to compensate Ior the realdistribution of the air-fuel charge has been used in experiments. A small improvement in engine performance can be detected particularly when the engine is cold since the maldistribution problem is more I~ronounced under these conditions. However since accurate results have not been obtained due to the variations in engine temperature during
soy
i
I~
n
i
i ! I
40OO
~ 40
........................................
3000
I .~
40~
~ 3o
3o
©
~
M ~
c~ 20-
20
~/" o
~
10-
--
nit,OO
!
timing position
0
0
I
100
I _ I ..... ~ _ 200 300 400 Inlet monifold depression ( m m Hg ) . . . . . .
Figure 4. Graph o f ignition advance angles for minimum brake specific fuel consumption against inlet manifold depression for various engine speeds
.358
--
500
L 0
I 1000
]
[
2000 3000 Engine speed (RPM)
J 4000
5000
Figure 5. Ideal variation in ignition advance angle corresponding to engine speed as obtained from experimental results
microprocessors and microsystems
the course of these tests, these results have not been reproduced here.
IMPROVEMENTS A microprocessor ignition controller based on conventional techniques obtains its ignition advance angle data from two tables stored in memory. The presumption here is that the required advance angle relative to inlet manifold vacuum is constant regardless of engine SPeed and the advance angle relative to speed is constant regardless of engine load. Figure 4 shows that any attempt to define a single curve relating advance angle to inlet manifold vacuum must represent a considerable compromise at most engine speeds. Furthermore, ignition controllers which assume the advance angle to be made up of two independent components relative to engine speed and inlet manifold vacuum are forced to retard their ignition angle from optimum over the whole range of engine conditions in order to avoid engine knock under adverse running circumstances. These compromises can be avoided by a microprocessor-based ignition controller which uses a table in two dimensions of advance angle against inlet manifold vacuum at various engine speeds. Interpolation between points in this table will give the advance angle for any engine load conditions. The ignition controller of the type described above converts the calculated advance angle into the time domain relative to the current engine speed. This is perfectly adequate under steady state conditions when the engine speed remains constant or under transient conditions if the speed varies slowly. However, during rapid engine speed variations errors are introduced due to the change in engine speed from that assumed by the microprocessor. These errors can be overcome by using a crankshaft angle transducer or shaft encoder which would remove the need to convert the advance angle into the time domain.
Closed-loop control The accuracy of an open-loop ignition controller relies upon parameters such as air:fuel ratio, heat conduction of the cylinder wall and engine compression ratio remaining the same over the life of the engine. These parameters however vary over the lifetime due to maladjustment, carbon deposits and ageing. The only method that can ensure optimum ignition timing under all conditions of engine wear requires the use of a closed-loop system. A feedback signal is required by a closed-loop controller upon which an assessment can be based of the performance of the ignition timing. It has been established that optimum ignition occurs if cylinder pressure reaches a maximum when the piston reaches a fixed angle a few degrees after top dead centre. Cylinder pressure information can therefore be used in an adaptive control strategy where the peak pressure angle of the piston on the previous cycle can be used to schedule the ignition timing of the next cycle. The use of peak pressure angle as a suitable feedback
vol 6 no 7 september 1982
signal requires the knowledge of the sensitivity of the peak pressure angle to changes in ignition advance angle. Measurements have been made to determine the relationship between these two quantities using as a pressure transducer a ceramic piezoelectric crystal fitted in a modified spark plug adaptor and fitted in a single cylinder of the four cylinder engine. Although not constant, the peak pressure angle was found to change by about 0.6 ° for a I ° change in ignition advance angle. Further, the peak pressure angle was found to jitter about its mean value. This variation is due to minor differences in the air-fuel charge from one cycle to another and its distribution in the cylinder resulting in small changes in the flame speed. A form of averaging of the peak pressure angle is therefore required to allow the controller to produce a stable value of ignition advance angle even in the presence of jitter. However, averaging over a large number of cycles would have an adverse effect on the transient response of the controller when a rapid change in ignition advance angle is required. EXperiments suggest that an effective averaging scheme results from the use of alpha smoothing where alpha has the value of 0.5. Hence for the (n+l)th sample: average n+l = a x average n + samplen+l (1 -~) = a(averagen - samplen+l ) + samplen+l A further benefit of measuring the cylinder pressure makes the use of a distributor redundant since the cylinder on the compression stroke can be easily identified.
CONCLUSIONS A microprocessor-based ignition controller of the type described provides several advantages over the conventional distributor ignition controller. These include improved accuracy and the elimination of cycle-to-cycle fluctuations in the ignition timing caused by machining imperfections of the cam. The flexibility of a microprocessor-based system allows the timing characteristics of the i~onition controller to be changed easily by changing the advance angle tables (the tables are held in EPROM). This allows a manufacturer to use the same basic controller for a whole range of engines. The ability of the microprocessor to provide different advance angles to different cylinders can be used to optiraise the ignition timing of the outer pistons and the compensation can be made dependent upon the engine temperature. The ignition controller has been used successfully to control the ignition timing and has done so accurately and reliably over a long period of time (the system has been running for more than two years). The maintenance problems associated with the conventional ignition controllers have been eliminated. Tests show that a closed-loop control system of the type discussed above would show demonstrable benefits by optimizing the performance of the engine under all conditions of load and wear.
359
computeraideddesign the leading international journal for users and developers of the computer as a design aid
World's largest mobile hydraulic crane (250 tons) manufactured by GROVE, Modelled end drawn using AUTOPROD by GMWComputers,
jl
.1 ~ f
~J
4 ',/' i
Coverage includes: • • • •
Building design CAD/CAM systems C h e mi ca l e n g i n e e r i n g Civil and structural engineering
• Electrical, e l e c t r o n i c and logic design • Geometric modelling • Mechanical e n g i n e e r i n g
Further details and subscription rates from: Christine Mullins Butterworth Scientific Limited -- Journals Division POBox63 WestburyHouse BuryStreet Guildford Surrey GU25BH England Telephone: 0483 31261 Telex: 859556 SCITEC G
360
microprocessors and microsystems