Klopfregelung mit Arduino?

Antworten
Benutzeravatar
squenz
Beiträge: 265
Registriert: Sa Dez 20, 2014 11:11 pm
Wohnort: München

Klopfregelung mit Arduino?

Beitrag von squenz »

Ich würde gerne eine einfache Schnittstelle bauen welche das Signal des Klopfsensors in ein 0-5V Analogsignal für die MS2 umwandelt. Es soll also erst mal nur die Amplitude der Frequenz in ein 0-5V Signal gewandelt werden. Eine Filterung würde ich später noch ergänzen. Hier am Board gibt es soweit ich mitbekommen habe ja einige fähige Leute und vielleicht kann jemand helfen oder hat sowas ja vielleicht sogar schon selbst gemacht.

Ich spiele seit Weihnachten mit einem Arduino R3 um mich in die Microcontroller Thematik einzuarbeiten.
Meinen bisherigen Erkenntnissen nach gibt es erst mal 2 Problemstellen die ich mit zusätzlicher Hardware lösen muss:

1. Das Arduino hat keinen "echten" analog Output und ich brauche zusätzlich noch ein I2C DAC. Ich habe schon erste Versuche gemacht den Knock Input der MS2 mit einem per PWM geregelten Analog Output des Arduino zu füttern, was aber nicht funktioniert hat. Ich gehe also davon aus dass ich einen "echten" analog Output ergänzen muss.

2. Um die Signale des Klopfsensors im Arduino verabeiten zu können benötige ich ein I2S Breakout Board an welches der Klopfsensor als "digital Microphon" angeschlossen wird.

Was die Codes betrifft habe ich schon einige gute Libraries gefunden die für die Aufgabe hilfreich wären aber erst mal muss die Hardware funktionieren.

Vielleicht kann jemand etwas dazu schreiben, ob ich mit meinen Feststellungen auf dem Holzweg bin, oder man das was ich möchte vielleicht sogar fertig kaufen kann.

Viele Grüße

Markus
Toyota Starlet Daily - Microsquirt V3 mit MS2-Extra V3.4.2
Mazda RX-7 Turbo - Microtech LT-8s
Dennis_Zx7r
Beiträge: 94
Registriert: Do Mai 26, 2016 8:59 pm

Re: Klopfregelung mit Arduino?

Beitrag von Dennis_Zx7r »

Ich weiß nicht was für einen ADC die MS2 für Knock verwendet, die "normalen" ADC lassen sich aber sehr wohl auch mit dem vorgefertigten AnalogOut (aka PWM+Kondensator) mit einem "Analog"signal füttern.
Benutzeravatar
squenz
Beiträge: 265
Registriert: Sa Dez 20, 2014 11:11 pm
Wohnort: München

Re: Klopfregelung mit Arduino?

Beitrag von squenz »

Dennis_Zx7r hat geschrieben:Ich weiß nicht was für einen ADC die MS2 für Knock verwendet, die "normalen" ADC lassen sich aber sehr wohl auch mit dem vorgefertigten AnalogOut (aka PWM+Kondensator) mit einem "Analog"signal füttern.
Die Variante mit Widerstand und Kondensator hatte ich noch nicht probiert, das stimmt. Was mir aber aufgefallen war ist, dass die AnalogOut Ausgangsspannung leider sehr stark vom Delay abhängt mit welcher der Loop durchläuft. Je weniger Delay desto niedriger wird die Spannung bei identischer PWM. Den Loop mit ner halben Sekunde Delay laufen zu lassen damit ich bei voller PWM die 5 Volt erreiche macht im Rahmen der Klopferkennung / Klopfregelung natürlich nicht viel Sinn. Ausser es gibt eine andere Variante die ich als Noob noch nicht kenne :D Könnte es evtl. auch sein dass mir das Messgerät einen Streich spielt? Mit dem Oszi hatte ich die Ausgangsspannung natürlich nicht gemessen.

Viele Grüße

Markus
Toyota Starlet Daily - Microsquirt V3 mit MS2-Extra V3.4.2
Mazda RX-7 Turbo - Microtech LT-8s
Benutzeravatar
Alfagta
Beiträge: 2378
Registriert: Mo Jan 24, 2011 2:24 pm
Kontaktdaten:

Re: Klopfregelung mit Arduino?

