Knock Detection involves using a peizo-electric (mechanical to electric) sensor to monitor the frequency at which the engine block is vibrating, and determining whether or not the engine is actually knocking. For the Elite ECU we use a simple sensor that acts very much like a microphone, sending all frequencies through to the ECU to be processed. From within the ESP software the correct frequency to be used is then selected by the tuner, with all other frequencies being ignored. To do this the Knock Detection function must be enabled, and a sensor must be connected to the appropriate ECU input.
There are two main types of knock sensors used in the industry: resonant and non-resonant.
This type of sensor is typically designed for the exact application and uses a small strip of metal that is designed to have the same resonant frequency as the engine block. These types simply output a signal as the metal strip vibrates. They can usually be identified as a screw-in style body with the connector sticking out away from the block and commonly a single wire connection. Some of these types of sensors can be used with the Elite ECU however the frequency selection will not work as they output a signal across off frequencies to the spectrogram. When running the spectrogram the tuner will notice vertical lines as knock is experienced so frequency selection is not important and can be set to just about anything. The resonant style sensor is also prone to false-tripping because we cannot tailor the exact frequency to suit the application.
This type of sensor is more universal and by design will pick up a large range of frequencies making them more suitable to performance applications where we want to pick the frequency to be monitored. The Haltech Knock Sensor is a non-resonant type sensor. They can usually be identified by the through-bolt design and commonly have a 2-pin connection with the connector on the side of the sensor.
There is one dedicated knock input (pin A21) on the Elite 1000 and 1500 models, and two dedicated knock inputs (pins A21 and A22) on the Elite 2000 and 2500 models. The knock sensor should connect to one of these pins, with the other pin of the knock sensor being wired to Signal Ground.
Take note that NGK stress the fact that their sensors should be torqued to the correct specs. Quote:"The knock sensors have a specific torque. The torque change can affect the signal generated by the sensor. NTK recommends torque of 2.0 to 2.5 kgf.m and does not recommend the use of grease or washers on mounting the knock sensor."
SETTING | DESCRIPTION | TYPICAL SETTINGS |
---|---|---|
Detection - Start Spectrogram | Turns On or Off the Knock Detection Spectrogram which is used to find the knock frequency. The spectrogram will run for 20 seconds and then turn off by itself. | Turn on as required. |
Detection - Knock Frequency | The knock frequency can be manually entered here. | Found through testing. Changes with each engine. |
Detection - Start Angle (BTDC) | The crank angle position at which the ECU will start to look for knock. | Found through testing but start with -10 degrees. |
Detection - Duration | The crank angle amount over which the ECU will look for knock. With a default duration of 40 degrees, and default Start Angle of -10, the ECU will look for knock between -10 and 30 degrees BTDC. | Found through testing but start with a wide 60 degrees before narrowing it down afterwards. |
Momentary Knock - Ign Adv | The amount of extra ignition timing to be added during the Momentary Knock process. | Use enough timing to actually make the engine knock. Start with 10 degrees but more may be required. |
Momentary Knock - Duration | The length of time over which the Momentary Knock process will run. | use enough time to actually make the engine knock. Typically set to 10 seconds and if there is excessive knock the tuner should reduce engine load. |
Momentary Knock - Knock | Starts the Momentary Knock process | Use as required |
TABLE | ||
Knock Threshold | The amount of knock signal level over which the engine is considered to be knocking. | Typically set to around 3 to 5 db above the normal background noise of the engine when it is definitely not knocking. |
There are a number of different methods that tuners will use but the following process is one that I follow when setting up Knock Detection. There are two main parts to the setup, the knock frequency selection and the knock threshold table setup. What must be considered is that for the knock detection to work you must identify engine knock. In other words, you do have to make the engine knock so that you know what engine knock looks like for the ECU to be able to do something about it.
There will be times when the knock detection process simply will not work, such as when fuel that has a high enough octane rating that it is not possible to make the engine knock.
To complete the knock detection process the engine must already have a decent level of tune completed. The fueling should be where the tuner wants, and a safe level of ignition timing should be entered that is reasonably ball-park.
This part involves finding the best frequency for the ECU to monitor when detecting knock. This process only needs to be completed once, and yes you WILL need a dyno to do this process with any form of repeatability.
With the correct frequency chosen for the ECU to look at for knock, we now need to tell the system what amount of noise at that frequency is normal background and at what level that actual knock is at a level that we would like to do something about it. The Knock Threshold Table is where this is done.
It is recommended to use the Knock Page Layout provided with ESP to do this next process. If your ESP software does not have this page, go to the top of the screen and select View / Load Page, select the screen resolution that best matches your laptop screen but if unsure go to the res1366x768 folder, then select the Knock.page file.
Now view the Knock Threshold table which will look similar to this.
Knock Control is pretty much the ECU doing something about knock when it is detected. This involves retarding the ignition timing when knock is detected. Pretty much all that needs to be adjusted is the amount of Short Term Retard, with a value high enough to stop the knocking being required. Usually the default 5 degrees is enough to do the job so very little input is required other than to turn it on and make some changes only if the default values are not sufficient.
SETTING | DESCRIPTION | TYPICAL VALUES |
---|---|---|
Mode | Sets whether there is more than one bank to be controlled or not. | Depend on the number of sensors. Unbanked when there is one sensor. |
Short Term Retard | The amount of ignition timing retard to be applied when a knock event has been detected. | Usually around 5 degrees is enough to stop the engine from knocking, but more can be used if an engine is more sensitive. |
Short Term Decay Rate | The rate at which the Short Term Retard is reduced back to the normal amount of ignition timing. | Usually start with 0.5 with a lower number holding the retard for longer, and a higher number for a shorter time. |
Hysterisis Time | The amount of time after a knock event has triggered the short term retard before another event can trigger the short term retard again. | Set to a relatively short time, around 0.1 to 0.3 seconds. |
SETTING | DESCRIPTION | TYPICAL VALUES |
---|---|---|
Enable Long Term Trim | Turns On or Off the Long Term learning functionality | Typically turned off by default. Currently the Elite ECU range do not reverse learn. i.e. it wont put back any learned values when the knocking has been eliminated. |
Long Term Retard | The amount of retard to learn for the given cell for each given knock event. | Use a small value, around 0.5 deg. using a smaller value means the system will learn too slowly. Set too high and it will learn too coarse. |
Max Long Term Retard | The maximum amount of retard that any one cell can learn. | Usually set to around 5 degrees, but if your engine is knock prone then allowing it to learn more can be advantageous. |
Reset | Resets the learned values back to all zero. | N/A. |
Apply To Base Table | Applies the learned values to the Ignition Base table, and sets the table back to all zeroes when a single bank is used, or applies what it can when two banks are used and any differences are kept (not zero). | Use as required. |
TABLES | ||
Bank 1 Long Term Trim | Active when the Long Term Trim is enabled. The axis channels will be locked to use the same as the Ignition Base, however the values themselves can be adjusted to suit. | N/A |
Bank 2 Long Term Trim | Only available on the Elite 2000 and 2500 models, and if a second sensor has been connected and a second Bank has been configured. | N/A |
Information about the channels available to be viewed in the ESP software.
CHANNEL | SHORT NAME | DESCRIPTION |
---|---|---|
Knock Threshold | KnkThresh | Taken from the Knock Threshold table. The amount of knock signal over which a knock event is considered to have occurred. |
Knock Sensor 1 Signal | Knk1 Sig | The signal from Knock Sensor 1. |
Knock Sensor 1 Level | Knk1 Lvl | The amount that Knock Signal 1 that has exceeded the threshold. |
Knock Sensor 1 Count | Knk1 Count | The amount of times the signal has exceeded the threshold on Knock Sensor 1. In other words how many times a knock event has been detected. |
Knock Sensor 2 Signal | Knk2 Sig | The signal from Knock Sensor 2. |
Knock Sensor 2 Level | Knk2 Lvl | The amount that Knock Signal 2 that has exceeded the threshold. |
Knock Sensor 2 Count | Knk2 Count | The amount of times the signal has exceeded the threshold on Knock Sensor 2. In other words how many times a knock event has been detected. |
Knock Detection Light Output State | Knock LightOutputState | Shows the state of the output to the Knock Light if one is enabled. |
Knock Control Bank 1 Ignition Correction | Knock B1 IgnCorr | The current amount of ignition correction being applied by Knock Sensor 1. The Short Term Trim |
Knock Control Bank 2 Ignition Correction | Knock B2 IgnCor | The current amount of ignition correction being applied by Knock Sensor 2. The Short Term Trim |
Knock Control Bank 1 Long Term Trim | KnockB1 LTT | The current amount of Long Term Trim being used for Bank 1. |
Knock Control Bank 2 Long Term Trim | KnockB2 LTT | The current amount of Long Term Trim being used for Bank 2. |
Check that the sensor is connected. The sensor itself may not be compatible. When in doubt the Haltech sensor is inexpensive and has shown to present a wide frequency spectrum to the ECU.
Great, what are you complaining about then? This mostly happens with fuel with too high an octane to make the engine knock. A lower grade fuel may be temporarily required to obtain the correct knock frequency.
Usually caused by excessive background noise (poor signal to noise ratio). Knock occurs at more than one frequency, usually in what is called harmonics. Selecting another frequency that has less background noise would be a good way to remove excess background noise.