Do-It-Yourself Computer Programmable
Ignition Advance Controller
&
Data Logger
The MegaSpark is a micro-processor unit to control the timing advance/retard in distributor based ignition system. MegaSpark controls only one coil, it is not a multi-coil waste spark system. A separate ignitor or CDI system is required to drive the coil. This system was originally constructed to control a MSD 6AL Ignition Module, but potentionally any ignition module that accepts convention point input and internally handles dwell (does not depend on the input for dwell) could work. The input to MegaSpark is one (and only one) trigger for each spark - no multi-toothed wheels. This input trigger needs to occur about 5 crank degrees before the greatest desired ignition advance and must always occur the same number of degrees before TDC. MegaSpark controls the timing by delaying this input trigger. This delay is based on a 1 usec clock, which provides 1/10 degree resolution at 8000 RPM. The desired timing curve emulates a distributor and is calculated to 1/2 degree. Base timing is controlled by RPM (mechanical advance) with a MAP adjustment added in (vacuum/boost advance/retard). Further, TPS or RPM thresholds can allow the "feathering" in of the MAP adjustment to simulate a "ported" vacuum source.
* Run on MegaSquirt v2.2 Hardware w/ no modifications (no EFI support)
* Supports Even or Odd Fire Engines -
4-stroke: 2,3,4,5,6,8,10,12 cylinders
2-stroke: 1,2,3,4,5,6 cylinder
* Base Advance by RPM
* MAP Adjustment - vacuum/boost advance/retard
* Emulation of "ported vacuum" from non-ported MAP via TPS or RPM (boost condition
is not feathered)
* 115 or 250 KPa MAP sensor support
* (2) outputs can be activated by RPM, MAP, TPS, etc, for shift lights, NOS, etc.
* rev limiter w/ (9) hardness levels, spark drop or retard
* Realtime Data Logging w/ file play back
* RPM calculated to +/-5 RPM @ 8000 RPM - potential for in vehicle HP/torque measurements
* 3-D contour plot of ignition timing
For details on installation & operation, please see -
uP software MegaSparkuP.zip, RevNum 89
includes S19
PC software MegaSparkDIY.zip, Vers 1.6.1, Visual Basic
source code MegaSparkVB.zip
includes a sample Data Log file, 030329160304.csv - my first 1/4
ET in the 13's thanks to MegaSpark
please ignore the RPM glitches, they where from a software "feature"
that has since been fixed!
Oct '02 - started project, initially to monitor the ignition advance
Nov '02 - system being used to monitor the ignition advance of the distributor
Dec '02 - wrote the code to actually control the ignition advance
3/13/03
Finally connected the to MSD point input to actually control the ignition timing.
Started right up with no problems! Ran in the garage, verifying the timing with
a timing light. Seeing about a 1 degree "jitter" as it idles. I believe
this is probably being caused by my magnets not being exactly 180 degrees apart -
they were mounted by hand.
I had been concerned that only having (2) crank references (magnets) would cause error
when the crank accels/decels. I set the timing to a constant 14 degrees for
all RPM's and then repeatedly rev'd the engine. I did not see any change in
timing beyond the "jitter". The software includes a crank accel/decel compensation
- for fun I comment this out, and tried again. This time I saw about 2-3 degree
dip in the timing when I rev'd the engine. Much less than what I had anticipated!
3/14/03
A break in the rain, so I went for a drive! Went about 20 miles. The timing
curve needs a little adjusting, but no bogs or hesitation off-idle, which I has concerned
about. This was done with RPM only advance, no MAP. Only two problems
-
1) miss starting at 6500 RPM - actually this feels/sounds like the MSD rev limiter
kicking in, but it is set at 8000. I can remove the rev limiter chip (disabling
it) to verify this. If so then my initial guess is that dwell on the MSD's point
input is some how causing the problem.
2) one CPU reset - may need to put an opto-isolator in MSD driver circuit. I
was getting *lots* of CPU resets when I initially started monitoring the ignition
timing but didn't have the opto on the MSD tach-out. None since installing the
that opto until now.
3/15/03
Changed the duty cycle on the MSD point input from 75% (!) to 50%. Now it to pulls cleanly to 8000 RPM! However, I'm having more CPU resets. Will breadboard a new MSD driver circuit w/ an opto-isolator, but this have to wait until I can get the parts. Also notice a few glitches in the RPM signal. I think this will be a matter of adjusting the hall effect to magnet distance.
3/16/03
I think the CPU resets are fixed! I disconnected the MSD driver GND from the MegaSquirt board and attached it directly to the chassis - no opto needed. Ran great during a short test drive! But need more miles to make sure.
3/23/03
Was only able to get out for one test drive in the last week, but the MegaSpark performed well. An hour of mixed city & highway driving was trouble free. Posted latest software which is now configurable for the number of cylinders.
3/29/03
MegaSpark spends a day at the drapstrip. Ran my first 13 - 13.985!!! Running .3 faster than my previous typical ET. Only change is now running the MegaSpark. Ran all today with no problems. I estimate my MegaSpark has now delivered 1 million sparks.
4/14/03 |
Major software & web site update. Many new features and a few bug fixes. I am going to call this the first "real" release, PC V1.0.0, uP RevNum 80. |
4/17/03 |
Update PC V1.1.0, uP RevNum 81 -
|
4/20/03 |
Update PC V1.2.0, uP RevNum 82 -
|
4/25/03 |
Update, uP RevNum 83 -
|
4/30/03 |
Update PC V1.4.0, uP RevNum 85 -
|
5/04/03 |
Update uP RevNum 86 -
|
5/06/03 |
Update PC V1.4.2 -
|
6/04/03 |
Update PC V1.4.4 -
|
6/07/03 |
Update PC V1.4.5, uP RevNum 87 -
|
7/31/03 |
Update PC V1.4.6 -
|
8/04/03 |
Update uP RevNum 88 -
|
8/16/03 |
Update PC V1.5.0, uP RevNum 89 -
|
8/28/03 |
Update PC V1.6.0
|
8/31/03 |
Update PC V1.6.1
|
MegaSpark Manual
MegaSquirt EFI
MegaSquirt Forums
http://autos.groups.yahoo.com/group/megasquirt/
http://autos.groups.yahoo.com/group/megajolt/
If you have comments, suggestions, questions, etc, please go to
http://autos.groups.yahoo.com/group/megaspark/
This page has been hit times.
Last updated 11/29/04 Some
of my other projects
http://home.comcast.net/~tjhafner/sr5.html
http://home.comcast.net/~tjhafner/Power_Monitor.html