Beitrag von Alfagta »

Hallo,

nur so als info im loop soll es gar kein delay geben. Das ist nicht sehr sauber. Versuche es über differenzbildung mittels millis().

Wie Dennis schrieb brauchst einen Lob Bass filter für den PWM Ausgang.
Ein Wald und Wiesen RC ist 3.9KOhm Widerstand mit 0.1µF Kondensator.

Gruß
Wer aufhört besser zu werden hat aufgehört gut zu sein
Alfa 156 GTA
Alfa 75 Race Car MS III
Alfa 164 V6 Turbo
Test MS II
Tunerstudio V3.0.60.61 Registered
MLog View V4.3.30 Registered
MLog View HD V4.3.30 Registered
Benutzeravatar
squenz
Beiträge: 265
Registriert: Sa Dez 20, 2014 11:11 pm
Wohnort: München

Re: Klopfregelung mit Arduino?

Beitrag von squenz »

Alfagta hat geschrieben:
nur so als info im loop soll es gar kein delay geben. Das ist nicht sehr sauber. Versuche es über differenzbildung mittels millis().

Wie Dennis schrieb brauchst einen Lob Bass filter für den PWM Ausgang.
Ein Wald und Wiesen RC ist 3.9KOhm Widerstand mit 0.1µF Kondensator.
Genau solche Infos brauche ich, vielen Dank!
Toyota Starlet Daily - Microsquirt V3 mit MS2-Extra V3.4.2
Mazda RX-7 Turbo - Microtech LT-8s
Benutzeravatar
squenz
Beiträge: 265
Registriert: Sa Dez 20, 2014 11:11 pm
Wohnort: München

Re: Klopfregelung mit Arduino?

Beitrag von squenz »

Ich hatte meine Pläne jetzt auch mal in der Arduino Community dargestellt und dort waren sich die Leute schnell einig dass für das was ich vor habe ein normales Arduino R3 nicht ausreichen wird. Nach viel Input habe ich mir jetzt ein Teensy 3.2 und dazu gleich ein Teensy Audio Board bestellt. Das Bord hat einen Klinkenanschluss, d.h. man könnte dann auch gleich live das FFT gefiltere Signal mithören. Es gibt einige interessante Libraries wie z.B. Spectrum Analyzer und besagte FFT Filter und ich hoffe das mir dass das "coden" erleichtern wird.

Viele Grüße

Markus
Toyota Starlet Daily - Microsquirt V3 mit MS2-Extra V3.4.2
Mazda RX-7 Turbo - Microtech LT-8s
Benutzeravatar
Alfagta
Beiträge: 2378
Registriert: Mo Jan 24, 2011 2:24 pm
Kontaktdaten:

Re: Klopfregelung mit Arduino?

Beitrag von Alfagta »

Aufgrund welcher Parameter seit ihr drauf gekommen das der Atmega mit 16Mhz das nicht verarbeiten kann?

Gruß
Wer aufhört besser zu werden hat aufgehört gut zu sein
Alfa 156 GTA
Alfa 75 Race Car MS III
Alfa 164 V6 Turbo
Test MS II
Tunerstudio V3.0.60.61 Registered
MLog View V4.3.30 Registered
MLog View HD V4.3.30 Registered
Benutzeravatar
squenz
Beiträge: 265
Registriert: Sa Dez 20, 2014 11:11 pm
Wohnort: München

Re: Klopfregelung mit Arduino?

Beitrag von squenz »

Alfagta hat geschrieben:Aufgrund welcher Parameter seit ihr drauf gekommen das der Atmega mit 16Mhz das nicht verarbeiten kann?
Hallo Alfa,

es geht da wohl weniger um die Rechenleistung als um die einfache Tatsache dass das R3 keine I2S Schnittstelle hat.

Viele Grüße

Markus
Toyota Starlet Daily - Microsquirt V3 mit MS2-Extra V3.4.2
Mazda RX-7 Turbo - Microtech LT-8s
MonkeyMotion
Beiträge: 83
Registriert: Do Okt 08, 2015 11:11 pm

Re: Klopfregelung mit Arduino?

Beitrag von MonkeyMotion »

Die feinste Variante wäre wohl mit nem TPIC 8101

