Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Building an ignition system

Status
Not open for further replies.

F150Gearhead

New Member
Hello,

This is my first visit to this forum.

So before I spend hours trying to describe my project, I'd like to know if there will any issues with my desire to build an ignition system for my off-road truck.

I ask because I attempted to describe my project on another electronics forum and after introducing myself and spending hours typing a couple of posts to outline my project, my thread was locked. The mod said they did not support automotive projects, or words to that effect, on their site but they were good enough to provide links to some that did, so this had apparently come up often before.

I did a brief search of this site and saw not much relating to anyone building their own ignition systems so I am unsure if my project will be welcome here.

I could use some advice on which microcontroller would be best suited to what I have in mind, the means with which to program it, and whether my scheme in general is do-able. Some advice on maybe better ways to do things would also be appreciated.

This is not a commercial product by any means. I am not trying to sell or promote anything for anybody. However, there are a few products that have done much work in this area and I have been shameless in using them as a resource.

If this is going to be a problem, please say so.

Gearhead
 
You might want to check this out It is a Programable High energy Ignition Kit from Siliconchip magazine here in Australia. They are avalable from Jaycar KC-5442 $94.95 & Ignition coil driver KC-5443 $46.95.
 
Thanks for that info, debe. I'll check that out.

Looks ok for a single coil system but I had some LS-2 coil banks in mind. The coil driver info looks very useful, tho.

I've seen no objection to my proposed project so far, so I think I'll edit the posts from my first try at the other guys site a bit and post them here and see what happens.

Thanks

Gearhead
 
Let me say that I have no real practicle experience in designing and building microcontroller projects. But I have taken a couple of personal interest courses at the local community colleges in general electrical theory, electronic and semiconductor devices, and various levels of computer programming. These were some time ago, late '90's, and have been pretty much neglected since then.

I actually did put in some time in one of those classes learning a bit about microprocessors on a Heathkit trainer that used the 80C85. It had a small LCD screen so you could see what you were doing and a Watchdog program to keep you from doing any really bad stuff to the thing, I guess.

I was introduced to the CPU instruction set then so that is not completely voodoo to me. I have programmed a bit in a couple of Basic dialects and also Windows.net. (still got the discs around here somewhere). I know nothing of C, Fortran, Cobol, or any of the other languages.

So I am not a Wiz and probably never will become one. I took these classes out of curiosity and a desire to at least get a basic understanding of how computers, controllers and industrial control devices actually functioned. I probably know just enough to get myself into serious trouble if I ever tried to do any of this stuff professionally.

I enjoy working on my old F150, except when I feel like blowing it up, and I want to make it run as good as possible. I have become increasingly unhappy with the EEC-IV control box that the factory stuck in there and hope to build my own set of engine control units. One to run the ignition system, one to run the fuel injector system, and one to run the electronically controlled transmission.

The ignition system looks like a fairly easy place to get started. The only real problem areas that I have run into while trying to think it through, in a flow chart sort of way, is the problem of trying to set off that spark plug before the actual TDC signal for that cylinder ( the ignition advance ) and the very short time between ignition events at high rpm ( the coil dwell problem ).

I have found a set of GM LS2 truck type coil banks that I would like to use. That means 8 individual coils, and they have a dwell requirement of 5ms each to charge them. So I need 8 output lines, one for each coil, and at least one input line for the tach signal.

Sequentially running 8 fuel injectors is essentially the same set of problems, with the opening of the injectors acting sort of like the ignition advance, and the duration of that opening acting sort of like the ignition dwell. With fuel tho, there are other considerations that must be taken into account and will require more inputs from the motor than just a tach signal. Air flow, air temp, engine temp, engine load, etc. So I'm going to save that for a bit later.

I've used the M.S. site as a resource just to look at how they do things. Cool product, outstanding support forums and such. Lots of good info. But expensive and they seem to have fallen into the trap of trying to run all the aspects of powertrain control in one box, like a factory ECU. I personally want to separate the three areas I mentioned earlier as I feel that it is easier to build, diagnose and fix problems in smaller units dedicated to a specific task. They also seem to be going a bit over the top with all kinds of CAN, LAN, daughterboards, etc, etc. Not a putdown, really, just not the way I want to do things.

