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
- Separate gain for each cylinder.
- means: noise levels are adjustable for each cylinder separately
- I tried integrator constant depended from rpm, data rise rapidly with rpm, so fixed constant works better, it is still here.
- Noise window dropped and replaced with noise map 12x12 table share bins with Advance/BoostRef table.
- but knock window still present. Table has own independent 8x8 bins in >1.1.88 And both configs use same table
- Additional condition for knock check by mean value. mean_val=mean_val*15/16+knock_val/16; if (knock_val>mean_val*configurable_constant) then knock detected.
- actually there are two independent algorithms for knock identify:
- 1) "Knock" is recognized when noise rapidly rises above average noise level. Threshold is adjustable by Threshold_for_mean_value and...
- Separate noise reference values for each cyl, so threshold value = noise map value * reference value.
- ...2) noise goes higher than this multiplying product
- And selfcalibration for reference values and gain possible, average of knock values when 2000<rpm<2500 and map<30kpa. If too big or too small then change gain.
- do not use!
- Retard delay dropped, retard applied for each knocking event without any delay.
- MT flashes RED light "Knock" instead "Misfire"
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.