Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB

Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB (https://www.ft86club.com/forums/index.php)
-   Software Tuning (https://www.ft86club.com/forums/forumdisplay.php?f=88)
-   -   How does the ECU learn? (https://www.ft86club.com/forums/showthread.php?t=48678)

boredom.is.me 10-09-2013 02:21 AM

How does the ECU learn?
 
Pretty much all modern ECU's are self learning. I'm wondering how far would our ECU go, and how long is this learning curve? For example, would your ECU learn that it has a higher/better inlet airflow if you swap the filter or intake setup? If you drive your car hard, will the ECU better calibrate itself for performance? If you drive like a granny, will it calibrate itself for efficiency?

I really no nothing about this and am very curious.

Kev

King Tut 10-09-2013 11:36 AM

Our ECU has both short term and long term fuel trims that make adjustments to the fuel tables to try and achieve what the ECU feels is the correct air fuel trim. It makes these adjustments based on what it reads on the O2 sensor. It also has short term and long term knock control where it listens for knock on the knock sensor and pulls or adds timing from the timing maps.

jamesm 10-09-2013 01:16 PM

short term fuel trims are applied in closed loop to correct the afr to 14.7 based on feedback from the car's o2 sensor. long term fuel trims are stored (i presume) based on the short term trims over time. long term trims within +/- 5% are considered ideal, with +/- 10% being acceptable. these can be brought down by adjusting maf and injector scaling to better approximate reality.

you don't want to rely on ecu learning algorithms to optimize for performance. the reason for this is that fuel trims are calculated in closed-loop where you aren't concerned with making power. long term trims do apply to open loop fueling as well (where there is no feedback loop to let it know it's screwing your pooch), which can wreak havoc, so the best bet is always to achieve the best maf/injector scaling possible (and consequently, the lowest trims possible).

the stock ecu has a trim limit of 40%, so it will no add or subtract more than 40% ipw at any time. if you're trimming that high you've got some issues to resolve before going further.

fbkc (feedback knock correction) is similar only it uses the knock sensor feedback and a counter. basically the first time it sees knock it pulls some amount (defined in the rom) of timing, then for every counter interval that it sees no knock it adds back some smaller amount. all of this is configurable with any of the available tuning solutions.

to answer your question more directly: your ecu is always optimizing for efficiency in closed loop. when those corrections are too high, they can effect open loop (where you make your power), ruining your day.

Circuit Motorsports 10-09-2013 04:09 PM

Just chiming in here...as said, the ECU can "learn" or adjust closed loop fueling and timing within limits. Also, the ECU has the ability to make compensations based on altitude, temperature, engine warm-up period, etc.

The ECU definitely does not learn based on your driving habits. The ECU always strives to keep the engine happy with regard to fueling and knock based on feedback from the engine's sensors.

An example would be if you install an intake system that is different from the stock system (diameter, bends, etc.). The new intake will not perfectly match the stock intake calibration, so the ECU will make fueling adjustments at idle and cruise (closed loop) to compensate for the difference (within limits). The ECU can also set a long-term fuel adjustment that also affects open loop (when the ECU detects a certain engine load like hard acceleration). If these limits are exceeded, the ECU will generate a check engine light and code.

Now, this long-term fueling adjustment may or may not be proper for the open-loop running (higher engine load up through higher RPMs). This could cause the engine to run too rich, or too lean under hard acceleration. Neither case is desirable, and too lean can be dangerous to your engine's health (by inducing knock). In reality, too rich can produce knock as well. In this situation, you would need a tune to properly calibrate the ECU for that intake.

So, while the ECU can "learn", depending on the design of that intake, the ECU may or may not properly learn and adjust for that intake. Data logging at least AFR would be the only way to really tell. When the tuner recalibrates the ECU for that intake, the ECU only needs to make minor adjustments and the AFR will remain in the proper range.

The ECU can also adjust timing within limits to prevent knock. So, if you get a tank of crappy gas for example, the knock sensor may pick up on knock and reduce timing to prevent the knock. Or if you accidentally put low octane fuel in the car. Once you filled up with good premium fuel, the ECU would detect no knock (or noise) and raise the timing back up.

Hope this helps and I'm not muddying the water in my effort to explain. I've heard folks express concern that the ECU would unlearn what a tuner has done, and the ECU just does not work that way either. Just think about it as the ECU can and does adjust things + or - within limits to keep the engine running optimally.

-- Bob

qoncept 10-09-2013 04:38 PM

More on knock/timing here:
http://www.romraider.com/RomRaider/H...ndKnockControl
http://www.romraider.com/forum/topic1840.html

boredom.is.me 10-09-2013 04:51 PM

Wow guys, thanks. That explains a lot. I was always wondering if the ECU would eventully unlearn, but that got answered as well.

arghx7 10-09-2013 10:49 PM

One more thing to keep in mind: the feedback systems also have to account for production variations in parts, and changing engine friction. For example, electronic throttle control systems have a learning capability to account for how broken in the engine is. If they didn't, you could have too much air entering the engine at idle as engine friction decreases with mileage accumulation.

Quote:

Originally Posted by Circuit Motorsports (Post 1260508)
I've heard folks express concern that the ECU would unlearn what a tuner has done, and the ECU just does not work that way either. Just think about it as the ECU can and does adjust things + or - within limits to keep the engine running optimally.

Just an FYI here about where this idea of an ECU "unlearning your tune" comes from. When we tune cars now, the majority of solutions involve reprogramming the stock ECU by flashing it through the diagnostic port like a dealership would. A lot of older cars have memory chips on the ECU circuit board that can be reprogrammed with aftermarket tools (old Hondata for 90s Honda, Moates Quarterhorse for old 5.0 Mustang, etc).

Piggybacks, which alter what goes into the ECU or alter what the ECU puts out, can be "unlearned." A simple piggyback will change the MAF sensor signal to the ECU. On say late 80s/early 90s cars, the ECU was too dumb to even notice, so you could lean out the engine and advance the timing. Once you tried doing that on OBD II cars or later, if you're not careful the ECU will use the fuel trims and knock learning to effectively "undo" your tune. It just sees the piggybacks' changes to the ECU inputs and compensates for them.

That doesn't mean all piggyback systems on every car are useless though. They have to be set up right, and generally speaking they don't work well with heavily modified engines. Also, depending on what exactly the situation is in question, the stock ECU might be able to "unlearn" a reflash if the new programming made a sort of odd change (like a MAF scaling mistake, or a correction table used as a bandaid) that the fuel trims and knock learning can compensate for. I'm more of splitting hairs here though. A properly reprogrammed stock ECU tune won't be "unlearned," although engine behavior can still vary with weather etc.

u/Josh 10-10-2013 01:42 AM

I have sort of a followup question to this one. Can the typical Ecutek, openflash tablet, etc tunes change when the car goes into open loop? What is the reason we don't always operate in closed loop mode?

Dephective 10-10-2013 03:23 AM

Quote:

Originally Posted by u/Josh (Post 1261585)
I have sort of a followup question to this one. Can the typical Ecutek, openflash tablet, etc tunes change when the car goes into open loop? What is the reason we don't always operate in closed loop mode?

Yes they can adjust "when" the car would switch over to open loop. You can set it to happen based on load, RPM, throttle position, etc. At least theoretically, as I have no experience with ECUtek's program, but I imagine it would.

Closed loops is like a circuit, and as long as you stay inside a set of parameters (throttle position, rpm, load, etc.), your ECU will try to reach lamda or 14.7:1 AFR based on what the O2 sensor reads. If these values parameters are exceeded, the ECU looks "outside the loop" to take into account other sensors to detect how much air is present, temperature of that air, knock, and also the O2 sensor as well as "look up maps" inside the ECU to know how much fuel to use to reach a set value AFR. This AFR will be richer than 14.7:1 because at WOT that will be far too lean. This targeted AFR is an absolute value, but your ECU may only be able to approximate that. Knock for example can cause your ECU to pull timing and throw more fuel into the mix to enrich the mixture as a failsafe against deadly detonation. Your tuner would be making adjustments to "open loop" settings to make the power and hopefully do it safely with the modifications present.

A full standalone like Hydra EMS with a proper wideband O2 setup can actually be ran in closed loop all the time. This takes a decent amount of tuning skill to make this safe and efficient though. I'm not sure if they have that set up on this platform, but yet again I don't see why not. Element Tuning I believe had it set up on their STi before they had their Twin.

jamesm 10-10-2013 10:20 AM

i'll add that it's not just as straightforward as saying 'i want open loop above 20% throttle and 3000rpm'. there are lots of delay counters and conditions that have to be considered and adjusted. it can certainly be adjusted, but it's not a simple thing to do. @mad_sb wrote an excellent post on the subject.

ft_sjo 10-10-2013 10:36 AM

Quote:

Originally Posted by jamesm (Post 1261923)
i'll add that it's not just as straightforward as saying 'i want open loop above 20% throttle and 3000rpm'. there are lots of delay counters and conditions that have to be considered and adjusted. it can certainly be adjusted, but it's not a simple thing to do. @mad_sb wrote an excellent post on the subject.

You can achieve that, though.

u/Josh 10-10-2013 10:45 AM

Quote:

Originally Posted by Dephective (Post 1261671)
Yes they can adjust "when" the car would switch over to open loop. You can set it to happen based on load, RPM, throttle position, etc. At least theoretically, as I have no experience with ECUtek's program, but I imagine it would.

Closed loops is like a circuit, and as long as you stay inside a set of parameters (throttle position, rpm, load, etc.), your ECU will try to reach lamda or 14.7:1 AFR based on what the O2 sensor reads. If these values parameters are exceeded, the ECU looks "outside the loop" to take into account other sensors to detect how much air is present, temperature of that air, knock, and also the O2 sensor as well as "look up maps" inside the ECU to know how much fuel to use to reach a set value AFR. This AFR will be richer than 14.7:1 because at WOT that will be far too lean. This targeted AFR is an absolute value, but your ECU may only be able to approximate that. Knock for example can cause your ECU to pull timing and throw more fuel into the mix to enrich the mixture as a failsafe against deadly detonation. Your tuner would be making adjustments to "open loop" settings to make the power and hopefully do it safely with the modifications present.

A full standalone like Hydra EMS with a proper wideband O2 setup can actually be ran in closed loop all the time. This takes a decent amount of tuning skill to make this safe and efficient though. I'm not sure if they have that set up on this platform, but yet again I don't see why not. Element Tuning I believe had it set up on their STi before they had their Twin.

Thanks for the reply. I was under the impression that this car had an almost wideband O2 sensor and thus assumed that the car did target some values other than 14.7:1 under closed loop operation. Is that incorrect?

What are the reasons OEM dont use wideband sensors and closed loop under all conditions? Is it just the cost and life of the sensors?

ft_sjo 10-10-2013 11:01 AM

It can have closed-loop target AFR's outside of stoich. These wide range sensors are not super accurate or repeatable at richer than stoich mixture which is why manufacturers don't tend to use them for that.

jamesm 10-10-2013 12:36 PM

one of the conditions for open loop is minimum target afr, set to 14.0 on a stock rom. so, you can pretty much target anything above 14.0 and stay in closed loop. of course there's a lot more to it than just that, but it is possible to target equivalence ratios other than 14.7:1 in closed loop operation.


All times are GMT -4. The time now is 03:44 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
User Alert System provided by Advanced User Tagging v3.3.0 (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.


Garage vBulletin Plugins by Drive Thru Online, Inc.