[Fiesta Mk5] Steuergeräte selbstbau

Dieses Thema im Forum "Umbaustories & Anleitungen" wurde erstellt von SimonS, 19. Juni 2012.

  1. SimonS

    SimonS Forums Semi-Profi

    Registriert seit:
    26. April 2009
    Beiträge:
    458
    Zustimmungen:
    0
    Hallo allerseits,

    ich bin zwar immernoch dabei an meinem MK5 Sport zu basteln, aber als Informatiker reizt einen so Software/Elektronik Zeug ja auch.

    Nun hab ich mir irgendwann mal in den Kopf gesetzt, ein zur Standardsensorik kompatibles Steuergerät zu bauen bzw. zu programmieren.
    Eine Mamut Aufgabe und garantiert kein Kinderspiel.


    Als ersten Schritt habe ich mir gedacht, erstmal die Steueralgorithmen etc. umzusetzen und noch keine Elektronik zusammen zu löten. Also die Software zu schreiben und mit realistischen Sensorwerten zu füttern.

    Hier möchte ich eigentlich mal den aktuellen Stand posten und Fragen zur Technik stellen....

    Wir hatten doch mal ein Wiki, indem alle möglichen Sensorspannungen etc. vom MK4/MK5 abgelegt waren. Gibts die Daten noch irgendwo (um später Analog, Digitalwandler zu bauen)?

    Hat sonst noch jemand gute Quellen zum Thema Gemischaufbereitung, wann welcher Lambda-Wert angestrebt wird(1 im Normalbetrieb, Kraftstoffüberschuss unter Volllast??) bzw. was, wann die optimale Leistungsausbeute hat?

    Die Pinbelegung und damit welche Sensorik wo vorhanden ist vom MK4/MK5 hab ich hier irgendwo und werde mich daran orientieren.

    Achja Programmiert wird das ganze in einfachem C. Schließlich muss das ja alles am End auf ICs drauf.

    (Erklärt mich für verrückt wenn ihr wollt).

    Input jeglicher Art ist gerne gesehen. Gerade von den Elektronikbastlern...


    Gruß
    Simon
     
  2. DJShadowman

    DJShadowman Forums Inventar

    Registriert seit:
    4. Januar 2009
    Beiträge:
    8.832
    Zustimmungen:
    19
    Ort:
    Hamburg, Germany
    Ich frage mich auch sehr oft wann auf Algorithmen gesetzt wird (warscheinlicher PID Regler), wenn doch
    für die Einspritzmenge die dreidimensionalen Kennfelder da sind.
    Soweit ich das verstanden habe ist der Zündzeitpunkt sone Sache die "errechnet"wrid nach Temperatur und Co, das hat früher das EDIS gemacht, heute
    nicht mehr.

    Wenn man sich die Steuergeräte mal anschaut ist da altbackene Technik drin, zumindest bei den EECIV die ja knapp 30 Jahre alt sind.
    A/D kann ja irgendein oller 8bit EIngang sein, mit externer Beschaltung kann das Fenster vom Messwert passend aufbereitet werden
    (OP's).
    Lasten mit FET's schalten, selbst die Analogen stellwerte werden der Einfach halt halber ja mit PWM erzeugt. AUsser Leerlaufregler fällt mir
    grad nix ein.
    Wobei PWM grade bei sowas wie Magnetventilen besser funktioniert zum analogen stellen, als ne Analogspannung selbst.
     
  3. TS
    SimonS

    SimonS Forums Semi-Profi

    Registriert seit:
    26. April 2009
    Beiträge:
    458
    Zustimmungen:
    0
    Naja gut, die Elektronik etc. ist ne sache die ich als letztes in angriff nehmen wollte.

    Hatte mir überlegt, evtl. die Berechnungsaufgaben aufzuteilen.
    Quasi Zündzeitpunkt, Einspritzzeitpunkt und Dauer, sowie evtl. die ein oder andere Sensorenauswertung entsprechend in eigene Chips zu setzen(alleine schon wegen I/O, statt einem großen mehrere kleine Chips)...

    X-Dimensionale Kennfelder sind ja an sich nicht das Problem, aber die von Hand zu erstellen ist halt auch eher ekelhaft... Denke im Moment an ne Art "Lernfunktion", sprich ich orientiere mich am Ziellambdawert(0,99-1) und in der "Lernphase" wird das Kennfeld mit Referenzwerten gefüllt, sodass im Normalbetrieb nicht alles von 0 errechnet bzw. ausprobiert werden muss.


    Der 1.6er Zetec-Se hat ja meines Wissens sogar nen Klopfsensor, somit hab ich ja sogar ein Signal, welches mir sagt wenns grob ausm Ruder läuft...

    Bin im Moment am überlegen, wie ich mir das ganze simmuliere.
    Erster Meilenstein ist Software die den Motor im Leerlauf laufen lassen könnte... Dann wird Elektronik gebaut und getestet ob das wirklich funktioniert... um so nach und nach der richtigen Funktion nahe zu kommen.

    Ob 8-Bit AD Wandler ausreichend sind bin ich mir aber noch nicht so ganz sicher... sind ja nur 256 Zustände...
    Je nach Sensor bin ich mir unsicher ob das genau genug ist... nicht dass ich zu schnell an nen oberen Grenzwert stoße...
     
  4. Maica

    Maica Forums Inventar

    Registriert seit:
    31. März 2005
    Beiträge:
    6.313
    Zustimmungen:
    0
    Ort:
    Voerde, Germany
    Warum son Aufwand ? Mit KDFI/Megasquirt und Trijekt gibts doch was freiprogrammierbares zu kaufen !!!
     
  5. TS
    SimonS

    SimonS Forums Semi-Profi

    Registriert seit:
    26. April 2009
    Beiträge:
    458
    Zustimmungen:
    0
    @Maica: Weil ichs kann/will...
    Das es frei programmierbare Steuergeräte zu kaufen gibt ist mir bekannt, aber sowas selber zu bauen ist auch mal reizvoll und wird mir auch die ein oder andere Erkenntnis bringen.
     
  6. geilerennpflaume

    geilerennpflaume Forums Elite

    Registriert seit:
    27. Juli 2007
    Beiträge:
    1.392
    Zustimmungen:
    2
    Ort:
    Hamburg, Germany
    Zuletzt bearbeitet: 19. Juni 2012
  7. DJShadowman

    DJShadowman Forums Inventar

    Registriert seit:
    4. Januar 2009
    Beiträge:
    8.832
    Zustimmungen:
    19
    Ort:
    Hamburg, Germany
    Serienkennfelder kann man sich ggf. auch besorgen, den EECIV-Sucka hab ich mal nachgebaut.

    Je nachdem was Du fürne CPU verwendest musste ja auch diverse externe Beschaltung zurückgreifen, ich kann technisch bedingt nur
    mit AtmelAVR's arbeiten, die haben mehrere 10-bit A/D eingänge, sind zwar intern gemultiplext und nicht die schnellsten, aber die Messwerte müssen ja eh nicht
    bei jeder Umdrehung neu ermittelt werden unbedingt. Externe Bausteine kosten ja auch nix mehr und wennse nen Parallelausgang haben auch erste Sahne so
    zu verarbeiten an nem freien Port. (Hatte da mal was mit 24-bit in Bergen rumliegen aus ner Messkarte :D )
    Keine AHnung was im Steuergerät damals drin werkelte, aer wenn ich mir die Bausteine aufm 1.1er Steuergerät so anschaue muss der A/D auch im Controller stecken, und der ist noch aus den 70erm glaubich.

    Bei Zeitkritischen Sachen, die nun gerade bei Zündung und Co. die erste Geige spielen muss halt mit Timern richtig umgegangen werden,
    Bei 7000 U/s haste 0,009 Sekunden pro Zündung Zeit zum rechnen, aber bei den Taktraten heute sollte selbst C und Basic da fix genug sein.
     
  8. TS
    SimonS

    SimonS Forums Semi-Profi

    Registriert seit:
    26. April 2009
    Beiträge:
    458
    Zustimmungen:
    0
    Naja was im worst-case noch bleibt ist sich den Assembler Code an zu schauen...
    Aber sowas ist eklig :D

    Bei den Serienkennfeldern Ist halt dann die Frage, in welchem Format liegt das Kennfeld vor etc. pp...
     
  9. DJShadowman

    DJShadowman Forums Inventar

    Registriert seit:
    4. Januar 2009
    Beiträge:
    8.832
    Zustimmungen:
    19
    Ort:
    Hamburg, Germany
    Da scheint es wohl irgendne Art Standartformat zu geben, habe selbst noch nicht damit zu tun gehabt.
    Der Typ der den EEC-IV Sucka gebaut hat hat das ja auch gemacht um Standartwerte zu haben die er benutzen kann.
    Achja,
    Der Temperaturfühler für Warm/Kalt ist z.b. nur nen Schalter 1/0, also kann man damit zwischen Aufheizen und Lambdaregelung schonmal herwechseln.

    Was mich immer interessiert ist, wie die einzelnen Messwerte zusammen auf die Gemischbidlung, bzw. den Punkt in dem Array weisen.
    Für Ne Regelung im klassischen Sinne wäre mit der Lambdasonde ja ein ausreichender Messwert vorhanden um dann mit Einspritzmenge auf Lambda zu kommen, die nicht vorhanden Werte für Luftdruck/temperatur/Luftmenge sind ja im Lambdamesswert letztlich drin, man regelt dann quasi gegen die "Störgröße" Luft :D
    Aber um die Luft wird ordentlich Aufwand betrieben, Temperatur, LMM (der auch nur mit Temperatur arbeitet)
    Letzlich wohl nötige Messwerte um zu erkennen, wenn was falsch läuft=> Undichtigkeit etc.
    Ausserdem, wieso heisst es regeln, wenn nach Kennfeldern gefahren wird ?
    Fragen über Fragen..... :kratz:
    Warscheinlich weiss so manch einer mehr darüber der den Beruf gelernt hat :D ich leider nicht....
     
  10. ToppeR

    ToppeR Forums Inventar

    Registriert seit:
    12. August 2001
    Beiträge:
    4.302
    Zustimmungen:
    1
    Geschlecht:
    männlich
    Ort:
    Stolberg, Germany
    Kennfelder in der Motorsteuerung sind wie folgt aufgebaut. auf der X-Achse ist eigentlich immer die Drehzahl. Auf der Y-Achse die Last.
    Die Last kann mit unterschiedlichen mitteln gemessen werden. Einmal per Drosselklappenstellung, oder MAP (Saugerrohrdruck) oder Luftmasse oder indiziertes Moment. Die Serienmäßige Sprungsonde funktioniert nur bei Lambda 1. Nur zwischen Lambda 0.98 und 1.02 funktioniert der KAT wie er soll. Die höchste Leistung liegt bei Lambda 0.9-0.88 an. Tieferes Lambda fährt man nur zum Bauteilschutz. Es nimmt die Wärme aus der Verbrennung. Deswegen ist die Lambdareglung bei Volllast aus bei Fahrzeugen mit Sprungsonde. Es wird nur nach einen Festen Einspritzwert gefahren. Der sich adaptiert durch die Lambdareglung bei Teillast.
     
  11. TS
    SimonS

    SimonS Forums Semi-Profi

    Registriert seit:
    26. April 2009
    Beiträge:
    458
    Zustimmungen:
    0
    Hmm ok ich sehe schon, hier wird mir der ein oder andere Wertvolle Infos geben können.

    Also wäre der "Way to go", Kennfelder zu bekommen, welche nach Drehzahl und Last entsprechend Zündzeitpunkt + Einspritzzeit enthalten.

    Gleichzeitig muss ne Detailregelung nach Lambdawert stattfinden um das ganze in nem Bereich zu halten in dem Kat und Lambdasonde arbeiten.

    Die Drehzahl zu erhalten ist ja möglich.
    Den Lastwert muss ich dann wohl aus den Sensorwerten(LMM, Lufttemperatur, Drosselklappenstellung) ermitteln.

    Wenn ich das richtig verstehe, wird in der "Aufheizphase" fest nach Kennfeld gefahren, und im Warmzustand nach Kennfeld+Lambda...


    @DJ:
    Das Format für die Kennfelder wird ja Binär sein. Man könnte fast davon ausgehen, dass es im Prinzip nur der Speicherauszug ist, aufdem das Steuergerät die Daten ausliest. Ist halt die Frage ob big-endian, small-endian und ob das ganze stimmt...
     
  12. DJShadowman

    DJShadowman Forums Inventar

    Registriert seit:
    4. Januar 2009
    Beiträge:
    8.832
    Zustimmungen:
    19
    Ort:
    Hamburg, Germany
    Erste Sahne, danke. :klatsch:
    Stimmt ja.....Sprungsonde.......da is nicht viel mit regeln.....