×

Sale ends todayGet 30% off any course (excluding packages)

Ends in --- --- ---

Tip-In and Cold Start enrichment - Subaru STI

Practical Reflash Tuning

Forum Posts

Courses

Blog

Tech Articles

Discussion and questions related to the course Practical Reflash Tuning

= Resolved threads

Author
469 Views

I recently finishing dialing in my MAF sensor scaling and my MAP comp tables for my 2011 Subaru STI but I'm still seeing some large closed loop fuel trims during sharp throttle input and gear changes. See forum post https://www.hpacademy.com/forum/reflashing/show/logging-subaru-sti-fuel-trims-around-the-gr-stumble-zone/#post78119 for details on the MAP comp tuning. I've concluded that this is a result of a poorly optimized tip-in enrichment table and I'm looking for guidance on how to go about tuning this as the reflash course doesn't talk about tip-in enrichment. I've watched a couple webinars where Andre tunes tip-in and cold start on a v11 STI but he's using a standalone ECU and the tables he edits use load percentages, as the main fuel table is a VE-based configuration. My factory Subaru ECU uses injector pulse width (ms) for its tip-in tables. Can anyone provide some insight on how to go about tuning tip-in and cold start and what parameters I need to log and how I should set up my histograms?

Fuel trim errors on tip-in seem to be inherently closed loop so I assume I need to log the total trim percentage. But then the actual tip-in enrichment tables work off of IPW so I'm guessing I'd need to log that as well, plus throttle position since that's the main reference. EcuFlash has an A and a B throttle tip-in enrichment table but Cobb Accesstuner appears to only have one table which they just refer to as tip-in enrichment. Of course, there's a lot of compensation tables which use coolant temp, boost, and RPM, ect.

Cold Start aka Warm Up enrichment seems to have two main tables for open loop and closed loop. In the Cobb Accesstuner software, the description states that the enrichment eq ratio compensation values in these tables are added to the post-start high and low speed tables to determine the primary enrichment. Are the values in these cells AFR numbers? Coolant temperature would obviously be logged for cold start tuning and assume I would need to also log wideband AFR but I'm confused about how to go about getting my closed loop trims closer to 0% shortly after cold start. After cranking and running rich in open loop, the engine goes into closed loop and I see trims of about -10% to about -18% for a few seconds before the trims drop to about -5% and remain at that level for the next few minutes.

See attached screenshots for what tables are present within the tuning software.

Attached Files

Apologies in advance as I type out this stream of consciousness. This is mostly just for my own notetaking and processing. Hopefully it'll help someone else experiencing similar issues.

I was going through some old webinars where Andre is talking about tuning transient enrichment and his main focus is whether or not the car is driving smoothly. He even states that seeing a short lean reading and then a slight rich reading as the wideband plays catch-up is normal and nothing to be concerned about as long as the car drives good. Well, that's exactly what I'm seeing in my datalogs, and I've got the car driving pretty damn smooth most of the time. That said, it's still a little jerky if I'm driving around in first and second gear, letting the revs climb and then fall back down on their own, instead of upshifting as I normally would. Throttle application needs to be very light or I'll get noticeable jerkiness so there's definitely some work to be done. Its nothing like how it was when I first got the car though, as I would experience a crazy amount of jerkiness in first and second and a noticeable amount in third and a even bit in forth. Rescaling the MAF and fine-tuning the MAP table made a huge difference in how smoothly the car drives.

I still need to actually try tuning tip-in to see if I can get second gear super smooth but for now, let me just give an update to what I've been doing. If you're like me and you were following along with the EcuFlash STI videos, you're going to need undo some of the changes you made earlier on. I realized pretty quickly that I couldn't log tip-in related parameters because I kept going straight into open loop every time I quickly hit the throttle. You need to go back into the tune settings and change the closed/open loop delay back to the stock value of 750. You should also change the closed loop delay maximum RPM value per gear. In the EcuFlash course videos, Andre sets these values to 2500 RPM and I did the same in my tune. In addition to resetting the delay time period as mentioned above, I set the maximum RPM values to 4200 across all cells. This gave me plenty of time to stay in closed loop during tip-in datalogging. I do plan on changing these setting back to 0 and 2500 after dialing in the tip-in tuning.

Now as for the parameters you need to log, I wasn't able to find any concrete info for tuning tip-in on a reflashed ECU. All of the webinars and videos are for standalones. That said, I think I've got it down but if anyone has a better method, please don't hesitate to share. I went ahead and logged RPM, TPS Delta, Closed Loop Switch, Feedback Knock, Fine Knock Learn, Wideband O2, Commanded Fuel, Base Injector Pulse Width, AF Correction 1, and AF Learning 1. Really the main things to pay attention to are the wideband in comparison to the commanded fuel, and of course the TPS Delta. I logged fuel trims because I wanted to see if the ECU was already applying corrective measures before, during, and after tip-in events and if so, I wanted to try and avoid using datapoints with excessive trims for my tip-in tuning (e.g. anything over +/-5% before or during was ignored). Similarly, I didn't want to include any datapoints where the ECU was pulling timing because of current or learned knock events. I was also recording the closed loop switch signal to confirm that I was looking at closed loop events only.

Okay so we know what to datalog, now we have to apply tip-in while driving. I'm sure my driving technique could use some improvements but I've actually been having a pretty difficult time getting good data. There seems to always be a small TPS Delta before and after the datapoint I want to use so I think my goal of a TPS delta of 0% before and after a controlled event just isn't realistic. Also, getting a large TPS Delta isn't easy while driving in traffic. In the beginning I was confused as to what TPS Delta meant but its basically just the difference in throttle application before the tip-in event in comparison to the throttle application during the event. In other words, if you're driving in second gear, 2000 RPM at 15mph and 10% throttle, and then you quickly press the gas to get up to 30% throttle, the TPS Delta would be 20% (30-10). Sounds easy enough right? Well, maybe I'm a bit throttle shy but when I mash the gas pedal, I usually only get deltas of 5-15%, and of course in second gear, that makes the car speed up quite quickly and loudly, making people around me very nervous. So ya, I might need to find a dirt road somewhere. Then again, the small TPS Deltas seem to need the most tuning in my case but I'm going to datalog a bunch of different scenarios.

I'll finish this post with what I'm currently pondering and if anyone has any some thoughts please chime in. I'm currently looking at just one datapoint in particular right now. The TPS Delta actually does starts at 0% and the wideband O2 reading is 14.5 AFR vs 14.6 AFR commanded fuel. The total trim at this point is +3.91% with 2.162 ms IPW. I quickly hit the throttle and and TPS Delta begins to rise, first to 0.49% and eventually to a peak of 4.39% while the IPW rises simultaneously, to 7.069 ms at that same TPS high point. Throughout this period, the commanded fuel drops down to about 12.2 AFR while the wideband O2 continues to read just above 14 AFR, eventually hitting the commanded target just after the TPS high point. The wideband O2 then continues to read just slightly richer than what's commanded until both wideband and commanded fuel slowly climb back towards stoich. During this time while the wideband is continuing to read slightly rich, the IPW is still rising from before, going from 7.069 ms as mentioned earlier, up to a peak of 11.055 ms before eventually dropping down again as commanded fuel rises back towards stoich. This is the classic behavior Andre described, where the wideband lags behind the commanded target, first with a small lean delay and then with a slight rich reading. I assume the jerkiness I'm experiencing in second gear is mainly due to that small lean delay however, as the wideband continues to lag behind commanded fuel, reading rich while commanded fuel rises up towards stoich and IPW is slowly dropping but still relatively high, the total trim during this period of lag is very large, going from slight positive at that lean beginning all the way down to -9.38% at the peak. So it looks like I'll have to fine tune the tip-in duration settings too but that's for another day. Going back to the lean issue and focusing on the biggest error of commanded fuel vs wideband O2, I'm seeing a 12.27 AFR commanded and 14.66 AFR wideband, or an error of 19.478%. I should also note that the total trim here is +3.12% and the IPW is 4.047 ms at this particular moment. The TPS Delta is 0.49% in this moment, and the current tip-in setting in the ECU doesn't activate tip-in enrichment below 1% TPS Delta so we can't correct the lean lag here unless we lower the minimum TPS Delta for enrichment in the tune. Would setting a minimum TPS Delta for enrichment to say, 0.25% have any negative consequences? Of course, the TPS Delta continues to rise and once it hits 1%, tip-in enrichment activates and wideband O2 starts to drop down towards the commanded target. At 1.22% TPS Delta the wideband O2 reads 14.44 AFR and commanded fuel is 13.33 AFR for an error of 8.327% and an IPW of 5.913 ms. Total trims are 0% at this particular moment. Now for the big question: for tuning tip-in enrichment, can I just add the 8.327% AFR error to the enrichment value in the main tip-in enrichment table? I think the answer is, kind of, or at least yes but not directly.

The closest TPS Delta value in the table is 0.98% (see screenshots in previous post above) and the corresponding value for that column is 0.200 ms of IPW enrichment. 8.327% of 0.200 is 0.016654 and added to 0.200 is 0.216 ms. If I put this new IPW enrichment value into the cell for the corresponding 0.98 TPS Delta column, that change would be far too small to make up the 8.327% fueling difference needed to get rid of my lean lag. What I think I actually need to do is first calculate what IPW is needed. The current IPW for this datapoint is 5.913 ms but I need 8.327% more fuel in this moment, which should correspond to 6.405 ms (5.913 x 1.08327) if the percentage error is a direct translation to IPW. Maybe it's not, I don't know. But lets say that it is. 6.405 - 5.913 = 0.492 ms of additional fuel needed. So this is the value that needs to be added to the current value in corresponding the 0.98% cell. 0.200 + 0.492 = 0.692 ms but seeing as this data point occurred at 1.22% TPS Delta and this cell corresponds to 0.98% TPS Delta, a final value of 0.600 ms might be more appropriate. Then again, if you take another look at the current values in the table shown in the screenshot I posted, you'll see that a tip-in enrichment of 0.600 ms is also applied at 5.86% TPS Delta. Does this mean that my tip-in enrichment table is way off? Maybe, after all my MAF and MAP comp tables were way off when I first got the car. Honestly I don't know and I can't really find any info on how to tune this on a relfashed EJ so ya, that's pretty much where I'm at right now. I'm going to continue to try and collect more clean datapoints and then apply small changes like the type I described over multiple iterations, smoothing adjacent cells to avoid large discontinuities. For example, at first I may change the IPW compensation value at 0.98% TPS Delta to 0.400 ms and the IPW compensation value at 1.95% TPS Delta to 0.500 ms and so on. I'll update this thread with my results but again, if anyone has some thoughts to share please don't hesitate to post. I've also attached a small snip showing the datapoint I've been talking about if anyone's curious as to what the graphs look like.

Attached Files

As you've noted from our webinars, you're much better off targeting silky smooth engine response than a perfectly flat AFR curve. In my experience the former will be superior to the latter every time. In general I find with reflashing on almost any platform, that unless I'm making major changes to the mechanical configuration that will impact VE, the tip in enrichment settings typically don't need much, if any adjustment.

If you do have some kind of stumbling on tip in then I wouldn't necessarily base my correction on AFR data due to the transport delay/latency you tend to see. My suggestion would be to start by making a decent change of say 20-25% and then test to see the result of this. Again we're concentrating on how the engine responds more than what the wideband is telling us. Sure it's a guide, but it's not the most critical metric for accel enrichment tuning.

Gotcha. Thanks for the suggestion Andre. I went ahead and changed the tip-in values for the 0.98%, 1.95%, and 3.91% TPS Delta columns this morning but I ended up using the AFR error percentage method I mentioned in my last post because I hadn't seen your response yet. I'll try doing the simple 20-25% change like you suggest for future iterations.

That said, my current tip-in IPW enrichment values for the 0.98%, 1.95%, and 3.91% TPS Delta columns are now, 0.400 ms, 0.452 ms, and 0.500 ms respectively; or an addition of 100%, 50%, and 25% respectively in comparison to the previous stock values. Right away this produced a pretty big change and I gotta say, the car's jerkiness in second gear is hardly noticeable now. First gear, the car still jerks around a bit but then again, it's not exactly an amount that I'd consider excessive or uncomfortable. I also don't really drive around in first gear. The revs obviously climb high very fast in first and with normal driving, I'll just quickly shift to second anyways so trying to get the car silky smooth in first may be a bit pedantic of me.

I found a datapoint in one of my logs where the TPS Delta was 1.10%, so very close to the other datapoint I looked at in my previous post. The AFR readings were pretty much the same story; wideband a bit lean in comparison to commanded fuel, it quickly hits the mark but ends up overcompensating and continues to read slightly rich afterwards. I thought making a big change the like I did would have reduced the lean lag from the wideband but it doesn't appear to have done that. Regardless, not really an issue. I now have other datapoints where the TPS Delta is much higher such as 5%, 10% and I think 17% at the highest, but I didn't really feel the car jerk around much if at all during these large tip-in events. The car was only noticeably jerky around TPS Deltas of +/-0.5% to +/-3% or so, and only really below third gear. Of course, it's difficult to pinpoint what the deltas are because I have to actively look at the recorded parameters and make a mental note of what the value was in that moment and how much "jerkiness" I felt, but it's safe to say that it's definitely below a TPS Delta of +/-3%.

Which leads me to a question I've been thinking of. After making the changes to the tip-in enrichment table, the car drives very smoothly in second gear and decently well in first during positive TPS Delta events; both the low and high delta values throughout in the tip-in enrichment table. BUT, during disenrichment (tip-out) the car still experiences some jerkiness in first, second, and even third gear to a small extent. It's not excessive, but it is noticeable. It may actually be exacerbated by my 15 year old engine mounts which I should probably replace at some point. According to the datalogs and my internal "jerkiness" meter, this feels most noticeable during TPS Deltas of the same small values of about -0.5% to -3% or so. I have logs which show TPS Deltas of -10% or more but I don't think the car felt jerky during these larger negative delta events, just normal deceleration.

Interestingly, in the tip-in enrichment table, I can edit the TPS Delta row and enter custom values, such as -1.00% for example. Aside from reworking the entire table to compensate for negative TPS Delta values, I don't see any other way to tune for transient disenrichment. Is this just one of the realities of working with a reflashed factory ECU? I've seen in the webinars that many standalones seem to incorporate transient disenrichment tables but it doesn't look like there's a dedicated tip-out table in EcuFlash or Cobb's Accesstuner software. Andre has stated in multiple webinars that the engine is generally much less sensitive to the overly rich conditions during tip-out and with that in mind, I'm thinking that my worn engine mounts may actually be a big part of the noticeable jerkiness I feel during these negative TPS Delta events. It could also very well be a result of suboptimal MAF/MAP comp table tuning, as I wasn't able to get good data below 2.0V during my MAF calibration. I can't remember the exact values but I think I saw about 1.2V during idle and then used the correction factor at that voltage and linear interpolation below and above that point (up to 2.0V) in order to keep my MAF curve smooth. I know in the EcuFlash STI videos, Andre is able to perform the 2K RPM MAF scaling test from about 1.5V to 2.5V on the dyno, but for me, using the left foot brake method in second gear on the street, 2.0V was the lowest I could get to without lugging the engine. If the small amount of jerkiness I'm currently experiencing is a result of a suboptimal MAF/MAP comp tune, then oh well. It's a pretty minor thing overall. I'm going to continue to datalog and test different TPS Delta events, focusing on how the car feels, but even right now, I think I've got it pretty close to where I want it to be. I'll post an update with my findings soon.

I don't think I'll end up doing it but just for the sake of a thought experiment, what would be the implications of reworking the entire tip-in enrichment table in order to compensate for negative TPS Delta values? Probably unnecessary for most reflashed STIs but the fact that the table allows for negative delta values is very interesting.

I made a few more changes, some of which were not very helpful in the beginning but I think it made me realize something. For the first column in the tip-in enrichment table, where the TPS Delta is 0.00%, I changed the delta value to 0.10% and the corresponding IPW enrichment amount to 0.200 ms. I mentioned in an earlier post that I thought about doing this and what the consequences might be, so I decided to test it out. I then also changed the tip-in minimum TPS Delta value for activation from 1.00% to 0.10% to make sure that the small delta events were being used for tip-in. I did this thinking it might help reduce the jerkiness I experienced in first and second gear during small TPS Delta events (below 1.0%) and it did seem to help but, it also made the car drive "weird", as if it was a bit sluggish. While I did gain smoothness, I lost responsiveness. I then reset the closed to open loop delay from 750 back to 0, as well as the max RPM delay per gear from 4200 to 2500 and that made things much worse.

The threshold for triggering open loop from closed loop using these settings is very low and I found it very easy to go into open loop even during small TPS Delta events. This was the issue I was having in the beginning when I was trying to datalog closed loop AFR errors during tip-in. The quick switch from closed to open loop isn't necessarily a problem in itself but with the settings triggering enrichment during 0.1% TPS Delta events and above, the car was back to being extremely jerky in first and second gear. To make matters worse, I was now also seeing larger total trims while driving normally at higher speeds, since small TPS Delta events were still occurring even when I thought I was holding the throttle completely steady.

In the closed/open loop transition with delay active tables, it looks like throttle position and base injector pulse width are used to determine open loop activation, along with the delay counter and other relevant tables. But if the delay is set to a value of 0 (which mine now was again) I believe these tables are effectively disabled and the primary open loop fueling minimum activation table is used on its own instead, in order to determine when to switch to open loop. In my table, the value is currently set to 14.00 AFR and according to my datalogs, I dip below this value very frequently, even with small TPS Delta events, hence the constant switch back and forth between open and closed loop.

I think this constant switching back and forth between open and closed loop may actually be the heart of my problem. When I reenabled the open loop delay by setting the value back to 750 and the per gear threshold to 4200 RPM, it made things very smooth. Originally I thought this was because of my new tip-in enrichment settings but I think having a delay between closed and open loop made me realize that the jerkiness I'm feeling isn't actually from tip-in events per say. The jerkiness actually happens during to switch from closed to open loop and vice versa, as it's most noticeable when letting off the throttle completely in low gears, and then reapplying the throttle. These are usually TPS Delta events of about +/-1.0% during normal driving.

Now I guess this is still technically a tip-in event, since I'm going from essentially 0% throttle to say 1% or more or vice versa, but I'm not sure if the tip-in enrichment table is the solution for fixing the jerkiness in these low gear situations. I don't really want to go back to having a closed/open loop delay because I think zero delay is safer for when boost comes on during quick/large throttle movements. So that kind of puts me right back where I started at the beginning of this rabbit hole. Again, the jerkiness with the current MAF/MAP comp settings is very minor in comparison to where it was in the beginning. I don't want to give the impression that it's a crazy amount of shaking or hesitation, I just think there's room for improvement.

I'm going to leave the per gear threshold at 2500 RPM while I play around with the delay value. Andre mentions in the EcuFlash videos that the delay is a raw value, not necessarily representing of a unit of time such as milliseconds. With this in mind, I'm going to set the delay to 300 and see if that improves smoothness while also allowing for a relatively fast transition to open loop during quick/large throttle movements. I'm also going to change the minimum TPS Delta activation for tip-in back to 1.0% and change the values in the first column of the tip-in enrichment table back to 0 for TPS Delta and IPW enrichment. Lastly, I think I'll also decrease the enrichment value at 0.98% TPS Delta from 0.400 ms to 0.252 ms, or about a 25% increase from the original stock value. I'll leave the other previously modified enrichment values as is for now and report back with my results.

Ok so I finally settled on a combination of settings that I really like. I loaded up one of Cobb's latest off the shelf tunes for my vehicle and noticed that they have a closed to open loop delay value of 200. Originally 300 worked very well for me but I've since been driving around with it set at 200 and I like that delay setting even more. With a delay active, there are a few delay threshold tables in use that I've mentioned previously. I've changed some things so that the threshold to go from closed to open loop is quite high during certain conditions. I messed with the min/max TPS and injector pulse width settings at first but ultimately I went back to the stock values for those tables and decided to keep things simple by just customizing two tables.

Specifically, I changed the closed loop delay max RPM per gear table so that first, second and third gear have relatively high RPM values. In the EcuFlash STI videos, Andre puts in a value of 2500 RPM for all gears. I decided to copy the values in the Cobb map and put 3300, 3400, and 2900 RPM for first, second, and third gear respectively. This gives me extremely smooth driving when I'm in the low gears, as the car no longer jumps back and forth between open and closed loop. I can now drive around the parking lot in first or second gear at high RPM without looking like I've never driven a car with a manual transmission. Letting off the throttle completely, it takes about one second of continuous 0% throttle to go from closed to open loop (fuel cut). This lets me use 0% throttle to slow the car a bit and then reapply a small amount of throttle to hold speed. In practice this is perfect for how I like to drive, as I often use throttle manipulation for low speed turning and uneven roads. Everything feels smooth without me having to think about it.

The second part of my changes is getting the car to switch into open loop quickly when needed and for this, I changed the closed to open loop transition minimum TPS table. Most of the cells are filled with a stock value of 75% or 0% TPS but I put 19.8% at an engine speed of 2000 to 4800 RPM. This means that even if I'm below 2500 RPM in gears four through six (or below 3300, 3400, and 2900 in first, second, or third), if I hit the gas and get the throttle position over 20% with at least 2000 RPM, the car will switch into open loop almost immediately. I tested this in fourth gear, starting at 2000 RPM with just enough throttle to hold engine speed steady and then quickly going to 100% throttle. According to my datalogs the closed to open loop transition takes about 450 ms. I think this is a pretty acceptable delay and I believe these settings are probably safe for most circumstances. Of course, because the max RPM per gear table is in use, if I go above 2500 RPM in gear four through six, the delay value will be automatically set to 0. This applies for all gears and the corresponding values in the table, including first through third. I find that I'm able to easily stay in closed loop most of the time even when the engine is operating above the max RPM value, but if I increase throttle input to an amount that results in an IPW value greater than the stock values in the pulse width closed/open transition table, the car will immediately enter open loop. This works really well for me. For example, I can cruise on the highway at around 70 MPH at 3000 RPM in closed loop continuously. If for some reason I need to speed up a bit but I don't want to downshift, I can apply a bit more throttle and the car will enter open loop, targeting my much richer open loop lambda setting as the engine and car quickly speed up.

I've left the previous changes to the tip-in enrichment table in place, as everything seems to be working very smoothly and my total trims during regular driving are pretty low (including during shift events and start/stop driving). My trims during cold starts however are still very high so that's the next thing I'll be taking a look at. I believe Cobb has some sort setting in place which forces the car to rev extremely high during cold starts. I read that this "stratified" start setting can be turned off easily on newer models or perhaps with updated Accesstuner software, but I don't see any tables which address this behavior specifically in EcuFlash or the Accesstuner version that I have. Currently, my car revs to about 3000 RPM on cold start, and then drops to about 2500 RPM after two seconds. It then stays at 2500 RPM, dropping revs slowly for the next few minutes as the engine comes to operating temperature. Fuel correction is as high as -18% at the beginning. I recently asked Andre about this during a live webinar and he stated that this cold start behavior is extreme and definitely not normal. I know Cobb has dealt with some big EPA issues so perhaps it's there way of trying to get the cat heated as quickly as possible. Nothing looks abnormal in my idle tables but I do see some pretty big timing correction values in the warm-up tables. I'll mess around with this as I fine tune my cold start trims and post an update shortly.

We usually reply within 12hrs (often sooner)

Need Help?

Need help choosing a course?

Experiencing website difficulties?

Or need to contact us for any other reason?