Seite 3 von 3

Re: Megasquirt DBW - Drive By Wire

Verfasst: Mo Jun 06, 2016 9:14 am
von GT69
Alfagta hat geschrieben:
GT69 hat geschrieben: Ich merke, dass mir da der Background fehlt. :roll:
Wo kann ich mir das Protokoll ansehen?
Hier kannst das Protokoll einsehen.
http://www.msextra.com/doc/pdf/Megasqui ... adcast.pdf
Danke!
Dann kommt als Anforderung ein Wert zw. 0 und 100% an den Controller raus.
Wie ist dann deine Strategie für diesen Controller? Ich verstehe von der Umsetzung nichts, aber die Denke dahinter interessiert mich.

Re: Megasquirt DBW - Drive By Wire

Verfasst: Mo Jun 06, 2016 9:19 am
von Alfagta
Ja die MS sendet 0..100 als Sollposition.

Es gibt dann in der MS eine Table mit Pedalstellung / Drehzahl als Achse.
Dann kann man zum Beispiel Sagen bei Drehzahl 1500 und Pedalstellung 100% wird die Klappe nur zu 50% geöffnet.

Anhand dieser Sollposition muss es dann einen Regler geben der die Drosselklappe auf diese Stellung regelt.
Ansteuerung mittels H-Brücke...

Leerlaufregelung läuft dann auch über die Drosselklappe.

Re: Megasquirt DBW - Drive By Wire

Verfasst: Mo Jun 06, 2016 12:40 pm
von suzuki90
Hier wirds wieder sehr interessant.
LLR geht also schon über die Drosselklappe? Ist für meine ITBs interessant, die keinen Anschluss für einen LLR bieten...
sind das dann ganze Zahlen, also nur 0, 1, 2, 3, ...% oder kann die auch Kommazahlen? Gerade für LLR-Funktion müsste das vermutlich etwas feiner gehen.
Habe auch eine Auto hier mit E-Gas, das macht mit der Drosselklappe was es will. Da ist schon lange die Überlegung, das auf MS3 umzubauen. Allerdings scheiterte es bisher daran, dass man die Drosselklappe nicht auf eíne mit Bowdenzug umbauen will sondern einfach die vorhanden verwenden. Daher ist schon gut Interesse da!

Re: Megasquirt DBW - Drive By Wire

Verfasst: Mo Jun 06, 2016 2:06 pm
von Alfagta
Ja die LLR lässt sich damit realisieren.

Aktuell ist es so das 0..1023 für 0..100% skaliert sind. Also ist das schon die Sollposition in 1/10°...

Gruß

Re: Megasquirt DBW - Drive By Wire

Verfasst: Mo Jun 06, 2016 5:41 pm
von CKP
Habe mir gerade mal die neue Firmware runtergeladen und angeschaut.

Also so richtig verstehe ich das DBW Idle Control System nicht.
Im Prinzip kann ich als einziges neues ja festlegen wie viel % TPS im Leerlauf zusätzlich gegeben werden darf.
Aber was nimmt es als Ziel und mit welchem Regelsystem wird die Zielgröße erreicht? (Im Idealfall ja Leerlaufdrehzahl über CLT)
Falls die Closed-Loop Idle Target Curve gilt, für diese muss ich ja wenigstens Idle RPM Timing Correction aktivieren.
Und hier dann alles auf 0 stellen, damit nicht beide Systeme gleichzeitig reinpfuschen?

Gut also wenn das mit dem Idle Correction irgendwie funktioniert sehe ich das ja schon als nützlich an.
Denn mitm Zündzeitpunkt kann man beim kalten Motor noch nicht sooo viel machen. Zumindest reagiert er bei mir erst ab ner bestimmten Kühlwassertemperatur anständig auf die Advance Corrections.

Bei der Throttle Control müsste meiner Meinung nach ein größeres Kennfeld her. Finde ich zu grob.
Und auch generell dient das ja nur dazu die Fehler vom Fahrer auszugleichen. Bzw schnelles Gasaufreißen zu verhindern und gut die Motorbremse könnte man noch relativ grob beeinflussen.

