-
Die vorliegende Erfindung betrifft ein Motorsystem gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 7 zur Kompensation von Störungen in einem Kurbelwellensignal.
-
Fahrzeuge umfassen einen Verbrennungsmotor, die Antriebsdrehmoment erzeugt. Insbesondere saugt der Motor Luft an und vermischt die Luft mit Kraftstoff, um eine Verbrennungsmischung zu bilden. Die Verbrennungsmischung wird komprimiert und gezündet, um Kolben anzutreiben, die in den Zylindern angeordnet sind. Die Kolben treiben eine Kurbelwelle drehend an, welche ein Antriebsdrehmoment an ein Getriebe und Räder überträgt.
-
Auf der Grundlage der Rotation der Kurbelwelle wird ein Kurbelwellensignal erzeugt. Ein Steuerungsmodul ermittelt aus dem Kurbelwellensignal eine Motorstellung und eine Motordrehzahl. Die Motorstellung und die Motordrehzahl werden verwendet, um ein oder mehrere Untersysteme in dem Fahrzeug zu steuern. Störungen in dem Kurbelwellensignal können ungenaue Berechnungen der Motordrehzahl und der Motorstellung verursachen und können daher bewirken, dass ein oder mehrere Fahrzeuguntersysteme ineffizient arbeiten.
-
Die
DE 197 33 958 A1 offenbart ein Verfahren und eine Vorrichtung zur Korrektur von Toleranzen eines an einer Kurbelwelle angeordneten Geberrads, bei denen auf dem Geberrad vorgesehene Markierungen abgetastet und eine Segmentzeit zwischen zwei aufeinanderfolgenden Markierungen ermittelt wird. Die so erfassten Segmentzeiten werden gemittelt und es werden Abweichungen der einzelnen Segmentzeiten vom Mittelwert bestimmt und als Korrekturwerte zur Kompensation von Geberradfehlern herangezogen.
-
In der
DE 196 22 042 C2 ist ein Verfahren zum Erkennen und Korrigieren von Fehlern bei der Segmentzeitmessung an sich drehenden Wellen offenbart, bei dem die Segmentzeit eines Bezugssegments eines Bezugszylinders einer Brennkraftmaschine gemessen wird, Segmentzeiten aller Zylinder nacheinander gemessen werden, je Zylinder ein Korrekturwert unter Berücksichtigung der Kraftmaschinendrehzahl ermittelt wird sowie diese Korrekturwerte gemittelt werden und der Mittelwert zur Korrektur der tatsächlich gemessenen Segmentzeiten verwendet wird.
-
Die
DE 102 17 560 B4 offenbart ein Verfahren zur Bestimmung und Kompensation von Geometriefehlern eines Drehgeberrades, das die gegenseitige Kompensation von Gas- und Massenmomenten in einer Brennkraftmaschine bei bestimmten Drehzahlbereichen nutzt, um die Geometriefehler unter Verwendung einer Stellungsgleichung zu bestimmen.
-
In der
DE 101 07 892 B4 ist ein Verfahren zur Identifikation eines Geberradfehlers im Fahrbetrieb offenbart, das für jedes Segment einen drehzahlunabhängigen Korrekturwert ausgehend von der kinetischen Energie und der Winkelgeschwindigkeit der Kurbelwelle ermittelt.
-
Die der Problemstellung zugrunde liegende Aufgabe wird mit den Merkmalen der Ansprüche 1 oder 7 gelöst.
-
Entsprechend wird ein Motorsystem bereitgestellt, das Störungen in einem Kurbelwellensignal kompensiert. Das System umfasst: ein Fehlermodul, das einen Fehler zwischen einer idealen Zeitspanne und einer tatsächlichen Zeitspanne eines Kurbelwellensignals berechnet; ein Korrekturfaktormodul, das einen Korrekturfaktor auf der Grundlage des Fehlers ermittelt; und ein Kompensationsmodul, das den Korrekturfaktor auf die tatsächliche Zeitspanne des Kurbelwellensignals anwendet.
-
Gemäß anderen Merkmalen ist ein Verfahren zur Kompensation von Störungen in einem Kurbelwellensignal bereitgestellt. Das Verfahren umfasst: Ermitteln einer tatsächlichen Zeitspanne, einer Winkelgeschwindigkeit und einer Winkelbeschleunigung für K Bezugszeitspannen aus einem Kurbelwellenstellungssignal; Berechnen einer idealen Rotationszeitspanne auf der Grundlage der tatsächlichen Zeitspanne, der Winkelgeschwindigkeit und der Winkelbeschleunigung für die K Bezugszeitspannen; Erzeugen eines Fehlerterms für jede der K Bezugszeitspannen auf der Grundlage der idealen Zeitspanne und der entsprechenden tatsächlichen Zeitspanne; und Anwenden des Fehlerterms auf die entsprechende tatsächliche Zeitspanne, um Störungen in dem Kurbelwellensignal zu kompensieren.
-
Weitere Anwendungsgebiete werden aus der hierin bereitgestellten Beschreibung offenbar. Es sollte verstanden sein, dass die Beschreibung und spezielle Beispiele nur zu Darstellungszwecken gedacht sind und nicht dazu gedacht sind, den Schutzumfang der vorliegenden Offenbarung zu beschränken.
-
ZEICHNUNGEN
-
Die hierin beschriebenen Zeichnungen dienen nur Darstellungszwecken und sind nicht dazu gedacht, den Schutzumfang der vorliegenden Offenbarung auf irgendeine Weise zu beschränken.
-
1 ist ein Funktionsblockdiagramm eines Motorsystems.
-
2 ist ein Diagramm, das ein Kurbelwellenrad darstellt.
-
3 ist ein Datenflussdiagramm, das ein System zur Kompensation von Kurbelwellensignalstörungen darstellt.
-
4 ist ein Flussdiagramm, das ein Verfahren zur Kompensation von Störungen in einem Kurbelwellensignal darstellt, das von dem Motorsystem empfangen wird.
-
5 ist ein Flussdiagramm, das ein Verfahren zur Aufnahme tatsächlicher Daten darstellt.
-
GENAUE BESCHREIBUNG
-
Der Begriff Modul bezieht sich auf eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder Gruppe) und einen Speicher, die ein oder mehrere Software- oder Firmwareprogramme ausführen, eine Schaltungslogikschaltung und/oder andere geeignete Komponenten welche die beschriebene Funktionalität bereitstellen.
-
Nun auf 1 Bezug nehmend umfasst ein Motorsystem 10 einen Motor 12, die ein Luft- und Kraftstoffgemisch verbrennt, um ein Antriebsdrehmoment zu erzeugen. Luft wird durch eine Drossel 16 in einen Ansaugkrümmer 14 angesaugt. Die Drossel 16 regelt einen Luftmassenstrom in den Ansaugkrümmer 14. Luft in dem Ansaugkrümmer 14 wird in Zylinder 18 verteilt. Obwohl vier Zylinder 18 dargestellt sind, ist festzustellen, dass der Motor mehrere Zylinder aufweisen kann, welche umfassen, aber nicht beschränkt sind auf 2, 3, 5, 6, 8, 10, 12 und 16 Zylinder. Es ist auch festzustellen, dass die Zylinder (wie gezeigt) in einer Reihenkonfiguration oder in einer V-förmigen Konfiguration konfiguriert sein können.
-
Ein (nicht gezeigter) Kraftstoffinjektor injiziert Kraftstoff, der mit der Luft kombiniert wird, während sie durch einen Einlassanschluss in den Zylinder 18 angesaugt wird. Ein Einlassventil 22 öffnet und schlieft sich selektiv, um es dem Luft/Kraftstoffgemisch zu ermöglichen, in den Zylinder 18 einzutreten. Die Einlassventilstellung wird durch eine Einlassnockenwelle 24 geregelt. Ein (nicht gezeigter) Kolben komprimiert das Luft/Kraftstoffgemisch in dem Zylinder 18. Eine Zündkerze 26 leitet eine Verbrennung des Luft/Kraftstoffgemisches ein, wodurch der Kolben in dem Zylinder 18 angetrieben wird. Der Kolben treibt eine (nicht gezeigte) Kurbelwelle an, um Antriebsdrehmoment zu erzeugen. Verbrennungsabgas in dem Zylinder 18 wird durch einen Auslasskrümmer 28 hinausgedrängt, wenn sich ein Auslassventil 30 in einer geöffneten Stellung befindet. Die Auslassventilstellung wird durch eine Auslassnockenwelle 32 geregelt. Das Abgas wird in einem Abgassystem behandelt. Obwohl einzelne Einlass- und Auslassventile 22, 30 dargestellt sind, ist festzustellen, dass der Motor 12 pro Zylinder 18 mehrere Einlass- und Auslassventile 22, 30 umfassen kann.
-
Die Auslassnockenwelle 32 und die Einlassnockenwelle 24 sind mit der (nicht gezeigten) Kurbelwelle über Kettenräder und eine Steuerkette (nicht gezeigt) gekoppelt. Das Motorsystem 10 gibt ein Kurbelwellensignal 34 an ein Steuerungsmodul 40 aus. Auf der Grundlage des Kurbelwellensignals ermittelt das Steuerungsmodul eine Motordrehzahl in Umdrehungen pro Minute (U/min). Das Kurbelwellensignal 34 wird erzeugt, indem die Rotation eines Rads 36 erfasst wird, das mit der Kurbelwelle gekoppelt ist. Das Rad 36 umfasst mehrere äquidistant beabstandete Zähne. Ein Radsensor 38 erfasst die Zähne des Rads und erzeugt das Kurbelwellensignal 34 in einer periodischen Form. Das Steuerungsmodul 40 dekodiert das Kurbelwellensignal 34 auf eine spezielle Zahnzahl des Rads 36. Eine Kurbelwellenstellung wird aus der decodierten Zahnzahl des Rads 36 ermittelt. Die Motordrehzahl wird aus dem Zeitbetrag ermittelt, den ein Zahn benötigt, um eine Umdrehung abzuschließen.
-
Insbesondere wird in 2 ein beispielhaftes Rad gezeigt, das bei einem Achtzylindermotor in V-Form verwendet wird. Achtundfünfzig Zähne sind entlang des äußeren Umfangs des Rads 36 äquidistant beabstandet. Ein Spalt 50 zwischen zwei der achtundfünfzig Zähne dient als ein Drehungsbezugspunkt für den Sensor 38. Insbesondere kann der Spalt 50 mit einer Drehstellung der Kurbelwelle relativ zu einer Stellung eines Kolbens in einem Zylinder verknüpft sein. Beispielsweise kann der Übergang 52 von niedrig zu hoch in dem Spalt 50 anzeigen, dass sich ein spezieller Kolben in dem jeweiligen Zylinder an dem oberen Totpunkt (TDC, TDC von top dead center) befindet.
-
Jeder Zahn entspricht einer Drehung der Kurbelwelle um 6 Grad. Die Bezugszeitspannen 54–60 sind für definierte Bezugswinkel (θ) mit Bezug auf dreihundertsechzig Grad des Rads 36 erzeugt. Die Anzahl von Bezugszeitspannen 54–60 bei einer einzelnen Drehung kann ermittelt werden, indem die Anzahl der Zylinder in dem Motor durch Zwei geteilt wird. Wie in 2 gezeigt ist, werden vier Referenzzeitspannen von neunzig Grad für einen Achtzylindermotor erzeugt. Die Bezugszeitspannen sind durch Bezugszähne 62–68 markiert. Eine tatsächliche Zeitspanne (tACTUAL), die einer speziellen Bezugszeitspanne entspricht, kann ermittelt werden, indem der Zeitpunkt überwacht wird, an welchem die Kurbelwelle und damit das Rad durch den Referenzwinkel (θ) rotiert.
-
Bei einem idealen Szenario würde das Kurbelwellensignal keine Störungen erfahren. Bei idealen Bedingungen (tIDEAL) wäre jede Zeitspanne identisch. Daher würde die Motordrehzahl während der gesamten Drehung konstant bleiben. Störungen in dem Kurbelwellensignal können jedoch fehlerhafte Zeitpunkte verursachen. Verschiedene Bedingungen können Störungen in dem Kurbelwellensignal verursachen. Beispielsweise verursacht ein beschädigter Zahn, wie er bei 70 gezeigt ist, typischerweise eine entsprechende fehlerhafte Zeitspanne, die von einer idealen Zeitspanne abweicht. Die Bezugswinkel in der Nähe des beschädigten Zahns werden auf der Grundlage der Beschädigung nachgestellt, wie bei 72 und 74 gezeigt ist. Entsprechend sind Motordrehzahlberechnungen auf der Grundlage der fehlerhaften Zeitpunkte ungenau. Durch Erkennen und Korrigieren der fehlerhaften Zeitpunkte kann ein genauerer Motordrehzahlwert erreicht werden. Es ist festzustellen, dass das Kompensationsverfahren für Kurbelwellensignalstörungen der vorliegenden Offenbarung angewendet werden kann, um das Kurbelwellensignal bei verschiedenen Typen von Störungen zu kompensieren.
-
Das Steuerungsmodul korrigiert eine fehlerhafte Zeitspanne, indem es den Fehler (tERROR) zwischen der idealen Zeitspanne (tIDEAL) und der tatsächlichen Zeitspanne (tACTUAL) in Erfahrung bringt. Wie voranstehend angemerkt wurde, ist die ideale Zeitspanne (tACTUAL) eine Zeitspanne, in welcher die Kurbelwelle um einen gegebenen Winkel (θ) rotieren würde, ohne irgendwelche Störungen zu erfahren. Die ideale Zeitspanne (tIDEAL) basiert auf einem Mittelwert von tatsächlichen Zeitspannen (tAVG_ACTUAL), einer gemittelten Winkelgeschwindigkeit (vAVERAGE) und einer gemittelten Winkelbeschleunigung (aAVERAGE). Der Fehler (tERROR) wird dann verwendet, um einen Korrekturfaktor (tCORRECTION) zu ermitteln, welcher dann auf die fehlerhafte Zeitspanne angewandt wird.
-
Nun auf 3 Bezug nehmend stellt ein Datenflussdiagramm verschiedene Ausführungsformen eines Systems zur Kompensation von Kurbelwellensignalstörungen dar, das in dem Steuerungsmodul 40 eingebettet sein kann. Verschiedene Ausführungsformen des Systems zur Kompensation von Kurbelwellensignalstörungen gemäß der vorliegenden Offenbarung können eine beliebige Anzahl von Untermodulen umfassen, die in dem Steuerungsmodul 40 eingebettet sind. Die gezeigten Untermodule können kombiniert und/oder weiter unterteilt sein, um Störungen in dem Kurbelwellensignal auf ähnliche Weise zu kompensieren.
-
Bei verschiedenen Ausführungsformen umfasst das Steuerungsmodul 40 von 3 ein Fehlermodul 80, ein Korrekturfaktormodul 82 und ein Kompensationsmodul 84. Das Fehlermodul 80 empfängt als Eingang das Kurbelwellensignal 34. Aus dem Kurbelwellensignal 34 berechnet das Fehlermodul 80 eine oder mehrere tatsächliche Zeitspannen 88. Aus den tatsächlichen Zeitspannen 88 wird eine ideale Zeitspanne ermittelt. Für jede tatsächliche Zeitspanne 88 gibt das Fehlermodul 80 einen Fehler 90 auf der Grundlage einer Differenz zwischen der tatsächlichen Zeitspanne 88 und der idealen Zeitspanne aus. Das Korrekturfaktormodul 82 empfängt als Eingang die Fehler 90 und die tatsächlichen Zeitspannen 88. Auf der Grundlage eines jeden Fehlers 90 wird für jede tatsächliche Zeitspanne 88 ein Korrekturfaktor ermittelt. Der Korrekturfaktor 92 kann in einem (nicht gezeigten) Datenspeicher des Steuerungsmoduls 40 gespeichert werden. Das Kompensationsmodul 84 empfängt als Eingang die Korrekturfaktoren 92 und die tatsächlichen Zeitspannen 88. Für jede tatsächliche Zeitspanne 88 wird der Korrekturfaktor 92 auf die tatsächliche Zeitspanne 88 angewandt, um die Störung in dem Signal zu kompensieren. Ein kompensiertes Kurbelwellensignal 94 wird von dem Kompensationsmodul 84 ausgegeben, um von anderen Untermodulen in dem Steuerungsmodul 40 verwendet zu werden.
-
Nun auf 4 Bezug nehmend ist ein Verfahren zur Kompensation von Störungen in dem Kurbelsignal gezeigt. Das Verfahren kann zu einem beliebigen Zeitpunkt während eines Motorbetriebs ablaufen. Bei verschiedenen Ausführungsformen kann das Verfahren speziell ablaufen, nachdem die Motordrehzahl auf eine spezielle Drehzahl gebracht wurde und eine Kraftstoffzufuhrunterbrechung stattfindet. Dies entfernt Störungen durch Kraftstoff. In diesem Fall läuft das Verfahren, während sich der Motor verlangsamt. Bei verschiedenen Ausführungsformen kann das Verfahren speziell während eines stationären Motorbetriebs ablaufen.
-
In 4 nimmt die Steuerung bei 100 tatsächliche Daten für jeden Bezugswinkel auf. Bei verschiedenen Ausführungsformen nimmt die Steuerung, wie in 4 gezeigt ist, die tatsächlichen Daten für eine vorbestimmte Anzahl (k) von Bezugszeitspannen auf. Die gewählten Bezugszeitspannen sind um ein Kompressionsereignis herum angeordnet. Das Kompressionsereignis umfasst zwei vollständige Umdrehungen der Kurbelwelle. Daher ist die vorbestimmte Anzahl (k) für das in 2 bereitgestellte Beispiel gleich 8. In 5 ermittelt die Steuerung bei 200, ob der Zylinder ein Kompressionsereignis beginnt. Wenn das Kompressionsereignis nicht begonnen hat, springt die Steuerung zurück und fährt bei 200 fort, die Zylinderereignisse zu überwachen. Wenn der Zylinder bei 200 das Kompressionsereignis beginnt, initialisiert die Steuerung bei 210 eine Indexvariable (x). Wenn die Indexvariable (x) bei 220 nicht gleich der vorbestimmten Anzahl von Bezugswinkeln (k) ist, nimmt die Steuerung bei 230 die tatsächliche Zeitspanne (tACTUAL) für den Bezugswinkel (x) auf.
-
Die Steuerung berechnet bei 240 eine tatsächliche Winkelgeschwindigkeit (vACTUAL) für die Bezugszeitspanne (x) auf der Grundlage der folgenden Gleichung: vACTUAL(x) = x – x–1/tACTUAL(x) – tACTUAL(x_1). (1)
-
Bei 250 berechnet die Steuerung eine tatsächliche Winkelbeschleunigung (aACTUAL) für die Bezugszeitspanne (x) auf der Grundlage der folgenden Gleichung. [aACTUAL(x) = vACTUAL(x) – vACTUAL(x – 1)]/(tACTUAL(x) – tACTUAL(x_1)). (2)
-
Die Steuerung inkrementiert bei 260 die Indexvariable (x). Die Steuerung springt zurück und fährt fort, die tatsächlichen Daten für jede Bezugszeitspanne (x) in dem Kompressionsereignis aufzunehmen.
-
Zurück auf
4 Bezug nehmend berechnet die Steuerung bei
110 Mittelwerte der tatsächlichen Daten. Eine über die Anzahl (k) von tatsächlichen Zeitspannen (t
ACTUAL) gemittelte Zeitspanne (t
AVG_ACTUAL) wird auf der Grundlage der folgenden Gleichung berechnet:
-
Eine über die vorbestimmte Anzahl (k) von Bezugszeitspannen der tatsächlichen Geschwindigkeiten (v
ACTUAL) gemittelte Winkelgeschwindigkeit (v
AVERAGE) kann gemäß der folgenden Gleichung berechnet werden:
-
Eine über die vorbestimmte Anzahl (k) von Bezugszeitspannen der tatsächlichen Winkelbeschleunigungen (a
ACTUAL) gemittelte Winkelbeschleunigung (a
AVERAGE) wird gemäß der folgenden Gleichung berechnet
-
Wie festzustellen ist, kann bei verschiedenen Ausführungsformen die gemittelte Winkelbeschleunigung (aAVERAGE) auf der Grundlage einer Winkelbeschleunigung (aACTUAL) berechnet werden, um einen Berechnungsfehler wegen eines Signalrauschens zu minimieren. Wobei die Winkelbeschleunigung (aACTUAL) auf der Grundlage der gemittelten Geschwindigkeit (vAVERAGE) berechnet wird.
-
Bei 120 ermittelt die Steuerung die ideale Zeitspanne (tIDEAL) auf der Grundlage der Winkelgeschwindigkeit (v) und der Winkelbeschleunigung (a) und unter Voraussetzung der Stellungsgleichung: x(t) = x(0) + vt + 1 / 2at2. (6)
-
Ein Einsetzen der voranstehend berechneten Werte in die Stellungsgleichung liefert: x(t) = tINITIAL + vINITIAL·t + 1 / 2aAVERAGE·t2. (7)
-
Wobei t
INITIAL, und v
INITIAL gleich der anfänglich gemessenen Zeitspanne t
ACTUAL(0) bzw. der anfänglich berechneten Winkelgeschwindigkeit v
ACTUAL(0) sind. Es ist zu beachten, dass die Winkelgeschwindigkeit und die Winkelbeschleunigung für jeden Bezugswinkel (x) der gesamten Bezugswinkel (k) als konstant angenommen werden kann, um eine ideale Darstellung des Motorverhaltens zu erhalten. Daher kann in Gleichung (7) die gemittelte Winkelgeschwindigkeit (v
AVERAGE) und/oder die gemittelte Winkelbeschleunigung (a
AVERAGE) verwendet werden. Die gemittelte Zeitspanne (t
AVERAGE) wird durch ein Berechnen eines Mittelwerts von aufeinander folgenden Abtastwerten von t ermittelt, der gezeigt ist als:
-
Um den Rechendurchsatz zu verringern, werden die voranstehend angegebenen mathematischen Berechnungsgleichungen (7) und (8) kombiniert, um (tIDEAL) zu ergeben, und können vereinfacht werden zu: tIDEAL = tAVERAGE – A·vINITIAL – B·aAVERAGE. (9)
-
Wobei die Koeffizienten (A) und (B) vorbestimmte Werte sind, die auf der vorbestimmten Anzahl von Bezugszeitspannen (k) basieren. Beispielsweise kann der Wert des Koeffizienten (A) auf der Grundlage der folgenden Gleichung vorbestimmt werden:
-
Der Wert des Koeffizienten (B) kann auf der Grundlage der folgenden Gleichung vorbestimmt werden:
-
Diese Vorberechnung kann als eine Alternative zu den Gleichungen (7) und (8) implementiert werden.
-
Bei 130 wird ein Korrekturfaktor (tCORRECTION) auf der Grundlage des Fehlers bei jeder Bezugszeitspanne (x) ermittelt. Der Fehler (tERROR) ist als die Differenz zwischen der idealen Zeitspanne (tIDEAL) und der tatsächlichen Zeitspanne (tACTUAL) definiert: tERROR(x) = tIDEAL – tACTUAL(x). (12)
-
Der Korrekturfaktor für jede Bezugszeitspanne wird durch die folgende Gleichung ermittelt:
-
Bei 140 speichert die Steuerung jeden Korrekturfaktor (tCORRECTION) im Speicher. Bei verschiedenen Ausführungsformen wird der Korrekturfaktor (tCORRECTION) in einer zweidimensionalen Nachschlagetabelle mit der Motordrehzahl und der Zylinderkennung als den Indizes gespeichert. Die gespeicherten Korrekturfaktoren können später geholt werden, um die fehlerhafte Zeitspanne durch ein Multiplizieren der fehlerhaften Zeitspanne mit dem Korrekturfaktor zu korrigieren.