Hopefully a few of you guys will take an interest in this project and ride along. I will definitely be needing some help as this thing progresses.


Let me just add that I'm a very slow typist, usually one finger, two when I really get going. I will outline the way in which I hope to accomplish this ignition system and I'm not really sure if it will work as I envision it. I am not all that familiar with microcontrollers and their data sheets, nor the programmers for them. So I could use some reccomendations both about that and perhaps also about the manner in which I hope to solve these problems. Any advice and suggestions will always be appreciated.


This vehicle is a '92 Ford F150. 5.8L V8 w/E4OD. Currently the factory speed density computer. Recent rebuild about 3,000 miles ago. Bored 60 over, stock cam, shorty headers, dual exhaust. Normally aspirated, factory EFI, ignition, air intake, everything pretty much box stock. A 6000 rpm motor max. Probably good for another 50-60k miles before it starts smoking too bad. I have another 5.8 motor for it, newer, bit higher performance but essentially the same. This one is going to serve as the testbed just in case I really screw up and destroy stuff. I'm in the process of designing & building a replacement upper intake manifold to replace that crappy flopped over factory intake that covers up the entire right half of the motor.

I would like to mount the boxes that I'm going to build inside the cab and not in the engine compartment. I see no reason to subject them to the underhood environment and would actually like to have perhaps a 3 line LCD screen on each to display a little useful info while the truck is running. I can use fully shielded cables out to the coils and dist., the distances aren't bad, a few feet.

OK, so there's the vehicle description and the environment in which I want to mount the boxes, if that makes a difference in the microcontroller selection.


The ignition timing signal.

I thought maybe to make my own optical distributor using a modified Ford dist. These Windsor motors use the dist. shaft to run the oil pump and it's driven by a gear at the camshaft. So I gotta keep at least the shaft, which is one reason to use the dist. setup and not go to a crank trigger. The accuracy differences are not that great, I think, and it might even be beneficial to keep the ignition signal locked more tightly to the camshaft and thus the valve timing rather, than to the crank and the possible slack and variation induced by the timing chain. I wouldn't want the crank trigger to fire that plug while the intake is still open a bit. A degree or two of crank variation probably won't do near the damage a backfire through the intake runners may cause. Might affect power and efficiency a bit but seems safer.


So I thought to take a stock dist, cut the shaft off a bit above the height of the metal dist. base, and drill & tap a bolt hole into the center of the shaft. I know a very good machinist. Use this hole to mount my timing disk. As large a diameter disk as I can get to fit, given the confines of the dist. placement on these motors and the intakes. Find myself a suitable object to make my own cap out of. Maybe try to insert an inverted cup around the shaft down around where the bearing is in an effort to contain whatever dirt and oil funk that is given off by the shaft rotation, as I gather that flying debris is a problem for optical sensors.

OK, now to the actual signal part.

Make the disk out of at least 1/8" flat aluminum stock, maybe even 3/16" or 1/4". Drill suitable sized holes around the perimiter of the disk every 45* and make one a bit larger than the rest for #1 cylinder identification, maybe not round but rectangular with the width the same as the regular holes so as to keep the rising and falling edges of the waveform occurring at the same relative time as the round ones but letting in a bit more light so it could be picked out of the signal stream by a comparator circuit. Precision in hole placement would be required here.

Paint everything inside flat black, disk, inside of cap, exposed shaft, all of it. Especially the inside of the timing holes. Goal here is to stop as much stray, reflected light as possible. Paint plus the thickness of the disk would do much to control the angles of the lyght rays and give a square waveform. I've even considered using a collimator? lens from a laser pointer to further focus the light instead of a normal lens like you find on most LEDs that spray light everywhere like a light bulb does. Don't know if that will work or not.

Construct C-bracket to hold photo emitter and photo receptor in appropriate place, centered over timing holes, leave a little gap top and bottom to allow for variation in disk rotation plane, from normal bearing wear over time if nothing else. Cut slot in cap at right place to slip C-bracket in and secure snugly.