Für die Traktionskontrolle wäre es wohl nicht mal so ein Problem hier was umzusetzen (Source Code vorrausgesetzt).
Am einfachsten wäre es wohl ein ungenutztes Kennfeld wie z.B. vom Nitrous Cut zu missbrauchen. Sprich in Abhängigkeit von Slip*Time eine Rücknahme von Target-TPS ausgehend vom bisherigen Basiswert.

Launch-Control Ziel RPM im Stand sollte wohl auch noch möglich sein. Evtl zum testen erstmal "hardcoded" in der Firmware über eine PID-Regelstrecke für Target-TPS auf die Drehzahl von Launch-Hard-Limit.
Nur das interessante bzw. nützliche von DBW kommt ja erst danach. Also nachdem man auskuppelt, dass hier das Target-TPS langsam ansteigt aber der Fahrer die ganze Zeit nur Vollgas gibt.
Hier könnte man ja die Speed-Based Launch Control missbrauchen, in dem man das dortige RPM-Target (über Geschwindigkeit) wieder als Soll für die Regelstrecke vorgibt.
Oder den einen Zwischenschritt übergehen und direkt über der Geschwindigkeit die Soll-Drosselklappenposition festlegen? Wäre denke ich einfacher als über Soll-Drehzahl.
Den bisherigen Spark oder Fuel Cut könnte man in der Firmware intern immer paar Prozent höher als das eigentliche RPM-Target setzen. So dass dieser im Normalfall gar nicht zum Greifen kommt, wenn die PID-Regelstrecke für Soll-TPS anständig funktioniert. Aber eben trotzdem als Sicherheitsfeature noch aktiv, nur eben etwas oberhalb.

Target-TPS dann eben immer als Obergrenze setzen. Und im Idealfall müsste das ganze auch noch auf eine Gasrücknahme vom Fahrer reagieren.
Beispiel: Im Stand Vollgas und DBW hält z.B. auf 5%TPS um die Soll-Drehzahl zu halten, dann wird angefahren und die Target-TPS steigen langsam an. Der Fahrer gibt aber immer noch Vollgas.
Jetzt passiert aber etwas unvorhergesehenes: Beispielsweise kommt ein anderer Fahrer in den Weg und man geht leicht vom Gas.
Target-TPS würde bei aktuellem VSS beispielsweise bei 60% liegen. Und der Fahrer geht wegen trägen Reaktion von 100% nur erstmal auf 80% runter. (Im ersten Moment)
Hier müsste dann das Target-TPS auch schon reduziert werden, obwohl Pedal>Soll.
Also vielleicht immer von Pedal ~ 100% ausgehen und alles was der Fahrer weniger gibt, wird dann auch wieder vom Target-TPS abgezogen, so lange bis Pedal-TPS kleiner gleich dem Target-TPS ist.

Idealerweise bräuchte man aber mal den Source-Code um sich das ganze genauer anzuschauen. Aber bis der mal wieder rauskommt ....
Hatte schon mal nach einem von einer neueren 1.4er Version mit nem Bugfix gefragt .... als ob James da mal reagieren würde :roll:

Re: Megasquirt DBW - Drive By Wire

Verfasst: Di Jun 07, 2016 8:38 am
von Luheuser
Warum für mich E-Gas von Vorteil wäre?

Entfall des SUV (DK bleibt kurz offen aber Zündung wird auf spät gestellt)
ALS Funktion besser (siehe oben)
LC besser (bessere/schonende Dosierung)


Für mein EDK Projekt (16v mit 52mm klappen aus BMW M5 V10)

Parabelförmige Öffnung/Kennlinie für bessere Fahrbarkeit für die ersten 15-20%

Re: Megasquirt DBW - Drive By Wire

Verfasst: Di Okt 11, 2016 3:16 pm
von sheeper
Hallo zusammen,

vielleicht für den einen oder anderen von Interesse:

http://www.msruns.com/viewtopic.php?f=88&t=25019

Grüße
Thorsten

Re: Megasquirt DBW - Drive By Wire

Verfasst: Di Okt 11, 2016 6:52 pm
von ChristianK
Ich denke, wenn man das so umsetzt, kann man dbw auch an der MS2 realisieren.

Aber der Onkel hat auch ordentlich einen an der Mütze! :mrgreen:
Hillbilly-boy

https://youtu.be/qVs1JiEuBBY

Re: Megasquirt DBW - Drive By Wire

