-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Diese Erfindung bezieht sich im Allgemeinen auf ein System zum Steuern der Vibrationen eines Motors in einem Fahrzeug und insbesondere auf ein Steuersystem zum Reduzieren einer Motorvibrationsübertragung von einem Fahrzeugmotor an eine Fahrzeugkarosseriestruktur, wobei der Motor an der Fahrzeugstruktur durch wenigstens eine aktive Motorhalterung montiert ist, wie es beispielsweise aus der
DE 39 39 822 C2 bekannt geworden ist.
-
Bezüglich des weitergehenden Standes der Technik wird auf die Druckschriften
DE 199 11 096 C2 ,
EP 1 559 898 B1 und
US 6 314 802 B1 verwiesen, die sich ebenfalls mit schwingungstechnischen Problemen bei Verbrennungsmotoren auseinandersetzen.
-
Diskussion des Standes der Technik
-
Eine aktive Geräuschsteuerung und eine aktive Vibrationssteuerung werden im Allgemeinen verwendet, um Geräusche und Vibrationen, die durch Motoren in Fahrzeugen eingeführt werden, zu verringern. Typischerweise verwendet eine aktive Geräuschsteuerung Lautsprecher zum Beseitigen von Motorgeräusch, deren Frequenz und deren Phase mit der Kurbeldrehzahl bzw. dem Kurbelwinkel des Motors synchron sind. Die aktive Vibrationssteuerung verwendet typischerweise aktive Aktoren wie etwa aktive Motorhalterungen zum Beseitigen von durch den Motor eingeführten Vibrationen, deren Frequenz und deren Phase ebenfalls mit der Kurbeldrehzahl synchron sind.
-
Die Größe des durch den Motor eingeführten Geräusches und der durch den Motor eingeführten Vibrationen ist zu der Drehmomentschwankung des Motors proportional, die ihrerseits zu der momentanen Kurbeldrehzahlschwankung proportional ist. Daher können durch Messen der momentanen Kurbeldrehzahlschwankung geeignete Steuersignale, die Lautsprecher oder aktive Aktoren ansteuern, entsprechend erzeugt werden. Ein Steuerschema, das nur von Kurbeldrehzahl- und Kurbelwinkelinformationen abhängt, wird typischerweise als rückkopplungsfreie Steuerung bezeichnet, da keine anderen Vibrationssensoren wie etwa Mikrophone, Beschleunigungsmesser oder Kraftwandler vorhanden sind. Eine rückkopplungsfreie Steuerung ist eine kostengünstige Lösung gegenüber einer Rückkopplungsregelung, sie erfordert jedoch kompliziertere Steueralgorithmen.
-
Auf dem Gebiet ist vorgeschlagen worden, die Fahrzeugkraftstoffwirtschaftlichkeit dadurch zu erhöhen, dass die Hälfte der acht Zylinder oder der sechs Zylinder in bestimmten Fahrzeugen während Zeiten abgeschaltet wird, in denen die Hälfte der Zylinder ausreichen würde, um das Fahrzeug unter den aktuellen Bedingungen zu betreiben. Da die Motorhalterungen und andere Strukturelemente für hochfrequente Vibrationen entworfen sind, wenn alle Zylinder arbeiten, bewirkt die Frequenz, die durch den Motor eingeführt wird, wenn die Hälfte der Zylinder abgeschaltet ist, typischerweise, dass der Motor stärker vibriert, was an die Karosseriestruktur des Fahrzeugs übertragen werden könnte. Wenn die Hälfte der Zylinder abgeschaltet ist, könnte ferner von den anderen Zylindern gefordert werden, dass sie mehr Drehmoment erzeugen, um die Leistungsanforderung zu erfüllen, weshalb die Kolben mehr Kraftstoff erfordern, um mit mehr Kraft zu schieben. Dadurch vibriert der Motor ebenfalls stärker, was an die Fahrzeugkarosseriestruktur übertragen werden könnte.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Diesem Problem wird mit den Merkmalen der selbstständigen Patentansprüche begegnet. Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
-
Gemäß den Lehren der offenbarten Ausführungsformen wird ein rückführungsfreies Steuersystem offenbart, das Steuersignale bereitstellt, um Motorhalterungen zu aktivieren, um die Übertragung von Motorvibrationen an eine Fahrzeugkarosseriestruktur zu verringern oder zu beseitigen, wobei das System nur ein Kurbelsignal vom Motor als Eingang verwendet. Das Steuersystem enthält einen Prozessor zum Erfassen der momentanen Kurbeldrehzahlschwankung, der das Kurbelsignal von dem Motor empfängt, wobei das Kurbelsignal ein gepulstes Signal ist, bei dem als Folge davon, dass an dem Fahrzeugkurbelwellenrad Zähne fehlen, Impulse fehlen. Der Kurbeldrehzahlschwankungs-Erfassungsprozessor schafft eine Messung der momentanen Kurbeldrehzahlschwankung des Kurbelsignals und macht einen Fehler der Messung als Folge der fehlenden Impulse minimal. Der Kurbeldrehzahlschwankungs-Erfassungsprozessor gibt ein Kurbeldrehzahlschwankungs-Erfassungssignal als eine Sinuswelle aus, die den Ordnungsinhalt im Kurbelsignal identifiziert. Das Steuersystem [engl.: control signal] enthält außerdem einen Ordnungsreferenzerzeugungsprozessor, der das Kurbelsignal empfängt und ein momentanes Motordrehzahlsignal, einen Vektor eines harmonischen Ordnungsreferenz-Kosinussignals und einen Vektor eines harmonischen Ordnungsreferenz-Sinussignals ausgibt. Das Steuersystem enthält außerdem eine rückkopplungsfreie Nachschlagtabelle, die das Signal der momentanen Motordrehzahl von dem Ordnungsreferenzerzeugungsprozessor empfängt und mehrere Frequenzantwortvektoren, die den Ordnungsinhalt in dem Motordrehzahlsignal identifizieren, ausgibt. Das Steuersystem enthält außerdem einen Ordnungszerlegungsprozessor, der das Erfassungsschwankungssignal von dem Erfassungsprozessor und die Vektorsignale von dem Ordnungsreferenz-Erzeugungsprozessor empfängt und das Erfassungsschwankungssignal zu einem interessierenden Ordnungsinhalt zusammensetzt, um Fourier-Koeffizienten der Vektorsignale zu schaffen. Das Steuersignal enthält außerdem einen Befehlsrealisierungsprozessor, der die mehreren Antwortvektoren von der rückkopplungsfreien Nachschlagtabelle, die Fourier-Koeffizienten von dem Ordnungszerlegungsprozessor und das Vektorsignal von dem Ordnungsreferenzerzeugungsprozessor empfängt. Der Befehlsrealisierungsprozessor gibt Steuersignale aus, die die Motorhalterungen steuern. Das Steuersystem kann außerdem einen Prozessor für die Detektion einer Betriebsart mit halber Zylinderzahl enthalten, der die Fourier-Koeffizienten von dem Ordnungszerlegungsprozessor empfängt, um die Steuersignale zu deaktivieren, wenn der Motor nur die Hälfte seiner Zylinder verwendet.
-
Weitere Merkmale der vorliegenden Erfindung werden deutlich anhand der folgenden Beschreibung und der beigefügten Ansprüche, die in Verbindung mit den beigefügten Zeichnungen zu nehmen ist.
-
Figurenliste
-
- 1 ist ein schematischer Blockschaltplan eines rückkopplungsfreien Steuersystems gemäß einer Ausführungsform der vorliegenden Erfindung, um aktive Motorhalterungen zwischen einem Motor und einer Fahrzeugkarosserie zu steuern;
- 2 ist ein Graph mit der Zeit auf der horizontalen Achse und mit der Frequenz/ Spannungs-Umsetzung auf der vertikalen Achse, der die Kurbelwellenimpulse und eine Umsetzung der Kurbelwellenimpulse in eine Spannung zeigt;
- 3 ist ein schematischer Blockschaltplan eines Prozessors für die Erfassung der Schwankung der momentanen Kurbeldrehzahl in dem in 1 gezeigten System;
- 4 und 5 sind Zeitablaufpläne für die Logik zur Detektion der momentanen Kurbeldrehzahl, die in dem in 3 gezeigten Prozessor für die Erfassung der Schwankung der momentanen Kurbeldrehzahl verwendet wird;
- 6 ist eine Reihe von Zeitablaufplänen für Signale in dem in 3 gezeigten Prozessor für die Schwankung der momentanen Kurbeldrehzahl;
- 7 ist ein schematischer Blockschaltplan eines Ordnungszerlegungsprozessors in dem in 1 gezeigten System;
- 8 ist ein Blockschaltplan einer rückkopplungsfreien Tabelle, die in dem in 1 gezeigten System verwendet wird; und
- 9 ist ein schematischer Blockschaltplan des Befehlsrealisierungsprozessors in dem in 1 gezeigten System.
-
GENAUE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
1 ist ein schematischer Blockschaltplan eines Steuersystems 10, das eine Übertragung von Motorvibrationen von einem Fahrzeugmotor 12 an eine Fahrzeugkarosseriestruktur 14 verringert oder beseitigt. Der Motor 12 soll irgendeinen Motor repräsentieren, der Vibrationen an eine Fahrzeugkarosseriestruktur übertragen kann, etwa Vierzylindermotoren, Sechszylindermotoren, Achtzylindermotoren, Dieselmotoren und dergleichen. Der Motor 12 ist in dieser nicht Ausführungsform an der Fahrzeugstruktur 14 mittels zweier aktiver Motorhalterungen 16 und 18 montiert. Die Motorhalterungen 16 und 18 sind aktiv, weil sie gesteuert werden können, um eine Bewegung in einer zur Bewegung des Motors 12 entgegengesetzten Richtung zu schaffen, damit die Motorbewegung nicht an die Karosseriestruktur 14 übertragen wird. Insbesondere können die aktiven Halterungen 16 und 18 verkürzt und verlängert werden, so dass sie, wenn sie geeignet gesteuert werden, in Ansprechen auf eine Kraft in die Halterung verkürzt werden und in Ansprechen auf eine Kraft weg von der Halterung verlängert werden. Dem Fachmann auf dem Gebiet sind verschiedene Typen von Motorhalterungen, die auf diese Weise arbeiten, wohl bekannt. Daher wird durch die vorliegende Erfindung in Betracht gezogen, dass andere Halterungskonfigurationen verwendet werden können.
-
Wenn ein Fahrzeugmotor läuft, ändert sich die momentane Drehzahl der Motorkurbelwelle mit dem Motortakt. Die Kurbelwelle wird beim Zünden des Zylinders beschleunigt und durch Reibung und Last verzögert. Die Beschleunigungs- und Verzögerungsereignisse treten wiederholt auf und haben eine periodische Schwankung der Kurbelwellendrehzahl zur Folge.
-
Da die Kurbeldrehzahlschwankung durch die Motorzündung bedingt ist, sind die Größe und der Impuls der Kurbelwellenschwankungen in Bezug auf den Kurbelwinkel eine Angabe der Größe und der Phase des Drehmomentimpulses, der die durch den Motor eingeführte Vibration erzeugt. Daher kann auf der Grundlage der Schwankung der momentanen Kurbeldrehzahl und der Motordrehzahl eine rückkopplungsfreie Steuertabelle entworfen werden, die Motorvibrationen modelliert und die verwendet werden kann, um die Motorhalterungen 16 und 18 effektiv zu steuern.
-
In einem Fahrzeugentwurf werden die Kurbelimpulse nach jeweils sechs Grad des Kurbelwinkels erzeugt. Im Prinzip kann die momentane Drehzahl der Kurbelwelle durch Messen der Periode jedes Impulses und durch Invertieren dieser Periode erhalten werden. Falls die Kurbelimpulse einen regelmäßigen Winkelabstand haben, kann eine einfache Frequenz/Spannungs-Umsetzung verwendet werden, um die Schwankung der momentanen Kurbeldrehzahl zu detektieren. In dem tatsächlichen Kurbelsignal fehlen jedoch in jeder Umdrehung zwei Impulse, weil im Allgemeinen zwei der Zähne am Kurbelrad fehlen, um die Position des Kurbelrades zu identifizieren. Wegen dieser zwei fehlenden Impulse erzeugt eine einfache Frequenz/Spannungs-Umsetzung einmal pro Umdrehung einen großen Fehler. Dies kann durch den in 2 gezeigten Graphen demonstriert werden, der eine Frequenz/Spannungs-Umsetzung auf der vertikalen Achse und die Zeit auf der horizontalen Achse angibt. Das Kurbelwellensignal ist im oberen Bereich des Graphen gezeigt, in dem zwei Zähne fehlen, wobei die verschiedenen beabstandeten Impulse die Drehzahl der Kurbelwelle repräsentieren, wie oben diskutiert worden ist.
-
Der Fehler einmal pro Umdrehung muss minimal gemacht werden, um eine präzise Messung der Schwankung der momentanen Kurbeldrehzahl sicherzustellen. Um diesen Fehler minimal zu machen, wird das Kurbelsignal vom Motor 12 zu einem Prozessor 20 für die Erfassung der Schwankung der momentanen Kurbeldrehzahl (ICSV-Erfassungssensor) geschickt, um eine präzise Messung der Schwankung der momentanen Kurbeldrehzahl zu schaffen, um den Fehler einmal pro Umdrehung aufgrund der fehlenden Impulse des Kurbelwellensignals minimal zu machen. Der Prozessor 20 misst zunächst die Periode eines Kurbelimpulses von einer Abstiegsflanke zur nächsten. Dies kann unter Verwendung eines Zählers mit einem schnellen Takt geschehen. Da der Bereich einer typischen Motordrehzahl von 500 bis 10000 min-1 reicht, liegt der Bereich einer typischen Impulsperiode Tp, die auf 60 Impulsen pro Umdrehung beruht, zwischen 100 Mikrosekunden und 2000 Mikrosekunden. Dies erfordert eine Taktgeschwindigkeit von 1 MHz oder mehr.
-
3 ist ein schematischer Blockschaltplan des ICSV-Erfassungssensors 20, 4 ist ein Zeitablaufplan für die Logik des ICSV-Prozessors 20 in einem Abstand von dem fehlenden Kurbelzahn und 5 ist ein Zeitablaufplan für die Logik des ICSV-Erfassungsprozessors 20 in der Nähe des fehlenden Kurbelzahns. Ein Zählen der Taktimpulse beginnt 5 ms nach der Abstiegsflanke des Kurbelimpulses und endet bei der nächsten Abstiegsflanke. Nachdem die Zählung beendet worden ist, sollte der endgültige Zählstand, der der Zeitperiode TP* entspricht, für die weitere Verarbeitung gespeichert werden und sollte der Zähler innerhalb von 5 ms zurückgesetzt werden, um mit der nächsten Impulsperiodenzählung zu beginnen. Der Prozess der Datenspeicherung und des Zurücksetzens des Zählers erfordert mehrere Zeitsteuersignale einschließlich LOAD, LATCH, RESET und HOLD.
-
Das Kurbelsignal wird in einen Schmitt-Trigger 30 und dann in ein Seriell/Parallel-Schieberegister 32 eingegeben. Außerdem wird in das Schieberegister 32 von einem Taktgenerator 34 ein Taktsignal eingegeben. Ausgangssignale des Schieberegisters 32 umfassen QA, QB, QC, QD, QE, QF, und QG, wie in den Zeitablaufplänen gezeigt ist. Diese Signale werden in eine Reihe von UND-Gattern 36 und in ein ODER-Gatter 38 eingegeben, die die LOAD-, LATCH-, RESET-, HOLD- und PULSE-Signale, die in den Zeitablaufplänen gezeigt sind, erzeugen. Um die Zeitsteuersignale zu erzeugen, wird das CRANK-Signal um mehrere Taktperioden unter Verwendung des Schieberegisters 32 verzögert, um die verzögerten Kurbelsignale QA, QB, ..., QF zu erzeugen. Die Zeitsteuersignale werden aus verzögerten Kurbelsignalen unter Verwendung einer kombinatorischen Logik erzeugt. Das PULSE-Signal wird ebenfalls durch Kombinieren des HOLD-Signals und des CLOCK-Signals erzeugt.
-
Die Prozedur des Ladens von Daten und des Zurücksetzens ist die Folgende. Beim Abfall des Signals QA wird direkt nach der Abstiegsflanke des CRANK-Signals das HOLD-Signal aktiviert, wobei ein Zähler 40 diesen Wert hält, um die Datenübertragung einzufügen. Bei dem nächsten Taktimpuls wird der LOAD-Impuls aktiviert, um den Zählerwert in ein Register zu laden. Beim nächsten Taktimpuls wird der LOAD-Impuls deaktiviert. Beim nächsten Taktimpuls wird der LATCH-Impuls aktiviert, um den Zählerwert zu speichern, der für die Detektion der fehlenden Zähne verwendet werden soll. Beim nächsten Taktimpuls wird der LATCH-Impuls deaktiviert. Beim nächsten Taktimpuls wird HOLD deaktiviert, um ein Zählen zuzulassen. Zum nächsten Zeitpunkt wird das RESET-Signal aktiviert, um den Zählerwert im Zähler 40 zurückzusetzen. Beim nächsten Taktimpuls wird das RESET-Signal deaktiviert, um eine neue Zählung zu beginnen.
-
Im Idealfall sollte der Zähler 40 die Anzahl von Taktperioden von einer Abstiegsflanke des Kurbelsignals zur nächsten Abstiegsflanke des Kurbelsignals zählen, um die Impulsperiode Tp zu erhalten. Das Zeitsteuersignal erfordert jedoch sechs Taktzyklen, was bei einem Taktsignal von 1 MHz 6 ms bedeutet. Daher misst der Zähler 40 tatsächlich die Impulsperiode TP*, die sechs Taktperioden kürzer ist als der Impuls Tp. Da der Fehler von sechs Taktperioden fest ist, kann er für spätere Zwecke kompensiert werden.
-
Obwohl die Zeit von einer Abstiegsflanke zur nächsten Abstiegsflanke jedes regulären Kurbelimpulses von einem weiteren Impuls verschieden ist und der Zweck der gesamten Prozedur darin besteht, die Schwankungen zu detektieren, ist die Impulsperiodendifferenz zwischen zwei aufeinander folgenden Impulsen sehr gering. Wenn zwei Impulse fehlen, ist die Zeit von einer Flanke zur nächsten etwa dreimal länger als jene des regulären Impulses, der den fehlenden Zähnen direkt folgt. Das bedeutet, dass die Zeit von einer Flanke zur nächste mit den fehlenden Zähnen wenigstens zweimal länger ist als die vorhergehende Zeit von einer Flanke zur nächsten. Daher können die fehlenden Zähne durch Vergleichen von zwei benachbarten Flanke/Flanke-Zeiten detektiert werden. Die Grundidee besteht darin, zu prüfen, ob der Übergangszählerwert mindestens zweimal größer ist als die vorhergehenden Flanke/Flanke-Zeit, die in der Speicherperiode gespeichert worden ist. Wenn dies der Fall ist, setzt der Prozessor 20 das SYNC-Flag, bis der Zähler zurückgesetzt wird, wie in 5 gezeigt ist.
-
Der endgültige Zählerwert wird in ein Register 42 geladen, um eine Datenübertragung zu einem Mikrocontroller 60 in einem zeitbasierten Abtastsystem 50 über ein Datenregister 56 auszuführen, und außerdem in ein Register 44 geladen, um die fehlenden Impulse zu detektieren. Lediglich die acht niedrigstwertigen Bits des Zählerwertes vom Zähler 40 werden in das Register 42 geladen und lediglich die acht höchstwertigen Bits des Zählerwerts werden in das Register 44 geladen.
-
Da eine grobe Flanke/Flanke-Zeit ausreicht, um den fehlenden Impuls zu vergleichen, werden nur die sieben höchstwertigen Bits des Zählerwerts hinzugefügt. Das Register 44 speichert die acht höchstwertigen Bits der vorhergehenden endgültigen Zählerwertperiode. Die gespeicherten Bits eines Wortes werden zu einem Größenkomparator 46 geschickt. Gleichzeitig werden die sieben höchstwertigen Bits des Übergangszählerwertes gespeichert, um ein Achtbit-Wort mit einer Null als höchstwertigern Bit zu bilden. Dieser Vorgang ist äquivalent mit dem Dividieren des Zählerwertes durch Zwei. Der Größenkomparator 46 vergleicht den Übergangszählerwert mit dem gespeicherten Wert, der gleich dem doppelten vorhergehenden Zählerwert ist. Für reguläre Impulse überschreitet der Übergangszählerwert niemals den doppelten vorhergehenden endgültigen Zählwert. Daher ist der Vergleich des Ergebnisses A < B null, wobei A der im Register 42 gespeicherte Zählerwert ist und B der im Register 44 gespeicherte Zählerwert ist. Der Übergangszählerwert kann den doppelten vorhergehenden Zählwert nur übersteigen, wenn der Zähler 40 die Flanke/Flanke-Zeit der fehlenden Zähne zählt. Wenn der Zähler 40 zurückgesetzt wird, kehrt das Ergebnis A < B auf Null zurück. A < B wird dann zu einem 1-Bit-D-Flipflop 48 geschickt, um Datenübergangsfehler zu vermeiden. 6 zeigt den Zeitablaufplan der Logik zur Detektion fehlender Zähne.
-
Dann wird das SYNC-Signal mit dem PULSE-Signal kombiniert, um den Zählerwert bis zur nächsten Zurücksetzung zu halten, um einen möglichen Überlauf zu verhindern. Es ist nun sichergestellt, dass das LOAD-Signal direkt nach den fehlenden Zähnen nur aktiviert wird, wenn das SYNC-Signal aktiv ist. Daher wird das SYNC-Signal verwendet, um das Register 42 an einer Aktualisierung des Wertes zu hindern.
-
Die Daten im Register 42 werden in den Mikrocontroller 60 unter Verwendung einer Unterbrechungshandhabungseinrichtung 58 geholt, die eine Unterbrechungsdienst-Routine verwendet, die durch die Anstiegsflanke des Kurbelimpulses getriggert wird, wo die Daten im Datenregister 56 gespeichert werden, bevor sie zum Mikrocontroller 60 geschickt werden. Dieses Schema dient dazu, eine asynchrone Datenübertragung zu verhindern, indem sichergestellt wird, dass die Daten in dem Register 42 bei der Anstiegsflanke des Kurbelimpulses stets bereit sind.
-
Sobald die Daten geholt worden sind, berechnet der zeitbasierte Abtastalgorithmus im Mikrocontroller
60 die Schwankung der momentanen Drehzahl. Da die Daten nur die acht höchstwertigen Bits der Impulsperiodenzählung enthalten, um die Anzahl von Bitverbindungen zu verringern, erfordert der ICSV-Erfassungsalgorithmus deren Wiederherstellung, um die Impulsperiode in Mikrosekunden zu erhalten. Die Impulsbreite T
P des Kurbelimpulses kann folgendermaßen gegeben sein:
-
Hierbei ist n eine unbekannte ganze Zahl, ist c der Achtbit-Impulsperiodenzählwert und ist Δ die Zeit, die für die Zeitsteuerung verwendet wird, etwa 6 ms.
-
Nun muss der Algorithmus die Werte n und T für die gegebenen Werte c und Δ ermitteln. Aus der Referenz-Sinuskurvenerzeugung, die oben diskutiert worden ist, sind die Kurbelfrequenz und daher die durchschnittliche Impulsperiode des Kurbelimpulses bekannt. Die durchschnittliche Impulsperiode wird aus den folgenden Gleichungen berechnet:
-
Subtraktion von Gleichung (2) von Gleichung (1) ergibt:
-
Da die linke Seite von Gleichung (3) sehr klein ist, lautet die beste Schätzung des Wertes n:
-
Daher ist die tatsächliche Zeitperiode T.
-
Die Impulsperiode Tp wird durch einen Inverter 62 invertiert, um die Impulsfrequenz zu liefern. Dann wird das Signal durch ein Tiefpassfilter (LPF) 64 einer Tiefpassfilterung unterworfen, um die diskreten Stufen zu glätten, und anschließend einer Hochpassfilterung durch ein Hochpassfilter (HPF) 66 unterworfen, um die Gleichstromkomponente zu entfernen. Die im System 50 verarbeiteten Signale sind in den Zeitablaufplänen in 6 gezeigt.
-
Das ICSV-Ausgangssignal des ICSV-Erfassungsprozessors 20 ist eine Sinuswelle, die den Ordnungsinhalt des Kurbelsignals identifiziert. Das ICSV-Signal enthält Informationen darüber, wann die Halterungen 16 und 18 zu steuern sind und um wie viel die Halterungen 16 und 18 zu steuern sind, anhand der Motorumdrehungen. Diese Informationen werden aus der Sinuswelle durch einen Ordnungszerlegungsprozessor 80 extrahiert, der später diskutiert wird.
-
Das Kurbelsignal wird auch zu einem Ordnungsreferenzerzeugungsprozessor
70 geschickt. Der Prozessor
70 gibt Signale der momentanen Motordrehzahl (EPRM) und Referenzvektoren harmonischer Kosinus- und Sinussignale, die als die Werte COS_RAF_VECTOR bzw. SIN_RAF_VEC-TOR bezeichnet werden, aus. Der COS_RAF_VECTOR-Wert ist eine Anordnung von Ordnungsreferenz-Kosinuswerten zu einem momentanen Zeitschritt:
-
Hierbei ist θ(k) der Kurbelwinkel im momentanen Zeitschritt. Daher gibt der Prozessor 70 beispielsweise acht Ordnungsreferenz-Kosinuswerte von halber Ordnung bis zur vierten Ordnung aus.
-
Der SIN_RAF_VECTOR-Wert ist dem COS_RAF_VECTOR-Wert, außer dass er ein Ordnungsreferenz-Sinus ist, ähnlich:
-
Die Einzelheiten eines geeigneten Beispiels des Ordnungsreferenz-Erzeugungsprozessors
70 können in der Offenlegungsschrift
US 2008 / 0 083 395 A1 gefunden werden.
-
Das ICSV-Signal enthält gewöhnlich mehrere Ordnungen und Rauschen. Beispielsweise enthält ein V6-AFM-Modus eine ICSV 1,5-ter Ordnung und 3-ter Ordnung. Ebenso enthält ein V8-AFM-Modus eine ICSV 2-ter Ordnung und 4-ter Ordnung. Daher muss das ICSV-Signal in den interessierenden Ordnungsgehalt zerlegt werden. Da der Referenzkosinuswert und der Referenzsinuswert verfügbar sind, besteht das Problem darin, die Fourier-Koeffizienten jeder Ordnung zu finden. Theoretisch kann dies unter Verwendung einer schnellen Fourier-Transformation (FFT) geschehen. Die FFTs erfordern jedoch einen schnellen digitalen Signalprozessor. Da außerdem die Ordnung nicht notwendig zeitlich synchronisiert ist, ist eine herkömmliche FFT für die Echtzeit-Ordnungsverfolgung nicht geeignet. Der Zerlegungsprozessor 80 verwendet ein rechentechnisch einfacheres und schnelleres Zerlegungsverfahren, wie es in 7 gezeigt ist.
-
Der COS_RAF_VECTOR-Wert und der SIN_RAF_VECTOR-Wert von dem Ordnungsreferenz-Erzeugungsprozessor 70 werden zu dem Ordnungszerlegungsprozessor 80 geschickt. Der Ordnungszerlegungsprozessor 80 zerlegt das ICSV-Sinuswellensignal in ein Ordnungsspektrum und gibt Fourier-Koeffizienten des ordnungsharmonischen Kosinus und Sinus aus, die durch ALPHA_X_VECTOR bzw. VETA_X_VECTOR bezeichnet sind.
-
Es sei das ICSV-Signal x(k). Das ICSV-Signal enthält eine Konstante, die der durchschnittlichen Kurbeldrehzahl entspricht, und Sinuskurven mehrerer Ordnungen, beispielsweise von der halben Ordnung bis zur vierten Ordnung jedes halbe Ordnungsinkrement, was acht verschiedene Ordnungen ergibt.
-
Falls das ICSV-Signal gleich x(k) ist, wird das periodische Signal x(k) einer endlichen Fourier-Reihe der folgenden Formel betrachtet:
-
Hierbei ist der Winkel θ eine beliebige, jedoch monoton steigende Funktion der Zeit, was bedeutet, dass die Periode nicht konstant ist.
-
Das Problem besteht darin, die Fourier-Koeffizienten des ICSV-Signals x(k) zu schätzen. Das geschätzte Signal x̂(k) wird folgendermaßen bezeichnet:
-
Die Parameter α̂
0(k), α̂
1(k),...α̂
n(k)
1 und β̂(k),...β̂
n(k) können unter Verwendung eines Projektionsalgorithmus rekursiv geschätzt werden. Ein geeigneter Projektionsalgorithmus ist einfachheitshalber im Folgenden gezeigt, wobei Gleichung (10) das Signal x(k) ist, Gleichung (11) die Signalschätzung x̂(k) ist, Gleichung (12) die Parameterschätzung ist und Gleichung (13) Konvergenzbedingungen angibt.
-
Um den Projektionsalgorithmus anzuwenden müssen das Signal und die Parameter umgeordnet werden:
-
Die Signalschätzung in Gleichung (9) kann folgendermaßen umgeschrieben werden:
-
Es wird festgestellt, dass:
-
Die Parameterschätzung in Gleichung (12) kann folgendermaßen vereinfacht werden:
-
Hierbei ist
-
Substitution der Gleichungen (14) und (15) in die Gleichung (18) ergibt den endgültigen Ordnungszerlegungsalgorithmus:
-
Das Motordrehzahlsignal (ERPM) von dem Ordnungsreferenz-Erzeugungsprozessor 70 wird zu einer rückkopplungsfreien Tabelle 90 geschickt. Die rückkopplungsfreie Tabelle 90 gibt Frequenzantwortvektoren GR_VECTOR_CH_1, GI_VECTOR_CH_1, GR_VECTOR_CH_2 und GI_VEC-TOR_CH_2 aus. 8 ist eine genaue Darstellung der rückkopplungsfreien Tabelle 90, die nur den Ausgang für den Kanal 1 zeigt. Falls nur die 1,5-te Ordnung und die 3-te Ordnung interessieren, sind für jeden Ausgangsvektor zwei Nachschlagtabellen erforderlich, wobei Elemente 0,5-ter, 1,0-ter, 2,0-ter, 2,5-ter, 3,5-ter und 4,0-ter Ordnung von GR_VECT-OR_CH_1 auf Null gesetzt werden. Die Elemente 1,5-ter und 3,0-ter Ordnung werden mit dem Wert gefüllt, der durch die Nachschlagtabellen GR_1P5_TBL_CH_1 und GR_3PO_TBL_CH_1 erhalten werden. GR_VECTOR_CH_1 ist auf die gleiche Weise konstruiert wie die beiden Nachschlagtabellen GR_1P5_TBL_CH_1 und GR_3PO_TBL_CH1.
-
Die Fourier-Reihendarstellung der Steuerpunkte sind Linearkombinationen eines Referenz-Kosinus und eines Referenz-Sinus mit der folgenden Form:
-
Hierbei ist up(k) der p-te Steuereingang im momentanen Zeitschritt.
-
Da der Steuereingang u
p eine Frequenzantwort der Schwankung x der momentanen Kurbeldrehzahl in Bezug auf die Übertragungsfunktion G̃
p(wi) ist, kann die Frequenzantwort der (i/2)-ten Ordnung des Steuereingangs u
p in komplexer Form folgendermaßen geschrieben werden:
-
Hierbei ist
-
Durch Substitution der Gleichungen (26)-(28) in die Gleichung (25) werden die folgenden Gleichungen erhalten:
-
Die Frequenzantwort der Funktionen G̃Rp(wi) und G̃ip(wi) werden offline gemessen und in der rückkopplungsfreien Tabelle 90 gespeichert.
-
Das System 10 enthält außerdem einen Befehlsrealisierungsprozessor 96, der im Einzelnen in 9 gezeigt ist. Der Prozessor 96 empfängt von der rückkopplungsfreien Tabelle 90 GR_VECTOR_CH_1, GI_VECTOR_CH_1, GR_VECTOR_CH_2 und GI_VECTOR_CH_2 und von dem Ordnungszerlegungsprozessor 80 die ALPHA_X_VECTOR- und BETA_X_VECTOR-Werte und von dem Ordnungsreferenz-Erzeugungsprozessor 90 die COS_REF_VECTOR- und SIN_REF_VECTOR-Werte und berechnet Ausgangsbefehle CMD_CH1 und CMD_CH2 gemäß den Gleichungen (29), (30) und (24).
-
Die ALPHA_X_VECTOR- und BETA_X_VECTOR-Werte von dem Ordnungszerlegungsprozessor 80 werden außerdem zu einem Prozessor 110 für die Detektion des Betriebs mit halber Zylinderzahl geschickt. Der Prozessor 110 gibt ein Halbzylinderzahl-Signal an Schalter 112 und 114 aus, wenn dies geeignet ist, um anzugeben, dass der Motor 12 nur unter Verwendung der Hälfte seiner Zylinder arbeitet. Bei einem V6-Motor ist der Gehalt 1,5-ter Ordnung der am stärksten vorherrschende Gehalt des ICSV-Erfassungssignals in der Betriebsart mit halber Zylinderzahl, während die 3-te Ordnung der am stärksten vorherrschende Gehalt für das Modell mit allen sechs Zylindern ist. Durch Vergleichen der Größe des Gehaltes der 1,5-ten Ordnung und des Gehaltes der 3-ten Ordnung des ICSV-Erfassungssignals im Prozessor 110 kann bestimmt werden, ob der Motor 12 in der Betriebsart mit halber Zylinderzahl oder in der Betriebsart mit voller Zylinderzahl arbeitet.
-
Das CMD_CH_1-Signal von dem Befehlsrealisierungsprozessor 96 wird in einen Schalter 114 eingegeben und das CMD_CH_2-Signal von dem Befehlsrealisierungsprozessor 96 wird in einen Schalter 112 eingegeben. Wenn der Detektionsprozessor 110 detektiert, dass der Motor 12 in der Betriebsart mit halber Zylinderzahl läuft, in der ein bestimmter Zylinder nicht zündet, öffnet er die Schalter 112 und 114, so dass sich keine Befehlssignale durch sie bewegen. Das CMD_CH_2-Signal wird durch den Schalter 112 zu einem Verstärker 116 geschickt, der das Signal verstärkt, bevor es in die Halterung 18 eingegeben wird. Ebenso wird das CMD_CH_1-Signal über den Schalter 114 zu einem Verstärker 118 geschickt, der es verstärkt, bevor es zu der Halterung 16 geschickt wird.