-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung mit der Nummer 61/861 ,498, die am 2. August 2013 eingereicht wurde. Der Offenbarungsgehalt der vorstehenden Anmeldung ist durch Bezugnahme vollständig hier mit aufgenommen.
-
GEBIET
-
Die vorliegende Offenbarung betrifft Steuerungssysteme und Verfahren für Fahrzeuge und insbesondere Systeme und Verfahren zum Kalibrieren von Controllern mit Vorhersagemodellen von Fahrzeugen.
-
HINTERGRUND
-
Die hier bereitgestellte Hintergrundbeschreibung dient dem Zweck einer allgemeinen Darstellung des Kontexts der Offenbarung. Die Arbeit der gegenwärtig genannten Erfinder, sofern sie in diesem Hintergrundabschnitt beschrieben ist, sowie Aspekte der Beschreibung, die zum Zeitpunkt des Einreichens nicht anderweitig als Stand der Technik ausgewiesen sind, werden weder explizit noch implizit als Stand der Technik gegen die vorliegende Offenbarung anerkannt.
-
Brennkraftmaschinen verbrennen ein Gemisch aus Luft und Kraftstoff in Zylindern, um Kolben anzutreiben, wodurch ein Antriebsdrehmoment erzeugt wird. Eine Luftströmung in die Kraftmaschine hinein wird mithilfe einer Drosselklappe geregelt. Insbesondere verstellt die Drosselklappe eine Drosselfläche, wodurch die Luftströmung in die Kraftmaschine hinein vergrößert oder verringert wird. Wenn die Drosselfläche zunimmt, nimmt die Luftströmung in die Kraftmaschine hinein zu. Ein Kraftstoffsteuerungssystem verstellt die Rate, mit der Kraftstoff eingespritzt wird, um ein gewünschtes Gemisch aus Luft und Kraftstoff an die Zylinder zu liefern und/oder, um eine gewünschte Drehmomentausgabe zu erreichen. Das Erhöhen der Menge aus Luft und Kraftstoff, die an die Zylinder geliefert wird, erhöht die Drehmomentausgabe der Kraftmaschine.
-
Bei Kraftmaschinen mit Funkenzündung leitet ein Zündfunke die Verbrennung eines Gemisches aus Luft und Kraftstoff ein, das an die Zylinder geliefert wird. Bei Kraftmaschinen mit Kompressionszündung verbrennt die Kompression in den Zylindern das Gemisch aus Luft und Kraftstoff, das an die Zylinder geliefert wird. Der Zündfunkenzeitpunkt und die Luftströmung können die primären Mechanismen zum Verstellen der Drehmomentausgabe von Kraftmaschinen mit Funkenzündung sein, während die Kraftstoffströmung der primäre Mechanismus zum Verstellen der Drehmomentausgabe von Kraftmaschinen mit Kompressionszündung sein kann.
-
Es wurden Kraftmaschinensteuerungssysteme entwickelt, um ein KraftmaschinenAusgabedrehmoment so zu steuern, dass ein gewünschtes Drehmoment erreicht wird. Herkömmliche Kraftmaschinensteuerungssysteme steuern das Kraftmaschinen-Ausgabedrehmoment jedoch nicht so genau wie gewünscht. Außerdem stellen herkömmliche Kraftmaschinensteuerungssysteme keine schnelle Reaktion auf Steuerungssignale bereit oder koordinieren eine Steuerung des Kraftmaschinendrehmoments zwischen verschiedenen Vorrichtungen, welche das Kraftmaschinen-Ausgabedrehmoment beeinflussen.
-
Die Druckschrift
DE 10 2005 004 867 A1 offenbart ein internes Rapid-Prototyping mittels eines Entwicklungssteuergeräts für ein Kraftfahrzeug, wobei das Entwicklungssteuergerät mit einem zusätzlichen Lese-Schreib-Speicher versehen ist, um Kalibrierungsdaten für eine zu modifizierende Funktion darin abzulegen.
-
In der Druckschrift
EP 2 128 727 A1 ist ein Verfahren zur Bereitstellung eines speicherplatzreduzierten Steuerprogramms in einem Motorsteuergerät offenbart, bei dem in einem Array abgelegte Kalibrierungsdaten auf mathematische Zusammenhänge untersucht werden und zumindest ein Teil des Inhalts des Arrays durch ein die erkannten mathematischen Zusammenhänge wiedergebendes Array reduziert wird, um Speicherplatz zu sparen.
-
Die Druckschrift
EP 1 969 430 B1 offenbart ein Kalibrierungsdatenentwurfssystem zum Bestimmen eines Modells und/oder von Kalibrierungsparametern für ein Motorsteuergerät, bei dem ein Modell eines Verbrennungsmotors und/oder Kalibrierungsparameter dafür bestimmt und verwendet werden, um bei einem Betrieb oder einer Simulation des Verbrennungsmotors die Leistungsfähigkeit des Verbrennungsmotors zu bestimmen.
-
In der Druckschrift
US 2011 / 0 301 723 A1 ist ein Verfahren für eine Steuerung mit einem Vorhersagemodell offenbart, bei dem eine iterative Kostenoptimierung mit endlichem Horizont eines Systemmodells des gesteuerten Systems bestimmt wird, um eine veränderte Wertetrajektorie des gesteuerten Systems zu erzeugen.
-
Die Druckschrift
US 2013 / 0 067 894 A1 offenbart ein System zur Reduktion umweltschädlicher Emissionen eines Verbrennungsmotors, bei dem der Verbrennungsmotor und eine Abgasbehandlungsvorrichtung desselben von verschiedenen Steuergeräten gesteuert werden. Ein weiteres Steuergerät verwendet zur koordinierten Steuerung des Verbrennungsmotors und der Emissionen Modelle derselben.
-
In der Druckschrift
US 2012 / 0 116 649 A1 ist ein Steuergerät für einen Verbrennungsmotor offenbart, das Kraftstoff für den Motor steuert, um Emissionen im Abgas des Motors zu minimieren. Das Steuergerät ist mit Kraftstoffaktoren und Emissionssensoren des Motors sowie einem Gaspedal und einem Drehzahlsensor des Motors verbunden, um eine vorhergesagte Reaktion der Sensoreingabesignale zu erreichen.
-
ZUSAMMENFASSUNG
-
Ein Verfahren umfasst, dass: mindestens ein Prozessor eines Fahrzeugs verwendet wird, ein Objektcode unter Verwendung von Kalibrierungsdaten, die getrennt von dem Objektcode in einem konkreten computerlesbaren Medium des Fahrzeugs gespeichert sind, selektiv ausgeführt wird, wobei die Kalibrierungsdaten jeweils vorbestimmte Werte für Variablen enthalten, auf die im Objektcode Bezug genommen wird. Der Objektcode enthält einen Objektcode für: das Identifizieren von Sätzen von möglichen Zielwerten beruhend auf Einstellpunkten für Luft und Abgas für eine Kraftmaschine; das Erzeugen von Vorhersageparametern jeweils beruhend auf einem Modell der Kraftmaschine und den Sätzen von möglichen Zielwerten; das Wählen eines der Sätze von möglichen Zielwerten beruhend auf den Vorhersageparametern; das Einstellen von Zielwerten jeweils beruhend auf dem gewählten der Sätze von möglichen Zielwerten; und das Steuern des Öffnens eines Drosselklappenventils beruhend auf einem ersten der Zielwerte. Der Objektcode enthält ferner einen Objektcode für: das Steuern des Öffnens eines Ladedruckregelventils beruhend auf einem zweiten der Zielwerte; das Steuern des Öffnens eines Abgasrückführungsventils (AGR-Ventils) beruhend auf einem dritten der Zielwerte; und das Steuern einer Phasenverstellung von Einlass- und Auslassventilen beruhend auf vierten bzw. fünften der Zielwerte.
-
Bei weiteren Merkmalen enthält das konkrete computerlesbare Medium ferner: Daten, die eine erste Kennung des Objektcodes angeben; und Daten, die eine zweite Kennung der Kalibrierungsdaten angeben.
-
Bei noch weiteren Merkmalen umfasst das Verfahren ferner, dass eine Kalibrierungsvorrichtung verwendet wird, die getrennt vom Fahrzeug ist, wobei die vorbestimmten Werte für die Variablen, auf die im Objektcode Bezug genommen wird, auf einer Anzeige der Kalibrierungsvorrichtung angezeigt werden.
-
Bei noch weiteren Merkmalen umfasst das Verfahren ferner, dass die Kalibrierungsvorrichtung verwendet wird, dass die Kalibrierungsdaten durch einen zweiten Satz von Kalibrierungsdaten in Ansprechen auf eine Benutzereingabe ersetzt werden, wobei der zweite Satz von Kalibrierungsdaten vorbestimmte Werte für die Variablen enthält, auf die im Objektcode Bezug genommen wird.
-
Bei weiteren Merkmalen enthält das konkrete computerlesbare Medium ferner: Daten, die eine erste Kennung des Objektcodes angeben; und Daten, die eine zweite Kennung der Kalibrierungsdaten angeben. Das Verfahren umfasst ferner, dass: unter Verwendung der Kalibrierungsvorrichtung ferner die Daten, welche die zweite Kennung angeben, durch Daten ersetzt werden, die eine dritte Kennung des zweiten Satzes von Kalibrierungsdaten angeben, nachdem die Kalibrierungsdaten durch den zweiten Satz von Kalibrierungsdaten ersetzt wurden.
-
Bei noch weiteren Merkmalen umfasst das Verfahren ferner, dass eine Entwurfsvorrichtung für einen Controller mit Vorhersagemodell (MPC) verwendet wird, die vom Fahrzeug getrennt ist; dass eine Quellcodedatei, eine Header-Datei und die Kalibrierungsdaten beruhend auf einer Benutzereingabe erzeugt werden; dass die Quellcodedatei und die Header-Datei kompiliert werden, um den Objektcode zu erzeugen; dass der Objektcode in dem konkreten computerlesbaren Medium gespeichert wird; und dass die Kalibrierungsdaten in dem konkreten computerlesbaren Medium getrennt von dem Objektcode gespeichert werden.
-
Bei noch weiteren Merkmalen umfasst das Verfahren ferner, dass eine Entwurfsvorrichtung für einen Controller mit Vorhersagemodell (MPC) verwendet wird, die von dem Fahrzeug getrennt ist; dass eine Quellcodedatei und eine Header-Datei beruhend auf einer Benutzereingabe erzeugt werden, wobei die Header-Datei die vorbestimmten Werte für die Variablen enthält, auf die im Objektcode Bezug genommen wird; dass die vorbestimmten Werte innerhalb der Header-Datei identifiziert werden; dass die Kalibrierungsdatei erzeugt werden; dass die vorbestimmten Werte von der Header-Datei in die Kalibrierungsdaten übertragen werden; dass die Quellcodedatei und die Header-Datei kompiliert werden, um den Objektcode zu erzeugen; dass der Objektcode in dem konkreten computerlesbaren Medium gespeichert wird; und dass die Kalibrierungsdaten in dem konkreten computerlesbaren Medium getrennt von dem Objektcode gespeichert werden.
-
Bei noch weiteren Merkmalen enthält der Objektcode ferner einen Objektcode zum Wählen des einen der Sätze von möglichen Zielwerten ferner beruhend auf den Einstellpunkten für Luft und Abgas.
-
Bei noch weiteren Merkmalen enthält der Objektcode ferner einen Objektcode zum Wählen des einen der Sätze von möglichen Zielwerten beruhend auf Vergleichen der Einstellpunkte für Luft bzw. Abgas mit den Vorhersageparametern.
-
Weitere Anwendungsgebiete der vorliegenden Offenbarung ergeben sich aus der genauen Beschreibung, den Ansprüchen und den Zeichnungen. Die genaue Beschreibung und die speziellen Beispiele sind nur zur Veranschaulichung gedacht und sollen den Umfang der Offenbarung nicht einschränken.
-
Figurenliste
-
Die vorliegende Offenbarung wird anhand der genauen Beschreibung und der beiliegenden Zeichnungen vollständiger verstanden werden, wobei:
- 1 ein Funktionsblockdiagramm eines beispielhaften Kraftmaschinensystems gemäß der vorliegenden Offenbarung ist;
- 2 ein Funktionsblockdiagramm eines beispielhaften Kraftmaschinensteuerungssystems gemäß der vorliegenden Offenbarung ist;
- 3 ein Funktionsblockdiagramm eines beispielhaften Luftsteuerungsmoduls gemäß der vorliegenden Offenbarung ist;
- 4 ein Flussdiagramm enthält, das ein beispielhaftes Verfahren zum Steuern eines Drosselklappenventils, der Phasenverstellung von Einlass- und Auslassventilen, eines Ladedruckregelventils und eines Abgasrückführungsventils (AGR-Ventils) unter Verwendung eines Steuerungsmoduls mit Vorhersagemodell gemäß der vorliegenden Offenbarung darstellt;
- 5A und 5B Funktionsblockdiagramme von beispielhaften Entwurfsvorrichtungen für Steuerungen mit Vorhersagemodell gemäß der vorliegenden Offenbarung sind;
- 6 ein Funktionsblockdiagramm ist, das einen beispielhaften Abschnitt eines Kraftmaschinensteuerungsmoduls enthält, das dem Steuerungsmodul mit Vorhersagemodell gemäß der vorliegenden Offenbarung entspricht; und
- 7A und 7B Flussdiagramme sind, die beispielhafte Verfahren zum Erzeugen und Speichern einer Datei, die einen Code für das Steuerungsmodul mit Vorhersagemodell enthält, und einer Datei, die Kalibrierungsdaten für das Steuerungsmodul mit Vorhersagemodell enthält, gemäß der vorliegenden Offenbarung darstellen.
-
In den Zeichnungen können Bezugszeichen mehrfach verwendet sein, um ähnliche und/oder identische Elemente zu bezeichnen.
-
GENAUE BESCHREIBUNG
-
Ein Kraftmaschinensteuerungsmodul (ECM) steuert eine Drehmomentausgabe einer Kraftmaschine. Insbesondere steuert das ECM Aktoren der Kraftmaschine jeweils beruhend auf Zielwerten, um einen angeforderten Drehmomentbetrag zu erzeugen. Beispielsweise steuert das ECM eine Phasenverstellung von Einlass- und Auslass-Nockenwellen beruhend auf Zielwinkeln von Einlass- und Auslass-Phasenstellern, ein Drosselklappenventil beruhend auf einer Drosselzielöffnung, ein Abgasrückführungsventil (AGR-Ventil) beruhend auf einer AGR-Zielöffnung, und ein Ladedruckregelventil eines Turboladers beruhend auf einem Zieltastverhältnis des Ladedruckregelventils.
-
Das ECM könnte die Zielwerte einzeln unter Verwendung mehrerer Controller mit einem einzigen Eingang und einem einzigen Ausgang (SISO-Controller, SISO von single input single output) bestimmen, etwa von Proportional-Integral-Derivativ-Controllern (PID-Controllern). Wenn jedoch mehrere SISO-Controller verwendet werden, kann es sein, dass die Zielwerte auf Kosten möglicher Verringerungen des Kraftstoffverbrauchs eingestellt werden, um die Systemstabilität aufrecht zu erhalten. Zudem können die Kalibrierung und der Entwurf der einzelnen SISO-Controller kostspielig und zeitraubend sein.
-
Das ECM der vorliegenden Offenbarung umfasst einen Controller mit Vorhersagemodell (MPC), der die Zielwerte erzeugt. Insbesondere identifiziert der MPC mögliche Sätze von Zielwerten zum Erreichen verschiedener Einstellpunkte für Luft und Abgas der Kraftmaschine, etwa eines Ansaugkrümmerdruck-Einstellpunkts, eines Luft-Pro-Zylinder-Einstellpunkts (APC-Einstellpunkts), von Einstellpunkten für externe und Restverdünnung, und eines Kompressionsverhältnis-Einstellpunkts. Es werden außerdem Beschränkungen für die Einstellpunkte und Beschränkungen für die Zielwerte berücksichtigt. Der MPC bestimmt Vorhersageparameter (Antworten) für jeden der möglichen Sätze beruhend auf Zielwerten der möglichen Sätze und auf einem Modell der Kraftmaschine.
-
Der MPC bestimmt Kosten, die mit einer Verwendung jedes der möglichen Sätze verbunden sind, jeweils beruhend auf Vergleichen der Vorhersageparameter mit den Einstellpunkten. Beispielsweise kann der MPC beruhend darauf, wie schnell die Vorhersageparameter die Einstellpunkte erreichen und/oder wie weit die Vorhersageparameter über die Einstellpunkte hinaus gehen, die Kosten bestimmen, die mit einem möglichen Satz verbunden sind. Der MPC kann den einen der möglichen Sätze mit den geringsten Kosten wählen und die Zielwerte unter Verwendung der Zielwerte des gewählten möglichen Satzes einstellen.
-
Ein Benutzer kann den MPC entwerfen, was umfasst, dass ein Code, der die Funktionalität des MPC bereitstellt, und Einstellwerte für Variable, auf die im Code Bezug genommen wird, unter Verwendung einer Rechenvorrichtung, die eine MPC-Entwurfsanwendung ausführt, erzeugt werden. Entwurfsanwendungen erzeugen eine Codedatei, die einen Quellcode enthält (z.B. eine .c-Datei), der die Funktionalität des MPC bereitstellt, und eine Header-Datei, die Daten enthält, welche den Quellcode stützen, etwa Werte für Variable, auf die im Quellcode Bezug genommen wird, Variablendeklarationen und andere Daten. Entwurfsanwendungen kompilieren die Code- und Header-Dateien, um einen Objektcode zu erzeugen, der von dem ECM ausgeführt werden kann. Der Objektcode wird dann in dem ECM gespeichert.
-
Um einen oder mehrere Werte für die Variablen zu verändern, auf die im Code Bezug genommen wird, kann der Benutzer den einen oder die mehreren Werte unter Verwendung der Entwurfsanwendung verändern, die Code- und Header-Dateien erneut kompilieren (da einer oder mehrere der Werte, die in der Header-Datei gespeichert sind, nun anders sind) und den erneut kompilierten Objektcode wieder in dem ECM speichern. Dieser Prozess ist jedoch zeitraubend und ressourcenintensiv.
-
Bei dem ECM der vorliegenden Offenbarung werden die Werte für die Variablen, auf die in dem Code Bezug genommen wird, in einer Datei gespeichert, die von der Codedatei und der Header-Datei getrennt ist. Zum Beispiel kann die Entwurfsanwendung eine separate Datei erzeugen, welche die Werte enthält, oder ein Parser bzw. Syntaxanalysator kann die in der Header-Datei gespeicherten Werte identifizieren und die Werte von der Header-Datei in der separaten Datei speichern. Die Werte für die Variablen werden dann in dem ECM getrennt vom Objektcode gespeichert.
-
Die Tatsache, dass die Werte für die Variablen, auf die im Objektcode Bezug genommen wird, separat von dem Objektcode gespeichert werden, ermöglicht, dass an einem oder mehreren der Werte Änderungen vorgenommen werden können, ohne dass die Code- und Header-Dateien erneut kompiliert werden müssen und der erneut kompilierte Objektcode wieder in dem ECM gespeichert werden muss. Beispielsweise kann eine externe Vorrichtung mehrere unterschiedliche Sätze der Werte speichern und sie kann verschiedene Sätze von Werten während des Fahrzeugentwurfs in das ECM laden, um den MPC abzustimmen, ohne dass der Objektcode verändert werden muss. Außerdem können die Werte leicht aktualisiert werden, etwa während einer Fahrzeugwartung, wenn zu einem späteren Zeitpunkt ein anderer Satz der Werte zur Verwendung gewählt wird.
-
Nun mit Bezug auf 1 ist ein Funktionsblockdiagramm eines beispielhaften Kraftmaschinensystems 100 dargestellt. Das Kraftmaschinensystem 100 umfasst eine Kraftmaschine 102, die ein Gemisch aus Luft und Kraftstoff verbrennt, um ein Antriebsdrehmoment für ein Fahrzeug beruhend auf einer Fahrereingabe von einem Fahrereingabemodul 104 zu erzeugen. Die Kraftmaschine 102 kann eine Benzinbrennkraftmaschine mit Funkenzündung sein.
-
Durch ein Drosselklappenventil 112 wird Luft in einen Ansaugkrümmer 110 eingesaugt. Nur als Beispiel kann das Drosselklappenventil 112 ein Schmetterlingsventil mit einer drehbaren Klappe umfassen. Ein Kraftmaschinensteuerungsmodul (ECM) 114 steuert ein Drosselklappenaktormodul 116, welches ein Öffnen des Drosselklappenventils 112 regelt, um die Luftmenge zu steuern, die in den Ansaugkrümmer 110 eingesaugt wird.
-
Luft aus dem Ansaugkrümmer 110 wird in Zylinder der Kraftmaschine 102 eingesaugt. Obwohl die Kraftmaschine 102 mehrere Zylinder enthalten kann, ist zu Darstellungszwecken ein einziger repräsentativer Zylinder 118 gezeigt. Nur als Beispiel kann die Kraftmaschine 102 2, 3, 4, 5, 6, 8, 10 und/oder 12 Zylinder enthalten. Das ECM 114 kann ein Zylinderaktormodul 120 anweisen, selektiv einige der Zylinder abzuschalten, was bei bestimmten Kraftmaschinenbetriebsbedingungen die Kraftstoffsparsamkeit verbessern kann.
-
Die Kraftmaschine 102 kann unter Verwendung eines Viertaktzyklus' arbeiten. Die vier nachstehend beschriebenen Takte können als der Ansaugtakt, der Verdichtungstakt, der Arbeitstakt und der Auslasstakt bezeichnet werden. Während jeder Umdrehung einer (nicht gezeigten) Kurbelwelle finden zwei der vier Takte innerhalb des Zylinders 118 statt. Daher sind zwei Kurbelwellenumdrehungen notwendig, damit der Zylinder 118 alle vier Takte durchläuft.
-
Während des Ansaugtakts wird Luft aus dem Ansaugkrümmer 110 durch ein Einlassventil 122 in den Zylinder 118 eingesaugt. Das ECM 114 steuert ein Kraftstoffaktormodul 124, welches die Kraftstoffeinspritzung regelt, um ein Zielverhältnis von Luft zu Kraftstoff zu erreichen. Kraftstoff kann in den Ansaugkrümmer 110 an einer zentralen Stelle oder an mehreren Stellen eingespritzt werden, etwa in der Nähe des Einlassventils 122 eines jeden der Zylinder. Bei verschiedenen (nicht gezeigten) Implementierungen kann Kraftstoff direkt in die Zylinder oder in Mischräume, die mit den Zylindern verbunden sind, eingespritzt werden. Das Kraftstoffaktormodul 124 kann das Einspritzen von Kraftstoff für Zylinder anhalten, die abgeschaltet sind.
-
Der eingespritzte Kraftstoff vermischt sich mit Luft und erzeugt ein Gemisch aus Luft und Kraftstoff in dem Zylinder 118. Während des Verdichtungstakts verdichtet ein (nicht gezeigter) Kolben innerhalb des Zylinders 118 das Gemisch aus Luft und Kraftstoff. Ein Zündfunkenaktormodul 126 erregt eine Zündkerze 128 im Zylinder 118 beruhend auf einem Signal von dem ECM 114, wodurch das Gemisch aus Luft und Kraftstoff gezündet wird. Der Zeitpunkt des Zündfunkens kann relativ zu dem Zeitpunkt angegeben werden, an dem sich der Kolben in seiner höchsten Position befindet, die als oberer Totpunkt (OT) bezeichnet wird.
-
Das Zündfunkenaktormodul 126 kann durch ein Zeitsteuerungssignal gesteuert werden, das angibt, wie weit vor oder nach dem OT der Zündfunke erzeugt werden soll. Weil die Kolbenposition in direkter Beziehung zu der Kurbelwellendrehung steht, kann der Betrieb des Zündfunkenaktormoduls 126 mit einem Kurbelwellenwinkel synchronisiert sein. Das Erzeugen von Zündfunken kann als Zündungsereignis bezeichnet werden. Das Zündfunkenaktormodul 126 kann die Fähigkeit aufweisen, den Zeitpunkt des Zündfunkens bei jedem Zündungsereignis zu variieren. Das Zündfunkenaktormodul 126 kann den Zündfunkenzeitpunkt für das nächste Zündungsereignis variieren, wenn der Zündfunkenzeitpunkt zwischen einem letzten Zündungsereignis und dem nächsten Zündungsereignis verändert wird. Das Zündfunkenaktormodul 126 kann das Liefern von Zündfunken an abgeschaltete Zylinder anhalten.
-
Während des Arbeitstakts treibt die Verbrennung des Gemisches aus Luft und Kraftstoff den Kolben vom OT weg, wodurch die Kurbelwelle angetrieben wird. Der Arbeitstakt kann als die Zeitspanne zwischen dem Zeitpunkt, an dem der Kolben den OT erreicht, und dem Zeitpunkt, an dem der Kolben einen unteren Totpunkt (UT) erreicht, definiert sein. Während des Auslasstakts beginnt der Kolben damit, sich vom UT weg zu bewegen und er stößt die Verbrennungsnebenprodukte durch ein Auslassventil 130 aus. Die Verbrennungsnebenprodukte werden über ein Abgassystem 134 aus dem Fahrzeug ausgestoßen.
-
Das Einlassventil 122 kann durch eine Einlassnockenwelle 140 gesteuert werden, während das Auslassventil 130 durch eine Auslassnockenwelle 142 gesteuert werden kann. Bei verschiedenen Implementierungen können mehrere Einlassnockenwellen (einschließlich der Einlassnockenwelle 140) mehrere Einlassventile (einschließlich des Einlassventils 122) für den Zylinder 118 steuern und/oder sie können die Einlassventile (einschließlich des Einlassventils 122) von mehreren Zylinderbänken (einschließlich des Zylinders 118) steuern. Analog können mehrere Auslassnockenwellen (einschließlich der Auslassnockenwelle 142) mehrere Auslassventile für den Zylinder 118 steuern und/oder sie können Auslassventile (einschließlich des Auslassventils 130) für mehrere Zylinderbänke (einschließlich des Zylinders 118) steuern. Bei verschiedenen anderen Implementierungen können das Einlassventil 122 und/oder das Auslassventil 130 von anderen Vorrichtungen als Nockenwellen gesteuert werden, etwa von nockenlosen Ventilaktoren. Das Zylinderaktormodul 120 kann den Zylinder 118 abschalten, indem es das Öffnen des Einlassventils 122 und/oder des Auslassventils 130 deaktiviert.
-
Der Zeitpunkt, an dem das Einlassventil 122 geöffnet wird, kann mit Bezug auf den OT des Kolbens durch einen Einlassnockenphasensteller 148 verändert werden. Der Zeitpunkt, an dem das Auslassventil 130 geöffnet wird, kann mit Bezug auf den OT des Kolbens durch einen Auslassnockenphasensteller 150 verändert werden. Ein Phasenstelleraktormodul 158 kann den Einlassnockenphasensteller 148 und den Auslassnockenphasensteller 150 beruhend auf Signalen von dem ECM 114 steuern. Falls ein (nicht gezeigter) variabler Ventilhub implementiert ist, kann auch dieser von dem Phasenstelleraktormodul 158 gesteuert werden.
-
Das Kraftmaschinensystem 100 kann einen Turbolader enthalten, der eine heiße Turbine 160-1 umfasst, die durch heiße Abgase angetrieben wird, welche durch das Abgassystem 134 hindurch strömen. Der Turbolader umfasst außerdem einen Kaltluftverdichter 160-2, der von der Turbine 160-1 angetrieben wird. Der Verdichter 160-2 verdichtet Luft, die in das Drosselklappenventil 112 geleitet wird. Bei verschiedenen Implementierungen kann ein (nicht gezeigter) Superlader, der von der Kurbelwelle angetrieben wird, Luft aus dem Drosselklappenventil 112 verdichten und die verdichtete Luft an den Ansaugkrümmer 110 liefern.
-
Ein Ladedruckregelventil 162 kann ermöglichen, dass Abgas die Turbine 160-1 umgeht, wodurch die Verstärkung (der Betrag der Ansaugluftverdichtung) verringert wird, die von dem Turbolader bereitgestellt wird. Ein Verstärkungsaktormodul 164 kann die Verstärkung des Turboladers steuern, indem es ein Öffnen des Ladedruckregelventils 162 steuert. Bei verschiedenen Implementierungen können zwei oder mehr Turbolader implementiert sein und durch das Verstärkungsaktormodul 164 gesteuert werden.
-
Ein (nicht gezeigter) Luftkühler kann Wärme aus der verdichteten Luftladung an ein Kühlmedium übertragen, etwa an ein Kraftmaschinenkühlmittel oder an Luft. Ein Luftkühler, der die verdichtete Luftladung unter Verwendung des Kraftmaschinenkühlmittels kühlt, kann als Zwischenkühler bezeichnet werden. Ein Luftkühler, der die verdichtete Luftladung unter Verwendung von Luft kühlt, kann als Ladeluftkühler bezeichnet werden. Die verdichtete Luftladung kann Wärme beispielsweise über die Verdichtung und/oder von Komponenten des Abgassystems 134 aufnehmen. Obwohl die Turbine 160-1 und der Verdichter 160-2 zu Veranschaulichungszwecken getrennt gezeigt sind, können sie aneinander befestigt sein, wodurch die Ansaugluft nahe bei heißen Abgasen platziert wird.
-
Das Kraftmaschinensystem 100 kann ein Abgasrückführungsventil (AGR-Ventil) 170 enthalten, welches Abgas selektiv zurück an den Ansaugkrümmer 110 führt. Das AGR-Ventil 170 kann stromaufwärts zu der Turbine 160-1 des Turboladers angeordnet sein. Das AGR-Ventil 170 kann von einem AGR-Aktormodul 172 beruhend auf Signalen von dem ECM 114 gesteuert werden.
-
Eine Position der Kurbelwelle kann unter Verwendung eines Kurbelwellenpositionssensors 180 gemessen werden. Eine Drehzahl der Kurbelwelle (eine Kraftmaschinendrehzahl) kann beruhend auf der Kurbelwellenposition bestimmt werden. Eine Temperatur des Kraftmaschinenkühlmittels kann unter Verwendung eines Kraftmaschinenkühlmitteltemperatursensors (ECT-Sensors) 182 gemessen werden. Der ECT-Sensor 182 kann innerhalb der Kraftmaschine 102 oder an anderen Stellen, an denen das Kühlmittel zirkulieren gelassen wird, angeordnet sein, etwa bei einem Radiator (nicht gezeigt).
-
Ein Druck innerhalb des Ansaugkrümmers 110 kann unter Verwendung eines Krümmerabsolutdrucksensors (MAP-Sensors) 184 gemessen werden. Bei verschiedenen Implementierungen kann ein Kraftmaschinenunterdruck, der die Differenz zwischen einem Umgebungsluftdruck und dem Druck innerhalb des Ansaugkrümmers 110 ist, gemessen werden. Eine Luftmassenstromrate bzw. ein Massendurchsatz von Luft, die in den Ansaugkrümmer 110 hineinströmt, kann unter Verwendung eines Luftmassenstromsensors (MAF-Sensors) 186 gemessen werden. Bei verschiedenen Implementierungen kann der MAF-Sensor 186 in einem Gehäuse angeordnet sein, das auch das Drosselklappenventil 112 enthält.
-
Das Drosselklappenaktormodul 116 kann die Position des Drosselklappenventils 112 unter Verwendung eines oder mehrerer Drosselklappenpositionssensoren (TPS) 190 überwachen. Eine Umgebungstemperatur von Luft, die in die Kraftmaschine 102 eingesaugt wird, kann unter Verwendung eines Ansauglufttemperatursensors (IAT-Sensors) 192 gemessen werden. Das Kraftmaschinensystem 100 kann außerdem einen oder mehrere andere Sensoren 193 enthalten, etwa einen Umgebungsfeuchtigkeitssensor, einen oder mehrere Klopfsensoren, einen Verdichterauslassdrucksensor und/oder einen Drosselklappeneinlassdrucksensor, einen Ladedruckregelventil-Positionssensor, einen AGR-Positionssensor und/oder einen oder mehrere andere geeignete Sensoren. Das ECM 114 kann Signale von den Sensoren verwenden, um Steuerungsentscheidungen für das Kraftmaschinensystem 100 zu treffen.
-
Das ECM 114 kann mit einem Getriebesteuerungsmodul 194 kommunizieren, um das Schalten von Gängen in einem (nicht gezeigten) Getriebe zu koordinieren. Beispielsweise kann das ECM 114 das Kraftmaschinendrehmoment während eines Gangschaltvorgangs verringern. Das ECM 114 kann mit einem Hybridsteuerungsmodul 196 kommunizieren, um den Betrieb der Kraftmaschine 102 und eines Elektromotors 198 zu koordinieren.
-
Der Elektromotor 198 kann auch wie ein Generator funktionieren und er kann verwendet werden, um elektrische Energie zur Verwendung durch elektrische Systeme des Fahrzeugs und/oder zur Speicherung in einer Batterie zu erzeugen. Bei verschiedenen Implementierungen können verschiedene Funktionen des ECM 114, des Getriebesteuerungsmoduls 194 und des Hybridsteuerungsmoduls 196 in ein oder mehrere Module integriert sein.
-
Jedes System, das einen Kraftmaschinenparameter verändert, kann als Kraftmaschinenaktor bezeichnet werden. Beispielsweise kann das Drosselklappenaktormodul 116 das Öffnen des Drosselklappenventils 112 verstellen, um eine Drosselzielöffnungsfläche zu erreichen. Das Zündfunkenaktormodul 126 steuert die Zündkerzen, um einen Zündfunkenzielzeitpunkt relativ zum OT des Kolbens zu erreichen. Das Kraftstoffaktormodul 124 steuert die Kraftstoffeinspritzventile, um Kraftstoffzufuhr-Zielparameter zu erreichen. Das Phasenstelleraktormodul 158 kann die Einlass- und Auslass-Nockenphasensteller 148 und 150 steuern, um Zielwinkel für den Einlass- bzw. Auslassnockenphasensteller zu erreichen. Das AGR-Aktormodul 172 kann das AGR-Ventil 170 steuern, um eine AGR-Zielöffnungsfläche zu erreichen. Das Verstärkungsaktormodul 164 steuert das Ladedruckregelventil 162, um eine Ladedruckregelventil-Zielöffnungsfläche zu erreichen. Das Zylinderaktormodul 120 steuert die Zylinderabschaltung, um eine Zielanzahl von aktivierten oder abgeschalteten Zylindern zu erreichen.
-
Das ECM 114 erzeugt die Zielwerte für die Kraftmaschinenaktoren, um zu bewirken, dass die Kraftmaschine 102 ein Kraftmaschinen-Zielausgabedrehmoment erzeugt. Das ECM 114 erzeugt die Zielwerte für die Kraftmaschinenaktoren unter Verwendung einer Steuerung mit Vorhersagemodell, wie nachstehend weiter erörtert wird.
-
Mit Bezug nun auf 2 ist ein Funktionsblockdiagramm eines beispielhaften Kraftmaschinensteuerungssystems bereitgestellt. Eine beispielhafte Implementierung des ECM 114 umfasst ein Fahrerdrehmomentmodul 202, ein Achsdrehmoment-Arbitrierungsmodul 204 und ein Vortriebsdrehmoment-Arbitrierungsmodul 206. Das ECM 114 kann ein Hybridoptimierungsmodul 208 umfassen. Das ECM 114 umfasst außerdem ein Reserven/Lasten-Modul 220, ein Drehmomentanforderungsmodul 224, ein Luftsteuerungsmodul 228, ein Zündfunkensteuerungsmodul 232, ein Zylindersteuerungsmodul 236 und ein Kraftstoffsteuerungsmodul 240.
-
Das Fahrerdrehmomentmodul 202 kann eine Fahrerdrehmomentanforderung 254 beruhend auf einer Fahrereingabe 255 von dem Fahrereingabemodul 104 bestimmen. Die Fahrereingabe 255 kann beispielsweise auf einer Position eines Gaspedals und einer Position eines Bremspedals beruhen. Die Fahrereingabe 255 kann außerdem auf einer Geschwindigkeitsregelung beruhen, die ein adaptives Geschwindigkeitsregelungssystem sein kann, das die Fahrzeuggeschwindigkeit verändert, um einen vorbestimmten Folgeabstand beizubehalten. Das Fahrerdrehmomentmodul 202 kann eine oder mehrere Zuordnungen von Gaspedalposition zu Zieldrehmoment speichern und es kann die Fahrerdrehmomentanforderung 254 beruhend auf einer gewählten der Zuordnungen bestimmen.
-
Ein Achsdrehmoment-Arbitrierungsmodul 204 entscheidet zwischen der Fahrerdrehmomentanforderung 254 und anderen Achsdrehmomentanforderungen 256. Das Achsdrehmoment (das Drehmoment an den Rädern) kann von verschiedenen Quellen erzeugt werden, welche eine Kraftmaschine und/oder einen Elektromotor umfassen. Beispielsweise können die Achsdrehmomentanforderungen 256 eine Drehmomentverringerung umfassen, die von einem Traktionssteuerungssystem angefordert wird, wenn ein positiver Radschlupf detektiert wird. Ein positiver Radschlupf tritt auf, wenn das Achsdrehmoment die Reibung zwischen den Rädern und der Straßenoberfläche überwindet und das Rad gegenüber der Straßenoberfläche zu schlupfen beginnt. Die Achsdrehmomentanforderungen 256 können außerdem eine Drehmomenterhöhungsanforderung umfassen, um einem negativen Radschlupf entgegenzuwirken, bei dem ein Reifen des Fahrzeugs mit Bezug auf die Straßenoberfläche in die andere Richtung schlupft, weil das Achsdrehmoment negativ ist.
-
Die Achsdrehmomentanforderungen 256 können außerdem Bremsenmanagementanforderungen und Drehmomentanforderungen bei übermäßiger Geschwindigkeit des Fahrzeugs umfassen. Bremsenmanagementanforderungen können das Achsdrehmoment verringern, um sicherzustellen, dass das Achsdrehmoment die Fähigkeit der Bremsen, das Fahrzeug festzuhalten, wenn das Fahrzeug gestoppt ist, nicht überschreitet. Drehmomentanforderungen bei übermäßiger Geschwindigkeit des Fahrzeugs können das Achsdrehmoment verringern, um zu verhindern, dass das Fahrzeug eine vorbestimmte Geschwindigkeit überschreitet. Die Achsdrehmomentanforderungen 256 können außerdem von Fahrzeugstabilitätssteuerungssystemen erzeugt werden.
-
Das Achsdrehmoment-Arbitrierungsmodul 204 gibt eine vorhergesagte Drehmomentanforderung 257 und eine unmittelbare Drehmomentanforderung 258 beruhend auf den Ergebnissen der Entscheidung zwischen den empfangenen Drehmomentanforderungen 254 und 256 aus. Wie nachstehend beschrieben wird, können die vorhergesagte und unmittelbare Drehmomentanforderung 257 und 258 von dem Achsdrehmoment-Arbitrierungsmodul 204 von anderen Modulen des ECMs 114 selektiv verstellt werden, bevor sie zum Steuern der Kraftmaschinenaktoren verwendet werden.
-
Allgemein gesprochen kann die unmittelbare Drehmomentanforderung 258 ein Betrag eines aktuell gewünschten Achsdrehmoments sein, während die vorhergesagte Drehmomentanforderung 257 ein Betrag an Achsdrehmoment sein kann, der möglicherweise in Kürze benötigt wird. Das ECM 114 steuert das Kraftmaschinensystem 100, um ein Achsdrehmoment zu erzeugen, das gleich der unmittelbaren Drehmomentanforderung 258 ist. Jedoch können verschiedene Kombinationen von Zielwerten zu dem gleichen Achsdrehmoment führen. Das ECM 114 kann daher die Zielwerte so verstellen, dass ein schnellerer Übergang zu der vorhergesagten Drehmomentanforderung 257 ermöglicht wird, während dennoch das Achsdrehmoment auf der unmittelbaren Drehmomentanforderung 258 gehalten wird.
-
Bei verschiedenen Implementierungen kann die vorhergesagte Drehmomentanforderung 257 beruhend auf der Fahrerdrehmomentanforderung 254 eingestellt werden. Die unmittelbare Drehmomentanforderung 258 kann unter bestimmten Umständen auf weniger als die vorhergesagte Drehmomentanforderung 257 eingestellt werden, etwa wenn die Fahrerdrehmomentanforderung 254 einen Radschlupf auf einer vereisten Oberfläche verursacht. In einem derartigen Fall kann ein (nicht gezeigtes) Traktionssteuerungssystem eine Verringerung über die unmittelbare Drehmomentanforderung 258 anfordern, und das ECM 114 verringert die Kraftmaschinendrehmomentausgabe auf die unmittelbare Drehmomentanforderung 258. Jedoch führt das ECM 114 die Verringerung so durch, dass das Kraftmaschinensystem 100 die Erzeugung der vorhergesagten Drehmomentanforderung 257 schnell wieder aufnehmen kann, sobald der Radschlupf aufhört.
-
Allgemein gesprochen kann die Differenz zwischen der unmittelbaren Drehmomentanforderung 258 und der (im Allgemeinen höheren) vorhergesagten Drehmomentanforderung 257 als Drehmomentreserve bezeichnet werden. Die Drehmomentreserve kann den Betrag an zusätzlichem Drehmoment repräsentieren (über der unmittelbaren Drehmomentanforderung 258), mit dessen Erzeugung das Kraftmaschinensystem 100 mit minimaler Verzögerung beginnen kann. Schnelle Kraftmaschinenaktoren werden verwendet, um das aktuelle Achsdrehmoment mit minimaler Verzögerung zu erhöhen oder zu verringern. Schnelle Kraftmaschinenaktoren sind im Gegensatz zu langsamen Kraftmaschinenaktoren definiert.
-
Allgemein gesprochen können schnelle Kraftmaschinenaktoren das Achsdrehmoment schneller als langsame Kraftmaschinenaktoren verändern. Langsame Aktoren können auf Veränderungen bei ihren jeweiligen Zielwerten langsamer reagieren als schnelle Aktoren. Beispielsweise kann ein langsamer Aktor mechanische Komponenten enthalten, die Zeit benötigen, um sich in Ansprechen auf eine Veränderung beim Zielwert von einer Position zu einer anderen zu bewegen. Ein langsamer Aktor kann auch durch den Zeitbetrag charakterisiert sein, der benötigt wird, damit das Achsdrehmoment mit einer Veränderung beginnt, nachdem der langsame Aktor mit einer Implementierung des veränderten Zielwerts begonnen hat. Dieser Zeitbetrag wird allgemein bei langsamen Aktoren größer als bei schnellen Aktoren sein. Zudem kann auch nach dem Beginn der Veränderung das Achsdrehmoment länger brauchen, um vollständig auf eine Veränderung bei einem langsamen Aktor zu reagieren.
-
Nur als Beispiel kann das Zündfunkenaktormodul 126 ein schneller Aktor sein. Kraftmaschinen mit Funkenzündung können Kraftstoffe, die beispielsweise Benzin und Ethanol umfassen, durch Anwenden eines Zündfunkens verbrennen. Im Gegensatz dazu kann das Drosselklappenaktormodul 116 ein langsamer Aktor sein.
-
Wie vorstehend beschrieben wurde, kann das Zündfunkenaktormodul 126 beispielsweise den Zündfunkenzeitpunkt für ein nächstes Zündungsereignis verändern, wenn der Zündfunkenzeitpunkt zwischen einem letzten Zündungsereignis und dem nächsten Zündungsereignis verändert wird. Im Gegensatz dazu brauchen Veränderungen bei der Drosselöffnung länger um das Kraftmaschinenausgabedrehmoment zu beeinflussen. Das Drosselklappenaktormodul 116 verändert die Drosselöffnung, indem es den Winkel der Klappe des Drosselklappenventils 112 verstellt. Wenn daher der Zielwert für die Öffnung des Drosselklappenventils 112 verändert wird, gibt es eine mechanische Verzögerung, wenn sich das Drosselklappenventil 112 in Ansprechen auf die Veränderung von seiner vorherigen Position in eine neue Position bewegt. Zudem sind Veränderungen bei der Luftströmung beruhend auf der Drosselklappenöffnung Luftbeförderungsverzögerungen im Ansaugkrümmer 110 unterworfen. Ferner wird eine erhöhte Luftströmung im Ansaugkrümmer 110 erst als eine Erhöhung des Kraftmaschinenausgabedrehmoments realisiert, wenn der Zylinder 118 zusätzliche Luft beim nächsten Ansaugtakt empfängt, die zusätzliche Luft verdichtet und mit dem Arbeitstakt beginnt.
-
Unter Verwendung dieser Aktoren als Beispiel kann eine Drehmomentreserve erzeugt werden, indem die Drosselklappenöffnung auf einen Wert eingestellt wird, der ermöglichen würde, dass die Kraftmaschine 102 die vorhergesagte Drehmomentanforderung 257 erzeugt. In der Zwischenzeit kann der Zündfunkenzeitpunkt beruhend auf der unmittelbaren Drehmomentanforderung 258 eingestellt werden, welche kleiner als die vorhergesagte Drehmomentanforderung 257 ist. Obwohl die Drosselöffnung genügend Luftströmung erzeugt, damit die Kraftmaschine 102 die vorhergesagte Drehmomentanforderung 257 erzeugen kann, wird der Zündfunkenzeitpunkt beruhend auf der unmittelbaren Drehmomentanforderung 258 nach spät verstellt (wodurch das Drehmoment verringert wird). Das Kraftmaschinenausgabedrehmoment wird daher gleich der unmittelbaren Drehmomentanforderung 258 sein.
-
Wenn zusätzliches Drehmoment benötigt wird, kann der Zündfunkenzeitpunkt beruhend auf der vorhergesagten Drehmomentanforderung 257 oder beruhend auf einem Drehmoment zwischen der vorhergesagten und der unmittelbaren Drehmomentanforderung 257 und 258 eingestellt werden. Mit dem folgenden Zündungsereignis kann das Zündfunkenaktormodul 126 den Zündfunkenzeitpunkt auf einen optimalen Wert zurückstellen, der ermöglicht, dass die Kraftmaschine 102 das vollständige Kraftmaschinenausgabedrehmoment erzeugt, das mit der bereits vorhandenen Luftströmung erreicht werden kann. Das Kraftmaschinenausgabedrehmoment kann daher schnell auf die vorhergesagte Drehmomentanforderung 257 erhöht werden, ohne Verzögerungen aus der Veränderung der Drosselöffnung zu erfahren.
-
Das Achsdrehmoment-Arbitrierungsmodul 204 kann die vorhergesagte Drehmomentanforderung 257 und die unmittelbare Drehmomentanforderung 258 an ein Vortriebsdrehmoment-Arbitrierungsmodul 206 ausgeben. Bei verschiedenen Implementierungen kann das Achsdrehmoment-Arbitrierungsmodul 204 die vorhergesagte und unmittelbare Drehmomentanforderung 257 und 258 an das Hybridoptimierungsmodul 208 ausgeben.
-
Das Hybridoptimierungsmodul 208 kann bestimmen, wie viel Drehmoment von der Kraftmaschine 102 erzeugt werden soll, und wie viel Drehmoment von dem Elektromotor 198 erzeugt werden soll. Das Hybridoptimierungsmodul 208 gibt dann modifizierte vorhergesagte und unmittelbare Drehmomentanforderungen 259 bzw. 260 an das Vortriebsdrehmoment-Arbitrierungsmodul 206 aus. Bei verschiedenen Implementierungen kann das Hybridoptimierungsmodul 208 in dem Hybridsteuerungsmodul 196 implementiert sein.
-
Die vorhergesagte und unmittelbare Drehmomentanforderung, die von dem Vortriebsdrehmoment-Arbitrierungsmodul 206 empfangen werden, werden aus einem Achsdrehmomentbereich (Drehmoment an den Rädern) in einen Vortriebsdrehmomentbereich (Drehmoment an der Kurbelwelle) umgewandelt. Diese Umwandlung kann vor, nach, als Teil von oder anstelle des Hybridoptimierungsmoduls 208 stattfinden.
-
Das Vortriebsdrehmoment-Arbitrierungsmodul 206 entscheidet zwischen Vortriebsdrehmomentanforderungen 290, welche die umgewandelten vorhergesagten und unmittelbaren Drehmomentanforderungen umfassen. Das Vortriebsdrehmoment-Arbitrierungsmodul 206 erzeugt eine entschiedene vorgesagte Drehmomentanforderung 261 und eine entschiedene unmittelbare Drehmomentanforderung 262. Die entschiedenen Drehmomentanforderungen 261 und 262 können erzeugt werden, indem eine gewinnende Anforderung aus den empfangenen Drehmomentanforderungen gewählt wird. Alternativ oder zusätzlich können die entschiedenen Drehmomentanforderungen erzeugt werden, indem eine der empfangenen Anforderungen beruhend auf einer oder mehreren anderen der empfangenen Drehmomentanforderungen modifiziert werden.
-
Zum Beispiel können die Vortriebsdrehmomentanforderungen 290 Drehmomentverringerungen zum Schutz der Kraftmaschine gegen überhöhte Drehzahlen, Erhöhungen des Drehmoments zur Verhinderung des Stehenbleibens und Drehmomentverringerungen, die von dem Getriebesteuerungsmodul 294 angefordert werden, um Gangschaltvorgänge zu berücksichtigen, umfassen. Die Vortriebsdrehmomentanforderungen 290 können außerdem vom Absperren von Kraftstoff beim Kuppeln resultieren, was das Kraftmaschinenausgabedrehmoment verringert, wenn der Fahrer das Kupplungspedal in einem Fahrzeug mit Schaltgetriebe niederdrückt, um ein Aufflackern (einen schnellen Anstieg) der Kraftmaschinendrehzahl zu verhindern.
-
Die Vortriebsdrehmomentanforderungen 290 können außerdem eine Kraftmaschinenabschaltanforderung umfassen, die eingeleitet werden kann, wenn ein kritischer Fehler detektiert wird. Nur als Beispiel können kritische Fehler die Detektion eines Fahrzeugdiebstahls, eines festsitzenden Startermotors, von Problemen bei der elektronischen Drosselklappensteuerung und unerwartete Drehmomentanstiege umfassen. Wenn bei verschiedenen Implementierungen eine Kraftmaschinenabschaltanforderung vorhanden ist, wählt die Entscheidung die Kraftmaschinenabschaltanforderung als die gewinnende Anforderung. Wenn die Kraftmaschinenabschaltanforderung vorhanden ist, kann das Vortriebsdrehmoment-Arbitrierungsmodul 206 eine Null als entschiedene vorhergesagte und unmittelbare Drehmomentanforderungen 261 und 262 ausgeben.
-
Bei verschiedenen Implementierungen kann eine Kraftmaschinenabschaltanforderung die Kraftmaschine 102 einfach abschalten, getrennt von dem Entscheidungsprozess. Das Vortriebsdrehmoment-Arbitrierungsmodul 206 kann dennoch die Kraftmaschinenabschaltanforderung empfangen, sodass beispielsweise geeignete Daten an andere Drehmomentanforderungsvorrichtungen zurückgegeben werden können. Zum Beispiel können alle anderen Drehmomentanforderungsvorrichtungen darüber informiert werden, dass sie die Entscheidung verloren haben.
-
Das Reserven/Lasten-Modul 220 empfängt die arbitrierten vorhergesagten und unmittelbaren Drehmomentanforderungen 261 und 262. Das Reserven/Lasten-Modul 220 kann die arbitrierten vorhergesagten und unmittelbaren Drehmomentanforderungen 261 und 262 verstellen, um eine Drehmomentreserve zu erzeugen und/oder um eine oder mehrere Lasten zu kompensieren. Das Reserven/Lasten-Modul 220 gibt dann verstellte vorhergesagte und unmittelbare Drehmomentanforderungen 263 und 264 an das Drehmomentanforderungsmodul 224 aus.
-
Nur als Beispiel kann ein Katalysatorzündprozess oder ein Prozess zur Reduktion von Emissionen bei Kaltstart einen verzögerten Zündfunkenzeitpunkt benötigen. Das Reserven/Lasten-Modul 220 kann daher die verstellte vorhergesagte Drehmomentanforderung 203 über die verstellte unmittelbare Drehmomentanforderung 264 hinaus erhöhen, um einen nach spät verstellten Zündfunken für den Prozess zur Reduktion von Emissionen bei Kaltstart zu erzeugen. Bei einem anderen Beispiel können das Verhältnis von Luft zu Kraftstoff der Kraftmaschine und/oder der Luftmassenstrom direkt verändert werden, etwa durch eine intrusive diagnostische Prüfung des Äquivalenzverhältnisses und/oder durch das Durchspülen einer neuen Kraftmaschine. Vor dem Beginnen dieser Prozesse kann eine Drehmomentreserve erzeugt oder erhöht werden, um Verringerungen bei dem Kraftmaschinenausgabedrehmoment schnell entgegenzuwirken, die aus dem Abmagern des Gemisches aus Luft und Kraftstoff während dieser Prozesse resultiert.
-
Das Reserven/Lasten-Modul 220 kann außerdem eine Drehmomentreserve in Erwartung einer zukünftigen Last erzeugen oder erhöhen, etwa des Betriebs einer Servolenkungspumpe oder des Einrückens der Kupplung eines Klimaanlagenkompressors (A/C-Kompressors). Die Reserve für das Einrücken der A/C-Kompressorkupplung kann erzeugt werden, wenn der Fahrer zunächst eine Klimatisierung anfordert. Das Reserven/Lasten-Modul 220 kann die verstellte vorhergesagte Drehmomentanforderung 263 erhöhen, während es die verstellte unmittelbare Drehmomentanforderung 264 unverändert lässt, um die Drehmomentreserve zu erzeugen. Dann, wenn die AC-Kompressorkupplung eingerückt wird, kann das Reserven/Lasten-Modul 220 die verstellte unmittelbare Drehmomentanforderung 264 um die geschätzte Last der A/C-Kompressorkupplung erhöhen.
-
Das Drehmomentanforderungsmodul 224 empfängt die verstellten vorhergesagten und unmittelbaren Drehmomentanforderungen 263 und 264. Das Drehmomentanforderungsmodul 224 bestimmt, wie die verstellten vorhergesagten und unmittelbaren Drehmomentanforderungen 263 und 264 erreicht werden. Das Drehmomentanforderungsmodul 224 kann kraftmaschinentypspezifisch sein. Beispielsweise kann das Drehmomentanforderungsmodul 224 für Funkenzündungskraftmaschinen gegenüber Kompressionszündungskraftmaschinen anders implementiert sein oder andere Steuerungsschemen verwenden.
-
Bei verschiedenen Implementierungen kann das Drehmomentanforderungsmodul 224 eine Grenze zwischen Modulen, die über alle Kraftmaschinentypen hinweg gleich sind, und Modulen, die kraftmaschinentypspezifisch sind, definieren. Zum Beispiel können Kraftmaschinentypen Funkenzündung und Kompressionszündung umfassen. Module, die sich vor dem Drehmomentanforderungsmodul 224 befinden, etwa das Vortriebsdrehmoment-Arbitrierungsmodul 206, können über alle Kraftmaschinentypen hinweg gemeinsam bzw. gleich sein, während das Drehmomentanforderungsmodul 224 und nachfolgende Module kraftmaschinentypspezifisch sein können.
-
Das Drehmomentanforderungsmodul 224 bestimmt eine Luftdrehmomentanforderung 265 beruhend auf den verstellen vorhergesagten und unmittelbaren Drehmomentanforderungen 263 und 264. Die Luftdrehmomentanforderung 265 kann ein Bremsdrehmoment sein. Das Bremsdrehmoment kann ein Drehmoment an der Kurbelwelle bei den aktuellen Betriebsbedingungen bezeichnen.
-
Zielwerte für Kraftmaschinenaktoren, die eine Luftströmung steuern, werden beruhend auf der Luftdrehmomentanforderung 265 bestimmt. Insbesondere bestimmt das Luftsteuerungsmodul 228 beruhend auf der Luftdrehmomentanforderung 265 eine Ladedruckregelventil-Zielöffnungsfläche 266, eine Drosselklappen-Zielöffnungsfläche 267, eine AGR-Zielöffnungsfläche 268, einen Einlassnockenphasensteller-Zielwinkel 269 und einen Auslassnockenphasensteller-Zielwinkel 270. Das Luftsteuerungsmodul 228 bestimmt die Ladedruckregelventil-Zielöffnungsfläche 266, die Drosselklappen-Zielöffnungsfläche 267, die AGR-Zielöffnungsfläche 268, den Einlassnockenphasensteller-Zielwinkel 269 und den Auslassnockenphasensteller-Zielwinkel 270 unter Verwendung einer Steuerung mit Vorhersagemodell, wie nachstehend weiter erörtert wird.
-
Das Verstärkungsaktormodul 164 steuert das Ladedruckregelventil 162, um die Ladedruckregelventil-Zielöffnungsfläche 266 zu erreichen. Beispielsweise kann ein erstes Umwandlungsmodul 272 die Ladedruckregelventil-Zielöffnungsfläche 266 in ein Zieltastverhältnis 274 umwandeln, das auf das Ladedruckregelventil 162 angewendet werden soll, und das Verstärkungsaktormodul 164 kann ein Signal an das Ladedruckregelventil 162 beruhend auf dem Zieltastverhältnis 274 anlegen. Bei verschiedenen Implementierungen kann das erste Umwandlungsmodul 272 die Ladedruckregelventil-Zielöffnungsfläche 266 in eine Ladedruckregelventil-Zielposition (nicht gezeigt) umwandeln und es kann die Ladedruckregelventil-Zielposition in das Zieltastverhältnis 274 umwandeln.
-
Das Drosselklappenaktormodul 116 steuert das Drosselklappenventil 112, um die Drosselklappen-Zielöffnungsfläche 267 zu erreichen. Beispielsweise kann ein zweites Umwandlungsmodul 276 die Drosselklappen-Zielöffnungsfläche 267 in ein Zieltastverhältnis 278 umwandeln, das auf das Drosselklappenventil 112 angewendet werden soll, und das Drosselklappenaktormodul 116 kann ein Signal beruhend auf dem Zieltastverhältnis 278 an das Drosselklappenventil 112 anlegen. Bei verschiedenen Implementierungen kann das zweite Umwandlungsmodul 276 die Drosselklappen-Zielöffnungsfläche 267 in eine Drosselklappen-Zielposition (nicht gezeigt) umwandeln und die Drosselklappen-Zielposition in das Zieltastverhältnis 278 umwandeln.
-
Das AGR-Aktormodul 172 steuert das AGR-Ventil 170, um die AGR-Zielöffnungsfläche 268 zu erreichen. Zum Beispiel kann ein drittes Umwandlungsmodul 280 die AGR-Zielöffnungsfläche 268 in ein Zieltastverhältnis 282 umwandeln, das auf das AGR-Ventil 170 angewendet werden soll, und das AGR-Aktormodul 172 kann ein Signal beruhend auf dem Zieltastverhältnis 282 an das AGR-Ventil 170 anlegen. Bei verschiedenen Implementierungen kann das dritte Umwandlungsmodul 280 die AGR-Zielöffnungsfläche 268 in eine (nicht gezeigte) AGR-Zielposition umwandeln und die AGR-Zielposition in das Zieltastverhältnis 282 umwandeln.
-
Das Phasenstelleraktormodul 158 steuert den Einlassnockenphasensteller 148, um den Einlassnockenphasensteller-Zielwinkel 269 zu erreichen. Das Phasenstelleraktormodul 258 steuert außerdem den Auslassnockenphasensteller 150, um den Auslassnockenphasensteller-Zielwinkel 270 zu erreichen. Bei verschiedenen Implementierungen kann ein (nicht gezeigtes) viertes Umwandlungsmodul enthalten sein und es kann den Einlass- und Auslass-Nockenphasensteller-Zielwinkel in Einlass- bzw. Auslass-Zieltastverhältnisse umwandeln. Das Phasenstelleraktormodul 158 kann die Einlass- und Auslass-Zieltastverhältnisse an den Einlass- und Auslassnockenphasensteller 148 bzw. 150 anlegen.
-
Das Drehmomentanforderungsmodul 224 kann außerdem eine Zündfunkendrehmomentanforderung 283, eine Zylinderabschalt-Drehmomentanforderung 284 und eine Kraftstoffdrehmomentanforderung 285 beruhend auf der vorhergesagten und unmittelbaren Drehmomentanforderung 263 und 264 erzeugen. Das Zündfunkensteuerungsmodul 232 kann bestimmen, um wie viel der Zündfunkenzeitpunkt von einem optimalen Zündfunkenzeitpunkt aus beruhend auf der Zündfunkendrehmomentanforderung 283 nach spät verstellt werden soll (was das Ausgabedrehmoment der Kraftmaschine verringert). Nur als Beispiel kann eine Drehmomentbeziehung invertiert werden, um nach einem Zündfunkenzielzeitpunkt 286 aufzulösen. Bei einer gegebenen Drehmomentanforderung (T
Req) kann der ZündfunkenZielzeitpunkt (S
T) 286 bestimmt werden beruhend auf:
-
Diese Beziehung kann als Gleichung und/oder als Nachschlagetabelle ausgeführt sein. Das Verhältnis von Luft zu Kraftstoff (AF) kann das tatsächliche Verhältnis von Luft und Kraftstoff sein, wie es von dem Kraftstoffsteuerungsmodul 240 gemeldet wird.
-
Wenn der Zündfunkenzeitpunkt auf den optimalen Zündfunkenzeitpunkt eingestellt ist, kann das resultierende Drehmoment so nahe bei einem maximalen besten Drehmoment (MBT) wie möglich liegen. MBT bezeichnet das maximale Kraftmaschinenausgabedrehmoment, das für eine gegebene Luftströmung erzeugt wird, wenn der Zündfunkenzeitpunkt nach früh verstellt wird, während ein Kraftstoff mit einer Oktanzahlverwendet wird, die größer als eine vorbestimmte Oktanzahl ist, und eine stöchiometrische Kraftstoffzufuhr verwendet wird. Der Zündfunkenzeitpunkt, bei dem dieses maximale Drehmoment auftritt, wird als ein MBT-Zündfunkenzeitpunkt bezeichnet. Der optimale Zündfunkenzeitpunkt kann von dem MBT-Zündfunkenzeitpunkt ein wenig abweichen, beispielsweise aufgrund der Kraftstoffqualität (etwa wenn ein Kraftstoff mit niedrigerer Oktanzahl verwendet wird) und aufgrund von Umgebungsfaktoren, etwa einer Umgebungsfeuchtigkeit und -temperatur. Das Kraftmaschinenausgabedrehmoment bei dem optimalen Zündfunkenzeitpunkt kann daher kleiner als MBT sein. Nur als Beispiel kann eine Tabelle mit optimalen Zündfunkenzeitpunkten, die verschiedenen Kraftmaschinenbetriebsbedingungen entsprechen, während einer Kalibrierungsphase des Fahrzeugentwurfs bestimmt werden, und der Optimalwert wird aus der Tabelle beruhend auf aktuellen Kraftmaschinenbetriebsbedingungen bestimmt.
-
Die Zylinderabschaltdrehmomentanforderung 284 kann von dem Zylindersteuerungsmodul 236 verwendet werden, um eine Zielanzahl von abzuschaltenden Zylindern 287 zu bestimmen. Bei verschiedenen Implementierungen kann eine Zielanzahl von zu aktivierenden Zylindern verwendet werden. Das Zylinderaktormodul 120 aktiviert und deaktiviert selektiv die Ventile von Zylindern beruhend auf der Zielanzahl 287.
-
Das Zylindersteuerungsmodul 236 kann außerdem das Kraftstoffsteuerungsmodul 240 anweisen, die Kraftstoffzufuhr für abgeschaltete Zylinder zu stoppen, und es kann das Zündfunkensteuerungsmodul 232 anweisen, das Liefern von Zündfunken für abgeschaltete Zylinder zu stoppen. Das Zündfunkensteuerungsmodul 232 kann das Liefern von Zündfunken an einen Zylinder stoppen, sobald ein Gemisch aus Luft und Kraftstoff, das in dem Zylinder bereits vorhanden ist, verbrannt worden ist.
-
Das Kraftstoffsteuerungsmodul 240 kann die Menge an Kraftstoff, die an jeden Zylinder geliefert wird, beruhend auf der Kraftstoffdrehmomentanforderung 285 verändern. Insbesondere kann das Kraftstoffsteuerungsmodul 240 Kraftstoffzufuhr-Zielparameter 288 beruhend auf der Kraftstoffdrehmomentanforderung 285 erzeugen. Die Kraftstoffzufuhr-Zielparameter 288 können beispielsweise eine Zielkraftstoffmasse, einen Einspritzstart-Zielzeitpunkt und eine Zielanzahl von Kraftstoffeinspritzvorgängen umfassen.
-
Während eines Normalbetriebs kann das Kraftstoffsteuerungsmodul 240 in einem Luftführungsmodus arbeiten, bei dem das Kraftstoffsteuerungsmodul 240 versucht, ein stöchiometrisches Verhältnis von Luft zu Kraftstoff aufrecht zu erhalten, indem es die Kraftstoffzufuhr beruhend auf der Luftströmung steuert. Beispielsweise kann das Kraftstoffsteuerungsmodul 240 eine Zielkraftstoffmasse bestimmen, die eine stöchiometrische Verbrennung liefern wird, wenn sie mit einer gegenwärtigen Masse von Luft pro Zylinder (APC) kombiniert wird.
-
3 ist ein Funktionsblockdiagramm einer beispielhaften Implementierung des Luftsteuerungsmoduls 228. Nun mit Bezug auf 2 und 3 kann die Luftdrehmomentanforderung 265 wie vorstehend erörtert ein Bremsdrehmoment sein. Ein Drehmomentumwandlungsmodul 304 wandelt die Luftdrehmomentanforderung 265 von einem Bremsdrehmoment in ein Basisdrehmoment um. Die Drehmomentanforderung, die aus der Umwandlung in das Basisdrehmoment resultiert, wird als Basisluftdrehmomentanforderung 308 bezeichnet werden.
-
Basisdrehmomente können ein Drehmoment an der Kurbelwelle bezeichnen, das bei einem Betrieb der Kraftmaschine 102 auf einem Motorprüfstand erzeugt wird, während die Kraftmaschine 102 warm ist und der Kraftmaschine 102 keine Drehmomentlasten durch Zubehörvorrichtungen, etwa durch einen Generator und den A/C-Kompressor, auferlegt werden. Das Drehmomentumwandlungsmodul 304 kann die Luftdrehmomentanforderung 265 in die Basisluftdrehmomentanforderung 308 beispielsweise unter Verwendung einer Zuordnung oder einer Funktion umwandeln, die Bremsdrehmomente in Beziehung zu Basisdrehmomenten setzt.
-
Bei verschiedenen Implementierungen kann das Drehmomentumwandlungsmodul 304 die Luftdrehmomentanforderung 265 in eine andere Art von Drehmoment umwandeln, die zur Verwendung durch ein Einstellpunktmodul 312 geeignet ist, etwa ein angegebenes Drehmoment. Ein angegebenes Drehmoment kann ein Drehmoment an der Kurbelwelle bezeichnen, das auf Arbeit zurückzuführen ist, die durch Verbrennung innerhalb der Zylinder erzeugt wird.
-
Das Einstellpunktmodul 312 erzeugt Einstellpunktwerte zum Steuern des Drosselklappenventils 112, des AGR-Ventils 170, des Ladedruckregelventils 162, des Einlassnockenphasenstellers 148 und des Auslassnockenphasenstellers 150, um die Basisluftdrehmomentanforderung 308 bei einer gegenwärtigen Kraftmaschinendrehzahl 316 zu erreichen. Die Einstellpunkte können als Luft- und Abgaseinstellpunkte der Kraftmaschine bezeichnet werden. Die Kraftmaschinendrehzahl 316 kann beispielsweise beruhend auf einer Kurbelwellenposition bestimmt werden, die unter Verwendung des Kurbelwellenpositionssensors 180 gemessen wird.
-
Beispielsweise kann das Einstellpunktmodul 312 einen Krümmerdruck-Einstellpunkt (z.B. einen MAP- Einstellpunkt) 318, einen Einstellpunkt für Luftmasse pro Zylinder (APC-Einstellpunkt) 320, einen Einstellpunkt 324 für eine externe Verdünnung, einen Einstellpunkt 328 für eine Restverdünnung und einen Einstellpunkt 332 für ein effektives Kompressionsverhältnis erzeugen. Das Einstellpunktmodul 312 kann den Krümmerdruck-Einstellpunkt 318, den APC-Einstellpunkt 320, den Einstellpunkt 324 für eine externe Verdünnung, den Einstellpunkt 328 für eine Restverdünnung und den Einstellpunkt 332 für ein effektives Kompressionsverhältnis unter Verwendung einer oder mehrerer Funktionen oder Zuordnungen erzeugen, welche die Basisluftdrehmomentanforderung 308 und die Kraftmaschinendrehzahl 316 in Beziehung mit den Einstellpunkten setzen. Das Einstellpunktmodul 312 kann außerdem einen oder mehrere andere Einstellpunkte beruhend auf der Basisluftdrehmomentanforderung 308 und der Kraftmaschinendrehzahl 316 erzeugen.
-
Der Krümmerdruck-Einstellpunkt 318 kann einen Zieldruck in dem Ansaugkrümmer 110 bezeichnen. Der APC-Einstellpunkt 320 kann eine Zielluftmasse bezeichnen, die für ein Verbrennungsereignis in einen Zylinder eingesaugt werden muss.
-
Ein effektives Kompressionsverhältnis kann auch als dynamisches Kompressionsverhältnis bezeichnet werden.
-
Die Verdünnung kann eine Abgasmenge aus einem früheren Verbrennungsereignis bezeichnen, die in einem Zylinder für ein Verbrennungsereignis gefangen ist. Die externe Verdünnung kann Abgas bezeichnen, das über das AGR-Ventil 170 für ein Verbrennungsereignis geliefert wird. Die interne Verdünnung kann Abgas bezeichnen, das in einem Zylinder verbleibt und/oder Abgas, das im Anschluss an den Auslasstakt eines Verbrennungszyklus in den Zylinder zurückgedrückt wurde. Der Einstellpunkt 324 für eine externe Verdünnung kann eine Zielmenge an externer Verdünnung bezeichnen. Der Einstellpunkt 328 für eine interne Verdünnung kann eine Zielmenge an interner Verdünnung bezeichnen.
-
Das Einstellpunktmodul 312 kann einen oder mehrere der Einstellpunkte 318-332 ferner beruhend auf einer gewünschten Verbrennungsphasenlage 336 und einem Zylindermodus 340 erzeugen. Der Zylindermodus 340 kann sich beispielsweise auf die Anzahl der Zylinder beziehen, die abgeschaltet (oder aktiviert) sind und/oder auf einen Betriebsmodus der Kraftmaschine 102, bei dem ein oder mehrere Zylinder (z.B. die Hälfte oder ein anderer Anteil) abgeschaltet sind.
-
Wenn ein oder mehrere Zylinder abgeschaltet sind, ist jeder Zylinder, der aktiviert ist, dafür verantwortlich, einen größeren Drehmomentbetrag zu erzeugen, um die Basisluftdrehmomentanforderung 308 zu erreichen. Das Einstellpunktmodul 312 kann daher einen oder mehrere der Einstellpunkte 318-332 beruhend auf dem Zylindermodus 340 verstellen. Zum Beispiel kann das Einstellpunktmodul 312 den APC-Einstellpunkt 320 beruhend auf dem Zylindermodus 340 erhöhen. Das Einstellpunktmodul 312 kann zusätzlich oder alternativ einen oder mehrere der anderen Einstellpunkte 318-332 beruhend auf dem Zylindermodus 340 verstellen.
-
Die Verbrennungsphasenlage kann eine Kurbelwellenposition, bei der eine vorbestimmte Menge des eingespritzten Kraftstoffs in einem Zylinder verbrannt ist, relativ zu einer vorbestimmten Kurbelwellenposition für die Verbrennung der vorbestimmten Menge des eingespritzten Kraftstoffs bezeichnen. Beispielsweise kann die Verbrennungsphasenlage mithilfe einer CA50 relativ zu einer vorbestimmten CA50 ausgedrückt werden. CA50 kann eine Kurbelwellenposition (oder einen Winkel, daher CA von crankshaft angle) bezeichnen, bei der 50 Prozent einer Masse des eingespritzten Kraftstoffs innerhalb eines Zylinders verbrannt worden ist. Die vorbestimmte CA50 kann einer CA50 entsprechen, bei der ein maximaler Betrag an Arbeit von dem eingespritzten Kraftstoff erzeugt wird, und sie kann etwa 8,5 - etwa 10 Grad nach dem OT sein.
-
Ein Verbrennungsphasenlagenmodul 344 (2) kann die gewünschte Verbrennungsphasenlage 336 allgemein so einstellen, dass die CA50 bei der vorbestimmten CA50 auftritt. Mit anderen Worten kann das Verbrennungsphasenlagenmodul 344 die gewünschte Verbrennungsphasenlage 336 allgemein so einstellen, dass eine Verbrennungsphasenlage von Null auftritt, um die maximale Arbeit und damit eine maximale Kraftstoffeffizienz zu erzielen. Jedoch kann das Verbrennungsphasenlagenmodul 344 die gewünschte Verbrennungsphasenlage 336 bei einigen Umständen selektiv verstellen.
-
Beispielsweise kann das Verbrennungsphasenlagenmodul 344 die gewünschte Verbrennungsphasenlage so einstellen, dass die CA50 nach der vorbestimmten CA auftritt, wenn Klopfen detektiert wird. Klopfen kann beispielsweise unter Verwendung eines oder mehrerer Klopfsensoren detektiert werden. Zusätzlich oder alternativ kann das Verbrennungsphasenlagenmodul 344 die gewünschte Verbrennungsphasenlage derart einstellen, dass die CA50 nach der vorbestimmten CA50 auftritt, wenn eine oder mehrere Bedingungen vorhanden sind, die verursachen können, dass Klopfen auftritt. Beispielsweise kann Klopfen auftreten, wenn die Qualität von Kraftstoff innerhalb eines Kraftstofftanks des Fahrzeugs geringer als eine vorbestimmte Qualität ist und/oder die Umgebungstemperatur größer als eine vorbestimmte Temperatur ist und die Umgebungsfeuchtigkeit kleiner als vorbestimmter Wert ist.
-
Wenn die Verbrennung nach spät verstellt ist, sodass die CA50 nach der vorbestimmten CA50 auftritt, sollte die Luftströmung in die Zylinder hinein erhöht werden, um die Basisluftdrehmomentanforderung 308 zu erreichen. Das Einstellpunktmodul 312 kann daher einen oder mehrere der Einstellpunkte 318-332 beruhend auf der gewünschten Verbrennungsphasenlage 336 verstellen. Beispielsweise kann das Einstellpunktmodul 312 den APC-Einstellpunkt 320 erhöhen, wenn die gewünschte Verbrennungsphasenlage 336 nach spät verstellt wird, um eine CA50 bereitzustellen, die nach der vorbestimmten CA50 liegt.
-
Das Einstellpunktmodul 312 erzeugt die Einstellpunkte 318-332 außerdem beruhend auf einer oder mehreren Einstellpunktbeschränkungen 348. Ein Beschränkungseinstellmodul 352 kann die Einstellpunktbeschränkungen 348 für die Einstellpunkte 318-332 jeweils auf vorbestimmte akzeptable Bereiche einstellen. Das Einstellpunktmodul 312 stellt die Einstellpunkte 318-332 so ein, dass sie jeweils innerhalb der Einstellpunktbeschränkungen 348 bleiben.
-
Jedoch kann das Beschränkungseinstellmodul 352 bei einigen Umständen selektiv eine Einstellpunktbeschränkung verstellen. Nur als Beispiel kann das Beschränkungseinstellmodul 352 eine Einstellpunktbeschränkung einstellen, um eine Verdünnung zu deaktivieren. Das Einstellpunktmodul 312 kann den Einstellpunkt 324 für die externe Verdünnung und den Einstellpunkt 328 für die Restverdünnung in Ansprechen darauf, dass die Einstellpunktbeschränkung die Verdünnung deaktiviert, auf Null begrenzen.
-
Das Einstellpunktmodul 312 kann außerdem einen oder mehrere der anderen Einstellpunkte beruhend auf der Begrenzung eines Einstellpunkts verstellen. Beispielsweise kann das Einstellpunktmodul 312 den APC-Einstellpunkt 320 erhöhen, um die Basisluftdrehmomentanforderung 308 zu erreichen, wenn die Einstellpunkte 324 und 328 für die externe Verdünnung und Restverdünnung begrenzt sind.
-
Ein Modul 360 für eine Steuerung mit Vorhersagemodell (MPC-Modul) erzeugt die Zielwerte 266-270, die Aktorbeschränkungen 364 unterworfen sind, beruhend auf den Einstellpunkten 318-332, erfassten Werten 368, einer tatsächlichen Verbrennungsphasenlage 372 und eines Modells 376 der Kraftmaschine 102 unter Verwendung der MPC. Die MPC umfasst, dass das MPC-Modul 360 mögliche Sequenzen der Zielwerte 266-270 identifiziert, die bei N zukünftigen Steuerungsschleifen gemeinsam verwendet werden könnten, um die Einstellpunkte 318-332 zu erreichen, und die den Aktorbeschränkungen 364 und den gegebenen erfassten Werten 368 und der gegebenen tatsächlichen Verbrennungsphasenlage 372 unterworfen sind.
-
Jede mögliche Sequenz umfasst eine Sequenz aus N Werten für jeden der Zielwerte 266-270. Mit anderen Worten umfasst jede mögliche Sequenz eine Sequenz aus N Werten für die Ladedruckregelventil-Zielöffnungsfläche 266, eine Sequenz aus N Werten für die Drosselklappen-Zielöffnungsfläche 267, eine Sequenz aus N Werten für die AGR-Zielöffnungsfläche 268, eine Sequenz aus N Werten für den Einlassnockenphasensteller-Zielwinkel 269 und eine Sequenz aus N Werten für den Auslassnockenphasensteller-Zielwinkel 270. Jeder der N Werte ist für eine entsprechende der N zukünftigen Steuerungsschleifen.
-
Das MPC-Modul 360 bestimmt vorhergesagte Reaktionen der Kraftmaschine 102 auf die identifizierten möglichen Sequenzen der jeweiligen Zielwerte 266-270 unter Verwendung des Modells 376 der Kraftmaschine 102. Das MPC-Modul 360 erzeugt eine Vorhersage für Parameter, die den Einstellpunkten 318-332 entsprechen, beruhend auf einer gegebenen möglichen Sequenz der Zielwerte 266-270. Insbesondere erzeugt das MPC-Modul 360 beruhend auf einer gegebenen möglichen Sequenz der Zielwerte 266-270 unter Verwendung des Modells 376 eine Sequenz von vorhergesagten Krümmerdrücken für die N Steuerungsschleifen, eine Sequenz von vorhergesagten APCs für die N Steuerungsschleifen, eine Sequenz von vorhergesagten Mengen an externer Verdünnung für die N Steuerungsschleifen, eine Sequenz von vorhergesagten Mengen einer Restverdünnung für die N Steuerungsschleifen und eine Sequenz von vorhergesagten Kompressionsverhältnissen für die N Steuerungsschleifen. Das Modell 376 kann beispielsweise eine oder mehrere Funktionen und/oder Zuordnungen umfassen, die beruhend auf Eigenschaften der Kraftmaschine 102 kalibriert sind.
-
Das MPC-Modul 360 bestimmt Kosten (einen Wert) für jede der möglichen Sequenzen der Zielwerte 266-270 beruhend auf Beziehungen zwischen den Einstellpunkten 318-332 bzw. den Vorhersagen. Beispielsweise kann das MPC-Modul 360 die Kosten für jede der möglichen Sequenzen der Zielwerte 266-270 beruhend auf den jeweiligen Zeitspannen bis die vorhergesagten Parameter die Einstellpunkte 318-332 erreichen, und/oder auf jeweiligen Beträgen, um welche die vorhergesagten Parameter die Einstellpunkte 318-332 überschreiten, bestimmen. Nur als Beispiel können die Kosten ansteigen, wenn die Zeitspanne, bis ein vorhergesagter Parameter einen Einstellpunkt erreicht, ansteigt und/oder wenn der Betrag, um den der vorhergesagte Parameter den Einstellpunkt überschreitet, ansteigt.
-
Jedes Paar aus vorhergesagten Parametern und Einstellpunkten kann gewichtet werden, um zu beeinflussen, wie stark die Beziehungen zwischen den vorhergesagten Parametern und den Einstellpunkten die Kostenbestimmungen beeinflussen. Beispielsweise kann die Beziehung zwischen der vorhergesagten APC und dem APC-Einstellpunkt 320 gewichtet werden, um die Kosten stärker zu beeinflussen als die Beziehung zwischen einem anderen vorhergesagten Parameter und dem entsprechenden Einstellpunkt.
-
Das MPC-Modul 360 wählt eine der möglichen Sequenzen der Zielwerte 266-270 beruhend auf den Kosten der möglichen Sequenzen der Zielwerte 266-270. Zum Beispiel kann das MPC-Modul 360 diejenige der möglichen Sequenzen wählen, welche die geringsten Kosten aufweist.
-
Das MPC-Modul 360 kann dann die Zielwerte 266-270 jeweils auf die ersten der N Werte der gewählten möglichen Sequenz einstellen. Mit anderen Worten kann das MPC-Modul 360 die Ladedruckregelventil-Zielöffnungsfläche 266 auf den ersten der N Werte in der Sequenz aus N Werten für die Ladedruckregelventil-Zielöffnungsfläche 266 einstellen, die Drosselklappen-Zielöffnungsfläche 267 auf den ersten der N Werte in der Sequenz aus N Werten für die Drosselklappen-Zielöffnungsfläche 267 einstellen, die AGR-Zielöffnungsfläche 268 auf den ersten der N Werte in der Sequenz aus N Werten für die AGR-Zielöffnungsfläche 268 einstellen, den Einlassnockenphasensteller-Zielwinkel 269 auf den ersten der N Werte in der Sequenz aus N Werten für den Einlassnockenphasensteller-Zielwinkel 269 einstellen und den Auslassnockenphasensteller-Zielwinkel 270 auf den ersten der N Werte in der Sequenz aus N Werten für den Auslassnockenphasensteller-Zielwinkel 270 einstellen. Während einer nächsten Steuerungsschleife identifiziert das MPC-Modul 360 mögliche Sequenzen, erzeugt die vorhergesagten Reaktionen der möglichen Sequenzen, bestimmt die Kosten für jede der möglichen Sequenzen, wählt eine der möglichen Sequenzen und stellt die Zielwerte 266-270 auf den ersten Satz der Zielwerte 266-270 in der gewählten möglichen Sequenz ein.
-
Das Beschränkungseinstellmodul 352 kann die Aktorbeschränkungen 364 einstellen. Allgemein kann das Beschränkungseinstellmodul 352 die Aktorbeschränkungen 364 für das Drosselklappenventil 112, das AGR-Ventil 170, das Ladedruckregelventil 162, den Einlassnockenphasensteller 148 und den Auslassnockenphasensteller 150 jeweils auf vorbestimmte akzeptable Bereiche einstellen. Das MPC-Modul 360 identifiziert die möglichen Sequenzen derart, dass die Zielwerte 266-270 innerhalb der jeweiligen Aktorbeschränkungen 364 bleiben.
-
Das Beschränkungseinstellmodul 352 kann unter bestimmten Umständen eine Aktorbeschränkung selektiv verstellen. Beispielsweise kann das Beschränkungseinstellmodul 352 die Aktorbeschränkung für einen gegebenen Kraftmaschinenaktor verstellen, um den Bereich möglicher Ziele für diesen Kraftmaschinenaktor einzuengen, wenn ein Fehler in diesem Kraftmaschinenaktor diagnostiziert wird. Nur als weiteres Beispiel kann das Beschränkungseinstellmodul 352 die Aktorbeschränkung derart verstellen, dass der Zielwert für einen gegebenen Aktor einem vorbestimmten Plan für eine Fehlerdiagnose folgt, etwa einer Nockenphasensteller-Fehlerdiagnose oder einer AGR-Diagnose.
-
Die erfassten Werte 368 können unter Verwendung von Sensoren gemessen oder beruhend auf einem oder mehreren Werten, die unter Verwendung eines oder mehrerer Sensoren gemessen wurden, bestimmt werden. Die tatsächliche Verbrennungsphasenlage 372 kann beispielsweise beruhend auf der tatsächlichen CA50 während einer vorherigen vorbestimmten Periode relativ zu der vorbestimmten CA50 bestimmt werden. Eine Verstellung der CA50 nach spät relativ zu der vorbestimmten CA50 während der vorbestimmten Periode kann anzeigen, dass zusätzliche Energie in das Abgassystem 134 eingegeben wurde. Das MPC-Modul 360 kann daher die Ladedruckregelventil-Zielöffnungsfläche 266 erhöhen, um der zusätzlichen Energie im Abgassystem 134 entgegenzuwirken. Andernfalls kann die zusätzliche Energie bewirken, dass die Verstärkung des Turboladers ansteigt.
-
Mit Bezug nun auf 4 ist ein Flussdiagramm dargestellt, das ein beispielhaftes Verfahren zum Steuern des Drosselklappenventils 112, des Einlassnockenphasenstellers 148, des Auslassnockenphasenstellers 150, des Ladedruckregelventils 162 und des AGR-Ventils 170 unter Verwendung einer MPC (Steuerung mit Vorhersagemodell) darstellt. Die Steuerung kann mit 404 beginnen, wobei das Drehmomentanforderungsmodul 224 die Luftdrehmomentanforderung 265 beruhend auf den verstellten vorhergesagten und unmittelbaren Drehmomentanforderungen 263 und 264 bestimmt.
-
Bei 408 kann das Drehmomentumwandlungsmodul 304 die Luftdrehmomentanforderung 265 in die Basisluftdrehmomentanforderung 308 oder in eine andere Art von Drehmoment umwandeln, die zur Verwendung durch das Einstellpunktmodul 312 geeignet ist. Bei 412 erzeugt das Einstellpunktmodul 312 die Einstellpunkte 318-332 beruhend auf der Basisluftdrehmomentanforderung 308 und der Kraftmaschinendrehzahl 316, welche den Einstellpunktbeschränkungen 348 unterworfen sind. Das Einstellpunktmodul 312 kann die Einstellpunkte 318-332 ferner beruhend auf dem Zylindermodus 340 und/oder der gewünschten Verbrennungsphasenlage 336 erzeugen.
-
Bei 416 erzeugt das MPC-Modul 360 die Zielwerte 266-270, welche den Aktorbeschränkungen 364 unterworfen sind, beruhend auf den Einstellpunkten 318-332 unter Verwendung der MPC. Insbesondere identifiziert das MPC-Modul 360, wie vorstehend beschrieben ist, mögliche Sequenzen der Zielwerte 266-270 und erzeugt vorhergesagte Reaktionen unter Verwendung des Modells 376. Das MPC-Modul 360 bestimmt außerdem Kosten für die möglichen Sequenzen beruhend auf den vorhergesagten Reaktionen, wählt eine der möglichen Sequenzen beruhend auf den Kosten und stellt die Zielwerte 266-270 beruhend auf den ersten der Zielwerte in der jeweiligen gewählten möglichen Sequenz ein.
-
Bei 420 wandelt das erste Umwandlungsmodul 272 die Ladedruckregelventil-Zielöffnungsfläche 266 in das Zieltastverhältnis 274 zur Anwendung auf das Ladedruckregelventil 162 um, und das zweite Umwandlungsmodul 276 wandelt die Drosselklappen-Zielöffnungsfläche 267 in das Zieltastverhältnis 278 zur Anwendung auf das Drosselklappenventil 112 um. Das dritte Umwandlungsmodul 280 wandelt bei 420 außerdem die AGR-Zielöffnungsfläche 268 in das Zieltastverhältnis 282 zur Anwendung auf das AGR-Ventil 170 um. Das vierte Umwandlungsmodul kann außerdem die Einlass- und Auslassnockenphasensteller-Zielwinkel 269 und 270 in die Einlass- und Auslass-Zieltastverhältnisse zur Anwendung auf die Einlass- und Auslassnockenphasensteller 148 bzw. 150 umwandeln.
-
Bei 424 steuert das Drosselklappenaktormodul 116 das Drosselklappenventil 112, um die Drosselklappen-Zielöffnungsfläche 267 zu erreichen, und das Phasenstelleraktormodul 158 steuert die Einlass- und Auslassnockenphasensteller 148 und 150, um die Einlass- und Auslassnockenphasensteller-Zielwinkel 269 bzw. 270 zu erreichen. Beispielsweise kann das Drosselklappenaktormodul 116 ein Signal an das Drosselklappenventil 112 mit dem Zieltastverhältnis 278 anlegen, um die Drosselklappen-Zielöffnungsfläche 267 zu erreichen. Bei 424 steuert auch das AGR-Aktormodul 172 das AGR-Ventil 170, um die AGR-Zielöffnungsfläche 268 zu erreichen, und das Verstärkungsaktormodul 164 steuert das Ladedruckregelventil 162, um die Ladedruckregelventil-Zielöffnungsfläche 266 zu erreichen. Beispielsweise kann das AGR-Aktormodul 172 ein Signal an das AGR-Ventil 170 mit dem Zieltastverhältnis 282 anlegen, um die AGR-Zielöffnungsfläche 268 zu erreichen, und das Verstärkungsaktormodul 164 kann ein Signal an das Ladedruckregelventil 162 mit dem Zieltastverhältnis 274 anlegen, um die Ladedruckregelventil-Zielöffnungsfläche 266 zu erreichen. Obwohl 4 so gezeigt ist, dass sie nach 424 endet, kann 4 eine Steuerungsschleife veranschaulichen und Steuerungsschleifen können mit einer vorbestimmten Rate ausgeführt werden.
-
Mit Bezug nun auf 5A ist ein Funktionsblockdiagramm einer beispielhaften MPC-Entwurfsvorrichtung 504 dargestellt. Ein oder mehrere Benutzer (z.B. Fahrzeugentwicklungsingenieure) erzeugen und entwerfen die Funktionalität des MPC-Moduls 360 unter Verwendung der MPC-Entwurfsvorrichtung 504.
-
Die MPC-Entwurfsvorrichtung 504 kann ein Modellierungsmodul 508 enthalten, das MPC-Daten 512 erzeugt, welche die Funktionalität des MPC-Moduls 360 beruhend auf einer Benutzereingabe 516 in die MPC-Entwurfsvorrichtung 504 erzeugen. Die Benutzereingabe 516 kann eine Benutzereingabe von einer Tastatur, einer Maus, einer Anzeige und/oder von einer oder mehreren anderen geeigneten Arten von Benutzereingabevorrichtungen umfassen. Obwohl die vorliegende Offenbarung mithilfe der Funktionalität des MPC-Moduls 360 erörtert werden wird, kann die vorliegende Offenbarung auch auf andere Arten von MPC-Controllern angewendet werden, welche MPC-Controller, welche zusätzliche und/oder andere Zielwerte für andere Kraftmaschinenaktoren bestimmen, MPC-Controller für Aktoren eines Getriebes, MPC-Controller eines Hybridfahrzeugs und andere Arten von MPC-Controller umfassen.
-
Der bzw. die Benutzer können beispielsweise einen Code zum Bestimmen der möglichen Sequenzen der Zielwerte 266-270, die den Aktorbeschränkungen 364 unterworfen sind, wenn die erfassten Werte 368 und die tatsächliche Verbrennungsphasenlage 372 gegeben ist, entwerfen, um die Einstellpunkte 318-332 zu erreichen. Der bzw. die Benutzer können außerdem das Modell 376, einen Code zum Bestimmen der vorhergesagten Reaktionen der Kraftmaschine 102 auf die jeweiligen identifizierten möglichen Sequenzen der Zielwerte 266-270 und einen Code zum Bestimmen der Kosten für jede der möglichen Sequenzen der Zielwerte 266-270 jeweils beruhend auf Beziehungen zwischen den Einstellpunkten 318-332 und den Vorhersagen entwerfen. Der bzw. die Benutzer können außerdem einen Code zum Bestimmen, wie stark jede Beziehung zwischen vorhergesagten Parametern und Einstellpunkten beim Bestimmen der Kosten gewichtet werden soll, einen Code zum Bestimmen, welcher Satz der möglichen Sequenzen der Zielwerte 266-270 verwendet werden soll, und einen Code zum Bereitstellen anderer Funktionen entwerfen. Der bzw. die Benutzer können außerdem andere Typen von Informationen einstellen, etwa kalibrierte Werte für Parameter/Variable, die von dem Code verwendet werden, Variablentypen (z.B. integer, float usw.).
-
Beruhend auf den MPC-Daten 512, die beruhend auf der Benutzereingabe 516 erzeugt wurden, erzeugt ein Codegeneratormodul 520 eine MPC.c Datei 524 und eine MPC.h-Datei 528. Die MPC.c-Datei 524 enthält einen Quellcode zum Bereitstellen der Funktionalität des MPC-Moduls 360 und enthält andere Daten. Die MPC.h-Datei 528 enthält verschiedene Daten, welche die MPC.c-Datei 524 unterstützen, etwa Variablendeklarationen und andere Arten von Daten. Dateien mit der Dateierweiterung .h können als Header-Dateien bezeichnet werden. Dateien mit der Dateierweiterung .c können als Code-Dateien bezeichnet werden.
-
Beispielsweise enthält die MPC.c-Datei 524 einen Code zum Bestimmen der möglichen Sequenzen der Zielwerte 266-270, die den Aktorbeschränkungen 364 unterworfen sind, wenn die erfassten Werte 368 und die tatsächlichen Verbrennungsphasenlage 372 gegeben sind, um die Einstellpunkte 318-332 zu erreichen. Die MPC.c-Datei 524 enthält außerdem einen Code für das Modell 376, einen Code zum Bestimmen der vorhergesagten Reaktionen der Kraftmaschine 102 auf die identifizierten möglichen Sequenzen der jeweiligen Zielwerte 266-270, einen Code zum Bestimmen der Kosten für jede der möglichen Sequenzen der Zielwerte 266-270 beruhend auf jeweiligen Beziehungen zwischen den Einstellpunkten 318-332 und den Vorhersagen, einen Code zum Bestimmen, wie viel jede Beziehung zwischen vorhergesagten Parametern und Einstellpunkten beim Bestimmen der Kosten gewichtet werden soll, einen Code zum Bestimmen, welcher Satz der möglichen Sequenzen der Zielwerte 266-270 verwendet werden soll, und einen Code zum Ausführen von anderen Funktionen des MPC-Moduls 360.
-
Wie in 5A gezeigt ist, kann das Codegeneratormodul 520 beruhend auf der Benutzereingabe 516 außerdem eine separate Datei erzeugen, die MPC-Kalibrierungsdaten 532 enthält. Beispielsweise kann das Codegeneratormodul 520 eine Datei erzeugen, etwa eine Datei mit durch Kommas getrennten Werten (CSV-Datei), welche die MPC-Kalibrierungsdaten 532 enthält. Die MPC-Kalibrierungsdaten 532 enthalten vom Benutzer eingestellte Werte für Parameter, die von dem Code der MPC.c-Datei 524 verwendet werden. Beispielsweise kann der Code, der in der MPC.c-Datei 524 gespeichert ist, verschiedene Parameter aufrufen, und die Werte dieser Parameter sind in den MPC-Kalibrierungsdatei 532 gespeichert. Die kalibrierten Werte können in der Form von Werten, die durch Kommas getrennt sind oder als durch Kommas getrennte Werte vorliegen.
-
Wie in 5B gezeigt ist, kann das Codegeneratormodul 520 stattdessen eine MPC.h-Datei 536 erzeugen, die sowohl die Daten, die in der MPC.h-Datei 528 enthalten sind, als auch die MPC-Kalibrierungsdaten 532 enthält. Ein Parser-Modul 538 kann die MPC.h-Datei 536 analysieren, um die MPC-Kalibrierungsdaten 532 zu identifizieren und die MPC.h-Datei 536 in die MPC.h-Datei 528 und in eine Datei, die die MPC-Kalibrierungsdaten 532 enthält, aufzuteilen. Nur als Beispiel kann das Parser-Modul 538 in der MPC.h-Datei 536 gespeicherte Werte identifizieren (die den MPC-Kalibrierungsdaten 532 entsprechen), eine weitere Datei für die MPC-Kalibrierungsdaten 532 erzeugen und die Werte in die Datei für die MPC-Kalibrierungsdaten 532 verschieben.
-
Mit Bezug nun auf 5A und 5B kann die MPC-Entwurfsvorrichtung 504 ein Compilermodul 540 enthalten, und es enthält einen Eingabe/Ausgabe-Anschluss (I/O-Anschluss) 544. Die MPC-Entwurfsvorrichtung 504 kommuniziert mit der MPC-Entwurfsvorrichtung 504 über den I/O-Anschluss 544 und einen I/O-Anschluss des Fahrzeugs. Zum Beispiel kann die MPC-Entwurfsvorrichtung 504 mithilfe eines Kabels kommunizieren, das zwischen dem I/O-Anschluss 544 und dem I/O-Anschluss des Fahrzeugs verbunden ist.
-
Das Compilermodul 540 kompiliert die MPC.c-Datei 524 und die MPC.h-Datei 528, um eine Objektdatei zu erzeugen (die einen Objektcode enthält, der beruhend auf der MPC.c-Datei 524 und der MPC.h-Datei 528 erzeugt wurde), die zur Ausführung und Verwendung durch das ECM 114 geeignet ist. Obwohl das Parser-Modul 538 so gezeigt und erörtert ist, dass es die MPC.h-Datei 528 analysiert, bevor das Compilermodul 540 die Kompilierung ausführt, kann das Analysieren der MPC.h-Datei und die Überführung der MPC-Kalibrierungsdaten 532 in eine getrennte Datei ausgeführt werden, nachdem die Kompilierung ausgeführt wurde. Der Objektcode und die MPC-Kalibrierungsdaten 532 werden getrennt gespeichert, wie nachstehend weiter erörtert wird.
-
Mit Bezug nun auf 6 ist ein Funktionsblockdiagramm eines beispielhaften Abschnitts des ECM 114 dargestellt, der dem MPC-Modul 360 entspricht. Das ECM 114 enthält ein oder mehrere konkrete computerlesbare Medien, etwa einen Speicher 604. Das Compilermodul 540 kann einen MPC-Objektcode 602 und die MPC-Kalibrierungsdaten 532 in dem Speicher 604 oder in einem anderen geeigneten konkreten computerlesbaren Medium speichern. Der MPC-Objektcode 602 resultiert aus dem Kompilieren der MPC.c-Datei 524 und der MPC.h-Datei 528 und enthält einen Objektcode, der auf der Grundlage der MPC.c-Datei 524 und der MPC.h-Datei 528 erzeugt wurde.
-
Das Fahrzeug enthält einen ersten I/O-Anschluss 606 und die MPC-Entwurfsvorrichtung 504 kann mit dem Fahrzeug über den ersten I/O-Anschluss 606 kommunizieren. Der erste I/O-Anschluss 606 kann beispielsweise einen Assembly-Line-Diagnostic-Link-Anschluss (ALDL-Anschluss) oder einen I/O-Anschluss, der kompatibel zu der Onboard-Diagnose (OBD) ist, umfassen. Beispielsweise kann die MPC-Entwurfsvorrichtung 504 mit dem Fahrzeug über ein Kabel kommunizieren, das zwischen der MPC-Entwurfsvorrichtung 504 und dem ersten I/O-Anschluss 606 verbunden ist.
-
Das Compilermodul 540 aktualisiert eine MPC-Codekennung 608 beruhend auf einer Version oder einer Kennung der MPC.c-Datei 524 und der MPC.h-Datei 528 (oder des MPC-Objektcodes 602), wenn der MPC-Objektcode 602 gespeichert wird. Das Compilermodul 540 aktualisiert außerdem eine MPC-Kalibrierungskennung 612 beruhend auf einer Version oder einer Kennung der MPC-Kalibrierungsdaten 532, wenn die MPC-Kalibrierungsdaten 532 gespeichert werden.
-
Das ECM 114 enthält einen oder mehrere Prozessoren, etwa einen Prozessor 616, der bzw. die den Objektcode ausführen, um die Funktionalität des ECM 114 bereitzustellen. Um die Funktionen des MPC-Moduls 360 auszuführen, führt der Prozessor 616 beispielsweise den MPC-Objektcode 602 unter Verwendung von Werten aus, die in den MPC-Kalibrierungsdaten 532 gespeichert sind. Obwohl die vorliegende Offenbarung mithilfe der Verwendung nur des Prozessors 616 beschrieben wird, kann die Funktionalität des MPC-Moduls 360 bei verschiedenen Implementierungen durch eine Kombination aus zwei oder mehr Prozessoren bereitgestellt werden.
-
Der MPC-Objektcode 602 enthält einen Objektcode, der von dem Prozessor 616 ausgeführt wird, um die Funktionalität des MPC-Moduls 360 bereitzustellen. Beispielsweise enthält der MPC-Objektcode 602 einen Objektcode zum Bestimmen der möglichen Sequenzen der Zielwerte 266-270, die den Aktorbeschränkungen 364 unterworfen sind, wenn die erfassten Werte 368 und die tatsächliche Verbrennungsphasenlage 372 gegeben sind, um die Einstellpunkte 318, 332 zu erreichen. Der MPC-Objektcode 602 enthält außerdem einen Objektcode für das Modell 376, einen Objektcode zum Bestimmen der vorhergesagten Reaktionen der Kraftmaschine 102 auf die jeweiligen identifizierten möglichen Sequenzen der Zielwerte 266-270, einen Objektcode zum Bestimmen der Kosten für jede der möglichen Sequenzen der Zielwerte 266-270 beruhend auf jeweiligen Beziehungen zwischen den Einstellpunkten 318-332 und den Vorhersagen, einen Objektcode zum Bestimmen, wie stark jede Beziehung aus vorhergesagten Parametern und Einstellpunkten beim Bestimmen der Kosten gewichtet werden soll, einen Objektcode zum Bestimmen, welcher Satz der möglichen Sequenzen der Zielwerte 266-270 verwendet werden soll und einen Objektcode zum Bereitstellen von anderen Funktionen, die von dem MPC-Modul 360 bereitgestellt werden.
-
Die MPC-Kalibrierungsdaten 532 enthalten kalibrierte Werte für Parameter, die von dem MPC-Objektcode 602 verwendet werden. Beispielsweise kann der MPC-Objektcode 602 verschiedene kalibrierte Parameter abrufen und die Werte dieser kalibrierten Parameter sind in den MPC-Kalibrierungsdaten 532 gespeichert. Nur als Beispiel enthalten die MPC-Kalibrierungsdaten 532 kalibrierte Werte für Parameter, die von dem MPC-Objektcode 602 abgerufen werden, um die möglichen Sequenzen der Zielwerte 266-270 zu bestimmen, kalibrierte Werte für die Parameter, die von dem MPC-Objektcode 602 für das Modell 376 abgerufen werden, und kalibrierte Werte für die Parameter, die von dem MPC-Objektcode 602 zum Bestimmen der jeweiligen vorhergesagten Reaktionen der Kraftmaschine 102 auf die identifizierten möglichen Sequenzen der Zielwerte 266-270 abgerufen werden. Die MPC-Kalibrierungsdaten 532 enthalten außerdem kalibrierte Werte für die Parameter, die von dem MPC-Objektcode 602 zum Bestimmen der Kosten für jede der möglichen Sequenzen der Zielwerte 266-270 abgerufen werden, kalibrierte Werte für die Parameter, die von dem MPC-Objektcode 602 zum Bestimmen, wie stark jede Beziehung aus vorhergesagten Parametern und Einstellpunkten beim Bestimmen der Kosten gewichtet werden soll, abgerufen werden, und kalibrierte Werte für die Parameter, die von dem MPC-Objektcode 602 zum Bestimmen, welcher Satz der möglichen Sequenzen der Zielwerte 266-270 verwendet werden soll, abgerufen werden.
-
Das Compilermodul 540 speichert die MPC-Kalibrierungsdaten 532 in einem Kalibrierungsabschnitt des Speichers 604. Der MPC-Objektcode 602 wird getrennt von den MPC-Kalibrierungsdaten 532 gespeichert. Der Kalibrierungsabschnitt kann von einem anderen Abschnitt des Speichers 604 abgetrennt sein, in dem die MPC.c-Datei 524 und die MPC.h-Datei 528 gespeichert sind. Der Kalibrierungsabschnitt des Speichers 604 ist lesbar und wiederbeschreibbar. Beispielsweise kann der Kalibrierungsabschnitt des Speichers 604 durch externe Vorrichtungen lesbar und wiederbeschreibbar sein, die mit dem Fahrzeug kommunizieren, etwa eine Wartungsvorrichtung und eine Kalibrierungsvorrichtung, wie nachstehend weiter erörtert wird.
-
Auch der Abschnitt des Speichers 604, in dem der MPC-Objektcode 602 gespeichert ist, kann lesbar und wiederbeschreibbar sein. Beispielsweise kann der MPC-Objektcode 602 durch eine Wartungsvorrichtung und eine Kalibrierungsvorrichtung lesbar und wiederbeschreibbar sein. Jedoch ist der MPC-Objektcode 602 relativ zu den MPC-Kalibrierungsdaten 532 groß. Folglich erfordert das Lesen und Wiederbeschreiben des MPC-Objektcodes 602 eine viel längere Zeitspanne als bei den MPC-Kalibrierungsdaten 532, welche vollständig oder teilweise schnell aktualisiert werden können.
-
Anstatt die MPC-Kalibrierungsdaten 532 separat zu speichern, können sie innerhalb der MPC.h-Datei 528 gespeichert werden. Wenn die MPC-Kalibrierungsdaten 532 jedoch in der MPC.h-Datei 528 gespeichert würden, müssten die MPC.c-Datei 524 und die MPC.h-Datei 528 erneut kompiliert werden und der resultierende MPC-Objektcode müsste jedes Mal erneut im Speicher 604 gespeichert werden, wenn die MPC-Kalibrierungsdaten 532 geändert werden. Die Notwendigkeit zum erneuten Kompilieren der MPC.c-Datei 524 und der MPC.h-Datei 528 und das erneute Speichern des resultierende MPC-Objektcodes jedes Mal, wenn die MPC-Kalibrierungsdaten 532 geändert werden, ist zeit- und ressourcenaufwendig.
-
Da die MPC-Kalibrierungsdaten 532 in dem Kalibrierungsabschnitt des Speichers 604 gespeichert werden, der lesbar und wiederbeschreibbar ist, können die MPC-Kalibrierungsdaten 532 nach Wunsch betrachtet und aktualisiert werden. Die MPC-Kalibrierungsdaten 532 können sowohl in Fahrzeugen aus der Produktion als auch in Entwicklungsfahrzeugen aktualisiert werden.
-
Fahrzeuge aus der Produktion umfassen Fahrzeuge, die von einem Fahrzeughersteller produziert werden und zur Verwendung in der Öffentlichkeit gedacht sind. Entwicklungsfahrzeuge umfassen Fahrzeuge, die von einem Fahrzeughersteller verwendet werden, um die MPC-Kalibrierungsdaten 532 zu kalibrieren und einzustellen, die bei Fahrzeugen aus der Produktion verwendet werden. Zusätzlich zu dem ersten I/O-Anschluss 606 enthalten Entwicklungsfahrzeuge auch einen zweiten I/O-Anschluss 618. Der zweite I/O-Anschluss 618 kann beispielsweise einen Ethernet-Anschluss oder eine andere geeignete Art von I/O-Anschluss umfassen. Fahrzeuge aus der Produktion enthalten den zweiten I/O-Anschluss 618 nicht.
-
Eine Kalibrierungsvorrichtung 620 kann während der Fahrzeugentwicklung verwendet werden und sie kann mit dem ECM 114 über den zweiten I/O-Anschluss 618 kommunizieren. Beispielsweise kann die Kalibrierungsvorrichtung 620 mit dem ECM 114 über ein Kabel kommunizieren, das zwischen der Kalibrierungsvorrichtung 620 und dem zweiten I/O-Anschluss 618 verbunden ist. Die Kalibrierungsvorrichtung 620 umfasst eine oder mehrere Benutzer-I/O-Vorrichtungen, etwa eine Anzeige (die eine berührungsempfindliche Anzeige sein kann) 622, eine Tastatur, eine Zeigevorrichtung, einen Trackball, Knöpfe, Schalter usw.
-
Die Kalibrierungsvorrichtung 620 aktualisiert selektiv die MPC-Kalibrierungsdaten 532 durch einen (anderen) Satz der MPC-Kalibrierungsdaten, der in der Kalibrierungsvorrichtung 620 gespeichert ist, in Ansprechen auf eine Benutzereingabe in die Kalibrierungsvorrichtung 620. Die Kalibrierungsvorrichtung 620 kann einen oder mehrere unterschiedliche Sätze von MPC-Kalibrierungsdaten enthalten, die in der Kalibrierungsvorrichtung 620 gespeichert sind.
-
Jedes Mal, wenn die MPC-Kalibrierungsdaten 532 aktualisiert werden, aktualisiert die Kalibrierungsvorrichtung 620 die MPC-Kalibrierungskennung 612 beruhend auf einer Version/einer Kennung des Satzes von MPC-Kalibrierungsdaten, die dann im Speicher 604 gespeichert wird. Das Betreiben von Entwicklungsfahrzeugen mit verschiedenen unterschiedlichen Sätzen der MPC-Kalibrierungsdaten kann ermöglichen, dass ein Satz der MPC-Kalibrierungsdaten zur Verwendung bei Fahrzeugen aus der Produktion identifiziert wird.
-
Eine Wartungsvorrichtung 624 kann mit dem ECM 114 über den ersten I/O-Anschluss 606 kommunizieren. Beispielsweise kann die Wartungsvorrichtung 624 mit dem ECM 114 über ein Kabel kommunizieren, das zwischen der Wartungsvorrichtung 624 und dem ersten I/O-Anschluss 606 verbunden ist. Die Wartungsvorrichtung 624 enthält eine oder mehrere Benutzer-IO-Vorrichtungen, etwa eine Anzeige (die eine berührungsempfindliche Anzeige sein kann), eine Tastatur, eine Zeigervorrichtung, einen Trackball, Knöpfe, Schalter usw.
-
Die Wartungsvorrichtung 624 kann beispielsweise die MPC-Kalibrierungskennung 612 lesen und feststellen, ob sich die MPC-Kalibrierungskennung 612 von einer vorbestimmten Kennung für einen neusten Satz von MPC-Kalibrierungsdaten, der für das Fahrzeug verfügbar ist, unterscheidet. Wenn sich die MPC-Kalibrierungskennung 612 von der vorbestimmten Kennung des neusten Satzes der MPC-Kalibrierungsdaten für das Fahrzeug unterscheidet, kann die Wartungsvorrichtung 624 den neusten Satz von MPC-Kalibrierungsdaten für das Fahrzeug an die Wartungsvorrichtung 624 herunterladen. Die Wartungsvorrichtung 624 kann die MPC-Kalibrierungsdaten 532 mit dem neusten Satz der MPC-Kalibrierungsdaten für das Fahrzeug aktualisieren und die MPC-Kalibrierungskennung 612 beruhend auf der vorbestimmten Kennung aktualisieren. Auf diese Weise können die in dem Fahrzeug gespeicherten MPC-Kalibrierungsdaten 532 leicht nach dem Verkauf aktualisiert werden, ohne dass auch der MPC-Objektcode 602 aktualisiert werden muss. Jedoch wird auch die MPC-Codekennung 608 jedes Mal aktualisiert, wenn der MPC-Objektcode 602 aktualisiert wird.
-
Mit Bezug nun auf 7A ist ein Flussdiagramm dargestellt, das ein beispielhaftes Verfahren zum Erzeugen und Speichern des MPC-Objektcodes 602 und der MPC-Kalibrierungsdaten 532 darstellt, das von der MPC-Entwurfsvorrichtung 504 ausgeführt werden kann. Bei 704 empfängt das Modellierungsmodul 508 die Benutzereingabe 516, um das MPC-Modul 360 zu erzeugen, und erzeugt die MPC-Daten 512.
-
Bei 708 kann das Codegeneratormodul 520 Benutzereingabedaten identifizieren, die den MPC-Kalibrierungsdaten 532 entsprechen. Das Codegeneratormodul 520 erzeugt bei 712 die MPC.c-Datei 524, die MPC.h-Datei 528 und die Datei, welche die MPC-Kalibrierungsdaten 532 enthält. Bei 716 kompiliert das Compilermodul 540 die MPC.c-Datei 524 und die MPC.h-Datei 528, um den MPC-Objektcode 602 zu erzeugen. Bei 720 speichert das Compilermodul 540 den MPC-Objektcode 602 in dem Speicher 604 des ECM 114. Außerdem speichert das Compilermodul 540 bei 720 die MPC-Kalibrierungsdaten 532 separat von dem MPC-Objektcode 602 in dem Speicher 604 des ECM 114. Nach dem Speichern führt der Prozessor 616 den MPC-Objektcode 602 unter Verwendung der MPC-Kalibrierungsdaten 532 aus, um die Zielwerte 266-270 zu erzeugen.
-
Mit Bezug nun auf 7B ist ein anderes Flussdiagramm dargestellt, das ein beispielhaftes Verfahren zum Erzeugen und Speichern des MPC-Objektcodes 602 und der MPC-Kalibrierungsdaten 532 darstellt, das von der MPC-Entwurfsvorrichtung 504 ausgeführt werden kann. Bei 804 empfängt das Modellierungsmodul 508 die Benutzereingabe 516 zum Erzeugen des MPC-Moduls 360 und es erzeugt die MPC-Daten 512.
-
Bei 808 erzeugt das Codegeneratormodul 520 die MPC.c-Datei 524 und die MPC.h-Datei 536 beruhend auf der Benutzereingabe 516. Die MPC.h-Datei 536 enthält die MPC-Kalibrierungsdaten 532. Das Parser-Modul 538 identifiziert bei 512die MPC-Kalibrierungsdaten 532, die in der MPC.h-Datei 536 gespeichert sind. Beispielsweise kann das Parser-Modul 538 die Werte identifizieren, die den MPC-Kalibrierungsdaten 532 entsprechen, die in der MPC.h-Datei 536 gespeichert sind. Bei 816 überträgt das Parser-Modul 538 die MPC-Kalibrierungsdaten 532 von der MPC.h-Datei 536 in eine separate Datei, um die MPC.h-Datei 538 und eine separate Datei zu erzeugen, welche die MPC-Kalibrierungsdaten 532 enthält.
-
Das Compilermodul 540 kompiliert die MPC.c-Datei 524 und die MPC.h-Datei 528 bei 820, um den MPC-Objektcode 602 zu erzeugen. Bei 824 speichert das Compilermodul 540 den MPC-Objektcode 602 in dem Speicher 604 des ECM 114. Außerdem speichert das Compilermodul 540 bei 720 die MPC-Kalibrierungsdaten 532, separat von dem MPC-Objektcode 602 in dem Speicher 604 des ECM 114. Nach dem Speichern führt der Prozessor 616 den MPC-Objektcode 602 unter Verwendung der MPC-Kalibrierungsdaten 532 aus, um die Zielwerte 266-270 zu erzeugen.
-
Die vorstehende Beschreibung ist nur beispielhaft und ist keinesfalls dazu gedacht, die Offenbarung, ihre Anwendung oder Verwendungsmöglichkeiten einzuschränken. Die weit gefassten Lehren der Offenbarung können in einer Vielfalt von Formen implementiert werden. Obwohl diese Offenbarung spezielle Beispiele enthält, soll daher der tatsächliche Umfang der Offenbarung nicht darauf begrenzt sein, da sich bei einem Studium der Zeichnungen, der Beschreibung und der folgenden Ansprüche andere Modifikationen offenbaren werden. Bei der Verwendung hierin soll der Ausdruck A, B und/oder C so aufgefasst werden, dass er ein logisches (A oder B oder C) unter Verwendung eines nicht exklusiven logischen Oder bedeutet. Es versteht sich, dass ein oder mehrere Schritte in einem Verfahren in einer anderen Reihenfolge (oder gleichzeitig) ausgeführt werden können, ohne die Prinzipien der vorliegenden Offenbarung zu verändern.
-
In dieser Anmeldung einschließlich der nachstehenden Definitionen kann der Begriff „Modul“ durch den Begriff „Schaltung“ ersetzt werden. Der Begriff Modul kann eine anwendungsspezifische integrierte Schaltung (ASIC), eine digitale, analoge oder gemischt analog/digitale diskrete Schaltung, eine digitale, analoge oder gemischt analog/digitale integrierte Schaltung, eine kombinatorische Logikschaltung, ein im Feld programmierbares Gatearray (FPGA), einen Prozessor (gemeinsam genutzt, dediziert, oder Gruppe), der einen Code ausführt, Speicher (gemeinsam genutzt, dediziert oder Gruppe), der einen Code speichert, der von einem Prozessor ausgeführt wird, andere geeignete Hardwarekomponenten, welche die beschriebene Funktionalität bereitstellen, oder eine Kombination aus einer oder allen vorstehenden, etwa bei einem System-On-Chip bezeichnen, ein Teil davon sein oder diese enthalten.
-
Der Begriff Code kann, so wie vorstehend verwendet wird, Software, Firmware und/oder Mikrocode umfassen und kann Programme, Routinen, Funktionen, Klassen und/oder Objekte bezeichnen. Der Begriff gemeinsam genutzter Prozessor umfasst einen einzigen Prozessor, der einen Teil oder den gesamten Code von mehreren Modulen ausführt. Der Begriff Gruppenprozessor umfasst einen Prozessor, der in Kombination mit zusätzlichen Prozessoren einen Teil oder den gesamten Code von einem oder mehreren Modulen ausführt. Der Begriff gemeinsam genutzter Speicher umfasst einen einzigen Speicher, der einen Teil oder den gesamten Code von mehreren Modulen speichert. Der Begriff Gruppenspeicher umfasst einen Speicher, der in Kombination mit zusätzlichen Speichern einen Teil oder den gesamten Code von einem oder mehreren Modulen speichert. Der Begriff Speicher kann eine Teilmenge des Begriffs computerlesbares Medium sein. Der Begriff computerlesbares Medium umfasst keine vorübergehenden elektrischen und elektromagnetischen Signale, die sich durch ein Medium hindurch ausbreiten, und kann daher als konkret und nicht vorübergehend betrachtet werden. Beispiele ohne Einschränkung für ein nicht vorübergehendes konkretes computerlesbares Medium umfassen nicht flüchtigen Speicher, flüchtigen Speicher, magnetischen Massenspeicher und optischen Massenspeicher.
-
Die in dieser Anmeldung beschriebenen Vorrichtungen und Verfahren können teilweise oder vollständig durch ein oder mehrere Computerprogramme implementiert sein, die von einem oder mehreren Prozessoren ausgeführt werden. Die Computerprogramme enthalten von einem Prozessor ausführbare Anweisungen, die in mindestens einem nicht vorübergehenden konkreten computerlesbaren Medium gespeichert sind. Die Computerprogramme können auch gespeicherte Daten enthalten und/oder sich darauf stützen.