Verfasst: So Apr 15, 2018 11:15 am
von CKP
Hallo,
gibt es hier eigentlich Neuigkeiten?
Hat sich aus dem Forum schon jemand mit der Entwicklung eines CAN-Bus DBW-Controllers beschäftigt.

Mir schwirrt das ja schon lange im Kopf.
So grob ist schon alles geplant für DBW.
Also ich habe einen passenden DC-Motor mit Planetengetriebe gefunden, Kopplung zur Drosselklappenwelle steht auch schon ungefähr im Kopf.
Werde ein neues Teensy-Board verwenden, dazu ein ADC Board + Level Shifter, da ich die Sensoren wie sonst auch mit 5V versorgen möchte.
Das ADC-Board für "Pedal Position", TPS und werde wohl längerfristig alles im Bereich der Airbox daran anschließen.
Also Kraftstoffdruck, Kraftstofftemperatur, Baro, MAT etc.
Leider kann man auch bei der neusten MS3 Firmware noch nicht alles über CAN-Bus übertragen. MAT muss beispielsweise noch direkt an die MS angeschlossen werden.

Ansteuerung des DC-Motors dann über eine H-Brücke (Pololu High-Power Motor Driver)

Das ganze muss natürlich noch programmiert werden. Vielleicht hat ja hier jemand ein paar Tipps etc ;)
Ich habe zwar schon ein paar Codes gefunden, also für den speziellen Anwendungsfall DBW. Die sind allerdings recht simpel.
Ich möchte das ganze aber gerne über eine PID-Regelung machen. Da habe ich noch nichts zur Orientierung bzw zum leichteren Einstieg gefunden (Für diesen Anwendungsfall)
Im Endeffekt gibt Teensy dann PWM (Geschwindigkeit) und DIR (Richtung) aus.
Sprich der Motor kann dann die Drosselklappe nicht nur öffnen, sondern auch aktiv schließen.
Das ist wohl aktuell auch Stand der Technik. Eine Feder wird dann meistens auch ganz weggelassen. Die würde auch die Regelung nur erschweren.

Mit dem Gasgriff bin ich mir auch noch nicht sicher.
Die modernen DBW-Motorräder haben alle einen Gasgriff mit 8 Pins.
Jedoch weiß ich nicht welche Signale da rauskommen bzw wie ich das alles anschließen soll.
Einzig bei einem Zulieferer habe ich mal die Info gefunden, dass 3 Frequenzausgänge vorhanden sind.
Die Frequenz ändert sich dann in Abhängigkeit der Gasgriffstelllung.
Wobei 2 Signale gegenläufig sind und das dritte quasi immer konstant.

Habe aber auch noch keinen Gasgriff hier. Aktuell müsste ich wohl auch einfach mal auf gut Glück verkabeln und hoffen, dass nichts kaputt geht und dann schauen was das OSZI anzeigt.
Vielleicht hat hier ja auch jemand noch Informationen für mich.

Edit: Ah, habe sogar noch was perfektes gefunden für PID:
https://forum.arduino.cc/index.php?topic=301800.0
Gar nicht zu kompliziert, wie ich gedacht hatte. Habe das schon mal umgeschrieben für den Pololu Driver.
Im Prinzip musste ich ja nur ändern, dass die DIR über nur einen digitalen Pin bestimmt wird.
Und die REF und TPS-Pot Kalibrierung.

Re: Megasquirt DBW - Drive By Wire

Verfasst: Fr Okt 19, 2018 12:57 pm
von azmartin
Hier ist immer noch nichts abzusehen, oder?
Scheinbar wieder so ein Thema wo andere Hersteller einfach davonziehen...

Re: Megasquirt DBW - Drive By Wire

Verfasst: Fr Okt 19, 2018 1:43 pm
von Alfagta
Wenn ich das Hauptberuflich machn könnt und ned in der wenigen Freizeit die ich hab, js dann wär's fertig.

Aber es is ned vom Tisch :)

Re: Megasquirt DBW - Drive By Wire

Verfasst: Fr Okt 19, 2018 2:08 pm
von azmartin
Hallo Mario,

das ging nicht gegen dich, eher gegen die Produktentwicklung bei AMPEFI. Die habens da halt mehr mit Automatikgetrieben und Kabeldrosselklappen.

Gruß

Martin