Google
 
Web NASIOC.com

View Full Version : An Analog to the Vishnu Reset Trick for RSes


williaty
12-18-2007, 10:04 PM
OK, so the WRXen have that really convenient Vishnu reset trick they can do to reset the ECU and advance IAM as rapidly as possible. I'd been searching for something like this for my 05 RS, and stumbled onto it by accident.

1) Run car until fully warmed up
2) Park car somewhere near a road with a 55mph speed limit and low traffic
3) Issue ECU reset command to ECU via Enginuity.
4) Power off the car
4a) Turn the key to to on position. Wait 5-10 seconds for a series of clicks from the passenger footwell
5) Start the car.
6) Let the car idle for 15 minutes to let AF Learning stabilize (per SoA dealer reset protocol)
7) Pull onto the road and accelerate gently until you can get to about 2,500RPM in 4th.
8) Have your RIO (aka, passenger) watch the Engine Load (Direct)* parameter on the Enginuity Dashboard screen.
9) Accelerate at between 1.0 and 1.1 g/rev from 3kRPM to 4kRPM. IAM will increase during this time
10) If you get to 4.5kRPM or so and IAM hasn't made it up to 1.000, slow back down to ~2.5kRPM and make the 3-4kRPM sweep again. This should top out RPM
11) Cruise at the speed limit for a little while


Note that instead of potentially having to pull twice through the 3-4k band, it might work to apply the brakes while pulling up through the band as long as you kept your load between 1 and 1.1. I haven't tried that yet because what I just described works reliably for me.

Also note that if it detects knock during the sweep, it may move IAM both up and down to try to find the most advanced non-knocking value for IAM. If it does this, that's just how it is and no amount of re-running the process is going to get your IAM to 1.000 unless you fix the source of the knock. As an example, on 94 oct, my car goes to 1.000 in 2 steps. On 87 oct, it usually FALLS down from 0.500 before wobbling up and down a few times and eventually stabilizing between 0.6 and 0.8

scraggy
12-18-2007, 10:38 PM
If I'm not making very much of a change, I just start the IAM at 16. If it senses anything it will just drop it.

williaty
12-18-2007, 10:49 PM
Yeah, I'm just too cautious to start the IAM higher. Never know when a bad tank of gas or a mechanical malfunction is going to be the end of your engine. Plus, the reason I usually reset the ECU is to clear the FLKC table after changing the timing.

crazymikie
12-18-2007, 11:31 PM
I never quite understood this logic- why not set the IAM to full advance once you tune the car. It's not like you are going to know you got a tank of bad gas until you start driving around and the car feels like crap. At that point, the ECU probably already did what it had to do to protect the car. Resetting the ECU at this point would honestly be counterproductive.

It seems like a lot of people say that, but I just don't get it. I always felt the car should be 100% consistent whether or not I've driven it for a year or just reset the ECU.

Different schools of thought, I suppose.

Back on topic- is it really necessary to let the car idle for 15 mins? I would assume it's just like the other model years and assuming the coolant temp is within a reasonable operating range, the IAM should advance under the conditions you said.

Airboy
12-19-2007, 12:19 AM
I never quite understood this logic- why not set the IAM to full advance once you tune the car. It's not like you are going to know you got a tank of bad gas until you start driving around and the car feels like crap. At that point, the ECU probably already did what it had to do to protect the car. Resetting the ECU at this point would honestly be counterproductive.

It seems like a lot of people say that, but I just don't get it. I always felt the car should be 100% consistent whether or not I've driven it for a year or just reset the ECU.

Different schools of thought, I suppose.

Back on topic- is it really necessary to let the car idle for 15 mins? I would assume it's just like the other model years and assuming the coolant temp is within a reasonable operating range, the IAM should advance under the conditions you said.

One thing that we should keep in mind is that we really don't know all of the subroutines that are used in the ECU when it comes to timing control. IIRC, in one of Merchgod/Tea Cups post he mentioned something to the effect that the "post reset IAM" value is used as an input to some other routine(s). Having that at the "full" value could mess up the intended function of the routine(s), I would think.

williaty
12-19-2007, 12:23 AM
I never quite understood this logic- why not set the IAM to full advance once you tune the car. It's not like you are going to know you got a tank of bad gas until you start driving around and the car feels like crap. At that point, the ECU probably already did what it had to do to protect the car. Resetting the ECU at this point would honestly be counterproductive.
After any kind of a change, I'm VERY careful until I know the car has a chance to protect itself. There's a big difference between getting in the car, letting it warm up, then romping on it to the reset point and flashing the change, leaving the house at <0.4g/rev load, driving for 5 min to fully warm it, and then resetting. The other problem with not resetting is the IAM is the fastest way for the ECU to make large timing changes. It seems as though, immediately post reset, the ECU enters rough correction mode (IAM evaluation) directly, rather than trying to match a bunch of conditions. It just seems to work out better. Who knows if it makes a difference in the real world, but it makes me feel better, which is the important part.



Back on topic- is it really necessary to let the car idle for 15 mins?
The 15min idle, as I understand it, is for the car to re-learn idle air-fuel learning. I know it certainly doesn't idle properly for the first 5-7 minutes of the 15. The 15min comes from the dealer, so I have no idea if all of it is necessary, I'm just following directions.

dynamix
12-19-2007, 04:26 AM
The Initial IAM is not just the initial figure.

