RomRaider

Open Source ECU Tools
 FAQ •  Register •  Login 

RomRaider

Documentation

Community

Developers

It is currently Thu Mar 11, 2010 2:15 pm

All times are UTC - 5 hours [ DST ]





Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: How To: Understand And Use Learning View's Knock Information
PostPosted: Tue Oct 13, 2009 1:45 am 
Offline
RomRaider Donator

Joined: Wed Nov 22, 2006 10:23 pm
Posts: 1059
Detonation kills motors. Learning View can help you recognize when your engine has a detonation problem, and it can help you understand the circumstances in which detonation is occurring inside your engine.

In order to understand Learning View, you must first understand detonation, what causes it, and how the ECU responds to it.

0) What do I need to run Learning View?

See this thread about getting started, in general:
topic5320.html
And get a copy of learning view from the first post in this thread:
topic2772.html

1) What is detonation?

First, let's talk about combustion. Normal combustion consists of a flame that expands outward from the spark plug in and orderly and predictable fashion. The pressure from this combustion pushes the piston downward, which turns the crankshaft, and so on. Ideally, the pressure caused by combustion is at its peak when the crankshaft has rotated about 20 degrees beyond top-dead-center. This is late enough to have good leverage on the crankshaft, and early enough that the pressure isn't lost due to the increasing combustion chamber volume.

Sometimes however, the heat and pressure caused by the expanding flame causes spontaneous combustion of the air/fuel mixture elsewhere in the combustion chamber. Or, worse yet, it causes spontaneous combustion of the air/fuel mixture everywhere in the combustion chamber. Now we have peak pressure arriving ahead of schedule. The combustion chamber is much smaller than it normally would be at peak pressure, so the pressure peak is much higher than it normally would be. The piston may not even have reached top-dead-center yet, which means that the peak cylinder pressure isn't contributing to any torque on the crankshaft - instead it's just pushing straight down on the connecting rod, or worse yet, it might even be trying to spin the crankshaft backward. As you might guess, this puts a tremendous strain on the piston, connecting rod, wrist pin, rings, ringlands, crankshaft bearings, and so on. This detonation, and it kills motors. It is also known as knock - those two words refer to exactly the same thing, and they are used interchangeably.

2) What causes detonation?

The three most interesting factors are: load, air/fuel ratio, and ignition advance. Load is the amount of air in the combustion chamber - it ranges from less than half a gram at idle, to 4 grams or more in powerful engines. (Think of air being loaded into the cylinder, rather than load being placed on the engine.) Air/fuel ratio is of course the ratio between the load and the amount of fuel that has been injected along with the load. Ignition advance tells us how far in advance of top-dead-center the spark plug fires. Ignition advance is typically expressed in degrees - at higher engine speeds, more advance is required, so that the peak cylinder pressure occurs well after top-dead-center even when the motor is spinning faster.

Load (by itself) and AFR both affect how rapidly the flame propagates, and how susceptible the remaining air/fuel mixture is to spontaneous combustion. Lean AFRs are easier to detonate, richer AFRs (up to a point) are more resistant to detonation.

Too much ignition advance can precipitate knock. In low-load conditions (idle, cruise) excessive advance will just reduce power, but in high-load conditions it will cause detonation. In Subaru motors, running on pump gasoline, ignition advance (and therefore power) is limited by detonation. This why people are able to get increased power using high octane fuel (aka race gas), additives such as MMT (Torco), and anti-detonation injectants such as water and/or methanol.

(Incidentally, the Octane Rating Number of your fuel is actually no longer a measure of how much of the chemical "octane" is in it; today that number is actually just a measure of detonation resistance, which was formerly linked closely to the chemical that the Octane Rating Number is named for.)

3) How does the ECU respond to detonation?

Our ECUs are equipped with knock sensors, which are basically just microphones that are tuned to listen for the frequencies that are characteristic of knock - together with signal processing that attempts to screen out non-knock noises.

The ECU responds to knock by adjusting ignition advance. It can do this in one of four ways:

3.1) It can retard the ignition advance for a short period of time (a second or two). This is called Feedback Knock Correction (FBKC). FBKC is more likely to be used when Load is changing rapidly. Apparently the ECU software developers assume that the problem has more to do with the rapid change than with the specific RPM and Load, so they briefly pull timing, and then restore it over the next second or two.

3.2) It can retard the ignition advance for a certain RPM/Load range, for a longer period of time. This is called Fine Learning Knock Correction (FLKC) and it is one of the key things that Learning View shows us. FLKC is generally be used when RPM and Load are changing relatively slowly, and when the ECU doesn't have reason to think that you've accidentally put non-premium fuel in the tank. FLKC is gradually unlearned if you drive in the same RPM/Load region without knock. The time required to unlearn FLKC varies by ECU.

3.3) It can retard the ignition advance for a broad range of RPM/Load combinations, by reducing the Ignition Advance Multiplier (IAM). This is sometimes called "rough" knock correction (the opposite of "fine" knock correction). When the ECU calculates ignition timing, it multiplies the timing value from the 'ignition advance' timing table by the IAM, and adds the result to the timing value in the 'base timing' table. Thus, cutting IAM to 0.5 would reduce timing over much of the RPM/Load range, in proportion to the values in the ignition advance table. You can think of IAM as the ECU's way to cope with an accidental fill-up with non-premium fuel.

3.4) The ECU can do nothing. It could just hope that the knock it heard was probably just noise. This will be the case for knock outside the feedback, fine, and rough correction RPM/Load limits, which are configurable in most ECUs.

For a thorough explanation of the ECU's knock control strategy, see this thread:
topic1840.html

4) What can Learning View tell us?

4.1) Learning View shows us the Fine Learning Knock Correction table, also known as the FLKC table. In a perfectly healthy car, this table would consist entirely of 0.0 values. When the ECU pulls timing in an FLKC cell, it subtracts 1.4 degrees of timing from the corresponding RPM/Load range, in hopes that this will be enough to prevent further knock. If there is no further knock in that same RPM/Load range, the ECU will add timing back, in increments of 0.35 degrees. If there is further knock in the same RPM/Load range, the ECU will subtract another 1.4 degrees, and so on.

If you occasionally see -1.4 values (or smaller, e.g. -1.05, -0.70, -0.35) in different cells at different times, your car is probably healthy. Even when running the stock tune there will be some corrections like those. Perhaps they are due to occasional knock, perhaps just noise. However Subaru seems to feel it's no big deal - and remember, they have to rebuild these motors under warranty.

If you see one or two cells with small corrections, and it's a different cell (and sometimes, no cells) every time you check, then your motor is probably healthy - but you should use data logging to make sure. If you see many cells with small corrections, you should make some changes to reduce the amount of knock your engine has to put up with.

If you see values beyond -1.4 (such as -1.75, -2.80, -3.15, and so on) then you have a problem. Such numbers indicate that the ECU pulled 1.4 degrees of timing and still saw knock. This is a cause for concern, and you should do something about it. More about that below.

If you see positive values in the FLKC table, the ECU has used an IAM reduction, and is now experimenting with increased timing (increased from the values that the reduced IAM produces) to see if it's safe. The ECU will never add timing beyond the total allowed by the base + advance timing tables, however a reduced IAM makes some room for positive values in the FLKC table.

4.2) Learning View shows us the Ignition Advance Multiplier. For cars with 32-bit ECUs, this is a value that ranges from 0 to 1. For cars with 16-bit ECUs, it ranges from 0 to 16. If IAM has dropped below maximum (1 or 16), then you have a problem. You've either got the wrong fuel in the tank, or you've got too much timing, or you've got messed-up air-fuel ratios, or too much boost. Whatever the problem is, you should fix it before getting into boost again.

5) What can we do about knock?

5.1) Reduce timing. First, look for abnormal peaks in the combined base + advance timing tables. These are difficult to spot using RomRaider alone, but other tools exist to make it easier: Excel, Timing Editor, and EcuEdit can all sum the two tables and show you the result graphically. If you see something that sticks up, in the range where Learning View showed knock corrections, then change the base or advance tables to smooth out the timing surface by cutting down the peak(s).

5.2) Add fuel. Assuming you're not crazy rich to begin with (in the 10s), adding fuel might be the answer. But, see below about logging first.

5.3) Reduce load. If you're getting knock corrections only in the rightmost column, it could be that you're pushing your turbocharger beyond its efficient range. The resulting hot air is more prone to detonation. Look at what people with similar mods are running, and if you're using higher boost, consider turning it down a bit.

6) How can we make Learning View's knock learning information more useful?

The rows and columns in the knock correction table displayed by Learning View can be changed. Open up your tune in RomRaider or EcuFlash, and look for these tables under the "Ignition Timing - Knock Control" section:

* Fine Correction Rows (RPM)
* Fine Correction Columns (Load)

The contents of these tables varies quite a bit, even between stock tunes - even the numbers of rows and columns varies widely. There is no single best way to configure them, but here are some ideas to consider:

* Some stock tunes have effectively disabled one or more rows or columns by setting the values ridiculously high. For example, the last two rows in some 2002 WRX tables are 5,000-12,800 RPM and 12,800+ RPM. If you're turning faster than 12,800 RPM, knock is probably the least of your concerns. 5,000-6,000 and 6,000+ are much more reasonable. The same ROMs have the last two load columns set to 1.5-4.0 and 4.0+, but 1.5-2.0 and 2.0+ would be more useful.

* It can be useful to align the load columns in Learning View (maybe just the rightmost 3 or 4 columns) with the load columns in your timing tables that you hit in a WOT pull. This makes it easy to translate knock corrections shown by Learning View into adjustments in your actual timing tables. This is not necessarily a great idea for the long term, but it makes it easy to tune timing for specific boost levels.

* It's usually pretty easy to keep you car knock-free below 1.0 load. Consider setting the leftmost load column to 0-1.0, and equally spacing the rest of the columns to cover the range between 1.0 and the highest load that you hit in full-boost WOT pulls. This makes it harder to translate Learning View's corrections into timing table changes, but when I feel 'done' with timing changes I like the idea of letting the ECU make its knock corrections in equally-spaced ranges like this.

7) What can't Learning View tell us?

Learning view can give you a vague idea of the RPM/Load range where you're getting knock, but it can't tell you what AFR you had at the time of the knock.

It can't tell you exactly what RPM and load you were at when the ECU detected knock - the cells in the FLKC table are pretty broad.

It can't tell you that you're overshooting your boost targets.

It can't tell you that you're dipping super-rich right after you stomp on the gas.

It can't tell you that you're running lean because you need more fuel than your injectors or pump can deliver.

It can't tell you that you're getting knock in quick throttle changes, because the ECU will usually address that with feedback knock correction, rather than learned knock correction.

For these things, and more, you'll need to do some data logging.

_________________
2005 Legacy GT w/ ATP 3076, IWG, MBC, BCS, OMG


Last edited by NSFW on Tue Mar 09, 2010 1:30 am, edited 7 times in total.

Top
 Profile  
 
 Post subject: Re: How To: Understand And Use Learning View's Knock Information
PostPosted: Tue Oct 13, 2009 12:10 pm 
Offline
RomRaider Donator

Joined: Wed Nov 22, 2006 10:23 pm
Posts: 1059
Sanity check, anyone?

_________________
2005 Legacy GT w/ ATP 3076, IWG, MBC, BCS, OMG


Top
 Profile  
 
 Post subject: Re: How To: Understand And Use Learning View's Knock Information
PostPosted: Tue Oct 13, 2009 12:40 pm 
Offline
Newbie
User avatar

Joined: Tue Apr 21, 2009 4:21 am
Posts: 25
Location: Vigo , Galicia , Spain
NSFW wrote:
Sanity check, anyone?


Thanks a lot for this post , it help people like me to undestand this easier...as you know i'm having knock problems...

_________________
Fe en Dios e ferro o fondo


Last edited by wrxgal on Wed Oct 14, 2009 12:37 pm, edited 1 time in total.

Top
 Profile E-mail  
 
 Post subject: Re: How To: Understand And Use Learning View's Knock Information
PostPosted: Tue Oct 13, 2009 9:05 pm 
Offline
Newbie

Joined: Tue Oct 06, 2009 9:01 pm
Posts: 15
where can i find learning view?


Top
 Profile E-mail  
 
 Post subject: Re: How To: Understand And Use Learning View's Knock Information
PostPosted: Tue Oct 13, 2009 11:10 pm 
Offline
RomRaider Donator

Joined: Wed Nov 22, 2006 10:23 pm
Posts: 1059
Good question. I added a new section at the top (number zero) to address that. It's a pointer to another how-to that I wrote, which includes some other stuff you may find useful.

_________________
2005 Legacy GT w/ ATP 3076, IWG, MBC, BCS, OMG


Top
 Profile  
 
 Post subject: Re: How To: Understand And Use Learning View's Knock Information
PostPosted: Thu Oct 15, 2009 8:07 pm 
Offline
Newbie

Joined: Tue Oct 06, 2009 9:01 pm
Posts: 15
found it thank u


Top
 Profile E-mail  
 
 Post subject: Re: How To: Understand And Use Learning View's Knock Information
PostPosted: Wed Dec 09, 2009 8:55 pm 
Offline
RomRaider Donator

Joined: Sun Oct 05, 2008 4:43 pm
Posts: 25
Location: wilmington
definate thanks for this thread, i just realized that i should be taking more logs and compairing where i have knock at what load/rpm more than i was. i had been taking logs and if there was any knock i would lower the timing in that cell.


Top
 Profile E-mail  
 
 Post subject: Re: How To: Understand And Use Learning View's Knock Information
PostPosted: Mon Dec 28, 2009 3:24 am 
Offline
RomRaider Donator

Joined: Wed Nov 22, 2006 10:23 pm
Posts: 1059
romanlynch wrote:
definate thanks for this thread, i just realized that i should be taking more logs and compairing where i have knock at what load/rpm more than i was. i had been taking logs and if there was any knock i would lower the timing in that cell.


I did that for a while - pulling timing on every sign of knock. Eventually I realized I was running a few degrees less timing than what I thought was reasonable. I had started with detuned timing, and advanced timing a few degrees, very slowly, getting clean pulls before advancing. Then, after finding the sweet spot... over the next few weeks, I had removed timing bit by bit until I was almost back where I started. So I gradually added it back, and came to pretty much the same maximums that I had found before. I still got lots of clean pulls, which tells me that I was being way too paranoid.

So now I look for repeatable knocks, or conversely, repeatable clean pulls. This means you have to use judgment to decide when to pull timing and when not to. I really liked the simplicity of pulling timing whenever and wherever there's knock, but having seen where that leads, I don't think it's a good idea.

_________________
2005 Legacy GT w/ ATP 3076, IWG, MBC, BCS, OMG


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Style based on FI Subsilver by phpBBservice.nl
phpBB SEO