Theoretically, it looks like it would work pretty well, does to me anyway. Use aluminum for everthing I can. The hardest thing would seem to be constructing the Dist. cap to mate with the existing base diameter yet expand as much as possible higher up to accomodate as large a disk as possible. The bigger the disk, the more accurate the timing signal.


Well, I'm tired now and have to crash. Busy day tomorrow, today actually.


I'll post some numbers about the times required to cover the various cam degrees at various rpms next, I guess.



Cheers,

Gearhead
 
Here in Australia the F series ECC 1V uses this type of distributor, is yours simmilar? It uses a Hall device. More ruged than Opto so why not adapt it for your proposed Ignition system?
 
Hey, debe,

I was a bit busy and couldn't get back here till now.

Yes, that looks like mine, grey plugs. I know there are some with black ones and there is a difference but I forget what it is.

Accuracy and cleanliness of the waveform is what I was considering, not to mention the coolness factor of making it myself. I have an old dist. or two laying around so I thought I might give it a try. Mallory actually makes a line of opto dist. but they are pretty expensive.

I may not be able to make it work reliably and might have to revert to the magnetic pickup, as you suggest.

But I have been wearing my calculator out working up the timing numbers that we have to deal with. The math is pretty simple, there's just a bit of it to understand. If you spot any errors or have any questions, don't be shy. I find it helps me clarify my thinking to discuss things.

I've tried to be thorough, maybe overly so, but here goes.

G
 
Numbers for 4-stroke engines.


Time units:

1 min = 60 sec(s) = 60,000 millisec(ms) = 60,000,000 microsec(us)

1s = 1,000ms = 1,000,000us

1ms = 1,000us


Engine rotational speeds:
Commonly given in terms of crankshaft revolutions per min (RPM).
In a 4-stroke engine there are 2 crank revolutions for every camshaft rev.
I'm going to use camshaft revolutions and degrees almost always for this.

So, some RPM conversions:
Formula = (CrankRpm/2 = CamRpm)

600 CrankRpm/2 = 300 CamRpm (idle)

3000 CrankRpm/2 = 1500 CamRpm (midrange)

6000 CrankRpm/2 = 3000 CamRpm (max)


And some RPS (CamRps) numbers that may come in handy later:
Formula = (CamRpm/60s = CamRps)

300 CamRpm/60s = 5 CamRps

1500 CamRpm/60s = 25 CamRps

3000 CamRpm/60s = 50 CamRps


Time per Cam Revolution @ rpm:
Formula = (Time/CamRpm = CamRevTime) @ CamRpm

60s/300 = .2s = 200ms = 200,000us

60s/1500 = .04s = 40ms = 40,000us

60s/3000 = .02s = 20ms = 20,000us


Time between Ignition Events @ rpm (8 cyl. motor):
Formula = (CamRevTime/number of cylinders = CamEventTime) @ CamRpm

@ 300 = .2s/8 = .025s = 25ms = 25,000us

@ 1500 = .04s/8 = .005s = 5ms = 5,000us

@ 3000 = .02s/8 = .0025s = 2.5ms = 2,500us


Time per Cam Degree @ rpm:
Formula = (CamRevTime/360* = CamDegTime) @ CamRpm

@ 300 = .2s/360 = .000555s = .555ms = 555us

@ 1500 = .04s/360 = .000111s = .111ms = 111us

@ 3000 = .02s/360 = .0000555s = .0555ms = 55.5us


Times gets very short at high rpm when dealing with individual rotational degrees.
 
Ignition Advance Requirements

Ignition advance is the number of degrees before a piston reaches TDC (Top Dead Center) on the compression stroke that the sparkplug for that piston needs to fire at. The greater the number of degrees, the sooner before TDC that the plug needs to fire (sort of).

This figure is usually given as the number of Crank degrees BTDC (Before Top Dead Center) and it varies according to engine speed. We are going to take these crank degree numbers, convert them to cam degrees, and then convert those to units of time.

These Windsor motors need about 8-10* crank advance at idle (600 crank rpm) and the advance needs to increase to about 38-40* crank advance at midrange (3000 crank rpm). After that the advance does not need to increase any more and should remain at 38-40* crank advance for the rest of the rpm range (3000 crank rpm to 6000 crank rpm). These advance figures are not exact and may need to change but they are close.

