Seite 1 von 1

Motor Tuning Tool auf Arduino Basis

Verfasst: 3. Dez 2020, 19:14
von cash666
der Max hat mich gestern an mein altes Motortester Projekt erinnert, als er seinen wirklich coolen Drehzahlmesser auf Arduino Basis vorgestellt hat :lol: Da hats mich direkt gepackt und ich hab das Zeug was ich dafür schon besorgt hatte mal aus der Ecke geholt und es bis heute zum laufen gebracht.

Grundsätzlich - ein Arduino ist ein frei programmierbarer Mikrocontroller mit diversen analogen und digitalen Ein- und Ausgängen. Kann man für unfassbar viele Sachen gebrauchen und missbrauchen :D

Ich hatte mir damals ein Innovate LC1 Lambdasonden Interface für den Laptop gekauft um meinen Motor besser abstimmen zu können. Das Teil funktioniert super, mich nervte aber immer das ich an 3 Verschiedenen Stellen Parameter ablesen muss (Laptop, analoge Unterdruck Uhr und Drehzahlmesser im Cockpit)
Also war die Grundüberlegung mittels Arduino ein Interface für den Laptop zu schaffen, das alle 3 Parameter anzeigen kann und ggf. auch grafisch die Abhängigkeiten darstellt. Dazu braucht man nun verschiedene Sensoren:
AFR bzw Lambda: hier kommt der LC1 Controller zum Einsatz der zusätzlich einen analogen 0-5V Ausgang bietet und somit direkt Arduino tauglich ist.

Unterdruck: hier habe ich den Differenzdrucksensor MPX5100DP gekauft. 0-100kpa und je nachdem, welchen Schlauchanschluss man nutzt, für Unter- und Überdruck zu gebrauchen. Auch der hat direkt einen 0-5V Ausgang und muss nur ein wenig mit ein paar Kondensatoren gefiltert werden.

Drehzahl: das große Problem hierbei ist, die Zündimpulse an der Primärseite der Spule auszuwerten, was im Prinzip jeder Aftermarket Drehzahlmesser macht. Max hat das in seinem Thread schön beschrieben und auch dargestellt, was da aufm Oszilloskop passiert. Letztendlich muss man eine Schaltung bauen, die aus den Impulsen der Zündung ein einigermaßen sauberes 5V Rechteck macht, welches der Arduino auswerten kann. Am einfachsten ist es nur die "Spikes" an der Primärseite auszuwerten und alles andere zu ignorieren. Ich habe das mit folgender Schaltung gelöst:
Opto Schaltung.jpg
Im Prinzip wird durch die Z-Diode mit einem Wert von 39V nur die Spitze des Impulses Richtung Optokoppler durchgelassen, per Widerstand noch an dessen Diode angepasst. Auf der Ausgangsseite sitzt im Opto ein NPN Transistor, dessen Emitter man einfach auf GND vom Arduino legt und den Collector direkt an den Eingang, der Eingang braucht dafür einen internen Pullup um einen definierten Zustand zu haben wenn nichts passiert. Fertig ist das Rechteck und durch den Opto ist der Arduino auch vollständig von der Zündung isoliert und kann nicht kaputt gehen. Zum Verpolungsschutz des Optos könnte man noch eine Diode entgegengesetzt parallel zur Diode im Opto schalten.

