Searching \ for 'Ignition timing control' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=ignition+timing
Search entire site for: 'Ignition timing control'.

Truncated match.
PICList Thread
'Ignition timing control'
2000\05\01@234129 by John Pearson

flavicon
face
I am thinking of ways to control the ignition timing advance curve of a
car. I was thinking that I might time the amount of time between cylinder
firings and divide that number by 360. Then I would know when to fire the
next cylinder after checking with a lookup table for the programmed curve.

Is there a better or easier way?

Thanks

John

2000\05\02@002823 by Tony Nixon

flavicon
picon face
John Pearson wrote:
>
> I am thinking of ways to control the ignition timing advance curve of a
> car. I was thinking that I might time the amount of time between cylinder
> firings and divide that number by 360. Then I would know when to fire the
> next cylinder after checking with a lookup table for the programmed curve.
>
> Is there a better or easier way?
>
> Thanks
>
> John

One thing is to remember that the less calculations you have to do while
the engine is running, the better.

Two ways I have found around this, is to precalculate data that is used
while the engine is running, or use a lookup table.

I used precalculated data with 4 stages of advance, vac adv, dwell and
RPM timing etc. It took a PIC 16F84 about 40 - 60 inline instructions to
get the timing for all these parameters as well as do the actual timing
from the results.

Check out

http://www.picnpoke.com/projects/ignition.html

There is some early downloadable code there that uses a lookup table.

--
Best regards

Tony

http://www.picnpoke.com
spam_OUTsalesTakeThisOuTspampicnpoke.com

2000\05\02@003626 by l.allen

picon face
John Wrote
> I am thinking of ways to control the ignition timing advance curve of a
> car. I was thinking that I might time the amount of time between cylinder
> firings and divide that number by 360. Then I would know when to fire the
> next cylinder after checking with a lookup table for the programmed curve.
>
> Is there a better or easier way?
>
Young Anthony Nixon of the PICLIST made and
published through a magazine called Silicon Chip such a
device using a 16C84 and a keypad.

I would definitely talk to him.

_____________________________

Lance Allen
Technical Officer
Uni of Auckland
Psych Dept
New Zealand

http://www.psych.auckland.ac.nz

_____________________________

2000\05\02@020318 by Gareth Bennett

flavicon
face
Silicon Chip had a programmable ignition using a PIC ..... You may want to
look at the article.
The kits are still available, or the code may be of interest to you!
http://www.picnpoke.com/projects/ignition.html
Hope this helps

____________________________________________________________________________
________________________________________________________
         Gareth Bennett      .....garethbKILLspamspam@spam@es.co.nz
         Systems Engineering    (LMR Group)
         Otago/Southland Region
         New Zealand
{Original Message removed}

2000\05\02@022242 by Andrew Warren

face
flavicon
face
John Pearson <PICLISTspamKILLspamMITVMA.MIT.EDU> wrote:

> I am thinking of ways to control the ignition timing advance curve of
> a car. I was thinking that I might time the amount of time between
> cylinder firings and divide that number by 360. Then I would know when
> to fire the next cylinder after checking with a lookup table for the
> programmed curve.
>
> Is there a better or easier way?

John:

Why divide by 360 at all?  I don't see what purpose that would
serve...

Anyway, it's harder than it appears; if you only have a low-
resolution source of engine-position information (like the
distributor), you'll probably find that your PIC will retard the
timing whenever the engine's accelerated.  You can get better engine-
position resolution if your car has a crank sensor on the flywheel or
something... But if you use that instead of the signal from the
distributor, you'll no longer get free information from the
distributor's vacuum sensor, which is sorta important if this is for
a street-driven car, since you won't get real good drivability if you
just use a hardwired curve.

On the other hand, using the distributor signal (after it's been
affected by the vacuum sensor) means that you might have to modify
your curve to compensate for a non-optimal vacuum-advance.

And... Since your engine presumably revs over a large range, you have
to make sure that you're measuring time with high-enough resolution
for accurate operation at redline, but not so finely that you
overflow your counters at idle.

There are LOTS of other software issues (and a fair number of
hardware issues, as well), but those are the main ones.  Ignition
controllers are kinda complicated; the ones I did for Jacobs
Electronics ran to over 10,000 lines of code.

