PDA

View Full Version : Understanding Spark - $42 7747



shimniok
09-21-2012, 01:36 AM
I want to continue to try to wrap my head around spark advance in the 7747 $42 mask that I have. I've seen some of EagleMark's posts (this (http://www.gearhead-efi.com/Fuel-Injection/showthread.php?752-Trouble-with-idle-speed-in-park&p=14114&viewfull=1#post14114) and this (http://www.gearhead-efi.com/Fuel-Injection/showthread.php?1071-Can-I-get-some-eyes&p=12878&viewfull=1#post12878)) that describe it, and have looked thru the latest XDF's comments. I am putting together a spreadsheet to (try to) duplicate the interaction between tables and parameters. I'm using ASDU

Let's assume temp of 185-195°F so I don't have to deal with Coolant Comp Spark Adv yet. Let's assume cruise and no PE, DFCO, or AE involved. Let's assume there's no knock retard happening. And let's talk about 400-3600 rpm only for the moment.

Starting with the Main Spark Advance table, it gives the ECM a mapping between spark given rpm and MAP. So the ECM knows what rpm and MAP it's at, and it can interpolate given the table, what spark to start with.

Then it subtracts from that the Spark Bias-Warm value (9.84).

Then it subtracts the Initial SA (0 in the stock bin) (EDITED 9/21)

Then it adds the unbiased value for Coolant Comp Spark Adv. It gets that unbiased value by subtracting Spark Bias-Cold value (20.04) from whatever the value is in the table given MAP and Temp. Let's say the temp is 195 and MAP is 30. The entry in the stock bin is (gasp) 20.04. Subtract bias. You get 0 spark compensation.

So if you were to take the Main SA table, subtract Spark Bias-Warm, subtract (edit 9/21) Initial SA, then subtract the actual base timing (let's say your dist is set to 0), add in the applicable Coolant Comp Spark Adv, subtract the Spark Bias-Cold, then you'd get the almost actual spark advance? Except HiWay Spark Added (stock bin is zero'ed out).

...and ... except for Spark Latency Correction-- how does the ECM use that? (I'll go search)

What else comes into play for this simple case? I'll ask about other specific cases later.

In terms of practical application, I'm not doing anything with SA tables for awhile. Hoping it is "close enough" However, I do need to set my Initial SA scalar to 10 to match my distributor base timing which we set at 10. I've been running around with Initial set to 0 without knowing it until last night. Before I do more test and tune I need to fix that.

EagleMark
09-21-2012, 05:37 PM
The EST/ICM can also have an effect that is biased by Spark Latency. It's hard to find actual timing with timing light where this comes into play at 3000 RPM or so.


http://www.thirdgen.org/techboard/diy-prom/465232-ebl-sa-latency-table.html


The purpose of the latency is to make up for lost time. The way the distributor
operates causes a delay between when the reluctor passes the pole piece and the
signal reaches the ECM. This delay changes according to the RPM of the
distributor.

The code works by subtracting the latency value from the
spark advance value. However, at this point in the code the SA has already been
converted from an angle to time. Instead of 30 deg BTDC, it will be in
micro-seconds BTDC (In actuality it is usec's ATDC as it will be firing the next
cylinder is sequence. And because of that a subtraction of the latency value has
the SA event occuring sooner, making up for lost time).

Now, if my math
skills are still OK, here are some calc's that show by how much they adjust the
timing. Plug firing or 90 deg crank rotation intervals:

8 cylinders at
1600 RPM:

(1600 rpm) / (60 SecPerMin) = 26.67 Hz
(RPSeconds)

26.67 * (4 CylPerRev) = 106.67 plug firings per
second

1 / 106.67 = 0.009375, or 9.375 msec between plug
firings

9.375 / 90 deg of crank throw = 0.104167 msec per degree, or
104.167 usec


8 cylinders at 6400 RPM:

2.34375 msec between
plug firings

2.34375 / 90 deg of crank throw = .02604 msec per degree, or
26.04 usec




From AXKT the lastest '88 - '92 TBI
Firebird/Camaro BIN the SA latency at 1600 RPM is 305.2 usec's (This is a small
cap distributor).

At 104 usec per degree of crank rotation this is a
little under 3 degrees of timing.


Oddly enough the latency value in
AXKT at 4800 RPM is also 305.2 usec (there are different values at other RPMs).
That value will be used from 4800 RPM through max RPM.

With that at 6400
RPM wiath a latency of 305.2 usec is 11.7 degrees of SA
(substantial).

RBob.

1project2many
09-21-2012, 08:41 PM
Initial spark advance is subtracted, not added. The tables and biases work together to form a "desired spark advance" value. The latency and initial advance exist to make "delivered spark advance" match "desired spark advance." For example, if your distributor was set at 10 deg BTDC and the ecm didn't adjust the spark advance (0 deg advance, 0 deg retard) then spark advance at the crank would also be ten degrees. If the ecm delivered ten degrees advance in addition to the ten degrees at the distributor, spark advance at the crank would be twenty degrees. In order to make spark advance at teh crank, the ecm must subtract distributor advance from desired total. Spark latency is, in effect, added. Since the spark delivery is delayed there has to be an "extra" amount of advance included equal to the delay in delivery. For the purposes of a spreadsheet to display aggregate "desired spark advance," both of these values could be ignored.

shimniok
09-22-2012, 12:27 AM
Initial spark advance is subtracted, not added.

Oops. I knew that... distributor "adds" (10 deg in my case) and ECM subtracts initial SA (9.84 in my case, now that I've changed that scalar from stock bin to match my distributor)

Thanks :)

Michael