Den Drucksensor und den Optokoppler hab ich auf eine kleine Platine gepackt und zusammen mit dem Arduino in ein Gehäuse gepackt. Als Sensoranschlüsse hab ich einfach Klinkenbuchsen verwendet, weil ich die rumliegen hatte. Der Drucksensor hat einen kleinen Schlauchanschluss für die Vakuum Leitung vom Manifold.
IMG_8502.JPG
IMG_8503.JPG
IMG_8504.JPG
Die Kiste braucht keine weitere Spannungsversorgung und wird einfach per USB an den Laptop angeschlossen. Hier beginnt der spannende Teil. Wenn jemand Interesse am Code hat veröffentliche ich den gern.
Die grafische Aufbereitung übernimmt die Freeware "serial ComInstruments". Leider scheint es die Website nicht mehr zu geben, aber ich kann das Programm bei Bedarf zur Verfügung stellen. Im Helpfile der Software ist auch aufgeschlüsselt in welchem Format der Arduino die seriellen Daten an den Rechner schicken muss. Hat man sich einmal eine Oberfläche zusammen gebaut kann man diese speichern und bei Bedarf wieder abrufen. Bei mir sieht das Ganze so aus:
<iframe src="" width="640" height="360" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>

Die Werte sehen alle erstmal ganz vernünftig aus. Den Unterdruck hab ich mit meiner analogen Uhr verglichen und das passt. Der Lambda Warte passte auch, da muss ich nochmal die Innovate Software parallel laufen lassen um das genau zu vergleichen. Die Drehzahl konnte ich heute nicht verifizieren, da ich nichts weiter da hatte. Aber auch der Wert sieht plausibel aus.

Man kann da sicher noch mehr Parameter unterbringen, ich weiß das es z.B. auch Öldruck Sensoren mit 0-5V Ausgang gibt. Interessant wäre natürlich noch der Zündzeitpunkt, aber das ist aufwendiger weil man sich dann noch was bauen muss, um die Kurbelwellen Position zu erkennen.
Mir reicht das so zum Einstellen und ich kann es sowohl statisch als auch beim fahren nutzen. Durch die Grafen kann man sich z.B. auch einfach ein paar Parameter im Verlauf der fahrt nachträglich ansehen.

Das man zum Thema was man mit Arduinos so alles anstellen kann. :lol:
Hoffe es ist nicht zu viel "Nerdkram" :? Aber ich find das Thema einfach sehr interessant.

LG
Chris

Re: Motor Tuning Tool auf Arduino Basis

Verfasst: 3. Dez 2020, 19:41
von Braunschweiger
:shock: Wow, nein total interessant, finde sowas immer spannend.
Gruß Harald

Re: Motor Tuning Tool auf Arduino Basis

Verfasst: 3. Dez 2020, 21:39
von 428CJ
Ich kann gute Pfannkuchen machen....

ne im Ernst..das ist faszinierend für nen alten sack wie mich...ich habe mich da nie hintergeklemmt (und werde damit auch nicht mehr anfangen). Ich lese es zwar versteh aber wenn nur die Hälfte..

Aber wir haben hier noch ne Tüte mit 10 von diesen roten schicken USB Kabeln falls du was brauchst..diesen andern Anschluss hat hier nix mehr

Re: Motor Tuning Tool auf Arduino Basis

