Arduino för enkel DSP applikation (motor Knock sensor)

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
arte
Inlägg: 317
Blev medlem: 13 januari 2006, 01:18:50

Arduino för enkel DSP applikation (motor Knock sensor)

Inlägg av arte »

Hej,

Jag funderar på att försöka mig på och bygga en "knock" sensor till min bil med en Arduino. "Knackning" är när bränslet tänds tidigare än vad det skall, detta är skadligt för motorn. Alla moderna motorer har sensorer för detta. Typiskt händer det ifall man har för låg oktanhalt, motorn överhettad eller kör en aggresiv motorinställning. (https://en.wikipedia.org/wiki/Engine_knocking)

I princip så behöver jag koppla in en mikrofon till en Arduino och med mjukvara detektera ett 6.8Khz knock/ping ljud.
Mikrofonen sitter på motorn, det är väldans massa oljud i motorn så filtret måste vara väldigt bra. En svårighet är att själva knock ljudet blir maskerat av allt annat oljud från motorn.

Tänker mig något bandpass filter av hyfsat hög grad och använda Arudinos inbyggda ADC.

Tror ni Arduinon har tillräckligt med prestanda?
Den måste göra lite andra enklare saker med som polla IO för lampor, knappar och läsa av I2C.

Här är en bild from Audacity på knock ljudet:
auda.jpg
Finns en MP3 attachat också. Knock ljudet kommer vid 24s och 31s .


Tack!
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Arduino för enkel DSP applikation (motor Knock sensor)

Inlägg av Janson1 »

Jag tror alla nya bensinbilar har en knacksensor eller två, är det inte bättre att använda en sådan istället för en vanlig mikrofon? Man slipper alla ovidkommande ljud/oljud och får väl i princip ganska bra grundsignal från knackgivaren när motorn knackar?
cosmox
EF Sponsor
Inlägg: 3854
Blev medlem: 6 januari 2004, 02:11:54
Ort: Hjälteby - Tjörn

Re: Arduino för enkel DSP applikation (motor Knock sensor)

Inlägg av cosmox »

Det är nog enklare att använda en kontaktmikrofon för den applikation.
Typ ett piezoelement.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Arduino för enkel DSP applikation (motor Knock sensor)

Inlägg av Icecap »

Jag är nu mer intresserat i hur man skulle få en Arduino till att sampla snabbt nog OCH hinna köra en DSP-behandling av data.
grottan
Inlägg: 428
Blev medlem: 16 maj 2010, 12:16:42

Re: Arduino för enkel DSP applikation (motor Knock sensor)

Inlägg av grottan »

Torde vara absolut enklast att skaffa en interfacekrets och ansluta den via SPI till Aurdino

http://www.ti.com/lit/an/slyt580/slyt580.pdf
http://www.ti.com/lit/ds/symlink/tpic8101.pdf
http://www.ti.com/tool/TIDA-00152?DCMP= ... designs-en#
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Arduino för enkel DSP applikation (motor Knock sensor)

Inlägg av AndLi »

Icecap skrev:Jag är nu mer intresserat i hur man skulle få en Arduino till att sampla snabbt nog OCH hinna köra en DSP-behandling av data.
På ungefär samma sätt som man skulle få det att funka på en ATMEGA?

Eller så satsar man på en STM32 baserad Arduino.

Matar man sen knacksensorn med signaler från tändmodulen så vet man ju också när det är lönt att sampla eller inte.
Och på så sätt skapar man sig tid när man kan processa datan.

Eller så fokuserar man på att någon säger Arduino och blir helt blockerad..
arte
Inlägg: 317
Blev medlem: 13 januari 2006, 01:18:50

Re: Arduino för enkel DSP applikation (motor Knock sensor)

Inlägg av arte »

Har en Arduino liggande så tänkte det kunde vara bra att använda den.

Frekvensen är beroende på motorvolymen så svårt att ta något annat system rakt av. Min motor är en gammal rak sexa med enkel överliggande kamaxel och solid lifters. De har mycket oljud för sig. Turbo versionen kom med ett knock system men Nissan lyckades inget vidare med det. Fast detta var på tidigt 80.
Finns eftermarknads system men de är också svåra att anpass til denna motorn.

Tror problemet ligger i filter längden och sample window. Jag hade tänkt ett bandpass FIR filter. Men undrar om det finns något smartare sätt som inte kräver så mycket beräkningar

Frågan kankse skall vara, vad är ett resurs snålt sätt att detektera en energy peak av en viss frekvens av i en signal?

(Tack för tipset med interface kretss)
Tack
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: Arduino för enkel DSP applikation (motor Knock sensor)

Inlägg av Bosen »

Om du tar en färdig knacksensor från en bil så är den avstämd för just den motorn.

Här är två intressanta länkar:
http://garage.grumpysperformance.com/in ... info.3515/
http://www.diycardoctor.com/knock_sensor.htm
Skriv svar