Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

knock sensor threshold

Status
Not open for further replies.

injb

Computer
Apr 20, 2018
4
0
0
US
Hi, I have an old knock regulating computer from an 80s turbo car, and I'm trying to understand how it works, just out of curiosity. It runs on an 8048 microcontroller. The sensor signal goes through various op amp stages and finally into a resettable integrator before going to an analog-to-digital converter. So far so good.

Reading the code that detects knock from the ADC reading, I was expecting to see the value compared to a fixed threshold, or maybe a threshold that varies under certain conditions. But to my surprise, it actually seems to have a constantly self-adjusting threshold.

I want to make sure I understand it correctly. It looks like if the sensor value is below the threshold, then the threshold is pulled down progressively until it's just above the "normal" level from the sensor. I don't know if I fully get the maths behind it but it seems to just subtract a fraction of the last read value from the threshold repeatedly until it stabilizes just above the signal.

I think this means that a sudden increase in the pulse from the sensor amp would trigger knock detection, even if the signal is weaker than normal. But if it kept up constantly for a while, the threshold would adjust itself and knock detection would stop. There is a maximum value for the threshold, so that values above that always trigger detection. But it surprises me that it works this way.

Does that sound right? I mean, is this a common technique? I am not sure what condition they were trying to handle with this feature - maybe a weak sensor signal due to bad connections or something? It seems to have the limitation that if the engine was knocking constantly, then the system can only recognize knock for a few cycles, until the threshold adjusts itself - but maybe that's just an unrealistic scenario?

Anyone have any thoughts or insight into this? Any input would be greatly appreciated! Thanks.

EDIT: I forgot to say, the self-adjusting threshold is actually per-cylinder. Maybe this has something to do with each cylinder have a different baseline of noise?
 
Replies continue below

Recommended for you

"this has something to do with each cylinder have a different baseline of noise?"

They certainly do. One job when mounting the sensor is to find a location that is sensitive to all the cylinders. One reason to make the detection threshold adaptive is that at say 2000 rpm the general level of mechanical noise is much lower than at say 6000 rpm. However it is many orbits since I worked on engines, things are a bit hazy.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
"They certainly do. One job when mounting the sensor is to find a location that is sensitive to all the cylinders. One reason to make the detection threshold adaptive is that at say 2000 rpm the general level of mechanical noise is much lower than at say 6000 rpm. However it is many orbits since I worked on engines, things are a bit hazy. "

Thanks! That's interesting to hear, because in fact I see that the code accounts for that too. It scales the threshold by an rpm-dependant coefficient, so that it's less sensitive at higher rpm. But that's separate - it happens after the threshold has adapted.
 
Status
Not open for further replies.
Back
Top