Yes it does. The ignition timing was dyno tuned for 91.
Does the AEM EMS have profiles that you can save to your computer and upload at a later date to the EMS? Can it save profiles internally so that it can be finely tuned for each grade of gasoline? Does the AEM EMS have the ability to detect the kind of fuel you're using?
The word you're looking for is "calibration". I have saved about 250 calibrations including the one that was in it (dyno tune) before I got my own laptop. They're stored on the computer. I use the current date as the file name followed by a letter in alphabetical order each time I make a change on the same day. I'll get halfway through tuning something, ie injector phasing, then have to quit for the night. So I load up my previous calibration so I can get to work the next day. You can work on it on the computer and then upload it to the AEM, or you can connect to the AEM and make changes while the engine is running.
AEM Pro also has a "compare" feature so I can open an old map, someone else's map, or a base map and it will list all the differences between that file and mine with the option to copy them over. So if I want to give my calibration to someone but they're using the distributor while mine is using direct fire, they can just upload my file and use "compare" and put back their ignition coil settings. They might also want to put back their idle settings, rev limiter, VTEC engagement etc. It's much easier than copying it manually.
There's no sensor that can detect octane. The only thing affected by octane is your ignition timing. The best thing to do is to tune the ignition timing on the gas you plan to use. It's not good to rely on the knock sensor. That would be like driving w/out a seatbelt and relying on an ambulance to save you if something goes wrong. Knock feedback is usually set up to pull a lot of timing and squirt a lot of fuel. Obviously this is not ideal for everyday driving. It's there to save your engine from blowing up and really shouldn't come into play unless you've got the throttle all the way down.
Most tuners will tune the engine initially on high octane race gas. That way they can safely find Maximum Brake Torque. As you advance the ignition timing you will gain power up to a point, then it will flatline and start to fall. Not soon after that you start to get knock and blow your motor. Maximum Best Torque is that first point you reach before the power flatlines. Most tuners will find that point and then back off a bit for safety. Once you've found that point, you can put street gas in it and tune it as far as you can go until it starts to ping. Then back it off a bit for real world conditions, bad gas, etc. You use MBT as the reference point. If it starts to knock before you reach MBT, your engine is "knock-limited" and you know that your engine will make more power with higher octane fuel. In my case with 87 octane I was getting an occasional knock every other dyno pull. We enabled knock control and left the timing where it made most power. Then I was told that I should run 91. When I took the smog test, NOx emissions were high. Running 91 octane brought it down enough to pass (I removed the EGR system from this motor when I swapped it). So I've decided to run 91. I get better mpg with it anyway.
What happens with ignition timing is that you want the combustion pressure to peak just as the piston starts on it's way back down. The fuel actually takes a significant amount of time to burn. There is a delay from when the spark plug fires to when the flame spreads out to burn all the way to the edges of the combustion chamber. So you want to fire the plug early and get the burning process started. If you fire it too soon though, the pressure will peak too early and fight the piston as it's coming upwards. Fire it even earlier and it will push the piston through the block (can't go up, can't go back down, so it goes sideways), blow a hole through it, or bend the connecting rods or on further down the line to the weakest link.
There are a couple things that affect how long it takes for the fuel mixture to burn once it's been ignited. Lean mixtures burn slower and require more timing. Higher octane burns slower requiring more timing. The 96-00 SOHC heads were designed with quench areas at the edges of the combustion chamber. When the piston comes up, air gets squished in these areas and squirts toward the spark plug. This helps burn the mixture faster and more evenly. So 96-00 heads require less timing than earlier heads. The less timing advance an engine needs, the more efficient it is.
Higher octane burns slower and needs more timing advance. Now imagine that you've tuned the engine on high octane and then one day you put low octane in it. You still have your timing advanced, yet the mixture burns quicker with the lower octane. Now combustion pressure peaks as the piston is coming up. Best case scenario is you lose power and your knock function kicks in every once in a while to keep you safe. Worst case scenario is that you hear stomach wrenching sounds like squirrels trapped in a coffee can, followed by no RPM and a massive oil leak. Hence the reason why manufacturers tune the ignition timing conservatively, hence the reason why there are power gains to be found with an aftermarket engine management system (just make sure you never buy crap gas). Another thing manufacturers do is run the calibration very rich under heavy load (where knock is most likely to happen and most likely to destroy your engine). Once again, running excessively rich gives you less power that can be locked by re-tuning with an aftermarket standalone.
I'm working on the injection timing still and I'll get back to it once I have something to show. In the meantime, I thought I'd talk a little bit about how to actually tune ignition timing. WOT throttle for maximum power should be tuned by a professional on a dyno. That leaves the rest of the map for street tuning. Street tuning part throttle is very time consuming and not particularly dangerous to your engine if you keep it within reason. Have a friend drive at night when no one's on the road and it will safe for you and everybody else as well. Most dynos are useless for part throttle tuning unless they're the load-holding type. Even if you have access to a load-holding dyno you should tune as much as you can beforehand to save yourself some money.
Without a dyno you can't tell how ignition timing affects power. Instead you can infer a change in power based on a change in load. If you hold the engine at a steady state and change the timing, you can log the load and see whether it goes up or down. Decreasing the load increases the power which in turn increases fuel economy because you are getting the most out of the fuel you're using. You'll be able to maintain engine speed with less throttle than before.
We want to maintain a steady state so increase the radiator fan on temperature to force it to stay off (keep an eye on your coolant temps to prevent a disaster). Wait until the coolant reaches operating temperature which is right around 200 degrees. Open the Idle % vs Target table, highlight the whole thing, then change it to whatever you need to hold the engine at your idle target RPM. It's usually somewhere around 35%. Hit the +/- keys until you get it as close as you can.
The load parameter fluctuates too much for you to make sense of it just watching the reading. All sensors oscillate. It's just the nature of AC voltage. You have to log the change over time. In the AEM EMS, you need to open up all the parameters you want to record in the log. AEM Pro 3.23 I start by opening the ignition template, closing the graph, unlocking the parameter window, deleting knock 1 and 2, and then re-locking. Maximize the ignition graph, highlight the area you want to tune and the surrounding cells, change them all to the same value lower than what you think it should be. In this case I'm tuning the best idle ignition timing so I highlight the RPM closest to my target RPM (750), then the RPM columns on each side of that from no load all the way up to my idle load (between 23 and 19 kPa) and one row above that. I change them all to 10 degrees.
Now to start logging you can hit the F6 shortcut key. Wait about five seconds, increase the timing by a degree, count to five again so that it can stabilize, then repeat this process until it starts to misfire. In my case this was 31 degrees. Hit F6 to stop logging. It will ask you to save, which you can set up to use the current date followed by a number for multiple logs on the same day. Then it opens a window for you to write some notes down, like "idle ignition timing".
AEM Log opens automatically and it asks you which 3 parameters you want to plot. In this case we want RPM, Load, and Ignition Timing. You can overlay other parameters if you want but those are all we really need.
Now what comes out is a few colorful lines that make no sense. Press F6 which shortcuts to Analysis Statistics. Right click on Engine Speed over at the top right and set the minimum to the minimum RPM according to the stats, and the max to the max. Repeat this for Load and Ignition timing. Now you can make sense of the graphs.
Red is RPM between 800 and 1000, Green is Load between 23 and 19 kPa, and blue is Ignition Timing Advance starting at 10 degrees and climbing up to 31.
As you can see, engine load started around 23kPa and steadily decreased to 19kPa just before it started to misfire around 30 degrees advanced. This is very common when you're tuning timing; you'll get peak performance just before it starts to misfire.
Idle ignition timing is a little bit different than most situations though because obviously you've never heard of a Honda with a base timing of 30 degrees. We want the load to be low but not the absolute lowest possible. We want to leave some room so that we can correct the idle when it wanders too low or too high. Based on this graph I decided that 16 degrees was good. Load is just above 20kPa with the absolute lowest being only a few tenths lower. Go back to the ignition map and set the idle cells to 16 degrees or whatever is best for your engine. Use the calculate function to blend the neighboring cells into the rest of the map.
There's still more to be gleaned from this log. Click Idle, Advanced Idle, Ign vs Idle RPM table, graph. This is your idle ignition timing correction. Basically you're trimming ignition timing when your idle is over the target, and increasing ignition timing when it falls under ie when the radiator fan turns on suddenly. Ignition timing is the best way to stabilize idle rpm because it's actually faster than the IACV and much faster than fuel corrections (which shouldn't be used at all unless you have a wild cam).
Based on the log we know that increasing timing also increases RPM until about 30 degrees where it starts to misfire. Keep in mind that this graph is relative to the timing on your ignition map. So 5 means 16 + 5, and -5 means 16 - 5. Increase the far left side of the table (less RPM than your target) to 11 degrees which will give you a total of 27; a safe distance away from the misfiring. Also you'll notice by the graph that RPM's pretty much flatline from that point on.
Now do another log. This time set up your Idle % vs Target table to idle at your target this time with your optimized idle timing. Then highlight the ignition map again and bring the timing down until the engine is about to stall. Hit F6 to log and increase the timing just as you did for the first log. This new log can be analyzed to see how RPM changes per degree change from your optimum timing. If an increase in 4 degrees raises the idle 100 RPM, you can enter 4 at the -100 RPM point on the Ign vs Idle RPM graph. Fill out the rest of the graph and smooth it out. Leave it flat with no timing change for +/- 25 degrees from the target, and enter no more than 1 degree change at +/- 50. RPM fluctuation within this range is imperceptible and there's nothing you can do about it anyway. You don't want to overly force the idle.
This is what I ended up with. I had already tuned this somewhat when I tuned the IACV duty % and other settings. That's another subject. It should be very smooth and not so aggressive that it over corrects.
Revert to your original Options
After you're finished tuning don't forget to go back and turn your radiator fan, O2 feedback, idle settings etc back to what they were at originally. The easiest way to do this is to go to File, Compare, open your old calibration. This will bring up a list of all the differences between your current calibration and your old one. Copy over all the options except for the changes you made to the ignition table and the ign vs idle RPM table.
Wow!! That was an awesome thread... I'm bookmarking this for sure. I have seen your threads in Honda-tech and loved the security site. Thanks for all of you knowledgable info and inspiring others to think outside the box or what people are all doing (going in the bandwagon). Hope you get really good results man, seems like you are liking your results right now. Thanks again!
Actually, the pins are A8 for the green/yellow wire and A21 for the red wire. From reading other people's posts on the wiring issues for this motor, using a regular p2p ecu in particular, the pin at A8 is VTEC-2 (hi lift/dur) and A21 is VTEC-1 (16 valve).