My personal inclination, if I were just doing this for my own car,
would be to forget about putting a PIC in there and just take the
distributor to a race shop and get it re-curved to my specs (or, if
the car didn't HAVE a distributor, take the existing EPROM out of the
ECU and have IT modified).

If you DO decide to do this project, though, I can offer a bit of
advice:  Do all your testing on the bench, with a function generator
replacing the car's distributor.  Spark timing that's bad enough to
cause detonation will kill an engine fast, and timing that's GROSSLY
wrong will kill an engine REAL fast.

Good luck...

-Andy


=== Andrew Warren - .....fastfwdKILLspamspam.....ix.netcom.com
=== Fast Forward Engineering - San Diego, California
=== http://www.geocities.com/SiliconValley/2499

2000\05\02@030126 by Tony Nixon

flavicon
picon face
Andrew Warren wrote:

> If you DO decide to do this project, though, I can offer a bit of
> advice:  Do all your testing on the bench, with a function generator
> replacing the car's distributor.  Spark timing that's bad enough to
> cause detonation will kill an engine fast, and timing that's GROSSLY
> wrong will kill an engine REAL fast.

Good advice.

Many a night, 'the shed' lit up due to carby and exhaust 'explosions'.
Couldn't believe the PIC survived all the crap it had to put up with.
Still got it somewhere.

Keep naked working spark plugs away from the PIC too. It will start
executing it's code upside down and backwards at the same time. Same
goes for old copper cored spark leads. Very frustrating to find bugs if
you are unaware of this.

Avoid ground loops through the PIC PCB. If the coil (or other) suddenly
decides to return it's current back through the PCB's ground due to a
faulty connection, the PCB will light up "Eat at Joe's" for a split
second then spit the dummy. I've seen it happen twice now.

Make your circuit robust enough for a brown out situation, such as
cranking with a half flat battery, and things such as load dumps etc.
Sometimes the PIC can fire up or run in an erratic manner.

One good thing about using a distributor with a 'home made' ignition
system is that you can bypass the PIC circuit and connect the coil back
up to the points to get home if something fails.

The 8 bit timers in the PIC are not really set up for high revving
accuracy. I think Motorola (are you allowed to say that here), have
purpose built processors for ignition control, whether or not you can
get them is another matter.

I did some rough math awhile ago, and on older slow revving motors,
using the distributor for a timing reference doesn't matter too much. Hi
performance, Hi RPM is a totally different ball game though. Best left
to the experts.

I think one of the trickiest things is getting control of the engine
just when you are starting to crank it. And then
there's...and...and...and..

As Andy said, "a project like this is harder than it first appears".

--
Best regards

Tony

http://www.picnpoke.com
EraseMEsalesspam_OUTspamTakeThisOuTpicnpoke.com

2000\05\02@030537 by Darren Logan

picon face
John,

Write to davidspamspam_OUTnumber15.freeserve.co.uk (David).

He's an old college buddy of mine and did his final year degree project based
on go-kart
ignition timing. He may be able to help.
(Mention to David that i sent you)

Regards,
Darren

2000\05\02@100513 by James Paul

flavicon
face
John,

That's basically the way the car mfg does it,(At least Ford I know).
But the firing of the ignition is dependent on many factors..ie
Engine Speed, Engine Load, Whether Accelerating or Decellerating,
Temperature of Engine, etc., etc.  So, it's not just a matter of
adding a fixed value time period.  It's a rather complicated
process.  It's doable, but it will take a little more calculation
and thinking to come up with a lookup table that will help and not
hinder.   I've had some experience in this area, but I don't claim
to be an expert by any stretch of the term.   And my experience is
limited at that.   I'd be glad to help out where I can, but I will
tell you now that I don't have the knowledge or expertise to do it
all by myself if I were asked to.  Anyway, let me know what you
decide.


                                     Regards,


                                       Jim



On Mon, 01 May 2000, John Pearson wrote:

{Quote hidden}

@spam@jimKILLspamspamjpes.com

2000\05\02@143122 by Craig Lee

flavicon
face
>As Andy said, "a project like this is harder than it first appears".

Tell me about it.  I did one a while back that was supposed to take
a month.  I figured a simple state machine would do the trick.

You need to factor in dwell time, noise spikes, brown out, low rev
timing, rev limiting, etc.

Craig

More... (looser matching)
- Last day of these posts
- In 2000 , 2001 only
- Today
- New search...