Den mittels Arduino oder ähnlichem auslesen
Benutzeravatar
Alfagta
Beiträge: 2378
Registriert: Mo Jan 24, 2011 2:24 pm
Kontaktdaten:

Re: Klopfregelung mit Arduino?

Beitrag von Alfagta »

squenz hat geschrieben:
Alfagta hat geschrieben:Aufgrund welcher Parameter seit ihr drauf gekommen das der Atmega mit 16Mhz das nicht verarbeiten kann?
Hallo Alfa,

es geht da wohl weniger um die Rechenleistung als oum die einfache Tatsache dass das R3 keine I2S Schnittstelle hat.

Viele Grüße

Markus
Du willst also den sensor direkt auswerten ohne jegliche Hardware die dafür gebaut wurde. Sprich den IC den Monkey anspricht.

Halte uns am laufenden.

Gruß
Wer aufhört besser zu werden hat aufgehört gut zu sein
Alfa 156 GTA
Alfa 75 Race Car MS III
Alfa 164 V6 Turbo
Test MS II
Tunerstudio V3.0.60.61 Registered
MLog View V4.3.30 Registered
MLog View HD V4.3.30 Registered
Benutzeravatar
squenz
Beiträge: 265
Registriert: Sa Dez 20, 2014 11:11 pm
Wohnort: München

Re: Klopfregelung mit Arduino?

Beitrag von squenz »

Alfagta hat geschrieben: Du willst also den sensor direkt auswerten ohne jegliche Hardware die dafür gebaut wurde. Sprich den IC den Monkey anspricht.

Halte uns am laufenden.
Von dem TPIC 8101 hab ich zuvor leider noch nicht gehört. So wie ich das sehe bräuchte ich dann zusätzlich nochmal eine Experimentierplatine auf die ich den TPIC dann löten müsste. Auch SMD Bauteile löten ist für mich Neuland.

Ich werde jetzt einfach mal etwas experimentieren mit den Bauteilen die kommen und den Sensor erst mal ohne dem TPIC auswerten. Ich hab ja bereits ein Phormula Knock KS4 im Einsatz das akutell den Job übernimmt, für ne Festinstallation hätte ich eben gerne was kleines und günstigeres :roll:

Viele Grüße

Markus
Toyota Starlet Daily - Microsquirt V3 mit MS2-Extra V3.4.2
Mazda RX-7 Turbo - Microtech LT-8s
Acki
Beiträge: 2753
Registriert: Mo Feb 11, 2008 8:28 pm
Wohnort: BaWü/Lausitz

Re: Klopfregelung mit Arduino?

Beitrag von Acki »

Von Bosch gibt es auch noch eine Chips... CC 151 usw. usf. ;)
Fiat Uno Racing, K16, UMC1, Gslender 3.2.1, LC-1, 355cc, Bluetooth
tooly
Beiträge: 1080
Registriert: Do Aug 23, 2007 11:09 am

Re: Klopfregelung mit Arduino?

Beitrag von tooly »

Acki hat geschrieben:Von Bosch gibt es auch noch eine Chips... CC 151 usw. usf. ;)
Hast du dafür Dokumentationen vorliegen?
Benutzeravatar
squenz
Beiträge: 265
Registriert: Sa Dez 20, 2014 11:11 pm
Wohnort: München

Re: Klopfregelung mit Arduino?

Beitrag von squenz »

Hier mal ein kurzes Video zum aktuellen Stand. Evtl. gehts also auch ohne dem TI oder Bosch Chip.

https://www.youtube.com/watch?v=iUw2kGNUIAs
Toyota Starlet Daily - Microsquirt V3 mit MS2-Extra V3.4.2
Mazda RX-7 Turbo - Microtech LT-8s
Acki
Beiträge: 2753
Registriert: Mo Feb 11, 2008 8:28 pm
Wohnort: BaWü/Lausitz

Re: Klopfregelung mit Arduino?

Beitrag von Acki »

tooly hat geschrieben:
Acki hat geschrieben:Von Bosch gibt es auch noch eine Chips... CC 151 usw. usf. ;)
Hast du dafür Dokumentationen vorliegen?
Nur für den CC 195. Findet man über Google auch.
Fiat Uno Racing, K16, UMC1, Gslender 3.2.1, LC-1, 355cc, Bluetooth
Antworten