So, here we go,

8-10* CrankAdvDeg @ 600 CrankRpm = 4-5* CamAdvDeg @ 300 CamRpm

38-40* CrankAdvDeg @ 3000 CrankRpm = 19-20* CamAdvDeg @ 1500 CamRpm

38-40* CrankAdvDeg @ 6000 CrankRpm = 19-20* CamAdvDeg @ 3000 CamRpm


And to convert the cam advance degrees to time units we need to take the number of cam advance degrees and multiply that with the amount of time it takes for the cam to rotate 1* at an rpm.

Cam Advance Time @ CamRpm:
Formula = (CamAdvDeg x CamDegTime = CamAdvTime) @ CamRpm

@ 300 = 4* x .000555s = .00222s = 2.22ms = 2,220us

@ 1500 = 20* x .000111s = .00222s = 2.22ms = 2,220us

Check that out! By using 4* cam advance at idle and 20* cam advance at midrange we arrive at the same result. A constant, sort of. While the amount of time it takes to rotate 1* decreases as rpm increases, the increasing advance requirement keeps pace, making the outcomes identical. And any rpm that falls within that range will give that result.


Now we can find out how much advance (in cam degrees) that we need to add for every rpm:

1500 - 300 = 1200 cam rpm range

20* - 4* = 16* cam advance range

16* / 1200 = .01333*

This is the advance increase per rpm throughout this range. Another sort of constant. And like the one above, it is not a true constant but is derived from the desired rpm range and the desired advance over that range, both of which could change according to engine performance. I guess we could call it AdvDegCon.

A few rpms to check:
Formula = (CamRpm x AdvDegCon = CamAdvDeg) @ CamRpm

300 x .01333* = 4*

500 x .01333* = 6.665*

700 x .01333* = 9.331*

1000 x .01333* = 13.333*

1200 x .01333* = 16*

1500 x .01333* = 20*

That looks like a nice smooth progression. And if we combined some of the other formulas with this, we can convert to time and arrive at the CamAdvTime (.00222s) constant every time, throughout the range of increasing advance.


The steps needed to arrive at the advance time:


Solve for time of 1 revolution (CamRevTime) @ rpm:
Formula = (60s / CamRpm = CamRevTime) @ CamRpm

60s / 300 = .2s


Solve for time of 1* rotation @ rpm
Formula = (CamRevTime / 360* = CamDegTime) @ CamRpm

.2s / 360* = .000555s


Solve for advance in degrees @ rpm:
Formula = (CamRpm x AdvDegCon = CamAdvDeg) @ CamRpm

300 x .01333* = 4*


Solve for advance in time @ rpm:
Formula = (CamAdvDeg x CamDegTime = CamAdvTime) @ CamRpm

4* x .000555s = .00222s


We can derive another useful constant by dividing 60s by 360* to combine the first two steps into one:

60s / 360* = .1666s

This is a true constant because our time unit of 1 minute (60 seconds) and the number of degrees in 1 cam revolution (360) will never change, so I haven't assigned it a variable name.

So:

.1666s / 300 = .000555s

Then:

300 x .01333* = 4*

Then:

4* x .000555s = .00222s

Or:

(.1666s / 300) x (300 x .01333*) = .00222s

Which is:

(.1666 / CamRpm) x (CamRpm x .01333) = .00222s


A few tests:

@ 500 CamRpm

(.1666s / 500) x (500 x .01333*) = .00222s


@ 700 CamRpm

(.1666s / 700) x 700 x .01333* = .00222s


Or simply:

.1666s x .01333* = .00222s

But this only works during the range of increasing advance. Once we get to midrange the advance will have to stop increasing and we will actually need to begin reducing the advance time (.00222s) in order to remain at 20* for the rest of the rpm range as the time of one revolution continues to get shorter with the increasing rpm.
 
Last edited:
It's late again and I have to go.

Remember,

Cranks are stupid, cams are smart.

Always be a cam, never a crank.

Gearhead
 
Last edited:
WOW!! Maths is not for me. Not realy into design, but dont mind throwing the odd idea in on aproaches. Used to be a Ford dealership Mechanic. Ignition systems do interest me.
 
