A project that started way back in the late 80′s and is now being brought out of mothballs and embedded into a CF320 Bedford campervan nick named Bed42. The original ignition module was developed run on a a modified Austin Allegro. Petrol engines, even old British ones  are highly tuned mechanical machines. They are tuned to produce energy by burning fuel mixed with oxygen, which is also fuel, in a hot environment. The energy produced by the combustion process is used to move a piston that drives a crank shaft which in turn is used to extract rotational energy for further external use, and most importantly to drive  the timing gear that is required to maintain correctly tuned operation.

The fuel air ratio and ignition timing are the two basic properties of an internal combustion engine that need to be adjusted for normal and correct operation. Incorrect operation of either leads to inefficient running and reduced useful life for the engine.

First ignition timing. Control of air fuel ratio will be discussed in a later issue.

Ignition timing has to meet three basic requirements;

1) A Static advance setting that is used to start the engine and bring it up to idle.

1) A Dynamic advance curve that advances the ignition timing with increasing RPM.

2) A Vacuum advance adjustment that reduces the advance under heavy engine loads.

The development is based on the Motorola 68HC11 micro processor and drives an SED1330 graphical LCD.

Bed42 Electronic Ignition Prototype

Bed42 Electronic Ignition Prototype

Although the LCD is not necessary for engine management it allows diagnostic information to be displayed. It also allows the addition of a day of time clock with alarms, and other features like distance traveled, and fuel consumption meters, and could even remember maintenance times etc. But first to the basics.

Main Features of the BED42 Electronic Ignition

Fully programmable ignition control module as described below

Advance Detection            Top and bottom dead center detection

Static Advance                    0 to 20dregrees in 0.1 degree steps

Dynamic Advance             0.2 degree advance, 100 RPM up to 5000RPM

Vacuum Advance               Programmable in 0.2 degree steps

Spark Dwell                           Discharge Time = 1mS Fixed Period

Coil Charging                        4 Amps constant current charging

There are two parts to the ignition, 1) The hardware and 2) the software. There are four parts to the hardware. 1) computer/display, 2) ignition unit, 3) timing sensor and 4) the vacuum unit. And there are multiple parts to the software including peripheral interfaces, LCD drivers and functional processes.

Timing Pick Up Unit The basic operation starts with the pickup from the crank shaft. There are a number of option for the pick up unit. Most commonly optical because it is easy, but magnetic is more reliable because it is insensitive to dust and light. The sensor needs to tell the micro controller when the crank shaft passes the top dead and bottom dead center points. These are the points when the compression pistons are at there uppermost point and is a reference point for engine timing in general. Both the engine speed and the advance point for ignition firing are calculated from these points. Two reference inputs are required per revolution on a four stroke engine because two ignition sparks are required per revolution of the crack shaft.

Most sensors fitted to the front pulley because of its easy access. The optical sensor can be either reflective or a flag interrupted type with either the two while line painted on, or two flags glued to the pulley. It is possible to use two sensors and one TDC mark but generally this is more complex and expensive.

Ignition Unit. This was originally designed as a stand alone unit to be triggered from the points or an optical interrupter fitted inside the distributor and included dwell extension for improved coil charging at high RPM. The entire unit has been maintained in tact, in case of emergencies, and the micro processor wired in at the appropriate point to control the constant current output stage. A switch is fitted to turn the points input off.

The constant current output stage is advantageous at high RPM because it charges the coil at the maximum rate which is 30 odd% faster than when using a sports coil and a ballast resistor. This is achieved by initially placing the sports coil, which is designed to operate at 6v, in series with a ballasted resistor, across 12 volts until the coil charges to 4 amps at which time it is maintained for maximum energy release into the  spark plug.

To improve energy efficiency slightly it would be possible to time the start of coil charging such that the maximum energy store is reached in the coil just before it is time to release the spark. This would be of more benefit at lower RPM.  This feature has not been added so far as the benefits have not justified the time needed to add it.

To protect the coil the coil charge current is not switched on until after the first three input pulses are detected and the coil current is switched off switched off is no inputs are detected for 100mS.

Vacuum Unit; This is an appropriate pressure transducer sensor and necessary electronics to generate a 0 to 5 volt signal over the required pressure range. The pressure sensor is fitted with a T joiner to the vacuum tube pipe between the distributor and carburetor. The variation in engine load with throttle position can be detected in the vacuum generated in the air intake. This is used to adjust the engine ignition advance appropriately.

The micro computer and LCD; The master timing and control is performed by a well respected M68HC11 microprocessor with 16Kbytes of RAM and 8Kbytes of ROM. The LCD is an EPSON character and graphic capable, 420 by 64 Pixel, monochrome unit, as used in the very early laptops.

Software; The microprocessor reads the input and using an internal timer calculates the RPM and uses this to generate an index into a look up table to read the advance data from the  advance table.  The vacuum sensor voltage is read in via an analog to digital converter and used to compute the required vacuum advance.

These combined with the static advance form the total advance timing. This is converted to a fraction of the period and subtracted from the over all period to generate the spark time.

Engine Starting; This is a special case and is the easiest in terms of firing the spark. It is also the time the computer has to start computing from an unknown state. To collect data and establish correct timing the spark timing is set release at top and bottom dead center for the first three cycles. After three cycles all parameters are set and the dynamic advance is read from the advance table.

Engine Running; Once the engine is determined to be running the control of the timing is managed by addition of the three advance components, static, dynamic and vacuum advance.

Advance Curve; The advance curve is held in a look up table. An index into the table is derived from the engine RPM and points to the preprogrammed dynamic advance value for that RPM.

The advance curve can be set by one of several methods. 1) A spread sheet program can be used to set up the table from the manufactures advance data and downloaded to the Bed42 ignition module. 2) An advance curve can be built, or modified, manually using the inbuilt advance table monitor program.  3) The advance table can be modified while driving the vehicle. And 4) An advance table can be uploaded to a PC and modified and then downloaded back into the ignition module.