This is what the IAM will drop to if it senses any knock that fits the purposes of re-evaulating IAM. See Merch-Gods Knock Control Strategy for the detail.

Therefore - by setting the IAM to 16 or 1 in the 32bit ecu - you are disabling the Rough Correction mechanism.

flatthump
12-19-2007, 04:28 AM
This is nothing new. You dont have to use the brakes to get the IAM/DAM towats 1.0/16.0

dynamix
12-19-2007, 05:52 AM
You can have trouble getting the IAM to rise normally if you adjust your timing advance table to less than the min level for IAM assessment from what I have seen.

Tea cups
12-19-2007, 09:37 AM
The Initial IAM is not just the initial figure.

This is what the IAM will drop to if it senses any knock that fits the purposes of re-evaulating IAM. See Merch-Gods Knock Control Strategy for the detail.

Therefore - by setting the IAM to 16 or 1 in the 32bit ecu - you are disabling the Rough Correction mechanism.
IAM is changed to the initial value post-reset AND at the beginning of each IAM re-evaluation session (i.e. rough correction learning). You are not disabling rough correction by setting the initial IAM to its max value. However, because it is reset to this value at that start of each rough correction learning session (and immediately increased or reduced by the step value depending on the knock signal), a higher initial IAM impacts more than just the post-reset value and this should be considered closely especially if you have knock issues or your gas quality is highly variable.

dynamix
12-19-2007, 12:00 PM
this effectively disables it though if the IAM will never drop enough doesnt it?

Tea cups
12-19-2007, 12:44 PM
this effectively disables it though if the IAM will never drop enough doesnt it?
No, the IAM is only set to the "advance multiplier (initial)" at the beginning of the IAM re-evaluation session (the step value is also set to the "advance multiplier step value"):

Example (16-bit ECU, but 32-bit ECU is similar):

1. ECU is in rough correction mode (means it can potentially enter an IAM re-evaluation session).

2. Conditions are met to re-evaluate IAM (ex. "rough correction minimum timing advance value" met, rough corr load/rpm ranges met, etc.)

3. First time through IAM re-evaluation session:
A. IAM is set to "advance multiplier (initial) value" (although this is not applied to current advance -> see D).
B. IAM step value is set to "advance multiplier step value"
C. Fine correction table is cleared
D. IAM = IAM - step value (knock signal is set) OR IAM = IAM + step value (knock signal is clear over the delay period).

4. Second time through:
Conditions in #2 still need to be met in order to proceed. However, because the session has already begun, #3 A-C will not occur.
A. Check knock signal. If knock signal is set and the previous IAM change (#3) was positive, then the current IAM step value is reduced by half (ex. 4/2 = 2). Same if knock signal is clear and previous IAM change had was negative.
B. IAM = IAM - current step value (knock signal set), IAM = IAM + current step value (knock signal clear)

5. Process will continue until IAM step value = 1 (i.e. the IAM has "settled") or IAM or 0 or 16 for a brief period of time. Then ECU enter fine correction mode.

Note: the IAM re-evaluation session is not locked or necessarily continuous. The conditions in #2 have to met each time the IAM changes, but this does not cause #3 A-C to occur twice (it is still the same session). Another example is that feedback correction cannot be active for IAM to change (another set of conditions disables feedback correction).

gabedude
12-19-2007, 01:12 PM
What Bill mentions is true. There are specific triggers that raise/lower IAM and initial IAM does need to be carefully analyzed before just using Max value (what happens if you get a bad tank of gas, the IAM will drop, but it will encounter more knock events to lower the IAM than if you set it to 8 (.5 for 32 bit guys)).

The vishnu reset trick is more for fuel learning than raising IAM.

For fuel learning (especially for the 07 STI) as it needs to lean out to hit correct fuel targets using the stock MAF scaling or the EU MAF scaling:

1. Wait until idle AFL starts to move after resetiing / reflashing and the car is warmed up.

2. Depending upon your mapping (O/L, C/L delays, etc), you must be in closed loop (logged value of 8).

3. Use the brake (does not matter what speed or gear) and get RPMS in the 2.8-3k range.

4. Get MAF G/S between 45-65 and try to keep it steady while in closed loop.

5. Watch (or better yet have your passenger watch) AFL Current* or AFL D* start to move. Once it stops moving for a good period of time (about 10 seconds), it has set. The B and C range will slowly learn after that and the car will become more "smooth".

If you cannot stay in closed loop at that G/S, then fuel will not learn to carry over into open loop and you need to revist your open loop fuel table or your O/L to C/L transition tables. This depends on if you like to 0 the delay or use the other tables to trigger the delay to go to 0 (I have switched to this method).

Gabe

Master2192
12-19-2007, 03:47 PM
5) Start the car. Note that it WILL NOT WANT to start at first and you MUST NOT touch the accelerator to try to help it.


Next time, turn on the key, wait for the 2 clicks to go off (sounds like it comes from the passenger foot well). Then start car, it won't take any longer than usual. The 2 clicks I assume are the throttle plate resetting.

gabedude
12-20-2007, 11:06 AM
The ETC has to do some checks after a reset. Leave the key in the on position for 3 seconds, then start it. It will start right up.

williaty
12-20-2007, 09:44 PM
Updated with step 4a after verifying Sean's and Gabe's suggestion.