Knock detection filter circuitry

Free Open Source Hardware discussion forum. Post your Free Open Source hardware projects here!
User avatar
KW1252
LQFP112 - Up with the play
Posts: 166
Joined: Tue Jan 15, 2008 5:31 pm

Re: Knock detection filter circuitry

Post by KW1252 »

Linky no worky. LS7power.com domain has expired :(
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Knock detection filter circuitry

Post by Fred »

You are right. I remember something funny about that link when I posted it. I'll have a bit of a research around and see what else I can find that's interesting reading. Now that this thread is here it may as well be put to good use!

Thanks,

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Knock detection filter circuitry

Post by Fred »

None of these systems are particularly effective because of the exterior noise.

What I would like to do is figure out an analog filter circuit that not only removes a lot of the garbage noise, but is synced with the engine phase for windowing.

I propose that this could be done by having an analog pre-filter that removes the majority of the noise, and an and/nand gate with some timing circuits controlling it.

Such a circuit could be driven by the ORed sum of the falling edge of the ignition circuit dwell combined with a frequency dependent delay to start and duration. In this way you could control the output of the analog circuit to the cpu with and/nand gate such that signals that made it past analog filtering were only accepted during the period 5deg after spark to 10deg ATDC or some such thing. This should make any received signals somewhat more reliable.

Thoughts?

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
ababkin
LQFP112 - Up with the play
Posts: 215
Joined: Tue Jan 15, 2008 5:14 pm

Re: Knock detection filter circuitry

Post by ababkin »

Just IMO, but i think that we should save this "knock detection" energy for a more sure-shot solution like ion sensing and PPP estimation. For now let's just rely on safe tuning and making sure we use good gas.

but thats just me

Alex
Legal disclaimer for all my posts: I'm not responsible for anything, you are responsible for everything. This is an open and free world with no strings attached.
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Knock detection filter circuitry

Post by Fred »

Safe tuning is definitely the way to go, however having an LED light up, and a datalog show that it occurred and at what exact load point etc is invaluable for tuning from logs and from lifting to prevent the deep hole in your wallet getting deeper. Ion sensing is very CPU intensive and wont make it onto this chip. an interface with a second chip that did just that and forwarded the data over CAN,SPI,SCI,IIC etc would work fine.

FYI, windowed knock detection is very useful and not nearly as prone to false alarms as non windowed knock detection. For data logging and tuning, a non windowed system would be useful enough, IE, do a run with good fuel, or 10deg timing pulled and log it, add timing and do another run etc, you can see the noise levels at different rpm when you KNOW its not knocking and then again when it might be and use the differences in signal frequency to determine if that noise meant anything or not.

None of this knock stuff matters on NA engines pretty much at all, knocking NA would have to be pretty extreme and persistent to do significant harm. However, under boosted conditions, a single good knock can blow your piston backwards past the rod and bend the rod and push the head gasket out sideways and crack the bore and the head all at the same time :-) obviously we want to avoid that at any reasonable cost. For my engine in the ute for example, there is a choice of two OEM knock filter boxs to use for an interface. such a system worked for the OEM (Mazda) and used appropriately will work for me too. Setting that up is cheap and easy. The question has to be asked, why not do it? There is no reason not to.

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
gearhead
LQFP112 - Up with the play
Posts: 120
Joined: Sun Feb 03, 2008 9:30 pm
Location: Chicago, USA

Re: Knock detection filter circuitry

Post by gearhead »

Admin wrote:None of these systems are particularly effective because of the exterior noise.

What I would like to do is figure out an analog filter circuit that not only removes a lot of the garbage noise, but is synced with the engine phase for windowing.

I propose that this could be done by having an analog pre-filter that removes the majority of the noise, and an and/nand gate with some timing circuits controlling it.

Such a circuit could be driven by the ORed sum of the falling edge of the ignition circuit dwell combined with a frequency dependent delay to start and duration. In this way you could control the output of the analog circuit to the cpu with and/nand gate such that signals that made it past analog filtering were only accepted during the period 5deg after spark to 10deg ATDC or some such thing. This should make any received signals somewhat more reliable.

Thoughts?

Admin.
I think what you are saying is windowing the event. Since we know when it will happen. This is computationally challenging, but it has been done on lesser hardware AFAIK.

http://www.fs.isy.liu.se/~Elarer/Projects/main.html

This link is down now, FWIW. I think I have a copy somewhere. He defines when knock will happen.

gearhead
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Knock detection filter circuitry

Post by Fred »

Thanks for the link!

It's going to happen roughly in the time between firing the coil and TDC or a little afterwards or before that depending on how extreme things are getting inside the engine.

My idea was to filter that in hardware pre the CPU getting an interrupt from it. I can think of a scheme to handle it in code without too much of a headache right now, but it would be nice if it was done in hardware first. If hardware turns out too complex or unreliable, the software side of it is worth pursuing for sure! (or vice versa I guess)

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Knock detection filter circuitry

Post by Fred »

DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Knock detection filter circuitry

Post by AbeFM »

Perhaps there's something to be said for calibrating the noise floor, too. Certainly a free rev with the microphone on should let you know when to not listen as hard, or what the 'floor' is. My motor is notoriously noisey, so a floor that varies with RPM is a necesity, but perhaps just turning off between 30-60* ATDC would work, to choose numbers at random.

I like the idea!
Post Reply