Last edited:
Conventional ignition operation:

The ignition switch is turned on and the single coil begins charging toward its capacity at whatever rate the voltage/current levels of the charging power source provide, be it battery at Start or alternator at Run. And it remains in its charging/charged state the entire time the ignition switch is in the Run position.

Once the coil is charged a conduction path is provided for the voltage/current stored in the coil to the correct sparkplug. Actually through the spark plug so as to cause a nice fat arc of electrical power across the air gap between the plug electrodes. Our very own tiny lightning bolt.

The cap & rotor's job is to provide that path. The high voltage of the coil is provided to the center of the cap by the coil high-tension lead. There's a springy little conducting contact attached to the dist. shaft that touches the coil lead and is physically connected to the rotor arm, also a conductor. The little springy contact allows the dist. shaft and rotor to rotate freely inside the cap while maintaining good electrical connectivity. So we end up with the coils voltage potential available at the tip of the rotor arm.

The tip of the rotor arm swings around in a circular path that coincides with the ends of the sparkplug high-tension leads at the dist. cap. As the rotor tip touches one of the contacts embedded in the cap it forms a conduction path to the sparkplug that is attached to that lead and shorts the coil. Draining its stored voltage/current through the plug and across the plug gap toward the ground of the engine block and neg. batt. terminal, providing the spark. The tip of the rotor arm appears to be shaped so as to maintain that contact for a specific length of time and I assume that is to control the duration of the arc. The rotor then moves on, severing that conduction path, and the coil begins to charge again. Until the rotor tip hits the next contact in line.

The problem here is that at higher rpms the single coil gets to where it doesn't have time to charge enough to provide a decent spark before it is shorted again at the next contact. Essentially, the higher the rpm, the weaker the spark. Also, the higher the rpm, the faster the rotor arm moves and the shorter the spark duration. I'm for a nice fat spark at all rpms and I guess that means multiple coils.

Multiple coils allow for more time for each coil to recharge between ignition events. Resulting in more powerful sparks at higher rpms, and that results in more complete burning of the A/F mixture which equals more power and efficiency and fewer unburned emissions. And if you use enough coils, and their recharge rates are fast enough, you can even turn them off between plug firings, keeping the coil a bit cooler and easing demand on the charging power source. You really only have to start charging that coil just before it needs to fire that plug. How long before firing depends on the recharge rate of the coil and the amount of advance needed.

I'm going to use eight LS2 coils, one for each cylinder, with a charge time of 5ms each. And because there are 20 ms between ignition events for each cylinder @ 3000 cam rpm, I'll be able to turn the coil off for nearly 15 ms between firings. And that is @ max cam rpm for this motor. All lower rpms will have correspondingly more time between firings and so these coils will spend most of there lives in the off condition.



But not using the dist. to create those conduction paths means we have to do that by some other means. I don't think simply turning the coil on and off is going to do it. The MS guys rave about these LS2 coils. They say that they are very powerful and contain a complete miniature ignition system within themselves, including what is described as an ignitor circuit, which I assume is what provides the means to turn on and off the needed conduction path to the plug. I don't know the exact mechanism employed to do that but I'm guessing it's not a tiny relay. Probably some sort of field effect scheme. If anyone would care to explain how that actually works in these coils, that would be great.

These are also what are called logic level coils, which seems to mean that you can plug them directly into your circuit board and not have to provide a bunch of external protection components to guard against the flyback voltages and such. Although I may need to add a few anyway. I'll be asking for some advice on that.

So I went to the junkyard and bought a used set of these, the monster truck type with the heat sinks, along with the wiring harnesses and brackets. Each coil has 4 pins, divided into two circuits. One for connection to the 12V charging power source, and its ground. The other for the 5V firing signal, and its ground. So I'm going to have to double the number of needed I/O lines to the coils to 16 if I am going to control the dwell time. I suppose I could wire the charging pairs right to the power source so that they would remain hot as long as the ignition switch is on, like a conventional ignition, and it would probably work. At least for a little while. But I'd rather not. I doubt that they are designed for that and would fail quickly.
 
Last edited:
And now I'm finally at the point of defining some requirements for the controller and components. I'm going to need 8 heavy duty transistors capable of handling the battery/alternator voltage and current needed to charge the coils and some voltage regulation to control that supplied power. And a microcontroller with eight I/O lines that are capable of providing the base voltage and amperage to control those transistors. These only need to act as on/off switches as the transistors don't need to do a lot of voltage/current following and such. I hope there are some controllers capable of running those transistors directly so I don't have to use an intermediate set of transistors. I will also need eight I/O lines to control the firing signals. On the input side I think I only need one input line for the dist. signal. I have to power the photoemitter also but I might do that directly from the ignition switch unless there's some reason I shouldn't.

Well, it's late again and I gotta go. Hopefully this long winded description wil be useful to some and my understanding of the operation of the conventional ignition system is correct.

Gearhead


"Do ya think it'll work?", asked Mrs Miracle Max.

"It'll take a miracle", replied Miracle Max.
 
The 12v power feed to the Ignition coils is fed continously when Ign is on. There is no current draw until the igniter in the coil is fired. The igniter pulse should never be in a position as to turn the igniter circuit on continously, it must be a pulse. The igniter/ switching circuit is internal to the coil pack.
 
OK, great.

I was wondering exactly how that worked as I didn't see enough wires in the harness to control both the dwell and the firing signal.

That will simplify things quite a bit.

"There is no current draw until the igniter in the coil is fired. "

You're saying that the coils will act like a conventional system and all simply charge to capacity at ign. on and wait until discharge, whereupon each will charge again, remaining in the charged state instead of the off/discharged state?

I asked because the MS guys state that charging these coils longer than 5ms does no good and so I had thought to turn them off until about 5ms before firing to cut down on leakage losses, magnetic fields, and and such. It just seemed like a generally good thing to do. If leaving them on all the time does them no harm, well, ok then. It's actually probably necessary in order to power the tiny ignition system inside each coil.

Doing it like I now know the factory did will definitly cut down on the component count. Only 8 output lines needed, no transistors if those lines can run the coils directly. Basically nothing but the microcontroller, I guess. And some kind of signal from the dist.


Thanks, debe
 
It is a simpe way of doing it. Mazdas had a coil with builtin igniter mounted on each spark plug.
 
TIMING AND VACUUM ADVANCE 101


Written by John Hinckley! Thank you John for sharing this with everyone! You are an asset to the Corvette Community.


The most important concept to understand is that lean mixtures, such as at idle and steady highway cruise, take longer to burn than rich mixtures; idle in particular, as idle mixture is affected by exhaust gas dilution. This requires that lean mixtures have "the fire lit" earlier in the compression cycle (spark timing advanced), allowing more burn time so that peak cylinder pressure is reached just after TDC for peak efficiency and reduced exhaust gas temperature (wasted combustion energy). Rich mixtures, on the other hand, burn faster than lean mixtures, so they need to have "the fire lit" later in the compression cycle (spark timing retarded slightly) so maximum cylinder pressure is still achieved at the same point after TDC as with the lean mixture, for maximum efficiency.


The centrifugal advance system in a distributor advances spark timing purely as a function of engine rpm (irrespective of engine load or operating conditions), with the amount of advance and the rate at which it comes in determined by the weights and springs on top of the autocam mechanism. The amount of advance added by the distributor, combined with initial static timing, is "total timing" (i.e., the 34-36 degrees at high rpm that most SBC's like). Vacuum advance has absolutely nothing to do with total timing or performance, as when the throttle is opened, manifold vacuum drops essentially to zero, and the vacuum advance drops out entirely; it has no part in the "total timing" equation.


At idle, the engine needs additional spark advance in order to fire that lean, diluted mixture earlier in order to develop maximum cylinder pressure at the proper point, so the vacuum advance can (connected to manifold vacuum, not "ported" vacuum - more on that aberration later) is activated by the high manifold vacuum, and adds about 15 degrees of spark advance, on top of the initial static timing setting (i.e., if your static timing is at 10 degrees, at idle it's actually around 25 degrees with the vacuum advance connected). The same thing occurs at steady-state highway cruise; the mixture is lean, takes longer to burn, the load on the engine is low, the manifold vacuum is high, so the vacuum advance is again deployed, and if you had a timing light set up so you could see the balancer as you were going down the highway, you'd see about 50 degrees advance (10 degrees initial, 20-25 degrees from the centrifugal advance, and 15 degrees from the vacuum advance) at steady-state cruise (it only takes about 40 horsepower to cruise at 50mph).
When you accelerate, the mixture is instantly enriched (by the accelerator pump, power valve, etc.), burns faster, doesn't need the additional spark advance, and when the throttle plates open, manifold vacuum drops, and the vacuum advance can returns to zero, retarding the spark timing back to what is provided by the initial static timing plus the centrifugal advance provided by the distributor at that engine rpm; the vacuum advance doesn't come back into play until you back off the gas and manifold vacuum increases again as you return to steady-state cruise, when the mixture again becomes lean.


The key difference is that centrifugal advance (in the distributor autocam via weights and springs) is purely rpm-sensitive; nothing changes it except changes in rpm. Vacuum advance, on the other hand, responds to engine load and rapidly-changing operating conditions, providing the correct degree of spark advance at any point in time based on engine load, to deal with both lean and rich mixture conditions. By today's terms, this was a relatively crude mechanical system, but it did a good job of optimizing engine efficiency, throttle response, fuel economy, and idle cooling, with absolutely ZERO effect on wide-open throttle performance, as vacuum advance is inoperative under wide-open throttle conditions. In modern cars with computerized engine controllers, all those sensors and the controller change both mixture and spark timing 50 to 100 times per second, and we don't even HAVE a distributor any more - it's all electronic.


Now, to the widely-misunderstood manifold-vs.-ported vacuum aberration. After 30-40 years of controlling vacuum advance with full manifold vacuum, along came emissions requirements, years before catalytic converter technology had been developed, and all manner of crude band-aid systems were developed to try and reduce hydrocarbons and oxides of nitrogen in the exhaust stream. One of these band-aids was "ported spark", which moved the vacuum pickup orifice in the carburetor venturi from below the throttle plate (where it was exposed to full manifold vacuum at idle) to above the throttle plate, where it saw no manifold vacuum at all at idle. This meant the vacuum advance was inoperative at idle (retarding spark timing from its optimum value), and these applications also had VERY low initial static timing (usually 4 degrees or less, and some actually were set at 2 degrees AFTER TDC). This was done in order to increase exhaust gas temperature (due to "lighting the fire late") to improve the effectiveness of the "afterburning" of hydrocarbons by the air injected into the exhaust manifolds by the A.I.R. system; as a result, these engines ran like crap, and an enormous amount of wasted heat energy was transferred through the exhaust port walls into the coolant, causing them to run hot at idle - cylinder pressure fell off, engine temperatures went up, combustion efficiency went down the drain, and fuel economy went down with it.


If you look at the centrifugal advance calibrations for these "ported spark, late-timed" engines, you'll see that instead of having 20 degrees of advance, they had up to 34 degrees of advance in the distributor, in order to get back to the 34-36 degrees "total timing" at high rpm wide-open throttle to get some of the performance back. The vacuum advance still worked at steady-state highway cruise (lean mixture = low emissions), but it was inoperative at idle, which caused all manner of problems - "ported vacuum" was strictly an early, pre-converter crude emissions strategy, and nothing more.


What about the Harry high-school non-vacuum advance polished billet "whizbang" distributors you see in the Summit and Jeg's catalogs? They're JUNK on a street-driven car, but some people keep buying them because they're "race car" parts, so they must be "good for my car" - they're NOT. "Race cars" run at wide-open throttle, rich mixture, full load, and high rpm all the time, so they don't need a system (vacuum advance) to deal with the full range of driving conditions encountered in street operation. Anyone driving a street-driven car without manifold-connected vacuum advance is sacrificing idle cooling, throttle response, engine efficiency, and fuel economy, probably because they don't understand what vacuum advance is, how it works, and what it's for - there are lots of long-time experienced "mechanics" who don't understand the principles and operation of vacuum advance either, so they're not alone.


Vacuum advance calibrations are different between stock engines and modified engines, especially if you have a lot of cam and have relatively low manifold vacuum at idle. Most stock vacuum advance cans aren’t fully-deployed until they see about 15" Hg. Manifold vacuum, so those cans don’t work very well on a modified engine; with less than 15" Hg. at a rough idle, the stock can will "dither" in and out in response to the rapidly-changing manifold vacuum, constantly varying the amount of vacuum advance, which creates an unstable idle. Modified engines with more cam that generate less than 15" Hg. of vacuum at idle need a vacuum advance can that’s fully-deployed at least 1", preferably 2" of vacuum less than idle vacuum level so idle advance is solid and stable; the Echlin #VC-1810 advance can (about $10 at NAPA) provides the same amount of advance as the stock can (15 degrees), but is fully-deployed at only 8" of vacuum, so there is no variation in idle timing even with a stout cam.


For peak engine performance, driveability, idle cooling and efficiency in a street-driven car, you need vacuum advance, connected to full manifold vacuum. Absolutely. Positively. Don't ask Summit or Jeg's about it – they don’t understand it, they're on commission, and they want to sell "race car" parts.



This was a great post and explains things much better than I could.
Thanks, John.
 
Last edited:
I'm wondering how to include this into my purely electronic setup.

Increased engine load is basically manifested by the need to open the throttle farther in order to maintain a given rpm. That gets more A/F mixture into the cylinder, providing a bigger bang and more power at each firing. Opening the throttle decreases engine vacuum and the amount of advance needed.

So if I include a TPS signal along with the RPM signal it looks like I could make a fair stab at figuring the needed vacuum advance times by doing an on the fly calculation using those values. Wire the TPS to an ADC input and get a numerical value.

Or I could even mount a vacuum chamber from a dist. under the hood and run a hose to the intake port. Hook a sliding potentiometer to it's little arm and measure engine vacuum directly as a voltage level. Hook that to an ADC input and also have a numerical value to use.

I'm trying to keep this as simple as possible but I guess I should allow for the addition of a couple more inputs like the ones I'll run into when I get to the fuel system - MAF, MAP, O2, Engine temp, etc.
 
About the only other area of concern I can think of now is rotational accelleration. A good running carbed motor can increase it's rpm's very quickly. From idle to max in about a second, less in some cases. These EFI motors with their long intake runners, long inlet tubes, and restrictive plenum chambers are not able to match that but some can still wind up fairly quickly.

That's the main reason I included the RPS figures in the numbers post. And also why I want an individual tach pulse from every cylinder instead of just the #1. I may not to be able to perform the needed operations for every individual cylinder but I think I can catch every other one easily. It depends on how the microcontroller manages its timers, counters, etc.

Essentially take the time between two ignition events, #1 and #2, to calculate rpm. Use that time along with the TPS value and the increasing advance value to calculate the total advance. Get that time value into a countdown register. These calcs and operations would take place between events #2 and #3. #3 would start the countdown and fire at zero. Or something like that. I'm going to work on a walkthrough now and see what happens.
 
For reading Manifold vacuumn Bosch have 2 types I know of for EFI engines. One has a variable volotage output, the other has a variable frequency output.
 
I would just point out that the speed of burn depends on the density of the air / fuel mixture, not the ratio of air to fuel. When you accelerate, the throttle opens so more air and more fuel is sucked in. The manifold pressure increases, so there is less vacuum, and less vacuum advance, which is needed because the denser mixture burns faster.

The air / fuel ratio may change slightly at wider throttle openings, because a richer mixture will produce slightly more power. However, that is not a large effect, it may mess up the emissions, and it should only happen at full throttle, because the system should only resort to putting more fuel in when it can't get any more air in, as air is cheaper.

There is also the accelerator pump. That adds fuel while the throttle is opening, and is is needed to compensate for the condensation of fuel when the manifold pressure increases. The accelerator pump does nothing when the throttle position is not changing, so it only enriches the mixture briefly.

Anyhow, the air / fuel ratio doesn't change a lot, and the density of the mixture changes far more, and the vacuum advance is needed because of the changes in density, not the richness or leanness of the mixture.
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top