Verfasst: 4. Dez 2020, 06:39
von JoMo75
Wieder mal genial, und echt interessant!
Da kommen tatsächlich Erinnerungen an die Lehrzeit hoch (Zenerdiode, Optokoppler, Pull-Up Widerstand .... da war doch mal was :D ... lang ist's her.).

Vielen Dank!

Re: Motor Tuning Tool auf Arduino Basis

Verfasst: 4. Dez 2020, 08:24
von 429CS
Ich muss unbedingt die Emitter des Phasenkopplers reinigen. Die Induktionsspulen am Plasmafeld des Warpsammlers überhitzen ständig. :lol:

Ich verstehe kein Wort :roll:

Re: Motor Tuning Tool auf Arduino Basis

Verfasst: 4. Dez 2020, 12:23
von Stephan-84
Ich find es super. Da bin ich direkt begeistert wieder die Lötstation rauszukrammen und aufzustellen.

Re: Motor Tuning Tool auf Arduino Basis

Verfasst: 1. Mär 2022, 10:00
von WurlitzerOMT
Moin Chris,

das sieht super aus!!
Hast Du da vielleicht noch weiter dran gefeilt und eventuell sogar weitere Sensoren eingepflegt, oder geplant?
Ich denke da an Temp. für Wasser, Öl, Getriebeöl und Drücke?!

Vielleicht kann man da ja ein Kompletpaket schnüren.
Wenn sich mehrere Interessenten finden, dann könnte ich sowohl professionelle Platinen, als auch tolleGehäuse mit Touchscreen, oder alternativ Handy App anfertigen.
Das habe ich für diverse andere Projekte bereits gemacht.
Bei mir mangelt es an der Fähigkeit software zu schreiben.
Bei Hardware bin ich ganz gut aufegstellt.

Wäre das was?
So ein gemeinsames Projekt?

Liebe Grüße!
Rainer

Re: Motor Tuning Tool auf Arduino Basis

Verfasst: 1. Mär 2022, 10:18
von Schraubaer
Ohja, kompakter als mein momentaner Flashtuner! :mrgreen:
EDB06D0F-B169-4AFF-9AF3-30AFB53F2F8C.jpeg

Re: Motor Tuning Tool auf Arduino Basis

Verfasst: 1. Mär 2022, 20:25
von cash666
WurlitzerOMT hat geschrieben:
1. Mär 2022, 10:00
Moin Chris,

das sieht super aus!!
Hast Du da vielleicht noch weiter dran gefeilt und eventuell sogar weitere Sensoren eingepflegt, oder geplant?
Ich denke da an Temp. für Wasser, Öl, Getriebeöl und Drücke?!

Vielleicht kann man da ja ein Kompletpaket schnüren.
Wenn sich mehrere Interessenten finden, dann könnte ich sowohl professionelle Platinen, als auch tolleGehäuse mit Touchscreen, oder alternativ Handy App anfertigen.
Das habe ich für diverse andere Projekte bereits gemacht.
Bei mir mangelt es an der Fähigkeit software zu schreiben.
Bei Hardware bin ich ganz gut aufegstellt.

Wäre das was?
So ein gemeinsames Projekt?

Liebe Grüße!
Rainer
Hallo Rainer,
ich hab da erstmal nichts weiter dran gemacht da ich mit dem Funktionsumfang als Diagnose voll zufrieden bin. Weitere Sensoren sind grundsätzlich möglich, aber ich weiß nicht wie sinnvoll die von dir genannten für die kurzfristige Abstimmung eines Motors sind. Zumal ich mir Wassertemp. und Öldruck sowieso irgendwo als Zusatzinstrument einbauen würde. Zum alleinigen Einstellen des Motors sind diese Parameter m.M. nach nicht so relevant das sie in dem Tool mit angezeigt werden müssten. Im Blick sollte man sie natürlich trotzdem behalten, aber da reichen im Zweifel die Boardinstrumente.
Professionelle Platinen und Layouts sind für mich auch kein Problem, das mache ich schon länger im Rahmen meiner Radio und Blinker Umbauten.

Die Frage ist: was soll es werden wenns fertig ist?
Zum Einstellen und zur Diagnose reicht m.M. nach die Darstellung auf einem Laptop. Vorteil ist durch Com Instruments die grafische Aufbereitung der Daten. Sowas wirklich cool auf nem Display darzustellen wäre schon deutlich mehr Arbeit. Auch für die Handyapp hätte ich Ansätze, es war mir bisher allerdings die Mühe nicht Wert.
Wenn es jetzt eine Art "Boardcomputer" werden soll bin ich raus, das halte sogar ich für übertrieben im Oldie ;)
Für die Auswertung von AFR braucht es halt meist noch kostenintensive Zusatzelektronik wie z.B. das Lambda Package von Innovate oder das Lambda Shield für den Arduino. Beides liegt bei 100€ + und es kommen noch alle weiteren Sensoren dazu. Also selbst das von mir beschriebene Set wird kaum groß unter 200€ liegen können.

LG
Chris