DE69722842T2 - Verfahren zum Erfassen der Winkelgeschwindigkeit und des Drehmoments einer Brennkraftmaschine - Google Patents

Verfahren zum Erfassen der Winkelgeschwindigkeit und des Drehmoments einer Brennkraftmaschine Download PDF

Info

Publication number
DE69722842T2
DE69722842T2 DE1997622842 DE69722842T DE69722842T2 DE 69722842 T2 DE69722842 T2 DE 69722842T2 DE 1997622842 DE1997622842 DE 1997622842 DE 69722842 T DE69722842 T DE 69722842T DE 69722842 T2 DE69722842 T2 DE 69722842T2
Authority
DE
Germany
Prior art keywords
cylinder
torque
angular velocity
crank angle
fluctuation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE1997622842
Other languages
English (en)
Other versions
DE69722842D1 (de
Inventor
Nobuyuki Toyota-shi Shibagaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP08415396A external-priority patent/JP3246325B2/ja
Priority claimed from JP09410796A external-priority patent/JP3218970B2/ja
Priority claimed from JP10032796A external-priority patent/JP3246328B2/ja
Priority claimed from JP13015096A external-priority patent/JP3279179B2/ja
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Application granted granted Critical
Publication of DE69722842D1 publication Critical patent/DE69722842D1/de
Publication of DE69722842T2 publication Critical patent/DE69722842T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L3/00Measuring torque, work, mechanical power, or mechanical efficiency, in general
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/02Circuit arrangements for generating control signals
    • F02D41/14Introducing closed-loop corrections
    • F02D41/1497With detection of the mechanical response of the engine
    • F02D41/1498With detection of the mechanical response of the engine measuring engine roughness
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M15/00Testing of engines
    • G01M15/04Testing internal-combustion engines
    • G01M15/042Testing internal-combustion engines by monitoring a single specific parameter not covered by groups G01M15/06 - G01M15/12
    • G01M15/046Testing internal-combustion engines by monitoring a single specific parameter not covered by groups G01M15/06 - G01M15/12 by monitoring revolutions
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D2200/00Input parameters for engine control
    • F02D2200/02Input parameters for engine control the parameters being related to the engine
    • F02D2200/10Parameters related to the engine output, e.g. engine torque or engine speed
    • F02D2200/1015Engines misfires

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Erfassungsverfahren in einem Verbrennungsmotor.
  • 2. Beschreibung der verwandten Technik
  • Fachbekannt ist ein Verbrennungsmotor, bei dem eine erste Winkelgeschwindigkeit der Kurbelwelle aus der Zeit gefunden wird, die für die Kurbelwelle erforderlich ist, um sich von 30° bis 60° nach dem oberen Totpunkt des Verdichtungshubs dieser Periode zu drehen, eine zweite Winkelgeschwindigkeit der Kurbelwelle aus der Zeit gefunden wird, die für die Kurbelwelle erforderlich ist, um sich von 90° bis 120° nach dem oberen Totpunkt des Verdichtungshubs zu drehen, das durch einen Zylinder erzeugte Drehmoment aus dem Quadrat der ersten Winkelgeschwindigkeit und dem Quadrat der zweiten Winkelgeschwindigkeit gefunden wird und der Schwankungsbetrag des Drehmoments aus dem Schwankungsbetrag des erzeugten Drehmoments berechnet wird (siehe geprüfte Japanische Patentveröffentlichung (Kokoku) Nr. 7-33809).
  • Wenn die Verbrennung in einem Zylinder erfolgt, bewirkt nämlich der Verbrennungsdruck, dass die Winkelgeschwindigkeit der Kurbelwelle von einer ersten Winkelgeschwindigkeit ωa auf eine zweite Winkelgeschwindigkeit ωb ansteigt. Wenn das Rotationsträgheitsmoment des Motors I ist, dann bewirkt zu dieser Zeit der Verbrennungsdruck, dass die kinetische Energie von ½·Iωa2 auf ½· Iωb2 ansteigt. Grob gesagt, bewirkt der Anstieg der kinetischen Energie von ½·(ωb2 – ωa2), dass ein Drehmoment erzeugt wird, so dass das erzeugte Drehmoment zu (ωb2 – ωa2) proportional wird. Daher wird das erzeugte Drehmoment aus dem Unterschied zwischen dem Quadrat der ersten Winkelgeschwindigkeit ωa und dem Quadrat der zweiten Winkelgeschwindigkeit ωb gefunden, und daher wird im oben erwähnten Verbrennungsmotor der Schwankungsbetrag des Drehmoments aus dem so gefundenen, erzeugten Drehmoment berechnet.
  • Wenn jedoch das erzeugte Drehmoment auf diese Art und Weise aus den Winkelgeschwindigkeiten ωa und ωb berechnet wird, während der Motorantriebsmechanismus zum Beispiel Torsionsschwingungen erfährt, dann drückt das aus den Winkelgeschwindigkeiten ωa und ωb berechnete erzeugte Drehmoment nicht mehr das wahre erzeugte Drehmoment aus. Das heisst, wenn der Motorantriebsmechanismus keine Torsionsschwingungen erfährt, erhöht sich die zweite Winkelgeschwindigkeit ωb gegenüber der ersten Winkelgeschwindigkeit ωa um genau den Betrag der Erhöhung der Winkelgeschwindigkeit, der durch den Verbrennungsdruck bewirkt wird. Wenn im Gegensatz dazu das Motorantriebssystem Torsionsschwingungen erfährt, enthält die zweite Winkelgeschwindigkeit ωb zusätzlich zu der durch den Verbrennungsdruck bewirkten Erhöhung der Winkelgeschwindigkeit den Betrag der Änderung der Winkelgeschwindigkeit, der durch die Torsionsschwingungen des Motorantriebssystems in der Zeit zwischen der Erfassung der ersten Winkelgeschwindigkeit ωa bis zur Erfassung der zweiten Winkelgeschwindigkeit ωb bewirkt wird. Wenn sich die Winkelgeschwindigkeit zum Beispiel in der Zeit zwischen der Erfassung der ersten Winkelgeschwindigkeit ωa bis zur Erfassung der zweiten Winkelgeschwindigkeit ωb wegen der Torsionsschwingungen des Motorantriebsmechanismus erhöht hat, dann enthält der Betrag der Erhöhung der zweiten Winkelgeschwindigkeit ωb gegenüber der ersten Winkelgeschwindigkeit ωa zusätzlich zu der durch den Verbrennungsdruck bewirkten Erhöhung der Winkelgeschwindigkeit noch den Betrag der Erhöhung der Winkelgeschwindigkeit wegen der Torsionsschwingungen des Motorantriebsmechanismus. Wenn der Betrag der Erhöhung der Winkelgeschwindigkeit wegen der Torsionsschwingungen des Motorantriebssystems nicht von der zweiten Winkelgeschwindigkeit ωb abgezogen wird, drückt daher in diesem Falle die Differenz zwischen dem Quadrat der ersten Winkelgeschwindigkeit ωa und dein Quadrat der zweiten Winkelgeschwindigkeit ωb nicht das erzeugte Drehmoment aus.
  • In dem oben erwähnten Verbrennungsmotor ist jedoch der Betrag der Änderung der Winkelgeschwindigkeit wegen der Torsionsschwingungen des Motorantriebsmechanismus gar nicht berücksichtigt worden, so dass bei dem oben erwähnten Verbrennungsmotor das Problem bestand, dass es nicht möglich war, das wahre erzeugte Drehmoment zu erfassen, wenn der Motorantriebsmechanismus Torsionsschwingungen erfuhr.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es wäre wünschenswert, ein Erfassungsverfahren in einem Motor zur Verfügung zu stellen, das in der Lage ist, einen Betriebsparameter genau zu erfassen, der die Antriebsleistung eines Zylinders wie zum Beispiel ein abgegebenes Drehmoment oder eine abge gebene Antriebskraft sowie einen Betrag der Schwankung des abgegebenen Drehmoments darstellt.
  • Gemäss der vorliegenden Erfindung wird ein Verfahren zum Erfassen eines Parameters zur Verfügung gestellt, der die Antriebsleistung eines Zylinders in einem Verbrennungsmotor darstellt, wobei das Verfahren die Schritte umfasst:
    einen ersten Kurbelwinkelbereich in einer Kurbelwinkelzone zwischen dem Ende eines Verdichtungshubs und dem Anfang eines Ausdehnungshubs festzulegen,
    einen zweiten Kurbelwinkelbereich in einer Kurbelwinkelzone in der Mitte des Ausdehnungshubs festzulegen, und zwar einen vorbestimmten Kurbelwinkel vom ersten Kurbelwinkelbereich entfernt,
    eine erste Winkelgeschwindigkeit der Kurbelwelle im ersten Kurbelwinkelbereich zu erfassen,
    eine zweite Winkelgeschwindigkeit der Kurbelwelle im zweiten Kurbelwinkelbereich zu erfassen,
    den Betrag der Änderung der Winkelgeschwindigkeit zwischen Zylindern aus dem Unterschied zwischen der ersten Winkelgeschwindigkeit eines Zylinders, in dem die Verbrennung vorher erfolgte, und der ersten Winkelgeschwindigkeit eines Zylinders, in dem die Verbrennung als Nächstes erfolgt, zu finden,
    die zweite Winkelgeschwindigkeit des Zylinders, in dem die Verbrennung vorher erfolgte, nach unten zu korrigieren, wenn sich der Betrag der Änderung der Winkelgeschwindigkeit zwischen Zylindern erhöht hat,
    die zweite Winkelgeschwindigkeit des Zylinders, in dem die Verbrennung vorher erfolgte, nach oben zu korrgieren, wenn sich der Betrag der Änderung der Winkelgeschwindigkeit zwischen Zylindern verringert hat, und
    den benannten, die von einem entsprechenden Zylinder erzeugte Antriebsleistung darstellenden Parameter auf der Basis der ersten Winkelgeschwindigkeit und der korrigierten zweiten Winkelgeschwindigkeit zu finden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung lässt sich umfassender aus der Beschreibung der bevorzugten Ausführungsformen der Erfindung verstehen, die unten zusammen mit den beigefügten Zeichnungen dargelegt wird, in denen:
  • 1 eine Gesamtansicht eines Verbrennungsmotors ist;
  • 2 ist eine Darstellung einer Karte der Kraftstoffeinspritz-Basiszeit;
  • 3 ist eine Darstellung der erzeugten NOx-Menge und der Drehmomentenschwankung;
  • 4 ist eine Darstellung einer Karte eines Mager-Korrekturfaktors;
  • 5 ist eine Darstellung einer Karte eines Rückkopplungs-Korrekturfaktors für die Magergrenze;
  • 6A und 6B sind Ablaufdiagramme der Änderungen in den bei einem Kurbelwinkel von 30° verflossenen Zeiten Ta(i) und Tb(i);
  • 7 ist ein Ablaufdiagramm der Änderungen in der bei einem Kurbelwinkel von 30° verflossenen Zeit Ta(i);
  • 8 ist ein Ablaufdiagramm der Änderungen in den bei einem Kurbelwinkel von 30° verflossenen Zeiten Ta(i) und Tb(i);
  • 9 ist ein Ablaufdiagramm der Änderungen in den bei einem Kurbelwinkel von 30° verflossenen Zeiten Ta(i) und Tb(i);
  • 10 ist ein Ablaufdiagramm der Änderungen in der bei einem Kurbelwinkel von 30° verflossenen Zeit Ta(i);
  • 11 ist ein Flussdiagramm der Unterbrechungsroutine;
  • 12 ist ein Flussdiagramm für die Berechnung der verflossenen Zeiten Ta(i) und Tb(i);
  • 13 bis 15 sind Flussdiagramme zur Überprüfung der Erlaubnis, das Drehmoment zu berechnen;
  • 16 ist ein Ablaufdiagramm der Änderungen in der verflossenen Zeit Ta(i) und der Änderungen der Flaggen XMXREC und XMNREC;
  • 17 ist ein Flussdiagramm für die Berechnung des Drehmoments;
  • 18 und 19 sind Flüssdiagramme für die Berechnung der Verhältnisse KTa(i) und KTb(i);
  • 20 ist ein Flussdiagramm für die Verarbeitung des Zählers CDLNIX;
  • 21 ist eine Darstellung der Zeitpunkte für die Berechnung verschiedener Werte;
  • 22A und 22B sind Darstellungen eines Zielwertes der Drehmomentenschwankung;
  • 23A und 23B sind Darstellungen der Beurteilungswerte DH(n) und DL(n) für den Schwankungsbetrag und der Niveaus der Drehmomentenschwankung LVLH(n) und LVLL(n);
  • 24 ist ein Flussdiagramm, das eine Hauptroutine zeigt;
  • 25 und 26 sind Flussdiagramme für die Berechnung des Wertes der Drehmomentenschwankung;
  • 27 ist ein Flussdiagramm für die Berechnung eines Rückkopplungs-Korrekturfaktors für die Magergrenze;
  • 28 ist ein Flussdiagramm für die Berechnung der Kraftstoffeinspritzzeit;
  • 29 ist eine Darstellung der Beziehung zwischen der Amplitude der Torsionsschwingungen der Kurbelwelle und der Motordrehzahl N;
  • 30A und 30B sind Darstellungen der Änderungen in der Winkelgeschwindigkeit;
  • 31 ist eine Darstellung der Beziehung zwischen der Kurbelwellenposition und der Amplitude der Drehgeschwindigkeit;
  • 32 ist ein Flussdiagramm einer Unterbrechungsroutine;
  • 33 ist ein Flussdiagramm für die Berechnung der verflossenen Zeiten Ta(i) und Tb(i);
  • 34 und 35 sind Flussdiagramme für die Berechnung des Drehmoments;
  • 36 ist ein Flussdiagramm, das eine Hauptroutine zeigt;
  • 37 und 38 sind Flussdiagramme für die Berechnung des Betrages der Drehmomentenschwankung;
  • 39 ist ein Flussdiagramm für die Berechnung der Kraftstoffeinspritzzeit;
  • 40 ist ein Ablaufdiagramm der Ändeningen in den bei einem Kurbelwinkel von 30° verflossenen Zeiten Ta(i) und Tb(i);
  • 41A und 41B sind Ablaufdiagramme der Ändeningen in den bei einem Kurbelwinkel von 30° verflossenen Zeiten Ta(i) und Tb(i);
  • 42 ist eine Darstellung des Betrages der Erhöhung der verflossenen Zeit;
  • 43 ist eine vergrösserte Seitenansicht eines Läufers;
  • 44 ist eine Darstellung des Betrages der Erhöhung der verflossenen Zeit;
  • 45 ist ein Flussdiagramm einer Unterbrechungsroutine;
  • 46 ist ein Flussdiagramm zur Überprüfung der Erlaubnis, das Drehmoment zu berechnen;
  • 47 bis 49 sind Flussdiagramme für die Berechnung des Drehmoments;
  • 50 und 51 sind Flussdiagramme für die Berechnung der Verhältnisse KTa(i) und KTb(i);
  • 52 ist ein Flussdiagramm für die Verarbeitung des Zählers CDLNIX;
  • 53 ist eine Darstellung der Zeitpunkte für die Berechnung verschiedener Werte;
  • 54 ist ein Flussdiagramm, das eine Hauptroutine zeigt;
  • 55 und 56 sind Flussdiagramme für die Berechnung des Betrages der Drehmomentenschwankung;
  • 57 ist ein Flussdiagramm für die Berechnung der Kraftstoffeinspritzzeit;
  • 58 ist ein Ablaufdiagramm der Änderungen in der bei einem Kurbelwinkel von 30° verflossenen Zeit Ta(i) und der bei einem Kurbelwinkel von 50° verflossenen Zeit Tb(i);
  • 59 ist ein Ablaufdiagramm der Änderungen in der bei einem Kurbelwinkel von 30° verflossenen Zeit Ta(i) und der bei einem Kurbelwinkel von 50° verflossenen Zeit Tb(i);
  • 60 ist ein Ablaufdiagramm der Änderungen in der bei einem Kurbelwinkel von 30° verflossenen Zeit Ta(i) und der bei einem Kurbelwinkel von 50° verflossenen Zeit Tb(i);
  • 61 ist ein Flussdiagramm einer Unterbrechungsroutine;
  • 62 ist ein Flussdiagramm für die Berechnung der verflossenen Zeiten Ta(i) und Tb(i);
  • 63 bis 65 sind Flussdiagramme zur Überprüfung der Erlaubnis, das Drehmoment zu berechnen;
  • 66 ist ein Flussdiagramm für die Berechnung des Drehmoments; und
  • 67 ist ein Flussdiagramm, das eine Hauptroutine zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Auf 1 Bezug nehmend, zeigt 1 einen mit vier Zylindern versehenen Motorenkörper mit dem Zylinder Nr. 1 (#1), dem Zylinder Nr. 2 (#2), dem Zylinder Nr. 3 (#3) und dem Zylinder Nr. 4 (#4). Die Zylinder #1, #2, #3 und #4 sind über entsprechende Ansaugrohre 2 mit einem Ausgleichstank 3 verbunden. In den Ansaugrohren 2 sind Kraftstoffeinspritzvorrichtungen 4 für das Einspritzen von Kraftstoff in Richtung auf die entsprechenden Eintrittsöffnungen vorgesehen. Der Ausgleichstank 3 ist über eine Ansaugleitung 5 mit einem Luftfilter 6 verbunden. In der Ansaugleitung 5 ist ein Reglerventil 7 untergebracht. Andererseits sind die Zylinder #1, #2, #3 und #4 über eine Ansaugleitung 8 und ein Auspuffrohr 9 mit einem Topf 11 verbunden, in dem ein NOx-Absorptionsmittel 10 untergebracht ist. Dieses NOx-Absorptionsmittel 10 hat die Aufgabe, das im Auspuffgas enthaltene NOx zu absorbieren, wenn das Kraftstoff-Luft-Verhältnis mager ist, und das absorbierte NOx auszustossen, wenn das Kraftstoff-Luft-Verhältnis stöchiometrisch oder fett ist.
  • Die elektronische Steuiereinheit 20 besteht aus einem digitalen Rechner und ist mit einem ROM (read only memory: Festspeicher) 22, einem RAM (random access memory: Direktzugriffsspeicher) 23, einer CPU (Mikroprozessor) 24, einem mit einer Konstantstromquelle verbundenen Reserve-RAM 25, einem Eingabeport 26 und einem Ausgabeport 27 versehen, die miteinander über einen Zweiwegbus 21 verbunden sind. An der Kraftabgabewelle des Motors 12 sitzt ein Läufer 13 mit Aussenverzahnung. Ein Kurbelwinkelfühler 14 mit elektromagnetischem Messwandler ist der Verzahnung des Läufers 13 zugewandt angeordnet. Wie in 1 gezeigt, hat der Läufer 13 in dieser Ausführungsform alle 30° des Kurbelwinkels einen Aussenzahn an seiner Peripherie, und ein Teil der Aussenverzahnung ist zum Beispiel entfernt worden, um den oberen Totpunkt des Verdichtungshubes des Zylinders Nr. 1 zu erfassen. Ausser an dein Abschnitt, an dem die Aussenverzahnung entfernt worden ist, d. h. dem zahnlosen Abschnitt, erzeugt daher der Kurbelwinkelfühler 14 jedesmal einen Ausgangsimpuls, wenn die Kraftabgabewelle 12 sich um einen Kurbelwinkel von 30° dreht. Dieser Ausgangsimpils wird in den Eingabeport 26 eingegeben.
  • Am Ausgleichstank 3 ist ein Druckfühler 15 angebracht, der eine dem absoluten Druck im Ausgleichstank 3 proportionale Ausgangsspannung erzeugt. Die Atisgangsspannung dieses Druckfühlers 15 wird über einen entsprechenden A/D-Umsetzer 28 in den Eingabeport 26 eingegeben. Des Weiteren ist am Reglerventil 7 ein Leerlaufschalter 16 angebracht, der erfasst, wann das Reglerventil 7 sich in seiner Leerlauf-Öffnungsposition befindet. Das Ausgangssignal dieses Leerlaufschalters 16 wird in den Eingabeport 26 eingegeben. Des Weiteren ist an der Ansaugleitung 8 ein Kraftstoff-Luft-Verhältnisfühler (O2-Fühler) 17 angebracht, der das Kraftstoff-Luft-Verhältnis erfasst. Das Ausgangssignal dieses Kraftstoff-Luft-Verhältnisfühlers 17 wird über den entsprechenden A/D-Umsetzer 28 in den Eingabeport 26 eingegeben. Andererseits ist der Ausgabeport 27 uber den entsprechenden Steuerkreis 29 mit den Kraftstoffeinspritzvorrichtungen 4 verbunden.
  • In dem in 1 gezeigten Verbrennungsmotor wird die Kraftstoffeinspritzzeit TAU auf der Basis der folgenden Gleichung berechnet: TAU = TP · FLEAN·FLLFB·FAF + TAUV.
  • Hier bedeutet TP eine Kraftstoffeinspritz-Basiszeit, FLEAN ist ein Mager-Korrekturfaktor, FLLFB ist ein Rückkopplungs-Korrekturfaktor für die Magergrenze, FAF ist ein Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis und TAUV ist eine ungültige Einspritzzeit.
  • Die Kraftstoffeinspritz-Basiszeit TP gibt die Einspritzzeit an, die erforderlich ist, um das Kraftstoff-Luft-Verhältnis stöchiometrisch zu machen. Diese Kraftstoffeinspritz-Basiszeit TP wird aus Versuchen gefunden. Diese Kraftstoffeinspritz-Basiszeit TP wird im Voraus in Gestalt einer in 2 gezeigten Karte im ROM 22 gespeichert, und zwar als eine Funktion des absoluten Drucks PM im Ausgleichstank 3 und der Motordrehzahl N.
  • Der Mager-Korrekturfaktor FLEAN ist ein Korrekturfaktor, um das Kraftstoff-Luft-Verhältnis auf ein mageres Kraftstoff-Luft-Zielverhältnis zu bringen. Dieser Magerkorrekturfaktor FLEAN wird im Voraus in Gestalt der in 4 gezeigten Karte im ROM 22 gespeichert, und zwar als eine Funktion des absoluten Drucks PM im Ausgleichstank 3 und der Motordrehzahl N.
  • Der Rückkopplungs-Korrekturfaktor für die Magergrenze FLLFB ist ein Korrekturfaktor, um das Kraftstoff-Luft-Verhältnis an der Magergrenze zu halten. In dieser Ausfuhrungsform gemäss der vorliegenden Erfindung ist die Lernzone für die Rückkopplungssteuerung des mageren Kraftstoff-Luft-Verhältnisses beim absoluten Druck PM im Ausgleichstank 3 und bei der Motordrehzahl N in neun Bereiche unterteilt, wie zum Beispiel in 5 gezeigt. Rückkopplungs-Korrekturfaktoren für die Magergrenze FLLFB 11 bis FLLFB 33 werden für die Lernbereiche festgelegt.
  • Der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis FAF ist ein Faktor, um das Kraftstoff-Luft-Verhältnis stöchiometrisch zu halten. Der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis FAF wird auf der Basis des Ausgangssignals des Kraftstoff-Luft-Verhältnisfühlers 17 so gesteuert, dass das Kraftstoff-Luftverhältnis stöchiometrisch gehalten wird. zum gegenwärtigen Zeitpunkt schwankt der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis FAF wesentlich um den Wert von 1,0.
  • Der Mager-Korrekturfaktor FLEAN wird in Übereinstimmung mit dem Betriebszustand des Motors für den in 4 durch gestrichelte Linien eingeschlossenen Betriebsbereich festgelegt. In diesem Betriebsbereich wird das Kraftstoff-Luft-Verhältnis auf dem mageren Kraftstoff-Luft-Zielverhältnis gehalten. Im Gegensatz dazu wird im Betriebsbereich ausserhalb des in 4 durch die gestrichelte Linie eingeschlossenen Bereichs das Kraftstoff-Luft-Verhältnis stöchiometrisch gehalten. Wenn das Kraftstoff-Luft-Verhältnis stöchiometrisch gehalten werden soll, dann werden der Mager-Korrekturfaktor FLEAN und der Rückkopplungs-Korrekturfaktor für die Magergrenze FLLFB auf den Wert von 1,0 festgelegt, während der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luftverhältnis FAF auf der Basis des Ausgangssignals des Kraftstoff-Luft-Verhältnisfühlers 17 gesteuert wird.
  • Wenn andererseits das Kraftstoff-Luft-Verhältnis auf dem mageren Kraftstoff-Luft-Zielverhältnis gehalten werden soll, wird der Ruckkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis FAF auf den Wert von 1,0 festgelegt, das heisst, die auf der Basis des Ausgangssignals des Kraftstoff-Luft-Verhältnisfühlers 17 beruhende Rückkopplungssteuerung wird abgebrochen, und der Mager-Korrekturfaktor FLEAN sowie der Rückkopplungs-Korrekturfaktor für die Magergrenze FLLFB werden verwendet, um das Kraftstoff-Luft-Verhältnis zum mageren Kraftstoff-Luft-Zielverhältnis zu steuern.
  • Als Nächstes wird unter Bezugnahme auf 3 die Rückkopplungssteuerung der Magergrenze erläutert. 3 zeigt die Beziehung zwischen dem Betrag der Drehmomentenschwankung der Motorenleistung und der erzeugten NOx-Menge in Abhängigkeit vom Kraftstoff-Luft-Verhältnis. Der Kraftstoffverbrauch ist desto geringer, je magerer das Kraftstoff-Luft-Verhältnis ist. Des Weiteren ist die Menge des erzeugten NOx desto kleiner, je magerer das Kraftstoff-Luft-Verhältnis ist. Unter diesen Gesichtspunkten betrachtet, wäre es daher wünschenswert, das Kraftstoff-Luft-Verhältnis so mager wie möglich zu machen. Es sei jedoch bemerkt, dass die Verbrennung instabil wird, wenn das Kraftstoff-Luft-Verhältnis über einen bestimmten Punkt hinaus mager gemacht wird, und im Ergebnis wird der Betrag der Drehmomentenschwankung gross, wie in 3 gezeigt. In dieser Ausfuhrungsform gemäss der vorliegenden Erfindung wird deshalb das Kraftstoff-Luft-Verhältnis in dem Bereich der Steuerung des Kraftstoff-Luftverhältnisses gehalten, wo die Drehmomentenschwankung anzusteigen beginnt, wie in 3 gezeigt.
  • Das bedeutet, eingehender erklärt; dass der Mager-Korrekturfaktor FLEAN so bestimmt wird, dass das Kraftstoff-Luft-Verhältnis zur Mitte des in 3 gezeigten Bereichs der Steuerung des Kraftstoff-Luft-Verhältnisses geht, wenn der Rückkopplungs-Korrekturfaktor für die Magergrenze FLLFB zu 1,0 gemacht wird. Andererseits wird der Rückkopplungs-Korrekturfaktor für die Magergrenze FLLFB in Übereinstimmung mit dem Betrag der Drehmomentenschwankung so gesteuert, dass er sich innerhalb des in 3 gezeigten Steuerbereichs der Drehmomentenschwankung befindet. Wenn der Betrag der Drehmomentenschwankung grösser wird, wird der Rückkopplungs-Korrekturfaktor für die Magergrenze FLLFB erhöht, d. h. das Kraftstoff-Luft-Verhältnis wird grösser gemacht, während der Rückkopplungs-Korrekturfaktor für die Magergrenze FLLFB verringert wird, wenn der Betrag der Drehmomentenschwankung kleiner wird, d. h. das Kraftstoff-Luft-Verhältnis wird kleiner gemacht. Auf diese Weise wird das Kraftstoff-Luft-Verhältnis so gesteuert, dass es sich innerhalb des in 3 gezeigten Bereichs der Steuerung des Kraftstoff-Luft-Verhältnisses befindet.
  • Es sei bemerkt, dass der Rückkopplungs-Korrekturfaktor für die Magergrenze FLLFB, wie aus einem Vergleich der 4 und 5 verstanden werden kann, auf im Wesentlichen den gleichen Bereich festgelegt wird wie der Motorbetriebsbereich, in dem der Mager-Korrekturfaktor FLEAN festgelegt ist.
  • Wenn der Betrag der Drehmomentenschwankung so gesteuert wird, dass er sich innerhalb des in 3 gezeigten Bereichs der Steuerung der Drehmomentenschwankung befindet, kann ein ausgezeichnetes Fahrverhalten des Fahrzeugs gewährleistet werden, während der Kraftstoffverbrauch und die Menge des erzeugten NOx stark verringert werden können. Da aber der Betrag der Drehmomentenschwankung so gesteuert wird, dass er sich innerhalb des Bereiches der Steuering der Drehmomentenschwankung befindet, muss daher der Betrag der Drehmomentenschwankung erfasst werden, und das Drehmoment selbst muss erfasst werden, um den Betrag der Drehmomentenschwankung zu erfassen.
  • Verschiedene Verfahren sind in der Vergangenheit vorgeschlagen worden, um das von jedem Zylinder abgegebene Drehmoment zu berechnen. Das heisst, wenn es möglich wäre, das von jedem Zylinder abgegebenen Drehmoment zu berechnen, dann könnte das so berechnete, abgegebene Drehmoment nicht nur, wie oben erklärt, dazu vervendet werden, das magere Kraftstoff-Luft-Verhältnis steuern zu können, sondern es könnte auch für verschiedene andere Arten von Steuerung verwendet werden, so dass es von grosser Bedeutung ist, das beste Verfahren zu finden, um das von jedem Zylinder abgegebene Drehmoment zu berechnen. In der Vergangenheit sind daher verschiedene Verfahren vorgeschlagen worden, um das von jedem Zylinder abgegebene Drehmoment zu berechnen. Um typische Verfahren zu erwähnen, gibt es das Verfahren, einen Verbrerrnungsdruckfühler in der Verbrennungskammer zur Verfügung zu stellen und das abgegebene Drehmoment auf der Basis des Ausgangssignals dieses Verbrenntingsdruckfühlers zu berechnen, oder das Verfahren, das abgegebene Drehmoment aus der Differenz zwischen dem Quadrat der ersten Winkelgeschwindigkeit ωa und dem Quadrat der zweiten Winkelgeschwindigkeit ωb zu berechnen, wie eingangs erklärt.
  • Wenn ein Verbrennungsdruckfühler verwendet wird, besteht der Voreil, dass das in dem mit dem Verbrennungsdruckfühler versehenen Zylinder erzeugte Drehmoment zuverlässig erfasst werden kann, aber im Gegenzug besteht der Nachteil, dass der Verbrennungsdruckfühler erforderlich ist. Im Gegensatz dazu können die Winkelgeschwindigkeiten ωa und ωb aus dem Ausgangssignal des Kurbelwinkelfühlers berechnet werden, der in der Vergangenheit im Verbrennungsmotor zur Verfügung gestellt wurde, so dass bei Berechnung des abgegebenen Drehmoments auf der Basis der Winkelgeschwindigkeiten ωa und ωb der Vorteil besteht, dass kein neuer Fühler montiert zu werden braucht. In diesem Falle besteht jedoch, wie eingangs erklärt, das Problem, dass das erzeugte Drehmoment nicht mehr genau erfasst werden kann, wenn der Motorantriebsmechanismus Torsionsschwingungen erfährt. Es ist aber klar, dass, wenn dieses Problem gelöst werden könnte, das Verfahren einer Berechnung des Drehmoments auf der Basis der Winkelgeschwindigkeit, das keinen neuen Fühler verlangt, zu bevorzugen wäre. Die vorliegende Erfindung berechnet daher das erzeugte Drehmoment auf der Basis der Winkelgeschwindigkeit und kann dadurch das erzeugte Drehmoment genau erfassen, selbst wenn der Motorantriebsmechanismus Torsionsschwingungen erfährt.
  • Als Nächstes wird das neue Verfahren gemäss der vorliegenden Erfindung zur Berechnung der durch jeden Zylinder erzeugten Antriebskraft und des in jedem Zylinder erzeugten Drehmoments erläutert.
  • zuerst wird das Verfahren zur Berechnung der durch jeden Zylinder erzeugten Antriebskraft und des in jedem Zylinder erzeugten Drehmoments unter Bezugnahme auf 6A und 6B erläutert, die den stationären Betriebszustand zeigen, wenn der Motorantriebsmechanismus keine Torsionsschwingungen erfährt. Wie oben erklärt, erzeugt der Kurbelwinkelfühler 14 jedes Mal, wenn sich die Kurbelwelle um einen Kurbelwinkel von 30° dreht, einen Ausgangsimpuls. Des Weiteren ist der Kurbelwinkelftühler 14 so angeordnet, dass er einen Ausgangsimpuls im oberen Totpunkt (TDC: top dead center) des Verdichtungshubs der Zylinder #1, #2, #3 und #4 erzeugt. Daher erzeugt der Kurbelwinkelfühler 14 einen Ausgangsimpuls für jeden Kurbelwinkel von 30° vom oberen Totpunkt TDC des Verdichtungshubs der Zylinder #1, #2, #3 und #4. Es sei bemerkt, dass die Zündfolge des in der vorliegenden Erfindung verwendeten Verbrennungsmotors 1-3-4-2 ist.
  • In 6A und 6B zeigt die senkrechte Achse T30 für einen Kurbelwinkel von 30° die Zeit, die zwischen dem Zeitpunkt, zu dem der Kurbelwinkelfühler 14 einen Ausgangsimpuls erzeugt, und dem Zeitpunkt, zu dem er den nächsten Ausgangsimpuls erzeugt, verflossen ist. Des Weiteren zeigt Ta(i) die Zeit, die zwischen dem oberen Totpunkt des Verdichtungshubs (hiernach als TDC bezeichnet) und 30° nach dem oberen Totpunkt des Verdichtungshubs (hiernach als ATDC: after top dead center, bezeichnet) des Zylinders Nr. i verflossen ist, während Tb(i) die Zeit zeigt, die zwischen ATDC 60° und ATDC 90° des Zylinders Nr. i verflossen ist. Daher zeigt zum Beispiel Ta(1) die Zeit, die von TDC bis ATDC 30° des Zylinders Nr. 1 verflossen ist, während Tb(1) die Zeit zeigt, die von ATDC 60° bis ATDC 90° des Zylinders Nr. 1 verflossen ist. Wenn andererseits der Kurbelwinkel von 30° durch die verflossene Zeit T30 geteilt wird, liefert das Ergebnis der Division die Winkelgeschwindigkeit w. In dieser Ausführungsform gemäss der vorliegenden Erfindung wird Kurbelwinkel 30°/Ta(i) als die erste Winkelgeschwindigkeit ωa im Zylinder Nr. i bezeichnet, während Kurbelwinkel 30°/Tb(i) als die zweite Winkelgeschwindigkeit ωb im Zylinder Nr. i bezeichnet wird. Daher zeigt Kurbelwinkel 30°/Ta(1) die erste Winkelgeschwindigkeit ωa des Zylinders Nr. 1, während Kurbelwinkel 30°/Tb(1) die zweite Winkelgeschwindigkeit ωb des Zylinders Nr. 1 zeigt.
  • Bei Zylinder Nr. 1 in 6A und 6B ist zu bemerken, dass die verflossene Zeit, wenn die Verbrennung gestartet wird und der Verbrennungsdruck ansteigt, von Ta(1) nach Tb(1) fällt, dann von Tb(1) ansteigt. In anderen Worten steigt die W inkelgeschwindigkeit w der Kurbelwelle von der ersten -Winkelgeschwindigkeit ωa zur zweiten Winkelgeschwindigkeit ωb, dann fällt sie wieder von dieser zweiten Winkelgeschwindigkeit ωb ab. Das bedeutet, dass der Verbrennungsdruck bewirkt, dass die Winkelgeschwindigkeit w der Kurbelwelle von der ersten Winkelgeschwindigkeit ωa zur zweiten Winkelgeschwindigkeit ωb ansteigt. 6A zeigt den Fall, in dem der Verbrennungsdruck verhältnismässig hoch ist, während 6B den Fall zeigt, in dem der Verbrennungsdruck verhältnismässig niedrig ist. Aus 6A und 6B ist ersichtlich, dass der Betrag der Verringerung der verflossenen Zeit (Ta(i) – Tb(i)) bei hohem Verbrennungsdruck grösser ist als bei niedrigem Verbrennungsdruck, daher wird auch der Betrag der Erhöhung (ωb – ωa) der Winkelgeschwindigkeit w grösser. Wenn der Verbrennungsdruck höher wird, wird die durch den Zylinder erzeugte Antriebskraft grösser, daher wird die durch den Zylinder erzeugte Antriebskraft auch grösser, wenn der Betrag der Erhöhung (ωb – ωa) der Winkelgeschwindigkeit w grösser wird. Es ist daher möglich, die durch einen Zylinder erzeugte Antriebskraft aus der Differenz (ωb – ωa) zwischen der ersten Winkelgeschwindigkeit ωa und der zweiten Winkelgeschwindigkeit ωb zu berechnen.
  • Andererseits bewirkt der Verbrennungsdruck, wenn das Rotationsträgheitsmoment des Motors I ist, dass die kinetische Energie von ½·Iωa2 auf ½·Iωb2 ansteigt. Der Betrag des Anstiegs der kinetischen Energie, ½·I·(ωb2 – ωa2); drückt das durch diesen Zylinder erzeugte Drehmoment aus, daher wird es möglich, aus der Differenz (ωb2 – ωa2) zwischen dem Quadrat der ersten Winkelgeschwindigkeit ωa und dem Quadrat der zweiten Winkelgeschwindigkeit ωb das durch einen Zylinder erzeugte Drehmoment zu berechnen.
  • Durch eine Erfassung der ersten Winkelgeschwindigkeit ωa und der zweiten Winkelgeschwindigkeit ωb wird es somit möglich, aus den erfassten Werten die von dem entsprechenden Zylinder erzeugte Antnebskraft und das durch den entsprechenden Zylinder erzeugte Drehmoment zu berechnen. Es sei bemerkt, dass die Änderung der verflossenen Zeit T30, die in 6A und 6B gezeigt wird, sich je nach dem Motor etwas unterscheidet, daher werden der Kurbelwinkelbereich zur Erfassung der ersten Winkelgeschwindigkeit ωa und der Kurbelwinkelbereich zur Erfassung der zweiten Winkelgeschwindigkeit ωb in Übereinstimmung mit dem Motor so festgelegt, dass (ωb – ωa) am besten die durch den Motor erzeugte Antriebskraft ausdrückt, oder so, dass (ωb2 – ωa2) am besten das durch den Motor erzeugte Drehmoment ausdrückt. Je nach dem Motor kann sich daher der Kurbelwinkelbereich zur Erfassung der ersten Winkelgeschwindigkeit von 30° vor dem oberen Totpunkt (BTDC: before the top dead center) des Verdichtungshubs bis TDC erstrecken, während sich der Kurbelwinkelbereich zur Erfassung der zweiten Winkelgeschwindigkeit ωb von ATDC 90° bis ATDC 120°. erstrecken kann.
  • Daher wird, um das Verfahrens der Erfassung der Winkelgeschwindigkeiten ωa und ωb in allgemeiner Form zu erklären, der erste Kurbelwinkelbereich in der Kurbelwinkelzone zwischen dem Ende des Verdichtungshubs bis zum Anfang des Ausdehnungshubs festgelegt, der zweite Kurbelwinkelbereich wird in der Kurbelwinkelzone in der Mitte des Ausdehnungshubs festgelegt, und zwar um einen vorbestimmten Kurbelwinkel vom ersten Kurbelwinkelbereich entfernt, die erste Winkelgeschwindigkeit ωa der Kurbelwelle wird im ersten Kurbelwinkelbereich erfasst, und die zweite Winkelgeschwindigkeit der Kurbelwelle ωb wird im zweiten Kurbelwinkelbereich erfasst.
  • Wie oben erklärt, wird es durch Erfassen der Winkelgeschwindigkeiten ωa und ωb möglich, auf der Basis der erfassten Werte die Antriebskraft und das Drehmoment zu berechnen, die von einem entsprechenden Zylinder erzeugt werden. Der Motorantriebsmechanismus erfährt jedoch Torsionsschwingungen, die bei der Resonanzfreguenz des Antriebsmechanismus auftreten und durch die aufeinanderfolgenden Explosionen in den Zylindern verursacht werden. Wenn der Motorantriebsmechanismus solche Torsionsschwingungen erfährt, ist es nicht mehr möglich, auf der Basis der Winkelgeschwindigkeiten ωa und ωb die Antriebskraft und das Drehmoment, die durch einen Zylinder erzeugt werden, genau zu erfassen. Dies wird als Nächstes unter Bezugnahme auf 7 und 8 erklärt werden.
  • 7 zeigt die Änderungen in den verflossenen Zeiten Ta(i), die aufeinanderfolgend für jeden Zylinder berechnet werden, wenn der Motorantriebsmechanismus Torsionsschwingungen erfährt. Wenn der Motorantriebsmechanismus Torsionsschwingungen erfährt, bewirken diese Torsionsschwingungen, dass sich die Winkelgeschwindigkeit einer Kurbelwelle zyklisch erhöht und verringert, daher erhöht und verringert sich die verflossene Zeit Ta(i) zyklisch, wie in 7 gezeigt.
  • Andererseits zeigt 8 den Abschnitt, in dem die verflossene Zeit Ta(i) verringert ist, im vergrösserten Massstab. Die verflossene Zeit Ta(i) fällt, wie in 8 gezeigt, zwischen Ta(1) und Ta(3) um ho. Es wird angenommen, dass dieser Abfall ho auf eine Erhöhung des Betrages der Verdrehung wegen der Torsionsschwingungen zurückzuführen ist. Es wird angenommen, dass in diesem Falle der Betrag der Verringerung der verflossenen Zeit wegen der Torsionsschwingungen zwischen Ta(1) und Ta(3) im Wesentlichen linear mit der verflossenen Zeit ansteigt, daher wird dieser Betrag der Verringerung der verflossenen Zeit wegen der Torsionsschwingungen durch den Unterschied zwischen der Ta(1) und Ta(3) verbindenden, gestrichelten Linie und der durch Ta(1) gehenden horizontalen Linie gezeigt. Zwischen Ta(1) und Tb(1) bewirken daher die Torsionsschwingungen einen Abfall der verflossenen Zeit um genau den Wert von h.
  • Das bedeutet, dass Tb(1) eine geringere verflossene Zeit hat als Ta(1), aber diese kürzere verflossene Zeit enthält den Betrag f einer Verringerung der verflossenen Zeit wegen des Verbrennungsdruckes und den Betrag h einer Verringerung der verflossenen Zeit wegen der Torsionsschwingungen. Um nur die verflossene Zeit Tb'(1) zu finden, die sich wegen des Verbrennungsdruckes verringert hat, wird es notwendig, h zu Tb(1) zu addieren. Das heisst, dass die erfasste verflossene Zeit Tb(1) nach oben korrigiert werden muss, um nur die verflossene Zeit Tb'(1) zu finden, die sich wegen des Verbrennungsdruckes verringert hat, wenn sich die verflossen Zeit Ta(i) zwischen Zylindern (Ta(1) – Ta(3)) verringert. In anderen Worten muss die zweite Winkelgeschwindigkeit ωb des Zylinders, in dem die Verbrennung zuerst erfolgte, nach unten korrigiert werden, wenn sich die erste Winkelgeschwindigkeit ωa zwischen Zylindern erhöht.
  • Im Gegensatz dazu enthält die gegenüber Ta(1) verringerte, verflossene Zeit Tb(1) den Betrag der Verringerung der verflossenen Zeit wegen des Verbrennungsdruckes und den Betrag der Erhöhung der verflossenen Zeit wegen der Torsionsschwingungen, wenn sich Ta(3) gegenüber Ta(2) erhöht. Um in diesem Falle nur die wegen des Verbrennungsdruckes verringerte, abgelaufene Teit Tb'(1) zu finden, muss der Betrag der Erhöhung der verflossenen Zeit wegen der Torsionsschwingungen von Tb(1) abgezogen werden. Das heisst, dass die erfasste verflossene Zeit Tb(1) nach unten korrigiert werden muss, wenn sich die verflossene Zeit Ta(i) zwischen Zylindern erhöht, um nur die verflossene Zeit Tb'(1) zu finden, die sich wegen des Verbrennungsdruckes verringert hat. In anderen Worten muss die zweite Winkelgeschwindigkeit ωb des Zylinders, in dem die Verbrennung zuerst erfolgte, nach oben korrigiert werden, wenn sich die erste Winkelgeschwindigkeit ωa zwischen Zylindern verringert.
  • Wie oben erklärt, ermöglicht es eine Korrektur der zweiten Winkelgeschwindigkeit ωb, die durch jeden Zylinder erzeugte Antriebskraft aus der Differenz (ωb – ωa) zwischen der ersten Winkelgeschwindigkeit ωa und der zweiten Winkelgeschwindigkeit ωb genau zu erfassen, selbst wenn der Motorantriebsmechanismus Torsionsschwingungen erfährt, und ermöglicht es, das durch jeden Zylinder erzeugte Drehmoment aus der Differenz (ωb2 – ωa2) zwischen dem Quadrat der ersten Winkelgeschwindigkeit ωa und dem Quadrat der zweiten Winkelgeschwindigkeit ωb genau zu berechnen. Es sei jedoch bemerkt, dass die Antriebskraft und das Drehmoment, die durch einen Zylinder erzeugt werden, nicht genau erfasst werden können, wenn eine Variation in den Abständen zwischen den entlang der Peripherie des Läufers 13 (1) ausgebildeten Aussenzähnen vorliegt, selbst wenn die zweite Winkelgeschwindigkeit ωb wie oben erklärt korrigiert wird. Dies wird als Nächstes unter Bezugnahme auf 9 erklärt werden.
  • 9 zeigt den Fall, in dem der Abstand zwischen dem Aussenzahn des Läufers 13, der die TDC des Zylinders Nr. 1 (#1) anzeigt, und dem Aussenzahn des Läufers 31, der ATDC 30° anzeigt, kleiner ist als der Abstand zwischen anderen Aussenzähnen. Es lässt sich aus einem Vergleich der 8 und 9 verstehen, dass sich in diesem Falle die verflossene Zeit Ta(1) als kürzer erweisen wird als die für einen Kurbelwinkel von 30° verflossene richtige Zeit. Des Weiteren lässt sich aus einem Vergleich der 8 und 9 verstehen, dass sich dann der Betrag der Verringerung, h', der verflossenen Zeit wegen der Torsionsschwingungen als kleiner erweisen wird als der richtige Betrag der Verringerung, h, so dass der Wert Tb'(1), der nur die wegen des Verbrennungsdruck verringerte, verflossene Zeit ausdrückt, sich ebenfalls als kleiner erweisen wird als der richtige Wert.
  • In dieser Ausführungsform gemäss der vorliegenden Erfindung werden daher das Verhältnis KTa(i) (= Ta(i)m/Ta(i)) zwischen dem Mittelwert Ta(i)m der verflossenen Zeiten Ta(i) aller Zylinder und der verflossenen Zeit Ta(i) jedes Zylinders und das Verhältnis KTb(i) (= Tb(i)m/Tb(i)) zwischen dem Mittelwert Tb(i)m der verflossenen Zeiten Tb(i) aller Zylinder und der verflossenen Zeit Tb(i) jedes Zylinders zu dem Zeitpunkt, wenn die Kraftstoffzufuhr in einem Verlangsamungsvorgang unterbrochen worden ist und der Motorantriebsmechanismus keine Torsionsschwingungen erfährt, gefunden. Wenn Kraftstoff zugeführt wird, wird die tatsächlich erfasste, verflossene Zeit Ta(i) jedes Zylinders mit dem Verhältnis KTa(i) multipliziert, um die endgültige verflossene Zeit Ta(i) für jeden Zylinder zu finden, und die tatsächlich erfasste, verflossene Zeit Tb(i) jedes Zylinders wird mit dem Verhältnis KTb(i) multipliziert, um die endgültige verflossene Zeit Tb(i) für jeden Zylinder zu finden.
  • Wenn daher zum Beispiel, wie oben erklärt, die tatsächlich für den Zylinder Nr. 1 (#1) erfasste, verflossene Zeit Ta(1) kürzer als die richtige verflossene Zeit ist, wird das Verhältnis KTa(1) sogar grösser als 1,0, daher kommt die endgültige verflossene Zeit Ta(1), die durch Multiplikation der tatsächlich erfassten, verflossenen Zeit Ta(1) mit dem Verhältnis KTa(1) erhalten wird, der richtigen verflossenen Zeit Ta(1) recht nahe. Indem weiter der Betrag der Verringerung der verflossenen Zeit wegen der Torsionsschwingungen, h, auf der Basis der so gewonnenen, endgültigen verflossenen Zeit Ta(i) gefunden wird, stimmt dieser Betrag der Verringerung, h, im Wesentlichen mit dem richtigen Betrag der Verringerung überein, daher stellt selbst der Wert von Tb'(1), der nur die wegen des Verbrennungsdruckes verflossene Zeit ausdrückt, im Wesentlichen den richtigen Wert dar. Auf diese Weise können in dieser Ausführungsform gemäss der vorliegenden Erfindung die Antriebskraft und das Drehmoment, die an jedem Zylinder erzeugt werden, genau erfasst werden, selbst wenn eine Variation in den Abständen zwischen den Aussenzähnen des Läufers 13 vorliegt.
  • Andererseits schwankt Ta(i) für jeden Zylinder, wenn das Fahrzeug auf einer holperigen Strasse fährt. Dabei wird manchmal der Betrag der Schwankung von Ta(i) äusserst gross. 10 zeigt die Schwankungen in Ta(i), wenn das Fahrzeug auf einer holperigen Strasse fährt. In 10 zeigt AMP die Differenz zwischen dem minimalen Ta(i) und dem maximalen Ta(i), das heisst, die Amplitude. Wenn diese Amplitude AMP klein ist, kann der Wert von Tb'(i), der nur die wegen des Verbrennungsdrucks verflossene Zeit ausdrückt, genau erfasst werden, indem der Wert von h, wie in 8 gezeigt, durch das bis hierher erklärte Verfahren berechnet wird.
  • Wenn jedoch die Amplitude AMP gross wird, können die Antriebskraft oder das Drehmoment, die an einem Zylinder erzeugt werden, an dem Ta(i) ein Maximum oder Minimum wird, nicht mehr genau erfasst werden. Wenn zum Beispiel in 10 der Zylinder, der das maximale Ta(i) gibt, der erste Zylinder (Nr. 1) ist, wird der Betrag der Verringerung, h, wegen der Torsionsschwingungen für eine Berechnung von Tb'(1) des Zylinders Nr. 1 (#1) aus der Neigung der Ta(1) und Ta(3) in 10 verbindenden gestrichelten Linie gefunden. Nahe dem Punkt, an dem der Zylinder Nr. 1 (#1) TDC erreicht, verändert sich aber der Betrag der Erhöhung bzw. der Betrag der Verringerung der verflossenen Zeit wegen der Torsionsschwingungen gemäss der glatten Kurve, die durch Ta(2), Ta(1) und Ta(3) geht. Wenn daher der Betrag der Verringerung, h, des Zylinders Nr. 1 (# 1) gegenüber Tb(1) aus der Neigung der Ta(1) und Ta(3) verbindenden, gestrichelten Linie gefunden wird, ist der berechnete Betrag dieser Verringerung, h, sogar beträchtlich grösser als der tatsächliche Wert. Im Ergebnis gibt Tb'(1) nicht mehr den richtigen Wert an, so dass die Antriebskraft und das Drehmoment, die am Zylinder erzeugt werden, nicht mehr genau erfasst werden können. Wenn die Amplitude AMP gross wird, ergibt sich die gleiche Situation für den Zylinder, der das minimale Ta(i) liefert.
  • Des Weiteren weicht der Wert von h in einem Zylinder, bei dem sich Ta(i) gegenüber dem Wert von Ta(i) des Zylinders, in dem die Verbrennung vorher stattfand, scharf verändert, vom tatsächlichen Wert ab, daher können die Antriebskraft und das Drehmoment, die durch den Zylinder erzeugt werden, nicht mehr genau erfasst werden. In dieser Ausführungsform gemäss der vorliegenden Erfindung werden daher die Antriebskraft oder das Drehmoment für einen Zylinder, bei dem Ta(i) einen maximalen oder minimalen Wert annimmt, nicht gesucht, wenn die Amplitude AMP gross ist. Im Weiteren werden die Antriebskraft oder das Drehmoment ebenfalls nicht für einen Zylinder gesucht, bei dem Ta(i) sich gegenüber dem Wert von Ta(i) des Zylinders, mit dem die Verbrennung vorher stattfand, rasch verändert.
  • Als Nächstes werden die Routinen zur Auffindung des an jedem Zylinder erzeugten Drehmoments unter Bezugnahme auf 11 bis 21 erklärt. Es sei bemerkt, dass 21 die Zeitpunkte für die Berechnung der verschiedenen Werte, die in jeder Routine erfolgt, zeigt.
  • 11 zeigt eine Unterbrechungsroutine, die bei jedem Kurbelwinkel von 30° durchgeführt wird. Auf 11 Bezug nehmend, wird zuerst die Routine (Schritt 100) für eine Berechnung der verflossenen Zeiten Ta(i) und Tb(i) vorgenommen. Diese Routine ist in 12 gezeigt. Als Nächstes wird die Routine (Schritt 200) für eine Überprüfung, ob das Drehmoment berechnet werden darf oder nicht, vorgenommen. Diese Routine ist in 13 bis 15 gezeigt. Als Nächstes wird die Routine für eine Berechnung des Drehmoments (Schritt 300) vorgenommen. Diese Routine ist in 17 gezeigt. Als Nächstes wird die Routine für eine Berechnung der Verhältnisse KTa(i) und KTb(i) (Schritt 400) vorgenommen. Diese Routine ist in 18 und 19 gezeigt. Als Nächstes wird die Routine für eine Verarbeitung des Zählers CDLNIX, die für eine Berechnung des Schwan kungswertes des Drehmoments verwendet wird, vorgenommen. Diese Routine ist in 20 gezeigt.
  • Auf 12 Bezug nehmend, die die Routine für eine Berechnung der verflossenen Zeiten Ta(i) und Tb(i) zeigt, wird zuerst im Schritt 101 die Zeit auf den Wert TIME0 gesetzt. Die elektronische Steuereinheit 20 ist mit einem freilaufenden Zähler versehen, der die Zeit anzeigt. Die Zeit wird aus dem Zählwert dieses freilaufenden Zählers berechnet. Als Nächstes wird in Schritt 102 die laufende Zeit aufgesucht. Daher drückt TIME0 des Schrittes 101 die Zeit des vorherigen 30°-Kurbelwinkels aus.
  • Als Nächstes wird im Schritt 103 beurteilt, ob der Zylinder Nr. 1 sich derzeit bei ATDC 30° befindet oder nicht. Wenn der Zylinder Nr. 1 sich derzeit nicht bei ATDC 30° befindet, wird nach Schritt 106 gesprungen, wo beurteilt wird, ob sich der Zylinder Nr. 1 derzeit bei ATDC 90° befindet oder nicht. Wenn der Zylinder Nr. 1 sich derzeit nicht bei ATDC 90° befindet, wird die Routine für eine Berechnung der verflossenen Zeiten Ta(i) und Tb(i) beendet.
  • Wenn im Gegensatz dazu im Schritt 103 geurteilt wird, dass sich der Zylinder Nr. 1 derzeit bei ATDC 30° befindet, wird zu Schritt 104 weitergegangen, in dem die endgültige verflossene Zeit Ta(i) von TDC bis ATDC 30° des Zylinders Nr. 1 auf der Basis der folgenden Gleichung berechnet wird: Ta(i) = KTa(i)·(TIME – TIME0).
  • Wenn sich zum Beispiel der Zylinder Nr. 1 (#1) derzeit bei ATDC 30° befindet, wird die endgültige verflossene Zeit Ta(1) von TDC bis ATDC 30° des Zylinders Nr. 1 (#1) aus KTa(1)·(TIME – TIME0) berechnet. Hier drückt (TIME – TIME0) die verflossene Zeit Ta(1) aus, die vom Kurbelwinkelfühler 14 tatsächlich gemessen wurde, während KTa(1) ein Verhältnis für die Korrektur des Fehlers wegen der Abstände der Aussenzähne auf dem Läufer 13 ist, deshalb drückt die endgültige verflossene Zeit Ta(1), die durch eine Multiplikation von (TIME – TIME0) mit KTa(1) gewonnen wird, genau die Zeit aus, die verflossen ist, wenn die Kurbelwelle sich um einen Kurbelwinkel von 30° dreht.
  • Als Nächstes wird im Schritt 105 die Flagge XCAL(i – 1) des Zylinders Nr. (i – 1), in dem Verbrennung zuvor erfolgt war, gesetzt, die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte (XCAL(i – 1) → „1"). In dieser Ausführungsform gemäss der vorliegenden Erfindung wird, wie oben erklärt, da die Zündfolge 1-3-4-2 ist, die Flagge XCAL(2) des Zylinders Nr. 2 (#2), in dem Verbrennung zuvor erfolgt war, gesetzt, die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte, wenn der Zylinder Nr. 1 sich derzeit bei ATDC 30° befindet. In der gleichen Weise wird, wenn die endgültige verflossene Zeit Ta(3) berechnet wird, wie in 21 gezeigt, die Flagge XCAL(1) gesetzt; wenn die endgültige verflossene Zeit Ta(4) berechnet wird, wird die Flagge XCAL(3) gesetzt, und wenn die endgültige verflossene Zeit Ta(2) berechnet wird, wird die Flagge XCAL(4) gesetzt.
  • Wenn andererseits im Schritt 106 geurteilt wird, dass sich der Zylinder Nr. 1 derzeit bei ATDC 90° befindet, wird zu Schritt 107 weitergegangen, wo die endgültige verflossene Zeit Tb(i) von ATDC 60° bis ATDC 90° des Zylinders Nr. 1 auf der Basis der folgenden Gleichung berechnet wird: Tb(i) = KTb(i)·(TIME – TIME0).
  • Wenn sich zum Beispiel der Zylinder Nr. 1 (#1) derzeit bei ATDC 90° befindet, wird die endgültige verflossene Zeit Tb(1) von ATDC 60° bis ATDC 90° des Zylinders Nr. 1 (# 1) aus KTb(1)·(TIME – TIME0) berechnet. Auch in diesem Falle drückt die endgültige verflossene Zeit Tb(1) genau die während der Periode verflossene Zeit aus, in der die Kurbelwelle sich um einen Kurbelwinkel von 30° dreht, da das Verhältnis KTb(1) für die Korrektur des Fehlers wegen der Abstände der Aussenzähne auf dem Läufer 13 mit (TIME – TIME0) multipliziert wird.
  • Als Nächstes wird die Routine zur Überprüfung der Erlaubnis, das Drehmoment zu berechnen, die in 13 bis 15 gezeigt ist, unter Bezugnahme auf 16 erklärt. Diese Routine ist so festgelegt, dass sie die Berechnung des Drehmoments für einen bestimmten Zylinder verbietet, wenn die Amplitude AMP wegen der Schwankungen von Ta(i) (10) gross wird, weil das Fahrzeug auf einer holperigen Strasse fährt.
  • Auf 13 bis. 15 Bezug nehmend, wird zuerst im Schritt 201 beurteilt, ob einer der Zylinder sich derzeit bei ATDC 30° befindet oder nicht. Wenn sich keiner der Zylinder derzeit bei ATDC 30° befindet, wird der Verarbeitungszyklus beendet, während zu Schritt 202 weitergegangen wird, wenn sich einer der Zylinder bei ATDC 30° befindet.
  • In den Schritten 202 bis 204 wird, wenn die verflossene Zeit Ta(i) zunimmt und dann abnimmt, die maximale verflossene Zeit T30max berechnet. Das heisst, dass im Schritt 202 beurteilt wird, ob der mit der in 12 gezeigten Routine berechnete Wert von Ta(i) grösser als die maximale verflossene Zeit T30max ist oder nicht. Bei T30max > Ta(i) wird zu Schritt 205 gesprungen, während bei T30max ≤ Ta(i) zu Schritt 203 weitergegangen wird, wo Ta(i) zu T30max gemacht wird. Als Nächstes wird im Schritt 204 die Erhöhungsflagge XMXREC, die anzeigt, dass Ta(i) ansteigt, gesetzt (XMXREC ← „1"), sodann wird zu Schritt 205 weitergegangen.
  • In den Schritten 205 bis 207 wird, wenn die verflossene Zeit Ta(i) abnimmt und dann zunimmt, die minimale verflossene Zeit T30min berechnet. Das heisst, dass im Schritt 205 beurteilt wird, ob der mit der in 12 gezeigten Routine berechnete Wert von Ta(i) kleiner als die berechnete minimale verflossene Zeit T30min ist oder nicht. Bei T30min < Ta(i) wird zu Schritt 208 gesprungen, während bei T30min ≥ Ta(i) zu Schritt 206 weitergegangen wird, wo Ta(i) zu T30min gemacht wird. Als Nächstes wird im Schritt 207 die Verringerungsflagge XMNREC, die anzeigt, dass Ta(i) abgenommen hat, gesetzt (XMNREC ← „1"), sodann wird zu Schritt 208 weitergegangen.
  • In den Schritten 208 bis 214 wird die Verbotsflagge gesetzt, die die Berechnung des Drehmoments für den Zylinder verbietet, bei dem Ta(i) maximal wird, wenn die Amplitude AMP der Schwankungen von Ta(i) (10) den Sollwert von A0 überschritten hat. Das heisst, dass im Schritt 208 beurteilt wird, ob T30max > Ta(i) und XMXREC = „1" oder nicht. Wenn T30max ≤ Ta(i) oder die Erhöhungsflagge XMXREC zurückgezogen wurde (XMXREC = „0"), wird zu Schritt 215 gesprungen, während zu Schritt 209 weitergegangen wird, wenn T30max > Ta(i) und XMXREC = „1".
  • Man nehme an, dass zur Zeit t1 die verflossene Zeit Ta(1) des Zylinders Nr. 1 (#1) maximal geworden ist, wie in 16 gezeigt. In diesem Falle wird in der zur Zeit t1 in 16 ausgeführten Unterbrechungsroutine von Schritt 202 zu Schritt 203 weitergegangen, wo Ta(1) zu T30max gemacht wird, dann wird im Schritt 204 die Erhöhtingsflagge XMXREC gesetzt. Andererseits wird in der zur Zeit t2 in 16 ausgeführten Unterbrechnngsroutine von Schritt 202 zu Schritt 205 gesprungen. zu dieser Zeit wird, da im Schritt 208 geurteilt wird, dass T30max > Ta(3) und XMXREC = „1", zu Schritt 209 weitergegangen. Das heisst, dass zur Zeit t2 zu Schritt 209 weitergegangen wird, wenn sich die verflossene Zeit Ta(i) zu verringern beginnt. Im Schritt 209 wird die maximale verflossene Zeit T30max zu TMXREC gemacht. Als Nächstes wird im Schritt 210 die maximale verflossene Zeit TMXREC um die minimale verflossene Zeit TMNREC (die in dem später erklärten Schritt 216 gefunden wird) abgezogen, um die Amplitude AMP der Schwankungen von Ta(i) zu berechnen. Als Nächstes wird im Schritt 211 der Anfangswert der minimalen verflossenen Zeit T30min zu Ta(i) gemacht. Als Nächstes wird im Schritt 212 die Erhöhungsflagge XMXREC zurückgezogen (XMXREC ← „0"). Als Nächstes wird im Schritt 213 beurteilt, ob die Amplitude AMP grösser als der Sollwert A0 ist oder nicht. Bei AMP < A0 wird zu Schritt 215 gesprungen. Im Gegensatz dazu wird, wenn AMP > A0, zu Schritt 214 weitergegangen, in dem die Verbotsflagge für die Berechnung des Drehmoments XNOCAL gesetzt wird (XNOCAL ← „1"). Das heisst, dass in der zur Zeit t2 in 16 ausgeführten Unterbrechungsroutine, wie oben erklärt, das erzeugte Drehmoment des Zylinders Nr. 1 (#1) berechnet wird. Daher ist in dieser Unterbrechungsroutine die Berechnung des erzeugten Drehmoments des Zylinders Nr. 1 (#1), d. h. die Berechnung des erzeugten Drehmoments des Zylinders, der den maximalen Wert von Ta(i) liefert, verboten, wenn AMP > A0 und die Verbotsflagge für die Berechnung des Drehmoments XNOCAL gesetzt ist.
  • In den Schritten 215 bis 221 ist, wenn die Amplitude AMP der Schwankungen von Ta(i) den Sollwert von A0 überschritten hat, die Verbotsflagge gesetzt, die die Berechnung des Drehmoments des Zylinders, der den minimalen Wert von Ta(i) liefert, verbietet. Das heisst, dass in Schritt 215 beurteilt wird, ob T30min < Ta(i) und XMNREC = „1" oder nicht. Wenn T30min ≥ Ta(i) oder die Verringerungsflagge XMNREC zuruckgezogen wurde (XMNREC = „0"), wird zu Schritt 222 gesprungen, während, wenn T30min < Ta(i) und XMNREC = „1", zu Schritt 216 weitergegangen wird.
  • Das bedeutet, dass, wie in 16 gezeigt, zur Zeit t3 angeommen wird, dass die verflossene Zeit Ta(1) des Zylinders Nr. 1 (#1) die minimale Zeit geworden ist. In diesem Falle wird in der zur Zeit t3 ausgeführten Unterbrechungsroutine von Schritt 205 zu Schritt 206 weitergegangen, in dein Ta(1) zu T30min gemacht wird, sodann wird im Schritt 207 die Verringerungsflagge XMNREC gesetzt. Andererseits springt die zur Zeit t4 der 16 ausgeführte Unterbrechungsroutine von Schritt 205 zu Schritt 208. zu dieser Zeit wird zu Schritt 216 weitergegangen, da im Schritt 215 geurteilt wurde, dass T30min < Ta(3) und XMNREC = „1". Das heisst, dass zur Zeit t4, zu der die verflossene Zeit Ta(i) zuzunehmen beginnt, zu Schritt 216 weitergegangen wird. Im Schritt 216 wird die minimale verflossene Zeit T30min zu TMNREC gemacht. Als Nächstes wird im Schritt 217 die minimale verflossene Zeit TMNREC von der maximalen verflossenen Zeit TMXREC abgezogen, wodurch die Amplitude AMP der Schwankungen von Ta(i) berechnet wird. Als Nächstes wird im Schritt 218 der Anfangswert der maximalen verflossenen Zeit, T30max, zu Ta(i) gemacht. Als Nächstes wird im Schritt 219 die Verringerungsflagge XMNREC zurückgezogen (XMNREC ← „0"). Als Nächstes wird im Schritt 220 beurteilt, ob die Amplitude grösser als der Sollwert A0 ist oder nicht. Wenn AMP < A0, wird zu Schritt 222 gesprungen. Wenn im Gegenteil AMP ≥ A0, wird zu Schritt 221 weitergegangen, in dem die Verbotsflagge XNOCAL für die Berechnung des Drehmoments gesetzt wird (XNOCAL ← „1"). Das heisst, dass in der zur Zeit t4 der 16 ausgeführten Unterbrechungsroutine das erzeugte Drehmoment des Zylinders Nr. 1 (#1) berechnet wird. Daher ist in dieser Unterbrechungsroutine die Berechnung des erzeugten Drehmoments des Zylinders Nr. 1 (#1), d. h. die Berechnung des erzeugten Drehmoments des Zylinders, für den Ta(i) am kleinsten wird, verboten, wenn AMP > A0 und die Verbotsflagge für die Berechnung des Drehmoments XNOCAL gesetzt ist.
  • In Schritten 222 und 223 wird die Berechnung des Drehmoments eines Zylinders, dessen verflossene Zeit Ta(i) sich scharf verändert, verboten. Das heisst, dass in Schritt 222 beurteilt wird, ob |Ta(i – 2) – Ta(i – 1)| grösser als K0·|Ta(i – 1) – Ta(i)| ist oder nicht. Die Konstante K0 hat hier einen Wert von etwa 3,0 bis 4,0. Wenn im Schritt 222 geurteilt wird, dass |Ta(i – 2) – Ta(i – 1)| < K0·|Ta(i – 1) – Ta(i)|, wird die Verarbeitungsroutine beendet, aber wenn geurteilt wird, dass |Ta(i – 2) – Ta(i – 1)| ≥ K0·|Ta(i – 1) – Ta(i)| , wird zu Schritt 223 weitergegangen, in dem die Verbotsflagge XNOCAL für die Berechnung des Drehmoments gesetzt wird.
  • Wenn also die Unterbrechungsroutine sich bei der Zeit t3 der 16 befindet, wird beurteilt, ob |Ta(4) – Ta(2)| zu dieser Zeit K0·|Ta(2) – Ta(1)| ist oder nicht. Wie in 16 gezeigt, wird |Ta(4) – Ta(2)| grösser als K0·|Ta(2) – Ta(1)|, wenn Ta(2) sich rasch gegenüber Ta(4) verändert. Zu dieser Zeit wird die Verbotsflagge für die Berechnung des Drehmoments gesetzt und die Berechnung des Drehmoments des Zylinders Nr. 2 (#2), bei dem die verflossene Zeit Ta(i) sich scharf geändert hat, ist verboten.
  • Als Nächstes wird die in 17 gezeigte Routine für eine Berechnung des Drehmoments erläutert. Auf 17 Bezug nehmend, wird zuerst im Schritt 301 beurteilt, ob die Flagge XCAL(i – 1), die anzeigt, dass das erzeugte Drehmoment des Zylinders Nr. (i – 1), in dem eine Verbrennung einmal zuvor erfolgt war, berechnet werden sollte, gesetzt ist oder nicht. Wenn die Flagge XCAL(i – 1) = „0", d. h., wenn die Flagge XCAL(i – 1) nicht gesetzt ist, wird der Verarbeitungszyklus beendet. Wenn im Gegenteil die Flagge XCAL(i – 1) = „1", d. h., wenn die Flagge XCAL(i – 1) gesetzt ist, wird zu Schritt 302 weiter gegangen, in dem die Flagge XCAL(i – 1) zurückgezogen wird, dann wird zu Schritt 303 weitergegangen.
  • Im Schritt 303 wird beurteilt, ob die Verbotsflagge XNOCAL, die die Berechnung des Drehmoments für den Zylinder verbietet, bei dem die Verbrennung einmal zuvor erfolgt war, zurückgezogen ist (XNOCAL = „0") oder nicht. Wenn diese Verbotsflagge gesetzt ist (XNOCAL = „1"), wird zu Schritt 310 weitergegangen, in dem die Verbotsflagge XNOCAL zurückgezogen wird. Wenn im Gegenteil die Verbotsflagge zurückgezogen ist, wird zu Schritt 304 weitergegangen. Das heisst, dass zu Schritt 304 nur weitergegangen wird, wenn die Flagge XCAL gesetzt und die Verbotsflagge XNOCAL zurückgezogen ist.
  • Im Schritt 304 wird der Betrag der Änderung, h, der verflossenen Zeit wegen der Torsionsschwingungen des Motorantriebsmechanismus (8) auf der Basis der folgenden Gleichung berechnet: h = {Ta(i – 1) – Ta(i)}·60/180.
  • Das bedeutet, wie aus 8 zu verstehen ist, dass der Betrag der Änderung, h, der verflossenen Zeit ein Drittel von ho (= Ta(i – 1) – Ta(i)) wird. Als Nächstes wird in Schritt 305 der Wert von Tb'(i – 1), der nur die Verringerung der verflossenen Zeit wegen des Verbrennungsdruckes ausdrückt, auf der Basis der folgenden Gleichung berechnet: Tb'(i – 1) = Tb(i – 1) + h.
  • Das bedeutet, dass h = {Ta(1) – Ta(3)}·60/180 und Tb'(1) = Tb(1) + h, wenn Tb'(1) für den Zylinder Nr. 1 (#1) gefunden wird. Des Weiteren h = {Ta(3) – Ta(4)} 60/180 und Tb'(3) = Tb(3) + h, wenn Tb'(3) für den Zylinder Nr. 3 (#3) gefunden wird.
  • Als nächstes wird im Schritt 306 das erzeugte Drehmoment DN(i – 1) des Zylinders, in dem die Verbrennung einmal zuvor erfolgt war, auf der Basis der folgenden Gleichung berechnet: DN(i – 1) = ωb2 – ωa2 = (30°/Tb'(i – 1))2 – (30°/Ta(i – 1))2.
  • Dieses erzeugte Drehmoment DN(i – 1) drückt das Drehmoment nach Beseitigung des Effekts der Torsionsschwingungen des Motorantriebsmechanismus und des Effekts der Variation in den Abständen der Aussenzähne des Läufers 13 aus, daher drückt dieses erzeugte Drehmoment DN(i – 1) das wahre, auf Grund des Verbrennungsdruckes erzeugte Drehmoment aus.
  • Es sei bemerkt, dass beim Auffinden der durch jeden Zylinder erzeugten Antriebskraft GN(i – 1) diese Antriebskraft GN(i – 1) auf der Basis der folgenden Gleichung berechnet werden kann: GN(i – 1) = (30°/Tb'(i – 1)) – (30°/Ta(i – 1)).
  • Wenn das erzeugte Drehmoment DN(i – 1) im Schritt 306 berechnet worden ist, wird zu Schritt 307 weitergegangen, in dem der Schwankungsbetrag des Drehmoments DLN(i – 1) in einem einzelnen Zyklus des gleichen Zylinders auf der Basis der folgenden Gleichung berechnet wird: DLN(i – 1) = DN(i – 1)j – DN(i – 1).
  • Hier drückt DN(i – 1)j das einen Zyklus (720° Kurbelwinkel) vorher erzeugte Drehmoment des gleichen Zylinders für DN(i – 1) aus.
  • Als Nächstes wird im Schritt 308 beurteilt, ob der Schwankungsbetrag des Drehmoments, DLN(i – 1), positiv ist oder nicht. Wenn DLN(i – 1) ≥ 0, so wird zu Schritt 310 gesprungen, wo die Anforderungsflagge für kumulative Addition XCDLN(i – 1), die anzeigt, dass der Schwankungsbetrag des Drehmoments DLN(i – 1) des Zylinders, in dem die Verbrennung einmal zuvor erfolgt war, kumulativ addiert werden sollte, gesetzt wird (XCDLN(i – 1) ← „1"). Wenn im Gegenteil DLN(i – 1) < 0, so wird zu Schritt 309 weitergegangen, wo DLN(i – 1) null gemacht wird. Als Nächstes wird zu Schritt 310 weitergegangen. Es sei bemerkt, dass das Drehmoment jedes Zylinders wiederholt ansteigt und abfällt, so dass es in diesem Falle, um den Schwankungsbetrag des Drehmoments zu finden, genügt, entweder den Betrag der Erhöhung des Drehmoments oder den Betrag der Verringerung des Drehmoments kumulativ zu addieren. In der in 17 gezeigten Routine wird nur der Betrag der Verringerung des Drehmoments kumulativ addiert, daher wird, wie oben erklärt, DLN(i – 1) null gemacht, wenn DLN(i – 1) < 0.
  • Als Nächstes wird die Routine für eine Berechnung der Verhältnisse KTa(i) und KTb(i) unter Bezugnahme auf 18 und 19 erklärt.
  • Auf 18 und 19 Bezug nehmend, wird zuerst im Schritt 401 beurteilt, ob die zufuhr von Kraftstoff während des Verlangsamungsvorgangs unterbrochen wurde oder nicht, das heisst, ob der Kraftstoff abgestellt wurde oder nicht. Wenn der Kraftstoff nicht abgestellt wurde, wird zu Schritt 415 weitergegangen, in dem die kumulativen Werte ΣTa(i) und ΣTb(i) der verflossenen Zeiten Ta(i) und Tb(i) gelöscht werden, dann ist der Verarbeitungszyklus fertig. Wenn im Gegenteil der Kraftstoff abgestellt worden ist, wird zu Schritt 402 weitergegangen, in dem beurteilt wird, ob die Amplitude AMP, die in der Routine zur Überprüfung der Erlaubnis für eine Berechnung des Drehmoments berechnet worden ist, grösser als der Sollwert B0 ist oder nicht. Wenn AMP > B0, so wird zu Schritt 415 weitergegangen, während bei AMP ≤ B0 zu Schritt 403 weitergegangen wird.
  • In den Schritten 403 bis 408 wird KTa(i) berechnet. Das heisst, dass im Schritt 403 die entsprechende verflossene Zeit Ta(i) für jeden Zylinder zum kumulativen Wert ΣTa(i) addiert wird. zum Beispiel wird Ta(1) zu ΣTa(1) addiert, und Ta(2) wird zu ΣTa(2) addiert. Als Nächstes wird im Schritt 404 beurteilt, ob der Wert von Ta(i) für jeden Zylinder je n Mal kumulativ addiert wurde oder nicht. Wenn nicht je n Mal kumulativ addiert wurde, wird zu Schritt 409 gesprungen, aber wenn n Mal kumulativ addiert wurde, wird zu Schritt 405 weitergegangen. Im Schritt 405 wird der Mittelwert Ma (= {ΣTa(1) + ΣTa(2) + ΣTa(3) + ΣTa(4)}/4) der kumulativen Werte ΣTa(i) der Zylinder berechnet. Als Nächstes wird im Schritt 406 der Korrekturwert α(i) (= Ma/ΣTa(i)) für die Zylinder berechnet. Als Nächstes wird im Schritt 407 das Verhältnis KTa(i) auf der Basis der folgenden Gleichung aktualisiert: KTa(i) ← KTa(i) + {α(i) – KTa(i)}/4.
  • Auf diese Weise werden die Verhältnisse KTa(1), KTa(2), KTa(3) und KTa(4) für die Zylinder berechnet. Wenn zum Beispiel α(1) grösser als der bis dahin benutzte Wert von KTa(1) geworden ist, wird ein Viertel der Differenz zwischen α(1) und KTa(1) {α(1) – KTa(1)} zu KTa(1) addiert, daher nähert sich KTa(1) allmählich dem Wert von α(1). Im Schritt 407 wird der Wert von KTa(i) für jeden Zylinder berechnet, dann wird zu Schritt 408 weitergegangen, wo der kumulative Wert ΣTa(i) für jeden Zylinder gelöscht wird.
  • Andererseits werden in den Schritten 409 bis 414 die Werte von KTb(i) berechnet. Das heisst, dass im Schritt 409 die entsprechende verflossene Zeit Tb(i) für jeden Zylinder zum kumulativen Wert ΣTb(i) addiert wird. zum Beispiel wird Tb(1) zu ΣTb(1) addiert, und Tb(2) wird zu ΣTb(2) addiert. Als Nächstes wird im Schritt 404 beurteilt, ob der Wert von Tb(i) für jeden Zylinder je n Mal kumulativ addiert wurde oder nicht. Wenn nicht je n Mal kumulativ addiert wurde, wird der Verarbeitungszyklus beendet, aber wenn n Mal kumulativ addiert wurde, wird zu Schritt 411 weitergegangen. Im Schritt 411 wird der Mittelwert Mb (= {ΣTb(1) + ΣTb(2) + ΣTb(3) + ΣTb(4)}/4) der kumulativen Werte ΣTb(i) der Zylinder berechnet. Als Nächstes wird im Schritt 412 der Korrekturwert β(i) (= Mb/ΣTb(i)) für jeden Zylinder berechnet. Als Nächstes wird im Schritt 412 das Verhältnis KTb(i) auf der Basis der folgenden Gleichung aktualisiert: KTb(i) ← KTb(i) + {β(i) – KTb(i)}/4.
  • Auf diese Weise werden die Verhältnisse KTb(1), KTb(2), KTb(3) und KTb(4) für die Zylinder berechnet. Wenn zum Beispiel angenommen wird, dass β(1) grösser als der bis dahin benutzte Wert von KTb(1) geworden ist, wird ein Viertel der Differenz zwischen β(1) und KTb(1){β(1) – KTb(1)} zu KTb(1) addiert, daher nähert sich KTb(1) allmählich dem Wert von β(1). Wenn der Wert von KTb(i) für jeden Zylinder im Schritt 413 berechnet worden ist, dann wird zu Schritt 414 weitergegangen, wo der kumulative Wert ΣTb(i) für jeden Zylinder gelöscht wird.
  • Als Nächstes wird unter Bezugnahme auf 20 die Verarbeitung des Zählers CDLNIX erklärt. Der Zählwert des Zählers CDLNIX wird für die später zu erklärende Berechnung des Schwankungsweres des Drehmoments verwendet.
  • Auf 20 Bezug nehmend, wird zuerst beurteilt, ob der Zylinder Nr. 3 (#3) sich derzeit bei ATDC 30° befindet oder nicht. Wenn sich der Zylinder Nr. 3 (#3) derzeit nicht bei ATDC 30° befindet, wird der Verarbeitungszyklus beendet, aber wenn der Zylinder Nr. 3 (#3) sich derzeit bei ATDC 30° befindet, wird zu Schritt 502 weitergegangen. Im Schritt 502 wird beurteilt, ob die Bedingungen für eine Berechnung des Schwankungsweres des Drehmoments gegeben sind oder nicht. Wenn zum Beispiel die Bedingungen dafür, das Kraftstoff-Luft-Gemisch mager zu machen, nicht gegeben sind oder der Betrag der Änderung des absoluten Drucks im Ausgleichtank 3 pro Zeiteinheit, ΔPM, höher als der Sollwert ist oder der Betrag der Änderung der Motordrehzahl pro Zeiteinheit, ΔN, höher als der Sollwert ist, wird geurteilt, dass die Bedingungen für eine Berechnung des Schwankungswertes nicht gegeben sind, während andernfalls geurteilt wird, dass die Bedingungen für eine Berechnung des Schwankungswertes gegeben sind.
  • Wenn im Schritt 502 geurteilt wird, dass die Bedingungen für eine Berechnung des Schwankungswertes gegeben sind, wird zu Schritt 508 weitergegangen, wo der Zählwert CDLNIX um genau 1 inkrementiert wird. Die Inkrementierung dieses Zählwertes CDLNIX wird jedes Mal ausgeführt, wenn der Zylinder Nr. 3 (#3) ATDC 30° erreicht, d. h., alle 720° des Kurbelwinkels. Als Nächstes werden im Schritt 509 der Durchschnittswert der Motordrehzahl, NAVE, und der durchschnittswert des absoluten Drucks im Aus gleichstank 3, PMAVE, für die Periode vom Beginn der Inkrementierung des Zählwertes CDLNIX bis zur Löschung des Zählwertes CDLNIX berechnet.
  • Wenn auf der anderen Seite im Schritt 502 geurteilt wird, dass die Bedingungen für eine Berechnung des Schwankungswertes nicht gegeben sind, wird zu Schritt 503 weitergegangen, in dem der Zählwert CDLNIX gelöscht wird. Als Nächstes wird im Schritt 504 der kumulative Wert DLNI(i) des Schwankungswertes des Drehmoments jedes Zylinders, DLN(i) (dieser kumulative Wert wird durch eine später zu erklärende Routine berechnet), gelöscht. Als Nächstes wird im Schritt 505 der kumulative Zählwert CDLNI(i) für jeden Zylinder (dieser kumulative Zählwert wird durch eine später zu erklärende Routine berechnet) gelöscht.
  • Als Nächstes wird im Schritt 506 der Zielwert der Drehmomentenschwankung, LVLLFB, berechnet. In dieser Ausführungsform gemäss der vorliegenden Erfindung wird, wie später erklärt werden wird, das Kraftstoff-Luft-Verhältnis durch Rückkopplung so gesteuert, dass der berechnete Schwankungswert des Drehmoments zu diesem Zielwert der Drehmomentenschwankung, LVLLFB, wird. Dieser Zielwert der Drehmomentenschwankung, LVLLFB wird, wie in 22 gezeigt, wo der Äquivalentwert der Schwankung durch die ausgezogene Linie gezeigt wird, desto höher, je höher der absolute Druck PM im Ausgleichstank 3 und je höher die Motordrehzahl N ist. Dieser Zielwert der Drehmomentenschwankung, LVLLFB, wird im Voraus in Gestalt einer Karte, die in 22B gezeigt ist, in Abhängigkeit vom absoluten Druck PM im Ausgleichstank 3 und von der Motordrehzahl N im ROM 22 gespeichert. Als Nächstes wird im Schritt 507 der Mittelwert der Drehmomentenschwankung, DLNISM(i), jedes Zylinders (dieser Mittelwert der Drehmomentenschwankung wird durch eine später zu erklärende Rotutine berechnet) zu dem aus der Karte von 22B berechneten Zielwert der Drehmomentenschwankung, LVLLFB, gemacht.
  • 24 zeigt die wiederholt ausgeführte Hauptroutine. In dieser Hauptroutine wird zuerst die Routine für eine Berechnung des Drehmomenten-Schwankungswertes (Schritt 600) ausgeführt. Diese Routine ist in 25 und 26 gezeigt. Als Nächstes wird die Routine für eine Berechnung des Rückkopplungs-Korrekturfaktors für die Magergrenze, FLLFB (Schritt 700), ausgeführt. Diese Routine ist in 27 gezeigt. Als Nächstes wird, wenn der vorbestimmte Kurbelwinkel erreicht ist, die Routine für eine Berechnung der Einspritzzeit (Schritt 800) ausgeführt. Diese Routine ist in 28 gezeigt. Als Nächstes werden die anderen Routinen (Schritt 900) ausgeführt.
  • Als Nächstes wird die Routine für eine Berechnung des Drehmomenten-Schwankungswertes, die in 25 und 26 gezeigt ist, erklärt.
  • Auf 25 und 26 Bezug nehmend, wird zuerst im Schritt 601 beurteilt, ob die Anforderungsflagge für kumulative Addition, XCDLN(i), die anzeigt, dass der Schwankungsbetrag des Drehmoments, DLN(i), kumulativ addiert werden sollte, gesetzt ist (XCDLN(i) = „1") oder nicht. Wenn die Anforderungsflagge für kumulative Addition, XCDLN(i), nicht gesetzt ist, wird zu Schritt 609 gesprungen, aber wenn die Anforderungsflagge für kumulative Addition, XCDLN(i), gesetzt ist, wird zu Schritt 602 weitergegangen. Im Schritt 602 wird die Anforderungsflagge für kumulative Addition, XCDLN(i), zurückgezogen. Als Nächstes wird im Schritt 603 der Schwankungsbetrag des Drehmoments, DLN(i), zum kumulativen Wert DLNI(i) des Schwankungsbetrages des Drehmoments addiert. Als Nächstes wird im Schritt 604 der kumulative Zählwert, CDLNI(i), um genau 1 inkreinentiert. Das heisst zum Beispiel, wenn im Schritt 601 die Anforderungsflagge für kumulative Addition, XCDLN(1), den Zylinder Nr. 1 gesetzt ist, dass diese Flagge XCDLN(1) im Schritt 602 zuruckgezogen, der Schwankungsbetrag des kumulativen Wertes des Drehmoments, DLNI(1), im Schritt 603 berechnet und der kumulative Zählwert CDLNI(1) im Schritt 604 um genau 1 inkrementiert wird.
  • Als Nächstes wird im Schritt 605 beurteilt, ob der kumulative Zählwert CDLNI(i) „8" geworden ist oder nicht. Wenn CDLNI(i) nicht „8" ist, wird zu Schritt 609 gesprungen, aber wenn CDLNI(i) „8" wird, wird zu Schritt 606 weitergegangen, wo der kumulative Wert DLNI(i) des Fluktuationsbetrages des Drehmoments gelöscht wird. Als Nächstes wird im Schritt 607 der kumulative Zählwert CDLNI(i) zuruckgesetzt. Als Nachstes wird im Schritt 608 der Mittelwert der Drehmomentenschwankung, DLNISM(i), aus der folgenden Gleichung berechnet: DLNISM(i) = DLNISM(i) + {DLNI(i) – DLNISM(i)}/4.
  • Das heisst, dass der Wert der Differenz {DLNI(i) – DLNISM(i)}, multipliziert mit ¼, zum mittleren Betrag der Drehmomentenschwankung, DLNISM(i), addiert wird, wenn zwischen dem berechneten Betrag des kumulativen Wertes der Drehmomentenschwankung, DLNI(i), und dem vorher verwendeten mittleren Betrag der Drehmomentenschwankung, DLNISM(i), ein Unterschied besteht. Daher wird zum Beispiel in Schritt 606 der Mittelwert der Drehmomentenschwankung, DLNISM(1), berechnet, wenn der kumulative Zählwert, CDLNI(1), für den Zylinder Nr. 1 (# 1) „8" wird.
  • Als Nächstes wird im Schritt 609 geurteilt, ob der Zählwert CDLNIX, der mit der in 20 gezeigten Routine berechnet wurde, „8" geworden ist oder nicht. Wenn CDLNIX nicht „8" ist, wird der Verarbeitungszyklus beendet, aber wenn CDLNIX „8" wird, wird zu Schritt 610 weitergegangen, wo der Mittelwert DLNISM (= {DLNISM(1) + DLNISM(2) + DLNISM(3) + DLNISM(4)}/4) der Mittelwerte der Drehmomentenschwankungen DLNISM(i) der Zylinder berechnet wird. Als Nächstes wird im Schritt 611 der Zählwert CDLNIX gelöscht. Auf diese Weise wird der Wert DLNISM, der den Schwankungsbetrag des Motorendrehmoments ausdrückt, berechnet.
  • Es sei bemerkt, wie oben erklärt, dass der Zählwert CDLNIX alle 720° des Kurbelwinkels um genau 1 inkrementiert wird. Wenn der Zählwert CDLNIX „8" geworden ist, sind die kumulativen Zählwerte CDLNI(1), CDLNI(2), CDLNI(3) und CDLNI(4) für alle Zylinder bereits „8" geworden, sofern nicht für einen der Zylinder die Berechnung des Drehmoments verboten ist. Daher wird in diesem Falle der Mittelwert der Drehmomentenschwankung DLNISM(i) für alle Zylinder berechnet. Wenn andererseits die Berechnung des Drehmoments zum Beispiel für den Zylinder Nr. 1 (#1) verboten ist, so wird der neue Schwankungsbetrag des kumulativen Drehmomentenwertes DLNI(1) für den Zylinder Nr. 1 (#1) nicht berechnet, wenn der Zählwert CDLNIX „8" geworden ist und nur der kumulative Zählwert CDLNI(1) des Zylinders Nr. 1 (#1) nicht „8" wird. In diesem Falle wird daher nur fur den Zylinder Nr. 1 (#1) der früher berechnete Schwankungsbetrag des kumulativen Drehmomentenwertes, DLNISM(1), verwendet, wenn der Mittelwert DLNISM im Schritt 610 gefunden wird.
  • Als Nächstes wird unter Bezugnahme auf 27 die Routine für eine Berechnung von FLLFB erklärt.
  • Auf 27 Bezug nehmend, wird zuerst im Schritt 701 geurteilt, ob die Bedingungen für eine Aktualisierung des Rückkopplungs-Korrekturfaktors für die Magergrenze, FLLFB, gegeben sind oder nicht. Zur Zeit eines Warmlaufens des Motors oder wenn sich der Betriebszustand des Motors nicht in der durch die gestrichelte Linie in 5 eingeschlossenen Lernzone befindet, wird zum Beispiel geurteilt, dass die Bedingungen für eine Aktualisierung nicht gegeben sind, während andernfalls geurteilt wird, dass die Bedingungen für eine Aktualisierung gegeben sind. Wenn die Bedingungen für eine Aktualisierung nicht gegeben sind, wird der Verarbeitungszyklus beendet, aber wenn die Bedingungen für eine Aktualisierung gegeben sind, wird zu Schritt 702 weitergegangen.
  • Im Schritt 702 wird aus dem absoluten Druck PM im Ausgleichstank 3 und der Motordrehzahl N auf der Basis der in 22B gezeigten Karte der Zielwert der Drehmomentenfluktuation LVLLFB berechnet. Als Nächstes werden in den Schritten 703 und 704 auf der Basis der Beurteilungswerte DH(n) und DL(n) für den Schwankungsbetrag in Übereinstimmung mit dem Zielwert der Drehmomentenschwankung LVLLFB die in den folgenden Gleichungen gezeigten Niveaus der Drehmomentenschwankung LVLH(n) und LVLL(n) berechnet: LVLH(n) = LVLLFB + DH(n), LVLL(n) = LVLLFB + DL(n).
  • Hier werden die Beurteilungswerte DH(n) und DL(n) für den Schwankungsbetrag im Voraus bestimmt, wie in 23A gezeigt. Wie aus 23A zu verstehen ist, werden nämlich drei positive Werte für DH(n) festgelegt, die zueinander in der Beziehung stehen: DH(3) > DH(2) > DH(1). Im Weiteren steigen diese Werte von DH(1), DH(2) und DH(3) allmählich, wenn der Zielwert LVLLFB der Drehmomentenschwankung grösser wird. Andererseits werden drei negative Werte für DL(n) festgelegt, die zueinander in der Beziehung stehen: DL(1) > DL(2) > DL(3). Im Weiteren steigen die absoluten Werte dieser DL(1), DL(2) und DL(3) allmählich, wenn der Zielwert LVLLFB der Drehmomentenschwankung grösser wird.
  • Es sei jedoch angenommen, dass der im Schritt 702 berechnete Zielwert LVLLFB der Drehmomentenschwankung der durch die gestrichelte Linie gezeigte Wert ist. In diesem Falle werden im Schritt 703 die Werte von DH(1), DH(2) und DH(3) auf der gestrichelten Linie, vermehrt um den Zielwert LVLLFB der Drehmomentenschwankung, zu den Niveaus der Drehmomentenschwankung LVLH(1), LVLH(2) und LVLH(3) gemacht, und im Schritt 704 werden die Werte von DL(1), DL(2) und DL(3) auf der gestrichelten Linie, vermehrt um den Zielwert LVLLFB der Drehmomentenschwankung, zu den Niveaus der Drehmomentenschwankung LVLL(1), LVLL(2) und LVLL(3) gemacht.
  • Andererseits werden die Rückkopplungs-Korrekturwerte +a1, +a2, +a3, +a4, –b1 –b2, –b3 und –b4 im Voraus für die Bereiche zwischen den Niveaus der Drehmomentenschwankung LFLH(n) und LVLL(n) bestimmt, wie in 23B gezeigt. Zum Beispiel wird für den Bereich, in dem das Niveau der Drehmomentenschwankung zwischen LVLH(1) und LVLH(2) liegt, der Rückkopplungs-Korrekturwert +a2. Diese Rückkopplungs-Korrekturwerte sind +a4 > +a3 > +a2 > +a1 und –b1 > –b2 > –b3 > –b4. Die in 23B gezeigten Rückkopplungs-Korrekturwerte +a1,+a2, +a3, +a4, –b1, –b2, –b3 und –b4 sind in 23A in den entsprechenden Bereichen zu erkennen.
  • Wenn die Niveaus der Drehmomentenschwankung LVLH(n) und LVLL(n) in Schritten 703 und 704 berechnet worden sind, wird zu Schritt 705 weitergegangen, wo beurteilt wird, ob der Mittelwert DLNISM des Wertes der Drehmomentenschwankung, der in der in 25 und 26 gezeigten Routine zur Berechnung des Wertes der Drehmomentenschwankung berechnet wurde, zwischen den in 23B gezeigten Niveaus LVLH(n) und LVLL(n) der Drehmomentenschwankung liegt oder nicht. Als Nächstes wird im Schritt 706 der entsprechende Rückkopplungs-Korrekturwert DLFB berechnet. Wenn zum Beispiel das Zielniveau der Schwankung LVLLFB der durch die gestrichelte Linie in 23A gezeigte Wert ist und der berechnete Mittelwert DLNISM der Drehmomentenschwankung zwischen LVLH(1) und LVLH(2) in 23B liegt, das heisst, wenn die Abweichung des Mittelwertes DLNISM der Drehmomentenschwankung vom Zielniveau der Schwankung LVLLFB zwischen DH(1) und DH(2) auf der gestrichelten Linie in 23A liegt, dann wird der Rückkopplungs-Korrekturwert DLFB 2u +a2 gemacht.
  • Als Nächstes wird im Schritt 707 bestimmt, welcher Rückkopplungs-Korrekturfaktor für die Magergrenze aus welcher der in 5 gezeigten Lernzonen der Rückkopplungs-Korrekturfaktor für die Magergrenze FLLFBij ist, der auf der Basis des Durchschnittswertes der Motordrehzahl, NAVE, und des Durchschnittswertes des absoluten Druckes im Ausgleichtank 3, PMAVE, die im Schritt 509 der in 20 gezeigten Verarbeitungsroutine von CDLNIX gefunden wurden, zu aktualisieren ist. Als Nächstes wird im Schritt 708 der Rückkopplungs-Korrekturfaktor für die Magergrenze, FLLFBij, der im Schritt 707 bestimmt wurde, um den Rückkopplungs-Korrekturwert DLFB erhöht.
  • Wie oben erklärt, bedeutet das, dass der Rückkopplungs-Korrekturfactor für die Magergrenze, FLLFBij, um +a2 erhöht wird, wenn zum Beispiel DLNISM > LVLLFB und LVLH(1) < DLNISM < LVLH(2). Im Ergebnis wird das Kraftstoff-Luft-Verhältnis grössser, daher verringert sich der Schwankungsbetrag des Drehmoments jedes Zylinders. Andererseits wird der Rückkopplungs-Korrekturfaktor für die Magergrenze, FLLFBij, um –b2 erhöht, wenn DLNISM < LVLLFB und LVLL(1) > DLNISM > LVLL(2). Im Ergebnis wird das Kraftstoff-Luft-Verhältnis klein, daher erhöht sich der Schwankungsbetrag des Drehmoments der Zylinder. Auf diese Art und Weise wird bei magerem Betrieb das Kraftstoff-Luft-Verhältnis so gesteuert, dass der Mittelwert DLNISM des Schwankungsbetrages des Drehmoments aller Zylinder der Zielwert der Drehmomentenschwankung LVLLFB wird.
  • Es sei bemerkt, dass im Schritt 507 die DLNISM(i) aller Zylinder zu LVLLFB gemacht werden und daher auch der Mittelwert DLNISM der Drehmomentenschwankung zum Zielwert LVLLFB der Drehmomentenschwankung gemacht wird, wenn die Bedingungen für eine Berechnung des Wertes der Drehmomentenschwankung in der in 20 gezeigten Routine nicht gegeben sind. Daher wird dann der Rückkopplungs-Korrekturfaktor für die Magergrenze, FLLFBij, nicht aktualisiert.
  • Als Nächstes wird unter Bezugnahme auf 28 die Routine für eine Berechnung der Kraftstoffeinspritzzeit erklärt.
  • Auf 28 Bezug nehmend, wird im Schritt 801 aus der in 2 gezeigten Karte die Kraftstoffeinspritz-Basiszeit TP berechnet. Als Nächstes wird im Schritt 802 beurteilt, ob der Betriebszustand so ist, dass ein magerer Betrieb durchgeführt werden sollte oder nicht. Wenn der Betriebszustand so ist, dass ein magerer Betrieb durchgeführt werden sollte, wird zu Schritt 803 weitergegangen, wo der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis, FAF, auf einen Wert von 1,0 festgelegt wird. Als Nächstes wird im Schritt 804 der Mager-Korrekturfaktor FLEAN aus der in 4 gezeigten Karte berechnet, dann wird der Rückkopplungs-Korrekturfaktor für die Magergrenze, FLLFB, aus der in 5 gezeigten Karte abgelesen. Als Nächstes wird in Schritt 809 die Kraftstoffeinspritzzeit TAU aus der folgenden Gleichung berechnet: TAU = TP·FLEAN·FLLFB·FAF + TAUV.
  • Wenn im Gegenteil im Schritt 806 geurteilt wird, dass der Betriebszustand nicht so ist, dass ein magerer Betrieb durchgeführt werden sollte, dass also das Kraftstoff-Luft-Verhältnis zu einem stöchiometrischen Verhältnis gemacht werden sollte, wird zu Schritt 806 weitergegangen, wo der Mager-Korrekturfaktor FLEAN auf einen Wert von 1,0 festgelegt wird, und sodann wird im Schritt 807 der Rückkopplungs-Korrekturfaktor für die Magergrenze, FLLFB, auf einen Wert von 1,0 festgelegt. Als Nächstes wird im Schritt 808 der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis, FAF, auf der Basis des Ausgangssignals des Kraftstoff-Luft-Verhältnisfühlers 17 so ge steuert, dass das Kraftstoff-Luft-Verhältnis stöchiometrisch wird. Als Nächstes wird zu Schritt 809 weitergegangen, wo die Kraftstoffeinspritzzeit TAU berechnet wird.
  • Indem das oben erwähnte Verfahren verwendet wird, können die bei jedem Zylinder erzeugte Antriebskraft oder das an jedem Zylinder erzeugte Drehmoment genau erfasst werden. Des Weiteren kann, wenn der Schwankungsbetrag der Antriebskraft oder des Drehmoments aus der erfassten Antriebskraft oder dem erfassten Drehmoment erfasst wird, der Schwankungsbetrag dieser Antriebskraft bzw. dieses Drehmoments genau erfasst werden. Eine Kurbelwelle erfährt jedoch wegen der in den Zylindern aufeinanderfolgend erzeugten Explosionskräfte eine Torsions-Eigenschwingung. Daher ist es, um die an jedem Zylinder erzeugte Antriebskraft und das an jedem Zylinder erzeugte Drehmoment genau zu erfassen, notwendig, auch die Torsions-Eigenschwingung der Kurbelwelle zu berücksichtigen.
  • Als Nächstes wird eine zweite Ausführungsform erläutert, die eine genauere Erfassung der an jedem Zylinder erzeugten Antriebskraft bzw. des an jedem Zylinder erzeugten Drehmoments ermöglicht, während die Torsions-Eigenschwingung der Kurbelwelle berücksichtigt wird.
  • Wenn ein Motor betrieben wird, erfährt nämlich die Kurbelwelle ihre Torsions-Eigenschwingung. Die Amplitude der Torsions-Eigenschwingung wird desto grösser, je höher die Motordrehzahl ist. Diese Torsionsschwingungen der Kurbelwelle treten in Gestalt verschiedener Ordnungen von einander überlagerten Torsionsschwingungen auf. Unter diesen haben insbesondere die Torsionsschwingungen der sechsten Rotationsordnung (Torsionsschwingungen, die einen Kurbelwinkel von 60° als Zyklus verwenden) eine grosse Auswirkung auf die Erfassung der ersten Winkelgeschwindigkeit ωa. 29 zeigt die Beziehung zwischen der Amplitude dieser Torsionsschwingungen der sechsten Rotationsordnung und der Motordrehzahl N. Wenn die Motordrehzahl N niedrig ist, dann ist, wie in 29 gezeigt, die Amplitude der Torsionsschwingungen der sechsten Rotationsordnung klein, so dass dann, wie in 30A gezeigt, die Winkelgeschwindigkeit w auf Grund des Verbrennungsdruckes verhältnismässig glatt ansteigt, wenn der obere Totpunkt TDC des Verdichtungshubs überschritten ist. Wenn im Gegenteil die Motordrehzahl N hoch wird, dann wird, wie in 29 gezeigt, die Amplitude der Torsionsschwingungen der sechsten Rotationsordnung grösser. Im Ergebnis fällt, wie durch den mit Z bezeichneten Pfeil in 30B gezeigt, die Winkelgeschwindigkeit w für eine gewisse Zeit wegen des Effekts der Torsionsschwingungen der sechsten Rotationsordnung scharf ab, wenn der obere Totpunkt TDC des Verdichtungshubs überschritten ist.
  • Es sei aber bemerkt, dass sich die zweite Hälfte des Kurbelwinkelbereichs für die Erfassung der ersten Winkelgeschwindigkeit ωa mit der ersten Hälfte des Bereiches der Verringerung der Winkelgeschwindigkeit w wegen der Torsionsschwingungen der sechsten Rotationsordnung überschneidet, wenn die Winkelgeschwindigkeit w wegen der Torsionsschwingungen der sechsten Rotationsordnung auf diese Weise abfällt. Im Ergebnis kann wegen des Effekts der Torsionsschwingungen der sechsten Rotationsordnung die erste Winkelgeschwindigkeit ωa nicht mehr genau erfasst werden. Wenn die erste Winkelgeschwindigkeit ωa nicht mehr genau erfasst werden kann, dann sind die auf der Basis der ersten Winkelgeschwindigkeit ωa und der zweiten Winkelgeschwindigkeit ωb berechneten Werte der Antriebskraft und des Drehmoments jedes Zylinders nicht mehr die wahren Werte.
  • Auf diese Weise wird, wenn die Motordrehzahl N hoch wird, die Amplitude der Torsionsschwingungen der Kurbelwelle grösser, und die erste Winkelgeschwindigkeit ωa kann nicht mehr genau erfasst werden. Jedoch ist dann die Amplitude der Torsionsschwingungen, die an der Kurbelwelle erzeugt werden, je nach der Kurbelwellenposition unterschiedlich, wie früher erläutert. So unterscheidet sich die Amplitude der an einer Kurbelwelle erzeugten Torsionsschwingungen je nach der Kurbelwellenposition, wie in 31 gezeigt, wo C eine Kurbelwelle, F ein Schwungrad und R ein Rotationskörper mit einem kleineren Rotationsträgheitsmoment als das Schwungrad, zum Beispiel ein Läufer, ist. Die Amplitude der Torsionsschwingungen der Kurbelwelle C wird am kleinsten bei der Kurbelwellenposition des Zylinders Nr. 4 (#4), der dem Schwungrad F mit einem grossen Rotationsträgheitsmoment am nächsten ist, während die Amplitude der Torsionsschwingungen der Kurbelwelle C bei der Kurbelwellenposition des Zylinders Nr. 1 (#1), der am weitesten vom Schwungrad F entfernt ist, am grössten wird. Des Weiteren werden die Amplituden der an den verschiedenen Positionen der Kurbelwelle C erzeugten Torsionsschwingungen desto grösser, je höher die Motordrehzahl ist.
  • Daher erfährt die Kurbelwelle C, wie in 29 gezeigt, Torsionsschwingungen, wenn die Motordrehzahl N höher wird, aber dann ist die Amplitude der an der Kurbelwellenposition des Zylinders Nr. 4 (#4) erzeugten Torsionsschwingungen verhältnismässig klein, selbst wenn die Motordrehzahl hoch ist, daher wird es möglich, das erzeugte Dreh moment des Zylinders Nr. 4 (#4) unabhängig von der Motordrehzahl verhältnismässig genau zu erfassen. Jedoch wird zum Beispiel die Amplitude der an der Kurbelwellenposition des Zylinders Nr. 1 (#1) auftretenden Torsionsschwingungen bei hoher Motordrehzahl N immer bedeutender, so dass für den Zylinder Nr. 1 (#1) die Antriebskraft und das Drehmoment, die am Zylinder Nr. 1 (#1) erzeugt werden, nicht mehr genau erfasst werden können.
  • Daher wird in der zweiten Ausführungsform die Berechnung der Antriebskraft und des Drehmoments in der Reihenfolge der Zylinder an Kurbelwellenpositionen verboten, wo die Amplitude der Torsionsschwingungen mit steigender Motordrehzahl N grösser wird. genauer erklärt, werden in der zweiten Ausführungsform die Antriebskraft und das Drehmoment, die an den Zylindern erzeugt werden, für alle Zylinder (#1, #2, #3 und #4) berechnet, wenn die Motordrehzahl N niedrig ist. Wenn nämlich die Motordrehzahl N niedrig ist, dann ist die Amplitude der Torsionsschwingungen der Kurbelwelle klein, daher haben dann die Torsionsschwingungen der Kurbelwelle C fast keine Auswirkung auf die erste Winkelgeschwindigkeit ωa, so dass die Antriebskraft und das Drehmoment für alle Zylinder (#1, #2, #33 und #4) berechnet werden.
  • Wenn andererseits die Motordrehzahl N hoch wird, dann wird die Amplitude der Torsionsschwingungen an der Kurbelwellenposition, die vom Schwungrad F weiter entfernt ist, grösser. Daher ist dann eine Berechnung der Antriebskraft und des Drehmoments für den Zylinder Nr. 1 (#1) und den Zylinder Nr. 2 (#2) verboten. Das heisst, dass dann die Antriebskraft und das Drehmoment nur für den Zylinder Nr. 3 (#3) und den Zylinder Nr. 4 (#4) berechnet werden. Wenn die Motordrehzahl N noch höher wird, wird die Amplitude der Torsionsschwingungen an der Kurbelwellenposition nahe dem Schwungrad F grösser. Daher ist dann eine Berechnung der Antriebskraft und des Drehmoments für den Zylinder Nr. 1 (#1), den Zylinder Nr. 2 (#2) und den Zylinder Nr. 3 (#3) verboten. Das heisst, dass dann die Antriebskraft und das Drehmoment nur für den Zylinder Nr. 4 (#4) berechnet werden.
  • Wenn eine Berechnung der Antriebskraft und des Drehmoments für Zylinder an Kurbelwellenpositionen, wo die Amplitude der Torsionsschwingungen gross ist, in dieser Weise verboten wird, dann ist die Gefahr, eine falsche Antriebskraft und ein falsches Drehmoment zu berechnen, beseitigt.
  • In der zweiten Ausführungsform wird aber die Kraftstoffeinspritzzeit TAU auf der Basis der folgenden Gleichung berechnet: TAU = TP·FLEAN·FLLFB·KGTP(i)·FAF + TAUV.
  • Wie oben erklärt, ist hier TP die Kraftstoffeinspritz-Basiszeit, FLEAN der Mager-Korrekturfaktor, FLLFB der Rückkopplungs-Korrekturfaktor für die Magergrenze, FAF der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis und TAUV eine ungültige Einspritzzeit. Man bemerke, dass in der obigen Gleichung KGTP(i) der Interzylinder-Korrekturfaktor ist. Der Interzylinder-Korrekturfaktor KGTP(i) ist der Korrekturfaktor, um die eingespritzte Kraftstoffmenge jedes Zylinders so zu korrigieren, dass die für den Ausdehnungshub der Zylinder #1, #2, #3 und #4 erforderlichen Zeiten gleich werden.
  • Wenn in der zweiten Ausführungsform das Kraftstoff-Luft-Verhältnis stöchiometrisch gehalten werden soll, so werden die Werte des Mager-Korrekturfaktors FLEAN, des Rückkopplungs-Korrekturfaktors für die Magergrenze FLLFB und des Interzylinder-Korrekturfaktors KGTP(i) auf 1,0 festgelegt, während der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis FAF auf der Basis des Ausgangssignals des Kraftstoff-Luft-Verhältnisfühlers 17 gesteuert wird. Wenn andererseits das Kraftstoff-Luft-Verhältnis auf dem mageren Kraftstoff-Luft-Zielverhältnis gehalten werden soll, wird der Wert des Rückkopplungs-Korrekturfaktors für ein stöchiometrisches Kraftstoff-Luft-Verhältnis FAF auf 1,0 festgelegt, das heisst, die auf der Basis des Ausgangssignals des Kraftstoff-Luft-Verhältnisfühlers 17 erfolgende Rückkopplungssteuerung wird abgebrochen, und das Kraftstoff-Luft-Verhältnis wird auf der Basis des Mager-Korrekturfaktors FLEAN, des Rückkopplungs-Korrekturfaktors für die Magergrenze FLLFB und des Interzylinder-Korrekturfaktors KGTP(i) auf das magere Kraftstoff-Luft-Zielverhältnis gesteuert.
  • Als Nächstes wird unter Bezugnahme auf 32 bis 35 die Routine für das Auffinden des an jedem Zylinder erzeugten Drehmoments erklärt.
  • 32 zeigt die bei Kurbelwinkeln aller 30° ausgeführte Unterbrechungsroutine. Auf 32 Bezug nehmend, wird zuerst die Routine (Schritt 1100) für eine Berechnung der verflossenen Zeiten Ta(i) und Tb(i) angegangen. Diese Routine ist in 33 gezeigt. Als Nächstes wird die Routine (Schritt 1200) für eine Überprüfung, ob die Berechnung des Drehmoments erlaubt ist oder nicht, angegangen. Diese Routine ist in den früher erklärten 13 bis 15 gezeigt. Als Nächstes wird die Routine für eine Berechnung des Drehmoments (Schritt 1300) angegangen. Diese Routine ist in 34 und 35 gezeigt. Als Nächstes wird die Routine für eine Berechnung der Verhältnisse KTa(i) und KTb(i) (Schritt 1400) angegangen. Diese Routine ist in den früher erklärten 18 und 19 gezeigt. Als Nächstes wird die Routine (Schritt 1500) für eine Verarbeitung des Zählers CDLNIX, der für eine Berechnung des Schwankungswertes des Drehmoments verwendet wird, angegangen. Diese Routine ist in der früher erklärten 20 gezeigt.
  • Aüf 33 Bezug nehmend, die die Routine für eine Berechnung der verflossenen Zeiten Ta(i) und Tb(i) zeigt, wird zuerst im Schritt 1101 die Zeit auf den Wert TIME0 gesetzt. Die elektronische Steuereinheit 2 ist mit einem freilaufenden Zähler versehen, der die Zeit anzeigt. Die Zeit wird aus dem Zählwert dieses freilaufenden Zählers berechnet. Als Nächstes wird in Schritt 1102 die laufende Zeit aufgesucht. Daher drückt TIME0 des Schritts 1101 die Zeit des vorherigen 30°-Kurbelwinkels aus.
  • Als Nächstes wird im Schritt 1103 beurteilt, ob der Zylinder Nr. 1 sich derzeit bei ATDC 30° befindet oder nicht. Wenn der Zylinder Nr. 1 sich derzeit nicht bei ATDC 30° befindet, wird nach Schritt 1106 gesprungen, wo beurteilt wird, ob sich der Zylinder Nr. 1 derzeit bei ATDC 90° befindet oder nicht. Wenn der Zylinder Nr. 1 sich derzeit nicht bei ATDC 90° befindet, wird zu Schritt 1108 gesprungen.
  • Wenn im Gegensatz dazu im Schritt 1103 geurteilt wird, dass sich der Zylinder Nr. 1 derzeit bei ATDC 30° befindet, wird zu Schritt 1104 weitergegangen, in dem die endgültige verflossene Zeit Ta(i) von TDC bis ATDC 30° des Zylinders Nr. 1 auf der Basis der folgenden Gleichung berechnet wird: Ta(i) = KTa(i)·(TIME – TIME0).
  • Wenn sich zum Beispiel der Zylinder Nr. 1 (#1) derzeit bei ATDC 30° befindet, wird die endgültige verflossene Zeit Ta(1) von TDC bis ATDC 30° des Zylinders Nr. 1 (# 1) aus KTa(1)·(TIME – TIME0) berechnet. Hier drückt (TIME – TIME0) die verflossene Zeit Ta(1) aus, die vom Kurbelwinkelfühler 14 tatsächlich gemessen wurde, während KTa(1) ein Verhältnis für die Korrektur des Fehlers wegen der Abstände der Aussenzähne auf dem Läufer 13 ist, deshalb drückt die endgültige verflossene Zeit Ta(1), die durch eine Multiplikation von (TIME – TIME0) mit KTa(1) gewonnen wird, genau die Zeit aus, die verflossen ist, wenn die Kurbelwelle sich um einen Kurbelwinkel von 30° dreht.
  • Als Nächstes wird im Schritt 1105 die Flagge XCAL(i – 1) des Zylinders Nr. (i – 1), in dem Verbrennung einmal zuvor erfolgt war, gesetzt, die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte (XCAL(i – 1) ← „1 "). In dieser Ausführungsform gemäss der vorliegenden Erfindung ist, wie oben erklärt, die zündfolge 1-3-4-2, deshalb wird die Flagge XCAL(2) des Zylinders Nr. 2 (#2), in dem Verbrennung einmal zuvor erfolgt war, gesetzt, die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte., wenn der Zylinder Nr. 1 sich derzeit bei ATDC 30° befindet. In der gleichen Weise wird, wenn die endgültige verflossene Zeit Ta(3) berechnet wird, wie in 21 gezeigt, die Flagge XCAL(1) gesetzt; wenn die endgültige verflossene Zeit Ta(4) berechnet wird, wird die Flagge XCAL(3) gesetzt, und wenn die endgültige verflossene Zeit Ta(2) berechnet wird, wird die Flagge XCAL(4) gesetzt.
  • Wenn andererseits im Schritt 1106 geurteilt wird, dass sich der Zylinder Nr. 1 derzeit bei ATDC 90° befindet, wird zu Schritt 1107 weitergegangen, wo die endgültige verflossene Zeit Tb(i) von ATDC 60° bis ATDC 90° des Zylinders Nr. 1 auf der Basis der folgenden Gleichung berechnet wird: Tb(i) = KTb(i)·(TIME – TIME0).
  • Wenn sich zum Beispiel der Zylinder Nr. 1 (#1) derzeit bei ATDC 90° befindet, wird die endgültige verflossene Zeit Tb(1) von ATDC 60° bis ATDC 90° des Zylinders Nr. 1 (# 1) aus KTb(1)·(TIME – TIME0) berechnet. Auch in diesem Falle drückt die endgültige verflossene Zeit Tb(1) genau die verflossene Zeit während der Periode aus, in der die Kurbelwelle sich um einen Kurbelwinkel von 30° dreht, da das Verhältnis KTb(1) für die Korrektur des Fehlers wegen der Abstände der Aussenzähne auf dem Läufer 13 mit (TIME – TIME0) multipliziert wird.
  • Als Nächstes wird im Schritt 1108 beurteilt, ob der Zylinder Nr. 1 sich derzeit bei ATDC 210° befindet oder nicht. Wenn sich der Zylinder Nr. 1 derzeit bei ATDC 210° befindet, wird die verflossene Zeit T180(i) von ATDC 30° bis ATDC 210° des Zylinders Nr. 1 berechnet, das heisst, die verflossene Zeit T180(i) des Ausdehnungshubs des Zylinders Nr. 1. Obwohl nicht im Einzelnen in der Beschreibung dieser Anmeldung beschrieben, wird die Differenz zwischen der verflossenen Zeit T180(i) des Ausdehnungshubs eines Zylinders und der verflossenen Zeit T 180(i) des nächsten Ausdehnungshubs des Zylinders für jeden Zylinder berechnet, und der Interzylinder-Korrekturfaktor KGTP(i) wird für jeden Zylinder berechnet, so dass die Differenz für jeden Zylinder kleiner wird. Es sei bemerkt, dass dieser Interzylinder-Korrekturfaktor KGTP(i) im Einzelnen zum Beispiel in der Ungeprüften Japanischen Patentveröffentlichung (Kokai) Nr. 4-370346 offenbart wird.
  • Als Nächstes wird die in 34 und 35 gezeigte Routine für eine Berechnung des Drehmoments erläutert. Auf 34 und 35 Bezug nehmend, wird zuerst im Schritt 1301 beurteilt, ob die Flagge XCAL(i – 1) des Zylinders Nr. (i – 1), in dem die Verbrennung einmal zuvor erfolgt war und die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte, gesetzt ist oder nicht. Wenn die Flagge XCAL(i – 1) = „0", d. h., wenn die Flagge XCAL(i – 1) nicht gesetzt ist, wird der Verarbeitungszyklus beendet. Wenn im Gegenteil die Flagge XCAL(i – 1) = „1", d. h., wenn die Flagge XCAL(i – 1) gesetzt ist, wird zu Schritt 1302 weitergegangen, in dem die Flagge XCAL(i – 1) zurückgezogen wird, dann wird zu Schritt 1303 weitergegangen.
  • Im Schritt 1303 wird beurteilt, ob die Motordrehzahl N kleiner als die vorbestimmte Solldrehzahl NL ist oder nicht. Wenn N < NL, wird zu Schritt 307 weitergegangen, wo beurteilt wird, ob die Verbotsflagge XNOCAL, die die Berechnung des Drehmoments für den Zylinder verbietet, bei dem die Verbrennung einmal zuvor erfolgt war, zurückgezogen ist (XNOCAL = „0") oder nicht. Wenn diese Verbotsflagge gesetzt ist (XNOCAL = „1"), wird zu Schritt 1315 weitergegangen, in dem die Verbotsflagge XNOCAL zurückgezogen wird. Wenn im Gegenteil die Verbotsflagge zurückgezogen ist, wird zu Schritt 1308 weitergegangen. Das heisst, dass zu Schritt 1308 nur weitergegangen wird, wenn die Flagge XCAL gesetzt und die Verbotsflagge XNOCAL zurückgezogen ist.
  • Im Schritt 1308 wird der Schwankungsbetrag h der verflossenen Zeit (8) wegen der Torsionsschwingungen des Motorantriebsmechanismus auf der Basis der folgenden Gleichung berechnet: h = {Ta(i – 1) – Ta(i)} 60/180.
  • Das bedeutet, wie aus 8 zu verstehen ist, dass der Schwankungsbetrag h der verflossenen Zeit ein Drittel von ho (= Ta(i – 1) – Ta(i)) wird. Als Nächstes wird in Schritt 1309 der Wert von Tb'(i – 1), der nur die verflossene Zeit wegen des Verbrennungsdruckes ausdrückt, auf der Basis der folgenden Gleichung berechnet: Tb'(i – 1) = Tb(i – 1 ) +h.
  • Das bedeutet, dass h = {Ta(1) – Ta(3)}·60/180 und Tb'(1) = Tb(1) + h, wenn Tb'(1) für den Zylinder Nr. 1 (#1) gefunden wird. Des Weiteren h = {Ta(3) – Ta(4)} 60/180 und Tb'(3) = Tb(3) + h, wenn Tb'(3) für den Zylinder Nr. 3 (#3) gefunden wird.
  • Als Nächstes wird im Schritt 310 das erzeugte Drehmoment DN(i – 1) des Zylinders, in dem die Verbrennung einmal zuvor erfolgt war, auf der Basis der folgenden Gleichung berechnet: DN(i – 1) = ωb2 – ωa2 = (30°/Tb'(i – 1))2 – (30°/Ta(i – 1))2.
  • Dieses erzeugte Drehmoment DN(i – 1) drückt das Drehmoment nach Beseitigung des Effekts der Torsionsschwingungen des Motorantriebsmechanismus und des Effekts der Variation in den Abständen der Aussenzähne des Läufers 13 aus. Es sei bemerkt, dass beim Auffinden der durch einen Zylinder erzeugten Antriebskraft GN(i – 1) diese Antriebskraft GN(i – 1) auf der Basis der folgenden Gleichung berechnet werden kann: GN(i – 1) = (30°/Tb'(i – 1)) – 30°/Ta(i – 1)).
  • Im Schritt 1310 wird das erzeugte Drehmoment DN(i – 1) berechnet, dann wird zu Schritt 1311 weitergegangen, in dem der Schwankungsbetrag des Drehmoments DLN(i – 1) in einem einzelnen Zyklus des gleichen Zylinders auf der Basis der folgenden Gleichung berechnet wird: DLN(i – 1) = DN(i – 1)j – DN(i – 1).
  • Hier drückt DN(i – 1)j das einen Zyklus (720° Kurbelwinkel) vorher erzeugte Drehmoment des gleichen Zylinders für DN(i – 1) aus.
  • Als Nächstes wird im Schritt 1312 beurteilt, ob der Schwankungsbetrag des Drehmoments, DLN(i – 1), positiv ist oder nicht. Wenn DLN(i – 1) ≥ 0, so wird zu Schritt 1314 gesprungen, wo die Anforderungsflagge für kumulative Addition XCDLN(i – 1) des Zylinders, in dem die Verbrennung einmal zuvor erfolgt war und die anzeigt, dass der Schwankungsbetrag des Drehmoments DLN(i – 1) kumulativ addiert werden sollte, gesetzt wird (XCDLN(i – 1) ← „1"). Wenn im Gegenteil DLN(i – 1) < 0, so wird zu Schritt 1313 weitergegangen, wo DLN(i – 1) null gemacht wird, dann wird zu Schritt 1314 weitergegangen. Es sei bemerkt, dass das Drehmoment jedes Zylinders wiederholt ansteigt und abfällt. Um in diesem Falle den Schwankungsbetrag des Drehmoments zu finden, genügt es, entweder den Betrag der Erhöhung des Drehmoments oder den Betrag der Verringerung des Drehmoments kumulativ zu addieren. In der in 34 und 35 gezeigten Routine wird nur der Betrag der Verringerung des Drehmoments kumulativ addiert, daher wird, wie oben erklärt, DLN(i – 1) null gemacht, wenn DLN(i – 1) < 0.
  • Auf diese Weise werden aufeinanderfolgend das erzeugte Drehmoment (DN(i – 1) der Zylinder #1, #2, #3 und #4 und der Schwankungsbetrag des Drehmoments DLN(i – 1) berechnet, wenn die Motordrehzahl N niedriger als die Solldrehzahl NL ist, solange die Verbotsflagge XNOCAL nicht gesetzt ist.
  • Wenn andererseits im Schritt 1303 geurteilt wird, das N > NL, so wird zu Schritt 1304 weitergegangen, wo beurteilt wird, ob die Motordrehzahl N niedriger als die vorbestimmte Solldrehzahl NH (> NL) ist oder nicht. Wenn N < NH, so wird zu Schritt 305 weitergegangen, in dem beurteilt wird, ob der Zylinder (i – 1), in dem Verbrennung ein Mal zuvor erfolgt war, der Zylinder Nr. 3 (#3) oder der Zylinder Nr. 4 (#4) war oder nicht. Wenn der Zylinder (i – 1), in dem Verbrennung einmal Mal zuvor erfolgt war, der Zylinder Nr. 3 (#3) oder der Zylinder Nr. 4 (#4) war, wird zu Schritt 1307 weitergegangen, aber wenn der Zylinder (i – 1), in dem Verbrennung einmal zuvor erfolgt war, weder der Zylinder Nr. 3 (#3) noch der Zylinder Nr. 4 (#4) war, wird der Verarbeitungszyklus beendet. Daher werden das erzeugte Drehmoment DN(i – 1) und der Schwankungsbetrag des Drehmoments DLN(i – 1) nur für den Zylinder Nr. 3 (#3) und den Zylinder Nr. 4 (#4) berechnet, solange die Verbotsflagge XNOCAL nicht gesetzt ist, wenn NL < N < NH für die Motordrehzahl N.
  • Wenn andererseits im Schritt 1304 geurteilt wird, dass N > NH, so wird zu Schritt 306 weitergegangen, in dem beurteilt wird, ob der Zylinder (i – 1), in dem Verbrennung einmal zuvor erfolgt war, der Zylinder Nr. 4 (#4) war oder nicht. Wenn der Zylinder (i – 1), in dem Verbrennung einmal zuvor erfolgt war, der Zylinder Nr. 4 (#4) war, wird zu Schritt 1307 weitergegangen, aber wenn der Zylinder (i – 1), in dem Verbrennung einmal zuvor erfolgt war, nicht der Zylinder Nr. 4 (#4) war, wird der Verarbeitungszyklus beendet. Daher werden das erzeugte Drehmoment DN(i – 1) und der Schwankungsbetrag des Drehmoments DLN(i – 1) nur für den Zylinder Nr. 4 (#4) berechnet, solange die Verbotsflagge XNOCAL nicht gesetzt ist, wenn N > NH für die Motordrehzahl N.
  • 36 zeigt die wiederholt ausgeführte Hauptroutine. In dieser Hauptroutine wird zuerst die Routine für eine Berechnung des Drehmomenten-Schwankungswertes (Schritt 1600) ausgeführt. Diese Routine ist in 37 und 38 gezeigt. Als Nächstes wird die Routine für eine Berechnung des Rückkopplungs-Korrekturfaktors für die Mager grenze, FLLFB (Schritt 1700), ausgeführt. Diese Routine ist in der früher erklärten 27 gezeigt. Als Nächstes wird, wenn der vorbestimmte Kurbelwinkel erreicht ist, die Routine für eine Berechnung der Einspritzzeit (Schritt 1800) ausgeführt. Diese Routine ist in 39 gezeigt. Als Nächstes werden die anderen Routinen (Schritt 1900) ausgeführt.
  • Als Nächstes wird die Routine für eine Berechnung des Drehmomenten-Schwankungswertes unter Bezugnahme auf 37 und 38 erklärt.
  • Auf 37 und 38 Bezug nehmend, wird zuerst im Schritt 1601 geurteilt, ob die Anforderungsflagge für kumulative Addition, XCDLN(i), die anzeigt, dass der Schwankungsbetrag des Drehmoments, DLN(i), kumulativ addiert werden sollte, gesetzt ist (XCDLN(i) = „1") oder nicht. Wenn die Anforderungsflagge für kumulative Addition, XCDLN(i), nicht gesetzt ist, wird zu Schritt 1609 gesprungen, aber wenn die Anforderungsflagge für kumulative Addition, XCDLN(i), gesetzt ist, wird zu Schritt 6102 weitergegangen. Im Schritt 1602 wird die Anforderungsflagge für kumulative Addition, XCDLN(i), zurückgezogen. Als Nächstes wird im Schritt 1603 der Schwankungsbetrag des Drehmoments, DLN(i), zum kumulativen Wert DLNI(i) des Schwankungsbetrages des Drehmoments addiert. Als Nächstes wird im Schritt 1604 der kumulative Zählwert, CDLNI(i), um genau 1 inkrementiert. Das heisst zum Beispiel, wenn im Schritt 1601 die Anforderungsflagge für kumulative Addition, XCDLN(1), für den Zylinder Nr. 1 gesetzt ist, dass diese Flagge XCDLN(1) im Schritt 1602 zurückgezogen, der Schwankungsbetrag des kmulativen Wertes des Drehmoments, DLNI(1), im Schritt 1603 berechnet und der kumulative Zählwert CDLNI(1) im Schritt 1604 um genau 1 inkrementiert wird.
  • Als Nächstes wird im Schritt 1605 beurteilt, ob der kumulative Zählwert CDLNI(i) „8" geworden ist oder nicht. Wenn CDLNI(i) nicht „8" ist, wird zu Schritt 1609 gesprungen, aber wenn CDLNI(i) „8" wird, wird zu Schritt 1606 weitergegangen, wo der Drehmomenten-Schwankungswert DLNISM(i) jedes Zylinders aus der folgenden Gleichung berechnet wird: DLNISM(i) = DLNISM(i) + {DLNI(i) – DLNISM(i)}/4.
  • Als Nächstes wird im Schritt 1607 der kumulative Wert DLNI(i) des Schwankungsbetrages des Drehmoments für jeden Zylinders gelöscht, dann wird im Schritt 1608 der kumulative Zählwert CDLNI(i) gelöscht.
  • Das heisst, dass der Wert der Differenz {DLNI(i) – DLNISM(i)}, multipliziert mit ¼, zum Schwankungswert des Drehmoments, DLNISM(i), addiert wird, wenn zwischen dem berechneten Schwankungsbetrag des kumulativen Wertes des Drehmoments, DLNI(i), und dem vorher verwendeten Schwankungswert des Drehmoments, DLNISM(i), ein Unterschied besteht. Daher wird zum Beispiel im Schritt 1606 der Schwankungswert des Drehmoments, DLNISM(1), berechnet, wenn der kumulative Zählwert, CDLNI(1), für den Zylinder Nr. 1 (# 1) „8" wird. i
  • Als Nächstes wird im Schritt 1609 beurteilt, ob der Zählwert CDLNIX, der mit der in 20 gezeigten Routine berechnet wurde, „8" geworden ist oder nicht. Wenn CDLNIX nicht „8" ist, wird der Verarbeitungszyklus beendet, aber wenn CDLNIX „8" wird, wird zu Schritt 1610 weitergegangen, wo beurteilt wird, ob der im Schritt 1509 der in 20 gezeigten Routine für die Verarbeitung von CDLNIX gefundene Durchschnittswert der Motordrehzahl, NAVE, niedriger als die Solldrehzahl NL ist oder nicht. Bei NAVE < NL wird zu Schritt 1611 weitergegangen, wo der Mittelwert des Schwankungswertes des Drehmoments, DLNISM(i), jedes Drehmoments, das heisst der Mittellwert der Drehmomentenschwankung DLNISM (= DLNISM(1) + DLNISM(2) + DLNISM(3) + DLNISM(4)}/4) berechnet wird. Als Nächstes wird zu Schritt 1615 weitergegangen.
  • Wenn im Gegenteil im Schritt 1610 geurteilt wird, das NAVE ≥ NL, so wird zu Schritt 1612 weitergegangen, wo beurteilt wird, ob der durchschnittswert der Motordrehzahl, NAVE kleiner als die Solldrehzahl NH (> NL) ist oder nicht. Bei NAVE < NH wird zu Schritt 1613 weitergegangen, in dem der Mittelwert des Schwankungswertes des Drehmoments DLNISM(i) des Zylinders Nr. 3 (#3) und des Zylinders Nr. 4 (#4), das heisst, der Mittelwert der Drehmomentenschwankung DLNISM (= {DLNISM(3) + DLNSIM(4)}/2), berechnet wird. Als Nächstes wird zu Schritt 1615 weitergegangen. Das heisst, dass eine Berechnung des Schwankungsbetrages des Drehmoments, DLN(i), für den Zylinder Nr. 1 (#1) und den Zylinder Nr. 2 (#2) verboten ist, wenn NL ≤ NAVE < NH, so dass dann der Mittelwert der Drehmomentenschwankung DLNISM zum Mittelwert von DLNSIM(3) und DLNISM(4) gemacht wird.
  • Wenn andererseits im Schritt 1612 geurteilt wird, dass NAVE ≥ NH, so wird zu Schritt 1614 weitergegangen, wo der Drehmomenten-Schwankungswert DLNISM(4) des Zylinders Nr. 4 (#4) zum Mittelwert der Drehmomentenschwankung DLNISM gemacht wird. Das heisst, dass die Berechnung des Schwarikungsbetrages des Drehmoments, DLN(i), für den Zylinder Nr. 1 (#1), den Zylinder Nr. 2 (#2) und den Zylinder Nr. 3 (#3) verboten ist, wenn NAVE ≥ NH, so dass dann DLNISM(4) zum Mittelwert der Dreh momentenschwankung DLNSIM(4) gemacht wird. Als Nächstes wird zu Schritt 1615 weitergegangen. Im Schritt 1611 wird der Zählwert CDLNIX gelöscht. Auf diese Weise wird der Wert von DLNISM, der den Schwankungsbetrag des Motorendrehmoments darstellt, berechnet.
  • Als Nächstes wird unter Bezugnahme auf 39 die Routine für eine Berechnung der Kraftstoffeinspritzzeit erklärt.
  • Auf 39 Bezug nehmend, wird zuerst im Schritt 1801 aus der in 2 gezeigten Karte die Kraftstoffeinspritz-Basiszeit TP berechnet. Als Nächstes wird im Schritt 1802 beurteilt, ob der Betriebszustand so ist, dass ein magerer Betrieb durchgeführt werden sollte oder nicht. Wenn der Betriebszustand so ist, dass ein magerer Betrieb durchgeführt werden sollte, wird zu Schritt 1803 weitergegangen, wo der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis, FAF, auf einen Wert von 1,0 festgelegt wird. Als Nächstes wird im Schritt 1804 der Mager-Korrekturfaktor FLEAN aus der in 4 gezeigten Karte berechnet, dann wird im Schritt 1805 der Rückkopplungs-Korrekturfaktor für die Magergrenze, FLLFB, aus der in 5 gezeigten Karte abgelesen. Als Nächstes wird im Schritt 1806 der Interzylinder-Korrekturfaktor KGTP(i) berechnet. Als Nächstes wird im Schritt 1811 die Kraftstoffeinspritzzeit TAU aus der folgenden Gleichung berechnet: TAU = TP·FLEAN·FLLFB·FAF·KGTP(i) + TAUV.
  • Wenn im Gegenteil im Schritt 1802 geurteilt wird, dass der Betriebszustand nicht so ist, dass ein magerer Betrieb durchgeführt werden sollte, dass also das Kraftstoff-Luft-Verhältnis zu einem stöchiometrischen Verhältnis gemacht werden sollte, wird zu Schritt 1807 weitergegangen, wo der Mager-Korrekturfaktor FLEAN auf einen Wert von 1,0 festgelegt wird. Als Nächstes wird im Schritt 1808 der Rückkopplungs-Korrekturfaktor für die Magergrenze, FLLFB, auf einen Wert von 1,0 festgelegt. Als Nächstes wird im Schritt 1809 der Interzylinder-Konekturfaktor KGTP(i) auf einen Wert von 1,0 festgelegt. Als Nächstes wird im Schritt 1810 der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis, FAF, auf der Basis des Ausgangssignals des Kraftstoff-Luft-Verhältnisfühlers 17 so gesteuert, dass das Kraftstoff-Luft-Verhältnis stöchiometrisch wird. Als Nächstes wird zu Schritt 1811 weitergegangen, wo die Kraftstoffeinspritzzeit TAU berechnet wird.
  • Als Nächstes wird eine Erklärung einer dritten Ausführungsform gegeben, die eine noch genauere Erfassung der an jedem Zylinder erzeugten Antriebskraft oder des an jedem Zylinder erzeigten Drehmoments ermöglicht.
  • Die Änderung der Geschwindigkeit der Hin- und Herbewegung des Kolbens wird nämlich nahe dem oberen Totpunkt am kleinsten und nahe 90° nach dem oberen Totpunkt am grössten. Wenn die Änderung der Geschwindigkeit der Hin- und Herbewegung des Kolbens gross wird, wirkt dann die durch die Trägheit des Kolbens und anderer, sich hin- und herbewegender Glieder (hiernach einfach als Kolbenträgheit bezeichnet) verursachte, verlangsamende Wirkung auf die Kurbelwelle, daher wird die Änderung der Geschwindigkeit der Hin- und Herbewegung des Kolbens nahe 90° nach dem oberen Totpunkt am grössten, und die Winkelgeschwindigkeit der Kurbelwelle wird durch die verlangsamende Wirkung der Kolbenträgheit verringert. Die Änderung der Geschwindigkeit der Hin- und Herbewegung des Kolbens wird dann desto grösser, je höher die Motorendrehzahl wird, und daher wird die verlangsamende Wirkung der Kolbenträgheit desto mächtiger, je höher die Motordrehzahl wird.
  • Es sei aber bemerkt, dass die Winkelgeschwindigkeit der Kurbelwelle nahe 90° nach dem oberen Totpunkt, das heisst, die zweite Winkelgeschwindigkeit ωb, verringert wird, wenn die verlangsamende Wirkung der Kolbenträgheit in dieser Weise wirkt. Das heisst, dass die erfasste zweite Winkelgeschwindigkeit ωb den Betrag der durch den Verbrennungsdruck verursachten Erhöhung der Winkelgeschwindigkeit und den Betrag der durch die Kolbenträgheit verursachten Verminderung der Winkelgeschwindigkeit enthält. Es ist daher notwendig, den Betrag der durch die Kolbenträgheit verursachten Änderung der zweiten Winkelgeschwindigkeit ωb zu berücksichtigen, um die durch jeden Zylinder erzeugte Antriebskraft oder das durch jeden Zylinder erzeugte Drehmoment genauer zu finden. Dies wird als Nächstes unter Bezugnahme auf die 40, 41A und 41B erläutert.
  • Wie früher erklärt, wird die verlangsamende Wirkung der Kolbenträgheit mächtiger, wenn die Motordrehzahl höher wird. Im Ergebnis verringert sich die Winkelgeschwindigkeit der Kurbelwelle nahe 90° nach dem oberen Totpunkt, d. h., die zweite Winkelgeschwindigkeit ωb. In anderen Worten wird wegen der verlangsamenden Wirkung der Kolbenträgheit die verflossene Zeit T30 nahe 90° nach dem oberen Totpunkt länger. 40 zeigt die Änderung der verflossenen Zeit T30 bei hoher Motordrehzahl. Aus 40 ist ersichtlich, dass die verflossenen Zeiten Tb(1) und Tb(3) nahe 90° nach dem oberen Totpunkt länger werden.
  • Andererseits bewirkt der Verbrennungsdruck, wenn Verbrennung erfolgt, dass sich die verflossene Zeit T30 von Ta(i) zu Tb(i) verringert. Das heisst, dass der Verbrennungsdruck bewirkt, dass sich die Winkelgeschwindigkeit der Kurbelwelle von der ersten Winkelgeschwindigkeit ωa auf die zweite Winkelgeschwindigkeit ωb erhöht, wenn Verbrennung erfolgt. Es sei jedoch bemerkt, wie oben erklärt, dass die verlangsamende Wirkung der Kolbenträgheit bewirkt, dass sich die zweite Winkelgeschwindigkeit ωb verringert, so dass die erfasste zweite Winkelgeschwindigkeit ωb nicht nur den Betrag der durch den Verbrennungsdruck verursachten Erhöhung der Winkelgeschwindigkeit, sondern auch den Betrag der durch die Kolbenträgheit verursachten Verringerung der Winkelgeschwindigkeit enthält. Sofern dann die zweite Winkelgeschwindigkeit ωb nicht um den Betrag der durch die Kolbenträgheit verursachten Verringerung der Winkelgeschwindigkeit erhöht wird, drückt daher die Differenz zwischen der ersten Winkelgeschwindigkeit ωa und der zweiten Winkelgeschwindigkeit ωb nicht die erzeugte Antriebskraft des Zylinders aus, und die Differenz zwischen dem Quadrat der ersten Winkelgeschwindigkeit ωa und dem Quadrat der zweiten Winkelgeschwindigkeit ωb drückt nicht das erzeugte Drehmomente des Zylinders aus.
  • In der dritten Ausführungsfonn wird daher die Differenz zwischen den verflossenen Zeiten Ta(i) und Tb(i) gefunden, wenn die zufuhr von Kraftstoff zum Zeitpunkt eines Verlangsamungsvorgangs unterbrochen wird, und die Differenz wird dann verwendet, um die verflossene Zeit Tb(i) zu korrigieren. Wenn die Kraftstoffzufuhr unterbrochen wird, tritt nämlich kein Verbrennungsdruck auf und nur der durch die Kolbenträgheit verursachte Effekt erscheint dann in der verflossenen Zeit T30. 41A zeigt die Ändenung der verflossenen Zeit T30, wenn die Kraftstoffzufuhr unterbrochen wird. Wie in 41A gezeigt, bewirkt die verlangsamende Wirkung der Kolbenträgheit, dass die verflossenen Zeiten Tb(1) und Tb(3), also Tb(i), länger werden, wenn die Kraftstoffzufuhr unterbrochen wird. Dann drückt die Differenz r (r = Tb(i) – Ta(i)) zwischen den verflossenen Zeiten Ta(i) und Tb(i) den Betrag der durch die Kolbenträgheit verursachten Erhöhung der verflossenen Zeit Tb(i) aus. Wenn daher dieser Betrag der Erhöhung r von den in 40 gezeigten, tatsächlich erfassten Tb(i) abgezogen wird, dann drückt das Ergebnis dieser Subtraktion (tatsächlich erfasste Tb(i) – Betrag der Erhöhung r) die durch den Verbrennungsdruck verringerte, verflossene Zeit Tb(i) aus. Die durch diesen Verbrennungsdruck verringere, verflossene Zeit Tb(i) ist in 41B gezeigt. Wenn die erzeugte Antriebskraft und das erzeugte Drehmoment eines Zylinders auf der Basis der in 41B gezeigten verflossenen Zeiten Ta(i), Tb(i) berechnet werden, dann drücken die erzeugte Antriebskraft und das erzeugte Drehmoment die wahre erzeugte Antriebskraft und das wahre erzeugte Drehmoment aus, aus denen der Effekt der Trägheit der Kolben eliminiert worden ist.
  • In anderen Worten wird zu dem Zeitpunkt, wenn die Kraftstoffzufuhr unterbrochen wird, die zweite Winkelgeschwindigkeit ωb durch die Kolbenträgheit um genau die Differenz zwischen der ersten Winkelgeschwindigkeit ωa und der zweiten Winkilgeschwindigkeit ωb verringert. Wenn der Betrag der Verringerung der Winkelgeschwindigkeit (ωa – ωb) zu diesem Zeitpunkt zu der tatsächlich erfassten zweiten Winkelgeschwindigkeit ωb hinzugefügt wird, drückt dann das Ergebnis der Addition die durch den Verbrennungsdruck erhöhte zweite Winkelgeschwindigkeit ωb aus.
  • Es sei aber bemerkt, dass der Betrag der durch die obige Kolbenträgheit verursachten Erhöhung r der verflossenen Zeit eine Funktion der Motordrehzahl wird. Das heisst, dass die verlangsamende Wirkung der Kolbenträgheit stark wird, wenn die Motordrehzahl hoch wird, so dass der Betrag der Erhöhung r der verflossenen Zeit grösser wird, aber die verflossenen Zeiten Ta(i) und Tb(i) selbst werden Kürzer, so dass der Betrag der Erhöhung r der verflossenen Zeit kleiner wird, wenn die Motordrehzahl N höher wird, wie durch die gestrichelte Linie in 42 gezeigt. In dieser Ausführungsform gemäss vorliegender Erfindung wird daher der Betrag der Erhöhung r der verflossenen Zeit in Übereinstimmung mit der Motordrehzahl N aus der durch die gestrichelte Linie in 42 gezeigten Beziehung berechnet. Der Betrag der Erhöhung r wird verwendet, um die verflossene Zeit Tb(i) zu korrigieren.
  • Es sei aber bemerkt, dass ein im Voraus durch Versuche gefundener Wert als der Betrag der Erhöhung der verflossenen Zeit verwendet werden kann, jedoch wird in dieser Ausführungsform gemäss der vorliegenden Erfindung dieser Betrag der Erhöhung r gelernt. Wie in 42 gezeigt, werden nämlich für die Motordrehzahl N eine Mehrzahl von Lernzonen S1, S2, S3, S4, S5 ... festgelegt. Wenn die Kraftstoffzufuhr zum Zeitpunkt eines Verlangsamungsvorganges unterbrochen wird, wird der Betrag der Erhöhung r1(i), r2(i), r3(i), r4(i), r5(i) ... der verflossenen Zeit in Übereinstimmung mit der Motordrehzahl N zu diesem Zeitpunkt für jeden Zylinder gefunden.
  • Andererseits hat in der dritten Ausführungsform der Läufer 13 alle 10° Kurbelwinkel einen Aussenzahn auf seinem Aussenumfang ausgebildet, wobei einige der Aussenzähne entfernt worden sind, um zum Beispiel den oberen Totpunkt des Verdichtungshubs des Zylinders Nr. 1 zu erfassen. Der Abschnitt, wo die Aussenzähne entfernt worden sind, also dieser zahnlose Abschnitt, ist in 43 durch die Bezugszahl 18 gezeigt. Des Weiteren ist in der dritten Ausführungsform die relative Anordnung des Kurbelwinkelfühlers 14 gegenüber dem zahnlosen Abschnitt 18 bei ATDC 60° bis ATDC 90° des Zylinders Nr. 2 (#2) und des Zylinders Nr. 3 (#3) so festgelegt, dass der Kurbelwinkelfühler 14 dem zahnlosen Abschnitt 18 zugekehrt ist. Wenn aber der Kurbelwinkelfühler 14 dem zahnlosen Abschnitt 18 bei ATDC 60° bis ATDC 90° des Zylinders Nr. 2 (#2) und des Zylinders Nr. 3 (#3) auf diese Weise zugekehrt ist, können die verflossene Zeit Tb(2) des Zylinders Nr. 2 (#2) und die verflossene Zeit Tb(3) des Zylinders Nr. 3 (#3) nicht genau erfasst werden, deshalb können der Betrag der Erhöhung r(2) der verangenen Zeit für den Zylinder Nr. 2 (#2) und die verflossene Zeit r(3) für den Zylinder Nr. 3 (#3) nicht mehr genau erfasst werden.
  • Am zahnlosen Abschnitt 18 schwankt nämlich das Ausgangssignal des Kurbelwinkelfühlers 14 je nach der Motordrehzahl N um einen grossen Betrag. Im Ergebnis weichen, wie in 44 gezeigt, die Beträge der Erhöhung r(i) der verflossenen Zeit für den Zylinder Nr. 2 (#2) und den Zylinder Nr. 3 (#3) stark von den Beträgen der Erhöhung r(i) des Zylinders Nr. 1 (#1) und des Zylinders Nr 4 (#4) ab, die die wahren Werte aufweisen. In der dritten Ausführungsform können daher die Antriebskraft und das Drehmoment, die durch den Zylinder erzeugt werden, für den Zylinder Nr. 2 (#2) und den Zylinder Nr. 3 (#3) nicht genau erfasst werden, daher werden die Antriebskraft und das Drehmoment, die durch den Zylinder erzeugt werden, für den Zylinder Nr. 2 (#2) und den Zylinder Nr. 3 (#3) nicht berechnet. Wenn natürlich wie in der ersten und zweiten Ausführungsform dann die relative Stellung des Kurbelwinkelfühlers 14 gegenüber dem zahnlosen Abschnitt 18 so festgelegt wird, dass der Kurbelwinkelfühler 14 bei Erfassung der verflossenen Zeiten Ta(i) und Tb(i) nicht dem zahnlosen Abschnitt 18 zugekehrt ist, wird es möglich, die Antriebskraft und das Drehmoment für alle Zylinder genau zu berechnen.
  • Es sei bemerkt, dass die Kraftstoffeinspritzzeit TAU in der dritten Ausführungsform ebenso wie in der zweiten Ausführungsform auf der Basis der folgenden Gleichung berechnet wird: TAU = TP·FLEAN·FLLFB·FAF·KGTP(i) + TAUV.
  • Als Nächstes wird unter Bezugnahme auf 45 bis 53 die Routine für das Auffinden des durch jeden Zylinder erzeugten Drehmoments erklärt. Es sei bemerkt, dass 53 die Zeitpunkte für die Berechnung der verschiedenen Werte, die in jeder Routine erfolgt, zeigt.
  • 45 zeigt eine bei Kurbelwinkeln aller 30° ausgeführte Unterbrechungsroutine. Auf 45 Bezug nehmend, wird zuerst die Routine (Schritt 2100) für eine Berechnung der verflossenen Zeiten Ta(i) und Tb(i) angegangen. Diese Routine ist in 46 gezeigt. Als Nächstes wird die Routine (Schritt 2200) für eine Überprüfung, ob die Berechnung des Drehmoments erlaubt ist oder nicht, angegangen. Diese Routine ist in den früher erklärten 13 bis 15 gezeigt. Als Nächstes wird die Routine für eine Berechnung des Drehmoments (Schritt 2300) angegangen. Diese Routine ist in 47 bis 49 gezeigt. Als Nächstes wird die Routine für eine Berechnung der Verhältnisse KTa(i) und KTb(i) (Schritt 2400) angegangen. Diese Routine ist in 50 und 51 gezeigt. Als Nächstes wird die Routine für eine Verarbeitung des Zählers CDLNIX, der für eine Berechnung des Schwankungswertes des Drehmoments verwendet wird (Schritt 2500), angegangen. Diese Routine ist in 52 gezeigt.
  • Auf 46 Bezug nehmend, die die Routine für eine Berechnung der verflossenen Zeiten Ta(i) und Tb(i) zeigt, wird zuerst im Schritt 2101 die Zeit auf den Wert TIME0 gesetzt. Die elektronische Steuereinheit 20 ist mit einem freilaufenden Zähler versehen, der die Zeit anzeigt. Die Zeit wird aus dem Zählwert dieses freilaufenden Zählers berechnet. Als Nächstes wird in Schritt 2102 die laufende Zeit aufgesucht. Daher drückt TIME0 bei Schritt 101 die Zeit des vorherigen 30°-Kurbelwinkels aus.
  • Als Nächstes wird im Schritt 2103 beurteilt, ob der Zylinder Nr. 1 sich derzeit bei ATDC 30° befindet oder nicht. Wenn der Zylinder Nr. 1 sich derzeit nicht bei ATDC 30° befindet, wird nach Schritt 2107 gesprungen, wo beurteilt wird, ob sich der Zylinder Nr. 1 derzeit bei ATDC 90° befindet oder nicht. Wenn der Zylinder Nr. 1 sich derzeit nicht bei ATDC 90° befindet, wird zu Schritt 2109 gesprungen.
  • Wenn im Gegensatz dazu im Schritt 2103 geurteilt wird, dass sich der Zylinder Nr. 1 derzeit bei ATDC 30° befindet, wird zu Schritt 1204 weitergegangen, in dem die endgültige verflossene Zeit Ta(i) von TDC bis ATDC 30° des Zylinders Nr. 1 auf der Basis der folgenden Gleichung berechnet wird: Ta(i) = KTa(i)·(TIME – TIME0).
  • Wenn sich zum Beispiel der Zylinder Nr. 1 (#1) derzeit bei ATDC 30° befindet, wird die endgültige verflossene Zeit Ta(1) von TDC bis ATDC 30° des Zylinders Nr. 1 (# 1) aus KTa(1)·(TIME – TIME0) berechnet. Hier drückt (TIME – TIME0) die verflossene Zeit Ta(1) aus, die vom Kurbelwinkelfühler 14 tatsächlich gemessen wurde, während KTa(1) das Verhältnis für die Korrektur des Fehlers wegen der Abstände der Aussenzähne auf dem Läufer 13 ist, deshalb drückt die endgültige verflossene Zeit Ta(1), die durch eine Multiplikation von (TIME – TIME0) mit KTa(1) gewonnen wird, genau die Zeit aus, die verflossen ist, wenn die Kurbelwelle sich um einen Kurbelwinkel von 30° dreht.
  • Als Nächstes wird im Schritt 2105 beurteilt, ob der Zylinder Nr. (i – 1), in dem Verbrennung einmal zuvor erfolgt war, der Zylinder Nr. 1 (#1) oder der Zylinder Nr. 4 (#4) ist oder nicht. Wenn der Zylinder Nr. (i – 1), in dem Verbrennung einmal zuvor erfolgt war, der Zylinder Nr. 2 (#2) oder der Zylinder Nr. 3 (#3) ist, wird zu Schritt 2109 gesprungen. Wenn im Gegenteil der Zylinder Nr. (i – 1), in dem Verbrennung einmal zuvor erfolgt war, der Zylinder Nr. 1 (#1) oder der Zylinder Nr. 4 (#4) ist, wird zu Schritt 2106 weitergegangen.
  • Im Schritt 2106 wird die Flagge XCAL(i – 1) des Zylinders Nr. (i – 1), in dem Verbrennung einmal zuvor erfolgt war, gesetzt, die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte (XCAL(i – 1) ← „1"). In dieser Ausführungsform gemäss der vorliegenden Erfindung ist, wie oben erklärt, die Zündfolge 1-3-4-2, deshalb wird die Flagge XCAL(1) des Zylinders Nr. 1 (#1), in dem Verbrennung einmal zuvor erfolgt war, gesetzt, die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte, wenn der Zylinder Nr. 3 (#3) sich derzeit bei ATDC 30° befindet. In der gleichen Weise wird, wenn die endgültige verflossene Zeit Ta(2) berechnet wird, wie in 53 gezeigt, die Flagge XCAL(4) gesetzt. Das heisst, die Flagge, die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte, wird nur für den Zylinder Nr. 1 (#1) und den Zylinder Nr. 4 (#4) gesetzt.
  • Wenn andererseits im Schritt 2107 geurteilt wird, dass der Zylinder Nr. 1 sich derzeit bei ATDC 90° befindet, wird zu Schritt 2108 weitergegangen, wo die endgültige verflossene Zeit Tb(i) von ATDC 60° bis ATDC 90° des Zylinders Nr. 1 aus der folgenden Gleichung berechnet wird: Tb(i) = KTb(i)·(TIME – TIME0).
  • Wenn sich zum Beispiel der Zylinder Nr. 1 (#1) derzeit bei ATDC 90° befindet, wird die endgültige verflossene Zeit Tb(1) von ATDC 60° bis ATDC 90° des Zylinders Nr. 1 (# 1) aus KTb(1)·(TIME – TIME0) berechnet. Auch in diesem Falle drückt die endgultige verflossene Zeit Tb(1) genau die verflossene Zeit während der Periode aus, in der die Kurbelwelle sich um einen Kurbelwinkel von 30° dreht, da das Verhältnis KTb(1) für die Korrektur des Fehlers wegen der Abstände der Aussenzähne auf dem Läufer 13 mit (TIME – TIME0) multipliziert wird.
  • Als Nächstes wird im Schritt 2109 beureilt, ob der Zylinder Nr. 1 sich derzeit bei ATDC 210° befindet oder nicht. Wenn sich der Zylinder Nr. 1 derzeit bei ATDC 210° befindet, wird die verflossene Zeit T180(i) von ATDC 30° bis ATDC 210° des Zylinders Nr. 1 berechnet, das heisst, die verflossene Zeit T180(i) des Ausdehnungshubs des Zylinders Nr. 1. Obwohl nicht im Einzelnen in der Beschreibung dieser Anmeldung beschrieben, wird die Differenz zwischen der verflossenen Zeit T180(i) des Ausdehnungshubs jedes Zylinders und der verflossenen Zeit T180(i) des nächsten Ausdehnungshubs des Zylinders für jeden Zylinder berechnet, und der Interzylinder-Konekturfaktor KGTP(i) wird für jeden Zylinder berechnet, so dass die Differenz für jeden Zylinder kleiner wird. Es sei bemerkt, dass dieser Interzylinder-Konekturfaktor KGTP(i) im Einzelnen zum Beispiel in der Ungeprüften Japanischen Patentveröffentlichung (Kokai) Nr. 4-370346 offenbart wird.
  • Als Nächstes wird die in 47 und 48 gezeigte Routine für eine Berechnung des Drehmoments erläutert. Auf 47 und 48 Bezug nehmend, wird zuerst im Schritt 2301 beurteilt, ob zum Zeitpunkt eines Verlangsamungsvorgangs die Kraftstoffzufuhr unterbrochen worden ist oder nicht, das heisst, ob der Kraftstoff abgestellt wurde oder nicht. Wenn die Krafstoffzufuhr nicht unterbrochen ist, wird zu Schritt 2313 gesprungen, aber wenn die Kraftstoffzufuhr unterbrochen ist, wird zu Schritt 2302 weitergegangen. Im Schritt 2302 wird beurteilt, ob die Amplitude AMP, die in der in 13 bis 18 gezeigten Routine zur Überpüfung der Erlaubnis für eine Berechnung des Drehmoments berechnet worden ist, grösser als der Sollwert B0 ist oder nicht. Wenn AMP > B0, so wird zu Schritt 2313 gesprungen, während bei AMP ≤ B0 zu Schritt 2303 weitergegangen wird. Im Schritt 2303 wird beurteilt, ob sich der Zylinder Nr. 1 derzeit bei ATDC 90° befindet oder nicht. Wenn sich der Zylinder Nr. 1 derzeit nicht bei ATDC 90° befindet, wird zu Schritt 2313 gesprungen. Im Gegenteil wird, wenn sich der Zylinder Nr. 1 derzeit bei ATDC 90° befindet, zu Schritt 2304 weitergegangen.
  • Im Schritt 2304 wird beurteilt, ob der Zylinder Nr. (i – 1), der sich einmal zuvor im Ausdehnungshub befunden hat (zu dieser Zeit erfolgt keine Verbrennung), der Zylinder Nr. 1 (#1) oder der Zylinder Nr. 4 ist oder nicht. Wenn der Zylinder Nr. (i – 1), der sich einmal zuvor im Ausdehnungshub befunden hat, der Zylinder Nr. 2 (#2) oder der Zylinder Nr. 3 (#3) ist, wird zu Schritt 2313 gesprungen. Wenn im Gegenteil der Zylinder Nr. (i – 1), der sich einmal zuvor im Ausdehnungshub befunden hat, der Zylinder Nr. 1 (#1) oder der Zylinder Nr. 4 (#4) ist, wird zu Schritt 2305 weitergegangen.
  • Im Schritt 2305 wird beurteilt, ob sich der Zylinder Nr. (i – 1), der sich einmal zuvor im Ausdehnungshub befunden hat, in einer der in 42 für die Motordrehzahl N gezeigten Berechnungszonen S1, S2, S3, S4, S5 ... befunden hat. Wenn sich der Zylinder Nr. (i – 1) nicht in einer der Berechnungszonen S1, S2, S3, S4, S5 ... befunden hat, wird zu Schritt 2313 gesprungen, aber wenn der Zylinder Nr. (i – 1) sich in einer der Berechnungszonen S1, S2, S3, S4, S5 ... befunden hat, wird zu Schritt 2306 weitergegangen. Im Schritt 2306 wird die Differenz T(i – 1) (= Tb(i – 1) – Ta(i – 1)) zwischen der verflossenen Zeit Tb(i – 1) des Zylinders Nr. (i – 1), der sich einmal zuvor im Ausdehnungshub befunden hat, und der verflossenen Zeit Ta(i – 1) berechnet. Wenn also der Zylinder, der sich einmal zuvor im Ausdehnungshub befunden hat, der Zylinder Nr. 1 (# 1) ist, wird die Differenz T(1) (= Tb(1) – Ta(1)) berechnet, aber wenn der Zylinder, der sich einmal zuvor im Ausdehnungshub befunden hat, der Zylinder Nr. 4 (#4) ist, wird die Differenz T(4) (= Tb(4) – Ta(4)) berechnet.
  • Als Nächstes wird im Schritt 2307 die Differenz T(i – 1) zum kumulativen Wert ΣT(i – 1) der Differenz T(i – 1) addiert (ΣT(i – 1) = ΣT(i – 1) + T(i – 1)). Als Nächstes wird im Schritt 2308 der Zählwert Cn(i – 1) für die Berechnungszone SN des Zylinders Nr. (i – 1) um genau 1 inkrementiert. Als Nächstes wird im Schritt 2309 beurteilt, ob die Motordrehzahl N durch die Berechnungszone Sn gegangen ist oder nicht. Wenn sich die Motordrehzahl N in der Berechnungszone Sn befindet, wird zu Schritt 2313 gesprungen, aber wenn die Motordrehzahl N die Berechnungszone Sn durchlaufen hat, wird zu Schritt 2310 weitergegangen. Im Schritt 2310 wird der Betrag der Erhöhung rn(i – 1) der verflossenen Zeit auf der Basis der folgenden Gleichung berechnet: rn(i – 1) = rn(i – 1) + {ΣT(i – 1)/Cn(i – 1) – rn(i – 1)}/16.
  • Wenn zum Beispiel der Zylinder Nr. (i – 1), der sich einmal zuvor im Ausdehnungshub befunden hat, der Zylinder Nr. 1 (#1) ist und die Berechnungszone SN die Zone S, in 42 ist, stellt sich der Betrag der Erhöhung r1(1) der verflossenen Zeit dar, wie in der folgenden Gleichung gezeigt: r1(1) = r1(1) + {ΣT(1)/C1(1) – r1(1)}/16.
  • Das heisst, dass ΣT(1)/C1(1) den Mittelwert der Differenz T(i – 1) der verflossenen Zeit angibt, wenn sich der Zylinder Nr. 1 (#1) in der Berechnungszone S, befindet. Wenn ein Unterschied zwischen diesem Mittelwert ΣT(1)/C i (1) und dem vorher verwendeten Betrag der Erhöhung r, (1) vorliegt, wird der Betrag der Erhöhung r, (1) aktualisiert, um sich dem Mittelwert ΣT(1)/C1 (1) zu nähern. Im Schritt 310 wird der Betrag der Erhöhung rn(i – 1) aktualisiert, dann wird zu Schritt 2311 weitergegangen, in dem der kumulative Wert ΣT(i – 1) gelöscht wird, sodann wird im Schritt 312 der Zählwert Cn(i – 1) gelöscht.
  • Andererseits wird im Schritt 2313 beurteilt, ob die Flagge XCAL(i – 1) des Zylinders Nr. (i – 1), in dem eine Verbrennung einmal zuvor erfolgt war und die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte, gesetzt ist oder nicht. Wenn die Flagge XCAL(i – 1) = „0", d. h., wenn die Flagge XCAL(i – 1) nicht gesetzt ist, wird der Verarbeitungszyklus beendet. Wenn im Gegenteil die Flagge XCAL(i – 1) = „1", d. h., wenn die Flagge XCAL(i – 1) gesetzt ist, wird zu Schritt 2314 weitergegangen, in dem die Flagge XCAL(i – 1) zurückgezogen wird, dann wird zu Schritt 2315 weitergegangen.
  • Im Schritt 2315 wird beurteilt, ob die Verbotsflagge XNOCAL des Zylinders, bei dem die Verbrennung einmal zuvor erfolgt war und die die Berechnung des Drehmoments verbietet, zurückgezogen ist (XNOCAL = „0") oder nicht. Wenn diese Verbotsflagge gesetzt ist (XNOCAL = „1"), wird zu Schritt 2324 weitergegangen, in dem die Verbotsflagge XNOCAL zuruckgezogen wird. Wenn im Gegenteil die Verbotsflagge zuruckgezogen ist, wird zu Schritt 2316 weitergegangen. Das heisst, dass zu Schritt 2316 weitergegangen wird, wenn die Flagge XCAL gesetzt und die Verbotsflagge XNOCAL zurückgezogen ist.
  • Im Schritt 2316 wird der Betrag der Erhöhung rn(i – 1) in Übereinstimmung mit der laufenden Motordrehzahl N durch Interpolation aus den für die Berechnungszonen S1, S2, S3, S4, S5 ... gefundenen Beträgen der Erhöhung r1(i), r2(i), r3(i), r4(i), r5(i) ... berechnet. Als Nächstes wird im Schritt 2317 der durch die Torsionsschwingungen des Motorantriebsmechanismus verursachte Schwankungsbetrag h der verflossenen Zeit (8) auf der Basis der folgenden Gleichung berechnet: h = {Ta(i – 1) – Ta(i)} 60/180.
  • Das heisst, dass der Schwankungsbetrag h der verflossenen Zeit ein Drittel von ho (= Ta(i – 1) – Ta(i)) wird, wie aus 8 verständlich ist. Als Nächstes wird im Schritt 2318 Tb'(i – 1), wodurch nur die wegen des Verbrennungsdrucks verringerte Zeit ausgedrückt wird, auf der Basis der folgenden Gleichung berechnet: Tb'(i – 1) = Tb(i – 1) – rn(i – 1 ) + h. Das heisst, wenn Tb'(1) für den Zylinder Nr. 1 (#1) gefunden wird, dann h = { Ta(1) – Ta(3 )}·60/180 und Tb'(1) = Tb(1) – rn(1) + h. Des Weiteren ist, wenn Tb'(4) für den Zylinder Nr. 4 (#4) gefunden wird, h = {Ta(4) – Ta(2)}·60/180 und Tb'(4) = Tb(4) – rn(4) + h.
  • Als Nächstes wird im Schritt 2319 das erzeugte Drehmoment DN(i – 1) des Zylinders, in dem die Verbrennung einmal zuvor erfolgt war, auf der Basis der folgenden Gleichung berechnet: DN(i – 1) = ωb2 – ωa2 = (30°/Tb'(i – 1))' – (30°/Ta(i – 1))2.
  • Dieses erzeugte Drehmoment DN(i – 1) drückt das Drehmoment nach Beseitigung des Effekts der Kolbenträgheit, des Effekts der Torsionsschwingtingen des Motorantriebsmechanismus und des Effekts der Variation in den Abständen der Aussenzähne des Läufers 13 aus.
  • Es sei bemerkt, dass beim Auffinden der durch die Zylinder erzeugten Antriebskraft GN(i – 1) diese Antriebskraft GN(i – 1) auf der Basis der folgenden Gleichung berechnet werden kann: GN(i – 1) = (30°/Tb'(i – 1)) – 30°/Ta(i – 1)).
  • Im Schritt 2319 wird das erzeugte Drehmoment DN(i – 1) berechnet, dann wird zu Schritt 2320 weitergegangen, in dem der Schwankungsbetrag des Drehmoments DLN(i – 1) in einem einzelnen Zyklus des gleichen Zylinders auf der Basis der folgenden Gleichung berechnet wird: DLN(i – 1) = DN(i – 1)j – DN(i – 1).
  • Hier drückt DN(i – 1)j das einen Zyklus (720° Kurbelwinkel) vorher erzeugte Drehmoment des gleichen Zylinders für DN(i – 1) aus.
  • Als Nächstes wird im Schritt 2321 beurteilt, ob der Schwankungsbetrag des Drehmoments, DLN(i – 1), positiv ist oder nicht. Wenn DLN(i – 1) > 0, so wird zu Schritt 2323 gesprungen, wo die Anforderungsflagge für kumulative Addition XCDLN(i – 1) des Zylinders, in dem die Verbrennung einmal zuvor erfolgt war und die anzeigt, dass der Schwankungsbetrag des Drehmoments, DLN(i – 1), kumulativ addiert werden sollte, gesetzt wird (XCDLN(i – 1) ← „1"). Wenn im Gegenteil DLN(i – 1) < 0, so wird zu Schritt 2322 weitergegangen, wo DLN(i – 1) null gemacht wird, dann wird zu Schritt 2323 weitergegangen. Es sei bemerkt, dass das Drehmoment jedes Zylinders wiederholt ansteigt und abfällt. In diesem Falle genügt es, um den Schwankungsbetrag des Drehmoments zu finden, entweder den Betrag der Erhöhung des Drehmoments oder den Betrag der Verringerung des Drehmoments kumulativ zu addieren. In der in 47 bis 49 gezeigten Routine wird nur der Betrag der Verringerung des Drehmoments kumulativ addiert. Daher wird, wie oben erklärt, DLN(i – 1) null gemacht, wenn DLN(i – 1) < 0.
  • Als Nächstes wird die Routine für eine Berechnung der Verhältnisse KTa(i) und KTb(i) unter Bezugnahme auf 50 und 51 erklärt.
  • Auf 50 und 51 Bezug nehmend, wird zuerst im Schritt 2401 beurteilt, ob die zufuhr von Kraftstoff während des Verlangsamungsvorgangs unterbrochen worden ist oder nicht, das heisst, ob der Kraftstoff abgestellt wurde oder nicht. Wenn der Kraftstoff nicht abgestellt wurde, wird zu Schritt 2415 weitergegangen, in dem die kumulativen Werte ΣTa(i) und ΣTb(i) der verflossenen Zeiten Ta(i) und Tb(i) gelöscht werden, dann ist der Verarbeitungszyklus fertig. Wenn im Gegenteil der Kraftstoff abgestellt worden ist, wird zu Schritt 2402 weitergegangen, in dem beurteilt wird, ob die Amplitude AMP, die in der Routine zur Überprufung der Erlaubnis fur eine Berechnung des Drehmoments berechnet worden ist, grösser als der Sollwert B0 ist oder nicht. Wenn AMP > B0, so wird zu Schritt 2415 weitergegangen, während bei AMP ≤ B0 zu Schritt 2403 weitergegangen wird.
  • In den Schritten 2403 bis 2408 wird KTa(i) berechnet. Das heisst, dass im Schritt 2403 die entsprechende verflossene Zeit Ta(i) für jeden Zylinder zum kumulativen Wert ΣTa(i) addiert wird. zum Beispiel wird Ta(1) zu ΣTa(1) addiert, und Ta(2) wird zu ΣTa(2) addiert. Als Nächstes wird im Schritt 2404 beurteilt, ob der Wert von Ta(i) für jeden Zylinder je n Mal kumulativ addiert wurde oder nicht. Wenn nicht je n Mal kumulativ addiert wurde, wird zu Schritt 2409 gesprungen, aber wenn n Mal kumulativ addiert wurde, wird zu Schritt 2405 weitergegangen. Im Schritt 2405 wird der Mittelwert Ma (= {ΣTa(1) + ΣTa(2) + ΣTa(3) + ΣTa(4)}/4) der kumulativen Werte ΣTa(i) der Zylinder berechnet. Als Nächstes wird im Schritt 2406 der Korrekturwert α(i) (= Ma/ΣTa(i)) für jeden Zylinder berechnet. Als Nächstes wird im Schritt 2407 das Verhältnis KTa(i) auf der Basis der folgenden Gleichung aktualisiert: KTa(i) ← KTa(i) + {α(i) – KTa(i)}/4.
  • Auf diese Weise werden die Verhältnisse KTa(1), KTa(2), KTa(3) und KTa(4) für die Zylinder berechnet. Wenn zum Beispiel α(1) grösser als der bis dahin benutzte Wert von KTa(1) geworden ist, wird ein Viertel der Differenz zwischen α(1) und KTa(1) {α(1) – KTa(1)} zu KTa(1) addiert, so dass sich KTa(1) allmählich dem Wert von α(1) nähert. Wenn im Schritt 2407 der Wert von KTa(i) für jeden Zylinder berechnet worden ist, dann wird zu Schritt 2408 weitergegangen, wo der kumulative Wert ΣTa(i) für jeden Zylinder gelöscht wird.
  • Andererseits werden in den Schritten 2409 bis 2415 die Werte von KTb(i) für den Zylinder Nr. 1 (#1) und für den Zylinder Nr. 4 (#4) berechnet. Das heisst, dass im Schritt 2409 beurteilt wird, ob Tb(1) des Zylinders Nr. 1 (#1) oder Tb(4) des Zylinders Nr. 4 (#4) berechnet worden ist oder nicht. Wenn Tb(1) des Zylinders Nr. 1 (#1) oder Tb(4) des Zylinders Nr. 4 (#4) nicht berechnet worden ist, wird der Verarbeitungszyklus beendet. Wenn im Gegenteil Tb(1) des Zylinders Nr. 1 (#1) oder Tb(4) des Zylinders Nr. 4 (#4) berechnet worden ist, wird zu Schritt 2410 weitergegangen.
  • Im Schritt 2410 wird die entsprechende verflossene Zeit Tb(i) zum kumulativen Wert ΣTb(i) für den Zylinder Nr. 1 (#1) oder den Zylinder Nr. 4 (#4) addiert. Das heisst, dass Tb(1) zu ΣTb(1) addiert wird, während Tb(4) zu ΣTb(4) addiert wird. Als Nächstes wird im Schritt 2411 beurteilt, ob der Wert von Tb(i) je n Mal kumulativ addiert wurde oder nicht. Wenn nicht je n Mal kumulativ addiert wurde, wird der Verarbeitungszyklus beendet, aber wenn n Mal kumulativ addiert wurde, wird zu Schritt 2412 weitergegangen. Im Schritt 2412 wird der Mittelwert Mb (= {ΣTb(1) + ΣTb(4)}/2) jedes kumulativen Wertes ΣTb(i) berechnet. Als Nächstes wird im Schritt 2413 der Korrekturwert β(i) (= Mb/ΣTb(i)) für jeden der Zylinder Nr 1 (#1) und Nr. 4 (#4) berechnet. Als Nächstes wird im Schritt 2414 das Verltältnis KTb(i) auf der Basis der folgenden Gleichung aktualisiert: KTb(i) ← KTb(i) + {β(i) – KTb(i)}/4.
  • Auf diese Weise werden die Verhältnisse KTb(1) und KTb(4) für den Zylinder Nr. 1 (#1) und den Zylinder Nr. 4 (#1) berechnet. Wenn zum Beispiel β(1) grösser als der bis dahin benutzte Wert von KTb(1) wird, wird ein Viertel der Differenz zwischen β(1) und KTb(1), {β(1) – KTb(1) }/4, zu KTb(1) addiert, daher nähert sich KTb(1) allmählich dem Wert von β(1). Wenn der Wert von KTb(i) im Schritt 2414 berechnet worden ist, dann wird zu Schritt 2415 weitergegangen, wo der kumulative Wert ΣTb(i) gelöscht wird.
  • Als Nächstes wird unter Bezugnahme auf 52 die Verarbeitung des Zählers CDLNIX erklärt.
  • Auf 52 Bezug nehmend, wird zuerst beurteilt, ob der Zylinder Nr. 3 (#3) sich derzeit bei ATDC 30° befindet oder nicht. Wenn sich der Zylinder Nr. 3 (#3) derzeit nicht bei ATDC 30° befindet, wird der Verarbeitungszyklus beendet, aber wenn der Zylinder Nr. 3 (#3) sich derzeit bei ATDC 30° befindet, wird zu Schritt 2502 weitergegangen. Im Schritt 2502 wird beurteilt, ob die Bedingungen für eine Berechnung des Schwankungswertes des Drehmoments gegeben sind oder nicht. Wenn zum Beispiel die Bedingungen dafür, das Kraftstoff-Luft-Gemisch mager zu machen, nicht gegeben sind oder der Betrag der Änderung des absoluten Drucks im Ausgleichtank 3 pro Zeiteinheit, ΔPM, höher als ein Sollwert ist oder der Betrag der Änderung der Motordrehzahl pro Zeiteinheit, ΔN, höher als ein Sollwert ist, wird geurteilt, dass die Bedingungen für eine Berechnung des Schwankungswertes nicht gegeben sind, während andernfalls geurteilt wird, dass die Bedingungen für eine Berechnung des Schwankungswertes gegeben sind.
  • Wenn im Schritt 2502 geurteilt wird, dass die Bedingungen für eine Berechnung des Schwankungswertes gegeben sind, wird zu Schritt 2508 weitergegangen, wo der Zählwert CDLNIX um genau 1 inkrementiert wird. Die Inkrementierung dieses Zählwertes CDLNIX wird jedes Mal ausgeführt, wenn der Zylinder Nr. 3 (#3) ATDC 30° erreicht, d. h., alle 720° des Kurbelwinkels. Als Nächstes werden im Schritt 2509 der Durchschnittswert der Motordrehzahl, NAVE, und der Durchschnittswert des absoluten Drucks im Ausgleichstank 3, PMAVE, für die Periode vom Beginn der Inkrementierung des Zählwertes CDLNIX bis zur Löschung des Zählwertes CDLNIX berechnet.
  • Wenn auf der anderen Seite im Schritt 2502 geurteilt wird, dass die Bedingungen für eine Berechnung des Schwankungswertes nicht gegeben sind, wird zu Schritt 2503 weitergegangen, in dem der Zählwert CDLNIX gelöscht wird. Als Nächstes wird im Schritt 2504 der kumulative Wert DLNI(i) des Schwankungswertes des Drehmoments jedes der Zylinders Nr. 1 (#1) und Nr. 4 (#4), DLN(i), gelöscht, dann wird im Schritt 2505 der kumulative Zählwert CDLNI(i) für diese Zylinder gelöscht.
  • Als Nächstes wird im Schritt 2506 der Zielwert der Drehmomentenschwankung, LVLLFB, berechnet. Als Nächstes wird im Schritt 2507 der Mittelwert der Drehmomentenschwankung, DLNISM(i), jedes der Zylinder Nr. 1 (#1) und Nr. 4 (#4) zu dem aus der Karte von 22B berechneten Zielwert der Drehmomentenschwankung, LVLLFB, gemacht.
  • 54 zeigt die wiederholt ausgeführte Hauptroutine. In dieser Hauptroutine wird zuerst die Routine (Schritt 2600) für eine Berechnung des Drehmomenten-Schwankungswertes ausgeführt. Diese Routine ist in 55 und 56 gezeigt. Als Nächstes wird die Routine (Schritt 2700) für eine Berechnung des Rückkopplungs-Korrekturfaktors für die Magergrenze, FLLFB, ausgeführt. Diese Routine ist in der früher erklärten 27 gezeigt. Als Nächstes i ird, wenn der vorbestimmte Kurbelwinkel erreicht ist, die Routine (Schritt 2800) für eine Berechnung der Einspritzzeit ausgeführt. Diese Routine ist in 57 gezeigt. Als Nächstes werden die anderen Routinen (Schritt 2900) ausgeführt.
  • Als Nächstes wird die Routine für eine Berechnung des Drehmomenten-Schwankungswertes, die in 55 und 56 gezeigt ist, erklärt.
  • Auf 55 und 56 Bezug nehmend, wird zuerst im Schritt 2601 beurteilt, ob die Anfordeungsflagge für kumulative Addition, XCDLN(i), die anzeigt, dass der Schwankungsbetrag des Drehmoments, DLN(i), kumulativ addiert werden sollte, gesetzt ist (XCDLN(i) = „1") oder nicht. Wenn die Anforderungsflagge für kumulative Addition, XCDLN(i), nicht gesetzt ist, wird zu Schritt 2609 gesprungen, aber wenn die Anforderungsflagge für kumulative Addition, XCDLN(i), gesetzt ist, wird zu Schritt 2602 weitergegangen. Im Schritt 2602 wird die Anforderungsflagge für kumulative Addition, XCDLN(i), zurückgezogen. Als Nächstes wird im Schritt 2603 der Schwankungsbetrag des Drehmoments, DLN(i), zum kumulativen Wert DLNI(i) des Schwankungsbetrages des Drehmoments addiert. Als Nächstes wird im Schritt 2604 der kumulative Zählwert, CDLNI(i), um genau 1 inkrementiert. Das heisst zum Beispiel, wenn angenommen wird, dass im Schritt 2601 die Anforde ungsflagge für kumulative Addition, XCDLN(1), für den Zylinder Nr. 1 gesetzt ist, dass diese Flagge XCDLN(1) im Schritt 2602 zurückgezogen, der Schwankungsbetrag des Kumulativen Wertes des Drehmoments, DLNI(1), im Schritt 2603 berechnet und der kumulative Zählwert CDLNI(1) im Schritt 2604 um genau 1 inkrementiert wird.
  • Als Nächstes wird im Schritt 2605 beurteilt, ob der kumulative Zählwert CDLNI(i) „8" geworden ist oder nicht. Wenn CDLNI(i) nicht „8" ist, wird zu Schritt 2609 gesprungen, aber wenn CDLNI(i) ,8" wird, wird zu Schritt 2606 weitergegangen, wo der Mittelwert der Drehmomentenschawankung DLNISM(i) der Zylinder aus der folgenden Gleichung berechnet wird: DLNISM(i) = DLNISM(i) + {DLNI(i) – DLNISM(i)}/4.
  • Als Nächstes wird im Schritt 2607 der kumulative Wert DLNI(i) des Schwankungsbetrages des Drehmoments für den Zylinder Nr. 1 (#1) oder den Zylinder Nr. 4 (#4) gelöscht, dann wird im Schritt 2608 der kumulative Zählwert CDLNI(i) zurückgesetzt.
  • Das heisst, dass der Wert der Differenz {DLNI(i) – DLNISM(i)}, multipliziert mit ¼, zum Betrag der Drehmomentenschwankung, DLNISM(i), addiert wird, wenn zwischen dem berechneten Schwankungsbetrag des kumulativen Wertes des Drehmoments, DLNI(i), und dem vorher verwendeten Schwankungsbetrag des Drehmoments, DLNISM(i), ein Unterschied besteht. Daher wird zum Beispiel in Schritt 2606 der Schwankungswert des Drehmoments, DLNISM(1), berechnet, wenn der kumulative Zählwert, CDLNI(1), für den Zylinder Nr. 1 (#1) „8" wird.
  • Als Nächstes wird im Schritt 2609 beurteilt, ob der Zählwert CDLNIX, der in der in 52 gezeigten Routine berechnet wurde, „8" geworden ist oder nicht. Wenn CDLNIX nicht „8" ist, wird der Verarbeitungszyklus beendet, aber wenn CDLNIX „8" wird, wird zu Schritt 2610 weitergegangen, wo der Mittelwert der Drehmomentenschwankung, DLNISM(i), des Zylinders Nr. 1 (#1) und des Zylinders Nr. 4 (#4) berechnet wird, d. h., der Mittelwert der Drehmomentenschwankung DLNISM (= {DLNISM(1) + DLNISM(4)}/2). Als Nächstes wird im Schritt 2611 der Zählwert CDLNIX gelöscht. Auf diese Weise wird der Wert DLNISM, der den Schwankungsbetrag des Motorendrehmoments angibt, berechnet.
  • Es sei bemerkt, wie oben erklärt, dass, wenn der Zählwert CDLNIX alle 720° des Kurbelwinkels um genau 1 inkrementiert wird und die Berechnung des Drehmoments weder für den Zylinder Nr. 1 (#1) noch für den Zylinder Nr. 4 (#4) verboten ist, die kumulativen Zählwerte CDLNI(1) und CDLNI(4) für diese Zylinder bereits „8" geworden sind, wenn der Zählwert CDLNIX „8" geworden ist. Daher wird in diesem Falle der Schwankungswert des Drehmoments, DLNISM(i), für diese Zylinder berechnet. Wenn andererseits die Berechnung des Drehmoments zum Beispiel für den Zylinder Nr. 1 (#1) verboten ist, so wird der neue Schwankungsbetrag des kumulativen Drehmomentenwertes DLNI(1) für den Zylinder Nr. 1 (#1) nicht berechnet, wenn der Zählwert CDLNIX „8" geworden ist und der kumulative Zählwert CDLNI(1) für den Zylinder Nr. 1 (#1) nicht „8" wird. In diesem Falle wird daher nur für den Zylinder Nr. 1 (#1) der früher berechnete Schwankungswert des Drehmoments, DLNISM(1), verwendet, wenn der Mittelwert der Drehmomentenschwankung, DLNISM, im Schritt 2610 gefunden wird.
  • Als Nächstes wird unter Bezugnahme auf 57 die Routine für eine Berechnung der Kraftstoffeinspritzzeit erklärt.
  • Auf 57 Bezug nehmend, wird zuerst im Schritt 2801 aus der in 2 gezeigten Karte die Kraftstoffeinspritz-Basiszeit TP berechnet. Als Nächstes wird im Schritt 2802 beurteilt, ob der Betriebszustand so ist, dass ein magerer Betrieb durchgefuhrt werden sollte oder nicht. Wenn der Betriebszustand so ist, dass ein magerer Betrieb durchgeführt werden sollte, wird zu Schritt 2803 weitergegangen, wo der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis, FAF, auf einen Wert von 1,0 festgelegt wird. Als Nächstes wird im Schritt 2804 der Mager-Korrekturfaktor FLEAN aus der in 4 gezeigten Karte berechnet, dann wird der Rückkopplungs-Korrekturfaktor für die Magergrenze, FLLFB, aus der in 5 gezeigten Karte abgelesen. Als Nächstes wird in Schritt 2806 der Interzylinder-Korrekturfaktor KGTP(i) berechnet. Als Nächstes wird im Schritt 2811 die Kraftstoffeinspritzzeit TAU auf der Basis der folgenden Gleichung berechnet: TAU = TP·FLEAN·FLLFB·FAF·KGTP(i) + TAUV.
  • Wenn im Gegenteil im Schritt 2802 geurteilt wird, dass der Betriebszustand nicht so ist, dass ein magerer Betrieb durchgeführt werden sollte, dass also das Kraftstoff-Luft-Verhältnis zu einem stöchiometrischen Verhältnis gemacht werden sollte, wird zu Schritt 2807 weitergegangen, wo der Mager-Korrekturfaktor FLEAN auf einen Wert von 1,0 festgelegt wird, und sodann wird im Schritt 2808 der Rückkopplungs-Korrekturfaktor für die Magergrenze, FLLFB, auf einen Wert von 1,0 festgelegt. Als Nächstes wird im Schritt 2809 der Interzylinder-Korrekturfaktor KGTP(i) auf einen Wert von 1,0 festgelegt. Als Nächstes wird im Schritt 2810 der Rückkopplungs-Korrekturfaktor für ein stöchiometrisches Kraftstoff-Luft-Verhältnis, FAF, auf der Basis das Ausgangssignals des Kraftstoff-Luft-Verhältnisfühlers 17 so gesteuert, dass das Kraftstoff-Luft-Verhältnis stöchiometrisch wird. Als Nächstes wird zu Schritt 2811 weitergegangen, wo die Kraftstoffeinspritzzeit TAU berechnet wird.
  • Wie bereits unter Bezugnahme auf 29, 30A und 30B erklärt, treten beim Betrieb des Motors Torsionsschwingungen verschiedener Ordnungen in der Kurbelwelle auf. Unter diesen haben insbesondere die Torsionsschwingungen der sechsten Ordnung (Torsionsschwingungen, deren Zyklus ein Kurbelwinkel von 60° ist) eine grosse Auswirkung auf die Erfassung der ersten Winkelgeschwindigkeit ωa. Daher wurde in der früher erläuterten zweiten Ausführungsform das Drehmoment für einige der Zylinder nicht erfasst, um eine falsche Erfassung der in jedem Zylinder erzeugten Antriebskraft und des in jedem Zylinder erzeugten Drehmoments zu verhindern. In der unten zu erläuternden vierten Ausführungsform wird ein von der zweiten Ausführungsform getrenntes Verfahren benutzt, um die an jedem Zylinder erzeugte Antriebskraft oder das an jedem Zylinder erzeugte Trägheitsmoment genau zu finden.
  • Um das erzeugte Drehmoment aus der ersten Winkelgeschwindigkeit ωa und der zweiten Winkelgeschwindigkeit ωb genau zu finden, müssen die erste Winkelgeschwindigkeit ωa und die zweite Winkelgeschwindigkeit ωb genau erfasst werden. Jedoch schwankt die Winkelgeschwindigkeit wiederholt, sowohl wenn die erste Winkelgeschwindigkeit ωa erfasst werden soll als auch wenn die zweite Winkelgeschwindigkeit ωb erfasst werden soll, deshalb muss in dem Kurbelwinkelbereich, in dem das erzeugte Trägheitsmoment in geeigneter Weise erfasst werden kann, ein Mittelwert der Winkelgeschwindigkeit über eine Periode einer bestimmten Länge als der Wert verwendet werden, der sowohl die erste Winkelgeschwindigkeit ωa als auch die zweite Winkelgeschwindigkeit ωb am genauesten ausdrückt. In der Ausführungsform gemäss der vorliegenden Erfindung wird der Mittelwert dieser Winkelgeschwindigkeit aus der verflossenen Zeit berechnet, die dafür erforderlich ist, dass sich die Kurbelwelle um einen bestimmten Kurbelwinkel dreht, daher muss in dieser Ausführungsform gemäss der vorliegenden Erfindung der oben erwähnte, vorbestimmte Kurbelwinkelbereich zu einem Kurbelwinkelbereich einer bestimmten Länge gemacht werden, damit die erste Winkelgeschwindigkeit ωa und die zweite Winkelgeschwindigkeit ωb genau gefunden werden können.
  • Wenn aber ein Kurbelwinkelbereich einer bestimmten Länge auf diese Weise zu dem vorbestimmten Kurbewinkelbereich zur Erfassung der Winkelgeschwindigkeit gemacht wird, tritt manchmal ein unabhängiges Problem auf.
  • Wenn zum Beispiel der Kurbelwinkelbereich für die Erfassung der Winkelgeschwindigkeit lang gemacht wird, dann wird sich die zweite Hälfte des Winkelbereichs für die Erfassung der ersten Winkelgeschwindigkeit ωa mit der ersten Hälfte des Bereiches der Verminderung (Z in 30B) der Winkelgeschwindigkeit w wegen der Torsionsschwingungen der sechsten Ordnung überschneiden. Im Ergebnis bewirken diese Torsionsschwingungen der sechsten Ordnung, dass die erste Winkelgeschwindigkeit ωa nicht mehr genau erfasst werden kann. Um dieses Problem zu lösen, ist es möglich, den Kurbelwinkelbereich für die Erfassung der ersten Winkelgeschwindigkeit, ωa, so zur Seite des Verdichtungshubs zu verschieben, dass der Bereich der Verringerung der Winkelgeschwindigkeit w wegen der Torsionsschwingungen der sechsten Ordnung nicht überschnitten wird. Wenn aber der Kurbelwinkelbereich für die Erfassung der ersten Winkelgeschwindigkeit, ωa, zur Seite des Verdichtungshubs verschoben wird, überschneidet sich die erste Hälfte des Kurbelwinkelbereichs mit dem Kurbelwinkelbereich, der als ein Bereich für die Erfassung der ersten Winkelgeschwindigkeit und Erfassung des erzeugten Drehmoments ungeeignet ist, so dass es nicht möglich ist, das erzeugte Drehmoment genau zu erfassen.
  • In der vierten Ausführungsform gemäss der vorliegenden Erfindung wird daher der Kurbelwinkelbereich für die Erfassung der ersten Winkelgeschwindigkeit, ωa, auf einen Kurbelwinkel festgelegt, der kleiner als der Kurbelwinkelbereich für die Erfassung der zweiten Winkelgeschwindigkeit, ωb, ist. Um dies unter Bezugnahme auf das konkrete Beispiel zu erklären, das in dieser Ausführungsform gemäss der vorliegenden Erfindung benutzt wird, wird als Kurbelwinkelbereich für eine Erfassung der ersten Winkelgeschwindigkeit, ωa, der Kurbelwinkel von 30° zwischen 20° vor dem oberen Totpunkt des Verdichtungshubs (hiernach als BTDC bezeichnet) bis 10° nach dem oberen Totpunkt des Verdichtungshubs (hiernach als ATDC bezeichnet) genommen, während als Kurbelwinkelbereich für eine Erfassung der zweiten Winkelgeschwindigkeit, ωb, der Kurbelwinkel von 50° zwischen ATDC 50° und ATDC 100° genommen wird.
  • Wenn als Kurbelwinkelbereich für eine Erfassung der ersten Winkelgeschwindigkeit, ωa, ein Kurbelwinkel festgelegt wird, der kleiner als der Kurbelwinkelbereich für eine Erfassung der zweiten Winkelgeschwindigkeit, ωb, ist, dann wird sich der Kurbelwinkelbereich für die Erfassung der ersten Winkelgeschwindigkeit, ωa, nicht mit dem Bereich der Verringerung der Winkelgeschwindigkeit überschneiden, die durch Torsionsschwingungen der sechsten Ordnung hervorgerufen wird, und wird sich weiter nicht mit dem Kurbelwinkelbereich überschneiden, der als ein Bereich der Erfassung der ersten Winkelgeschwindigkeit ungeeignet ist, so dass selbstverständlich die zweite Winkelgeschwindigkeit ωb, aber auch die erste Winkelgeschwindigkeit ωa genau erfasst werden kann.
  • Man bemerke, dass es selbst in anderen Fällen als denen, wo Torsionsschwingungen der sechsten Ordnung auftreten, notwendig sein kann, die Grösse des Kurbelwinkelbereichs für eine Erfassung der ersten Winkelgeschwindigkeit, ωa, und die Grösse des Kurbelwinkelbereichs für eine Erfassung der zweiten Winkelgeschwindigkeit, ωb, unterschiedlich festzulegen, um die erste Winkelgeschwindigkeit ωa und die zweite Winkelgeschwindigkeit ωb genau zu erfassen. Wenn sich zum Beispiel die Zeiten für eine Erfassung der zweiten Winkelgeschwindigkeit ωb und die Zeiten, zu denen der Kurbelwinkelfühler 14 dem zahnlosen Bereich des Läufers 13 zugekehrt ist, überschneiden, so wird als Kurbelwinkelbereich für eine Erfassung der zweiten Winkelgeschwindigkeit, ωb, ein grösserer Kurbelwinkel gewählt als der Kurbelwinkelbereich für eine Erfassung der ersten Winkelgeschwindigkeit, ωa, um die zweite Winkelgeschwindigkeit, ωb, genau zu erfassen.
  • In der vierten Ausführungsform hat der Läufer 13 alle 10° Kurbelwinkel einen Aussenzahn auf seinem Aussenumfang ausgebildet, während einige der Aussenzähne entfernt worden sind, um zum Beispiel den oberen Totpunkt des Verdichtungshubs des Zylinders Nr. 1 zu erfassen. Der Kurbelwinkelfühler 14 liefert jedes Mal, wenn die Kraftabgabewelle 12 sich um einen Kurbelwinkel von 10° dreht, einen Ausgangsimpuls, ausser in dem Bereich, wo die Aussenzähne entfernt worden sind, d. h., im zahnlosen Bereich. Der Ausgangsimpuls wird in den Eingabeport 26 eingegeben.
  • Als Nächstes wird das Verfahren zur Berechnung der durch jeden Zylinder erzeugten Antriebskraft und des durch jeden Zylinder erzeugten Drehmoments unter Verwendung eines konkreten Beispiels erläuter.
  • Zuerst wird das Verfahren zur Berechnung der durch einen Zylinder erzeugten Antriebskraft und des durch einen Zylinder erzeugten Drehmoments unter Bezugnahme auf 58 erläutert, die den stationären Betriebszustand zeigt. Wie oben erklärt, erzeugt der Kurbelwinkelfühler 14 jedes Mal, wenn sich die Kurbelwelle um einen Kurbelwinkel von 10° dreht, einen Ausgangsimpuls. Des Weiteren ist der Kurbelwinkelfühler 14 so angeordnet, dass er einen Ausgangsimpuls am oberen Totpunkt des Verdichtungshubs (hiernach als TDC: top dead center, bezeichnet) der Zylinder #1, #2, #3 und #4 erzeugt. Daher erzeugt der Kurbelwinkelfühler 14 alle 10° des Kurbelwinkels einen Ausgangsimpuls, der die TDC der Zylinder #1, #2, #3 und #4 liefert. Es sei bemerkt, dass die zündfolge des in der vorliegenden Erfindung verwendeten Verbrennungsmotors 1-3-4-2 ist.
  • Die ausgezogene Linie in 58 zeigt die verflossene Zeit, die erhalten wird, wenn die Zeit, die für die Kurbelwelle erforderlich ist, um sich über jeden der durch gestrichelte Linien getrennten Kurbelivinkelbereiche zu drehen, zu der Zeit umgerechnet wird, die für die Kurbelwelle erforderlich ist, um sich über einen Kurbelwinkel von 30° zu drehen. So zeigt Ta(i) in 58 die verflossene Zeit T30 des Kurbelwinkels von 30° von BTDC 20° bis ATDC 10° des Zylinders Nr. 1. Im Gegensatz dazu zeigt Tb(i) das Ergebnis der Umrechnung der verflossenen Zeit T50 des Kurbelwinkels von 50° von ATDC 50° bis ATDC 100° des Zylinders Nr. 1 auf die verflossene Zeit eines Kurbelwinkels von 30°, also drei Fünftel der verflossenen Zeit T50 des Kurbelwinkels von 50°. Daher zeigt zum Beispiel Ta(1) die Zeit, die von BTDC 20° bis ATDC 10° des Zylinders Nr. 1 verflossen ist, während Tb(1) drei Füntel der Zeit zeigt, die von ATDC 50° bis ATDC 100° des Zylinders Nr. 1 verflossen ist. Wenn andererseits jeder der durch die gestrichelten Linien getrennten Kurbelwinkelbereiche durch die verflossene Zeit geteilt wird, drückt das Ergebnis der Division die Winkelgeschwindigkeit w aus. In der vierten Ausführungsform wird Kurbelwinkel 30°/Ta(i) als die erste Winkelgeschwindigkeit ωa des Zylinders Nr. 1 bezeichnet, während Kurbelwinkel 30°/Tb(i) als die zweite Winkelgeschwindigkeit ωb des Zylinders Nr. 1 bezeichnet wird.
  • Es sei bemerkt, dass die Änderung der verflossenen Zeit, die in 58 gezeigt wird, sich je nach dem Motor etwas unterscheidet, daher werden der Kurbelwinkelbereich zur Erfassung der ersten Winkelgeschwindigkeit ωa und der Kurbelwinkelbereich zu Erfassung der zweiten Winkelgeschwindigkeit ωb so festgelegt, dass in Übereinstimmung mit dem Motor (ωb – ωa) am besten die durch den Motor erzeugte Antriebskraft ausdrückt, oder so, dass (ωb2 – ωa2) am besten das durch den Motor erzeugte Drehmoment ausdrückt. Je nach dem Motor kann sich daher der Winkelbereich zur Erfassung der ersten Winkelgeschwindigkeit ωa von BTDC 25° vor dem oberen Totpunkt des Verdichtungshubs bis ATDC 5° erstrecken, während sich der Kurbelwinkelbereich zur Erfassung der zweiten Winkelgeschwindigkeit ωb von ATDC 45° bis ATDC 95° erstrecken kann.
  • 59 zeigt den Abschnitt, in dem sich die verflossene Zeit Ta(i) verringert, die aufeinanderfolgend für jeden Zylinder berechnet wird, wenn der Motorantriebsmechanismus Torsionsschwingungen erfährt, im vergrösserten Massstab. Die verflossene Zeit Ta(i) fällt, wie in 59 gezeigt, zwischen Ta(1) und Ta(3) genau um die Zeit ho. Es wird angenomien, dass dieser Abfall der Zeit ho auf eine Erhöhung des Betrages der Verdrehung wegen der Torsionsschwingungen zurückzuführen ist. Es wird angenommen, dass in diesem Falle der Betrag der Verringerung der verflossenen Zeit wegen der Torsionsschwingungen zwischen Ta(1) und Ta(3) im Wesentlichen linear mit der verflossenen Zeit ansteigt. Daher wird dieser Betrag der Verringerung der verflossenen Zeit wegen der Torsionsschwingungen durch den Unterschied zwischen der Ta(1) und Ta(3) verbindenden, gestrichelten Linie und der durch Ta(1) gehenden horizontalen Linie gezeigt. Zwischen Ta(1) und Tb(1) bewirken daher die Torsionsschwingungen einen Abfall der verflossenen Zeit und genau den Wert von h.
  • In der vierten Ausführungsform wird daher h ebenfalls addiert oder subtrahiert, um die durch den Verbrennungsdruck verringerte, verflossene Zeit Tb'(1) zu finden.
  • 60 zeigt den Fall, in dem der Abstand zwischen dem Aussenzahn des Läufers 13, der BTDC 20° des Zylinders Nr. 1 (#1) anzeigt, und dem Aussenzahn des Läufers 13, der ATDC 10° anzeigt, kleiner ist als der Abstand zwischen anderen Aussenzähnen. Es lässt sich aus einem Vergleich der 8 und 9 verstehen, dass sich in diesem Falle die verflossene Zeit Ta(1) als kürzer erweisen wird als die für einen Kurbelwinkel von 30° verflossene richtige Zeit. Des Weiteren lässt sich aus einem Vergleich der 8 und 9 verstehen, dass sich dann der Betrag der Verringerung, h', der verflossenen Zeit wegen der Torsionsschwingungen als kleiner erweisen wird als der richtige Betrag der Verringerung h, so dass der Wert Tb'(1), der nur die wegen des Verbrennungsdrucks verringerte, verflossene Zeit Ausdrückt, sich ebenfalls als kleiner erweisen wird als der richtige Wert.
  • Auch in der vierten Ausführungsform werden daher das Verhältnis KTa(i) (= Ta(i)m/Ta(i)) zwischen dem Mittelwert Ta(i)m der verflossenen Zeiten Ta(i) aller Zylinder und dem Mittelwert Tb(i)m der verflossenen Zeit Ta(i) jedes Zylinders und das Verhältnis KTb(i) (= Tb(i)m/Tb(i)) zwischen den verflossenen Zeiten Tb(i) aller Zylinder und der verflossenen Zeit Tb(i) jedes Zylinders zu dem Zeitpunkt, wenn die Kraftstoffzufuhr in einem Verlangsamungsvorgang unterbrochen wurde und der Motorantriebsmechanismus keine Torsionsschwingungen erfährt, gefunden, aber wenn Kraftstoff zugeführt wird, wird die tatsächlich erfasste, verflossene Zeit Ta(i) jedes Zylinders mit dem Verhältnis KTa(i) multipliziert, um die endgültige verflossene Zeit Ta(i) für jeden Zylinder zu finden, während die tatsächlich erfasste, verflossene Zeit Tb(i) jedes Zylinders mit dem Verhältnis KTb(i) multipliziert wird, um die endgültige verflossene Zeit Tb(i) für jeden Zylinder zu finden.
  • Andererseits schwankt, wie schon unter Bezugnahme auf 10 erklärt, der Wert von Ta(i) für jeden Zylinder, wenn das Fahrzeug auf einer holperigen Strasse fährt. Wenn daher zum Beispiel der Betrag der Verringerung, h, des Zylinders Nr. 1 (#1) gegenüber Tb(1) aus der Neigung der Ta(1) und Ta(3) verbindenden, gestrichelten Linie gefunden wird, ist der berechnete Betrag dieser Verringerung, h, sogar beträchtlich grösser als der tatsächliche Wert. Im Ergebnis gibt Tb'(1) nicht mehr den richtigen Wert an, so dass die Antriebskraft und das Drehmoment, die am Zylinder erzeugt werden, nicht mehr genau erfasst werden können. Wenn die Amplitude AMP gross wird, ergibt sich die gleiche Situation für den Zylinder, der den kleinsten Wert von Ta(i) liefert.
  • Des weiteren weicht der Wert von h in einem Zylinder, bei dem sich Ta(i) gegenüber dem Wert von Ta(i) des Zylinders, in dem die Verbrennung einmal vorher erfolgt war, scharf verändert, vom tatsächlichen Wert ab, daher können die Antriebskraft und das Drehmoment, die durch den Zylinder erzeugt werden, nicht mehr genau erfasst werden. Daher werden auch in der vierten Ausführungsform die Antriebskraft oder das Drehmoment für einen Zylinder, bei dem Ta(i) einen maximalen oder minimalen Wert annimmt, nicht gesucht, wenn die Amplitude AMP gross ist, und im Weiteren werden die Antriebskraft oder das Drehmoment nicht für einen Zylinder gesucht, bei dem Ta(i) sich gegenüber dem Wert von Ta(i) des Zylinders, in dem die Verbrennung einmal vorher erfolgt war, rasch verändert.
  • Als Nächstes wird die Routine zur Auffindung des an jedem Zylinder erzeugten Drehmoments unter Bezugnahme auf 61 bis 66 erklärt.
  • 61 zeigt die Unterbrechungsroutine, die bei BTDC 20°, ATDC 10°, ATDC 50° und ATDC 100° durchgeführt wird. Auf 61 Bezug nehmend, wird zuerst die Routine (Schritt 3100) für eine Berechnung der verflossenen Zeiten Ta(i) und Tb(i) vorgenommen. Diese Routine ist in 62 gezeigt. Als Nächstes wird die Routine (Schritt 3200) für eine Überprufung, ob das Drehmoment berechnet werden darf oder nicht, vorgenommen. Diese Routine ist in 63 bis 65 gezeigt. Als Nächstes wird die Routine für eine Berechnung des Drehmoments (Schritt 3300) vorgenommen. Diese Routine ist in 66 gezeigt. Als Nächstes wird die Routine für eine Berechnung der Verhältnisse KTa(i) und KTb(i) (Schritt 3400) vorgenommen. Diese Routine ist in den früher erklärten 18 und 19 gezeigt. Als Nächstes wird die Routine (Schritt 3500) für eine Verarbeitung des Zählers CDLNIX, die für eine Berechnung des Schwankungsbetrages des Drehnoments verwendet wird, vorgenommen. Diese Routine ist in der früher erklärten 20 gezeigt.
  • Auf 62 Bezug nehmend, die die Routine für eine Berechung der verflossenen Zeiten Ta(i) und Tb(i) zeigt, wird zuerst im Schritt 3101 die Zeit auf den Wert TIME0 gesetzt. Die elektronische Steuereinheit 20 ist mit einem freilaifenden Zähler versehen, der die Zeit anzeigt. Die Zeit wird aus dem Zählwert dieses freilaufenden Zählers berechnet. Als Nächstes wird in Schritt 3102 die laufende Zeit aufgesucht. Daher drückt TIME0 des Schritts 3101 die Zeit aus, zu der die vorhergehende Unterbrechnung ausgeführt worden war, also BTDC 20°, ATDC 10°, ATDC 50° oder ATDC 100°.
  • Als Nächstes wird im Schritt 3103 beurteilt, ob der Zylinder Nr. 1 sich derzeit bei ATDC 10° befindet oder nicht. Wenn der Zylinder Nr. 1 sich derzeit nicht bei ATDC 10° befindet, wird nach Schritt 3106 gesprungen, wo beurteilt wird, ob sich der Zylinder Nr. 1 derzeit bei ATDC 100° befindet oder nicht. Wenn der Zylinder Nr. 1 sich derzeit nicht bei ATDC 100° befindet, wird die Routine für eine Berechnung der verflossenen Zeiten Ta(i) und Tb(i) beendet.
  • Wenn im Gegensatz dazu im Schritt 3103 geurteilt wird, dass sich der Zylinder Nr. 1 derzeit bei ATDC 10° befindet, wird zu Schritt 3104 weitergegangen, in dem die endgültige verflossene Zeit Ta(i) von BTDC 20° bis ATDC 10° des Zylinders Nr. 1 aus der folgenden Gleichung berechnet wird: Ta(i) = KTa(i)·(TIME – TIME0).
  • Hier ist TIME0 die Zeit bei BTDC 20°.
  • Wenn sich zum Beispiel der Zylinder Nr. 1 (#1) derzeit bei ATDC 10° befindet, wird die endgültige verflossene Zeit Ta(1) von BTDC 20°bis ATDC 10° des Zylinders Nr. 1 (#1) aus KTa(1)·(TIME – TIME0) berechnet. Hier drückt (TIME – TIME0) die über einen Kurbelwinkel von 30° verflossene Zeit Ta(1) aus, die vom Kurbelwinkelfühler 14 tatsächlich gemessen wurde, während KTa(1) ein Verhältnis für die Korrektur des Fehlers wegen der Abstände der Aussenzähne auf dem Läufer 13 ist, deshalb drückt die endgültige verflossene Zeit Ta(1), die durch eine Multiplikation von (TIME – TIME0) mit KTa(1) gewonnen wird, genau die Zeit aus, die verflossen ist, wenn die Kurbelwelle sich um einen Kurbelwinkel von 30° dreht.
  • Als Nächstes wird im Schritt 3105 die Flagge XCAL(i – 1) des Zylinders Nr. (i – 1), in dem Verbrennung einmal zuvor erfolgt war, gesetzt, die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte (XCAL(i – 1) ← „1 "). In dieser Ausführungsform gemäss der vorliegenden Erfindung ist, wie oben erklärt, die zündfolge 1-3-4-2, daher ist die Flagge XCAL(2) des Zylinders Nr. 2 (#2), in dem Verbrennung einmal zuvor erfolgt war, gesetzt, die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte, wenn der Zylinder Nr. 1 sich derzeit bei ATDC 10° befindet. In der gleichen Weise wird, wenn die endgültige verflossene Zeit Ta(3) berechnet wird, wie in 21 gezeigt, die Flagge XCAL(1) gesetzt; wenn die endgültige verflossene Zeit Ta(4) berechnet wird, wird die Flagge XCAL(3) gesetzt, und wenn die endgültige verflossene Zeit Ta(2) berechnet wird, wird die Flagge XCAL(4) gesetzt.
  • Wenn andererseits im Schritt 3106 geurteilt wird, dass sich der Zylinder Nr. 1 derzeit bei ATDC 100° befidet, wird zu Schritt 3107 weitergegangen, wo die endgültige verflossene Zeit Tb(i), die erhalten wird, indem die verflossene Zeit eines Kurbelwinkels von 50° zwischen ATDC 50° und ATDC 100° des Zylinders Nr. 1 auf die verflossene Zeit eines Kurbelwinkels von 30° umgerechnet wird, auf der Basis der folgenden Gleichung berechnet wird: Tb(i) = 3/5·KTb(i)·(TIME – TIME0).
  • Hier drückt TIME0 die Zeit bei ATDC 50° aus.
  • Wenn sich zum Beispiel der Zylinder Nr. 1 derzeit bei ATDC 100° befindet, wird die endgültige verflossene Zeit Tb(1) des Zylinders Nr. 1 (#1) aus 3/5 · KTb(1) · (TIME – TIME0) berechnet. Hier ist (TIME – TIME0) die verflossene Zeit eines Kurbelwinkels von 50°, die tatsächlich vom Kurbelwinkelfühler 14 gemessen worden ist, während KTb(1) das Verhältnis für die Korrektur des Fehlers wegen der Abstände der Aussenzähne auf dem Läufer 13 ist. Daher drückt die endgültige verflossene Zeit Tb(1), die durch Multiplikation von (TIME – TIME0) mit 3/5 und KTb(1) erhalten wurde, genau die verflossene Zeit während der Periode aus, in der die Kurbelwelle sich um einen Kurbelwinkel von 30° dreht.
  • Als Nächstes wird die Routine zur Uberpüfung der Erlaubnis, das Drehmoment zu berechnen, die in 63 bis 65 gezeigt ist, erklärt. Diese Routine ist vorhanden, um die Berechnung des Drehmoments für einen bestimmten Zylinder zu verbieten, wenn die Amplitude AMP der Schwankungen von Ta(i) (10) grösser wird, weil das Fahrzeug auf einer holperigen Strasse fährt. Auf 63 Bezug nehmend, wird zuerst im Schritt 3201 beurteilt, ob sich einer der Zylinder derzeit bei ATDC 10° befindet oder nicht. Wenn sich keiner der Zylinder derzeit bei ATDC 10° befindet, wird der Verarbeitungszyklus beendet, aber wenn sich einer der Zylinder derzeit bei ATDC 10° befindet, wird zu Schritt 3202 weitergegangen. Die Routine von Schritt 3202 bis Schritt 3223 ist die gleiche wie die in 15 gezeigte Routine von Schritt 202 bis Schritt 223, daher wird die Erklärung der Routine von Schritt 3202 bis Schritt 3223 weggelassen.
  • Als Nächstes wird die in 66 gezeigte Routine für eine Berechnung des Drehmoments erläutert. Auf 66 Bezug nehmend, wird zuerst im Schritt 3301 beurteilt, ob die Flagge XCAL(i – 1) des Zylinders Nr. (i – 1), in dem Verbrennung einmal vorher erfolgt war und die anzeigt, dass das erzeugte Drehmoment berechnet werden sollte, gesetzt ist oder nicht. Wenn die Flagge XCAL(i – 1) =„0", d. h., wenn die Flagge XCAL(i – 1) nicht gesetzt ist, wird der Verarbeitungszyklus beendet. Wenn im Gegenteil die Flagge XCAL(i – 1) = „1", d. h., wenn die Flagge XCAL(i – 1) gesetzt ist, wird zu Schritt 3302 weitergegangen, in dem die Flagge XCAL(i – 1) zurückgezogen wird, dann wird zu Schritt 3303 weitergegangen.
  • Im Schritt 3303 wird beurteilt, ob die Verbotsflagge XNOCAL, die die Berechnung des Drehmoments für den Zylinder verbietet, bei dem die Verbrennung einmal zuvor erfolgt war, züruckgezogen ist (XNOCAL = „0") oder nicht. Wenn diese Verbotsflagge gesetzt ist (XNOCAL = „1 "), wird zu Schritt 3310 weitergegangen, in dem die Verbotsflagge XNOCAL zurückgezogen wird. Wenn im Gegenteil die Verbotsflagge zurückge zogen ist, wird zu Schritt 3304 weitergegangen. Das heisst, dass zu Schritt 3304 nur weitergegangen wird, wenn die Flagge XCAL gesetzt und die Verbotsflagge XNOCAL zurückgezogen ist.
  • Im Schritt 3304 wird der Betrag der Änderung, h, der verflossenen Zeit (59) wegen der Torsionsschwingungen des Motorantriebsmechanismus auf der Basis der folgenden Gleichung berechnet: h = {Ta(i – 1) – Ta(i)} 80/180.
  • Das bedeutet, wie aus 59 zu verstehen ist, dass der Betrag der Schwankung, h, der verflossenen Zeit vier Neuntel von h0 (= Ta(i – 1) – Ta(i)) wird. Als Nächstes wird in Schritt 305 der Wert von Tb'(i – 1), der nur die Verringerung der verflössenen Zeit wegen des Verbrennungsdruckes ausdückt, auf der Basis der folgenden Gleichung berechnet: Tb'(i – 1) = Tb(i – 1 ) + h.
  • Das bedeutet, dass h = {Ta(1) – Ta(3)}·80/180 und Tb'(1) = Tb(1) + h, wenn Tb'(1) für den Zylinder Nr. 1 (#1) gefunden wird. Des Weiteren h = {Ta(3) – Ta(4)} 80/180 und Tb'(3) = Tb(3) + h, wenn Tb'(3) für den Zylinder Nr. 3 (#3) gefunden wird.
  • Als Nächstes wird im Schritt 3306 das erzeugte Drehmoment DN(i – 1) des Zylinders, in dem die Verbrennung einmal zuvor erfolgt war, auf der Basis der folgenden Gleichung berechnet: DN(i – 1) = ωb2 – ωa2 = (30°/Tb'(i – 1))2 – (30°/Ta(i – 1))2.
  • Dieses erzeugte Drehmoment DN(i – 1) drückt das Drehmoment nach Beseitigung des Effekts der Torsionsschwingungen des Motorantriebsmechanismus und des Effekts der Schwankung in den Abständen der Aussenzähne des Läufers 13 aus, daher drückt dieses erzeugte Drehmoment DN(i – 1) das wahre, auf Grund des Verbrennungsdruckes erzeugte Drehmoment aus.
  • Es sei bemerkt, dass beim Auffinden der durch den Zylinder erzeugten Antriebskraft GN(i – 1) diese Antriebskraft GN(i – 1) auf der Basis der folgenden Gleichung berechnet werden kann: GN(i – 1) = (30°/Tb'(i – 1)) – 30°/Ta(i – 1)).
  • Das erzeugte Drehmoment DN(i – 1) wird im Schritt 3306 berechnet, dann wird zu Schritt 3307 weitergegangen, in dem der Schwankungsbetrag des Drehmoments DLN(i – 1) in einem einzelnen Zyklus des gleichen Zylinders auf der Basis der folgenden Gleichung berechnet wird: DLN(i – 1) = DN(i – 1)j – DN(i – 1).
  • Hier drückt DN(i – -1)j das einen Zyklus (720° Kurbelwinkel) vorher erzeugte Drehmoment des gleichen Zylinders für DN(i – 1) aus.
  • Als Nächstes wird im Schritt 3308 beurteilt, ob der Schwankungsbetrag des Drehmoments, DLN(i – 1), positiv ist oder nicht. Wenn DLN(i – 1) > 0, so wird zu Schritt 3310 gesprungen, wo die Anforderungsflagge für kumulative Addition XCDLN(i – 1) des Zylinders, in dem die Verbrennung einmal zuvor erfolgt war und die anzeigt, dass der Schwankungsbetrag des Drehmoments DLN(i – 1) kumulativ addiert werden sollte, gesetzt wird (XCDLN(i – 1) ← „1"). Wenn im Gegenteil DLN(i – 1) < 0, so wird zu Schritt 3309 weitergegangen, wo DLN(i – 1) null gemacht wird, dann wird zu Schritt 3310 weitergegangen. Es sei bemerkt, dass das Drehmoment jedes Zylinders wiederholt ansteigt und abfällt. In diesem Falle genügt es, um den Schwankungsbetrag des Drehmoments zu finden, entweder den Betrag der Erhöhung des Drehmoments oder den Betrag der Verringerung des Drehmoments kumulativ zu addieren. In der in 66 gezeigten Routine wird nur der Betrag der Verringerung des Drehmoments kumulativ addiert, daher wird, wie oben erklärt, DLN(i – 1) null gemacht, wenn DLN(i – 1) < 0.
  • 67 zeigt die wiederholt ausgeführte Hauptroutine. In dieser Hauptroutine wird zuerst die Routine (Schritt 3600) für eine Berechnung des Drehmomenten-Schwankungswertes ausgeführt. Diese Routine ist in den früher erklärten 25 und 26 gezeigt. Als Nächstes wird die Routine (Schritt 3700) für eine Berechnung des Rückkopplungs-Korrekturfaktors für die Magergrenze, FLLFB, ausgeführt. Diese Routine ist in der früher erklärten 27 gezeigt. Als Nächstes wird, wenn der vorbestimmte Kurbelwinkel erreicht ist, die Routine für eine Berechnung der Einspritzzeit (Schritt 3800) ausgeführt. Diese Routine ist in der früher erklärten 28 gezeigt. Als Nächstes werden die anderen Routinen (Schritt 3900) ausgeführt.

Claims (21)

  1. Verfahren zum Erfassen eines Parameters, der die Antriebsleistung eines Zylinders in einem Verbrennungsmotor darstellt, die Schritte umfassend: einen ersten Kurbelwinkelbereich in einer Kurbelwinkelzone zwischen dem Ende eines Verdichtungshubs und dem Anfang eines Ausdehnungshubs festzulegen, einen zweiten Kurbelwinkelbereich in einer Kurbelwinkelzone in der Mitte des Ausdehnungshubs festzulegen, und zwar einen vorbestimmten Kurbelwinkel vom ersten Kurbelwinkelbereich entfernt, eine erste Winkelgeschwindigkeit der Kurbelwelle im ersten Kurbelwinkelbereich zu erfassen, eine zweite Winkelgeschwindigkeit der Kurbelwelle im zweiten Kurbelwinkelbereich zu erfassen, den Betrag der Veränderung der Winkelgeschwindigkeit zwischen Zylindern aus dem Unterschied zwischen der ersten Winkelgeschwindigkeit eines Zylinders, in dem die Verbrennung vorher erfolgte, und der ersten Winkelgeschwindigkeit eines Zylinders, in dem die Verbrenning als Nächstes erfolgt, zu finden, die zweite Winkelgeschwindigkeit des Zylinders, in dem die Verbrennung vorher erfolgte, nach unten zu korrigieren, wenn sich der Betrag der Ändering der Winkelgeschwindigkeit zwischen Zylindern erhöht hat, die zweite Winkelgeschwindigkeit des Zylinders, in dem die Verbrennung vorher erfolgte, nach oben zu korrigieren, wenn sich der Betrag der Änderung der Winkelgeschwindigkeit zwischen Zylindern verringert hat, und den benannten, die von einem entsprechenden Zylinder erzeugte Antriebsleistung repräsentierenden Parameter auf der Basis der ersten Winkelgeschwindigkeit und der korrigierten zweiten Winkelgeschwindigkeit zu finden.
  2. Verfahren zum Erfassen, wie in Anspruch 1 dargelegt, worin ein vorbestimmtes Verhältnis des Betrages der Änderung der Winkelgeschwindigkeit zwischen Zylindern zu einem Betrag der Korrektur der benannten zweiten Winkelgeschwindigkeit nach unten und nach oben gemacht wird.
  3. Verfahren zum Erfassen, wie in Anspruch 2 dargelegt, worin das benannte, vorbestimmte Verhältnis das Verhältnis der Kurbelwinkel des ersten Kurbelwinkelbereichs und des zweiten Kurbelwinkelbereichs bezüglich des Kurbelwinkels zwischen zwei aufeinanderfolgenden Ausdehnungshüben ist.
  4. Verfahren zum Erfassen, wie in Anspruch 1 dargelegt, weiter die Schritte umfassend: für jeden Zylinder ein erstes Verhältnis zwischen einem Mittelwert der ersten Winkelgeschwindigkeiten aller Zylinder und der ersten Winkelgeschwindigkeit jedes Zylinders zu finden, wenn die Kraftstoffzufuhr beim Motorbetrieb unterbrochen wurde, für jeden Zylinder ein zweites Verhältnis zwischen einem Mittelwert der zweiten Winkelgeschwindigkeiten aller Zylinder und der zweiten Winkelgeschwindigkeit jedes Zylinders zu finden, wenn die Kraftstoffzufuhr beim Motorbetrieb unterbrochen wurde, die erste Winkelgeschwindigkeit jedes Zylinders mit dem entsprechenden ersten Verhältnis zu korrigieren, und die zweite Winkelgeschwindigkeit jedes Zylinders mit dem entsprechenden zweiten Verhältnis zu korrigieren, wenn Kraftstoff beim Motorbetrieb zugeführt wird.
  5. Verfahren zum Erfassen, wie in Anspruch 1 dargelegt, worin der Schritt, den benannten Parameter zu finden, der die Antriebsleistung repräsentiert, umfasst, eine Differenz der Quadrate zwischen einem Quadrat der benannten ersten Winkelgeschwindigkeit und einem Quadrat der benannten, korrigierten zweiten Winkelgeschwindigkeit zu finden, und worin der benannte Parameter das durch die benannte Differenz der Quadrate ausgedrückte, erzeugte Drehmoment darstellt.
  6. Verfahren zum Erfassen, wie in Anspruch 5 dargelegt, weiter den Schritt umfassend, den Betrag der Schwankung des Drehmoments jedes Zylinders aus der Schwankung des an jedem Zylinder erzeugten Drehmoments zu berechnen.
  7. Verfahren zum Erfassen, wie in Anspruch 6 dargelegt, worin der Betrag der Schwankung des Drehmoments jedes Zylinders durch die Differenz zwischen dem Dreh moment, das erzeugt wurde, als die vorhergehende Verbrennung erfolgte, und dem Drehmoment, das erzeugt wird, wenn die nächste Verbrennung erfolgt, ausgedrückt wird.
  8. Verfahren zum Erfassen, wie in Anspruch 6 dargelegt, weiter die Schritte umfassend: den kumulativen Wert des Betrages der Schwankung des Drehmoments dadurch zu finden, dass aufeinanderfolgend berechnete Beträge der Schwankung des Drehmoments für jeden Zylinder genau eine vorbestimmte Anzahl von Malen kumulativ addiert werden, einen repräsentativen Wert des Betrages der Schwankung des Drehmoments für jeden Zylinder auf der Basis des benannten kumulativen Wertes des Betrages der Schwankung des Drehmoments zu finden und den mittleren Betrag der Schwankung des Drehmoments für alle Zylinder zu finden, der der Mittelwert der repräsentativen Werte der Zylinder ist.
  9. Verfahren zum Erfassen, wie in Anspruch 8 dargelegt, worin, wenn eine Differenz zwischen einem laufenden repräsentativen Wert und dem berechneten kumulativen Wert des Betrages der Schwankung des Drehmoments auftritt, der repräsentative Wert so aktualisiert wird, dass er sich dem berechneten kumulativen Wert des Betrages der Schwankung des Drehmoments nähert.
  10. Verfahren zum Erfassen, wie in Anspruch 6 dargelegt, worin die Winkelgeschwindigkeit auf der Basis eines Ausgangssignals eines Kurbelwinkelfuhlers erfasst wird, der den Zähnen eines Läufers zugekehrt ist, der mit der Kurbelwelle verbunden ist und zahnlose Abschnitte besitzt, worin das erzeugte Drehmoment für andere Zylinder als die Zylinder, bei denen der Kurbelwinkelfühler dem zahnlosen Bereich zugekehrt ist, wenn die Winkelgeschwindigkeit erfasst wird, und worin der Betrag der Schwankung des Drehmoments auf der Basis des berechneten erzeugten Drehmoments berechnet wird.
  11. Verfahren zum Erfassen, wie in Anspruch 6 dargelegt, worin eine Amplitude der Schwankung von aufeinanderfolgend gefundenen ersten Winkelgeschwindigkeiten gefunden wird und, wenn die Amplitude grösser als eine vorbestimmte Amplitude wird, es verboten ist, die Schwankungen der erzeugten Drehmomente der Zylinder, bei denen die ersten Winkelgeschwindigkeiten am grössten und am kleinsten waren, für eine Berechnung des Betrages der Schwankung des Drehmoments zu verwenden.
  12. Verfahren zum Erfassen, wie in Anspruch 6 dargelegt, worin, wenn die Differenz zwischen der ersten Winkelgeschwindigkeit eines Zylinders, in dein Verbrennung vorher erfolgt war, und der ersten Winkelgeschwindigkeit eines Zylinders, in dem Verbrennung als Nächstes erfolgt, grösser wird als eine Differenz zwischen der ersten Winkelgeschwindigkeit des Zylinders, in dem Verbrennung als Nächstes erfolgt, und der Winkelgeschwindigkeit eines Zylinders, in dem Verbrennung danach erfolgt, es verboten ist, die Schwankung des erzeugten Drehmoments des Zylinders, in dem die Verbrennung an zweiter Stelle erfolgte, für die Berechnung des Betrages der Schwankung des Drehmoments zu verwenden.
  13. Verfahren zum Erfassen, wie in Anspruch 1 dargelegt, worin, wenn eine Amplitude einer Torsionsschwingung der Kurbelwelle, die einen Anstieg der Motordrehzahl begleitet, zunimmt, eine Berechnung des Parameters, der die Antriebsleistung repräsentiert, für den Zylinder an der Kurbelwellenposition, bei der die Amplitude der Torsionsschwingungen grösser wird, verboten ist.
  14. Verfahren zum Erfassen, wie in Anspruch 13 dargelegt, worin eine Berechnung des Parameters, der sich auf die Antriebsleistung bezieht, für den Zylinder an der Kurbelwellenposition verboten ist, bei der die Amplitude der Torsionsschwingungen mit steigender Motordrehzahl grösser wird, verboten ist.
  15. Verfahren zum Erfassen, wie in Anspruch 14 dargelegt, worin eine Berechnung des Parameters, der sich auf die Antriebsleistung bezieht, in der Reihenfolge ausgehend von dem Zylinder her verboten wird, der sich auf der gegenüberliegenden Seite eines an der Kurbelwelle angebrachten Schwungrads befindet.
  16. Verfahren zum Erfassen, wie in Anspruch 1 dargelegt, weiter die Schritte umfassend, eine Differenz von Winkelgeschwindigkeiten zu erfassen, die erhalten wird, indem von der ersten Winkelgeschwindigkeit die zweite Winkelgeschwindigkeit subtrahiert wird, wenn die Kraftstoffzufuhr unterbrochen wird, und die zweite Winkelgeschwindigkeit zu korrigieren, indem die benannte Differenz von Winkelgeschwindigkeiten zur zweiten Winkelgeschwindigkeit addiert wird, wenn Kraftstoff zugeführt wird.
  17. Verfahren zum Erfassen, wie in Anspruch 16 dargelegt, worin die Differenz von Winkelgeschwindigkeiten für jeden vorbestimmten Motordrehzahlbereich berechnet wird, wenn die Kraftstoffzufuhr unterbrochen wird und die zweite Winkelgeschwindigkeit auf der Basis der Differenz von Winkelgeschwindigkeiten korrigiert wird, die für den Motordrehzahlbereich erfasst wird, der der Motordrehzahl entspricht, wenn Kraftstoff zu dieser Zeit zugeführt wird.
  18. Verfahren zum Erfassen, wie in Anspruch 16 dargelegt, weiter den Schritt umfassend, einen Mittelwert der Differenz von Winkelgeschwindigkeiten zu berechnen, wenn die Kraftstoffzufuhr unterbrochen ist und worin, wenn Kraftstoff zugeführt wird, die zur zweiten Winkelgeschwindigkeit zu addierende Differenz von Winkelgeschwindigkeiten so korrigiert wird, dass sie sich dem Mittelwert der Differenz von Winkelgeschwindigkeiten nähert.
  19. Verfahren zum Erfassen, wie in Anspruch 1 dargelegt, worin der benannte erste Kurbelwinkelbereich auf einen Kurbelwirkelbereich einer Grösse festgelegt wird, die sich von der des zweiten Kurbelwinkelbereichs unterscheidet.
  20. Verfahren zum Erfassen, wie in Anspruch 19 dargelegt, worin der benannte erste Kurbelwinkelbereich enger als der benannte zweite Kurbelwinkelbereich ist.
  21. Verfahren zum Erfassen, wie in Anspruch 19 dargelegt, worin der benannte erste Kurbelwinkelbereich sich von einem Kurbelwinkel vor dem oberen Totpunkt des Verdichtungshubs bis zu einem Kurbelwinkel nach dem oberen Totpunkt des Verdichtungshubs erstreckt.
DE1997622842 1996-04-05 1997-04-04 Verfahren zum Erfassen der Winkelgeschwindigkeit und des Drehmoments einer Brennkraftmaschine Expired - Fee Related DE69722842T2 (de)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP08415396A JP3246325B2 (ja) 1996-04-05 1996-04-05 内燃機関における検出方法
JP8415396 1996-04-05
JP9410796 1996-04-16
JP09410796A JP3218970B2 (ja) 1996-04-16 1996-04-16 内燃機関における検出方法
JP10032796A JP3246328B2 (ja) 1996-04-22 1996-04-22 内燃機関における検出方法
JP10032796 1996-04-22
JP13015096 1996-05-24
JP13015096A JP3279179B2 (ja) 1996-05-24 1996-05-24 多気筒内燃機関における検出方法

Publications (2)

Publication Number Publication Date
DE69722842D1 DE69722842D1 (de) 2003-07-24
DE69722842T2 true DE69722842T2 (de) 2004-05-19

Family

ID=27466932

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997622842 Expired - Fee Related DE69722842T2 (de) 1996-04-05 1997-04-04 Verfahren zum Erfassen der Winkelgeschwindigkeit und des Drehmoments einer Brennkraftmaschine

Country Status (2)

Country Link
EP (1) EP0799983B1 (de)
DE (1) DE69722842T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19941171B4 (de) * 1999-08-30 2006-12-14 Robert Bosch Gmbh Verfahren zum Bestimmen des von einer Brennkraftmaschine aufgebrachten Moments
DE102004005325A1 (de) * 2004-02-04 2005-08-25 Conti Temic Microelectronic Gmbh Verfahren zur Detektion des Brennbeginns einer Brennkraftmaschine
DE102006056860A1 (de) 2006-12-01 2008-06-05 Conti Temic Microelectronic Gmbh Verfahren und Vorrichtung zur Steuerung der Betriebsweise einer Brennkraftmaschine
JP5328757B2 (ja) * 2010-12-17 2013-10-30 本田技研工業株式会社 エンジン制御装置
RU2662017C2 (ru) * 2016-11-22 2018-07-23 Федеральное государственное бюджетное образовательное учреждение высшего образования "Российский государственный аграрный университет - МСХА имени К.А. Тимирязева" (ФГБОУ ВО РГАУ - МСХА имени К.А. Тимирязева) Способ диагностики технического состояния двигателя

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3085382B2 (ja) * 1989-08-25 2000-09-04 株式会社日立製作所 内燃機関の燃焼状態制御方法
DE4028131C2 (de) * 1990-09-05 2001-06-13 Bosch Gmbh Robert Verfahren zur Aussetzererkennung in einem Verbrennungsmotor
US5117681A (en) * 1990-10-01 1992-06-02 Ford Motor Company Correction of systematic position-sensing errors in internal combustion engines

Also Published As

Publication number Publication date
EP0799983B1 (de) 2003-06-18
DE69722842D1 (de) 2003-07-24
EP0799983A2 (de) 1997-10-08
EP0799983A3 (de) 1998-04-08

Similar Documents

Publication Publication Date Title
DE69305490T2 (de) Verfahren zur erkennung von fehlzündungen durch drehzahländerung der kurbelwelle
DE68923526T2 (de) Verfahren und Vorrichtung zur elektronischen Steuerung einer Maschine mit mehreren Zylindern.
DE60032670T2 (de) Gerät zur Steuerung der Verbrennung für einen Verbrennungsmotor
DE4135797C2 (de) Fehlzündungserkennungsverfahren für eine Brennkraftmaschine
EP0140065B1 (de) Elektronische Einrichtung zur Steuerung der Kraftstoffzumessung einer Brennkraftmaschine
DE19721070B4 (de) Verfahren zum Steuern der Verbrennung in den einzelnen Zylindern einer Brennkr aftmaschine
DE4230344C2 (de) Verfahren zum Berechnen der Kraftstoffeinspritzmenge für einen Verbrennungsmotor
DE4403348B4 (de) Verfahren zur Detektion von Fehlzündungen
DE69633642T2 (de) Verfahren zur Erkennung der Phase der Zylinder einer Mehrzylinder-Viertaktbrennkraftmaschine.
DE60216795T2 (de) Motorsteuervorrichtung
DE19828980C2 (de) Steuerverfahren und Steuervorrichtung einer Benzinbrennkraftmaschine mit Direkteinspritzung
DE102004048957B4 (de) Kraftstoffversorgungseinrichtung für Brennkraftmaschinen
DE4131383A1 (de) Fehlzuendungserfassungsgeraet
DE4005597C2 (de) Luft-Kraftstoffverhältnis-Steuersystem für einen Verbrennungsmotor
DE4117658A1 (de) Fehlzuendungsdiagnosevorrichtung fuer eine brennkraftmaschine
DE3831575A1 (de) Motorregelungssystem zur schwingungsunterdrueckung einer fahrzeugkarosserie
WO2018068923A1 (de) Verfahren zur kombinierten identifizierung von phasendifferenzen des einlassventilhubs und des auslassventilhubs eines verbrennungsmotors mittels linien gleicher phasenlagen und amplituden
DE3423144A1 (de) Verfahren zum steuern der kraftstoffzufuhr zu einer brennkraftmaschine bei beschleunigung
DE102018107566A1 (de) Vibrationsunterdrückungsvorrichtung eines fahrzeugs
DE102009031707A1 (de) Verfahren zum Betrieb eines Verbrennungsmotors
DE10026267B4 (de) Vorrichtung zur Arbeitstaktbestimmung eines Viertaktmotors
DE69722842T2 (de) Verfahren zum Erfassen der Winkelgeschwindigkeit und des Drehmoments einer Brennkraftmaschine
DE4013943C2 (de)
DE69730578T2 (de) Verfahren zur Steuerung des Luft-Kraftstoffverhältnisses in einer Brennkraftmaschine
DE4110928C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee