Knock, pinging, detonation, pre-detonation, rattling…there are many names for this phenomenon and none of them really describe whats happening in the engine apart from describing the audible noise that you hear when it happens. So what is this phenomenon of knock and why is it an “avoid at all costs” condition?
The best way to describe whats’ happening is to take a look at what’s going within the combustion chamber that is causing this audible noise that we want to avoid. When we get knock (detonation) within an engine whats actually happening is that the air and fuel inside the combustion chamber have been heated and compressed so much that they reach what is known as their “auto ignition temperature and pressure”. When the air fuel mixture reach this auto ignition temperature and pressure, the combustion spontaneously occurs without the requirement of a spark to initiate the combustion (somewhat similar to how a diesel engine works).
The problem with this in a gasoline engine is all the fuel and the air in the combustion ignite at once releasing all the energy stored in the fuel over a very short period of time. The effect is a little like hitting the top of the piston with a hammer – a lot of energy is released over a short period of time.
Let’s compare this detonation with normal combustion where the spark plug ignites the air/fuel mixture. The flame front propagates at a relatively constant rate from the point of ignition (the spark plug) outward toward the cylinder wall eventually filling the combustion chamber and pushing the piston back down the bore.
Interestingly it’s not the amount of energy released during detonation that is the issue, after all you are burning the same amount of air/fuel during normal combustion as you are with detonation – it’s the speed at which that energy is released that is the issue. It is literally like hitting the piston with an explosive hammer and that’s why you get damage like crushed bearings, broken ringlands and holes in your pistons as a result of engine detonation.
Now that we understand exactly what detonation is, let’s look at what causes it and more importantly how to prevent if from occurring. Because detonation is the uncontrolled combustion that occurs when air and fuel in the combustion chamber reach their auto ignition temperature and pressure, it stands to reason there are actually two main causes of detonation – temperature and pressure.
Some of the arguments that people have around the naming of detonation (Knock, pinging, detonation, pre-detonation, rattling etc) comes back to there actually being two primary causes of detonation (and detonation prevention). Detonation can be caused by either temperature or pressure (although realistically it’s a combination of both). When we are calibrating the engine we have two levers to pull that help to control temperature and pressure of the combustion chamber, those levers are fuel and ignition.
When calibrating (tuning) the engine we use fuel to control the temperature of the combustion chamber, a richer mixture cools the combustion chamber, a leaner mixture heats up the combustion chamber.
Think of it as baking a cake. When you’ve finished baking, you open the oven and pull the cake out to cool, the air inside the over is 180 degrees C, so the cake and the steel cake tin are both 180 degrees yet putting your hands in the 180 air doesn’t burn you. The metal cake tin however, certainly does burn your hands as does the cake itself after a couple of seconds.
The reason for that is that the three different materials (in this case the air in the oven, the cake and the steel cake tin) conduct heat differently. In this case the air is a relatively poor conductor of heat, so it doesn’t burn you, the tin conducts heat very well and therefore it burns the skin from your hands and the cake is somewhere in between.
It’s a bit like this in our combustion chamber. We are putting both air and fuel inside but, as we know from our cake cooking example, air does not conduct heat very well at all. The fuel on the other hand is a much better conductor of heat so the more fuel we put in the more heat we can remove from the combustion chamber every engine cycle when the exhaust valve opens.
This prevents the piston (and valves, head, cylinder wall, spark plug and everything else that has contact with the inside of the combustion chamber) from getting too hot and melting. Pistons tend to be the first point of failure as aluminium has a lower melting point that those steel valves or the steel sleeve/block.
This sounds a little counter intuitive to start with – does more fuel mean cooler engines? The short answer is yes, and ask any racer what happens when you lean an engine out too much, they will tell you that you start melting things.
Detonation due to over-advanced ignition timing occurs when the spark fires too early (too much advance) which causes the flame front to start propagating from the spark plug outwards as normal but because the spark was started too early, cylinder pressure (from compression) builds at a rate greater than the flame speed can propagate. You have two forces building pressure in the chamber now, the piston moving up the bore on the compression stroke and the additional pressure being built from the combustion event happening.
This pressure build up gets to a point where the currently unburned air and fuel in the combustion chamber reach their auto ignition temperature and pressure. When this temperature and pressure level is met, the remaining air and fuel is burned instantly causing a detonation.
The audible noise that detonation makes is caused by a shockwave of energy being released in the combustion chamber over a very small period of time. Typically an engine that has suffered damage due to over advanced ignition timing will suffer from crushed bearings, broken ringlands, cracked pistons or bent connecting rods.
No matter the cause of detonation, when it occurs we want to stop it and prevent it from happening again. Ideally we want this process to be automatically done via the ECU. The Elite 1500 and Elite 2500 ECUs have built in knock detection and knock control capabilities to take care of these tasks.
First thing that the ECU needs to do is detect that the engine is actually knocking. This is done through the aid of a knock sensor – A knock sensor has a piezoelectric crystal that operates basically like a microphone. It senses vibration within the engine and transmits this signal into ECU. Once this signal is in the ECU, it’s then up to the ECU to determine what is knock and what is normal engine noise.
To most accurately detect knock in your engine with Elite ECU we try to focus in on the specific frequency of noise that knock makes, this helps eliminate background noise. Because knock causes vibration (noise) at a certain frequency in your engine, just like say G in music is a noise certain frequency and an F is a noise at a different frequency, different engines have difference frequencies of knock.
The knock frequency setting on the knock detection tab in the ESP software is telling the ECU “you need to listen out for this frequency of noise, because that is knock” or following on from the music analogy, the ECU is seperating the G’s from the E’s and all the other notes that the band may be playing at the same time.
The big question then is how do we find what that exact frequency is for our engine? There are a couple of ways to answers to this.
We can use an online formula which will normally get us close. These normally look something like this: Knock Frequency = 900,000/(π×0.5 ×cylinder bore diameter ) which equates to roughly Knock Frequency= 573,000/(bore diameter).
Alternatively we can use the spectrogram function in the ECU (above). Using this function means you will need to get the engine to knock in order to read the frequency that it occurs at.
The spectrogram is used to visualise the intensity of the knock signal over a broad frequency range, allowing the tuner to select the frequency to use for Knock Detection. The best frequency to use is a frequency where there is little or no signal when the engine is not knocking, and while knock is occurring, the intensity at that frequency is obvious and quite strong. This will make it much easier to detect true knock.
With knock detection all set the ECU is half way to monitoring and preventing engine damage due to detonation. There is always a degree of background noise in the engine that we want to be able to filter out. This background noise will vary with engine RPM and engine load and it the task of the ‘knock threshold map’ to filter it out.
The knock threshold map sets the level of background noise that the ECU is going to ignore. The easiest way to set this up is to start and run the engine under conditions that you know the engine is not knocking and watch the “knock sensor signal”. The knock threshold map should be 3 or 4 dB higher than the background noise at all load and RPM points. An easy way to check this is to setup a rolling strip graph that shows Knock Threshold (that’s the value you have in the map) and knock sensor level (that’s the raw signal coming from the knock sensor) and run the engine.
The knock threshold should track just about the knock sensor level, if it’s more than 5dB difference adjust the map down a little closer to the actual signal level. If the background noise (knock sensor signal) is higher than the knock threshold you will get false triggering of the knock control and your engine will perform very poorly as the ECU will continually apply knock control unnecessarily.
In the event of knock being detected the ECU will do two things; apply an instantaneous short term timing retard and a long term correction table is populated (when long term knock control is enabled). How much the timing is retarded instantenously is programmed in the ‘short term retard’ setting.
It’s important to retard the timing enough to halt the propagation of knock. 5 degrees is a good starting point. Obviously the timing doesn’t stay retarded forever, the ‘short term retard decay rate’ is the rate at which ignition timing is re-introduced into the engine back to normal levels (i.e. back to whatever timing value is requested in the base ignition map), measured in degrees per engine cycle.
In order to prevent double triggering of the knock control we need to set a hysteresis time. Hysteresis time (or blackout time) is the amount of time the ECU waits after a knock event is registered before listening for further knock events.
When the long term ignition trim is enabled every time that the ECU registers the engine detonating a small ignition trim is added to the ‘long term ignition trim map’. The actual degree to which the long term trim map removes timing each time detonation is detected is set in the knock control setup page. Typically 0.5 degrees is a good starting point.
If you are using multiple knock sensor on different banks of the engine (for example in a V6 or V8 application) then there are individual long term knock trim maps for each bank of the engine. The ECU knows which cylinders are on which bank from the main setup page.
Over time, the long term ignition trim map will populate itself based on when and where knock is detected in the engine. Eventually the tune will get to the point that the engine no longer detonates under any conditions. At this point in time it’s possible to apply any ‘learned’ ignition trim from the long term ignition maps directly to the base ignition map by simply going into the knock control function in the main setup page and clicking on the “apply to base table” button on the long term trim tab.