Guten Tag liebe community, ich würde gern wissen, ob es möglich ist mit einem Arduino Board eine Kraftstoffeinspritzanlage zu steuern. Ich hab überlegt mein altes Motorrad auf eine MPI Einspritzanlage umzurüsten und ich hab mich gefragt ob eine Arduino Einheit überhaupt im stande ist, bei hohen Drehzahlen, die Einspritzung zu gewährleisten. Das währe denn bis zu 200 Mal in der Sekunde(alle 5ms).Wenn es nicht möglich ist, womit kann ich es schaffen. Danke im Voraus. MfG Sanjakom
Alex Kom schrieb: >(alle 5ms) Das sind 5000 Takte @1MHz, wenn Arduino zu langsam sein sollte mit normalem C dürfte das kein Problem sein. Wenn man nicht gerade hochkomplexe Berechnungen hat.
Berechnet wird nicht so viel, der Board soll ein Signal empfangen und eine Düse, für eine bestimmte zeit über einen Transistor, öffnen. Das alles aber sehr schnell.
Der Takt des Arduino (Uno oder 2009) liegt bei 16MHz, eine Maschinenzyklus also bei 62,5 ns. Aus dem Datenblatt und den Instruktionstabellen der AVR Familie kannst du nun die Dauer eines Assemblerbefehls und die max. Reaktionszeit auf ein externes Ereignis, bspw. eines Interrupt entnehmen. Sollte aber reichen. Damals (tm) gab es auch Einspritzanlagen mit 8051 und Zyklenzeiten von 1 us und die haben auch funktioniert.
Die Arduino Befehle digitalWrite() sind verhältnismässig langsam, weil er da jedes mal noch viel mehr macht und prüft und so. siehe http://www.billporter.info/2010/08/18/ready-set-oscillate-the-fastest-way-to-change-arduino-pins/ http://www.skpang.co.uk/blog/archives/323 http://code.google.com/p/digitalwritefast/
Alex Kom schrieb: > Das währe denn bis zu 200 Mal in der Sekunde(alle 5ms) Die Frequenz ist sicher nicht das Problem. Allenfalls könnte man sich Gedanken machen, wie groß der Jitter sein darf und ob einem da der ganze Arduinozirkus in das genaue Timing reinpfuscht.
Alex Kom schrieb: > ich würde gern wissen, ob es möglich ist mit einem Arduino Board eine > Kraftstoffeinspritzanlage zu steuern. Der Arduino ist ja eher ein Bastelgerät zum Erlernen der µC-Programmierung. Für Deine Anwendung solltest Du den µC direkt programmieren, und zwar zumindest die zeitkritischen Teile in Assembler. Gruss Harald
Harald Wilhelms schrieb: > Für Deine Anwendung solltest > Du den µC direkt programmieren, und zwar zumindest > die zeitkritischen Teile in Assembler. Jo, den Arduino SDK Kram darfst du natürlich nicht benutzen. Machs so, wie Harald sagt, oder prüfe das Zeitverhalten unter C mit dem Simulator in AVR Studio.
Matthias Sch. schrieb: > oder prüfe das Zeitverhalten unter C mit dem Simulator in AVR Studio Statt hinterher zu prüfen, was da für ein Timing rauskommt, sollte man das besser gleich in der Programmstruktur richtig anlegen.
Wolfgang schrieb: > Statt hinterher zu prüfen, was da für ein Timing rauskommt, sollte man > das besser gleich in der Programmstruktur richtig anlegen. Das versteht sich doch von selber :-) Da der avr-gcc aber bei einer normalen ISR ein wenig Overhead einbaut (kann man mit ISR_NAKED allerdings vermeiden) ist der Simulator dann trotzdem ein Anhaltspunkt für die Reaktionszeit.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.