MembersPage/Andrey/Knock

Firmware 1.2.15 now has a workable solution. The documentation below is merged, use this manual for reference: http://vems.hu/vt/help/v3/v3_knock_control.html


Experimental knock solution (actual for 1.1.51)

in italic comments from GintsK. Generally my understanding from discussions with Andrey



Set same settings as for original knock solution, knock_chan, retard, etc
Set Gain for all cylinders "1"
initially set 1. Then watch datalog. Target is get noise values for all cylinders more or less equal and below ~1/4 of max possible value 1012. This can be done by combination gain and integrator time constant. Be careful it is window width dependant

Set min=90 and max=110, all references=100
Please use 100 for all cylinders in 99% cases

Set 797 to knock table if you want disable knock control at some area (i use it at low loads and rpm<1000)
for me seems disabling threshold is 750%. It disables both recognition algorithms.

See at log and fill table with threshold values, for example, log noise = 20-200, so set 300 at table.
Set mean value too, 250%-400% is good starting point.
Do not use selfcalibration, it is only for experiments and does not work as expected for a while.
Selfcalibration must be disabled! Selfcalibration is disabled when Min_noise_value <128. Then both these values are not involved in any process. Initial idea comes from OE ECU where some selfadaption is necessary when sensor is tighten with different torque.

There are 8channels for knock retard and 8channels for noise in log, instead individual power variables, you could use them for analyse.

My settings, as default:

knock_chan=21 means 00010101, it is chessmask for two sensors. use knock_chan=0 or 255, if you use one sensor at first or second channel.
KnockCalibration.PNG

KnockNoisetable.PNG

KnockSampling.PNG