PDA

View Full Version : Revisiting spark advance to optimize ...NEED SMART EYEBALLS....



Spittybug
11-05-2018, 05:22 PM
I'm not sure I've ever shared this file with the group. I made a spreadsheet to mimic the 3 components of spark advance; static, mechanical and vacuum. In my EFI setup I run two advance tables that are additive. One is based on static + mechanical, the other is vacuum.

In my spreadsheet I've taken the values from our manual and labeled them "spec" and highlighted in yellow. If I've extracted stock data correctly, the static advance is 15*, the mechanical advance goes from 0* to 20* starting at 1000 rpm and getting all in by 3000 rpm (actually this isn't actually stated, but seems to be consensus) and the vacuum advance goes from 20* to 0* from 15 in Mg down to 0 in Mg (manifold vacuum).

The model allows for you to change the shape of the mechanical advance curve by simulating either one or two springs in a distributor and the start/end RPMs that they work over (simulates spring stiffness). The vacuum advance is not adjustable and the curve is based on the manual data.

The stock setup DEACTIVATES the vacuum advance at idle through the use of the little micro switch on the throttle. I believe this is to prevent too much advance when cranking so that it isn't too difficult to start the car. But, that means at idle a stock car is at ~15* advance. If it weren't for this cutout, the advance would be 15* static plus another 20* vacuum since at idle the engine is creating the most vacuum. If you have your foot on the gas when cranking, does this make the timing immediately jump to 35*?

One question that begs asking is what is the optimal advance for idle? The theoretical answer is the one that creates the greatest manifold vacuum (lowest kPa numbers in Megasquirt) and that's what they recommend when tuning in Megasquirt. What values have you other EFI guys determined?

The model also lets you put in a maximum amount of advance. 15* + 20* + 20* = 55*. Does this sound too much for our stock engines? It would occur at high RPM throttle lift and deceleration. In a stock setup, the micro switch "pulls out" the 20* of vacuum advance, so I need to figure out how to model this.... Megasquirt has a decel fuel adjustment, but not one for spark timing. Practically speaking, just lowering vacuum advance values in higher RPM, higher vacuum areas of the table (lower right) does the trick.

I would love to look at some of your advance tables that you are running on your cars to see how my model compares to them. My goal has been to mimic the stock system based on the assumption that some good engineering went into making it as good as they could in the first place (maybe too much credit?). Given the 100% flexibility that software gives us, I'd like to tweek!

Comments? Please post tables so that I can compare. Thanks.

58502

Bitsyncmaster
11-05-2018, 07:27 PM
When you start the car the engine is turning around 500 RPM. If you step on the gas at that RPM I don't think you would get much if any vacuum. If you have to much advance during starting you may get a backfire. Also high advance at idle makes the RPM higher and hard to control idle RPM.

Ron
11-05-2018, 08:08 PM
$.02

Generally speaking a good engine will have ~5 in. hg. vacuum while cranking, so it would add ~3° advance, if you press the accelerator while cranking (which you shouldn't do with most any non-carbed vehicle)...and the engine temp is >40C/104F.

The optimal static timing is "13°" (+/- 2°, for high vacuum and smoothness) BTDC @ 750 RPM (+/- 50 RPM, for smoothness and auto v/s manual trans).

The stock setup deactivates the vacuum advance at idle to prevent "over advancement during idle and deceleration".

13 + (2) + 20 + 20 = 55° @ 4000 RPM is maximum advance spec for a stock engine.
(FWIW, many set stock timing by revving the engine to 4000 RPM and setting the timing to 55°, then double check static is at 13° (+/- 2°) at idle. This helps verify all three factors are present and gives max top end performance...)

Note:
The manual uses "hg. in."
Your spreadsheet table uses "Kpa" (?kPa Absolute?) and "Hg.gauge" (Inches Mercury Gauge).
hg. in. absolute and hg. in. gauge are ~inverses.
=> ~20 in. hg. Absolute = ~10 in. hg. Gauge = ~67 kPa (Absolute).
Conversion table HERE (https://www.engineeringtoolbox.com/vacuum-converter-d_460.html).

FABombjoy
11-05-2018, 09:31 PM
It looks like a lot of advance but seems to run well with low compression / slow heads. The highest advance cells are part throttle anyway.

I plugged the service manual values in and used Megasquirt to interpolate the equivalent table (and minus .75 degree/lb boost). Never any issues with misfire/ping/etc. Rev limit at 6000. I suspect there is room for improvement though and I'd like to schedule some time on a load cell dyno and get the table optimized.

The vac advance solenoid is goofy - teeing it in to the throttle tap should do the same thing as the idle switch/solenoid. That's all present to help speed up catalytic warmup. It's also a great generator of electrical noise if you have an early car without the filter caps.

Ron
11-05-2018, 10:48 PM
It's also a great generator of electrical noise if you have an early car without the filter caps.LOL!

====

Never played with Megasquirt... Since the vacuum would skyrocket when you let the throttle plates snap shut at high rpm you would want the advance to reduce quickly, so, you make the throttle tap say the converter is cold?

FABombjoy
11-06-2018, 09:51 AM
If you pull a lot of advance on decel you may end up with a burbly/poppy exhaust or exessive engine braking. If you have overrun fuel-cut tuned most of those timing areas are moot since there's no fuel to burn. You can also make the car feel jerky by pulling timing on decel. Imagine that situation where stuck behind a tractor while you're in a lower gear waiting for oncoming traffic to pass. So you're modulating the throttle to keep speed and during this you're bouncing up and down the ignition load table. If you're crossing a wide range of timing you'll feel it oscillate.

If you're running fuel-only MS, you could emulate the stock cold-advance behavior and have the advance solenoid controlled by MS based on coolant temp and use the throttle edge vacuum so the solenoid is just triggered on once, instead of on and off constantly. I'd probably drop the stock solenoid and use a three port instead so it can be set up on-when-cold and off-when-warm which is a better failsafe.

You can even leave K-jet but pull all the ECUs and have Megasquirt control ignition, idle, and the frequency valve. But that's like running 25 miles instead of finishing the marathon.

SS Spoiler
11-06-2018, 11:10 AM
huh?

Bitsyncmaster
11-06-2018, 12:43 PM
The vac advance solenoid is goofy - teeing it in to the throttle tap should do the same thing as the idle switch/solenoid. That's all present to help speed up catalytic warmup. It's also a great generator of electrical noise if you have an early car without the filter caps.

Yes the solenoid will produce noise when it switches off. I've seen the noise fire the ignition ECU. That causes the RPM relay to prime if the engine is not running and you hit the gas.

Ron
11-06-2018, 01:08 PM
Oops. I was already with you on the why...didn't mean to imply cutting the advance off totally.
I was wondering about the how using Megasquirt -- I got ya with the emulating... Thanks!

=============

Maybe this will help-
This is a from the first warm run on a thoroughly beefed up engine in son's street car.
(Definitely not a PRV, but if something can go wrong, it will ;-).
Note the advance climbs after the accelerator is released and the advance drops sharper (for the first half).
It turns high 10s and is very well behaved (no exhaust/engine braking problems).

58505

Josh
11-06-2018, 02:02 PM
It seems to me you are REALLY overthinking this.
Keep in mind you will need to tune your VE table to support modifications to your spark table.

It is apparent to me you need to retard the timing across the board. Nowhere should it be in the 50s even at low load high RPM. I would exercise caution entering the 40s honestly. Unless you are really keeping an eye on things like Luke and I do.

Josh
11-06-2018, 02:04 PM
Oops. I was already with you on the why...didn't mean to imply cutting the advance off totally.
I was wondering about the how using Megasquirt -- I got ya with the emulating... Thanks!

=============

Maybe this will help-
This is a from the first warm run on a thoroughly beefed up engine in son's street car.
(Definitely not a PRV, but if something can go wrong, it will ;-).
Note the advance climbs after the accelerator is released and the advance drops sharper (for the first half).
It turns high 10s and is very well behaved (no exhaust/engine braking problems).

58505

Your screencap from VCMscanner isn't very relevant here. Especially if he is just reving the engine in neutral.

opethmike
11-06-2018, 02:13 PM
Owen, you need to dial your timing WAY back; you are far, far into danger territory.

FABombjoy
11-06-2018, 04:56 PM
I'll offer the dissenting opinion and post my "so far so good" table, along with the corresponding Volvo distributor curve which corroborates the service manual specs. Have about 2000 miles over the last year on this table.

dn010
11-06-2018, 06:18 PM
I think it will be difficult to judge our tables because we all seem to have different setups. 3.0 vs 2.8, turbo vs NA. I don't know if injector size or how fueling is based will effect it, I'm still trying to learn more about this when I have time. I run MAF based fueling and my table hits at most 36.5 degrees. My engine runs and gets me where I need but it needs work, it certainly has points where I can hear a knock, especially on a rev from idle or hitting the pedal a little hard from a stop causing the RPMs to drop. I will be taking it to the dyno in a few weeks, again when I can free up some time. This is an interesting thread and I will definitely keep my eye on it in hopes of learning more.

FABombjoy
11-06-2018, 06:52 PM
I wouldn't be surprised if the 3.0 needed less timing. A turbo 2.8 vs n/a 2.8 should be able to share tables though. You just have to drive below sea level to hit the 100+kpa cells :D

Maybe you could dig up an OEM table from one of the later PRVs for comparison?

Drive Stainless
11-06-2018, 08:01 PM
I used this to generate my table for 94 octane, which is all that I use.

http://www.useasydocs.com/theory/spktable.htm

Spittybug
11-07-2018, 10:15 AM
Owen, you need to dial your timing WAY back; you are far, far into danger territory.

????? Do you disagree with the spreadsheet results? Mechanical in to quick? Vacuum out too slow?

FABombjoy
11-07-2018, 11:37 AM
it certainly has points where I can hear a knock, especially on a rev from idle or hitting the pedal a little hard from a stop causing the RPMs to drop
Are you sure its knock? Pre-EFI I discovered just how much K-jet leans out when cold. Even with a turbo running discerningly lean AFRs into boost I never heard knock. I did chase a mystery sound for some time that turned out to be a loose exhaust clamp.


????? Do you disagree with the spreadsheet results? Mechanical in to quick? Vacuum out too slow?
15 degrees base is a little more than the spec but your table doesn't seem too far from stock. I've seen at least 3 corroborating sources regarding the stock advance curves. Compared to a modern (or even semi-modern) motor it seems like a lot.

Pre-turbo install, before I re-plumbed the cold advance setup I could tell with 100% certainty when the vac advance system was shut down. It makes an already anemic motor feel like there was a birds nest stuck in the intake.

The B28F seems to run with so much timing I suspect you could run fairly well without an IAC valve and live exclusively on MS's idle advance / idle timing curve correction.

To dial in a timing map without excel, you can just:
-Take the DMC timing specs, set the advance specs at your RPM breakpoints, and interpolate.
-Find max vac advance kPa row, add the max timing value to that row, and copy/paste down. Use a gauge vacuum -> kPa conversion formula
-Interpolate between max advance row to 100kPa
-Add 13 deg base across the board
-Create your idle landing zone

I've looked for any hint of timing on B280/3.0 but nobody seems to have posted any data.

dn010
11-07-2018, 11:53 AM
I am pretty sure it is a knock because if I play with the table I can either get rid of the noise or make it worse. For instance, I can reduce the advance at lower RPMs and the knock on rev or take-off is gone but that makes the engine buck on takeoff. I can increase the advance and the bucking stops but then knocks on takeoff. I really need to get to the dyno.

I've also tried finding timing curves for the B280F since that is what I am running. Of course, I came up with no documentation. I also looked in the Dodge/Jeep PRV 3.0 diagnostic book. The Monaco repair manual. The Chilton's manual for the 780. I could find tables for the B230 or B28 but never the B280 E/F or the 3.0. I ended up creating a table using the same link that Matt posted above but it needed work to be usable.

Similarly, it was also impossible trying to locate MAF sensor readings for the B280F and associated Bosch hot wire sensor. I came close with a few test readings at one point but not enough to create a usable table even with calculated numbers in the rest of the boxes. I scrapped that Bosch and went with a different MAF sensor altogether.

It seems like that info is either lost, not documented or locked away in some obscure vault somewhere!

FABombjoy
11-07-2018, 12:37 PM
Locked away in the ECU calibration. Would have to find out if anyone has reverse engineered the ROM format. Load cell dyno testing would definitely be a better use of time & resources!

Spittybug
11-08-2018, 06:18 PM
Back from our little trip to New Braunfels for Wurstfest so I've now played with my model a bit.

13* fixed advance
Vacuum advance cuts out with closed throttle (idle and decel)
Added Hg inches (gauge) for reference to kPa for engine load
Broke out the 3 separate sources of advance into separate tables to see effects (centrifugal advance (RPM based), vacuum advance (load based) and static)
Set centrifugal advance to same as manual - all in by 4000 RPM, not 3000. Unknown if linear, most springs are not.


Does this look more reasonable? I know that just a couple of degrees of timing can have a 5% or so impact on HP, so before spending big $ on dyno runs I would like to get as close as I can. The values I'm actually running aren't far from this.....

FABombjoy
11-08-2018, 06:47 PM
Back from our little trip to New Braunfels for Wurstfest so I've now played with my model a bit.

Vacuum advance cuts out with closed throttle (idle and decel)


What RPM/sync strategy would retain the vacuum advance canister? If the distributor VR is RPM input it should be fully locked out.

You will feel that 20 degree border between 45/50 kPa - that's a light/medium load cruise area and any large timing transitions will be evident.

Assuming a 5-spd, between 30-40 MPH, and around 60 MPH (depending on gear & engine load) it may feel like the car is pulsing at times.
https://i.imgur.com/2o9vW0t.png

Spittybug
11-08-2018, 06:57 PM
My distributor has locked weights and no vacuum advance unit attached. The goal of all this is to build the advance table based on the 3 part logic of a stock system. From there, it can be enhanced to improve upon stock.

I hear you about the +20* being felt. What are you suggesting instead, lower the kPa value at which the vacuum is cut off except at idle?

FABombjoy
11-08-2018, 07:35 PM
Ahh, I see. Problem is that vac advance cutoff is more a function of TPS than MAP. You could bake it in to the advance table but you'd have to analyze your logs in a higher gear to see what your min kPa / RPM at low TPS turns out to be.

I would just render the table to match stock, set the idle zone to 13 w/ anti stall values around 5-600rpm, then adjust the decel range to encourage a return to idle if the engine wants to hang. Maybe drop the MIN function to remove the rounding, unless MS2 doesn't allow decimal values in the spark table.

I use the idle advance correction too, which gives a very steady idle (target +/- 40RPM) and helps alleviate the motors tendency to stick in higher RPM.

Spittybug
11-08-2018, 08:20 PM
Problem is that vac advance cutoff is more a function of TPS than MAP.

Agreed. TP leads to MAP, so the challenge is to find the correct relationship.

What if set to idle advance on RPMs, set the table to 5000, 4000,3000, 2000 and 1000, -20* advance adder at all RPMs, condition manual, TPS below ~2%, RPM below 6000, load above ~5 kPa, coolant above 'warm' and time delay as short as it will go.... This *should* key the retard to the TP being essentially closed, not matter what RPM you are at, shouldn't it? Load is oddly stated as % rather than kPa in the dialogue window though... And I don't know if the time delay can be less than 1 second.

An interesting test.

FABombjoy
11-08-2018, 09:39 PM
Some thoughts:

The original thermovalve/solenoid circuit solves a problem. Instead of emulating the stock solution, could this problem be solved with a different approach?
-Can you "light the cat" in a different way?
-Have catalysts changed since then, and is this still necessary if aftermarket cat?
-Did it really make a significant difference in cold emissions?
-How did OEM Volvo / Renault / Peugeot handle it? How did they do it in 1983? 84?
-Non-cat cars would not benefit from the added complexity

If you try your test I'd be curious to hear what it does.

Spittybug
11-09-2018, 10:19 AM
I think you lost me there with the warmup stuff....

I'm not worried about the emissions angle of all of this. I have aftermarket cats & exhausts. The stock system didn't vacuum advance under two conditions; closed throttle and low engine temp, right? The engine temp condition was for cat warm up reasons, but the closed throttle reason is based on the resulting cylinder charge density and flame front propagation through it. A less dense charge needs the spark sent sooner so that it can propagate through the fewer molecules in the same amount of time. This goes away under more load since the air and fuel are rushing into the same volume much quicker and easier. Dense pack makes for easy combustion.

I'm simply looking for the best way to link the advance to the two factors that determine what it should be; RPM and load. The RPM one is easy since the spark advance table can change the amount of advance as the RPMs change (x axis). The only other linkable independent variable is load (Y axis) expressed in kPa. The problem as you pointed out a couple of posts ago is that this isn't truly an independent variable; it is actually dependent on the throttle position; the true independent variable. I can do some experimenting and using graphs like you posted determine the kPa values associated with idle and closed throttle decel, but it would be a better deal to be able to directly associate the advance to the throttle position itself. Hence the idea of using the Idle Advance Settings to retard the spark under closed throttle condition. I really only want to use the throttle position condition (not worried about load, current RPMs or temp), but if 1 second delay is the shortest available, that won't work I don't think. The added benefit would be to use the temp condition if this helped with emissions when cold.....

Sorry if I've restated the obvious, sometime I need to write things down to get them straight in my head. I'm also sure that some others playing at home are mystified by the nuances of timing and will see just how much flexibility EFI control can give them should they go that route.

FABombjoy
11-09-2018, 10:56 AM
The stock system didn't vacuum advance under two conditions; closed throttle and low engine temp, right?
Right - cold cutoff for emissions, and low throttle cutoff for idle. Without removing vac advance at idle you'll never get the RPM under 2000.

I wouldn't worry too much about deviating from the stock emulated map in those low load / deceleration zones. I've never seen any evidence of misfire in my logs and my exhaust isn't poppy on decel. If you can get overrun fuel cut tuned up you won't even have a charge to burn half the time.

I'm actually running 2 different spark maps ATM. I found an MS bug if idle advance is enabled at startup: RPM target variable initialized to 0 instead of target RPM until closed-loop idle is first enabled. This causes an engine bog on startup for about 2-3 seconds. I'd fix it myself if they'd publish the damn source code.

In the interim, I created a second spark table that's active at TPS < 2% and has an exaggerated low timing ramp to transition the idle smoothly when rolling up to a stop. Once the bug is fixed I'll remove the table switch. But you could do the same if you have that kind of tableswitching in MS2.

Spittybug
11-09-2018, 11:18 AM
I just realized that what I wrote didn't make sense..... why DOES the vacuum advance want to be cut under decel? Logic would say that it should WANT to be advanced because of the loose packing of the molecules. I'm guessing it is because we don't want 'peak horsepower' during decel and are deliberately sub optimizing burn? It's obvious we don't want it advance during cranking as this would make it very hard to start.

I suspect you are correct about using fuel cut on decel instead of timing.

Can you share your spark tables that you mention? I realize your boosted areas are not applicable to me, NA engine, I'm just more interested in seeing the 'smoothness' of your transitions and how quickly you bring in the RPM based advance.

Thanks!

FABombjoy
11-09-2018, 02:21 PM
https://imgur.com/a/smVA9yT

Left is the < 2% TPS map. Most of the time its inactive so some of the values may not match up to the right. So far this seems to work well without any sense of oscillation and transition to idle seems smooth.

Using ported vacuum for advance was the best option based on the tech of the time. I don't think it was done intentionally for decel but was done for idle. The only way to make it work for idle meant retarding timing under decel at very low throttle. You really don't want to pull timing there unless you intentionally want a crackly exhaust note or to shoot fireballs.

Spittybug
11-09-2018, 03:38 PM
You really don't want to pull timing there unless you intentionally want a crackly exhaust note or to shoot fireballs.

Thanks, I'll look at the tables. So leaving the advance during decel is actually preferred then? Just cut back fuel.....

FABombjoy
11-09-2018, 05:25 PM
If you’re too lean you’ll pop bang gurble. If you’re going to put any fuel in, you need enough so it doesn’t lean misfire or it’ll afterfire. Unless you want that - some people like the sound but it’s too much for me [emoji3]

Kjet does this pretty predictably, I assume more so if the decel valves are soldered shut. When I was running kjet turbo with the decel valves closed up I could goose the throttle and after fire all day long at idle.

Launch control or anti lag will really demonstrate the effect of late timing!

Spittybug
11-09-2018, 06:05 PM
No table switching in MS2e, just additive. I'll simply bake in the idle landing trough. This isn't far from the actual table I'm running on. I notice you have your centrifugal advance all in by 3000 RPM. No ill effects I trust? Most car guys say that is the magic number but I know our stock setup rode it out to 4000.

How much can you dial the fuel back on decel without issue? I suppose if there is no fuel in there to speak of then there is no risk of knocking the engine. No ill effects of sparking with no fuel that I can think of.....

I just picked up my new DMCH fuel pump setup today so I'll be installing that over the wet weekend here. I should be able to get some timing changes made after that and see if I can get this dialed in. The next brain pick will be on AE curves. I like to use pretty much 100% TPS, but getting the PW and duration just right is a challenge. I played with it a few years ago and somehow managed to get something very right; good head snapping acceleration (but I've since tinkered it away) - so I know it is achievable!

FABombjoy
11-09-2018, 06:54 PM
How about that, guess I do have a few degrees of timing in a little early. Seems to work and is probably still in the acceptable window of the Volvo curve.