Spark Advance table example needed
#1
Junior Member
Thread Starter
Join Date: Apr 2019
Posts: 31
Received 0 Likes
on
0 Posts
Car: 89 Corvette
Engine: 383, hsr intake, xr288hr-10,
Transmission: 700r4 , transgo shift kit, 3k stall
Spark Advance table example needed
Trying to understand the sa tables vs actual engine excelleration vs mph at the foot pedal. Found this graph
from older thread here and compared it to my bin which is a lot different. Can there be a good/simple
reason?
bottom: my bin
from older thread here and compared it to my bin which is a lot different. Can there be a good/simple
reason?
bottom: my bin
#2
Re: Spark Advance table example needed
For the HSR, I'd recommend starting with the LT1 or LT4 tables and working from there. Several things can affect the timing map though.... cylinder head design, static compression ratio, dynamic compression (which is related to the valve timing), etc...
LT4 is significantly more aggressive than the LT1. All of the aforementioned factors allow me to get away with the LT4.
http://ultm8z.com/DIY%20Tuning.htm
Go to the spark table comparisons link... you can get both tables from there.
LT4 is significantly more aggressive than the LT1. All of the aforementioned factors allow me to get away with the LT4.
http://ultm8z.com/DIY%20Tuning.htm
Go to the spark table comparisons link... you can get both tables from there.
#3
Senior Member
Re: Spark Advance table example needed
REVISION Dec, 2020: The original post here showed advance declining after all-in advance and RPM under the assumption there would be PE advance added after all-in. This revision shows an advance table that does not decline after all-in advance is achieved. That means the PE spark adder table would have all values =0 so that all advance is provided by the Main table. Either method is OK, and the technique discussed here applies to both.
Note that this technique is only designed to build a beginning spark advance table. It's the user's responsibility to adjust it as required after logging. Use at your own risk!
Summary:
Begin by determining:
Example:
XDF values provided by the spark table Conversion Equation may not exactly match the desired values due to rounding:
Assume the following:
Once the above RPMs and percentages are determined, advance should be evenly spaced in the intervening RPM rows.
WOT advance at 100 kPa is now established.
Next, need to determine how much advance is to increase as kPas decrease below 100. For example, assume an increase of 0.1 deg per 1 kPa decrease is desired. This is a good starting point, but can be any value depending upon how much advance your engine can handle at the lower kPas. With the above 100 kPa and 1000 RPM 22.18 deg total advance, advance at 95 kPa and 1000 RPM would be 22.68 deg:
Finally, optionally choose a kPa above which advance is not to exceed the all-in advance. Say that's 80 kPa in the example. Just limit advance above 80 kPa to the all-in advance of 32 deg. This is not required, but may be necessary because knocks can occur at a high load even though not at WOT.
Enter all upper spark table values to match those in the 4800 RPM row.
Spark tables done!
Now that your eyes are glazed over, the attached spreadsheet makes this easy. Everything is automatically computed providing the proper spark curve. When completed, copy the computed Excel table to your Main spark table.
Using the above example, here's the raw, un-smoothed table and a graph:
Note that this technique is only designed to build a beginning spark advance table. It's the user's responsibility to adjust it as required after logging. Use at your own risk!
-------------------------------------------------------------------------------------
We'll be in the weeds a bit because of the necessary detail; but it's worth it, and the attached Excel file makes building a spark table very easy to do. This procedure provided me great SOTP acceleration to red-line, and best of all -- no knocks! But the graph of the resulting spark table is so far from the factory spark table structure it's hard to believe. All references here are to TDC advance in the spark tables.Summary:
Begin by determining:
--all-in (maximum) advance
--all-in RPM at which the all-in advance is achieved.
- kPa below 100, above which advance is not to exceed the all-in advance.
- "Advance Range", which is the difference between all-in advance and advance at the upper idle RPM.
In the 100 kPa column:--all-in RPM at which the all-in advance is achieved.
- kPa below 100, above which advance is not to exceed the all-in advance.
- "Advance Range", which is the difference between all-in advance and advance at the upper idle RPM.
- Enter the all-in advance at the all-in RPM.
- Beginning at the upper idle RPM, evenly space advance increases for all RPM in the Advance Range
In all kPa columns below 100 kPa:- Beginning at the upper idle RPM, evenly space advance increases for all RPM in the Advance Range
- In each RPM row above maximum idle RPM, increase advance evenly beginning at 100 kPa down to 20 kPa
Example:
XDF values provided by the spark table Conversion Equation may not exactly match the desired values due to rounding:
Assume the following:
- Upper idle RPM: 800
- Advance at idle: 21.09 deg
- All-in advance: 32.0 deg
- All-in RPM: 3200
- kPa above which advance is not to exceed all-in advance: 80
- Advance Range (upper idle RPM to all-in RPM): 10.91 deg = 32.0[all-in] - 21.09[idle])
- Advance in the 100 kPa column at selected RPM is increased beginning at the upper idle RPM to all-in RPM.
This technique allows adding more advance in the Advance Range earlier, later, evenly, etc.:
- Advance at idle: 21.09 deg
- All-in advance: 32.0 deg
- All-in RPM: 3200
- kPa above which advance is not to exceed all-in advance: 80
- Advance Range (upper idle RPM to all-in RPM): 10.91 deg = 32.0[all-in] - 21.09[idle])
- Advance in the 100 kPa column at selected RPM is increased beginning at the upper idle RPM to all-in RPM.
This technique allows adding more advance in the Advance Range earlier, later, evenly, etc.:
800 RPM = Upper Idle (all idle advance is 21.09 deg)
1000 RPM = +10% (1.09 deg of 10.91 deg range + 21.09 = 22.18 deg total advance)
1600 RPM = +40% (4.36 deg of 10.91 deg range + 22.18 = 26.54 deg total advance)
2400 RPM = +30% (3.27 deg of 10.91 deg range + 26.54 = 29.81 deg total advance)
3200 RPM = +20% (2.18 deg of 10.91 deg range + 29.81 = 31.99 deg total advance)
This shows advance will increase 10% of the Advance Range (1.09 deg) from 800 to 1000 RPM, will increase an additional 40% (an additional 4.36 deg) from 1000 to 1600 RPM, etc.1000 RPM = +10% (1.09 deg of 10.91 deg range + 21.09 = 22.18 deg total advance)
1600 RPM = +40% (4.36 deg of 10.91 deg range + 22.18 = 26.54 deg total advance)
2400 RPM = +30% (3.27 deg of 10.91 deg range + 26.54 = 29.81 deg total advance)
3200 RPM = +20% (2.18 deg of 10.91 deg range + 29.81 = 31.99 deg total advance)
Once the above RPMs and percentages are determined, advance should be evenly spaced in the intervening RPM rows.
WOT advance at 100 kPa is now established.
Next, need to determine how much advance is to increase as kPas decrease below 100. For example, assume an increase of 0.1 deg per 1 kPa decrease is desired. This is a good starting point, but can be any value depending upon how much advance your engine can handle at the lower kPas. With the above 100 kPa and 1000 RPM 22.18 deg total advance, advance at 95 kPa and 1000 RPM would be 22.68 deg:
100 kPa - 95 kPa = 5 kPa range
5 kPa x 0.1 deg per 1 kPa decrease = 0.5 deg advance increase from 100 to 95 kPa
22.18 deg advance at 100 kPa + 0.5 deg = 22.68 deg at 95 kPa
Continue this process for each kPa below 100 in each RPM row above upper idle RPM.5 kPa x 0.1 deg per 1 kPa decrease = 0.5 deg advance increase from 100 to 95 kPa
22.18 deg advance at 100 kPa + 0.5 deg = 22.68 deg at 95 kPa
Finally, optionally choose a kPa above which advance is not to exceed the all-in advance. Say that's 80 kPa in the example. Just limit advance above 80 kPa to the all-in advance of 32 deg. This is not required, but may be necessary because knocks can occur at a high load even though not at WOT.
Enter all upper spark table values to match those in the 4800 RPM row.
Spark tables done!
Now that your eyes are glazed over, the attached spreadsheet makes this easy. Everything is automatically computed providing the proper spark curve. When completed, copy the computed Excel table to your Main spark table.
Using the above example, here's the raw, un-smoothed table and a graph:
Last edited by 84Elky; 12-29-2020 at 02:39 PM. Reason: Updated to reflect no decrease in advance beyond all-in RPM
#4
Junior Member
Thread Starter
Join Date: Apr 2019
Posts: 31
Received 0 Likes
on
0 Posts
Car: 89 Corvette
Engine: 383, hsr intake, xr288hr-10,
Transmission: 700r4 , transgo shift kit, 3k stall
Re: Spark Advance table example needed
Thank you for the help with understanding the sa tables. Absolutely the best and most detailed post. Learning curve here but now i'm even more interested
in the science/math in these ecms and proms.
84ELKY #1
in the science/math in these ecms and proms.
84ELKY #1
#5
Supreme Member
iTrader: (15)
Re: Spark Advance table example needed
If you have the EBL and a working knock sensor, and you're using the highest octane at your local gas station, and you have aluminum heads and keep the coolant temp around 200° I would manually input all the numbers from the LT4 spark map. You can then tune idle spark and then go for slow drives while looking for knock counts. If you get knock counts just take out 2° timing in the appropriate cells. Slowly work yourself up the map to full throttle until you have 0 knock counts and no surging at cruise.
#6
Junior Member
Re: Spark Advance table example needed
Good reason, yes. Simple, no. Many variations.
Have intended to post this for a while, so your question is timely. I struggled for a long time to get a timing table that worked at all RPMs and MAP. Nothing worked well. Then a racing friend provided a tip that solved everything. It worked for me; it may not for you but will share it here. However, a warning that we'll be in the weeds because there's a lot of detail, but it's worth it and Excel makes it very easy to do. This procedure provided maximum accel at low RPMs, maximum pull to red-line, and best of all -- no knocks! But the graph of the resulting spark table is so far from the factory spark table structure it's hard to believe. All references here are to TDC advance in the spark tables.
Summary:
Details
Having determined maximum advance and all-in RPM, next determine how advance at 100 kPa is to ramp up from upper in-gear idle RPM to the all-in RPM. It can be an equal # of degrees of the Advance Range for each RPM row, x% of the Advance Range at various RPMs, etc. As an example, assume the following:
Next at 100kPa, decrease advance x* in the RPM rows beyond the all-in RPM. Example using 2* reduction at 100kPa:
Next, need to determine how much you want spark to increase at kPa's below 100. For example, assume you want advance to increase 0.1* per 1 kPa decrease. This is a good starting point, but can be 0.1 to 0.3 depending upon how much advance your engine can handle at the lower RPMs. Using the 22.18* advance above at 100 kPa and 1000 RPM, spark at 95kPa would be 22.68*:
Next, choose a kPa above which you don't want advance to exceed the maximum advance. This is important because can be in a RPM/kPa area before WOT that may cause knocks if advance is > maximum desired. Say that's 80 kPa. Just limit advance above 80 kPa to the maximum advance of 32* in the above example.
Change the entire Upper spark table to match the advance in the 4800 RPM row.
Now that your eyes are glazed over, the attached spreadsheet makes this easy. When completed, copy the computed advances to your spark table. As always, just have to find the maximum advance and all-in RPM the engine requires for best performance without knocks. Everything else is automatically computed providing the proper spark curve.
Here is the table in the above example and a graph. Use at your own risk!
Have intended to post this for a while, so your question is timely. I struggled for a long time to get a timing table that worked at all RPMs and MAP. Nothing worked well. Then a racing friend provided a tip that solved everything. It worked for me; it may not for you but will share it here. However, a warning that we'll be in the weeds because there's a lot of detail, but it's worth it and Excel makes it very easy to do. This procedure provided maximum accel at low RPMs, maximum pull to red-line, and best of all -- no knocks! But the graph of the resulting spark table is so far from the factory spark table structure it's hard to believe. All references here are to TDC advance in the spark tables.
Summary:
- Determine maximum advance and all-in RPM
- In 100 kPa column from upper idle RPM to all-in RPM, enter desired advance -- ramping up to the maximum advance at the all-in RPM. The difference between maximum advance and advance at idle is the "Advance Range".
- In each RPM row above idle, increase advance at a linear rate in all kPa columns below 100 kPa
- Determine kPa above which advance is not to exceed the maximum advance, and force to maximum advance
Details
Having determined maximum advance and all-in RPM, next determine how advance at 100 kPa is to ramp up from upper in-gear idle RPM to the all-in RPM. It can be an equal # of degrees of the Advance Range for each RPM row, x% of the Advance Range at various RPMs, etc. As an example, assume the following:
Upper in-gear idle RPM: 800
Advance at idle: 21.09*
All-in advance: 32.0*
Advance Range (idle to all-in): 10.91* (32.0* - 21.09*)
All-in RPM: 3200
Ramp of advance from upper in-gear idle RPM to all-in RPM:
Advance at idle: 21.09*
All-in advance: 32.0*
Advance Range (idle to all-in): 10.91* (32.0* - 21.09*)
All-in RPM: 3200
Ramp of advance from upper in-gear idle RPM to all-in RPM:
800 RPM = Upper Idle
1000 RPM = 10% (1.09* of 10.91* range = 22.18* advance)
1600 RPM = 40% (4.36* of 10.91* range = 26.54* advance)
2400 RPM = 30% (3.27* of 10.91* range = 29.81* advance)
3200 RPM = 20% (2.18* of 10.91* range = 31.99* advance) [.01* rounding difference]
Evenly space advance in the intervening RPM rows.1000 RPM = 10% (1.09* of 10.91* range = 22.18* advance)
1600 RPM = 40% (4.36* of 10.91* range = 26.54* advance)
2400 RPM = 30% (3.27* of 10.91* range = 29.81* advance)
3200 RPM = 20% (2.18* of 10.91* range = 31.99* advance) [.01* rounding difference]
Next at 100kPa, decrease advance x* in the RPM rows beyond the all-in RPM. Example using 2* reduction at 100kPa:
3200 32* (all-in)
3600 30*
4000 28*
4400 26*
4800 24*
WOT advance is now set.3600 30*
4000 28*
4400 26*
4800 24*
Next, need to determine how much you want spark to increase at kPa's below 100. For example, assume you want advance to increase 0.1* per 1 kPa decrease. This is a good starting point, but can be 0.1 to 0.3 depending upon how much advance your engine can handle at the lower RPMs. Using the 22.18* advance above at 100 kPa and 1000 RPM, spark at 95kPa would be 22.68*:
100kPa - 95kPa = 5kPa
5kPa * 0.1 degree advance per kPa decrease = 0.5* advance increase
22.18* advance at 100kPa + 0.5* = 22.68* at 95kPa
Continue this process down to 20kPa for each RPM row.5kPa * 0.1 degree advance per kPa decrease = 0.5* advance increase
22.18* advance at 100kPa + 0.5* = 22.68* at 95kPa
Next, choose a kPa above which you don't want advance to exceed the maximum advance. This is important because can be in a RPM/kPa area before WOT that may cause knocks if advance is > maximum desired. Say that's 80 kPa. Just limit advance above 80 kPa to the maximum advance of 32* in the above example.
Change the entire Upper spark table to match the advance in the 4800 RPM row.
Now that your eyes are glazed over, the attached spreadsheet makes this easy. When completed, copy the computed advances to your spark table. As always, just have to find the maximum advance and all-in RPM the engine requires for best performance without knocks. Everything else is automatically computed providing the proper spark curve.
Here is the table in the above example and a graph. Use at your own risk!
#7
Senior Member
Re: Spark Advance table example needed
@84Elky I saw where you linked this on another site but, I can't remember where it was. Thanks for the Excel spreadsheet, it makes everything so much easier! I've been trying to get my SA tables tuned but I'm not real happy with it. I see you're starting with 32* adv. Would I want to start there too on my TBI 350 stock bottom end with a Lunati Voodoo Flat tappet cam, 207/213 w/1.6 roller rockers making it .466/.484", and Summit Racing (Trick Flow) 62cc chamber, 170cc intake runners, 2.02/1.60" valves? I'm using the EBL also...
HTH, Elky
Trending Topics
#8
Member
Join Date: Aug 2021
Posts: 225
Likes: 0
Received 21 Likes
on
21 Posts
Car: 1938 Chevrolet
Engine: ZZ 502
Transmission: 4L60
Axle/Gears: Ford 9 3:70
Re: Spark Advance table example needed
The Spark Advance Table Calculator Excel Spreadsheet is an awesome tool for getting a preliminary table setup. That spreadsheet has a formula loop in it for the "Range" calculation. (Difference between Idle SA and Max SA). I discovered this trying to change the degrees advance with KPA decrease. I wouldn't calculate in all the cells.
I corrected the loop by adding the Target Idle SA in the assumptions section. That amount will populate the Idle cells automatically.
My first test had a few Knock Retards in a couple of cells around KPA 40-50 and RPM 1100-1600. Instead of changing just those cells, I changed the degrees advance KPA decrease by .01. Will try again.
Revised Excel Attached
I corrected the loop by adding the Target Idle SA in the assumptions section. That amount will populate the Idle cells automatically.
My first test had a few Knock Retards in a couple of cells around KPA 40-50 and RPM 1100-1600. Instead of changing just those cells, I changed the degrees advance KPA decrease by .01. Will try again.
Revised Excel Attached
The following users liked this post:
SbFormula (10-24-2022)
Thread
Thread Starter
Forum
Replies
Last Post