JP2002048039A - エンジンの点火時期制御装置 - Google Patents
エンジンの点火時期制御装置Info
- Publication number
- JP2002048039A JP2002048039A JP2000233682A JP2000233682A JP2002048039A JP 2002048039 A JP2002048039 A JP 2002048039A JP 2000233682 A JP2000233682 A JP 2000233682A JP 2000233682 A JP2000233682 A JP 2000233682A JP 2002048039 A JP2002048039 A JP 2002048039A
- Authority
- JP
- Japan
- Prior art keywords
- ignition timing
- egr
- value
- routine
- recirculation
- 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.)
- Pending
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/12—Improving ICE efficiencies
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Exhaust-Gas Circulating Devices (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Electrical Control Of Ignition Timing (AREA)
Abstract
(57)【要約】
【課題】 排気ガス還流の制御状態を考慮して実際の運
転状態に適合する点火時期を的確且つ確実に得る。 【解決手段】 EGR弁のステップモータが零点位置に
あるか否かを調べ(S900)、EGRSTM≠0すな
わちEGR実施中のとき、EGR弁の弁開度に対応する
現モータ位置EGRSTMと吸気管圧力PMとエンジン
回転数NEとに基づいて実EGR流量NEGRを求める
(S902)。そして、実EGR流量NEGRと目標E
GR流量ELBASEとを比較し(S903,S90
4)、NEGR=ELBASEのときには現在の点火時
期補正量ADEGRを保持し、NEGR>ELBASE
のとき、点火時期補正量ADEGRを演算周期毎に設定
値SADVずつ進角させ(S905)、ELBASE>
NEGRのとき、点火時期補正量ADEGRを演算周期
毎に設定値SREずつ遅角させる(S908)。
転状態に適合する点火時期を的確且つ確実に得る。 【解決手段】 EGR弁のステップモータが零点位置に
あるか否かを調べ(S900)、EGRSTM≠0すな
わちEGR実施中のとき、EGR弁の弁開度に対応する
現モータ位置EGRSTMと吸気管圧力PMとエンジン
回転数NEとに基づいて実EGR流量NEGRを求める
(S902)。そして、実EGR流量NEGRと目標E
GR流量ELBASEとを比較し(S903,S90
4)、NEGR=ELBASEのときには現在の点火時
期補正量ADEGRを保持し、NEGR>ELBASE
のとき、点火時期補正量ADEGRを演算周期毎に設定
値SADVずつ進角させ(S905)、ELBASE>
NEGRのとき、点火時期補正量ADEGRを演算周期
毎に設定値SREずつ遅角させる(S908)。
Description
【0001】
【発明の属する技術分野】本発明は、排気系から吸気系
に還流する排気ガスの還流量に応じて点火時期を制御す
るエンジンの点火時期制御装置に関する。
に還流する排気ガスの還流量に応じて点火時期を制御す
るエンジンの点火時期制御装置に関する。
【0002】
【従来の技術】従来からエンジンには、排気ガス中に含
まれているNOxを低減するために、排気系から排気ガ
スの一部を吸気系に還流させる排気ガス還流(EGR)
装置を装備するものがある。このような、EGR装置で
は、排気系とスロットル弁下流の吸気系とをバイパスす
る排気ガス還流通路を設け、この排気ガス還流通路にE
GR弁を介装し、制御装置によりエンジン運転状態に応
じてEGR弁の弁開度を制御することで、エンジン運転
状態に適合するEGR流量を得ている。
まれているNOxを低減するために、排気系から排気ガ
スの一部を吸気系に還流させる排気ガス還流(EGR)
装置を装備するものがある。このような、EGR装置で
は、排気系とスロットル弁下流の吸気系とをバイパスす
る排気ガス還流通路を設け、この排気ガス還流通路にE
GR弁を介装し、制御装置によりエンジン運転状態に応
じてEGR弁の弁開度を制御することで、エンジン運転
状態に適合するEGR流量を得ている。
【0003】この場合、EGR流量の増加に伴い燃焼室
内での燃焼伝播が遅くなるため、EGR流量の増加に応
じて点火時期を進角させる必要があり、例えば、特開平
8−151971号公報には、エンジンの運転状態に応
じて基本点火時期を算出し、この基本点火時期を、EG
R量に応じて所要の進角値をもって進角側に補正する技
術が開示されている。
内での燃焼伝播が遅くなるため、EGR流量の増加に応
じて点火時期を進角させる必要があり、例えば、特開平
8−151971号公報には、エンジンの運転状態に応
じて基本点火時期を算出し、この基本点火時期を、EG
R量に応じて所要の進角値をもって進角側に補正する技
術が開示されている。
【0004】
【発明が解決しようとする課題】しかしながら、先行例
では、EGR量に応じて基本点火時期を補正する際、エ
ンジンの運転状態に応じて算出されるEGR量に応じた
進角補正値を用いており、EGRの制御目標値に基づい
て基本点火時期を補正している。このため、EGRの制
御目標値と実際のEGR流量とのずれの影響により、必
ずしも実際の運転状態に適合した点火時期とはならず、
特に、EGR実施時と非実施時との移行期間では、適切
な点火時期を得ることは困難である。
では、EGR量に応じて基本点火時期を補正する際、エ
ンジンの運転状態に応じて算出されるEGR量に応じた
進角補正値を用いており、EGRの制御目標値に基づい
て基本点火時期を補正している。このため、EGRの制
御目標値と実際のEGR流量とのずれの影響により、必
ずしも実際の運転状態に適合した点火時期とはならず、
特に、EGR実施時と非実施時との移行期間では、適切
な点火時期を得ることは困難である。
【0005】本発明は上記事情に鑑みてなされたもの
で、排気ガス還流の制御状態を考慮して実際の運転状態
に適合する点火時期を的確且つ確実に得ることのできる
エンジンの点火時期制御装置を提供することを目的とし
ている。
で、排気ガス還流の制御状態を考慮して実際の運転状態
に適合する点火時期を的確且つ確実に得ることのできる
エンジンの点火時期制御装置を提供することを目的とし
ている。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明は、排気系から吸気系に還流す
る排気ガスの制御目標値に適合する基本点火時期を設定
する基本点火時期設定手段と、上記基本点火時期を、上
記制御目標値と排気ガスの実還流値との大小関係に基づ
いて補正するための点火時期補正量を設定する点火時期
補正量設定手段と、上記基本点火時期を上記点火時期補
正量で補正して点火時期を設定する点火時期設定手段と
を備えたことを特徴とする。
め、請求項1記載の発明は、排気系から吸気系に還流す
る排気ガスの制御目標値に適合する基本点火時期を設定
する基本点火時期設定手段と、上記基本点火時期を、上
記制御目標値と排気ガスの実還流値との大小関係に基づ
いて補正するための点火時期補正量を設定する点火時期
補正量設定手段と、上記基本点火時期を上記点火時期補
正量で補正して点火時期を設定する点火時期設定手段と
を備えたことを特徴とする。
【0007】請求項2記載の発明は、請求項1記載の発
明において、上記点火時期補正量設定手段は、上記点火
時期補正量を、上記制御目標値よりも上記実還流値が小
さいときには、上記点火時期補正量を遅角側に漸次更新
し、上記制御目標値よりも上記実還流値が大きいときに
は、上記点火時期補正量を進角側に漸次更新することを
特徴とする。
明において、上記点火時期補正量設定手段は、上記点火
時期補正量を、上記制御目標値よりも上記実還流値が小
さいときには、上記点火時期補正量を遅角側に漸次更新
し、上記制御目標値よりも上記実還流値が大きいときに
は、上記点火時期補正量を進角側に漸次更新することを
特徴とする。
【0008】請求項3記載の発明は、請求項2記載の発
明において、上記点火時期補正量設定手段は、上記点火
時期補正量を、上限値と下限値との少なくとも一方で規
制することを特徴とする。
明において、上記点火時期補正量設定手段は、上記点火
時期補正量を、上限値と下限値との少なくとも一方で規
制することを特徴とする。
【0009】請求項4記載の発明は、請求項1,2,3
のいずれか一に記載の発明において、上記制御目標値
を、目標還流量又は目標還流率とすることを特徴とす
る。
のいずれか一に記載の発明において、上記制御目標値
を、目標還流量又は目標還流率とすることを特徴とす
る。
【0010】請求項5記載の発明は、排気系から吸気系
に還流する排気ガスの目標還流量に適合する排気還流基
本点火時期と排気還流無しに適合する排気非還流基本点
火時期とを設定する基本点火時期設定手段と、上記目標
還流量に対する実還流量の割合を算出し、この割合に応
じて上記排気非還流基本点火時期と上記排気還流基本点
火時期との間で適正な点火時期を設定するための点火時
期補正係数を設定する点火時期補正係数設定手段と、上
記排気非還流基本点火時期と上記排気還流基本点火時期
と上記点火時期補正係数とにより点火時期を設定する点
火時期設定手段とを備えたことを特徴とする。
に還流する排気ガスの目標還流量に適合する排気還流基
本点火時期と排気還流無しに適合する排気非還流基本点
火時期とを設定する基本点火時期設定手段と、上記目標
還流量に対する実還流量の割合を算出し、この割合に応
じて上記排気非還流基本点火時期と上記排気還流基本点
火時期との間で適正な点火時期を設定するための点火時
期補正係数を設定する点火時期補正係数設定手段と、上
記排気非還流基本点火時期と上記排気還流基本点火時期
と上記点火時期補正係数とにより点火時期を設定する点
火時期設定手段とを備えたことを特徴とする。
【0011】請求項6記載の発明は、請求項5記載の発
明において、上記点火時期設定手段は、上記排気還流基
本点火時期から上記排気非還流基本点火時期を減算した
値に上記点火時期補正係数を乗算し、この乗算値と上記
排気非還流基本点火時期とを加算して点火時期を設定す
ることを特徴とする。
明において、上記点火時期設定手段は、上記排気還流基
本点火時期から上記排気非還流基本点火時期を減算した
値に上記点火時期補正係数を乗算し、この乗算値と上記
排気非還流基本点火時期とを加算して点火時期を設定す
ることを特徴とする。
【0012】すなわち、請求項1記載の発明は、排気系
から吸気系に還流する排気ガスの制御目標値に適合する
基本点火時期を設定し、この基本点火時期を制御目標値
と排気ガスの実還流値との大小関係に基づいて補正して
点火時期を設定することで、実際の運転状態に確実且つ
的確に適合する点火時期を得る。
から吸気系に還流する排気ガスの制御目標値に適合する
基本点火時期を設定し、この基本点火時期を制御目標値
と排気ガスの実還流値との大小関係に基づいて補正して
点火時期を設定することで、実際の運転状態に確実且つ
的確に適合する点火時期を得る。
【0013】その際、請求項2記載の発明は、点火時期
補正量を、制御目標値よりも実還流値が小さいときに
は、点火時期補正量を遅角側に漸次更新し、制御目標値
よりも実還流値が大きいときには、点火時期補正量を進
角側に漸次更新することで、実際の排気ガス還流量に応
じた適正な点火時期とする。また、請求項3記載の発明
は、点火時期補正量を上限値と下限値との少なくとも一
方で規制し、請求項4記載の発明は、制御目標値を目標
還流量又は目標還流率とすることで、制御性を確保す
る。
補正量を、制御目標値よりも実還流値が小さいときに
は、点火時期補正量を遅角側に漸次更新し、制御目標値
よりも実還流値が大きいときには、点火時期補正量を進
角側に漸次更新することで、実際の排気ガス還流量に応
じた適正な点火時期とする。また、請求項3記載の発明
は、点火時期補正量を上限値と下限値との少なくとも一
方で規制し、請求項4記載の発明は、制御目標値を目標
還流量又は目標還流率とすることで、制御性を確保す
る。
【0014】また、請求項5記載の発明は、排気系から
吸気系に還流する排気ガスの目標還流量に適合する排気
還流基本点火時期と排気還流無しに適合する排気非還流
基本点火時期とを設定し、排気非還流基本点火時期、排
気還流基本点火時期、及び目標還流量に対する実還流量
の割合に応じて排気非還流基本点火時期と排気還流基本
点火時期との間で適正な点火時期を設定するための点火
時期補正係数により点火時期を設定することで、より確
実且つ的確に実際の運転状態に適合する点火時期を得
る。その際、請求項6記載の発明は、排気還流基本点火
時期から排気非還流基本点火時期を減算した値に点火時
期補正係数を乗算し、この乗算値と排気非還流基本点火
時期とを加算して点火時期を設定する。
吸気系に還流する排気ガスの目標還流量に適合する排気
還流基本点火時期と排気還流無しに適合する排気非還流
基本点火時期とを設定し、排気非還流基本点火時期、排
気還流基本点火時期、及び目標還流量に対する実還流量
の割合に応じて排気非還流基本点火時期と排気還流基本
点火時期との間で適正な点火時期を設定するための点火
時期補正係数により点火時期を設定することで、より確
実且つ的確に実際の運転状態に適合する点火時期を得
る。その際、請求項6記載の発明は、排気還流基本点火
時期から排気非還流基本点火時期を減算した値に点火時
期補正係数を乗算し、この乗算値と排気非還流基本点火
時期とを加算して点火時期を設定する。
【0015】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図1〜図52は本発明の実施の第
1形態に係わり、図1はエンジンの全体概略図、図2は
クランクロータとクランク角センサの正面図、図3はカ
ムロータと気筒判別センサの正面図、図4はクランクパ
ルス、気筒判別パルス、燃焼行程気筒、点火信号、及び
インジェクタ駆動信号の関係を示すタイムチャート、図
5は電子制御系の回路構成図、図6は気筒判別/エンジ
ン回転数算出ルーチンのフローチャート、図7はサージ
レベル検出ルーチンのフローチャート、図8は指標値演
算サブルーチンのフローチャート、図9はデジタルフィ
ルタ処理の説明図、図10及び図11はサージレベル指
標値算出サブルーチンのフローチャート、図12は指標
最大値の説明図、図13は指標最大値減衰量テーブルの
説明図、図14は指標最大値張り付き判定の説明図、図
15〜図17はサージレベル判定閾値設定サブルーチン
のフローチャート、図18は小サージレベル判定閾値の
説明図、図19は中サージレベル判定閾値の説明図、図
20は大サージレベル判定閾値の説明図、図21はサー
ジレベル検出サブルーチンのフローチャート、図22は
EGR制御量算出ルーチンのフローチャート、図23〜
図29はEGR実施可能判定サブルーチンのフローチャ
ート、図30はEGR実施可能判定条件の説明図、図3
1〜図36はEGRリミットガード目標値更新条件判定
サブルーチンのフローチャート、図37はEGRリミッ
トガード目標値更新条件判定の説明図、図38〜図41
はEGRリミットガード目標値更新サブルーチンのフロ
ーチャート、図42は安定指標パラメータ算出ルーチン
のフローチャート、図43は回転補正係数テーブルの説
明図、図44及び図45はEGRリミット値設定サブル
ーチンのフローチャート、図46はEGR禁止/許可に
よるEGR許可係数の変化を示す説明図、図47はEG
R流量算出サブルーチンのフローチャート、図48はモ
ータ目標位置算出サブルーチンのフローチャート、図4
9はEGR駆動ルーチンのフローチャート、図50はサ
ージレベルとEGRリミットガード目標値とモータ目標
位置との関係を示すタイムチャート、図51は点火時期
補正量設定ルーチンのフローチャート、図52は点火時
期制御ルーチンのフローチャートである。
施の形態を説明する。図1〜図52は本発明の実施の第
1形態に係わり、図1はエンジンの全体概略図、図2は
クランクロータとクランク角センサの正面図、図3はカ
ムロータと気筒判別センサの正面図、図4はクランクパ
ルス、気筒判別パルス、燃焼行程気筒、点火信号、及び
インジェクタ駆動信号の関係を示すタイムチャート、図
5は電子制御系の回路構成図、図6は気筒判別/エンジ
ン回転数算出ルーチンのフローチャート、図7はサージ
レベル検出ルーチンのフローチャート、図8は指標値演
算サブルーチンのフローチャート、図9はデジタルフィ
ルタ処理の説明図、図10及び図11はサージレベル指
標値算出サブルーチンのフローチャート、図12は指標
最大値の説明図、図13は指標最大値減衰量テーブルの
説明図、図14は指標最大値張り付き判定の説明図、図
15〜図17はサージレベル判定閾値設定サブルーチン
のフローチャート、図18は小サージレベル判定閾値の
説明図、図19は中サージレベル判定閾値の説明図、図
20は大サージレベル判定閾値の説明図、図21はサー
ジレベル検出サブルーチンのフローチャート、図22は
EGR制御量算出ルーチンのフローチャート、図23〜
図29はEGR実施可能判定サブルーチンのフローチャ
ート、図30はEGR実施可能判定条件の説明図、図3
1〜図36はEGRリミットガード目標値更新条件判定
サブルーチンのフローチャート、図37はEGRリミッ
トガード目標値更新条件判定の説明図、図38〜図41
はEGRリミットガード目標値更新サブルーチンのフロ
ーチャート、図42は安定指標パラメータ算出ルーチン
のフローチャート、図43は回転補正係数テーブルの説
明図、図44及び図45はEGRリミット値設定サブル
ーチンのフローチャート、図46はEGR禁止/許可に
よるEGR許可係数の変化を示す説明図、図47はEG
R流量算出サブルーチンのフローチャート、図48はモ
ータ目標位置算出サブルーチンのフローチャート、図4
9はEGR駆動ルーチンのフローチャート、図50はサ
ージレベルとEGRリミットガード目標値とモータ目標
位置との関係を示すタイムチャート、図51は点火時期
補正量設定ルーチンのフローチャート、図52は点火時
期制御ルーチンのフローチャートである。
【0016】図1において、符号1はエンジンであり、
図においては水平対向型4気筒ガソリンエンジンを示
す。エンジン1のシリンダブロック1aの左右両バンク
には、シリンダヘッド2がそれぞれ設けられ、各シリン
ダヘッド2に吸気ポート2aと排気ポート2bとが形成
されている。
図においては水平対向型4気筒ガソリンエンジンを示
す。エンジン1のシリンダブロック1aの左右両バンク
には、シリンダヘッド2がそれぞれ設けられ、各シリン
ダヘッド2に吸気ポート2aと排気ポート2bとが形成
されている。
【0017】エンジン1の吸気系としては、各吸気ポー
ト2aにインテークマニホルド3が連通され、このイン
テークマニホルド3に各気筒の吸気通路が集合するエア
チャンバ4を介して、アクセルペダルに連動するスロッ
トル弁5aが介装されたスロットルチャンバ5が連通さ
れている。そして、このスロットルチャンバ5の上流側
に吸気管6を介してエアクリーナ7が取り付けられ、こ
のエアクリーナ7に接続されるエアインテーク通路の中
途にチャンバ8が連通されている。
ト2aにインテークマニホルド3が連通され、このイン
テークマニホルド3に各気筒の吸気通路が集合するエア
チャンバ4を介して、アクセルペダルに連動するスロッ
トル弁5aが介装されたスロットルチャンバ5が連通さ
れている。そして、このスロットルチャンバ5の上流側
に吸気管6を介してエアクリーナ7が取り付けられ、こ
のエアクリーナ7に接続されるエアインテーク通路の中
途にチャンバ8が連通されている。
【0018】また、吸気管6には、スロットル弁5aを
バイパスするバイパス通路9が接続されており、このバ
イパス通路9に、アイドル時にその弁開度によって該バ
イパス通路9を流れるバイパス空気量を調整することで
アイドル回転数を制御するアイドル回転数制御弁(IS
C弁)10が介装されている。更に、インテークマニホ
ルド3の各気筒の吸気ポート2aの直上流にインジェク
タ11が配設され、シリンダヘッド2の各気筒毎に、そ
の放電電極部を燃焼室に露呈する点火プラグ12が配設
されている。点火プラグ12には、イグナイタ14を内
蔵するイグニッションコイル13が接続されている。
バイパスするバイパス通路9が接続されており、このバ
イパス通路9に、アイドル時にその弁開度によって該バ
イパス通路9を流れるバイパス空気量を調整することで
アイドル回転数を制御するアイドル回転数制御弁(IS
C弁)10が介装されている。更に、インテークマニホ
ルド3の各気筒の吸気ポート2aの直上流にインジェク
タ11が配設され、シリンダヘッド2の各気筒毎に、そ
の放電電極部を燃焼室に露呈する点火プラグ12が配設
されている。点火プラグ12には、イグナイタ14を内
蔵するイグニッションコイル13が接続されている。
【0019】一方、エンジン1の排気系としては、シリ
ンダヘッド2の各排気ポート2bにエキゾーストマニホ
ルド15を介して排気官16が連通されている。各バン
クからの排気官16の合流部には、三元触媒等を有する
触媒コンバータ17が介装され、触媒コンバータ17下
流にマフラ18が介装されている。
ンダヘッド2の各排気ポート2bにエキゾーストマニホ
ルド15を介して排気官16が連通されている。各バン
クからの排気官16の合流部には、三元触媒等を有する
触媒コンバータ17が介装され、触媒コンバータ17下
流にマフラ18が介装されている。
【0020】また、エンジン1の排気系から吸気系へ排
気ガスを還流させるため、一方のバンクのエキゾースト
マニホルド15から排気ガス還流(EGR)通路19が
延出され、エアチャンバ4に連通されている。EGR通
路19の途中には、EGR量を調整するための流量制御
弁としてのEGR弁20が介装されており、このEGR
弁20の開度に応じて排気ガスの一部が吸気系に還流さ
れる。本形態においては、EGR弁20は、弁開度を調
整するアクチュエータとしてステップモータを用いるス
テップモータ式EGR弁である。
気ガスを還流させるため、一方のバンクのエキゾースト
マニホルド15から排気ガス還流(EGR)通路19が
延出され、エアチャンバ4に連通されている。EGR通
路19の途中には、EGR量を調整するための流量制御
弁としてのEGR弁20が介装されており、このEGR
弁20の開度に応じて排気ガスの一部が吸気系に還流さ
れる。本形態においては、EGR弁20は、弁開度を調
整するアクチュエータとしてステップモータを用いるス
テップモータ式EGR弁である。
【0021】次に、エンジン運転状態を検出するための
センサ類について説明する。吸気管6のエアクリーナ7
の直下流には、ホットワイヤ或いはホットフィルム等を
用いた熱式の吸入空気量センサ21が介装されている。
また、スロットルチャンバ5に設けられたスロットル弁
5aに、スロットル開度センサ22aとスロットル弁5
aの全閉でONするアイドルスイッチ22bとを内蔵し
たスロットルセンサ22が連設されている。また、エア
チャンバ4には、吸気温度を検出するための吸気温セン
サ23が臨まされると共に、スロットル弁5a下流の圧
力(吸気管圧力)を絶対圧で検出するための吸気管圧力
センサ24が連設されている。
センサ類について説明する。吸気管6のエアクリーナ7
の直下流には、ホットワイヤ或いはホットフィルム等を
用いた熱式の吸入空気量センサ21が介装されている。
また、スロットルチャンバ5に設けられたスロットル弁
5aに、スロットル開度センサ22aとスロットル弁5
aの全閉でONするアイドルスイッチ22bとを内蔵し
たスロットルセンサ22が連設されている。また、エア
チャンバ4には、吸気温度を検出するための吸気温セン
サ23が臨まされると共に、スロットル弁5a下流の圧
力(吸気管圧力)を絶対圧で検出するための吸気管圧力
センサ24が連設されている。
【0022】また、エンジン1のシリンダブロック1a
にノックセンサ25が取り付けられ、シリンダブロック
1aの左右バンクを連通する冷却水通路26に冷却水温
センサ27が臨まされている。また、触媒コンバータ1
7の上流側に、空燃比を検出するためのO2センサ28
が配設されている。更に、エンジン1のクランクシャフ
ト1bに軸着するクランクロータ29の外周に、クラン
ク角センサ30が対設され、クランクシャフト1bに対
して1/2回転するカムシャフト1cに軸着するカムロ
ータ31の外周に、気筒判別センサ32が対設されてい
る。
にノックセンサ25が取り付けられ、シリンダブロック
1aの左右バンクを連通する冷却水通路26に冷却水温
センサ27が臨まされている。また、触媒コンバータ1
7の上流側に、空燃比を検出するためのO2センサ28
が配設されている。更に、エンジン1のクランクシャフ
ト1bに軸着するクランクロータ29の外周に、クラン
ク角センサ30が対設され、クランクシャフト1bに対
して1/2回転するカムシャフト1cに軸着するカムロ
ータ31の外周に、気筒判別センサ32が対設されてい
る。
【0023】クランクロータ29は、図2に示すよう
に、その外周に突起29a,29b,29cが形成さ
れ、これらの各突起29a,29b,29cが、各気筒
(#1,#2気筒と#3,#4気筒)の圧縮上死点前
(BTDC)θ1,θ2,θ3の位置に形成されてい
る。本形態においては、θ1=100°CA,θ2=7
0°CA,θ3=10°CAである。
に、その外周に突起29a,29b,29cが形成さ
れ、これらの各突起29a,29b,29cが、各気筒
(#1,#2気筒と#3,#4気筒)の圧縮上死点前
(BTDC)θ1,θ2,θ3の位置に形成されてい
る。本形態においては、θ1=100°CA,θ2=7
0°CA,θ3=10°CAである。
【0024】また、図3に示すように、カムロータ31
の外周には、気筒判別用の突起31a,31b,31c
が形成され、突起31aが#3,#4気筒の圧縮上死点
後(ATDC)θ4の位置に形成され、突起31bが3
個の突起で構成されて最初の突起が#1気筒のATDC
θ5の位置に形成されている。更に、突起31cが2個
の突起で形成され、最初の突起が#2気筒のATDCθ
6の位置に形成されている。本形態においては、θ4=
20°CA,θ5=5°CA,θ6=20°CAであ
る。
の外周には、気筒判別用の突起31a,31b,31c
が形成され、突起31aが#3,#4気筒の圧縮上死点
後(ATDC)θ4の位置に形成され、突起31bが3
個の突起で構成されて最初の突起が#1気筒のATDC
θ5の位置に形成されている。更に、突起31cが2個
の突起で形成され、最初の突起が#2気筒のATDCθ
6の位置に形成されている。本形態においては、θ4=
20°CA,θ5=5°CA,θ6=20°CAであ
る。
【0025】図4のタイムチャートに示すように、エン
ジン運転に伴いクランクシャフト1b及びカムシャフト
1cが回転してクランクロータ29及びカムロータ31
が回転すると、クランクロータ29の各突起がクランク
角センサ30によって検出され、クランク角センサ30
からθ1,θ2,θ3(BTDC100°,70°,1
0°CA)の各クランクパルスがエンジン1/2回転
(180°CA)毎に出力される。一方、θ3クランク
パルスとθ1クランクパルスとの間でカムロータ31の
各突起が気筒判別センサ32によって検出され、気筒判
別センサ32から所定数の気筒判別パルスが出力され
る。
ジン運転に伴いクランクシャフト1b及びカムシャフト
1cが回転してクランクロータ29及びカムロータ31
が回転すると、クランクロータ29の各突起がクランク
角センサ30によって検出され、クランク角センサ30
からθ1,θ2,θ3(BTDC100°,70°,1
0°CA)の各クランクパルスがエンジン1/2回転
(180°CA)毎に出力される。一方、θ3クランク
パルスとθ1クランクパルスとの間でカムロータ31の
各突起が気筒判別センサ32によって検出され、気筒判
別センサ32から所定数の気筒判別パルスが出力され
る。
【0026】そして、以下のエンジン制御用の電子制御
装置50(ECU50)において、クランク角センサ3
0から出力されるクランクパルスの入力間隔時間Tθに
基づいてエンジン回転数NEを算出し、また、各気筒の
燃焼行程順(例えば、#1気筒→#3気筒→#2気筒→
#4気筒)と、気筒判別センサ32からの気筒判別パル
スをカウンタによって計数した値とのパターンに基づい
て、燃焼行程気筒、燃料噴射対象気筒や点火対象気筒の
気筒判別を行う。
装置50(ECU50)において、クランク角センサ3
0から出力されるクランクパルスの入力間隔時間Tθに
基づいてエンジン回転数NEを算出し、また、各気筒の
燃焼行程順(例えば、#1気筒→#3気筒→#2気筒→
#4気筒)と、気筒判別センサ32からの気筒判別パル
スをカウンタによって計数した値とのパターンに基づい
て、燃焼行程気筒、燃料噴射対象気筒や点火対象気筒の
気筒判別を行う。
【0027】エンジン制御用のECU50は、前述のイ
ンジェクタ11、イグナイタ14、ISC弁10、EG
R弁20等のアクチュエータ類に対する制御量の演算、
制御信号の出力、すなわち空燃比制御を含む燃料噴射制
御、点火時期制御、アイドル回転数制御、EGR制御等
を行うものである。図5に示すように、ECU50は、
CPU51、ROM52、RAM53、バックアップR
AM54、シリアルインターフェース(SCI)55、
カウンタ・タイマ群56、及びI/Oインターフェイス
57がバスラインを介して互いに接続されるマイクロコ
ンピュータを中心として構成され、各部に安定化電源を
供給する定電圧回路58、I/Oインターフェイス57
に接続される駆動回路59及びA/D変換器60等の周
辺回路が内蔵されている。
ンジェクタ11、イグナイタ14、ISC弁10、EG
R弁20等のアクチュエータ類に対する制御量の演算、
制御信号の出力、すなわち空燃比制御を含む燃料噴射制
御、点火時期制御、アイドル回転数制御、EGR制御等
を行うものである。図5に示すように、ECU50は、
CPU51、ROM52、RAM53、バックアップR
AM54、シリアルインターフェース(SCI)55、
カウンタ・タイマ群56、及びI/Oインターフェイス
57がバスラインを介して互いに接続されるマイクロコ
ンピュータを中心として構成され、各部に安定化電源を
供給する定電圧回路58、I/Oインターフェイス57
に接続される駆動回路59及びA/D変換器60等の周
辺回路が内蔵されている。
【0028】尚、カウンタ・タイマ群56は、フリーラ
ンカウンタ、気筒判別センサ信号(気筒判別パルス)の
入力計数用カウンタ等の各種カウンタ、燃料噴射用タイ
マ、点火用タイマ、定期割り込みを発生させるための定
期割り込み用タイマ、クランク角センサ信号(クランク
パルス)の入力間隔計時用タイマ、エンジン始動後の経
過時間を計時する始動後時間計時用タイマ、及びシステ
ム異常監視用のウオッチドッグタイマ等の各種タイマを
便宜上総称するものであり、その他、各種のソフトウエ
アカウンタ・タイマが用いられる。
ンカウンタ、気筒判別センサ信号(気筒判別パルス)の
入力計数用カウンタ等の各種カウンタ、燃料噴射用タイ
マ、点火用タイマ、定期割り込みを発生させるための定
期割り込み用タイマ、クランク角センサ信号(クランク
パルス)の入力間隔計時用タイマ、エンジン始動後の経
過時間を計時する始動後時間計時用タイマ、及びシステ
ム異常監視用のウオッチドッグタイマ等の各種タイマを
便宜上総称するものであり、その他、各種のソフトウエ
アカウンタ・タイマが用いられる。
【0029】定電圧回路58は、2回路のリレー接点を
有する電源リレー61の第1のリレー接点を介してバッ
テリ62に接続されている。電源リレー61は、そのリ
レーコイルの一端が接地され、リレーコイルの他端が駆
動回路59に接続されている。尚、電源リレー61の第
2のリレー接点には、バッテリ62から各アクチュエー
タに電源を供給するための電源線が接続されている。
有する電源リレー61の第1のリレー接点を介してバッ
テリ62に接続されている。電源リレー61は、そのリ
レーコイルの一端が接地され、リレーコイルの他端が駆
動回路59に接続されている。尚、電源リレー61の第
2のリレー接点には、バッテリ62から各アクチュエー
タに電源を供給するための電源線が接続されている。
【0030】また、バッテリ62には、イグニッション
スイッチ63の一端が接続され、このイグニッションス
イッチ63の他端がI/Oインターフェース57の入力
ポートに接続されている。また、定電圧回路58は、直
接、バッテリ62に接続されており、イグニッションス
イッチ63のONが検出されて電源リレー61の接点が
閉になると、ECU50内の各部へ電源を供給する一
方、イグニッションスイッチ63のON,OFFに拘ら
ず、常時、バックアップRAM54にバックアップ用の
電源を供給する。
スイッチ63の一端が接続され、このイグニッションス
イッチ63の他端がI/Oインターフェース57の入力
ポートに接続されている。また、定電圧回路58は、直
接、バッテリ62に接続されており、イグニッションス
イッチ63のONが検出されて電源リレー61の接点が
閉になると、ECU50内の各部へ電源を供給する一
方、イグニッションスイッチ63のON,OFFに拘ら
ず、常時、バックアップRAM54にバックアップ用の
電源を供給する。
【0031】また、I/Oインターフェイス57の入力
ポートには、アイドルスイッチ22b、ノックセンサ2
5、クランク角センサ30、気筒判別センサ32、転舵
角が設定値より大のときにONするパワステスイッチ
(パワーステアリング転舵スイッチ)33、車速を検出
するための車速センサ34等が接続され、更に、A/D
変換器60を介して、スロットル開度センサ22a、吸
入空気量センサ21、吸気管圧力センサ24、吸気温セ
ンサ23、冷却水温センサ27、O2センサ28等が接
続されると共にバッテリ電圧VBが入力されてモニタさ
れる。また、I/Oインターフェイス57の出力ポート
には、ISC弁10、インジェクタ11、ステップモー
タ式EGR弁20、電源リレー61及びエアコンリレー
64の各リレーコイルが駆動回路59を介して接続され
ると共に、イグナイタ14が接続されている。
ポートには、アイドルスイッチ22b、ノックセンサ2
5、クランク角センサ30、気筒判別センサ32、転舵
角が設定値より大のときにONするパワステスイッチ
(パワーステアリング転舵スイッチ)33、車速を検出
するための車速センサ34等が接続され、更に、A/D
変換器60を介して、スロットル開度センサ22a、吸
入空気量センサ21、吸気管圧力センサ24、吸気温セ
ンサ23、冷却水温センサ27、O2センサ28等が接
続されると共にバッテリ電圧VBが入力されてモニタさ
れる。また、I/Oインターフェイス57の出力ポート
には、ISC弁10、インジェクタ11、ステップモー
タ式EGR弁20、電源リレー61及びエアコンリレー
64の各リレーコイルが駆動回路59を介して接続され
ると共に、イグナイタ14が接続されている。
【0032】一方、符号70は、変速機制御用の電子制
御装置70(TCU70)であり、エンジン制御用のE
CU50と同様、マイクロコンピュータを中心として構
成され、エンジン制御用のECU50にSCI55を介
して互いにデータ交換可能に接続されている。本形態で
は、エンジン1の出力軸に連設される変速駆動系とし
て、インペラとタービンとを係合するためのロックアッ
プクラッチ75を備えたトルクコンバータ76に、前進
・後退の切換や変速切り換えを行うための各種油圧クラ
ッチや各種油圧ブレーキ等からなるクラッチ機構部とプ
ラネタリーギヤ等からなる主変速機構部とを備えた変速
機80が連設されており、この変速機80に、各機構部
へのライン圧やパイロット圧を制御する各種コントロー
ル弁を一体的に形成した油圧制御部85が連設されてい
る。
御装置70(TCU70)であり、エンジン制御用のE
CU50と同様、マイクロコンピュータを中心として構
成され、エンジン制御用のECU50にSCI55を介
して互いにデータ交換可能に接続されている。本形態で
は、エンジン1の出力軸に連設される変速駆動系とし
て、インペラとタービンとを係合するためのロックアッ
プクラッチ75を備えたトルクコンバータ76に、前進
・後退の切換や変速切り換えを行うための各種油圧クラ
ッチや各種油圧ブレーキ等からなるクラッチ機構部とプ
ラネタリーギヤ等からなる主変速機構部とを備えた変速
機80が連設されており、この変速機80に、各機構部
へのライン圧やパイロット圧を制御する各種コントロー
ル弁を一体的に形成した油圧制御部85が連設されてい
る。
【0033】TCU70には、ECU50と共用するス
ロットル開度センサ22a、冷却水温センサ27、及び
車速センサ34からの各信号が入力されるとともに、タ
ービン回転センサ71からのタービン回転数信号、AT
F油温センサ72からのATF油温信号、ブレーキスイ
ッチ73からのブレーキ信号、インヒビタスイッチ74
からの図示しないセレクト機構部の操作位置を示す信号
等が入力される。そして、油圧制御部85を介して、ロ
ックアップクラッチ75の締結・スリップ・解放を制御
すると共に、変速機80の変速制御を行う。
ロットル開度センサ22a、冷却水温センサ27、及び
車速センサ34からの各信号が入力されるとともに、タ
ービン回転センサ71からのタービン回転数信号、AT
F油温センサ72からのATF油温信号、ブレーキスイ
ッチ73からのブレーキ信号、インヒビタスイッチ74
からの図示しないセレクト機構部の操作位置を示す信号
等が入力される。そして、油圧制御部85を介して、ロ
ックアップクラッチ75の締結・スリップ・解放を制御
すると共に、変速機80の変速制御を行う。
【0034】エンジン制御用のECU50では、ROM
52に記憶されている制御プログラムに従って、I/O
インターフェイス57を介して入力されるセンサ・スイ
ッチ類からの検出信号、及びバッテリ電圧等をCPU5
1で処理するとともに、SCI55を介して変速機制御
用のTCU70から変速機のギヤ位置やロックアップク
ラッチ75の制御データ等を受信し、これらの受信デー
タ、RAM53に格納される各種データ、及びバックア
ップRAM54に格納されている各種学習値データ、R
OM52に記憶されている固定データ等に基づき、燃料
噴射量、点火時期、ISC弁10に対する制御駆動信号
のデューティ比、ステップモータ式EGR弁20に対す
る制御駆動信号のステップ数等を演算し、空燃比制御を
含む燃料噴射制御、点火時期制御、アイドル回転数制
御、EGR制御等のエンジン制御を行う。
52に記憶されている制御プログラムに従って、I/O
インターフェイス57を介して入力されるセンサ・スイ
ッチ類からの検出信号、及びバッテリ電圧等をCPU5
1で処理するとともに、SCI55を介して変速機制御
用のTCU70から変速機のギヤ位置やロックアップク
ラッチ75の制御データ等を受信し、これらの受信デー
タ、RAM53に格納される各種データ、及びバックア
ップRAM54に格納されている各種学習値データ、R
OM52に記憶されている固定データ等に基づき、燃料
噴射量、点火時期、ISC弁10に対する制御駆動信号
のデューティ比、ステップモータ式EGR弁20に対す
る制御駆動信号のステップ数等を演算し、空燃比制御を
含む燃料噴射制御、点火時期制御、アイドル回転数制
御、EGR制御等のエンジン制御を行う。
【0035】この場合、EGR制御によるEGR流量が
増加すると、このEGR流量の増加に伴って燃焼伝播が
遅くなるため、EGR流量の増加に応じて点火時期を進
角させる必要がある。従って、ECU50は、EGR制
御における制御目標値、すなわちエンジン回転数とエン
ジン負荷とによって算出される基本EGR流量に適合す
る基本点火時期を設定し、この基本点火時期を補正する
ための点火時期補正量を、基本EGR流量と実EGR流
量との大小関係に基づいて設定する。そして、基本点火
時期を点火時期補正量で補正して点火時期を設定するこ
とにより、実際の運転状態に的確且つ確実に適合する点
火時期とし、排気エミッションや燃費を向上させる。
増加すると、このEGR流量の増加に伴って燃焼伝播が
遅くなるため、EGR流量の増加に応じて点火時期を進
角させる必要がある。従って、ECU50は、EGR制
御における制御目標値、すなわちエンジン回転数とエン
ジン負荷とによって算出される基本EGR流量に適合す
る基本点火時期を設定し、この基本点火時期を補正する
ための点火時期補正量を、基本EGR流量と実EGR流
量との大小関係に基づいて設定する。そして、基本点火
時期を点火時期補正量で補正して点火時期を設定するこ
とにより、実際の運転状態に的確且つ確実に適合する点
火時期とし、排気エミッションや燃費を向上させる。
【0036】すなわち、ECU50は、本発明に係る基
本点火時期設定手段、点火時期補正量設定手段、点火時
期設定手段としての機能を実現する。以下、ECU50
によって実行される点火時期制御に係る処理について、
図6以下に示すフローチャートを用いて説明する。
本点火時期設定手段、点火時期補正量設定手段、点火時
期設定手段としての機能を実現する。以下、ECU50
によって実行される点火時期制御に係る処理について、
図6以下に示すフローチャートを用いて説明する。
【0037】先ず、イグニッションスイッチ63がON
され、ECU50に電源が投入されると、システムがイ
ニシャライズされ、バックアップRAM54に格納され
ている各種学習値等のデータを除く、各フラグ、各カウ
ンタ類が初期化される。そして、図示しないスタータス
イッチがONされてエンジン1が起動すると、クランク
角センサ30からのクランクパルス入力毎に、図6の気
筒判別/エンジン回転数算出ルーチンが実行され、燃料
噴射対象気筒及び点火対象気筒の判別、エンジン回転数
NEの算出が行われる。
され、ECU50に電源が投入されると、システムがイ
ニシャライズされ、バックアップRAM54に格納され
ている各種学習値等のデータを除く、各フラグ、各カウ
ンタ類が初期化される。そして、図示しないスタータス
イッチがONされてエンジン1が起動すると、クランク
角センサ30からのクランクパルス入力毎に、図6の気
筒判別/エンジン回転数算出ルーチンが実行され、燃料
噴射対象気筒及び点火対象気筒の判別、エンジン回転数
NEの算出が行われる。
【0038】この気筒判別/エンジン回転数算出ルーチ
ンでは、エンジン運転に伴いクランクロータ29が回転
してクランク角センサ30からのクランクパルスが入力
されると、先ず、ステップS1で、今回入力されたクラ
ンクパルスがθ1,θ2,θ3の何れのクランク角に対
応する信号かを気筒判別センサ32からの気筒判別パル
スの入力パターンに基づいて識別する。そして、ステッ
プS2で、クランクパルスと気筒判別パルスとの入力パ
ターンから燃焼行程気筒、点火対象気筒、及び燃料噴射
対象気筒等の気筒判別を行う。
ンでは、エンジン運転に伴いクランクロータ29が回転
してクランク角センサ30からのクランクパルスが入力
されると、先ず、ステップS1で、今回入力されたクラ
ンクパルスがθ1,θ2,θ3の何れのクランク角に対
応する信号かを気筒判別センサ32からの気筒判別パル
スの入力パターンに基づいて識別する。そして、ステッ
プS2で、クランクパルスと気筒判別パルスとの入力パ
ターンから燃焼行程気筒、点火対象気筒、及び燃料噴射
対象気筒等の気筒判別を行う。
【0039】すなわち、図4のタイムチャートに示すよ
うに、例えば、前回クランクパルスが入力してから今回
クランクパルスが入力されるまでの間に気筒判別パルス
入力があれば、今回のクランクパルスはθ1クランクパ
ルスであると識別でき、更に次回入力されるクランクパ
ルスはθ2クランクパルスと識別できる。また、前回と
今回とのクランクパルス入力間に気筒判別パルス入力が
なく、前々回と前回のクランクパルス入力間に気筒判別
パルス入力が有ったときには、今回のクランクパルスは
θ2クランクパルスと識別でき、次回入力されるクラン
クパルスはθ3クランクパルスと識別できる。また、前
回と今回との間、及び前々回と前回とのクランクパルス
入力間に、何れも気筒判別パルス入力が無いときには、
今回入力されたクランクパルスはθ3クランクパルスと
識別でき、次回入力されるクランクパルスはθ1クラン
クパルスと判別できる。
うに、例えば、前回クランクパルスが入力してから今回
クランクパルスが入力されるまでの間に気筒判別パルス
入力があれば、今回のクランクパルスはθ1クランクパ
ルスであると識別でき、更に次回入力されるクランクパ
ルスはθ2クランクパルスと識別できる。また、前回と
今回とのクランクパルス入力間に気筒判別パルス入力が
なく、前々回と前回のクランクパルス入力間に気筒判別
パルス入力が有ったときには、今回のクランクパルスは
θ2クランクパルスと識別でき、次回入力されるクラン
クパルスはθ3クランクパルスと識別できる。また、前
回と今回との間、及び前々回と前回とのクランクパルス
入力間に、何れも気筒判別パルス入力が無いときには、
今回入力されたクランクパルスはθ3クランクパルスと
識別でき、次回入力されるクランクパルスはθ1クラン
クパルスと判別できる。
【0040】更に、前回と今回とのクランクパルス入力
間に気筒判別パルスが3個入力(突起31bに対応する
θ5気筒判別パルス)したときには、次の圧縮上死点は
#3気筒であり、現在の燃焼行程気筒は#1気筒であっ
て、点火対象気筒は#3気筒、燃料噴射対象気筒は、そ
の2つ後の#4気筒と判別することができる。また、前
回と今回のクランクパルス入力間に気筒判別パルスが2
個入力(突起31cに対応するθ6気筒判別パルス)し
たときには、次の圧縮上死点は#4気筒であり、現在の
燃焼行程気筒は#2気筒であって、点火対象気筒は#4
気筒、燃料噴射対象気筒は#3気筒と判別できる。
間に気筒判別パルスが3個入力(突起31bに対応する
θ5気筒判別パルス)したときには、次の圧縮上死点は
#3気筒であり、現在の燃焼行程気筒は#1気筒であっ
て、点火対象気筒は#3気筒、燃料噴射対象気筒は、そ
の2つ後の#4気筒と判別することができる。また、前
回と今回のクランクパルス入力間に気筒判別パルスが2
個入力(突起31cに対応するθ6気筒判別パルス)し
たときには、次の圧縮上死点は#4気筒であり、現在の
燃焼行程気筒は#2気筒であって、点火対象気筒は#4
気筒、燃料噴射対象気筒は#3気筒と判別できる。
【0041】また、前回と今回のクランクパルス入力間
に気筒判別パルスが1個入力(突起31aに対応するθ
4気筒判別パルス)し、前の圧縮上死点判別が#4気筒
であったときには、次の圧縮上死点は#1気筒であり、
現在の燃焼行程気筒は#4気筒であって、点火対象気筒
は#1気筒、燃料噴射対象気筒は#2気筒と判別でき
る。同様に、前回と今回のクランクパルス入力間に気筒
判別パルスが1個入力し、前の圧縮上死点判別が#3気
筒であったときには、次の圧縮上死点は#2気筒であ
り、現在の燃焼行程気筒は#3気筒であって、点火対象
気筒は#2気筒、燃料噴射対象気筒は#1気筒と判別で
きる。
に気筒判別パルスが1個入力(突起31aに対応するθ
4気筒判別パルス)し、前の圧縮上死点判別が#4気筒
であったときには、次の圧縮上死点は#1気筒であり、
現在の燃焼行程気筒は#4気筒であって、点火対象気筒
は#1気筒、燃料噴射対象気筒は#2気筒と判別でき
る。同様に、前回と今回のクランクパルス入力間に気筒
判別パルスが1個入力し、前の圧縮上死点判別が#3気
筒であったときには、次の圧縮上死点は#2気筒であ
り、現在の燃焼行程気筒は#3気筒であって、点火対象
気筒は#2気筒、燃料噴射対象気筒は#1気筒と判別で
きる。
【0042】その後、ステップS2からステップS3へ
進み、クランクパルス入力間隔計時用タイマによって計
時された前回のクランクパルス入力から今回のクランク
パルス入力までの時間、すなわち、今回識別したクラン
クパルスに対応するクランクパルス間角度に対応するク
ランクパルス入力間隔時間Tθを検出する。このクラン
クパルス入力間隔時間Tθは、予めROM52に固定デ
ータとして記憶されている既知のクランクパルス間角度
だけクランクロータ29が回転する時間であり、本実施
の形態においては、θ3クランクパルスとθ1クランク
パルス間の角度90°CAに対応するクランクパルス入
力間隔時間TO90、θ1クランクパルスとθ2クラン
クパルス間の角度30°CAに対応するクランクパルス
入力間隔時間TO30、θ2クランクパルスとθ3クラ
ンクパルス間の角度60°CAに対応するクランクパル
ス入力間隔時間TO60がそれぞれ検出され、RAM5
3の所定アドレスにストアされる。
進み、クランクパルス入力間隔計時用タイマによって計
時された前回のクランクパルス入力から今回のクランク
パルス入力までの時間、すなわち、今回識別したクラン
クパルスに対応するクランクパルス間角度に対応するク
ランクパルス入力間隔時間Tθを検出する。このクラン
クパルス入力間隔時間Tθは、予めROM52に固定デ
ータとして記憶されている既知のクランクパルス間角度
だけクランクロータ29が回転する時間であり、本実施
の形態においては、θ3クランクパルスとθ1クランク
パルス間の角度90°CAに対応するクランクパルス入
力間隔時間TO90、θ1クランクパルスとθ2クラン
クパルス間の角度30°CAに対応するクランクパルス
入力間隔時間TO30、θ2クランクパルスとθ3クラ
ンクパルス間の角度60°CAに対応するクランクパル
ス入力間隔時間TO60がそれぞれ検出され、RAM5
3の所定アドレスにストアされる。
【0043】次にステップS4へ進み、RAM53から
クランクパルス入力間隔時間TO90,TO60,TO3
0を読み出すと、各クランクパルス入力間隔時間TO9
0,TO60,TO30を合計してクランク角180°C
A(エンジン半回転)の経過時間を求め、このエンジン
半回転の経過時間に基づいて現在のエンジン回転数NE
を算出する。そして、算出したエンジン回転数NEをR
AM53の所定アドレスにストアし、ルーチンを抜け
る。
クランクパルス入力間隔時間TO90,TO60,TO3
0を読み出すと、各クランクパルス入力間隔時間TO9
0,TO60,TO30を合計してクランク角180°C
A(エンジン半回転)の経過時間を求め、このエンジン
半回転の経過時間に基づいて現在のエンジン回転数NE
を算出する。そして、算出したエンジン回転数NEをR
AM53の所定アドレスにストアし、ルーチンを抜け
る。
【0044】また、システムイニシャライズ後、EGR
制御に係わる処理として、図7に示すサージレベル検出
ルーチン、図22に示すEGR制御量算出ルーチン、図
42に示す安定指標パラメータ算出ルーチン、図49に
示すEGR駆動ルーチンが所定時間毎に実行される。本
形態においては、サージレベル検出ルーチン、EGR制
御量算出ルーチン、安定指標パラメータ算出ルーチンが
10msec毎に実行され、EGR駆動ルーチンは4m
sec毎に実行される。
制御に係わる処理として、図7に示すサージレベル検出
ルーチン、図22に示すEGR制御量算出ルーチン、図
42に示す安定指標パラメータ算出ルーチン、図49に
示すEGR駆動ルーチンが所定時間毎に実行される。本
形態においては、サージレベル検出ルーチン、EGR制
御量算出ルーチン、安定指標パラメータ算出ルーチンが
10msec毎に実行され、EGR駆動ルーチンは4m
sec毎に実行される。
【0045】まず、図7のサージレベル検出ルーチンに
ついて説明する。このルーチンでは、最初のステップS
10で、図8に示す指標値演算サブルーチンを実行し、
各サンプリングタイムでのエンジン回転数データから所
定周波数帯域の成分を回転変動を表わす指標値FILD
MPとして算出する。次いで、ステップS11で図10
及び図11に示すサージレベル指標値算出サブルーチン
を実行し、時系列的にサンプリングした指標値FILD
MPの時間波形をフィルタ処理した後、時間微分してサ
ージレベル指標値DFILDMPを算出する。サージレ
ベル指標値DFILDMPは、サージの大きさを評価す
るために使用されるパラメータであり、後述するよう
に、サージレベル指標値DFILDMPに基づいて検出
されるサージが所定レベル以上で増加方向に変化する
と、サージを解消すべくEGR流量が減少させられる。
ついて説明する。このルーチンでは、最初のステップS
10で、図8に示す指標値演算サブルーチンを実行し、
各サンプリングタイムでのエンジン回転数データから所
定周波数帯域の成分を回転変動を表わす指標値FILD
MPとして算出する。次いで、ステップS11で図10
及び図11に示すサージレベル指標値算出サブルーチン
を実行し、時系列的にサンプリングした指標値FILD
MPの時間波形をフィルタ処理した後、時間微分してサ
ージレベル指標値DFILDMPを算出する。サージレ
ベル指標値DFILDMPは、サージの大きさを評価す
るために使用されるパラメータであり、後述するよう
に、サージレベル指標値DFILDMPに基づいて検出
されるサージが所定レベル以上で増加方向に変化する
と、サージを解消すべくEGR流量が減少させられる。
【0046】その後、ステップS12へ進み、図15〜
図17に示すサージレベル判定閾値設定サブルーチンを
実行し、サージレベルを判定するためのサージレベル判
定閾値を変速機のギヤ位置及びロックアップクラッチ7
5の制御状態に応じて設定する。そして、ステップS1
3で図21に示すサージレベル検出サブルーチンを実行
し、サージレベル指標値DFILDMPとサージレベル
判定閾値とを比較してサージレベルを検出する。
図17に示すサージレベル判定閾値設定サブルーチンを
実行し、サージレベルを判定するためのサージレベル判
定閾値を変速機のギヤ位置及びロックアップクラッチ7
5の制御状態に応じて設定する。そして、ステップS1
3で図21に示すサージレベル検出サブルーチンを実行
し、サージレベル指標値DFILDMPとサージレベル
判定閾値とを比較してサージレベルを検出する。
【0047】次に、以上のサージレベル検出ルーチンに
おける各サブルーチンについて説明する。先ず、図8の
指標値演算サブルーチンでは、ステップS20でクラン
ク角180°CA(エンジン半回転)に相当する設定値
DCCを、クランクパルス入力間隔時間TO90,TO
60,TO30の合計値で除算してサージレベル指標値
計算用のエンジン回転数データNELEを求め(NEL
E←DCC/(TO90+TO60+TO30))、ステ
ップS21〜S24で、このエンジン回転数データNE
LEにIIRフィルタ(Infinite Impulse Response Fi
lter)を適用して4段のデジタルフィルタ処理を行い、
所定周波数帯域の成分を抽出する。
おける各サブルーチンについて説明する。先ず、図8の
指標値演算サブルーチンでは、ステップS20でクラン
ク角180°CA(エンジン半回転)に相当する設定値
DCCを、クランクパルス入力間隔時間TO90,TO
60,TO30の合計値で除算してサージレベル指標値
計算用のエンジン回転数データNELEを求め(NEL
E←DCC/(TO90+TO60+TO30))、ステ
ップS21〜S24で、このエンジン回転数データNE
LEにIIRフィルタ(Infinite Impulse Response Fi
lter)を適用して4段のデジタルフィルタ処理を行い、
所定周波数帯域の成分を抽出する。
【0048】すなわち、図9に示すように、ステップS
21で、IIRフィルタにハイパスフィルタを実現する
フィルタ係数を与えてエンジン回転数データNELEに
デジタルフィルタ処理Iを実施し、低周波成分を除去し
たデータIIRF1を取り出す(IIRF1←FILT
ERI(NELE))。そして、このデータIIRF1
に対し、ステップS22で、IIRフィルタにローパス
フィルタを実現するフィルタ係数を与えてデジタルフィ
ルタ処理IIを実施し、高周波成分を除去したデータII
RF2を取り出す(IIRF2←FILTERII(II
RF1))。
21で、IIRフィルタにハイパスフィルタを実現する
フィルタ係数を与えてエンジン回転数データNELEに
デジタルフィルタ処理Iを実施し、低周波成分を除去し
たデータIIRF1を取り出す(IIRF1←FILT
ERI(NELE))。そして、このデータIIRF1
に対し、ステップS22で、IIRフィルタにローパス
フィルタを実現するフィルタ係数を与えてデジタルフィ
ルタ処理IIを実施し、高周波成分を除去したデータII
RF2を取り出す(IIRF2←FILTERII(II
RF1))。
【0049】次いで、ステップS23でハイパスのデジ
タルフィルタ処理IIIを実施し、低周波側の波形の立上
がりをシャープに整形したデータIIRF3を取得し
(IIRF3←FILTERIII(IIRF2))、ス
テップS24でローパスのデジタルフィルタ処理IVを実
施し、高周波側の波形の立ち上がりをシャープに整形し
たデータIIRF4を取得する(IIRF4←FILT
ERIV(IIRF3))。そして、エンジン回転数の上
昇及び低下の双方を評価するため、ステップS25でデ
ータIIRF4の絶対値 IIRF4 を回転変動を表わ
す指標値FILDMPとして(FILDMP← IIR
F4 )ルーチンを抜ける。
タルフィルタ処理IIIを実施し、低周波側の波形の立上
がりをシャープに整形したデータIIRF3を取得し
(IIRF3←FILTERIII(IIRF2))、ス
テップS24でローパスのデジタルフィルタ処理IVを実
施し、高周波側の波形の立ち上がりをシャープに整形し
たデータIIRF4を取得する(IIRF4←FILT
ERIV(IIRF3))。そして、エンジン回転数の上
昇及び低下の双方を評価するため、ステップS25でデ
ータIIRF4の絶対値 IIRF4 を回転変動を表わ
す指標値FILDMPとして(FILDMP← IIR
F4 )ルーチンを抜ける。
【0050】本形態では、エンジン半回転時間の変動の
うち、運転者が最もサージ(エンジン回転変動)を感じ
る3Hz〜12Hzの成分を取り出し、この成分の絶対
値をエンジンの回転変動を表わす指標値FILDMPと
する。そして、この指標値FILDMPを以下に説明す
る図10及び図11のサージレベル指標値算出サブルー
チンで処理してサージレベル指標値DFILDMPを算
出する。
うち、運転者が最もサージ(エンジン回転変動)を感じ
る3Hz〜12Hzの成分を取り出し、この成分の絶対
値をエンジンの回転変動を表わす指標値FILDMPと
する。そして、この指標値FILDMPを以下に説明す
る図10及び図11のサージレベル指標値算出サブルー
チンで処理してサージレベル指標値DFILDMPを算
出する。
【0051】一般に、エンジンで発生するトルク変動に
よる車体共振のレベルは、車両の駆動系やエンジンマウ
ント等の状態によって異なる。従って、従来のように、
所定周波数帯域のエンジン回転数データを実効値に変換
しただけの指標値やトルク変動或いは回転変動を平均化
処理しただけの指標値を用いてサージを検出すると、車
両の個体差の影響を受けてサージを適正に検出できない
虞がある。このため、サージを検出するためのサージレ
ベル指標値DFILDMPには、振動レベルを示す指標
値を時間微分した値を採用し、これにより、車両の個体
差の影響を排除して適正にサージを検出することができ
る。
よる車体共振のレベルは、車両の駆動系やエンジンマウ
ント等の状態によって異なる。従って、従来のように、
所定周波数帯域のエンジン回転数データを実効値に変換
しただけの指標値やトルク変動或いは回転変動を平均化
処理しただけの指標値を用いてサージを検出すると、車
両の個体差の影響を受けてサージを適正に検出できない
虞がある。このため、サージを検出するためのサージレ
ベル指標値DFILDMPには、振動レベルを示す指標
値を時間微分した値を採用し、これにより、車両の個体
差の影響を排除して適正にサージを検出することができ
る。
【0052】この場合、回転変動を表わす指標値FIL
DMPを、直接、時間微分してサージレベル指標値dF
ILDMP/dtを算出すると、連続的に失火が発生す
るような場合、1回目の失火は、指標値FILDMPの
変化が大きいため微分波形に明確な変化が現れて失火を
確実に検出できるものの、2回目の失火の発生時点で
は、1回目の失火の発生時点から2回目の失火の発生時
点までの指標値FILDMPの相対的な変化量すなわち
微分値が小さくなってしまい、ノイズと同様のレベルと
なって2回目の失火を捕捉できない虞がある。
DMPを、直接、時間微分してサージレベル指標値dF
ILDMP/dtを算出すると、連続的に失火が発生す
るような場合、1回目の失火は、指標値FILDMPの
変化が大きいため微分波形に明確な変化が現れて失火を
確実に検出できるものの、2回目の失火の発生時点で
は、1回目の失火の発生時点から2回目の失火の発生時
点までの指標値FILDMPの相対的な変化量すなわち
微分値が小さくなってしまい、ノイズと同様のレベルと
なって2回目の失火を捕捉できない虞がある。
【0053】従って、サージレベル指標値算出サブルー
チンでは、指標値FILDMPに対し、図12に例示す
るように、指標値FILDMPの時間波形の減衰側の速
度を可変修正し、波形の上側をなぞるようなフィルタ処
理を行い、このフィルタ処理後の指標値(指標最大値)
FILDMPMAXを時間微分してサージレベル指標値
DFILDMPを算出する。
チンでは、指標値FILDMPに対し、図12に例示す
るように、指標値FILDMPの時間波形の減衰側の速
度を可変修正し、波形の上側をなぞるようなフィルタ処
理を行い、このフィルタ処理後の指標値(指標最大値)
FILDMPMAXを時間微分してサージレベル指標値
DFILDMPを算出する。
【0054】具体的には、先ず、ステップS30で、前
回の指標最大値FILDMPMAXに基づいて指標最大
値減衰量テーブルTFILDMPDを参照し、補間計算
によって減衰量FILDMPDLMを算出する。指標最
大値減衰量テーブルTFILDMPDは、図13に示す
ように、指標最大値FILDMPMAXが小さい程、減
衰量FILDMPDLMを小さくして減衰速度を低下さ
せ、指標最大値FILDMPMAXが大きい程、減衰量
FILDMPDLMを大きくして減衰速度を上昇させる
特性に設定されている。
回の指標最大値FILDMPMAXに基づいて指標最大
値減衰量テーブルTFILDMPDを参照し、補間計算
によって減衰量FILDMPDLMを算出する。指標最
大値減衰量テーブルTFILDMPDは、図13に示す
ように、指標最大値FILDMPMAXが小さい程、減
衰量FILDMPDLMを小さくして減衰速度を低下さ
せ、指標最大値FILDMPMAXが大きい程、減衰量
FILDMPDLMを大きくして減衰速度を上昇させる
特性に設定されている。
【0055】次いで、ステップS31へ進み、指標最大
値FILDMPMAXから減衰量FILDMPDLMを
減算して減衰値FILDMPLを求めると(FILDM
PL←FILDMPMAX−FILDMPDLM)、ス
テップS32で元データである指標値FILDMPと減
衰値FILDMPLとを比較する。そして、FILDM
P≧FILDMPLのとき、ステップS33で指標値F
ILDMPを指標最大値FILDMPMAXとし(FI
LDMPMAX←FILDMP)、FILDMP<FI
LDMPLのとき、ステップS34で減衰値FILDM
PLを指標最大値FILDMPMAXとする(FILD
MPMAX←FILDMPL)。
値FILDMPMAXから減衰量FILDMPDLMを
減算して減衰値FILDMPLを求めると(FILDM
PL←FILDMPMAX−FILDMPDLM)、ス
テップS32で元データである指標値FILDMPと減
衰値FILDMPLとを比較する。そして、FILDM
P≧FILDMPLのとき、ステップS33で指標値F
ILDMPを指標最大値FILDMPMAXとし(FI
LDMPMAX←FILDMP)、FILDMP<FI
LDMPLのとき、ステップS34で減衰値FILDM
PLを指標最大値FILDMPMAXとする(FILD
MPMAX←FILDMPL)。
【0056】すなわち、指標最大値FILDMPMAX
が小さい程、減衰量FILDMPDLMを小さくし、指
標最大値FILDMPMAXが大きい程、減衰量FIL
DMPDLMを大きくした上で、指標値FILDMPと
減衰値FILDMPLとのうち、大きい方を指標最大値
FILDMPMAXとする。これにより、指標値FIL
DMPの波形における中レベルから大レベルのピーク波
形の上昇側は略そのままで下降側の減衰速度を小さく
し、小レベルのノイズを含んだ細かな波形変動を平滑化
する。
が小さい程、減衰量FILDMPDLMを小さくし、指
標最大値FILDMPMAXが大きい程、減衰量FIL
DMPDLMを大きくした上で、指標値FILDMPと
減衰値FILDMPLとのうち、大きい方を指標最大値
FILDMPMAXとする。これにより、指標値FIL
DMPの波形における中レベルから大レベルのピーク波
形の上昇側は略そのままで下降側の減衰速度を小さく
し、小レベルのノイズを含んだ細かな波形変動を平滑化
する。
【0057】ステップS33或いはステップS34で指
標最大値FILDMPMAXを求めた後は、ステップS
35へ進んで指標最大値FILDMPMAXが上限値K
FILDLMTH(例えば、4500rpm相当)に達
したか否かを調べる。その結果、FILDMPMAX≦
KFILDLMTHのときには、ステップS35からそ
のままステップS37へ進み、FILDMPMAX>K
FILDLMTHのとき、ステップS36で指標最大値
FILDMPMAXを上限値KFILDLMTHに制限
し(FILDMPMAX←KFILDLMTH)、ステ
ップS37へ進む。そして、ステップS37〜S42で
指標最大値FILDMPMAXに対し、図14に示すよ
うなヒステリシス付きでの上限への張り付き判定を行
う。
標最大値FILDMPMAXを求めた後は、ステップS
35へ進んで指標最大値FILDMPMAXが上限値K
FILDLMTH(例えば、4500rpm相当)に達
したか否かを調べる。その結果、FILDMPMAX≦
KFILDLMTHのときには、ステップS35からそ
のままステップS37へ進み、FILDMPMAX>K
FILDLMTHのとき、ステップS36で指標最大値
FILDMPMAXを上限値KFILDLMTHに制限
し(FILDMPMAX←KFILDLMTH)、ステ
ップS37へ進む。そして、ステップS37〜S42で
指標最大値FILDMPMAXに対し、図14に示すよ
うなヒステリシス付きでの上限への張り付き判定を行
う。
【0058】このため、ステップS37では、指標最大
値上限張り付き判定フラグFFILDMAXを参照す
る。この指標最大値上限張り付き判定フラグFFILD
MAXは、指標最大値FILDMPMAXが上限に張り
付いていると判定されたときに1にセットされるもので
あり、EGR制御において、後述するEGRリミットガ
ード目標値FLEGDの更新条件の一つとして参照され
る。
値上限張り付き判定フラグFFILDMAXを参照す
る。この指標最大値上限張り付き判定フラグFFILD
MAXは、指標最大値FILDMPMAXが上限に張り
付いていると判定されたときに1にセットされるもので
あり、EGR制御において、後述するEGRリミットガ
ード目標値FLEGDの更新条件の一つとして参照され
る。
【0059】そして、FFILDMAX=0のときに
は、ステップS38で上限張り付き判定値KFILDL
MTにヒステリシス上側の設定値として前述の上限値K
FILDLMTHをセット(KFILDLMT←KFI
LDLMTH)してステップS40へ進む。また、FF
ILDMAX=1のときには、ステップS39で上限張
り付き判定値KFILDLMTにヒステリシス下側の設
定値KFILDLMTL(例えば、4000rpm相
当)をセット(KFILDLMT←KFILDLMT
L)してステップS40へ進む。
は、ステップS38で上限張り付き判定値KFILDL
MTにヒステリシス上側の設定値として前述の上限値K
FILDLMTHをセット(KFILDLMT←KFI
LDLMTH)してステップS40へ進む。また、FF
ILDMAX=1のときには、ステップS39で上限張
り付き判定値KFILDLMTにヒステリシス下側の設
定値KFILDLMTL(例えば、4000rpm相
当)をセット(KFILDLMT←KFILDLMT
L)してステップS40へ進む。
【0060】ステップS40では、指標最大値FILD
MPMAXと上限張り付き判定値KFILDLMTとを
比較する。そして、FILDMPMAX<KFILDL
MTのとき、上限張り付き条件不成立と判定してステッ
プS41で指標最大値上限張り付き判定フラグFFIL
DMAXを0にクリアし(FFILDMAX←0)、ス
テップS43へ進む。また、FILDMPMAX≧KF
ILDLMTのときには、上限張り付き条件成立と判定
してステップS42で指標最大値上限張り付き判定フラ
グFFILDMAXを1にセットし(FFILDMAX
←1)、ステップS43へ進む。
MPMAXと上限張り付き判定値KFILDLMTとを
比較する。そして、FILDMPMAX<KFILDL
MTのとき、上限張り付き条件不成立と判定してステッ
プS41で指標最大値上限張り付き判定フラグFFIL
DMAXを0にクリアし(FFILDMAX←0)、ス
テップS43へ進む。また、FILDMPMAX≧KF
ILDLMTのときには、上限張り付き条件成立と判定
してステップS42で指標最大値上限張り付き判定フラ
グFFILDMAXを1にセットし(FFILDMAX
←1)、ステップS43へ進む。
【0061】ステップS43以降は、指標最大値FIL
DMPMAXを時間微分してサージレベル指標値DFI
LDMPを求める処理であり、実際のコンピュータ処理
では時間微分を差分として処理し、設定時間毎の指標最
大値FILDMPMAXの変化量をサージレベル指標値
DFILDMPとして求める。すなわち、ステップS4
3で、時間微分のためのタイマTMFILDが設定値T
FILD(例えば、TFILD=3;30msec相当
値)に達したか否かを調べ、TMFILD<TFILD
のときには、ステップS44で、タイマTMFILDを
カウントアップしてステップS53へ進み、TMFIL
D≧TFILDのとき、ステップS45でタイマTMF
ILDを0にクリア(TMFILD←0)した後、ステ
ップS46で指標最大値FILDMPMAXのサンプル
値FILDMPM30を取得する(FILDMPM30
←FILDMPMAX)。
DMPMAXを時間微分してサージレベル指標値DFI
LDMPを求める処理であり、実際のコンピュータ処理
では時間微分を差分として処理し、設定時間毎の指標最
大値FILDMPMAXの変化量をサージレベル指標値
DFILDMPとして求める。すなわち、ステップS4
3で、時間微分のためのタイマTMFILDが設定値T
FILD(例えば、TFILD=3;30msec相当
値)に達したか否かを調べ、TMFILD<TFILD
のときには、ステップS44で、タイマTMFILDを
カウントアップしてステップS53へ進み、TMFIL
D≧TFILDのとき、ステップS45でタイマTMF
ILDを0にクリア(TMFILD←0)した後、ステ
ップS46で指標最大値FILDMPMAXのサンプル
値FILDMPM30を取得する(FILDMPM30
←FILDMPMAX)。
【0062】そして、ステップS47〜S52で、それ
ぞれ、レジスタ等に時系列的に格納されている設定時間
毎(本形態では30msec毎)のサンプル値FILD
MPM30n-19,FILDMPM30n-18,FILDMP
M30n-17,…,FILDMPM30n-1,FILDMPM
30n,FILDMPM30を順次シフトさせ(FILD
MPM30n-19←FILDMPM30n-18、FILDM
PM30n-18←FILDMPM30n-17、…、FILD
MPM30n-1←FILDMPM30n、FILDMPM
30n←FILDMPM30)、ステップS53へ進
む。
ぞれ、レジスタ等に時系列的に格納されている設定時間
毎(本形態では30msec毎)のサンプル値FILD
MPM30n-19,FILDMPM30n-18,FILDMP
M30n-17,…,FILDMPM30n-1,FILDMPM
30n,FILDMPM30を順次シフトさせ(FILD
MPM30n-19←FILDMPM30n-18、FILDM
PM30n-18←FILDMPM30n-17、…、FILD
MPM30n-1←FILDMPM30n、FILDMPM
30n←FILDMPM30)、ステップS53へ進
む。
【0063】ステップS53では、最新のサンプル値F
ILDMPM30nから19サンプル前の値FILDM
PM30n-19を減算した差分値をサージレベル指標値D
FILDMPとし(DFILDMP←FILDMPM3
0n−FILDMPM30n-19)、ルーチンを抜ける。
本形態では、指標最大値FILDMPMAXのサンプル
値FILDMPM30の600msec毎の変化速度す
なわち時間微分値を、サージレベル指標値DFILDM
Pとして捉える。
ILDMPM30nから19サンプル前の値FILDM
PM30n-19を減算した差分値をサージレベル指標値D
FILDMPとし(DFILDMP←FILDMPM3
0n−FILDMPM30n-19)、ルーチンを抜ける。
本形態では、指標最大値FILDMPMAXのサンプル
値FILDMPM30の600msec毎の変化速度す
なわち時間微分値を、サージレベル指標値DFILDM
Pとして捉える。
【0064】次に、図15〜図17のサージレベル判定
閾値設定サブルーチンについて説明する。このサージレ
ベル判定閾値設定サブルーチンでは、サージレベル指標
値DFILDMPを用いて検出するサージレベルを、0
(サージ無し),1(サージ小),2(サージ中),3
(サージ大)の4段階に評価するため、小サージレベル
判定閾値SFILDL、中サージレベル判定閾値SFI
LDM、大サージレベル判定閾値SFILDHの3つの
判定閾値を設定する。
閾値設定サブルーチンについて説明する。このサージレ
ベル判定閾値設定サブルーチンでは、サージレベル指標
値DFILDMPを用いて検出するサージレベルを、0
(サージ無し),1(サージ小),2(サージ中),3
(サージ大)の4段階に評価するため、小サージレベル
判定閾値SFILDL、中サージレベル判定閾値SFI
LDM、大サージレベル判定閾値SFILDHの3つの
判定閾値を設定する。
【0065】これらの判定閾値SFILDL,SFIL
DM,SFILDHは、変速機80のギヤ位置GEAR
がGEAR=3(3速)或いはGEAR=4(4速)の
場合、ロックアップクラッチ75の制御状態に応じ、車
速VSPをパラメータとしてギヤ位置及びロックアップ
状態毎のテーブル参照によって設定され、ロックアップ
クラッチ75が解放のGEAR=5(5速)とGEAR
=2(2速)とGEAR=1(1速)との場合、車速V
SPをパラメータとしてギヤ位置毎のテーブル参照によ
って設定される。
DM,SFILDHは、変速機80のギヤ位置GEAR
がGEAR=3(3速)或いはGEAR=4(4速)の
場合、ロックアップクラッチ75の制御状態に応じ、車
速VSPをパラメータとしてギヤ位置及びロックアップ
状態毎のテーブル参照によって設定され、ロックアップ
クラッチ75が解放のGEAR=5(5速)とGEAR
=2(2速)とGEAR=1(1速)との場合、車速V
SPをパラメータとしてギヤ位置毎のテーブル参照によ
って設定される。
【0066】すなわち、サージレベル指標値DFILD
MPは、車速VSP、変速機80のギヤ位置GEARに
応じて変化するため、ギヤ位置GEAR、ロックアップ
クラッチ制御状態毎に、車速VSPをパラメータとして
予めシミュレーション或いは実験等によりサージレベル
を的確に判定できる適正な判定閾値を求めておき、図1
8に示すような小サージレベル判定閾値SFILDLの
各テーブルTSFILDL5,TSFILDL4R,T
SFILDL4S,TSFILDL4F,TSFILD
L3R,TSFILDL3S,TSFILDL3F,T
SFILDL2,TSFILDL1、図19に示すよう
な中サージレベル判定閾値SFILDMの各テーブルT
SFILDM5,TSFILDM4R,TSFILDM
4S,TSFILDM4F,TSFILDM3R,TS
FILDM3S,TSFILDM3F,TSFILDM
2,TSFILDM1、図20に示すような大サージレ
ベル判定閾値SFILDHの各テーブルTSFILDH
5,TSFILDH4R,TSFILDH4S,TSF
ILDH4F,TSFILDH3R,TSFILDH3
S,TSFILDH3F,TSFILDH2,TSFI
LDH1に格納しておく。
MPは、車速VSP、変速機80のギヤ位置GEARに
応じて変化するため、ギヤ位置GEAR、ロックアップ
クラッチ制御状態毎に、車速VSPをパラメータとして
予めシミュレーション或いは実験等によりサージレベル
を的確に判定できる適正な判定閾値を求めておき、図1
8に示すような小サージレベル判定閾値SFILDLの
各テーブルTSFILDL5,TSFILDL4R,T
SFILDL4S,TSFILDL4F,TSFILD
L3R,TSFILDL3S,TSFILDL3F,T
SFILDL2,TSFILDL1、図19に示すよう
な中サージレベル判定閾値SFILDMの各テーブルT
SFILDM5,TSFILDM4R,TSFILDM
4S,TSFILDM4F,TSFILDM3R,TS
FILDM3S,TSFILDM3F,TSFILDM
2,TSFILDM1、図20に示すような大サージレ
ベル判定閾値SFILDHの各テーブルTSFILDH
5,TSFILDH4R,TSFILDH4S,TSF
ILDH4F,TSFILDH3R,TSFILDH3
S,TSFILDH3F,TSFILDH2,TSFI
LDH1に格納しておく。
【0067】この場合、ロックアップ状態ATROCK
がONでロックアップクラッチ75が締結されている場
合には、エンジン1と変速機80との直結による抵抗が
増加し、サージレベル指標値DFILDMPが相対的に
小さくなる。従って、これに対応してサージレベルを検
出するための各判定閾値SFILDL,SFILDM,
SFILDHを小さい値とし、的確にサージを検出す
る。また、ロックアップ状態ATROCKがOFFでロ
ックアップクラッチ75が開放の場合には、エンジン1
から変速機80の負荷が開放されることによってエンジ
ン1に対する抵抗が減少し、サージレベル指標値DFI
LDMPがロックアップクラッチ締結時に比較して相対
的に大きくなる。従って、このときには、サージレベル
を検出するための各判定閾値SFILDL,SFILD
M,SFILDHを大きい値とし、ロックアップクラッ
チ締結時と同様、的確にサージを検出する。更に、ロッ
クアップ状態ATROCKがSLIPでロックアップク
ラッチ75のスリップ制御中の場合には、各判定閾値S
FILDL,SFILDM,SFILDHを、ロックア
ップクラッチ締結時とロックアップクラッチ開放時との
中間の値とする。
がONでロックアップクラッチ75が締結されている場
合には、エンジン1と変速機80との直結による抵抗が
増加し、サージレベル指標値DFILDMPが相対的に
小さくなる。従って、これに対応してサージレベルを検
出するための各判定閾値SFILDL,SFILDM,
SFILDHを小さい値とし、的確にサージを検出す
る。また、ロックアップ状態ATROCKがOFFでロ
ックアップクラッチ75が開放の場合には、エンジン1
から変速機80の負荷が開放されることによってエンジ
ン1に対する抵抗が減少し、サージレベル指標値DFI
LDMPがロックアップクラッチ締結時に比較して相対
的に大きくなる。従って、このときには、サージレベル
を検出するための各判定閾値SFILDL,SFILD
M,SFILDHを大きい値とし、ロックアップクラッ
チ締結時と同様、的確にサージを検出する。更に、ロッ
クアップ状態ATROCKがSLIPでロックアップク
ラッチ75のスリップ制御中の場合には、各判定閾値S
FILDL,SFILDM,SFILDHを、ロックア
ップクラッチ締結時とロックアップクラッチ開放時との
中間の値とする。
【0068】具体的には、先ず、ステップS60でギヤ
位置GEARが3か否かを調べ、GEAR=3でギヤ位
置が3速のとき、ステップS61へ進んでロックアップ
状態ATROCKがSLIPか否かを調べる。そして、
ロックアップ状態ATROCKがSLIPでロックアッ
プクラッチスリップ制御中のときには、ステップS6
2,S63,S64で、車速VSPに基づいて、それぞ
れテーブルTSFILDL3S,TSFILDM3S,T
SFILDH3Sを参照し、小サージレベル判定閾値S
FILDL、中サージレベル判定閾値SFILDM、大
サージレベル判定閾値SFILDHを設定してルーチン
を抜ける。
位置GEARが3か否かを調べ、GEAR=3でギヤ位
置が3速のとき、ステップS61へ進んでロックアップ
状態ATROCKがSLIPか否かを調べる。そして、
ロックアップ状態ATROCKがSLIPでロックアッ
プクラッチスリップ制御中のときには、ステップS6
2,S63,S64で、車速VSPに基づいて、それぞ
れテーブルTSFILDL3S,TSFILDM3S,T
SFILDH3Sを参照し、小サージレベル判定閾値S
FILDL、中サージレベル判定閾値SFILDM、大
サージレベル判定閾値SFILDHを設定してルーチン
を抜ける。
【0069】また、ステップS61でロックアップクラ
ッチスリップ制御中でないときには、ステップS65で
ロックアップ状態ATROCKがOFFか否かを調べ
る。そして、ロックアップ状態ATROCKがOFFで
ロックアップクラッチ解放のとき、ステップS66,S
67,S68で、車速VSPに基づいて、それぞれテー
ブルTSFILDL3F,TSFILDM3F,TSFI
LDH3Fを参照し、小サージレベル判定閾値SFIL
DL、中サージレベル判定閾値SFILDM、大サージ
レベル判定閾値SFILDHを設定してルーチンを抜け
る。
ッチスリップ制御中でないときには、ステップS65で
ロックアップ状態ATROCKがOFFか否かを調べ
る。そして、ロックアップ状態ATROCKがOFFで
ロックアップクラッチ解放のとき、ステップS66,S
67,S68で、車速VSPに基づいて、それぞれテー
ブルTSFILDL3F,TSFILDM3F,TSFI
LDH3Fを参照し、小サージレベル判定閾値SFIL
DL、中サージレベル判定閾値SFILDM、大サージ
レベル判定閾値SFILDHを設定してルーチンを抜け
る。
【0070】更に、ステップS65でロックアップ状態
ATROCKがOFFでないとき、すなわち、ロックア
ップ状態ATROCKがSLIPでもOFFでもなく、
ロックアップクラッチ締結のONのときには、ステップ
S69,S70,S71で、車速VSPに基づいて、そ
れぞれテーブルTSFILDL3R,TSFILDM3
R,TSFILDH3Rを参照し、小サージレベル判定
閾値SFILDL、中サージレベル判定閾値SFILD
M、大サージレベル判定閾値SFILDHを設定してル
ーチンを抜ける。
ATROCKがOFFでないとき、すなわち、ロックア
ップ状態ATROCKがSLIPでもOFFでもなく、
ロックアップクラッチ締結のONのときには、ステップ
S69,S70,S71で、車速VSPに基づいて、そ
れぞれテーブルTSFILDL3R,TSFILDM3
R,TSFILDH3Rを参照し、小サージレベル判定
閾値SFILDL、中サージレベル判定閾値SFILD
M、大サージレベル判定閾値SFILDHを設定してル
ーチンを抜ける。
【0071】一方、ステップS60でGEAR≠3のと
きには、ステップS60からステップS72へ進み、G
EAR=5か否かを調べる。そして、GEAR=5でギ
ヤ位置が5速のとき、ステップS73,S74,S75
で、車速VSPに基づいて、それぞれテーブルTSFI
LDL5,TSFILDM5,TSFILDH5を参照
し、小サージレベル判定閾値SFILDL、中サージレ
ベル判定閾値SFILDM、大サージレベル判定閾値S
FILDHを設定してルーチンを抜ける。
きには、ステップS60からステップS72へ進み、G
EAR=5か否かを調べる。そして、GEAR=5でギ
ヤ位置が5速のとき、ステップS73,S74,S75
で、車速VSPに基づいて、それぞれテーブルTSFI
LDL5,TSFILDM5,TSFILDH5を参照
し、小サージレベル判定閾値SFILDL、中サージレ
ベル判定閾値SFILDM、大サージレベル判定閾値S
FILDHを設定してルーチンを抜ける。
【0072】また、ステップS72でGEAR≠5のと
きには、ステップS72からステップS76へ進んでG
EAR=4か否かを調べる。そして、GEAR=4でギ
ヤ位置が4速のとき、ステップS77でロックアップ状
態ATROCKがONか否かを調べ、ロックアップ状態
ATROCKがONでロックアップクラッチ75が締結
されているときには、ステップS78,S79,S80
で、車速VSPに基づいて、それぞれテーブルTSFI
LDL4R,TSFILDM4R,TSFILDH4Rを
参照し、小サージレベル判定閾値SFILDL、中サー
ジレベル判定閾値SFILDM、大サージレベル判定閾
値SFILDHを設定してルーチンを抜ける。
きには、ステップS72からステップS76へ進んでG
EAR=4か否かを調べる。そして、GEAR=4でギ
ヤ位置が4速のとき、ステップS77でロックアップ状
態ATROCKがONか否かを調べ、ロックアップ状態
ATROCKがONでロックアップクラッチ75が締結
されているときには、ステップS78,S79,S80
で、車速VSPに基づいて、それぞれテーブルTSFI
LDL4R,TSFILDM4R,TSFILDH4Rを
参照し、小サージレベル判定閾値SFILDL、中サー
ジレベル判定閾値SFILDM、大サージレベル判定閾
値SFILDHを設定してルーチンを抜ける。
【0073】また、ステップS77でロックアップクラ
ッチ75が締結されていないときには、ステップS81
でロックアップ状態ATROCKがSLIPか否かを調
べる。そして、ロックアップ状態ATROCKがSLI
Pでロックアップクラッチスリップ制御中のとき、ステ
ップS82,S83,S84で、車速VSPに基づい
て、それぞれテーブルTSFILDL4S,TSFIL
DM4S,TSFILDH4Sを参照し、小サージレベ
ル判定閾値SFILDL、中サージレベル判定閾値SF
ILDM、大サージレベル判定閾値SFILDHを設定
してルーチンを抜ける。
ッチ75が締結されていないときには、ステップS81
でロックアップ状態ATROCKがSLIPか否かを調
べる。そして、ロックアップ状態ATROCKがSLI
Pでロックアップクラッチスリップ制御中のとき、ステ
ップS82,S83,S84で、車速VSPに基づい
て、それぞれテーブルTSFILDL4S,TSFIL
DM4S,TSFILDH4Sを参照し、小サージレベ
ル判定閾値SFILDL、中サージレベル判定閾値SF
ILDM、大サージレベル判定閾値SFILDHを設定
してルーチンを抜ける。
【0074】更に、ステップS81でロックアップ状態
ATROCKがSLIPでないとき、すなわち、ロック
アップ状態ATROCKがONでもSLIPでもなく、
ロックアップ状態ATROCKがOFFであり、ロック
アップクラッチ75が解放されているときには、ステッ
プS85,S86,S87で、車速VSPに基づいて、
それぞれテーブルTSFILDL4F,TSFILDM
4F,TSFILDH4Fを参照し、小サージレベル判
定閾値SFILDL、中サージレベル判定閾値SFIL
DM、大サージレベル判定閾値SFILDHを設定して
ルーチンを抜ける。
ATROCKがSLIPでないとき、すなわち、ロック
アップ状態ATROCKがONでもSLIPでもなく、
ロックアップ状態ATROCKがOFFであり、ロック
アップクラッチ75が解放されているときには、ステッ
プS85,S86,S87で、車速VSPに基づいて、
それぞれテーブルTSFILDL4F,TSFILDM
4F,TSFILDH4Fを参照し、小サージレベル判
定閾値SFILDL、中サージレベル判定閾値SFIL
DM、大サージレベル判定閾値SFILDHを設定して
ルーチンを抜ける。
【0075】一方、ステップS76でGEAR≠4のと
きには、ステップS88でGEAR=2か否かを調べ
る。そして、GEAR=2でギヤ位置が2速のとき、ス
テップS89,S90,S91で、車速VSPに基づい
て、それぞれテーブルTSFILDL2,TSFILD
M2,TSFILDH2を参照し、小サージレベル判定
閾値SFILDL、中サージレベル判定閾値SFILD
M、大サージレベル判定閾値SFILDHを設定してル
ーチンを抜ける。
きには、ステップS88でGEAR=2か否かを調べ
る。そして、GEAR=2でギヤ位置が2速のとき、ス
テップS89,S90,S91で、車速VSPに基づい
て、それぞれテーブルTSFILDL2,TSFILD
M2,TSFILDH2を参照し、小サージレベル判定
閾値SFILDL、中サージレベル判定閾値SFILD
M、大サージレベル判定閾値SFILDHを設定してル
ーチンを抜ける。
【0076】また、ステップS88でGEAR≠2のと
きには、ステップS92で、GEAR=1か否かを調べ
る。そして、GEAR≠1のとき、すなわち、ニュート
ラル或いはバック或いはパーキングの位置のときには、
そのままルーチンを抜け、GEAR=1でギヤ位置が1
速のとき、ステップS93,S94,S95で、車速V
SPに基づいて、それぞれテーブルTSFILDL1,
TSFILDM1,TSFILDH1を参照し、小サー
ジレベル判定閾値SFILDL、中サージレベル判定閾
値SFILDM、大サージレベル判定閾値SFILDH
を設定してルーチンを抜ける。
きには、ステップS92で、GEAR=1か否かを調べ
る。そして、GEAR≠1のとき、すなわち、ニュート
ラル或いはバック或いはパーキングの位置のときには、
そのままルーチンを抜け、GEAR=1でギヤ位置が1
速のとき、ステップS93,S94,S95で、車速V
SPに基づいて、それぞれテーブルTSFILDL1,
TSFILDM1,TSFILDH1を参照し、小サー
ジレベル判定閾値SFILDL、中サージレベル判定閾
値SFILDM、大サージレベル判定閾値SFILDH
を設定してルーチンを抜ける。
【0077】次に、以上のサージレベル判定閾値SFI
LDL,SFILDM,SFILDHを用いてサージレ
ベルを検出する図21のサージレベル検出サブルーチン
について説明する。このサージレベル検出サブルーチン
では、先ず、ステップS100〜S104でサージレベ
ルの初期化処理を行う。
LDL,SFILDM,SFILDHを用いてサージレ
ベルを検出する図21のサージレベル検出サブルーチン
について説明する。このサージレベル検出サブルーチン
では、先ず、ステップS100〜S104でサージレベ
ルの初期化処理を行う。
【0078】すなわち、ステップS100で、後述する
EGRリミットガード目標値更新条件が成立したとき1
にセットされるEGRリミットガード目標値更新条件成
立フラグFFLEGDが0→1に切り換わったか否かを
調べ、0→1に切り換わってEGRリミットガード目標
値FLEGDの更新条件が不成立から成立に変化したと
きには、ステップS101でサージレベルを3(サージ
大)とし、ステップS104へ進んでサージレベル初期
化フラグFSURINIを1にセット(FSURINI
←1)してルーチンを抜ける。このサージレベル初期化
フラグFSURINIは、後述するEGRリミットガー
ド目標値FLEGDの更新条件として参照される。
EGRリミットガード目標値更新条件が成立したとき1
にセットされるEGRリミットガード目標値更新条件成
立フラグFFLEGDが0→1に切り換わったか否かを
調べ、0→1に切り換わってEGRリミットガード目標
値FLEGDの更新条件が不成立から成立に変化したと
きには、ステップS101でサージレベルを3(サージ
大)とし、ステップS104へ進んでサージレベル初期
化フラグFSURINIを1にセット(FSURINI
←1)してルーチンを抜ける。このサージレベル初期化
フラグFSURINIは、後述するEGRリミットガー
ド目標値FLEGDの更新条件として参照される。
【0079】一方、EGRリミットガード目標値更新条
件成立フラグFFLEGDが0→1に切り換わっていな
いときには、ステップS102でサージレベル指標値D
FILDMPが0以下(所定値以下でも良い)になった
か否かを調べる。そして、DFILDMP≦0のとき、
ステップS103でサージレベルを0(サージ無し)と
し、前述のステップS104でサージレベル初期化フラ
グFSURINIを1にセットしてルーチンを抜け、D
FILDMP>0であるときには、ステップS105以
降へ進んで、前回のサージレベルよりも大きい方向にの
みサージレベルを更新する。
件成立フラグFFLEGDが0→1に切り換わっていな
いときには、ステップS102でサージレベル指標値D
FILDMPが0以下(所定値以下でも良い)になった
か否かを調べる。そして、DFILDMP≦0のとき、
ステップS103でサージレベルを0(サージ無し)と
し、前述のステップS104でサージレベル初期化フラ
グFSURINIを1にセットしてルーチンを抜け、D
FILDMP>0であるときには、ステップS105以
降へ進んで、前回のサージレベルよりも大きい方向にの
みサージレベルを更新する。
【0080】このため、ステップS105では、サージ
レベル指標値DFILDMPを大サージレベル判定閾値
SFILDHと比較する。そして、DFILDMP≧S
FILDHのとき、ステップS106で今回のサージレ
ベルを3(サージ大)と判定し、ステップS113でサ
ージレベル初期化フラグFSURINIを0にクリア
(FSURINI←0)してルーチンを抜け、DFIL
DMP<SFILDHのときには、ステップS107へ
進む。
レベル指標値DFILDMPを大サージレベル判定閾値
SFILDHと比較する。そして、DFILDMP≧S
FILDHのとき、ステップS106で今回のサージレ
ベルを3(サージ大)と判定し、ステップS113でサ
ージレベル初期化フラグFSURINIを0にクリア
(FSURINI←0)してルーチンを抜け、DFIL
DMP<SFILDHのときには、ステップS107へ
進む。
【0081】ステップS107では、サージレベル指標
値DFILDMPが大サージレベル判定閾値SFILD
Hと中サージレベル判定閾値SFILDMとの間にある
か否かを調べ、SFILDH>DFILDMP≧SFI
LDMのとき、更に、ステップS108で前回のサージ
レベルが2(サージ中)より小さいか否かを調べる。そ
して、前回のサージレベルが2以上のときには、サージ
レベルを更新せずにステップS108から前述のステッ
プS113を経てルーチンを抜け、前回のサージレベル
が2より小さいとき、ステップS108からステップS
109へ進んで今回のサージレベルを2と判定し、前述
のステップS113を経てルーチンを抜ける。
値DFILDMPが大サージレベル判定閾値SFILD
Hと中サージレベル判定閾値SFILDMとの間にある
か否かを調べ、SFILDH>DFILDMP≧SFI
LDMのとき、更に、ステップS108で前回のサージ
レベルが2(サージ中)より小さいか否かを調べる。そ
して、前回のサージレベルが2以上のときには、サージ
レベルを更新せずにステップS108から前述のステッ
プS113を経てルーチンを抜け、前回のサージレベル
が2より小さいとき、ステップS108からステップS
109へ進んで今回のサージレベルを2と判定し、前述
のステップS113を経てルーチンを抜ける。
【0082】また、ステップS107においてDFIL
DMP<SFILDMのときには、ステップS110へ
進んでサージレベル指標値DFILDMPが中サージレ
ベル判定閾値SFILDMと小サージレベル判定閾値S
FILDLとの間にあるか否かを調べる。そして、DF
ILDMP<SFILDLのときには、ステップS11
0からステップS113を経てルーチンを抜け、SFI
LDM>DFILDMP≧SFILDLのとき、ステッ
プS111で前回のサージレベルが0であるか否かを調
べる。その結果、前回のサージレベルが0でないときに
は、サージレベルを更新せずにステップS111からス
テップS113を経てルーチンを抜け、前回のサージレ
ベルが0のとき、ステップS111からステップS11
2へ進んで今回のサージレベルを1(サージ小)と判定
し、前述のステップS113を経てルーチンを抜ける。
DMP<SFILDMのときには、ステップS110へ
進んでサージレベル指標値DFILDMPが中サージレ
ベル判定閾値SFILDMと小サージレベル判定閾値S
FILDLとの間にあるか否かを調べる。そして、DF
ILDMP<SFILDLのときには、ステップS11
0からステップS113を経てルーチンを抜け、SFI
LDM>DFILDMP≧SFILDLのとき、ステッ
プS111で前回のサージレベルが0であるか否かを調
べる。その結果、前回のサージレベルが0でないときに
は、サージレベルを更新せずにステップS111からス
テップS113を経てルーチンを抜け、前回のサージレ
ベルが0のとき、ステップS111からステップS11
2へ進んで今回のサージレベルを1(サージ小)と判定
し、前述のステップS113を経てルーチンを抜ける。
【0083】すなわち、失火発生時には、サージレベル
指標値DFILDMPの挙動が安定していないため、サ
ージレベル指標値DFILDMPと判定閾値とを比較し
てサージレベルを決定する際、ノイズ等の影響によって
サージレベル指標値DFILDMPがばたついて短時間
に判定閾値を複数回上下する場合があり、サージレベル
指標値DFILDMPと判定閾値との単純な大小関係だ
けでサージレベルを決定すると誤判定となる可能性があ
る。このため、サージレベル指標値DFILDMPがD
FILDMP≦0となった場合にサージレベルを0に初
期化し、サージレベル指標値DFILDMPが判定閾値
を下から上に横切った場合にのみサージレベルを判定
し、この判定結果をDFILDMP≦0となるまで保持
する(サージレベルを大方向にのみ更新する)。
指標値DFILDMPの挙動が安定していないため、サ
ージレベル指標値DFILDMPと判定閾値とを比較し
てサージレベルを決定する際、ノイズ等の影響によって
サージレベル指標値DFILDMPがばたついて短時間
に判定閾値を複数回上下する場合があり、サージレベル
指標値DFILDMPと判定閾値との単純な大小関係だ
けでサージレベルを決定すると誤判定となる可能性があ
る。このため、サージレベル指標値DFILDMPがD
FILDMP≦0となった場合にサージレベルを0に初
期化し、サージレベル指標値DFILDMPが判定閾値
を下から上に横切った場合にのみサージレベルを判定
し、この判定結果をDFILDMP≦0となるまで保持
する(サージレベルを大方向にのみ更新する)。
【0084】次に、サージ検出結果を用いたEGR制御
について説明する。図22のEGR制御量算出ルーチン
では、先ず、ステップS200で、図23〜図29のE
GR実施可能判定サブルーチンを実行して現在の運転領
域がEGR実施可能領域であるか否かを調べる。次に、
ステップS201へ進み、図31〜図36のEGRリミ
ットガード目標値更新条件判定サブルーチンを実行して
EGRリミットガード目標値FLEGDの更新条件が成
立するか否かを調べる。EGRリミットガード目標値F
LEGDは、EGR量を増加させる際のガード値であ
り、サージの無い安定状態では徐々に大きくされて許容
範囲以内の大量EGRを可能とし、サージ発生時には急
速に小さくされてEGR量を急速に減量させ、迅速にサ
ージを解消するよう作用する。
について説明する。図22のEGR制御量算出ルーチン
では、先ず、ステップS200で、図23〜図29のE
GR実施可能判定サブルーチンを実行して現在の運転領
域がEGR実施可能領域であるか否かを調べる。次に、
ステップS201へ進み、図31〜図36のEGRリミ
ットガード目標値更新条件判定サブルーチンを実行して
EGRリミットガード目標値FLEGDの更新条件が成
立するか否かを調べる。EGRリミットガード目標値F
LEGDは、EGR量を増加させる際のガード値であ
り、サージの無い安定状態では徐々に大きくされて許容
範囲以内の大量EGRを可能とし、サージ発生時には急
速に小さくされてEGR量を急速に減量させ、迅速にサ
ージを解消するよう作用する。
【0085】次いで、ステップS202へ進んで図38
〜図41のEGRリミットガード目標値更新サブルーチ
ンを実行し、更新条件が成立する場合、EGRリミット
ガード目標値FLEGDを更新する。更に、ステップS
203で、図44〜図45のEGRリミット値設定サブ
ルーチンを実行し、EGRリミットガード目標値FLE
GDを単位換算した換算値に、EGR実施状態を示すた
めのEGR許可係数PFLEGDを乗算してEGRリミ
ット値FLEGDBを設定する。EGR許可係数PFL
EGDは、後述するように、EGRリミット値設定サブ
ルーチンにおいて、EGR禁止の状態でPFLEGD=
0、EGR許可の状態で補正無しに対応するPFLEG
D=1.0に固定され、EGR禁止←→EGR許可の過
渡状態においては0≦PFLEGD≦1.0の間で値が
増減される。
〜図41のEGRリミットガード目標値更新サブルーチ
ンを実行し、更新条件が成立する場合、EGRリミット
ガード目標値FLEGDを更新する。更に、ステップS
203で、図44〜図45のEGRリミット値設定サブ
ルーチンを実行し、EGRリミットガード目標値FLE
GDを単位換算した換算値に、EGR実施状態を示すた
めのEGR許可係数PFLEGDを乗算してEGRリミ
ット値FLEGDBを設定する。EGR許可係数PFL
EGDは、後述するように、EGRリミット値設定サブ
ルーチンにおいて、EGR禁止の状態でPFLEGD=
0、EGR許可の状態で補正無しに対応するPFLEG
D=1.0に固定され、EGR禁止←→EGR許可の過
渡状態においては0≦PFLEGD≦1.0の間で値が
増減される。
【0086】その後、ステップS203からステップS
204へ進み、図47のEGR流量算出サブルーチンを
実行し、EGR流量を算出する。EGR流量は、後述す
るように、運転領域に応じた基本EGR流量にEGRリ
ミット値FLEGDBを乗算して算出される。そして、
ステップS205で図48のモータ目標位置算出サブル
ーチンを実行してEGR流量をステップモータ式EGR
弁20のステップ数に変換し、本EGR制御量算出ルー
チンを抜ける。
204へ進み、図47のEGR流量算出サブルーチンを
実行し、EGR流量を算出する。EGR流量は、後述す
るように、運転領域に応じた基本EGR流量にEGRリ
ミット値FLEGDBを乗算して算出される。そして、
ステップS205で図48のモータ目標位置算出サブル
ーチンを実行してEGR流量をステップモータ式EGR
弁20のステップ数に変換し、本EGR制御量算出ルー
チンを抜ける。
【0087】次に、EGR制御量算出ルーチンにおける
各サブルーチンについて説明する。先ず、図23〜図2
9のEGR実施可能判定サブルーチンでは、以下の条件
を全て満足するとき、EGR実施可能と判定する。 (a)エンジン極低温を除く状態である条件(水温条
件) (b)通常走行状態である条件(車速条件) (c)エンジン回転数が低中回転数域である条件(エン
ジン回転数条件) (d)EGRガスを吸気系へ吸引可能な領域である条件
(吸気管圧力条件) (e)低中負荷域である条件(スロットル開度条件) (f)極低温及び高温を除く状態である条件(吸気温条
件) (h)アイドルスイッチ22bがOFFである条件 (i)EGR弁20が正常である条件 (j)エンジン始動後設定時間以上経過している条件 (k)EGRリミットガード目標値FLEGDが下限値
に張り付いていない条件
各サブルーチンについて説明する。先ず、図23〜図2
9のEGR実施可能判定サブルーチンでは、以下の条件
を全て満足するとき、EGR実施可能と判定する。 (a)エンジン極低温を除く状態である条件(水温条
件) (b)通常走行状態である条件(車速条件) (c)エンジン回転数が低中回転数域である条件(エン
ジン回転数条件) (d)EGRガスを吸気系へ吸引可能な領域である条件
(吸気管圧力条件) (e)低中負荷域である条件(スロットル開度条件) (f)極低温及び高温を除く状態である条件(吸気温条
件) (h)アイドルスイッチ22bがOFFである条件 (i)EGR弁20が正常である条件 (j)エンジン始動後設定時間以上経過している条件 (k)EGRリミットガード目標値FLEGDが下限値
に張り付いていない条件
【0088】具体的には、先ず、ステップS210〜S
215で(a)の条件すなわち冷却水温が制御ハンチン
グ防止のためのヒステリシスを伴った設定範囲内にあ
り、エンジン極低温を除く状態か否かを判定する。この
水温条件の判定では、条件成立を判定するための水温判
定フラグFTW(システムイニシャライズ時に0に初期
化される)を用い、冷却水温が設定範囲内にある条件を
満足するとき、FTW=1とする。
215で(a)の条件すなわち冷却水温が制御ハンチン
グ防止のためのヒステリシスを伴った設定範囲内にあ
り、エンジン極低温を除く状態か否かを判定する。この
水温条件の判定では、条件成立を判定するための水温判
定フラグFTW(システムイニシャライズ時に0に初期
化される)を用い、冷却水温が設定範囲内にある条件を
満足するとき、FTW=1とする。
【0089】このため、ステップS210では水温判定
フラグFTWを参照し、FTW=0のとき、ステップS
211でヒステリシス幅の上限値KTWEGRH(例え
ば、2°C相当)を、水温上昇時の判定閾値KTWEG
Rとしてセットし(KTWEGR←KTWEGRH)、
ステップS213へ進む。また、ステップS210でF
TW=1のときには、ステップS212でヒステリシス
幅の下限値KTWEGRL(例えば、0°C相当)を水
温下降時の判定閾値KTWEGRLとしてセットし(K
TWEGR←KTWEGRL)、ステップS213へ進
む。
フラグFTWを参照し、FTW=0のとき、ステップS
211でヒステリシス幅の上限値KTWEGRH(例え
ば、2°C相当)を、水温上昇時の判定閾値KTWEG
Rとしてセットし(KTWEGR←KTWEGRH)、
ステップS213へ進む。また、ステップS210でF
TW=1のときには、ステップS212でヒステリシス
幅の下限値KTWEGRL(例えば、0°C相当)を水
温下降時の判定閾値KTWEGRLとしてセットし(K
TWEGR←KTWEGRL)、ステップS213へ進
む。
【0090】ステップS213では、冷却水温センサ2
7で検出した現在の冷却水温TWと判定閾値KTWEG
Rとを比較する。そして、TW≧KTWEGRのとき、
水温条件成立と判定してステップS214で水温判定フ
ラグFTWを1にセットして(FTW←1)、ステップ
S216へ進み、TW<KTWEGRのときには、水温
条件不成立と判定してステップS215で水温判定フラ
グFTWを0にクリアして(FTW←0)ステップS2
16へ進む。すなわち、図30(a)に示すように、水
温上昇時には、冷却水温TWがヒステリシス幅の上限値
KTWEGRH以上のとき水温条件が成立し、水温下降
時には、冷却水温TWがヒステリシス幅の下限値KTW
EGRL以上のとき、水温条件が成立する。
7で検出した現在の冷却水温TWと判定閾値KTWEG
Rとを比較する。そして、TW≧KTWEGRのとき、
水温条件成立と判定してステップS214で水温判定フ
ラグFTWを1にセットして(FTW←1)、ステップ
S216へ進み、TW<KTWEGRのときには、水温
条件不成立と判定してステップS215で水温判定フラ
グFTWを0にクリアして(FTW←0)ステップS2
16へ進む。すなわち、図30(a)に示すように、水
温上昇時には、冷却水温TWがヒステリシス幅の上限値
KTWEGRH以上のとき水温条件が成立し、水温下降
時には、冷却水温TWがヒステリシス幅の下限値KTW
EGRL以上のとき、水温条件が成立する。
【0091】次のステップS216〜S227は、
(b)の条件すなわち車速が制御ハンチングを防止する
ためのヒステリシスを上下限に設けた設定範囲内にある
通常走行か否かを判定する処理であり、第1車速判定フ
ラグFSPLと第2車速判定フラグFSPHとを用いて
行われる。各フラグFSPL,FSPHは、システムイ
ニシャライズ時に共に0に初期化され、車速が設定範囲
内にある条件を満足するとき、FSPL=1且つFSP
H=1とする。
(b)の条件すなわち車速が制御ハンチングを防止する
ためのヒステリシスを上下限に設けた設定範囲内にある
通常走行か否かを判定する処理であり、第1車速判定フ
ラグFSPLと第2車速判定フラグFSPHとを用いて
行われる。各フラグFSPL,FSPHは、システムイ
ニシャライズ時に共に0に初期化され、車速が設定範囲
内にある条件を満足するとき、FSPL=1且つFSP
H=1とする。
【0092】ステップS216では第1車速判定フラグ
FSPLを参照し、FSPL=0のとき、ステップS2
17で、低速側に設けたヒステリシス幅の上限値KSP
EGRLH(例えば、20Km/h相当)を、車速上昇
時に対する低速側の判定閾値KSPEGRLとしてセッ
トし(KSPEGRL←KSPEGRLH)、ステップ
S219へ進む。また、ステップS216でFSPL=
1のときには、ステップS218で、低速側に設けたヒ
ステリシス幅の下限値KSPEGRLL(例えば、16
Km/h相当)を、車速下降時に対する低速側の判定閾
値KSPEGRLとしてセットし(KSPEGRL←K
SPEGRLL)、ステップS219へ進む。
FSPLを参照し、FSPL=0のとき、ステップS2
17で、低速側に設けたヒステリシス幅の上限値KSP
EGRLH(例えば、20Km/h相当)を、車速上昇
時に対する低速側の判定閾値KSPEGRLとしてセッ
トし(KSPEGRL←KSPEGRLH)、ステップ
S219へ進む。また、ステップS216でFSPL=
1のときには、ステップS218で、低速側に設けたヒ
ステリシス幅の下限値KSPEGRLL(例えば、16
Km/h相当)を、車速下降時に対する低速側の判定閾
値KSPEGRLとしてセットし(KSPEGRL←K
SPEGRLL)、ステップS219へ進む。
【0093】ステップS219では、車速センサ34で
検出した現在の車速VSPと低速側の判定閾値KSPE
GRLとを比較する。そして、VSP≧KSPEGRL
のときには、低速側の条件成立と判定してステップS2
20で第1車速判定フラグFSPLを1にセットして
(FSPL←1)ステップS222へ進み、VSP<K
SPEGRLのときには、低速側の条件不成立と判定し
てステップS221で第1車速判定フラグFSPLを0
にクリアし(FSPL←0)、ステップS222へ進
む。
検出した現在の車速VSPと低速側の判定閾値KSPE
GRLとを比較する。そして、VSP≧KSPEGRL
のときには、低速側の条件成立と判定してステップS2
20で第1車速判定フラグFSPLを1にセットして
(FSPL←1)ステップS222へ進み、VSP<K
SPEGRLのときには、低速側の条件不成立と判定し
てステップS221で第1車速判定フラグFSPLを0
にクリアし(FSPL←0)、ステップS222へ進
む。
【0094】ステップS222では、第2車速判定フラ
グFSPHを参照し、FSPH=0のとき、ステップS
223で、高速側に設けたヒステリシス幅の下限値KS
PEGRHL(例えば、80Km/h相当)を、車速下
降時に対する判定閾値KSPEGRHとしてセットし
(KSPEGRH←KSPEGRHL)、ステップS2
25へ進む。また、ステップS222でFSPH=1の
ときには、ステップS224で、高速側に設けたヒステ
リシス幅の上限値KSPEGRHH(例えば、82Km
/h相当)を、車速上昇時に対する判定閾値KSPEG
RHとしてセットし(KSPEGRH←KSPEGRH
H)し、ステップS225へ進む。
グFSPHを参照し、FSPH=0のとき、ステップS
223で、高速側に設けたヒステリシス幅の下限値KS
PEGRHL(例えば、80Km/h相当)を、車速下
降時に対する判定閾値KSPEGRHとしてセットし
(KSPEGRH←KSPEGRHL)、ステップS2
25へ進む。また、ステップS222でFSPH=1の
ときには、ステップS224で、高速側に設けたヒステ
リシス幅の上限値KSPEGRHH(例えば、82Km
/h相当)を、車速上昇時に対する判定閾値KSPEG
RHとしてセットし(KSPEGRH←KSPEGRH
H)し、ステップS225へ進む。
【0095】ステップS225では、現在の車速VSP
と高速側の判定閾値KSPEGRHとを比較する。そし
て、VSP≦KSPEGRHのとき、高速側の条件成立
と判定してステップS226で第2車速判定フラグFS
PHを1にセットして(FSPH←1)ステップS22
8以降へ進み、VSP>KSPEGRHのとき、高速側
の条件不成立と判定してステップS227で第2車速判
定フラグFSPHを0にクリアし(FSPH←0)、ス
テップS228以降へ進む。
と高速側の判定閾値KSPEGRHとを比較する。そし
て、VSP≦KSPEGRHのとき、高速側の条件成立
と判定してステップS226で第2車速判定フラグFS
PHを1にセットして(FSPH←1)ステップS22
8以降へ進み、VSP>KSPEGRHのとき、高速側
の条件不成立と判定してステップS227で第2車速判
定フラグFSPHを0にクリアし(FSPH←0)、ス
テップS228以降へ進む。
【0096】すなわち、図30(b)に示すように、車
速上昇時には、車速VSPが低速側に設けたヒステリシ
ス幅の上限値KSPEGRLH以上、且つ高速側に設け
たヒステリシス幅の上限値KSPEGRHH以下のと
き、車速条件が成立し、また、車速下降時には、車速V
SPが高速側に設けたヒステリシス幅の下限値KSPE
GRHL以下、且つ低速側に設けたヒステリシス幅の下
限値KSPEGRLL以上のとき、車速条件が成立する
(FSPL=1且つFSPH=1)。
速上昇時には、車速VSPが低速側に設けたヒステリシ
ス幅の上限値KSPEGRLH以上、且つ高速側に設け
たヒステリシス幅の上限値KSPEGRHH以下のと
き、車速条件が成立し、また、車速下降時には、車速V
SPが高速側に設けたヒステリシス幅の下限値KSPE
GRHL以下、且つ低速側に設けたヒステリシス幅の下
限値KSPEGRLL以上のとき、車速条件が成立する
(FSPL=1且つFSPH=1)。
【0097】ステップS228〜S239は、(c)の
条件すなわちエンジン回転数が制御ハンチングを防止す
るためのヒステリシスを低回転側と高回転側とに設けた
設定範囲内にあり、低中回転域にあるか否かを判定する
処理であり、車速条件の判定と同様の2つのフラグ、第
1回転数判定フラグFNELと第2回転数判定フラグF
NEHとを用いて行われる。各フラグFNEL,FNE
Hは、システムイニシャライズ時に共に0に初期化さ
れ、エンジン回転数が設定範囲内にある条件を満足する
とき、FNEL=1且つFNEH=1とする。
条件すなわちエンジン回転数が制御ハンチングを防止す
るためのヒステリシスを低回転側と高回転側とに設けた
設定範囲内にあり、低中回転域にあるか否かを判定する
処理であり、車速条件の判定と同様の2つのフラグ、第
1回転数判定フラグFNELと第2回転数判定フラグF
NEHとを用いて行われる。各フラグFNEL,FNE
Hは、システムイニシャライズ時に共に0に初期化さ
れ、エンジン回転数が設定範囲内にある条件を満足する
とき、FNEL=1且つFNEH=1とする。
【0098】先ず、ステップS228では、第1回転数
判定フラグFNELを参照し、FNEL=0のとき、ス
テップS229で、低回転側に設けたヒステリシス幅の
下限値KNEEGR1H(例えば、1100rpm相
当)を、回転上昇時に対する低回転側の判定閾値KNE
EGR1としてセットし(KNEEGR1←KNEEG
R1H)、ステップS231へ進む。また、ステップS
228でFNEL=1のときには、ステップS230
で、低回転側に設けたヒステリシス幅の下限値KNEE
GR1L(例えば、1000rpm相当)を、回転下降
時に対する低回転側の判定閾値KNEEGR1としてセ
ットし(KNEEGR1←KNEEGR1L)、ステッ
プS231へ進む。
判定フラグFNELを参照し、FNEL=0のとき、ス
テップS229で、低回転側に設けたヒステリシス幅の
下限値KNEEGR1H(例えば、1100rpm相
当)を、回転上昇時に対する低回転側の判定閾値KNE
EGR1としてセットし(KNEEGR1←KNEEG
R1H)、ステップS231へ進む。また、ステップS
228でFNEL=1のときには、ステップS230
で、低回転側に設けたヒステリシス幅の下限値KNEE
GR1L(例えば、1000rpm相当)を、回転下降
時に対する低回転側の判定閾値KNEEGR1としてセ
ットし(KNEEGR1←KNEEGR1L)、ステッ
プS231へ進む。
【0099】ステップS231では、現在のエンジン回
転数NEと低回転側の判定閾値KNEEGR1とを比較
する。そして、NE≧KNEEGR1のとき、低回転側
の条件成立と判定してステップS232で第1回転数判
定フラグFNELを1にセットして(FNEL←1)ス
テップS234へ進み、NE<KNEEGR1のときに
は、低回転側の条件不成立としてステップS233で第
1回転数判定フラグFNELを0にクリア(FNEL←
0)し、ステップS234へ進む。
転数NEと低回転側の判定閾値KNEEGR1とを比較
する。そして、NE≧KNEEGR1のとき、低回転側
の条件成立と判定してステップS232で第1回転数判
定フラグFNELを1にセットして(FNEL←1)ス
テップS234へ進み、NE<KNEEGR1のときに
は、低回転側の条件不成立としてステップS233で第
1回転数判定フラグFNELを0にクリア(FNEL←
0)し、ステップS234へ進む。
【0100】ステップS234では第2回転数判定フラ
グFNEHを参照する。そして、FNEH=0のとき、
ステップS235へ進んで、高回転側に設けたヒステリ
シス幅の下限値KNEEGR2L(例えば、3500r
pm相当)を、回転下降時に対する高回転側の判定閾値
KNEEGR2としてセットし(KNEEGR2←KN
EEGR2L)、ステップS237へ進む。また、ステ
ップS234でFNEH=1のときには、ステップS2
36で、高回転側に設けたヒステリシス幅の上限値KN
EEGR2H(例えば、3549.5rpm相当)を、
回転上昇時に対する判定閾値KNEEGR2としてセッ
トし(KNEEGR2←KNEEGR2H)し、ステッ
プS237へ進む。
グFNEHを参照する。そして、FNEH=0のとき、
ステップS235へ進んで、高回転側に設けたヒステリ
シス幅の下限値KNEEGR2L(例えば、3500r
pm相当)を、回転下降時に対する高回転側の判定閾値
KNEEGR2としてセットし(KNEEGR2←KN
EEGR2L)、ステップS237へ進む。また、ステ
ップS234でFNEH=1のときには、ステップS2
36で、高回転側に設けたヒステリシス幅の上限値KN
EEGR2H(例えば、3549.5rpm相当)を、
回転上昇時に対する判定閾値KNEEGR2としてセッ
トし(KNEEGR2←KNEEGR2H)し、ステッ
プS237へ進む。
【0101】ステップS237では、現在のエンジン回
転数NEと高回転側の判定閾値KNEEGR2とを比較
する。そして、NE≦KNEEGR2のとき、高回転側
の条件成立と判定してステップS238で第2回転数判
定フラグFNEHを1にセットして(FNEH←1)ス
テップS240以降へ進み、NE>KNEEGR2のと
き、高回転側の条件不成立と判定してステップS239
で第2回転数判定フラグFNEHを0にクリアし(FN
EH←0)、ステップS240以降へ進む。
転数NEと高回転側の判定閾値KNEEGR2とを比較
する。そして、NE≦KNEEGR2のとき、高回転側
の条件成立と判定してステップS238で第2回転数判
定フラグFNEHを1にセットして(FNEH←1)ス
テップS240以降へ進み、NE>KNEEGR2のと
き、高回転側の条件不成立と判定してステップS239
で第2回転数判定フラグFNEHを0にクリアし(FN
EH←0)、ステップS240以降へ進む。
【0102】すなわち、図30(c)に示すように、回
転数上昇時には、エンジン回転数NEが低回転側に設け
たヒステリシス幅の上限値KNEEGR1H以上、且つ
高回転側に設けたヒステリシス幅の上限値KNEEGR
2H以下のとき、回転数条件が成立し、また、回転下降
時には、エンジン回転数NEが高回転側に設けたヒステ
リシス幅の下限値KNEEGR2L以下、且つ低回転側
に設けたヒステリシス幅の下限値KNEEGR1L以上
のとき、回転数条件が成立する(FNEL=1且つFN
EH=1)。
転数上昇時には、エンジン回転数NEが低回転側に設け
たヒステリシス幅の上限値KNEEGR1H以上、且つ
高回転側に設けたヒステリシス幅の上限値KNEEGR
2H以下のとき、回転数条件が成立し、また、回転下降
時には、エンジン回転数NEが高回転側に設けたヒステ
リシス幅の下限値KNEEGR2L以下、且つ低回転側
に設けたヒステリシス幅の下限値KNEEGR1L以上
のとき、回転数条件が成立する(FNEL=1且つFN
EH=1)。
【0103】続くステップS240〜S245は、
(d)の条件すなわちスロットル弁5a下流の吸気管圧
力により排気ガスを吸気系へ吸引可能な領域か否かを判
定する処理であり、スロットル弁5a下流の吸気管圧力
PM(絶対圧力)がヒステリシス付きの判定閾値より低
い条件が成立するか否かを判定する。吸気管圧力に対す
る判定は、条件成立を判定するための吸気管圧力判定フ
ラグFPM(システムイニシャライズ時に0に初期化さ
れる)を用い、吸気管圧力PMが設定範囲内にある条件
を満足するとき、FPM=1とする。
(d)の条件すなわちスロットル弁5a下流の吸気管圧
力により排気ガスを吸気系へ吸引可能な領域か否かを判
定する処理であり、スロットル弁5a下流の吸気管圧力
PM(絶対圧力)がヒステリシス付きの判定閾値より低
い条件が成立するか否かを判定する。吸気管圧力に対す
る判定は、条件成立を判定するための吸気管圧力判定フ
ラグFPM(システムイニシャライズ時に0に初期化さ
れる)を用い、吸気管圧力PMが設定範囲内にある条件
を満足するとき、FPM=1とする。
【0104】このため、ステップS240では、吸気管
圧力判定フラグFPMを参照し、FPM=0のとき、ス
テップS241でヒステリシス幅の下限値KPMEGR
L(例えば、540mmHg相当)を、圧力下降時の判
定閾値KPMEGRとしてセットし(KPMEGR←K
PMEGRL)、ステップS243へ進む。また、ステ
ップS240でFPM=1のときには、ステップS24
2でヒステリシス幅の上限値KPMEGRH(例えば、
550mmHg相当)を圧力上昇時の判定閾値KPME
GRとしてセットし(KPMEGR←KPMEGR
H)、ステップS243へ進む。
圧力判定フラグFPMを参照し、FPM=0のとき、ス
テップS241でヒステリシス幅の下限値KPMEGR
L(例えば、540mmHg相当)を、圧力下降時の判
定閾値KPMEGRとしてセットし(KPMEGR←K
PMEGRL)、ステップS243へ進む。また、ステ
ップS240でFPM=1のときには、ステップS24
2でヒステリシス幅の上限値KPMEGRH(例えば、
550mmHg相当)を圧力上昇時の判定閾値KPME
GRとしてセットし(KPMEGR←KPMEGR
H)、ステップS243へ進む。
【0105】ステップS243では、吸気管圧力センサ
24で検出した現在の吸気管圧力PMと判定閾値KPM
EGRとを比較する。そして、PM≦KPMEGRのと
き、吸気管圧力条件成立と判定してステップS244で
吸気管圧力判定フラグFPMを1にセットして(FPM
←1)、ステップS246へ進み、PM>KPMEGR
のときには、吸気管圧力条件不成立と判定してステップ
S245で吸気管圧力判定フラグFPMを0にクリアし
て(FPM←0)ステップS246へ進む。すなわち、
図30(d)に示すように、圧力上昇時には、吸気管圧
力PMがヒステリシス幅の上限値KPMEGRH以下の
とき吸気管圧力条件が成立し、圧力下降時には、吸気管
圧力PMがヒステリシス幅の下限値KPMEGRL以下
になったとき、吸気管圧力条件が成立する。
24で検出した現在の吸気管圧力PMと判定閾値KPM
EGRとを比較する。そして、PM≦KPMEGRのと
き、吸気管圧力条件成立と判定してステップS244で
吸気管圧力判定フラグFPMを1にセットして(FPM
←1)、ステップS246へ進み、PM>KPMEGR
のときには、吸気管圧力条件不成立と判定してステップ
S245で吸気管圧力判定フラグFPMを0にクリアし
て(FPM←0)ステップS246へ進む。すなわち、
図30(d)に示すように、圧力上昇時には、吸気管圧
力PMがヒステリシス幅の上限値KPMEGRH以下の
とき吸気管圧力条件が成立し、圧力下降時には、吸気管
圧力PMがヒステリシス幅の下限値KPMEGRL以下
になったとき、吸気管圧力条件が成立する。
【0106】ステップS246〜S251は、(e)の
条件すなわち低・中負荷域を判定する処理であり、スロ
ットル開度がヒステリシス付きの判定閾値より小さい条
件が成立するか否かを判定する。スロットル開度に対す
る判定は、条件成立を判定するためのスロットル開度判
定フラグFTVO(システムイニシャライズ時に0に初
期化される)を用い、スロットル開度TVOが設定開度
以下にある条件を満足するとき、FTVO=1とする。
条件すなわち低・中負荷域を判定する処理であり、スロ
ットル開度がヒステリシス付きの判定閾値より小さい条
件が成立するか否かを判定する。スロットル開度に対す
る判定は、条件成立を判定するためのスロットル開度判
定フラグFTVO(システムイニシャライズ時に0に初
期化される)を用い、スロットル開度TVOが設定開度
以下にある条件を満足するとき、FTVO=1とする。
【0107】このため、ステップS246でスロットル
開度判定フラグFTVOを参照し、FTVO=0のとき
には、ステップS247でヒステリシス幅の下限値TV
OEGRL(例えば、19.8deg相当)を、スロッ
トル閉方向に対する判定閾値TVOEGRとしてセット
し(TVOEGR←TVOEGRL)、ステップS24
9へ進む。また、ステップS246でFTVO=1のと
きには、ステップS248でヒステリシス幅の上限値T
VOEGRH(例えば、22deg相当)をスロットル
開方向に対する判定閾値TVOEGRとしてセットし
(TVOEGR←TVOEGRH)、ステップS249
へ進む。
開度判定フラグFTVOを参照し、FTVO=0のとき
には、ステップS247でヒステリシス幅の下限値TV
OEGRL(例えば、19.8deg相当)を、スロッ
トル閉方向に対する判定閾値TVOEGRとしてセット
し(TVOEGR←TVOEGRL)、ステップS24
9へ進む。また、ステップS246でFTVO=1のと
きには、ステップS248でヒステリシス幅の上限値T
VOEGRH(例えば、22deg相当)をスロットル
開方向に対する判定閾値TVOEGRとしてセットし
(TVOEGR←TVOEGRH)、ステップS249
へ進む。
【0108】ステップS249では、スロットル開度セ
ンサ22aで検出した現在のスロットル開度TVOと判
定閾値TVOEGRとを比較する。そして、TVO≦T
VOEGRのとき、スロットル開度条件成立と判定して
ステップS250でスロットル開度判定フラグFTVO
を1にセットして(FTVO←1)、ステップS252
へ進み、TVO>TVOEGRのときには、スロットル
開度条件不成立と判定してステップS251でスロット
ル開度判定フラグFTVOを0にクリアして(FTVO
←0)ステップS252へ進む。すなわち、図30
(e)に示すように、スロットル開度増加時には、スロ
ットル開度TVOがヒステリシス幅の上限値TVOEG
RH以下のときスロットル開度条件が成立し、スロット
ル開度減少時には、スロットル開度TVOがヒステリシ
ス幅の下限値TVOEGRL以下になった時、スロット
ル開度条件が成立する。
ンサ22aで検出した現在のスロットル開度TVOと判
定閾値TVOEGRとを比較する。そして、TVO≦T
VOEGRのとき、スロットル開度条件成立と判定して
ステップS250でスロットル開度判定フラグFTVO
を1にセットして(FTVO←1)、ステップS252
へ進み、TVO>TVOEGRのときには、スロットル
開度条件不成立と判定してステップS251でスロット
ル開度判定フラグFTVOを0にクリアして(FTVO
←0)ステップS252へ進む。すなわち、図30
(e)に示すように、スロットル開度増加時には、スロ
ットル開度TVOがヒステリシス幅の上限値TVOEG
RH以下のときスロットル開度条件が成立し、スロット
ル開度減少時には、スロットル開度TVOがヒステリシ
ス幅の下限値TVOEGRL以下になった時、スロット
ル開度条件が成立する。
【0109】ステップS252〜S263は、(f)の
条件すなわち吸気温度が制御ハンチングを防止するため
のヒステリシスを低温側と高温側とに設けた設定範囲内
にあり、極低温及び高温を除く状態にあるか否かを判定
する処理であり、第1吸気温判定フラグFTALと第2
吸気温判定フラグFTAHとの2つのフラグを用いて行
われる。各フラグFTAL,FTAHは、システムイニ
シャライズ時に共に0に初期化され、吸気温度が設定範
囲内にある条件を満足するとき、FTAL=1且つFT
AH=1とする。
条件すなわち吸気温度が制御ハンチングを防止するため
のヒステリシスを低温側と高温側とに設けた設定範囲内
にあり、極低温及び高温を除く状態にあるか否かを判定
する処理であり、第1吸気温判定フラグFTALと第2
吸気温判定フラグFTAHとの2つのフラグを用いて行
われる。各フラグFTAL,FTAHは、システムイニ
シャライズ時に共に0に初期化され、吸気温度が設定範
囲内にある条件を満足するとき、FTAL=1且つFT
AH=1とする。
【0110】先ず、ステップS252では、第1吸気温
判定フラグFTALを参照し、FTAL=0のとき、ス
テップS253で、低温側に設けたヒステリシス幅の上
限値KTAEGRLH(例えば、5°C相当)を、温度
上昇時に対する低温側の判定閾値KTAEGRLとして
セットし(KTAEGRL←KTAEGRLH)、ステ
ップS255へ進む。また、ステップS252でFTA
L=1のときには、ステップS254で、低温側に設け
たヒステリシス幅の下限値KTAEGRLL(例えば、
0°C相当)を、温度下降時に対する低温側の判定閾値
KTAEGRLとしてセットし(KTAEGRL←KT
AEGRLL)、ステップS255へ進む。
判定フラグFTALを参照し、FTAL=0のとき、ス
テップS253で、低温側に設けたヒステリシス幅の上
限値KTAEGRLH(例えば、5°C相当)を、温度
上昇時に対する低温側の判定閾値KTAEGRLとして
セットし(KTAEGRL←KTAEGRLH)、ステ
ップS255へ進む。また、ステップS252でFTA
L=1のときには、ステップS254で、低温側に設け
たヒステリシス幅の下限値KTAEGRLL(例えば、
0°C相当)を、温度下降時に対する低温側の判定閾値
KTAEGRLとしてセットし(KTAEGRL←KT
AEGRLL)、ステップS255へ進む。
【0111】ステップS255では、吸気温センサ23
で検出した現在の吸気温度TANと低温側の判定閾値K
TAEGRLとを比較する。そして、TAN≧KTAE
GRLのとき、低回転側の条件成立と判定してステップ
S256で第1吸気温判定フラグFTALを1にセット
して(FTAL←1)ステップS258へ進み、TAN
<KTAEGRLのときには、低温側の条件不成立とし
てステップS257で第1吸気温判定フラグFTALを
0にクリア(FTAL←0)し、ステップS258へ進
む。
で検出した現在の吸気温度TANと低温側の判定閾値K
TAEGRLとを比較する。そして、TAN≧KTAE
GRLのとき、低回転側の条件成立と判定してステップ
S256で第1吸気温判定フラグFTALを1にセット
して(FTAL←1)ステップS258へ進み、TAN
<KTAEGRLのときには、低温側の条件不成立とし
てステップS257で第1吸気温判定フラグFTALを
0にクリア(FTAL←0)し、ステップS258へ進
む。
【0112】ステップS258では第2吸気温判定フラ
グFTAHを参照する。そして、FTAH=0のとき、
ステップS259へ進んで、高温側に設けたヒステリシ
ス幅の下限値KTAEGRHL(例えば、50°C相
当)を、温度下降時に対する高温側の判定閾値KTAE
GRHとしてセットし(KTAEGRH←KTAEGR
HL)、ステップS261へ進む。また、ステップS2
58でFTAH=1のときには、ステップS260で、
高温側に設けたヒステリシス幅の上限値KTAEGRH
H(例えば、55°C相当)を、回転上昇時に対する判
定閾値KTAEGRHとしてセットし(KTAEGRH
←KTAEGRHH)し、ステップS261へ進む。
グFTAHを参照する。そして、FTAH=0のとき、
ステップS259へ進んで、高温側に設けたヒステリシ
ス幅の下限値KTAEGRHL(例えば、50°C相
当)を、温度下降時に対する高温側の判定閾値KTAE
GRHとしてセットし(KTAEGRH←KTAEGR
HL)、ステップS261へ進む。また、ステップS2
58でFTAH=1のときには、ステップS260で、
高温側に設けたヒステリシス幅の上限値KTAEGRH
H(例えば、55°C相当)を、回転上昇時に対する判
定閾値KTAEGRHとしてセットし(KTAEGRH
←KTAEGRHH)し、ステップS261へ進む。
【0113】ステップS261では、現在の吸気温度T
ANと高温側の判定閾値KTAEGRHとを比較する。
そして、TAN≦KTAEGRHのとき、高温側の条件
成立と判定してステップS262で第2吸気温判定フラ
グFTAHを1にセットして(FTAH←1)ステップ
S264以降へ進み、TAN>KTAEGRHのとき、
高温側の条件不成立と判定してステップS263で第2
吸気温判定フラグFTAHを0にクリアし(FTAH←
0)、ステップS264以降へ進む。
ANと高温側の判定閾値KTAEGRHとを比較する。
そして、TAN≦KTAEGRHのとき、高温側の条件
成立と判定してステップS262で第2吸気温判定フラ
グFTAHを1にセットして(FTAH←1)ステップ
S264以降へ進み、TAN>KTAEGRHのとき、
高温側の条件不成立と判定してステップS263で第2
吸気温判定フラグFTAHを0にクリアし(FTAH←
0)、ステップS264以降へ進む。
【0114】すなわち、図30(f)に示すように、温
度上昇時には、吸気温度TANが低温側に設けたヒステ
リシス幅の上限値KTAEGRLH以上、且つ高温側に
設けたヒステリシス幅の上限値KTAEGRHH以下の
とき、吸気温条件が成立し、また、温度下降時には、吸
気温度TANが高温側に設けたヒステリシス幅の下限値
KTAEGRHL以下、且つ低温側に設けたヒステリシ
ス幅の下限値KTAEGRLL以上のとき、吸気温条件
が成立する(FTAL=1且つFTAH=1)。
度上昇時には、吸気温度TANが低温側に設けたヒステ
リシス幅の上限値KTAEGRLH以上、且つ高温側に
設けたヒステリシス幅の上限値KTAEGRHH以下の
とき、吸気温条件が成立し、また、温度下降時には、吸
気温度TANが高温側に設けたヒステリシス幅の下限値
KTAEGRHL以下、且つ低温側に設けたヒステリシ
ス幅の下限値KTAEGRLL以上のとき、吸気温条件
が成立する(FTAL=1且つFTAH=1)。
【0115】そして、以上の水温条件、車速条件、エン
ジン回転数条件、吸気管圧力条件、スロットル開度条
件、吸気温条件を調べた後、ステップS264,S26
5,S266,S267,S268,S269,S27
0,S271で、それぞれ、水温判定フラグFTW、ア
イドルスイッチ22bのON,OFF状態((h)の条
件)、第1車速判定フラグFSPL、第2車速判定フラ
グFSPH、EGR弁20の異常の有無((i)の条
件)、第1回転数判定フラグFNEL、第2回転数判定
フラグFNEH、吸気管圧力判定フラグFPMを調べ
る。
ジン回転数条件、吸気管圧力条件、スロットル開度条
件、吸気温条件を調べた後、ステップS264,S26
5,S266,S267,S268,S269,S27
0,S271で、それぞれ、水温判定フラグFTW、ア
イドルスイッチ22bのON,OFF状態((h)の条
件)、第1車速判定フラグFSPL、第2車速判定フラ
グFSPH、EGR弁20の異常の有無((i)の条
件)、第1回転数判定フラグFNEL、第2回転数判定
フラグFNEH、吸気管圧力判定フラグFPMを調べ
る。
【0116】そして、水温判定フラグFTW、第1車速
判定フラグFSPL、第2車速判定フラグFSPH、第
1回転数判定フラグFNEL、第2回転数判定フラグF
NEH、吸気管圧力判定フラグFPMのうち、一つでも
値が0のフラグがある場合、アイドルスイッチ22bが
ONの場合、或いは、EGR弁20に異常がある場合に
は、EGR実施可能条件不成立として該当するステップ
からステップS279へ進み、EGRを禁止すべくEG
R実施可能フラグFEGRを0にクリアし(FEGR←
0)、ルーチンを抜ける。
判定フラグFSPL、第2車速判定フラグFSPH、第
1回転数判定フラグFNEL、第2回転数判定フラグF
NEH、吸気管圧力判定フラグFPMのうち、一つでも
値が0のフラグがある場合、アイドルスイッチ22bが
ONの場合、或いは、EGR弁20に異常がある場合に
は、EGR実施可能条件不成立として該当するステップ
からステップS279へ進み、EGRを禁止すべくEG
R実施可能フラグFEGRを0にクリアし(FEGR←
0)、ルーチンを抜ける。
【0117】また、水温判定フラグFTW、第1車速判
定フラグFSPL、第2車速判定フラグFSPH、第1
回転数判定フラグFNEL、第2回転数判定フラグFN
EH、吸気管圧力判定フラグFPMが全て1の場合、す
なわち、水温条件、車速条件、回転数条件、吸気管圧力
条件が全て成立し、且つアイドルスイッチ22bがOF
FでEGR弁20が正常の場合には、ステップS264
〜S271を経てステップS272へ進み、(j)の条
件を判定する。
定フラグFSPL、第2車速判定フラグFSPH、第1
回転数判定フラグFNEL、第2回転数判定フラグFN
EH、吸気管圧力判定フラグFPMが全て1の場合、す
なわち、水温条件、車速条件、回転数条件、吸気管圧力
条件が全て成立し、且つアイドルスイッチ22bがOF
FでEGR弁20が正常の場合には、ステップS264
〜S271を経てステップS272へ進み、(j)の条
件を判定する。
【0118】すなわち、ステップS272では、エンジ
ン始動後の経過時間が設定時間KTSTAEGR(例え
ば、2550msec)以上経過しているか否かを調べ
る。そして、設定時間KTSTAEGRが経過していな
いときには、EGRを禁止する前述のステップS279
を経てルーチンを抜け、設定時間KTSTAEGR以上
経過しているとき、ステップS273,S274,S2
75で、それぞれ、スロットル開度判定フラグFTV
O、第1吸気温判定フラグFTAL、第2吸気温判定フ
ラグFTAHを参照する。
ン始動後の経過時間が設定時間KTSTAEGR(例え
ば、2550msec)以上経過しているか否かを調べ
る。そして、設定時間KTSTAEGRが経過していな
いときには、EGRを禁止する前述のステップS279
を経てルーチンを抜け、設定時間KTSTAEGR以上
経過しているとき、ステップS273,S274,S2
75で、それぞれ、スロットル開度判定フラグFTV
O、第1吸気温判定フラグFTAL、第2吸気温判定フ
ラグFTAHを参照する。
【0119】その結果、スロットル開度判定フラグFT
VO、第1吸気温判定フラグFTAL、第2吸気温判定
フラグFTAHの何れかが0であり、スロットル開度条
件或いは吸気温条件が成立しない場合には、同様にEG
Rを禁止する前述のステップS279を経てルーチンを
抜ける。また、スロットル開度判定フラグFTVO、第
1吸気温判定フラグFTAL、第2吸気温判定フラグF
TAHが全て1であり、スロットル開度条件及び吸気温
条件が成立する場合、ステップS276へ進み、(k)
の条件としてEGRリミットガード目標値FLEGDの
更新条件が成立しているか否かを調べる。
VO、第1吸気温判定フラグFTAL、第2吸気温判定
フラグFTAHの何れかが0であり、スロットル開度条
件或いは吸気温条件が成立しない場合には、同様にEG
Rを禁止する前述のステップS279を経てルーチンを
抜ける。また、スロットル開度判定フラグFTVO、第
1吸気温判定フラグFTAL、第2吸気温判定フラグF
TAHが全て1であり、スロットル開度条件及び吸気温
条件が成立する場合、ステップS276へ進み、(k)
の条件としてEGRリミットガード目標値FLEGDの
更新条件が成立しているか否かを調べる。
【0120】その結果、EGRリミットガード目標値F
LEGDの更新条件が非成立であり、EGRリミットガ
ード目標値FLEGDを更新するタイミングでない場
合、EGR実施可能と判定してEGRを許可すべくステ
ップS276からステップS278へ進んでEGR実施
可能フラグFEGRを1にセットし(FEGR←1)、
ルーチンを抜ける。一方、EGRリミットガード目標値
FLEGDの更新条件が成立しており、EGRリミット
ガード目標値FLEGDを更新中の場合には、ステップ
S276からステップS277へ進み、EGRリミット
ガード目標値FLEGDが下限値KFLEGDMNに達
しているか否かを調べる。そして、FLEGD≠KFL
EGDMNのときには、EGR実施可能と判定する前述
のステップS278を経てルーチンを抜け、FLEGD
=KFLEGDMNのとき、EGRを禁止すべく前述の
ステップS279を経てルーチンを抜ける。
LEGDの更新条件が非成立であり、EGRリミットガ
ード目標値FLEGDを更新するタイミングでない場
合、EGR実施可能と判定してEGRを許可すべくステ
ップS276からステップS278へ進んでEGR実施
可能フラグFEGRを1にセットし(FEGR←1)、
ルーチンを抜ける。一方、EGRリミットガード目標値
FLEGDの更新条件が成立しており、EGRリミット
ガード目標値FLEGDを更新中の場合には、ステップ
S276からステップS277へ進み、EGRリミット
ガード目標値FLEGDが下限値KFLEGDMNに達
しているか否かを調べる。そして、FLEGD≠KFL
EGDMNのときには、EGR実施可能と判定する前述
のステップS278を経てルーチンを抜け、FLEGD
=KFLEGDMNのとき、EGRを禁止すべく前述の
ステップS279を経てルーチンを抜ける。
【0121】次に、図31〜図36のEGRリミットガ
ード目標値更新条件判定サブルーチンついて説明する。
EGRリミットガード目標値更新ルーチンでは、以下の
(1)〜(11)の条件を全て満足し、且つ、これらの
条件を全て満足する状態が設定時間以上継続したとき、
EGRリミットガード目標値FLEGDの更新条件成立
と判定する。 (1)EGR実施可能と判定されてEGR実施が許可さ
れている条件 (2)スロットル開度変化が小である条件 (3)エンジン回転変動が小さいか又は指標最大値FI
LDMPMAXが上限に張り付いている条件 (4)吸気管圧力変化が小である条件 (5)パワステスイッチ33及びエアコンリレー64が
ON又はOFFに切り換わった後、設定時間が経過して
いる条件 (6)変速機が同一ギヤ位置である状態が設定時間以上
継続する条件 (7)EGR許可係数PFLEGDが1でEGR実施へ
の移行過程でない条件 (8)ロックアップクラッチ75の制御状態が設定時間
以上変化しない条件 (9)エンジン回転数が低中回転数域である条件 (10)吸気管圧力が低中負荷域である条件 (11)通常走行状態である条件
ード目標値更新条件判定サブルーチンついて説明する。
EGRリミットガード目標値更新ルーチンでは、以下の
(1)〜(11)の条件を全て満足し、且つ、これらの
条件を全て満足する状態が設定時間以上継続したとき、
EGRリミットガード目標値FLEGDの更新条件成立
と判定する。 (1)EGR実施可能と判定されてEGR実施が許可さ
れている条件 (2)スロットル開度変化が小である条件 (3)エンジン回転変動が小さいか又は指標最大値FI
LDMPMAXが上限に張り付いている条件 (4)吸気管圧力変化が小である条件 (5)パワステスイッチ33及びエアコンリレー64が
ON又はOFFに切り換わった後、設定時間が経過して
いる条件 (6)変速機が同一ギヤ位置である状態が設定時間以上
継続する条件 (7)EGR許可係数PFLEGDが1でEGR実施へ
の移行過程でない条件 (8)ロックアップクラッチ75の制御状態が設定時間
以上変化しない条件 (9)エンジン回転数が低中回転数域である条件 (10)吸気管圧力が低中負荷域である条件 (11)通常走行状態である条件
【0122】(1)〜(5),(7)の条件は、エンジ
ンが安定しており、過渡状態の影響を受けずにサージの
検出が行われているときのみ、EGRリミットガード目
標値FLEGDの更新を可能として誤更新を防止するた
めの条件であり、(6),(8)の条件は、駆動系が過
渡状態のときには、その影響によるエンジン回転変動が
生じてサージを適切に検出できないことから、EGRリ
ミットガード目標値FLEGDの更新を禁止するための
条件である。また、(9)〜(11)の条件は、EGR
実施対象領域を判定するための条件である。
ンが安定しており、過渡状態の影響を受けずにサージの
検出が行われているときのみ、EGRリミットガード目
標値FLEGDの更新を可能として誤更新を防止するた
めの条件であり、(6),(8)の条件は、駆動系が過
渡状態のときには、その影響によるエンジン回転変動が
生じてサージを適切に検出できないことから、EGRリ
ミットガード目標値FLEGDの更新を禁止するための
条件である。また、(9)〜(11)の条件は、EGR
実施対象領域を判定するための条件である。
【0123】このため、EGRリミットガード目標値更
新条件判定サブルーチンでは、先ず、ステップS300
で、(1)の条件を判定するためEGR実施可能フラグ
FEGRを参照する。そして、FEGR=0でEGRが
禁止されているときにはEGRリミットガード目標値更
新条件不成立としてステップS353へ分岐し、EGR
リミットガード目標値更新条件成立フラグFFLEGD
を0にクリアして(FFLEGD←0)ルーチンを抜け
る。尚、以下のステップにおいては、EGRリミットガ
ード目標値更新条件不成立のときには、各ステップから
上述のステップS353を経てルーチンを抜ける。
新条件判定サブルーチンでは、先ず、ステップS300
で、(1)の条件を判定するためEGR実施可能フラグ
FEGRを参照する。そして、FEGR=0でEGRが
禁止されているときにはEGRリミットガード目標値更
新条件不成立としてステップS353へ分岐し、EGR
リミットガード目標値更新条件成立フラグFFLEGD
を0にクリアして(FFLEGD←0)ルーチンを抜け
る。尚、以下のステップにおいては、EGRリミットガ
ード目標値更新条件不成立のときには、各ステップから
上述のステップS353を経てルーチンを抜ける。
【0124】一方、ステップS300においてFEGR
=1であり、EGRが許可されているときには、ステッ
プS301へ進み、(2)の条件を判定するため、現在
のスロットル開度TVOnと4回前のルーチン実行時
(本形態では、40msec前のタイミング)のスロッ
トル開度TVOn-4との差の絶対値 TVOn−TVOn-4
を、判定閾値KDTVLEGD(例えば、60mV相
当)と比較する。そして、 TVOn−TVOn-4 ≧KD
TVLEGDのときには、EGRリミットガード目標値
更新条件不成立と判定し、 TVOn−TVOn-4 <KD
TVLEGDのとき、ステップS302,S303で
(3)の条件を判定する。
=1であり、EGRが許可されているときには、ステッ
プS301へ進み、(2)の条件を判定するため、現在
のスロットル開度TVOnと4回前のルーチン実行時
(本形態では、40msec前のタイミング)のスロッ
トル開度TVOn-4との差の絶対値 TVOn−TVOn-4
を、判定閾値KDTVLEGD(例えば、60mV相
当)と比較する。そして、 TVOn−TVOn-4 ≧KD
TVLEGDのときには、EGRリミットガード目標値
更新条件不成立と判定し、 TVOn−TVOn-4 <KD
TVLEGDのとき、ステップS302,S303で
(3)の条件を判定する。
【0125】すなわち、ステップS302で現在のエン
ジン回転数NEnと4回前のルーチン実行時のエンジン
回転数NEn-4との差の絶対値 NEn−NEn-4 を判定
閾値KDNELEGD(例えば、125rpm相当)と
比較し、 NEn−NEn-4 <KDNELEGDのときに
はステップS304以降の次の判定処理へ進み、 NEn
−NEn-4 ≧KDNELEGDのとき、ステップS30
3で、前述のサージレベル指標値算出サブルーチンで設
定される指標最大値上限張り付き判定フラグFFILD
MAXを参照する。そして、FFILDMAX=0であ
り、指標最大値FILDMPMAXが上限に張り付いて
いないときには、EGRリミットガード目標値更新条件
不成立と判定し、FFILDMAX=1であり、指標最
大値FILDMPMAXが上限に張り付いているとき、
ステップS304以降の次の判定処理へ進む。
ジン回転数NEnと4回前のルーチン実行時のエンジン
回転数NEn-4との差の絶対値 NEn−NEn-4 を判定
閾値KDNELEGD(例えば、125rpm相当)と
比較し、 NEn−NEn-4 <KDNELEGDのときに
はステップS304以降の次の判定処理へ進み、 NEn
−NEn-4 ≧KDNELEGDのとき、ステップS30
3で、前述のサージレベル指標値算出サブルーチンで設
定される指標最大値上限張り付き判定フラグFFILD
MAXを参照する。そして、FFILDMAX=0であ
り、指標最大値FILDMPMAXが上限に張り付いて
いないときには、EGRリミットガード目標値更新条件
不成立と判定し、FFILDMAX=1であり、指標最
大値FILDMPMAXが上限に張り付いているとき、
ステップS304以降の次の判定処理へ進む。
【0126】ステップS304では、(4)の条件を判
定するため、現在の吸気管圧力PMnと8回前のルーチ
ン実行時(本形態では、80msec前のタイミング)
の吸気管圧力PMn-8との差の絶対値 PMn−PMn-8
を判定閾値KDLDLEGD(例えば、10.5mmH
g相当)と比較する。そして、 PMn−PMn-8 ≧KD
LDLEGDで吸気管圧力が変動しているとき、すなわ
ちエンジン負荷が変動しているときには、EGRリミッ
トガード目標値更新条件不成立と判定し、 PMn−PM
n-8 <KDLDLEGDで吸気管圧力の変動が小さく、
エンジン負荷の変動が小さい定常運転状態であるときに
は、ステップS305へ進む。
定するため、現在の吸気管圧力PMnと8回前のルーチ
ン実行時(本形態では、80msec前のタイミング)
の吸気管圧力PMn-8との差の絶対値 PMn−PMn-8
を判定閾値KDLDLEGD(例えば、10.5mmH
g相当)と比較する。そして、 PMn−PMn-8 ≧KD
LDLEGDで吸気管圧力が変動しているとき、すなわ
ちエンジン負荷が変動しているときには、EGRリミッ
トガード目標値更新条件不成立と判定し、 PMn−PM
n-8 <KDLDLEGDで吸気管圧力の変動が小さく、
エンジン負荷の変動が小さい定常運転状態であるときに
は、ステップS305へ進む。
【0127】ステップS305では、(5)の条件であ
るパワステスイッチ33及びエアコンリレー64がON
からOFF、或いはOFFからONに切り換わった後、
設定時間KTLEGDP(例えば、3000msec)
以上経過しているか否かを判定する。そして、設定時間
が経過していないときには、EGRリミットガード目標
値更新条件不成立と判定し、パワステスイッチ33及び
エアコンリレー64がONまたはOFFの一定状態を設
定時間以上継続し、エンジン負荷変動が生じていない状
態でエンジン回転が安定していると見做し得るとき、ス
テップS306へ進む。
るパワステスイッチ33及びエアコンリレー64がON
からOFF、或いはOFFからONに切り換わった後、
設定時間KTLEGDP(例えば、3000msec)
以上経過しているか否かを判定する。そして、設定時間
が経過していないときには、EGRリミットガード目標
値更新条件不成立と判定し、パワステスイッチ33及び
エアコンリレー64がONまたはOFFの一定状態を設
定時間以上継続し、エンジン負荷変動が生じていない状
態でエンジン回転が安定していると見做し得るとき、ス
テップS306へ進む。
【0128】次のステップS306は、(6)の条件す
なわち変速機80が変速されていない状態が設定時間以
上継続し、変速に伴うエンジン回転数の変動が生じてい
ない状態であるか否かを判定する処理であり、今回ルー
チン実行時のギヤ位置GEARnが前回ルーチン実行時
のギヤ位置(本形態では、10msec前のギヤ位置)
GEARn-1と同じ状態が設定時間KTLEGD2(例
えば、500msec相当)以上連続しているか否かを
調べる。そして、変速中或いは同一ギヤ位置で設定時間
が経過していないときには、駆動系の過渡状態であるた
め、EGRリミットガード目標値更新条件不成立と判定
し、同一ギヤ位置の状態が連続する時間が設定時間以上
のとき、ステップS307で、(7)の条件すなわちE
GR許可係数PFLEGDが1.0でEGR実行への移
行過程でないことを確認する。
なわち変速機80が変速されていない状態が設定時間以
上継続し、変速に伴うエンジン回転数の変動が生じてい
ない状態であるか否かを判定する処理であり、今回ルー
チン実行時のギヤ位置GEARnが前回ルーチン実行時
のギヤ位置(本形態では、10msec前のギヤ位置)
GEARn-1と同じ状態が設定時間KTLEGD2(例
えば、500msec相当)以上連続しているか否かを
調べる。そして、変速中或いは同一ギヤ位置で設定時間
が経過していないときには、駆動系の過渡状態であるた
め、EGRリミットガード目標値更新条件不成立と判定
し、同一ギヤ位置の状態が連続する時間が設定時間以上
のとき、ステップS307で、(7)の条件すなわちE
GR許可係数PFLEGDが1.0でEGR実行への移
行過程でないことを確認する。
【0129】その結果、PFLEGD≠1.0でEGR
実行への移行過程のときには、EGRリミットガード目
標値更新条件不成立と判定し、PFLEGD=1.0で
EGRを完全に実行中であるときには、更に、ステップ
S308で、(8)の条件すなわちロックアップクラッ
チ75の制御状態が設定時間以上変化しないか否かを判
定する。すなわち、ステップS308では、今回ルーチ
ン実行時におけるロックアップクラッチ75の制御状態
(締結、スリップ、解放)を示すロックアップクラッチ
制御状態ATROCKnが前回ルーチン実行時のロック
アップクラッチ制御状態(本形態では、10msec前
のロックアップクラッチ制御状態)ATROCKn-1と
同じ状態が設定時間KTLEGD3(例えば、1500
msec相当)以上連続しているか否かを調べる。そし
て、ロックアップクラッチ制御状態が変化したとき、或
いは連続して設定時間以上経過していないときには、駆
動系の過渡状態であるため、EGRリミットガード目標
値更新条件不成立と判定する。また、同一のロックアッ
プクラッチ制御状態が設定時間以上連続するとき、ロッ
クアップクラッチ75の制御形態の変化に伴うエンジン
回転変動を生じていないと判断し、ステップS309以
降へ進む。
実行への移行過程のときには、EGRリミットガード目
標値更新条件不成立と判定し、PFLEGD=1.0で
EGRを完全に実行中であるときには、更に、ステップ
S308で、(8)の条件すなわちロックアップクラッ
チ75の制御状態が設定時間以上変化しないか否かを判
定する。すなわち、ステップS308では、今回ルーチ
ン実行時におけるロックアップクラッチ75の制御状態
(締結、スリップ、解放)を示すロックアップクラッチ
制御状態ATROCKnが前回ルーチン実行時のロック
アップクラッチ制御状態(本形態では、10msec前
のロックアップクラッチ制御状態)ATROCKn-1と
同じ状態が設定時間KTLEGD3(例えば、1500
msec相当)以上連続しているか否かを調べる。そし
て、ロックアップクラッチ制御状態が変化したとき、或
いは連続して設定時間以上経過していないときには、駆
動系の過渡状態であるため、EGRリミットガード目標
値更新条件不成立と判定する。また、同一のロックアッ
プクラッチ制御状態が設定時間以上連続するとき、ロッ
クアップクラッチ75の制御形態の変化に伴うエンジン
回転変動を生じていないと判断し、ステップS309以
降へ進む。
【0130】ステップS309〜S320は、(9)の
条件すなわちエンジン回転数が制御ハンチングを防止す
るためのヒステリシスを低回転側と高回転側とに設けた
設定範囲内にあり、低中回転域にあるか否かを判定する
処理であり、前述のEGR実施可能判定サブルーチンに
おけるエンジン回転数条件の判定と同様の処理である。
この処理においては、システムイニシャライズ時に共に
0に初期化される第1回転数判定フラグFNEEGRL
及び第2回転数判定フラグFNEEGRHを用い、エン
ジン回転数が設定範囲内にある条件を満足するとき、F
NEEGRL=1且つFNEEGRH=1とする。
条件すなわちエンジン回転数が制御ハンチングを防止す
るためのヒステリシスを低回転側と高回転側とに設けた
設定範囲内にあり、低中回転域にあるか否かを判定する
処理であり、前述のEGR実施可能判定サブルーチンに
おけるエンジン回転数条件の判定と同様の処理である。
この処理においては、システムイニシャライズ時に共に
0に初期化される第1回転数判定フラグFNEEGRL
及び第2回転数判定フラグFNEEGRHを用い、エン
ジン回転数が設定範囲内にある条件を満足するとき、F
NEEGRL=1且つFNEEGRH=1とする。
【0131】先ず、ステップS309では、第1回転数
判定フラグFNEEGRLを参照する。そして、FNE
EGRL=0のとき、ステップS310で、低回転側に
設けたヒステリシス幅の下限値KNEFLEGL(例え
ば、900rpm相当)にヒステリシス幅KNEFLE
HS(例えば、100rpm相当)を加算し、回転上昇
時に対応する低回転側の判定閾値KNEFLEGLとす
る(KNEFLEGL←KNEFLEGL+KNEFL
EHS)。また、FNEEGRL=1のときには、ステ
ップS311で、低回転側に設けたヒステリシス幅の下
限値KNEFLEGLを、回転下降時に対応する低回転
側の判定閾値KNEFLEGLとして設定する(KNE
FLEGL←KNEFLEGL)。
判定フラグFNEEGRLを参照する。そして、FNE
EGRL=0のとき、ステップS310で、低回転側に
設けたヒステリシス幅の下限値KNEFLEGL(例え
ば、900rpm相当)にヒステリシス幅KNEFLE
HS(例えば、100rpm相当)を加算し、回転上昇
時に対応する低回転側の判定閾値KNEFLEGLとす
る(KNEFLEGL←KNEFLEGL+KNEFL
EHS)。また、FNEEGRL=1のときには、ステ
ップS311で、低回転側に設けたヒステリシス幅の下
限値KNEFLEGLを、回転下降時に対応する低回転
側の判定閾値KNEFLEGLとして設定する(KNE
FLEGL←KNEFLEGL)。
【0132】次に、ステップS312へ進み、現在のエ
ンジン回転数NEと低回転側の判定閾値KNEFLEG
Lとを比較する。そして、NE≧KNEFLEGLのと
き、低回転側の条件成立と判定してステップS313で
第1回転数判定フラグFNEEGRLを1にセットし
(FNEEGRL←1)、ステップS315へ進む。ま
た、NE<KNEFLEGLのときには、低回転側の条
件不成立としてステップS314で第1回転数判定フラ
グFNEEGRLを0にクリアし(FNEEGRL←
0)、ステップS315へ進む。
ンジン回転数NEと低回転側の判定閾値KNEFLEG
Lとを比較する。そして、NE≧KNEFLEGLのと
き、低回転側の条件成立と判定してステップS313で
第1回転数判定フラグFNEEGRLを1にセットし
(FNEEGRL←1)、ステップS315へ進む。ま
た、NE<KNEFLEGLのときには、低回転側の条
件不成立としてステップS314で第1回転数判定フラ
グFNEEGRLを0にクリアし(FNEEGRL←
0)、ステップS315へ進む。
【0133】ステップS315では、第2回転数判定フ
ラグFNEEGRHを参照する。そして、FNEEGR
H=1のとき、ステップS316へ進んで高回転側に設
けたヒステリシス幅の下限値KNEFLEGH(例え
ば、3400rpm相当)にヒステリシス幅KNEFL
EHSを加算し、回転上昇時に対応する高回転側の判定
閾値KNEFLEGHとして設定し(KNEFLEGH
←KNEFLEGH+KNEFLEHS)、ステップS
318へ進む。また、FNEEGRH=0のときには、
ステップS317で、高回転側に設けたヒステリシス幅
の下限値KNEFLEGHを、回転下降時に対応する高
回転側の判定閾値KNEFLEGHとして設定し(KN
EFLEGH←KNEFLEGH)、ステップS318
へ進む。
ラグFNEEGRHを参照する。そして、FNEEGR
H=1のとき、ステップS316へ進んで高回転側に設
けたヒステリシス幅の下限値KNEFLEGH(例え
ば、3400rpm相当)にヒステリシス幅KNEFL
EHSを加算し、回転上昇時に対応する高回転側の判定
閾値KNEFLEGHとして設定し(KNEFLEGH
←KNEFLEGH+KNEFLEHS)、ステップS
318へ進む。また、FNEEGRH=0のときには、
ステップS317で、高回転側に設けたヒステリシス幅
の下限値KNEFLEGHを、回転下降時に対応する高
回転側の判定閾値KNEFLEGHとして設定し(KN
EFLEGH←KNEFLEGH)、ステップS318
へ進む。
【0134】ステップS318では、現在のエンジン回
転数NEと高回転側の判定閾値KNEFLEGHとを比
較し、NE≦KNEFLEGHのとき、高回転側の条件
成立と判定してステップS319で第2回転数判定フラ
グFNEEGRHを1にセットして(FNEEGRH←
1)ステップS321以降へ進む。また、NE>KNE
FLEGHのときには、高回転側の条件不成立と判定
し、ステップS318からステップS320へ進んで第
2回転数判定フラグFNEEGRHを0にクリアし(F
NEEGRH←0)、ステップS321以降へ進む。
転数NEと高回転側の判定閾値KNEFLEGHとを比
較し、NE≦KNEFLEGHのとき、高回転側の条件
成立と判定してステップS319で第2回転数判定フラ
グFNEEGRHを1にセットして(FNEEGRH←
1)ステップS321以降へ進む。また、NE>KNE
FLEGHのときには、高回転側の条件不成立と判定
し、ステップS318からステップS320へ進んで第
2回転数判定フラグFNEEGRHを0にクリアし(F
NEEGRH←0)、ステップS321以降へ進む。
【0135】すなわち、図37(a)に示すように、回
転数上昇時には、エンジン回転数NEが低回転側に設け
たヒステリシス幅の上限である判定閾値(KNEFLE
GL+KNEFLEHS)以上で、且つ高回転側に設け
たヒステリシス幅の上限である判定閾値(KNEFLE
GH+KNEFLEHS)以下のとき、回転数条件が成
立する。また、回転下降時には、エンジン回転数NEが
高回転側に設けたヒステリシス幅の下限である判定閾値
KNEFLEGH以下で、且つ、低回転側に設けたヒス
テリシス幅の下限である判定閾値KNEFLEGL以上
のとき、回転数条件が成立する(FNEEGRL=1且
つFNEEGRH=1)。
転数上昇時には、エンジン回転数NEが低回転側に設け
たヒステリシス幅の上限である判定閾値(KNEFLE
GL+KNEFLEHS)以上で、且つ高回転側に設け
たヒステリシス幅の上限である判定閾値(KNEFLE
GH+KNEFLEHS)以下のとき、回転数条件が成
立する。また、回転下降時には、エンジン回転数NEが
高回転側に設けたヒステリシス幅の下限である判定閾値
KNEFLEGH以下で、且つ、低回転側に設けたヒス
テリシス幅の下限である判定閾値KNEFLEGL以上
のとき、回転数条件が成立する(FNEEGRL=1且
つFNEEGRH=1)。
【0136】ステップS321〜S332は、(10)
の条件すなわち吸気管圧力が制御ハンチングを防止する
ためのヒステリシスを低圧側と高圧側とに設けた設定範
囲内にあり、低中負荷域にあるか否かを判定する処理で
ある。本処理においても、システムイニシャライズ時に
共に0に初期化される第1吸気管圧力判定フラグFPM
EGRL及び第2吸気管圧力判定フラグFPMEGRH
を用い、吸気管圧力が設定範囲内にある条件を満足する
とき、FPMEGRL=1且つFPMEGRH=1とす
る。
の条件すなわち吸気管圧力が制御ハンチングを防止する
ためのヒステリシスを低圧側と高圧側とに設けた設定範
囲内にあり、低中負荷域にあるか否かを判定する処理で
ある。本処理においても、システムイニシャライズ時に
共に0に初期化される第1吸気管圧力判定フラグFPM
EGRL及び第2吸気管圧力判定フラグFPMEGRH
を用い、吸気管圧力が設定範囲内にある条件を満足する
とき、FPMEGRL=1且つFPMEGRH=1とす
る。
【0137】このため、ステップS321では、第1吸
気管圧力判定フラグFPMEGRLを参照し、FPME
GRL=0で、ルーチン初回のとき、或いは前回ルーチ
ン実行時においてアクセル踏み込み量の大きい高負荷運
転状態(加速運転状態)のときには、ステップS322
で、低圧側に設けたヒステリシスの下限値KPMFLE
GL(例えば、224mmHg相当)にヒステリシス幅
KPMFLEHS(例えば、98mmHg相当)を加算
し、圧力上昇時に対応する低圧側の判定閾値KPMFL
EGLとして設定する(KPMFLEGL←KPMFL
EGL+KPMFLEHS)。また、ステップS321
において、FPMEGRL=1でアクセル解放状態或い
はアクセル踏み込み量が小さい低負荷運転状態であると
きには、ステップS321からステップS323へ進
み、低圧側に設けたヒステリシス幅の下限値KPMFL
EGLを、圧力下降時に対応する低圧側の判定閾値KP
MFLEGLとして設定する(KPMFLEGL←KP
MFLEGL)。
気管圧力判定フラグFPMEGRLを参照し、FPME
GRL=0で、ルーチン初回のとき、或いは前回ルーチ
ン実行時においてアクセル踏み込み量の大きい高負荷運
転状態(加速運転状態)のときには、ステップS322
で、低圧側に設けたヒステリシスの下限値KPMFLE
GL(例えば、224mmHg相当)にヒステリシス幅
KPMFLEHS(例えば、98mmHg相当)を加算
し、圧力上昇時に対応する低圧側の判定閾値KPMFL
EGLとして設定する(KPMFLEGL←KPMFL
EGL+KPMFLEHS)。また、ステップS321
において、FPMEGRL=1でアクセル解放状態或い
はアクセル踏み込み量が小さい低負荷運転状態であると
きには、ステップS321からステップS323へ進
み、低圧側に設けたヒステリシス幅の下限値KPMFL
EGLを、圧力下降時に対応する低圧側の判定閾値KP
MFLEGLとして設定する(KPMFLEGL←KP
MFLEGL)。
【0138】そして、ステップS322或いはステップ
S323で低圧側の判定閾値KPMFLEGLを設定し
た後、ステップS324へ進み、現在の吸気管圧力PM
と低圧側の判定閾値KPMFLEGLとを比較する。そ
の結果、PM≧KPMFLEGLのとき、低圧側の条件
成立と判定してステップS325で第1吸気管圧力判定
フラグFPMEGRLを1にセットし(FPMEGRL
←1)、ステップS327へ進む。また、PM<KPM
FLEGLのときには、低圧側の条件不成立としてステ
ップS326で第1吸気管圧力判定フラグFPMEGR
Lを0にクリアし(FPMEGRL←0)、ステップS
327へ進む。
S323で低圧側の判定閾値KPMFLEGLを設定し
た後、ステップS324へ進み、現在の吸気管圧力PM
と低圧側の判定閾値KPMFLEGLとを比較する。そ
の結果、PM≧KPMFLEGLのとき、低圧側の条件
成立と判定してステップS325で第1吸気管圧力判定
フラグFPMEGRLを1にセットし(FPMEGRL
←1)、ステップS327へ進む。また、PM<KPM
FLEGLのときには、低圧側の条件不成立としてステ
ップS326で第1吸気管圧力判定フラグFPMEGR
Lを0にクリアし(FPMEGRL←0)、ステップS
327へ進む。
【0139】ステップS327では、第2吸気管圧力判
定フラグFPMEGRHを参照する。そして、FPME
GRH=1のとき、ステップS328へ進んで高圧側に
設けたヒステリシス幅の下限値KPMFLEGH(例え
ば、399mmHg相当)にヒステリシス幅KPMFL
EHSを加算し、圧力上昇時に対応する高圧側の判定閾
値KPMFLEGHとして設定し(KPMFLEGH←
KPMFLEGH+KPMFLEHS)、ステップS3
30へ進む。また、FPMEGRH=0のときには、ス
テップS329で、高圧側に設けたヒステリシス幅の下
限値KPMFLEGHを、圧力下降時に対応する高圧側
の判定閾値KPMFLEGHとして設定し(KPMFL
EGH←KPMFLEGH)、ステップS330へ進
む。
定フラグFPMEGRHを参照する。そして、FPME
GRH=1のとき、ステップS328へ進んで高圧側に
設けたヒステリシス幅の下限値KPMFLEGH(例え
ば、399mmHg相当)にヒステリシス幅KPMFL
EHSを加算し、圧力上昇時に対応する高圧側の判定閾
値KPMFLEGHとして設定し(KPMFLEGH←
KPMFLEGH+KPMFLEHS)、ステップS3
30へ進む。また、FPMEGRH=0のときには、ス
テップS329で、高圧側に設けたヒステリシス幅の下
限値KPMFLEGHを、圧力下降時に対応する高圧側
の判定閾値KPMFLEGHとして設定し(KPMFL
EGH←KPMFLEGH)、ステップS330へ進
む。
【0140】ステップS330では、現在の吸気管圧力
PMと高圧側の判定閾値KPMFLEGHとを比較し、
PM≦KPMFLEGHのとき、高圧側の条件成立と判
定してステップS331で第2吸気管圧力判定フラグF
PMEGRHを1にセットして(FPMEGRH←1)
ステップS333以降へ進む。また、PM>KPMFL
EGHのときには、高圧側の条件不成立と判定し、ステ
ップS330からステップS332へ進んで第2吸気管
圧力判定フラグFPMEGRHを0にクリアし(FPM
EGRH←0)、ステップS333以降へ進む。
PMと高圧側の判定閾値KPMFLEGHとを比較し、
PM≦KPMFLEGHのとき、高圧側の条件成立と判
定してステップS331で第2吸気管圧力判定フラグF
PMEGRHを1にセットして(FPMEGRH←1)
ステップS333以降へ進む。また、PM>KPMFL
EGHのときには、高圧側の条件不成立と判定し、ステ
ップS330からステップS332へ進んで第2吸気管
圧力判定フラグFPMEGRHを0にクリアし(FPM
EGRH←0)、ステップS333以降へ進む。
【0141】すなわち、図37(b)に示すように、圧
力上昇時には、吸気管圧力PMが低圧側に設けたヒステ
リシス幅の上限である判定閾値(KPMFLEGL+K
PMFLEHS)以上で、且つ高圧側に設けたヒステリ
シス幅の上限である判定閾値(KPMFLEGH+KP
MFLEHS)以下のとき、吸気管圧力条件が成立す
る。また、圧力下降時には、吸気管圧力PMが高圧側に
設けたヒステリシス幅の下限である判定閾値KPMFL
EGH以下で、且つ、低圧側に設けたヒステリシス幅の
下限である判定閾値KPMFLEGL以上のとき、吸気
管圧力条件が成立する(FPMEGRL=1且つFPM
EGRH=1)。
力上昇時には、吸気管圧力PMが低圧側に設けたヒステ
リシス幅の上限である判定閾値(KPMFLEGL+K
PMFLEHS)以上で、且つ高圧側に設けたヒステリ
シス幅の上限である判定閾値(KPMFLEGH+KP
MFLEHS)以下のとき、吸気管圧力条件が成立す
る。また、圧力下降時には、吸気管圧力PMが高圧側に
設けたヒステリシス幅の下限である判定閾値KPMFL
EGH以下で、且つ、低圧側に設けたヒステリシス幅の
下限である判定閾値KPMFLEGL以上のとき、吸気
管圧力条件が成立する(FPMEGRL=1且つFPM
EGRH=1)。
【0142】次のステップS333〜S344は、(1
1)の条件すなわち車速が制御ハンチングを防止するた
めのヒステリシスを上下限に設けた設定範囲内にある通
常走行か否かを判定する処理であり、第1車速判定フラ
グFSPEGRLと第2車速判定フラグFSPEGRH
とを用いて行われる。各フラグFSPEGRL,FSP
EGRHは、システムイニシャライズ時、共に0に初期
化され、車速が設定範囲内にある条件を満足するとき、
FSPEGRL=1且つFSPEGRH=1とする。
1)の条件すなわち車速が制御ハンチングを防止するた
めのヒステリシスを上下限に設けた設定範囲内にある通
常走行か否かを判定する処理であり、第1車速判定フラ
グFSPEGRLと第2車速判定フラグFSPEGRH
とを用いて行われる。各フラグFSPEGRL,FSP
EGRHは、システムイニシャライズ時、共に0に初期
化され、車速が設定範囲内にある条件を満足するとき、
FSPEGRL=1且つFSPEGRH=1とする。
【0143】ステップS333では、第1車速判定フラ
グFSPEGRLを参照し、FSPEGRL=0のと
き、ステップS334で、低速側に設けたヒステリシス
幅の下限値KVSFLEGL(例えば、16Km/h相
当)に、ヒステリシス幅KVSFLEHS(例えば、5
Km/h相当)を加算し、車速上昇時に対応する低速側
の判定閾値KVSFLEGLとしてセットし(KVSF
LEGL←KVSFLEGL+KVSFLEHS)、ス
テップS336へ進む。また、ステップS333でFS
PEGRL=1のときには、ステップS335で、低速
側に設けたヒステリシス幅の下限値KVSFLEGL
を、車速下降時に対応する低速側の判定閾値KVSFL
EGLとしてセットし(KVSFLEGL←KVSFL
EGL)、ステップS336へ進む。
グFSPEGRLを参照し、FSPEGRL=0のと
き、ステップS334で、低速側に設けたヒステリシス
幅の下限値KVSFLEGL(例えば、16Km/h相
当)に、ヒステリシス幅KVSFLEHS(例えば、5
Km/h相当)を加算し、車速上昇時に対応する低速側
の判定閾値KVSFLEGLとしてセットし(KVSF
LEGL←KVSFLEGL+KVSFLEHS)、ス
テップS336へ進む。また、ステップS333でFS
PEGRL=1のときには、ステップS335で、低速
側に設けたヒステリシス幅の下限値KVSFLEGL
を、車速下降時に対応する低速側の判定閾値KVSFL
EGLとしてセットし(KVSFLEGL←KVSFL
EGL)、ステップS336へ進む。
【0144】ステップS336では、現在の車速VSP
と低速側の判定閾値KVSFLEGLとを比較する。そ
して、VSP≧KVSFLEGLのときには、低速側の
条件成立と判定してステップS337で第1車速判定フ
ラグFSPEGRLを1にセットして(FSPEGRL
←1)ステップS339へ進み、VSP<KVSFLE
GLのときには、低速側の条件不成立と判定してステッ
プS338で第1車速判定フラグFSPEGRLを0に
クリアし(FSPEGRL←0)、ステップS339へ
進む。
と低速側の判定閾値KVSFLEGLとを比較する。そ
して、VSP≧KVSFLEGLのときには、低速側の
条件成立と判定してステップS337で第1車速判定フ
ラグFSPEGRLを1にセットして(FSPEGRL
←1)ステップS339へ進み、VSP<KVSFLE
GLのときには、低速側の条件不成立と判定してステッ
プS338で第1車速判定フラグFSPEGRLを0に
クリアし(FSPEGRL←0)、ステップS339へ
進む。
【0145】続くステップS339では、第2車速判定
フラグFSPEGRHを参照し、FSPEGRH=1の
とき、ステップS340で、高速側に設けたヒステリシ
ス幅の下限値KVSFLEGH(例えば、110Km/
h相当)に、ヒステリシス幅KVSFLEHSを加算
し、車速上昇時に対応する高速側の判定閾値KVSFL
EGHとしてセットし(KVSFLEGH←KVSFL
EGH+KVSFLEHS)、ステップS342へ進
む。また、ステップS339でFSPEGRH=0のと
きには、ステップS341で、高速側に設けたヒステリ
シス幅の下限値KVSFLEGHを、車速下降時に対応
する高速側の判定閾値KVSFLEGHとしてセットし
(KVSFLEGH←KVSFLEGH)、ステップS
342へ進む。
フラグFSPEGRHを参照し、FSPEGRH=1の
とき、ステップS340で、高速側に設けたヒステリシ
ス幅の下限値KVSFLEGH(例えば、110Km/
h相当)に、ヒステリシス幅KVSFLEHSを加算
し、車速上昇時に対応する高速側の判定閾値KVSFL
EGHとしてセットし(KVSFLEGH←KVSFL
EGH+KVSFLEHS)、ステップS342へ進
む。また、ステップS339でFSPEGRH=0のと
きには、ステップS341で、高速側に設けたヒステリ
シス幅の下限値KVSFLEGHを、車速下降時に対応
する高速側の判定閾値KVSFLEGHとしてセットし
(KVSFLEGH←KVSFLEGH)、ステップS
342へ進む。
【0146】ステップS342では、現在の車速VSP
と高速側の判定閾値KVSFLEGHとを比較する。そ
して、VSP≦KVSFLEGHのときには、高速側の
条件成立と判定してステップS343で第2車速判定フ
ラグFSPEGRHを1にセットして(FSPEGRH
←1)してステップS345以降へ進み、VSP>KV
SFLEGHのとき、高速側の条件不成立と判定してス
テップS344で第2車速判定フラグFSPEGRHを
0にクリアし(FSPEGRH←0)、ステップS34
5以降へ進む。
と高速側の判定閾値KVSFLEGHとを比較する。そ
して、VSP≦KVSFLEGHのときには、高速側の
条件成立と判定してステップS343で第2車速判定フ
ラグFSPEGRHを1にセットして(FSPEGRH
←1)してステップS345以降へ進み、VSP>KV
SFLEGHのとき、高速側の条件不成立と判定してス
テップS344で第2車速判定フラグFSPEGRHを
0にクリアし(FSPEGRH←0)、ステップS34
5以降へ進む。
【0147】すなわち、図37(c)に示すように、現
在の車速VSPが、車速上昇時には低速側に設けたヒス
テリシス幅の上限である判定閾値(KVSFLEGL+
KVSFLEHS)以上で、且つ高速側に設けたヒステ
リシス幅の上限である判定閾値(KVSFLEGH+K
VSFLEHS)以下のとき、車速条件が成立する。ま
た、車速下降時には、車速VSPが高速側に設けたヒス
テリシス幅の下限である判定閾値KVSFLEGH以下
で、且つ、低速側に設けたヒステリシス幅の下限である
判定閾値KVSFLEGL以上のとき、車速条件が成立
する(FSPEGRL=1且つFSPEGRH=1)。
在の車速VSPが、車速上昇時には低速側に設けたヒス
テリシス幅の上限である判定閾値(KVSFLEGL+
KVSFLEHS)以上で、且つ高速側に設けたヒステ
リシス幅の上限である判定閾値(KVSFLEGH+K
VSFLEHS)以下のとき、車速条件が成立する。ま
た、車速下降時には、車速VSPが高速側に設けたヒス
テリシス幅の下限である判定閾値KVSFLEGH以下
で、且つ、低速側に設けたヒステリシス幅の下限である
判定閾値KVSFLEGL以上のとき、車速条件が成立
する(FSPEGRL=1且つFSPEGRH=1)。
【0148】以上のエンジン回転数条件、吸気管圧力条
件、車速条件を調べた後は、ステップS345〜S35
0で、それぞれ、第1回転数判定フラグFNEEGR
L、第2回転数判定フラグFNEEGRH、第1吸気管
圧力判定フラグFPMEGRL、第2吸気管圧力判定フ
ラグFPMEGRH、第1車速判定フラグFSPEGR
L、第2車速判定フラグFSPEGRHの値を調べる。
そして、各判定フラグFNEEGRL,FNEEGR
H,FPMEGRL,FPMEGRH,FSPEGR
L,FSPEGRHのうち、一つでも値が0のフラグが
ある場合には、EGRリミットガード目標値更新条件不
成立と判定し、全てのフラグFNEEGRL,FNEE
GRH,FPMEGRL,FPMEGRH,FSPEG
RL,FSPEGRHが1の場合、すなわち、回転数条
件、吸気管圧力条件、車速条件が全て成立する場合、ス
テップS351へ進む。
件、車速条件を調べた後は、ステップS345〜S35
0で、それぞれ、第1回転数判定フラグFNEEGR
L、第2回転数判定フラグFNEEGRH、第1吸気管
圧力判定フラグFPMEGRL、第2吸気管圧力判定フ
ラグFPMEGRH、第1車速判定フラグFSPEGR
L、第2車速判定フラグFSPEGRHの値を調べる。
そして、各判定フラグFNEEGRL,FNEEGR
H,FPMEGRL,FPMEGRH,FSPEGR
L,FSPEGRHのうち、一つでも値が0のフラグが
ある場合には、EGRリミットガード目標値更新条件不
成立と判定し、全てのフラグFNEEGRL,FNEE
GRH,FPMEGRL,FPMEGRH,FSPEG
RL,FSPEGRHが1の場合、すなわち、回転数条
件、吸気管圧力条件、車速条件が全て成立する場合、ス
テップS351へ進む。
【0149】ステップS351では、(1)〜(11)
の全ての条件が設定値KTLEGD(例えば、1500
msec相当)により定まる設定時間以上連続して成立
するか否かを調べる。そして、(1)〜(11)の条件
を満足する時間が設定時間に達していないときには、E
GRリミットガード目標値更新条件不成立と判定し、条
件成立の時間が設定時間継続しているときには、EGR
リミットガード目標値更新を許可すべくステップS35
2でEGRリミットガード目標値更新条件成立フラグF
FLEGDを1にセットし(FFLEGD←1)、ルー
チンを抜ける。
の全ての条件が設定値KTLEGD(例えば、1500
msec相当)により定まる設定時間以上連続して成立
するか否かを調べる。そして、(1)〜(11)の条件
を満足する時間が設定時間に達していないときには、E
GRリミットガード目標値更新条件不成立と判定し、条
件成立の時間が設定時間継続しているときには、EGR
リミットガード目標値更新を許可すべくステップS35
2でEGRリミットガード目標値更新条件成立フラグF
FLEGDを1にセットし(FFLEGD←1)、ルー
チンを抜ける。
【0150】以上のEGRリミットガード目標値更新条
件成立フラグFFLEGDは、図38〜図41のEGR
リミットガード目標値更新サブルーチンで参照される。
次に、EGRリミットガード目標値更新サブルーチンに
ついて説明する。
件成立フラグFFLEGDは、図38〜図41のEGR
リミットガード目標値更新サブルーチンで参照される。
次に、EGRリミットガード目標値更新サブルーチンに
ついて説明する。
【0151】EGRリミットガード目標値更新サブルー
チンでは、先ず、ステップS400で、EGRリミット
ガード目標値更新条件成立フラグFFLEGDを参照す
る。そして、FFLEGD=0で更新禁止のときには、
ステップS401で、以下に説明するように、EGRリ
ミットガード目標値FLEGDを設定時間毎に減少更新
するため、更新後の経過時間を計時するタイマTMFI
LD1を0にクリアして(TMFILD1←0)ルーチ
ンを抜け、FFLEGD=1で更新が許可されていると
き、ステップS402以降へ進み、指標最大値FILD
MPMAXが上限に張り付いている場合と張り付いてい
ない場合とに分けてEGRリミットガード目標値FLE
GDの更新を行う。
チンでは、先ず、ステップS400で、EGRリミット
ガード目標値更新条件成立フラグFFLEGDを参照す
る。そして、FFLEGD=0で更新禁止のときには、
ステップS401で、以下に説明するように、EGRリ
ミットガード目標値FLEGDを設定時間毎に減少更新
するため、更新後の経過時間を計時するタイマTMFI
LD1を0にクリアして(TMFILD1←0)ルーチ
ンを抜け、FFLEGD=1で更新が許可されていると
き、ステップS402以降へ進み、指標最大値FILD
MPMAXが上限に張り付いている場合と張り付いてい
ない場合とに分けてEGRリミットガード目標値FLE
GDの更新を行う。
【0152】すなわち、ステップS402で、前述のサ
ージレベル指標値算出サブルーチンにおいて設定された
指標最大値上限張り付き判定フラグFFILDMAXを
参照し、FFILDMAX=1で指標最大値FILDM
PMAXが上限に張り付いているときには、ステップS
403以降でEGRリミットガード目標値FLEGDを
設定時間毎に一定値ずつ減少させ、FFILDMAX=
0で指標最大値FILDMPMAXが上限に張り付いて
いない場合には、ステップS407以降へ分岐してサー
ジレベルの変化の度合いに応じてEGRリミットガード
目標値FLEGDを減少或いは増加させる処理を行う。
ージレベル指標値算出サブルーチンにおいて設定された
指標最大値上限張り付き判定フラグFFILDMAXを
参照し、FFILDMAX=1で指標最大値FILDM
PMAXが上限に張り付いているときには、ステップS
403以降でEGRリミットガード目標値FLEGDを
設定時間毎に一定値ずつ減少させ、FFILDMAX=
0で指標最大値FILDMPMAXが上限に張り付いて
いない場合には、ステップS407以降へ分岐してサー
ジレベルの変化の度合いに応じてEGRリミットガード
目標値FLEGDを減少或いは増加させる処理を行う。
【0153】先ず、指標最大値FILDMPMAXが上
限に張り付いている場合について説明する。ステップS
403ではEGRリミットガード目標値更新後の経過時
間を計時するタイマTMFILD1が設定値KTSFI
LD1(例えば、80msec相当)に達したか否かを
調べる。そして、TMFILD1<KTSFILD1の
とき、ステップS404でタイマTMFILD1をカウ
ントアップ(TMFILD1←TMFILD1+1)し
てステップS432へジャンプし、ステップS432以
降でEGRリミットガード目標値FLEGDの上下限規
制(詳細は後述)を行ってルーチンを抜ける。
限に張り付いている場合について説明する。ステップS
403ではEGRリミットガード目標値更新後の経過時
間を計時するタイマTMFILD1が設定値KTSFI
LD1(例えば、80msec相当)に達したか否かを
調べる。そして、TMFILD1<KTSFILD1の
とき、ステップS404でタイマTMFILD1をカウ
ントアップ(TMFILD1←TMFILD1+1)し
てステップS432へジャンプし、ステップS432以
降でEGRリミットガード目標値FLEGDの上下限規
制(詳細は後述)を行ってルーチンを抜ける。
【0154】また、ステップS403においてTMFI
LD1≧KTSFILD1であり、EGRリミットガー
ド目標値更新後の経過時間が設定時間に達しているとき
には、ステップS405でEGRリミットガード目標値
FLEGDから設定値KDLEGDMT(例えば、0.
78%)を減算してEGRリミットガード目標値FLE
GDを新たな値に更新する(FLEGD←FLEGD−
KDLEGDMT)。そして、ステップS406でタイ
マTMFILD1を0にクリアした後、ステップS41
7へ進み、EGRリミットガード目標値FLEGDを更
新したことを示すEGRリミットガード目標値更新フラ
グFFLEを1にセットする(FFLE←1)。
LD1≧KTSFILD1であり、EGRリミットガー
ド目標値更新後の経過時間が設定時間に達しているとき
には、ステップS405でEGRリミットガード目標値
FLEGDから設定値KDLEGDMT(例えば、0.
78%)を減算してEGRリミットガード目標値FLE
GDを新たな値に更新する(FLEGD←FLEGD−
KDLEGDMT)。そして、ステップS406でタイ
マTMFILD1を0にクリアした後、ステップS41
7へ進み、EGRリミットガード目標値FLEGDを更
新したことを示すEGRリミットガード目標値更新フラ
グFFLEを1にセットする(FFLE←1)。
【0155】続くステップS418では、指標最大値張
り付き条件成立下でのEGRリミットガード目標値FL
EGDの更新後の経過時間、或いは、指標最大値張り付
き条件非成立下での以下に説明するサージレベルの変化
に応じたEGRリミットガード目標値FLEGDの更新
後の経過時間を計時するタイマTMFILD4を0にク
リアする(TMFILD4←0)。そして、EGRリミ
ットガード目標値FLEGDの上下限規制を行なう後述
のステップS432以降へ進む。
り付き条件成立下でのEGRリミットガード目標値FL
EGDの更新後の経過時間、或いは、指標最大値張り付
き条件非成立下での以下に説明するサージレベルの変化
に応じたEGRリミットガード目標値FLEGDの更新
後の経過時間を計時するタイマTMFILD4を0にク
リアする(TMFILD4←0)。そして、EGRリミ
ットガード目標値FLEGDの上下限規制を行なう後述
のステップS432以降へ進む。
【0156】一方、ステップS402においてFFIL
DMAX=0であり、指標最大値FILDMPMAXが
上限に張り付いていない場合には、ステップS407で
タイマTMFILD1を0にクリアし(TMFILD1
←0)、ステップS408で、前述のサージレベル検出
サブルーチンで設定されるサージレベル初期化フラグF
SURINIを参照する。そして、FSURINI=1
であり、サージレベル初期化時であるときには、ステッ
プS408からEGRリミットガード目標値FLEGD
の上下限規制を行う後述のステップS432以降へ進
み、FSURINI=0のとき、ステップS408から
ステップS409以降へ進んで、(i)サージレベル0又
は1からサージレベル3に変化した場合、(ii)サージレ
ベル2からサージレベル3に変化した場合、(iii)サー
ジレベル0又は1からサージレベル2に変化した場合、
(iv)それ以外の場合に区分してEGRリミットガード目
標値FLEGDを更新する。
DMAX=0であり、指標最大値FILDMPMAXが
上限に張り付いていない場合には、ステップS407で
タイマTMFILD1を0にクリアし(TMFILD1
←0)、ステップS408で、前述のサージレベル検出
サブルーチンで設定されるサージレベル初期化フラグF
SURINIを参照する。そして、FSURINI=1
であり、サージレベル初期化時であるときには、ステッ
プS408からEGRリミットガード目標値FLEGD
の上下限規制を行う後述のステップS432以降へ進
み、FSURINI=0のとき、ステップS408から
ステップS409以降へ進んで、(i)サージレベル0又
は1からサージレベル3に変化した場合、(ii)サージレ
ベル2からサージレベル3に変化した場合、(iii)サー
ジレベル0又は1からサージレベル2に変化した場合、
(iv)それ以外の場合に区分してEGRリミットガード目
標値FLEGDを更新する。
【0157】このため、ステップS409では、サージ
レベルが0→3に変化したか否かを調べ、0→3に変化
したとき、ステップS411へ進み、サージレベルが0
→3へ変化していないときには、更に、ステップS41
0でサージレベルが1→3に変化したか否かを調べる。
そして、サージレベルが1→3に変化したとき、ステッ
プS410からステップS411へ進む。
レベルが0→3に変化したか否かを調べ、0→3に変化
したとき、ステップS411へ進み、サージレベルが0
→3へ変化していないときには、更に、ステップS41
0でサージレベルが1→3に変化したか否かを調べる。
そして、サージレベルが1→3に変化したとき、ステッ
プS410からステップS411へ進む。
【0158】サージレベル0又は1からサージレベル3
に変化した場合、ステップS411では、EGRリミッ
トガード目標値FLEGDから設定値KSFILD31
(例えば、3.9%)を減算し、EGRリミットガード
目標値FLEGDを減少更新する(FLEGD←FLE
GD−KSFILD31)。設定値KSFILD31
は、EGRリミットガード目標値FLEGDを急速に減
少させるものであり、サージレベルが急速に大きくなっ
たとき、この設定値KSFILD31によってEGRリ
ミットガード目標値FLEGDを急速に減少させること
でEGR流量を減少させ、EGR過多による燃焼悪化に
伴うサージを解消する。そして、EGRリミットガード
目標値更新フラグFFLEを1にセットする前述のステ
ップS417、及びタイマTMFILD4を0にクリア
する前述のステップS418を経てEGRリミットガー
ド目標値FLEGDの上下限規制を行う後述のステップ
S432以降へ進む。
に変化した場合、ステップS411では、EGRリミッ
トガード目標値FLEGDから設定値KSFILD31
(例えば、3.9%)を減算し、EGRリミットガード
目標値FLEGDを減少更新する(FLEGD←FLE
GD−KSFILD31)。設定値KSFILD31
は、EGRリミットガード目標値FLEGDを急速に減
少させるものであり、サージレベルが急速に大きくなっ
たとき、この設定値KSFILD31によってEGRリ
ミットガード目標値FLEGDを急速に減少させること
でEGR流量を減少させ、EGR過多による燃焼悪化に
伴うサージを解消する。そして、EGRリミットガード
目標値更新フラグFFLEを1にセットする前述のステ
ップS417、及びタイマTMFILD4を0にクリア
する前述のステップS418を経てEGRリミットガー
ド目標値FLEGDの上下限規制を行う後述のステップ
S432以降へ進む。
【0159】一方、サージレベル0又は1からサージレ
ベル3に変化していないときには、ステップS410か
らステップS412へ進み、サージレベルが2→3に変
化したか否かを調べる。そして、サージレベルが2→3
に変化したとき、ステップS413でEGRリミットガ
ード目標値FLEGDから設定値KSFILD32(例
えば、1.95%)を減算してEGRリミットガード目
標値FLEGDを減少更新し(FLEGD←FLEGD
−KSFILD32)、同様に、前述のステップS41
7,S418を経てステップS432以降へ進む。
ベル3に変化していないときには、ステップS410か
らステップS412へ進み、サージレベルが2→3に変
化したか否かを調べる。そして、サージレベルが2→3
に変化したとき、ステップS413でEGRリミットガ
ード目標値FLEGDから設定値KSFILD32(例
えば、1.95%)を減算してEGRリミットガード目
標値FLEGDを減少更新し(FLEGD←FLEGD
−KSFILD32)、同様に、前述のステップS41
7,S418を経てステップS432以降へ進む。
【0160】また、サージレベルが2→3に変化してい
ないときには、ステップS412からステップS414
へ進んでサージレベルが0→2へ変化したか否かを調べ
る。そして、サージレベルレベルが0→2へ変化したと
き、ステップS416へジャンプし、サージレベルが0
→2に変化していないときには、更にステップS415
でサージレベルが1→2に変化したか否かを調べ、サー
ジレベルが1→2に変化したとき、ステップS416へ
進む。
ないときには、ステップS412からステップS414
へ進んでサージレベルが0→2へ変化したか否かを調べ
る。そして、サージレベルレベルが0→2へ変化したと
き、ステップS416へジャンプし、サージレベルが0
→2に変化していないときには、更にステップS415
でサージレベルが1→2に変化したか否かを調べ、サー
ジレベルが1→2に変化したとき、ステップS416へ
進む。
【0161】ステップS416では、EGRリミットガ
ード目標値FLEGDから設定値KSFILD21(例
えば、1.95%)を減算してEGRリミットガード目
標値FLEGDを減少更新する(FLEGD←FLEG
D−KSFILD21)。そして、同様に、前述のステ
ップS417,S418を経てステップS432以降へ
進む。
ード目標値FLEGDから設定値KSFILD21(例
えば、1.95%)を減算してEGRリミットガード目
標値FLEGDを減少更新する(FLEGD←FLEG
D−KSFILD21)。そして、同様に、前述のステ
ップS417,S418を経てステップS432以降へ
進む。
【0162】すなわち、サージレベル2からサージレベ
ル3、サージレベル0又は1からサージレベル2に移行
し、サージが大きくなったものの、サージの変化が小〜
中程度の場合には、設定値KSFILD32或いは設定
値KSFILD21によってEGRリミットガード目標
値FLEGDの減衰量をサージレベルが急速に大きくな
った場合よりも少なくし、過補正を防止しつつサージを
解消する。
ル3、サージレベル0又は1からサージレベル2に移行
し、サージが大きくなったものの、サージの変化が小〜
中程度の場合には、設定値KSFILD32或いは設定
値KSFILD21によってEGRリミットガード目標
値FLEGDの減衰量をサージレベルが急速に大きくな
った場合よりも少なくし、過補正を防止しつつサージを
解消する。
【0163】一方、ステップS415においてサージレ
ベルが1→2に変化していないときには、ステップS4
15からステップS419へ分岐してEGRリミットガ
ード目標値更新フラグFFLEを参照する。そして、F
FLE=0であり、EGRリミットガード目標値FLE
GDが更新されていないときには、ステップS424へ
ジャンプし、FFLE=1でEGRリミットガード目標
値FLEGDの更新が実施されているときには、ステッ
プS420でタイマTMFILD4を設定値KTSFI
LD4(例えば、2000msec相当)と比較し、T
MFILD4≦KTSFILD4のとき、ステップS4
21でタイマTMFILD4をカウントアップして(T
MFILD4←TMFILD4+1)ルーチンを抜け
る。
ベルが1→2に変化していないときには、ステップS4
15からステップS419へ分岐してEGRリミットガ
ード目標値更新フラグFFLEを参照する。そして、F
FLE=0であり、EGRリミットガード目標値FLE
GDが更新されていないときには、ステップS424へ
ジャンプし、FFLE=1でEGRリミットガード目標
値FLEGDの更新が実施されているときには、ステッ
プS420でタイマTMFILD4を設定値KTSFI
LD4(例えば、2000msec相当)と比較し、T
MFILD4≦KTSFILD4のとき、ステップS4
21でタイマTMFILD4をカウントアップして(T
MFILD4←TMFILD4+1)ルーチンを抜け
る。
【0164】すなわち、EGRリミットガード目標値F
LEGDの指標最大値張り付き条件成立下での減少更新
或いはサージレベルの変化に応じた減少更新後、設定値
KTSFILD4により定まる所定時間に達するまでの
間、EGRリミットガード目標値FLEGDの値を保持
し、EGRリミットガード目標値FLEGDの増加更新
を中止してEGR制御性の向上及び安定化を図る。
LEGDの指標最大値張り付き条件成立下での減少更新
或いはサージレベルの変化に応じた減少更新後、設定値
KTSFILD4により定まる所定時間に達するまでの
間、EGRリミットガード目標値FLEGDの値を保持
し、EGRリミットガード目標値FLEGDの増加更新
を中止してEGR制御性の向上及び安定化を図る。
【0165】また、ステップS420でTMFILD4
>KTSFILD4のときには、ステップS422,S
423で、それぞれ、EGRリミットガード目標値更新
フラグFFLE、タイマTMFILD4を0にクリアす
る(FFLE←0、TMFILD4←0)。そして、ス
テップS424でサージレベルの0→1への変化を検出
後、設定値KTSFILD3(例えば、2000mse
c相当)により定まる経過時間以内であるかを調べ、こ
の経過時間以内であるときにはルーチンを抜ける。
>KTSFILD4のときには、ステップS422,S
423で、それぞれ、EGRリミットガード目標値更新
フラグFFLE、タイマTMFILD4を0にクリアす
る(FFLE←0、TMFILD4←0)。そして、ス
テップS424でサージレベルの0→1への変化を検出
後、設定値KTSFILD3(例えば、2000mse
c相当)により定まる経過時間以内であるかを調べ、こ
の経過時間以内であるときにはルーチンを抜ける。
【0166】すなわち、サージレベル無しの状態から微
小サージが生じた場合においても、設定値KTSFIL
D3により定まる設定時間を越えるまでの間、EGRリ
ミットガード目標値FLEGDの値を保持して増加更新
を中止し、EGR制御性の向上及び安定化を図る。
小サージが生じた場合においても、設定値KTSFIL
D3により定まる設定時間を越えるまでの間、EGRリ
ミットガード目標値FLEGDの値を保持して増加更新
を中止し、EGR制御性の向上及び安定化を図る。
【0167】その後、EGRリミットガード目標値FL
EGDの値を保持したまま、サージレベルの0→1への
変化を検出した後の経過時間が設定値KTSFILD3
により定まる時間を越えたとき、ステップS424から
ステップS425へ進んで指標最大値FILDMPMA
Xを判定値KFILDSL(例えば、2500相当)と
比較する。そして、FILDMPMAX>KFILDS
Lでサージが生じていると判断されるときには、ルーチ
ンを抜けてEGRリミットガード目標値FLEGDの増
加更新を中止し、EGR流量の増加に伴うサージの増大
を防止する。尚、ステップS425で指標最大値FIL
DMPMAXを参照するのは、サージレベル指標値DF
ILDMPによるサージレベルの検出結果を待つことな
く、直接的にサージの程度を判断するためである。
EGDの値を保持したまま、サージレベルの0→1への
変化を検出した後の経過時間が設定値KTSFILD3
により定まる時間を越えたとき、ステップS424から
ステップS425へ進んで指標最大値FILDMPMA
Xを判定値KFILDSL(例えば、2500相当)と
比較する。そして、FILDMPMAX>KFILDS
Lでサージが生じていると判断されるときには、ルーチ
ンを抜けてEGRリミットガード目標値FLEGDの増
加更新を中止し、EGR流量の増加に伴うサージの増大
を防止する。尚、ステップS425で指標最大値FIL
DMPMAXを参照するのは、サージレベル指標値DF
ILDMPによるサージレベルの検出結果を待つことな
く、直接的にサージの程度を判断するためである。
【0168】また、ステップS425においてFILD
MPMAX≦KFILDSLであり、サージが解消され
て安定状態にあると判断されるときには、ステップS4
26以降へ進んでEGRリミットガード目標値FLEG
Dの増加更新を行い、EGR流量を増加させる。すなわ
ち、ステップS426で、EGRリミットガード目標値
FLEGDを設定時間毎に更新するためのタイマTMF
ILD2を設定値KTSFILD2(例えば、250m
sec相当)と比較し、TMFILD2<KTSFIL
D2のときには、ステップS427でタイマTMFIL
D2をカウントアップして(TMFILD2←TMFI
LD2+1)ルーチンを抜け、TMFILD2≧KTS
FILD2のとき、ステップS428でタイマTMFI
LD2を0にクリアし(TMFILD2←0)、ステッ
プS429へ進む。
MPMAX≦KFILDSLであり、サージが解消され
て安定状態にあると判断されるときには、ステップS4
26以降へ進んでEGRリミットガード目標値FLEG
Dの増加更新を行い、EGR流量を増加させる。すなわ
ち、ステップS426で、EGRリミットガード目標値
FLEGDを設定時間毎に更新するためのタイマTMF
ILD2を設定値KTSFILD2(例えば、250m
sec相当)と比較し、TMFILD2<KTSFIL
D2のときには、ステップS427でタイマTMFIL
D2をカウントアップして(TMFILD2←TMFI
LD2+1)ルーチンを抜け、TMFILD2≧KTS
FILD2のとき、ステップS428でタイマTMFI
LD2を0にクリアし(TMFILD2←0)、ステッ
プS429へ進む。
【0169】ステップS429では、図42の安定指標
パラメータ算出ルーチンで所定周期毎(例えば、10m
sec毎)に算出される安定指標パラメータSFILD
Nと判定閾値KFLEUPSF(例えば、500相当)
とを比較する。安定指標パラメータSFILDNは、サ
ージ(回転変動)の変化度合いを評価してエンジン安定
状態を表す指標とするものであり、エンジンの回転変動
を表わす指標値FILDMPの加重平均値を回転補正し
て算出される。また、判定閾値KFLEUPSFは、回
転変動が比較的大きい状況を判定するためのものであ
る。
パラメータ算出ルーチンで所定周期毎(例えば、10m
sec毎)に算出される安定指標パラメータSFILD
Nと判定閾値KFLEUPSF(例えば、500相当)
とを比較する。安定指標パラメータSFILDNは、サ
ージ(回転変動)の変化度合いを評価してエンジン安定
状態を表す指標とするものであり、エンジンの回転変動
を表わす指標値FILDMPの加重平均値を回転補正し
て算出される。また、判定閾値KFLEUPSFは、回
転変動が比較的大きい状況を判定するためのものであ
る。
【0170】ここで、図42の安定指標パラメータ算出
ルーチンについて説明する。このルーチンは、先ず、ス
テップS500で、指標値FILDMPを加重平均の重
みKSFILR(例えば、160)を用いて以下の式に
より加重平均し、指標値加重平均値SFILDを算出す
る。 SFILD←(SFILD×(KSFILR−1)+F
ILDMP)/KSFILR
ルーチンについて説明する。このルーチンは、先ず、ス
テップS500で、指標値FILDMPを加重平均の重
みKSFILR(例えば、160)を用いて以下の式に
より加重平均し、指標値加重平均値SFILDを算出す
る。 SFILD←(SFILD×(KSFILR−1)+F
ILDMP)/KSFILR
【0171】次にステップS501へ進み、エンジン回
転数NEをパラメータとして図43に示す回転補正係数
テーブルを参照し、補間計算によって回転補正係数SF
Nを設定する。更に、ステップS502で指標値加重平
均値SFILDに回転補正係数SFNを乗算して回転補
正を行って安定指標パラメータSFILDNを算出し
(SFILDN←SFILD×SFN)、ルーチンを抜
ける。
転数NEをパラメータとして図43に示す回転補正係数
テーブルを参照し、補間計算によって回転補正係数SF
Nを設定する。更に、ステップS502で指標値加重平
均値SFILDに回転補正係数SFNを乗算して回転補
正を行って安定指標パラメータSFILDNを算出し
(SFILDN←SFILD×SFN)、ルーチンを抜
ける。
【0172】そして、以上の安定指標パラメータSFI
LDNを用いたEGRリミットガード目標値更新サブル
ーチンのステップS429での比較結果、SFILDN
>KFLEUPSFで回転変動が比較的大きい場合に
は、ステップS430で、EGRリミットガード目標値
FLEGDに設定値KDLEGDP1(例えば、0.2
%)を加算してEGRリミットガード目標値FLEGD
を増加更新(FLEGD←FLEGD+KDLEGDP
1)し、ステップS432以降へ進む。ステップS43
2以降は、EGRリミットガード目標値FLEGDの上
下限規制を行う処理である。
LDNを用いたEGRリミットガード目標値更新サブル
ーチンのステップS429での比較結果、SFILDN
>KFLEUPSFで回転変動が比較的大きい場合に
は、ステップS430で、EGRリミットガード目標値
FLEGDに設定値KDLEGDP1(例えば、0.2
%)を加算してEGRリミットガード目標値FLEGD
を増加更新(FLEGD←FLEGD+KDLEGDP
1)し、ステップS432以降へ進む。ステップS43
2以降は、EGRリミットガード目標値FLEGDの上
下限規制を行う処理である。
【0173】設定値KDLEGDP1は、EGRリミッ
トガード目標値FLEGDの増加更新量を比較的小さく
抑えるものであり、安定指標パラメータSFILDNか
ら回転変動が比較的大きいと判定される場合、設定値K
TSFILD2により定まる所定時間毎のEGRリミッ
トガード目標値FLEGDの増加更新量を少なくして増
加速度を減少させ、EGR過多による燃焼の悪化に起因
するエンジン回転変動を抑制する。
トガード目標値FLEGDの増加更新量を比較的小さく
抑えるものであり、安定指標パラメータSFILDNか
ら回転変動が比較的大きいと判定される場合、設定値K
TSFILD2により定まる所定時間毎のEGRリミッ
トガード目標値FLEGDの増加更新量を少なくして増
加速度を減少させ、EGR過多による燃焼の悪化に起因
するエンジン回転変動を抑制する。
【0174】また、ステップS429においてSFIL
DN≦KFLEUPSFで回転変動が小さいときには、
ステップS431へ進み、EGRリミットガード目標値
FLEGDに上述の設定値KDLEGDP1よりも大き
い設定値KDLEGDP2(例えば、0.4%)を加算
し、EGRリミットガード目標値FLEGDを増加更新
(FLEGD←FLEGD+KDLEGDP2)する。
そして、ステップS431からステップS432以降へ
進む。
DN≦KFLEUPSFで回転変動が小さいときには、
ステップS431へ進み、EGRリミットガード目標値
FLEGDに上述の設定値KDLEGDP1よりも大き
い設定値KDLEGDP2(例えば、0.4%)を加算
し、EGRリミットガード目標値FLEGDを増加更新
(FLEGD←FLEGD+KDLEGDP2)する。
そして、ステップS431からステップS432以降へ
進む。
【0175】すなわち、安定指標パラメータSFILD
Nから回転変動が小さくエンジン安定度合いが高いと判
定される場合には、EGRリミットガード目標値FLE
GDの1回当たりの増加更新量を大きくして増加速度を
上昇させることでEGR流量の増加速度を上昇させ、早
期にEGR流量を増加させて許容限度までの大量EGR
を可能とする。
Nから回転変動が小さくエンジン安定度合いが高いと判
定される場合には、EGRリミットガード目標値FLE
GDの1回当たりの増加更新量を大きくして増加速度を
上昇させることでEGR流量の増加速度を上昇させ、早
期にEGR流量を増加させて許容限度までの大量EGR
を可能とする。
【0176】ステップS432以降は、EGRリミット
ガード目標値FLEGDの上下限規制を行う処理であ
り、ステップS432でEGRリミットガード目標値F
LEGDが上限値KFLEGDMX(例えば、22%)
以下か否かを調べる。そして、FLEGD>KFLEG
DMXのときには、ステップS433でEGRリミット
ガード目標値FLEGDを上限値KFLEGDMXに規
制(FLEGD←KFLEGDMX)してルーチンを抜
ける。
ガード目標値FLEGDの上下限規制を行う処理であ
り、ステップS432でEGRリミットガード目標値F
LEGDが上限値KFLEGDMX(例えば、22%)
以下か否かを調べる。そして、FLEGD>KFLEG
DMXのときには、ステップS433でEGRリミット
ガード目標値FLEGDを上限値KFLEGDMXに規
制(FLEGD←KFLEGDMX)してルーチンを抜
ける。
【0177】また、ステップS432においてFLEG
D≦KFLEGDMXのときには、ステップS432か
らステップS434へ進み、EGRリミットガード目標
値FLEGDが下限値KFLEGDMN(例えば、−2
2%)以上か否かを調べ、FLEGD≧KFLEGDM
Nのときにはそのままルーチンを抜け、FLEGD<K
FLEGDMNのとき、ステップS435で、EGRリ
ミットガード目標値FLEGDを下限値KFLEGDM
Nに規制し(FLEGD←KFLEGDMN)、ルーチ
ンを抜ける。
D≦KFLEGDMXのときには、ステップS432か
らステップS434へ進み、EGRリミットガード目標
値FLEGDが下限値KFLEGDMN(例えば、−2
2%)以上か否かを調べ、FLEGD≧KFLEGDM
Nのときにはそのままルーチンを抜け、FLEGD<K
FLEGDMNのとき、ステップS435で、EGRリ
ミットガード目標値FLEGDを下限値KFLEGDM
Nに規制し(FLEGD←KFLEGDMN)、ルーチ
ンを抜ける。
【0178】次に、以上のEGRリミットガード目標値
FLEGDからEGRリミット値FLEGDBを求める
図44〜図45のEGRリミット値設定サブルーチンに
ついて説明する。EGRリミット値設定サブルーチンで
は、先ず、ステップS600で、EGR許可係数PFL
EGDの更新後の経過時間を計時するためのタイマTM
PFLEGDと、更新周期を定める設定値KTPFLE
GD(例えば、40msec相当値)とを比較し、更新
周期に達したか否かを調べる。
FLEGDからEGRリミット値FLEGDBを求める
図44〜図45のEGRリミット値設定サブルーチンに
ついて説明する。EGRリミット値設定サブルーチンで
は、先ず、ステップS600で、EGR許可係数PFL
EGDの更新後の経過時間を計時するためのタイマTM
PFLEGDと、更新周期を定める設定値KTPFLE
GD(例えば、40msec相当値)とを比較し、更新
周期に達したか否かを調べる。
【0179】そして、TMPFLEGD<KTPFLE
GDの場合、ステップS600からステップS601へ
進んでタイマTMPFLEGDをカウントアップし(T
MPFLEGD←TMPFLEGD+1)、ステップS
619で、EGRリミットガード目標値FLEGDを単
位換算して換算値FLEGDHを求める。そして、ステ
ップS620で、換算値FLEGDHとEGR許可係数
PFLEGDとを乗算してEGRリミット値FLEGD
Bとして算出し(FLEGDB←PFLEGD×FLE
GDH)、ルーチンを抜ける。
GDの場合、ステップS600からステップS601へ
進んでタイマTMPFLEGDをカウントアップし(T
MPFLEGD←TMPFLEGD+1)、ステップS
619で、EGRリミットガード目標値FLEGDを単
位換算して換算値FLEGDHを求める。そして、ステ
ップS620で、換算値FLEGDHとEGR許可係数
PFLEGDとを乗算してEGRリミット値FLEGD
Bとして算出し(FLEGDB←PFLEGD×FLE
GDH)、ルーチンを抜ける。
【0180】また、TMPFLEGD≧KTPFLEG
Dの場合には、ステップS600からステップS602
へ進み、タイマTMPFLEGDをクリアし(TMPF
LEGD←0)、ステップS603でEGR実施可能フ
ラグFEGRを参照する。その結果、FEGR=1でE
GR実施可能と判定されているときには、ステップ60
3からステップS604へ進み、現在のEGR許可係数
PFLEGDに増分値KDLEANP(例えば、0.7
81%)を加算し、EGR許可係数PFLEGDを増加
させて新たな値に更新する(PFLEGD←PFLEG
D+KDLEANP)。
Dの場合には、ステップS600からステップS602
へ進み、タイマTMPFLEGDをクリアし(TMPF
LEGD←0)、ステップS603でEGR実施可能フ
ラグFEGRを参照する。その結果、FEGR=1でE
GR実施可能と判定されているときには、ステップ60
3からステップS604へ進み、現在のEGR許可係数
PFLEGDに増分値KDLEANP(例えば、0.7
81%)を加算し、EGR許可係数PFLEGDを増加
させて新たな値に更新する(PFLEGD←PFLEG
D+KDLEANP)。
【0181】次に、ステップS605へ進み、EGR許
可係数PFLEGDが上限値(1.0)に達したか否か
を調べる。そして、PFLEGD>1.0で上限値に達
しているときには、ステップS606でEGR許可係数
PFLEGDを1.0に固定し(PFLEGD←1.
0)、前述のステップS619,S620で、EGRリ
ミットガード目標値FLEGDの単位換算処理、換算値
FLEGDH及びEGR許可係数PFLEGDからEG
Rリミット値FLEGDBを求める処理を行ってルーチ
ンを抜ける。
可係数PFLEGDが上限値(1.0)に達したか否か
を調べる。そして、PFLEGD>1.0で上限値に達
しているときには、ステップS606でEGR許可係数
PFLEGDを1.0に固定し(PFLEGD←1.
0)、前述のステップS619,S620で、EGRリ
ミットガード目標値FLEGDの単位換算処理、換算値
FLEGDH及びEGR許可係数PFLEGDからEG
Rリミット値FLEGDBを求める処理を行ってルーチ
ンを抜ける。
【0182】一方、ステップS605において、PFL
EGD≦1.0のとき、すなわちEGR禁止(FEGR
=0)からEGR許可(FEGR=1)になってEGR
実施へ移行する過渡状態であるときには、ステップS6
07でEGR許可係数PFLEGDと設定値KPFLE
GDL(例えば、79.6%)とを比較する。設定値K
PFLEGDLは、EGR許可係数PFLEGDを漸次
増加させる際のいわば初期値であり、ステップS607
において、PFLEGD>KPFLEGDLのときに
は、前述のステップS619,S620を経てルーチン
を抜け、PFLEGD≦KPFLEGDLのとき、ステ
ップS608でEGR許可係数PFLEGDに設定値K
PFLEGDLをセットし(PFLEGD←KPFLE
GDL)、前述のステップS619,S620を経てル
ーチンを抜ける。
EGD≦1.0のとき、すなわちEGR禁止(FEGR
=0)からEGR許可(FEGR=1)になってEGR
実施へ移行する過渡状態であるときには、ステップS6
07でEGR許可係数PFLEGDと設定値KPFLE
GDL(例えば、79.6%)とを比較する。設定値K
PFLEGDLは、EGR許可係数PFLEGDを漸次
増加させる際のいわば初期値であり、ステップS607
において、PFLEGD>KPFLEGDLのときに
は、前述のステップS619,S620を経てルーチン
を抜け、PFLEGD≦KPFLEGDLのとき、ステ
ップS608でEGR許可係数PFLEGDに設定値K
PFLEGDLをセットし(PFLEGD←KPFLE
GDL)、前述のステップS619,S620を経てル
ーチンを抜ける。
【0183】そして、ルーチン実行毎にEGR許可係数
PFLEGDを増分値KDLEANPずつ漸次大きく
し、ステップS605においてPFLEGD>1.0に
なると、ステップS605からステップS606へ進ん
でEGR許可係数PFLEGDを1.0に固定した後、
前述のステップS619,S620で、EGRリミット
ガード目標値FLEGDの単位換算処理、換算値FLE
GDH及びEGR許可係数PFLEGDからEGRリミ
ット値FLEGDBを求める処理を行ってルーチンを抜
ける。
PFLEGDを増分値KDLEANPずつ漸次大きく
し、ステップS605においてPFLEGD>1.0に
なると、ステップS605からステップS606へ進ん
でEGR許可係数PFLEGDを1.0に固定した後、
前述のステップS619,S620で、EGRリミット
ガード目標値FLEGDの単位換算処理、換算値FLE
GDH及びEGR許可係数PFLEGDからEGRリミ
ット値FLEGDBを求める処理を行ってルーチンを抜
ける。
【0184】すなわち、図46(a)に示すように、E
GRが禁止されてEGRを実行していない状態(PFL
EGD=0)からEGRが許可されたときには、先ず、
EGR許可係数PFLEGDを0から設定値KPFLE
GDL(例えば、79.6%)に直ちに変更し、その
後、EGR許可係数PFLEGDを増分値KDLEAN
P(例えば、0.781%)ずつ徐々に大きくして漸次
的にEGRリミット値FLEGDBを増加させる。これ
により、EGR禁止からEGR実施への切換え時に漸次
的にEGR流量を増加させ、EGR流量の急変に起因す
るトルクショック等を防止する。
GRが禁止されてEGRを実行していない状態(PFL
EGD=0)からEGRが許可されたときには、先ず、
EGR許可係数PFLEGDを0から設定値KPFLE
GDL(例えば、79.6%)に直ちに変更し、その
後、EGR許可係数PFLEGDを増分値KDLEAN
P(例えば、0.781%)ずつ徐々に大きくして漸次
的にEGRリミット値FLEGDBを増加させる。これ
により、EGR禁止からEGR実施への切換え時に漸次
的にEGR流量を増加させ、EGR流量の急変に起因す
るトルクショック等を防止する。
【0185】一方、ステップS603においてFEGR
=0であり、EGR実施不可と判定されているときに
は、ステップS603からステップS609へ進んでア
イドルスイッチ22bがONか否かを調べる。そして、
アイドルスイッチ22bがONでアイドル運転になって
いるときには、ステップS610でEGR許可係数PF
LEGDを漸次減少させるための減少分DLEANMに
設定値KDLEANM(例えば、10.16%)をセッ
トし(DLEANM←KDLEANM)、ステップS6
16へ進む。
=0であり、EGR実施不可と判定されているときに
は、ステップS603からステップS609へ進んでア
イドルスイッチ22bがONか否かを調べる。そして、
アイドルスイッチ22bがONでアイドル運転になって
いるときには、ステップS610でEGR許可係数PF
LEGDを漸次減少させるための減少分DLEANMに
設定値KDLEANM(例えば、10.16%)をセッ
トし(DLEANM←KDLEANM)、ステップS6
16へ進む。
【0186】また、ステップ609において、アイドル
スイッチ22bがOFFのときには、ステップS611
以降で、スロットル開度TVOの変化に応じて減少分D
LEANMの値を設定してステップS616へ進む。す
なわち、ステップS611で、現在のスロットル開度T
VOと3回前のルーチン実行時の演算タイミング(本形
態では、120msec前の演算タイミング)でのスロ
ットル開度TVOn-3との差の絶対値をスロットル開度
変化量 TVO−TVOn-3 として求め、このスロット
ル開度変化量 TVO−TVOn-3 を判定閾値KDTV
OLE1(例えば、60mV相当)と比較する。そし
て、 TVO−TVOn-3 <KDTVOLE1でスロッ
トル開度変化が比較的小さい運転状態であるときには、
ステップS612で減少分DLEANMに設定値KDL
EANM1(例えば、3.13%)をセットし(DLE
ANM←KDLEANM1)、ステップS616へ進
む。
スイッチ22bがOFFのときには、ステップS611
以降で、スロットル開度TVOの変化に応じて減少分D
LEANMの値を設定してステップS616へ進む。す
なわち、ステップS611で、現在のスロットル開度T
VOと3回前のルーチン実行時の演算タイミング(本形
態では、120msec前の演算タイミング)でのスロ
ットル開度TVOn-3との差の絶対値をスロットル開度
変化量 TVO−TVOn-3 として求め、このスロット
ル開度変化量 TVO−TVOn-3 を判定閾値KDTV
OLE1(例えば、60mV相当)と比較する。そし
て、 TVO−TVOn-3 <KDTVOLE1でスロッ
トル開度変化が比較的小さい運転状態であるときには、
ステップS612で減少分DLEANMに設定値KDL
EANM1(例えば、3.13%)をセットし(DLE
ANM←KDLEANM1)、ステップS616へ進
む。
【0187】また、ステップS611で、│TVO−T
VOn-3 ≧KDTVOLE1のときには、ステップS
613でスロットル開度変化量 TVO−TVOn-3 を
判定閾値KDTVOLE2(例えば、240mV相当)
と比較する。そして、 TVO−TVOn-3 <KDTV
OLE2でスロットル開度変化が中程度の運転状態であ
るときには、ステップS614で減少分DLEANMに
設定値KDLEANM2(例えば、6.60%)をセッ
トして(DLEANM←KDLEANM2)ステップS
616へ進み、TVO−TVOn-3 ≧KDTVOLE2
でスロットル開度変化が大きい過渡状態であるときに
は、ステップS615で減少分DLEANMに、減少量
が最も大きい設定値KDLEANM3(例えば、10.
16%)をセットし(DLEANM←KDLEANM
3)、ステップS616へ進む。
VOn-3 ≧KDTVOLE1のときには、ステップS
613でスロットル開度変化量 TVO−TVOn-3 を
判定閾値KDTVOLE2(例えば、240mV相当)
と比較する。そして、 TVO−TVOn-3 <KDTV
OLE2でスロットル開度変化が中程度の運転状態であ
るときには、ステップS614で減少分DLEANMに
設定値KDLEANM2(例えば、6.60%)をセッ
トして(DLEANM←KDLEANM2)ステップS
616へ進み、TVO−TVOn-3 ≧KDTVOLE2
でスロットル開度変化が大きい過渡状態であるときに
は、ステップS615で減少分DLEANMに、減少量
が最も大きい設定値KDLEANM3(例えば、10.
16%)をセットし(DLEANM←KDLEANM
3)、ステップS616へ進む。
【0188】ステップS616では、EGR許可係数P
FLEGDを減少分DLEANMだけ減少させて新たな
値に更新し(PFLEGD←PFLEGD−DLEAN
M)、ステップS617で、EGR許可係数PFLEG
Dと、EGR許可係数PFLEGDを漸次減少させる際
の漸次減少の終値となる設定値KPFLEGDR(本形
態では、0%)とを比較する。そして、PFLEGD>
KPFLEGDRのときには前述のステップS619,
S620で、EGRリミットガード目標値FLEGDの
単位換算処理、換算値FLEGDH及びEGR許可係数
PFLEGDからEGRリミット値FLEGDBを求め
る処理を行ってルーチンを抜け、PFLEGD≦KPF
LEGDRのとき、ステップS618でEGR許可係数
PFLEGDを0にし(PFLEGD←0)、前述のス
テップS619,S620で、EGRリミットガード目
標値FLEGDの単位換算処理、換算値FLEGDH及
びEGR許可係数PFLEGDからEGRリミット値F
LEGDBを求める処理を行ってルーチンを抜ける。
FLEGDを減少分DLEANMだけ減少させて新たな
値に更新し(PFLEGD←PFLEGD−DLEAN
M)、ステップS617で、EGR許可係数PFLEG
Dと、EGR許可係数PFLEGDを漸次減少させる際
の漸次減少の終値となる設定値KPFLEGDR(本形
態では、0%)とを比較する。そして、PFLEGD>
KPFLEGDRのときには前述のステップS619,
S620で、EGRリミットガード目標値FLEGDの
単位換算処理、換算値FLEGDH及びEGR許可係数
PFLEGDからEGRリミット値FLEGDBを求め
る処理を行ってルーチンを抜け、PFLEGD≦KPF
LEGDRのとき、ステップS618でEGR許可係数
PFLEGDを0にし(PFLEGD←0)、前述のス
テップS619,S620で、EGRリミットガード目
標値FLEGDの単位換算処理、換算値FLEGDH及
びEGR許可係数PFLEGDからEGRリミット値F
LEGDBを求める処理を行ってルーチンを抜ける。
【0189】すなわち、図46(b)に示すように、E
GRが許可されてEGRを実行している状態(PFLE
GD=1)からEGRが禁止されたときには、EGR許
可係数PFLEGDをアイドル運転あるいはスロットル
開度変化に応じた減少分DLEANMによって漸次的に
小さくして漸次的にEGRリミット値FLEGDBを減
少させ、EGR許可からEGR禁止への切換え時に漸次
的にEGR流量を減少させ、EGR流量の急変に起因す
るトルクショック等を防止する。この場合、スロットル
開度変化速度が大きい程、EGR許可係数PFLEGD
の減少の傾きを大きくし、早期にEGR流量を減少させ
る。
GRが許可されてEGRを実行している状態(PFLE
GD=1)からEGRが禁止されたときには、EGR許
可係数PFLEGDをアイドル運転あるいはスロットル
開度変化に応じた減少分DLEANMによって漸次的に
小さくして漸次的にEGRリミット値FLEGDBを減
少させ、EGR許可からEGR禁止への切換え時に漸次
的にEGR流量を減少させ、EGR流量の急変に起因す
るトルクショック等を防止する。この場合、スロットル
開度変化速度が大きい程、EGR許可係数PFLEGD
の減少の傾きを大きくし、早期にEGR流量を減少させ
る。
【0190】次に、EGR流量は、EGRリミット値F
LEGDBを用い、図47のEGR流量算出サブルーチ
ンで算出される。このサブルーチンでは、先ず、ステッ
プS700で、エンジン回転数NEと、エンジン負荷例
えば吸気管圧力PMとをパラメータとしてテーブルTE
LBASEを参照し、補間計算により基本EGR流量E
LBASEを算出する。基本EGR流量ELBASE
は、エンジン運転領域毎に予め設定されたEGR流量の
基本値であり、エンジン回転数NEとエンジン負荷とし
ての吸気管圧力PMとによる運転領域毎に、予めシミュ
レーション或いは実験等により求めた最適EGR流量が
テーブルTELBASEにストアされている。
LEGDBを用い、図47のEGR流量算出サブルーチ
ンで算出される。このサブルーチンでは、先ず、ステッ
プS700で、エンジン回転数NEと、エンジン負荷例
えば吸気管圧力PMとをパラメータとしてテーブルTE
LBASEを参照し、補間計算により基本EGR流量E
LBASEを算出する。基本EGR流量ELBASE
は、エンジン運転領域毎に予め設定されたEGR流量の
基本値であり、エンジン回転数NEとエンジン負荷とし
ての吸気管圧力PMとによる運転領域毎に、予めシミュ
レーション或いは実験等により求めた最適EGR流量が
テーブルTELBASEにストアされている。
【0191】そして、ステップS700で基本EGR流
量ELBASEを算出した後、ステップS701へ進
み、基本EGR流量ELBASEにEGRリミット値F
LEGDBを乗算してEGR流量FIMEGRを算出し
(FIMEGR←ELBASE×FLEGDB)、ルー
チンを抜ける。
量ELBASEを算出した後、ステップS701へ進
み、基本EGR流量ELBASEにEGRリミット値F
LEGDBを乗算してEGR流量FIMEGRを算出し
(FIMEGR←ELBASE×FLEGDB)、ルー
チンを抜ける。
【0192】次に、EGR流量FIMEGRをステップ
モータ式EGR弁20に対するステップ数に変換する図
48のモータ目標位置算出サブルーチンについて説明す
る。このサブルーチンでは、先ず、ステップS750
で、EGR流量FIMEGRをパラメータとしてテーブ
ルTMEGRQSを参照し、補間計算により最新のモー
タ目標位置EGRSTDIを算出する。
モータ式EGR弁20に対するステップ数に変換する図
48のモータ目標位置算出サブルーチンについて説明す
る。このサブルーチンでは、先ず、ステップS750
で、EGR流量FIMEGRをパラメータとしてテーブ
ルTMEGRQSを参照し、補間計算により最新のモー
タ目標位置EGRSTDIを算出する。
【0193】テーブルTMEGRQSには、ステップS
750において図示するように、EGR流量FIMEG
Rによる領域毎に、ステップモータ式EGR弁20で各
領域毎のEGR流量を得るに最適なステップ数が予めシ
ミュレーション或いは実験等により求められ、最新モー
タ目標位置EGRSTDIとしてストアされている。本
形態においては、ステップモータ式EGR弁20の流量
特性が非線形であることから、テーブルTMEGRQS
中の上限ステップ数は120stepであるが、後述す
るように、実際に使用するステップ数で良好な流量特性
を得られる範囲とするため、モータ目標位置(ステップ
数)の上限規制を行なう。
750において図示するように、EGR流量FIMEG
Rによる領域毎に、ステップモータ式EGR弁20で各
領域毎のEGR流量を得るに最適なステップ数が予めシ
ミュレーション或いは実験等により求められ、最新モー
タ目標位置EGRSTDIとしてストアされている。本
形態においては、ステップモータ式EGR弁20の流量
特性が非線形であることから、テーブルTMEGRQS
中の上限ステップ数は120stepであるが、後述す
るように、実際に使用するステップ数で良好な流量特性
を得られる範囲とするため、モータ目標位置(ステップ
数)の上限規制を行なう。
【0194】続くステップS751では、システムイニ
シャライズのためCPU51がリセットされ、CPUリ
セット後に始めてルーチンが実行されるルーチン初回で
あるか否かを調べる。そして、CPUリセット後のルー
チン初回であるときには、ステップS751からステッ
プS752へ進んでモータ目標位置EGRSTDを0に
初期設定し、ルーチンを抜ける。また、CPUリセット
時でないときには、ステップS751からステップS7
53へ進み、前回ルーチン実行時(本形態においては、
10msec前)のモータ目標位置EGRSTDn-1が
現運転状態に適合する適正EGR流量を得るためのテー
ブル設定の最新モータ目標位置EGRSTDIよりも大
きいか否かを調べる。
シャライズのためCPU51がリセットされ、CPUリ
セット後に始めてルーチンが実行されるルーチン初回で
あるか否かを調べる。そして、CPUリセット後のルー
チン初回であるときには、ステップS751からステッ
プS752へ進んでモータ目標位置EGRSTDを0に
初期設定し、ルーチンを抜ける。また、CPUリセット
時でないときには、ステップS751からステップS7
53へ進み、前回ルーチン実行時(本形態においては、
10msec前)のモータ目標位置EGRSTDn-1が
現運転状態に適合する適正EGR流量を得るためのテー
ブル設定の最新モータ目標位置EGRSTDIよりも大
きいか否かを調べる。
【0195】その結果、EGRSTDn-1>EGRST
DIのときには、ステップS753からステップS75
4へ進んで、前回のモータ目標位置EGRSTDn-1か
ら設定値KEGRM(例えば、2step)を減算し、
今回の制御タイミングにおけるモータ目標位置EGRS
TDとする(EGRSTD←EGRSTDn-1−KEG
RM)。更に、ステップS755で、今回のモータ目標
位置EGRSTDとテーブル設定の最新モータ目標位置
EGRSTDIとを比較し、EGRSTD≧EGRST
DIのときには、ステップS761へジャンプし、EG
RSTD<EGRSTDIのとき、ステップS756
で、テーブル設定の最新モータ目標位置EGRSTDI
を今回の制御タイミングにおけるモータ目標位置EGR
STDとし(EGRSTD←EGRSTDI)、ステッ
プS761へ進む。
DIのときには、ステップS753からステップS75
4へ進んで、前回のモータ目標位置EGRSTDn-1か
ら設定値KEGRM(例えば、2step)を減算し、
今回の制御タイミングにおけるモータ目標位置EGRS
TDとする(EGRSTD←EGRSTDn-1−KEG
RM)。更に、ステップS755で、今回のモータ目標
位置EGRSTDとテーブル設定の最新モータ目標位置
EGRSTDIとを比較し、EGRSTD≧EGRST
DIのときには、ステップS761へジャンプし、EG
RSTD<EGRSTDIのとき、ステップS756
で、テーブル設定の最新モータ目標位置EGRSTDI
を今回の制御タイミングにおけるモータ目標位置EGR
STDとし(EGRSTD←EGRSTDI)、ステッ
プS761へ進む。
【0196】ステップS761では、モータ目標位置E
GRSTDが設定値KEGRSTPFLS(例えば、5
2step)を越えていないか否かを調べる。そして、
EGRSTD≦KEGRSTPFLSのときには、その
ままモータ目標位置を確定してルーチンを抜け、EGR
STD>KEGRSTPFLSのとき、ステップS76
2でモータ目標位置EGRSTDを設定値KEGRST
PFLSに上限規制し(EGRSTD←KEGRSTP
FLS)、ルーチンを抜ける。
GRSTDが設定値KEGRSTPFLS(例えば、5
2step)を越えていないか否かを調べる。そして、
EGRSTD≦KEGRSTPFLSのときには、その
ままモータ目標位置を確定してルーチンを抜け、EGR
STD>KEGRSTPFLSのとき、ステップS76
2でモータ目標位置EGRSTDを設定値KEGRST
PFLSに上限規制し(EGRSTD←KEGRSTP
FLS)、ルーチンを抜ける。
【0197】そして、演算周期毎にモータ目標位置EG
RSTDを設定値KEGRMずつ減少させ、ステップS
753において、EGRSTDn-1≦EGRSTDIに
なると、ステップS757へ進んで、テーブル設定の最
新モータ目標位置EGRSTDIと前回のモータ目標位
置EGRSTDn-1との差が0〜設定値KEGRHS
(例えば、2step)の範囲内に収束しているか否か
を調べる。設定値KEGRHSは、適正EGR流量を得
るための最新モータ目標位置EGRSTDIに収束させ
る際の不感帯を定めるものである。
RSTDを設定値KEGRMずつ減少させ、ステップS
753において、EGRSTDn-1≦EGRSTDIに
なると、ステップS757へ進んで、テーブル設定の最
新モータ目標位置EGRSTDIと前回のモータ目標位
置EGRSTDn-1との差が0〜設定値KEGRHS
(例えば、2step)の範囲内に収束しているか否か
を調べる。設定値KEGRHSは、適正EGR流量を得
るための最新モータ目標位置EGRSTDIに収束させ
る際の不感帯を定めるものである。
【0198】その結果、0≦EGRSTDI−EGRS
TDn-1<KEGRHSであり、前回のモータ目標位置
EGRSTDn-1が適正EGR流量を得るための最新モ
ータ目標位置EGRSTDIに収束ないし略収束してい
るときには、ステップS757からステップS758へ
進んで、今回の制御タイミングにおけるモータ目標位置
EGRSTDを前回のモータ目標位置EGRSTDn-1
に保持し(EGRSTD←EGRSTDn-1)、ルーチ
ンを抜ける。
TDn-1<KEGRHSであり、前回のモータ目標位置
EGRSTDn-1が適正EGR流量を得るための最新モ
ータ目標位置EGRSTDIに収束ないし略収束してい
るときには、ステップS757からステップS758へ
進んで、今回の制御タイミングにおけるモータ目標位置
EGRSTDを前回のモータ目標位置EGRSTDn-1
に保持し(EGRSTD←EGRSTDn-1)、ルーチ
ンを抜ける。
【0199】また、EGRSTDI−EGRSTDn-1
≧KEGRHSであり、前回のモータ目標位置EGRS
TDn-1が不感帯の下にある場合には、ステップS75
7からステップ759へ進み、前回のモータ目標位置E
GRSTDn-1に設定値KEGRP(例えば、2ste
p)を加算し、今回の制御タイミングにおけるモータ目
標位置EGRSTDとする(EGRSTD←EGRST
Dn-1+KEGRP)。そして、ステップS760で、
今回のモータ目標位置EGRSTDとテーブル設定の最
新モータ目標位置EGRSTDIとを比較し、EGRS
TD≦EGRSTDIのときには、前述のステップS7
61以降で上限規制を行なってルーチンを抜け、EGR
STD>EGRSTDIのとき、前述のステップS75
6で、テーブル設定の最新モータ目標位置EGRSTD
Iを今回の制御タイミングにおけるモータ目標位置EG
RSTDとし(EGRSTD←EGRSTDI)、ステ
ップS761以降で上限規制を行なってルーチンを抜け
る。
≧KEGRHSであり、前回のモータ目標位置EGRS
TDn-1が不感帯の下にある場合には、ステップS75
7からステップ759へ進み、前回のモータ目標位置E
GRSTDn-1に設定値KEGRP(例えば、2ste
p)を加算し、今回の制御タイミングにおけるモータ目
標位置EGRSTDとする(EGRSTD←EGRST
Dn-1+KEGRP)。そして、ステップS760で、
今回のモータ目標位置EGRSTDとテーブル設定の最
新モータ目標位置EGRSTDIとを比較し、EGRS
TD≦EGRSTDIのときには、前述のステップS7
61以降で上限規制を行なってルーチンを抜け、EGR
STD>EGRSTDIのとき、前述のステップS75
6で、テーブル設定の最新モータ目標位置EGRSTD
Iを今回の制御タイミングにおけるモータ目標位置EG
RSTDとし(EGRSTD←EGRSTDI)、ステ
ップS761以降で上限規制を行なってルーチンを抜け
る。
【0200】以上の各サブルーチンを含むEGR制御量
算出ルーチンで算出されたEGR流量に基づくモータ目
標位置EGRSTDを用い、図49のEGR駆動ルーチ
ンにより、ステップモータ式EGR弁20が駆動され
る。このEGR駆動ルーチンでは、現運転状態に適合す
る適正EGR流量を得るためのモータ目標位置EGRS
TDに対するモータ位置の大小関係に応じ、EGR弁2
0を逆転或いは正転駆動し、モータ位置がモータ目標位
置EGRSTDに収束するようフィードバック制御す
る。
算出ルーチンで算出されたEGR流量に基づくモータ目
標位置EGRSTDを用い、図49のEGR駆動ルーチ
ンにより、ステップモータ式EGR弁20が駆動され
る。このEGR駆動ルーチンでは、現運転状態に適合す
る適正EGR流量を得るためのモータ目標位置EGRS
TDに対するモータ位置の大小関係に応じ、EGR弁2
0を逆転或いは正転駆動し、モータ位置がモータ目標位
置EGRSTDに収束するようフィードバック制御す
る。
【0201】すなわち、EGR駆動ルーチンの最初のス
テップS800では、現在のモータ位置EGRSTMが
モータ目標位置EGRSTDを越えているか否かを調べ
る。そして、EGRSTM>EGRSTDのとき、更
に、ステップS801で、前回ルーチン実行時(本形態
においては、4msec前)にモータ位置EGRSTM
がモータ目標位置より小さい状態(EGRSTM<EG
RSTD)であったか否かを調べる。
テップS800では、現在のモータ位置EGRSTMが
モータ目標位置EGRSTDを越えているか否かを調べ
る。そして、EGRSTM>EGRSTDのとき、更
に、ステップS801で、前回ルーチン実行時(本形態
においては、4msec前)にモータ位置EGRSTM
がモータ目標位置より小さい状態(EGRSTM<EG
RSTD)であったか否かを調べる。
【0202】その結果、モータ位置EGRSTMがモー
タ目標位置EGRSTDよりも大きい状態が前回から今
回まで継続している場合には、ステップS801からス
テップS802へ進んでステップモータを逆転し、EG
R弁20を閉じ側に駆動してルーチンを抜ける。また、
モータ位置EGRSTMが前回ルーチン実行時にモータ
目標位置EGRSTDより小さく、今回、モータ位置E
GRSTMがモータ目標位置EGRSTDよりも大きく
なった場合には、ステップS801からステップS80
5へ分岐し、前回の出力を保持してルーチンを抜ける。
すなわち、モータ目標位置に対する実際のモータ位置が
前回と今回とで反転した場合には、一時的な外乱等の影
響に起因した比較結果の反転を考慮し、出力を保持して
制御ハンチングを防止し、EGR制御性を向上する。
タ目標位置EGRSTDよりも大きい状態が前回から今
回まで継続している場合には、ステップS801からス
テップS802へ進んでステップモータを逆転し、EG
R弁20を閉じ側に駆動してルーチンを抜ける。また、
モータ位置EGRSTMが前回ルーチン実行時にモータ
目標位置EGRSTDより小さく、今回、モータ位置E
GRSTMがモータ目標位置EGRSTDよりも大きく
なった場合には、ステップS801からステップS80
5へ分岐し、前回の出力を保持してルーチンを抜ける。
すなわち、モータ目標位置に対する実際のモータ位置が
前回と今回とで反転した場合には、一時的な外乱等の影
響に起因した比較結果の反転を考慮し、出力を保持して
制御ハンチングを防止し、EGR制御性を向上する。
【0203】一方、ステップS800において、EGR
STM≦EGRSTDのときには、ステップS803
で、現在のモータ位置EGRSTMがモータ目標位置E
GRSTDより小さいか否かを調べる。そして、現在の
モータ位置EGRSTMがモータ目標位置EGRSTD
より大きくも小さくもなく、モータ目標位置EGRST
Dに一致している(EGRSTM=EGRSTD)とき
には、前述のステップS805で出力値を保持してルー
チンを抜け、EGRSTM<EGRSTDのとき、更
に、ステップ804で、前回ルーチン実行時にモータ位
置EGRSTMがモータ目標位置より大きい状態(EG
RSTM>EGRSTD)であったか否かを調べる。
STM≦EGRSTDのときには、ステップS803
で、現在のモータ位置EGRSTMがモータ目標位置E
GRSTDより小さいか否かを調べる。そして、現在の
モータ位置EGRSTMがモータ目標位置EGRSTD
より大きくも小さくもなく、モータ目標位置EGRST
Dに一致している(EGRSTM=EGRSTD)とき
には、前述のステップS805で出力値を保持してルー
チンを抜け、EGRSTM<EGRSTDのとき、更
に、ステップ804で、前回ルーチン実行時にモータ位
置EGRSTMがモータ目標位置より大きい状態(EG
RSTM>EGRSTD)であったか否かを調べる。
【0204】その結果、前回ルーチン実行時にモータ位
置EGRSTMがモータ目標位置EGRSTDより大き
く、今回、モータ位置EGRSTMがモータ目標位置E
GRSTDよりも小さくなった場合には、ステップS8
04からステップS805へ分岐し、前回の出力を保持
してルーチンを抜ける。すなわち、前述のステップS8
01で、モータ位置EGRSTMが前回ルーチン実行時
にモータ目標位置EGRSTDより小さく、今回、モー
タ位置EGRSTMがモータ目標位置EGRSTDより
も大きくなった場合と同様、一時的な外乱等の影響に起
因した比較結果の反転を考慮し、出力を保持して制御ハ
ンチングを防止し、EGR制御性を向上する。
置EGRSTMがモータ目標位置EGRSTDより大き
く、今回、モータ位置EGRSTMがモータ目標位置E
GRSTDよりも小さくなった場合には、ステップS8
04からステップS805へ分岐し、前回の出力を保持
してルーチンを抜ける。すなわち、前述のステップS8
01で、モータ位置EGRSTMが前回ルーチン実行時
にモータ目標位置EGRSTDより小さく、今回、モー
タ位置EGRSTMがモータ目標位置EGRSTDより
も大きくなった場合と同様、一時的な外乱等の影響に起
因した比較結果の反転を考慮し、出力を保持して制御ハ
ンチングを防止し、EGR制御性を向上する。
【0205】また、ステップS804においてEGRS
TM≦EGRSTDの場合、すなわち、モータ位置EG
RSTMがモータ目標位置EGRSTD以下の状態が前
回から今回まで継続している場合には、ステップS80
4からステップS806へ進んでステップモータを正転
し、EGR弁20を開き側に駆動してルーチンを抜け
る。
TM≦EGRSTDの場合、すなわち、モータ位置EG
RSTMがモータ目標位置EGRSTD以下の状態が前
回から今回まで継続している場合には、ステップS80
4からステップS806へ進んでステップモータを正転
し、EGR弁20を開き側に駆動してルーチンを抜け
る。
【0206】以上のモータ目標位置EGRSTDへのフ
ィードバック制御を、サージレベルとEGRリミットガ
ード目標値FLEGDとモータ目標位置との関係を示す
図50を用いて説明する。
ィードバック制御を、サージレベルとEGRリミットガ
ード目標値FLEGDとモータ目標位置との関係を示す
図50を用いて説明する。
【0207】EGR実施可能と判定されると、エンジン
回転数とエンジン負荷とに基づく基本EGR流量ELB
ASEにEGR許可係数PFLEGDに基づくEGRリ
ミット値FLEGDBを乗算して求められるEGR流量
FIMEGRに従い、ステップモータ式EGR弁20の
モータ目標位置EGRSTDが所定位置に設定され、E
GRが開始される。そして、EGR開始後、微小サージ
が発生してサージレベルが0から1に変化すると、設定
値KTSFILD3により定まる所定時間だけEGRリ
ミットガード目標値FLEGDの増加更新が中止され、
この中止期間が過ぎると安定指標パラメータSFILD
Nが参照される。この時点では、安定指標パラメータS
FILDNに微小サージが与える影響は小さく、安定指
標パラメータSFILDNが判定値KFLEUPSF以
下であるため、EGRリミットガード目標値FLEGD
の増加更新量を大きくして増加速度を上昇させ、このE
GRリミットガード目標値FLEGDの増加に追従して
モータ目標位置EGRSTDを変更し、EGR流量を増
加させる。
回転数とエンジン負荷とに基づく基本EGR流量ELB
ASEにEGR許可係数PFLEGDに基づくEGRリ
ミット値FLEGDBを乗算して求められるEGR流量
FIMEGRに従い、ステップモータ式EGR弁20の
モータ目標位置EGRSTDが所定位置に設定され、E
GRが開始される。そして、EGR開始後、微小サージ
が発生してサージレベルが0から1に変化すると、設定
値KTSFILD3により定まる所定時間だけEGRリ
ミットガード目標値FLEGDの増加更新が中止され、
この中止期間が過ぎると安定指標パラメータSFILD
Nが参照される。この時点では、安定指標パラメータS
FILDNに微小サージが与える影響は小さく、安定指
標パラメータSFILDNが判定値KFLEUPSF以
下であるため、EGRリミットガード目標値FLEGD
の増加更新量を大きくして増加速度を上昇させ、このE
GRリミットガード目標値FLEGDの増加に追従して
モータ目標位置EGRSTDを変更し、EGR流量を増
加させる。
【0208】その後、微小サージ発生の影響が安定指標
パラメータSFILDNに反映され、SFILDN>K
FLEUPSFになると、EGRリミットガード目標値
FLEGDの増加更新量が小さく抑えられてモータ目標
位置EGRSTDの更新が抑えられ、EGR流量の増加
を進めることによる回転変動の悪化が防止される。
パラメータSFILDNに反映され、SFILDN>K
FLEUPSFになると、EGRリミットガード目標値
FLEGDの増加更新量が小さく抑えられてモータ目標
位置EGRSTDの更新が抑えられ、EGR流量の増加
を進めることによる回転変動の悪化が防止される。
【0209】そして、EGRリミットガード目標値FL
EGDが上限値KFLEGDMXに達すると、EGRリ
ミットガード目標値FLEGDが上限値KFLEGDM
Xに規制されてモータ目標位置EGRSTDが対応する
位置に規制され、EGR流量の増加が止められる。
EGDが上限値KFLEGDMXに達すると、EGRリ
ミットガード目標値FLEGDが上限値KFLEGDM
Xに規制されてモータ目標位置EGRSTDが対応する
位置に規制され、EGR流量の増加が止められる。
【0210】このような状態で、大きなサージが発生し
てサージレベルが1から3に変化すると、サージを解消
すべく、直ちにEGRリミットガード目標値FLEGD
が設定値KSFILD31だけ小さくされ、モータ目標
位置EGRSTDが小さくされてEGR流量を迅速に減
少させる。このEGRリミットガード目標値FLEGD
の減少更新後は、設定値KTSFILD4により定まる
所定時間だけ、EGRリミットガード目標値FLEGD
の増加更新が中止され、この中止期間後、指標最大値F
ILDMPMAXの値からサージが解消されたと判断さ
れると、再び、安定指標パラメータSFILDNの評価
によってEGRリミットガード目標値FLEGDの増加
更新が開始される。このときには、SFILDN>KF
LEUPSFであり、EGRリミットガード目標値FL
EGDの増加更新量は小さい。そして、サージの解消に
よってサージレベル指標値DFILDMPがDFILM
P≦0になると、サージレベルが0に初期化される。
てサージレベルが1から3に変化すると、サージを解消
すべく、直ちにEGRリミットガード目標値FLEGD
が設定値KSFILD31だけ小さくされ、モータ目標
位置EGRSTDが小さくされてEGR流量を迅速に減
少させる。このEGRリミットガード目標値FLEGD
の減少更新後は、設定値KTSFILD4により定まる
所定時間だけ、EGRリミットガード目標値FLEGD
の増加更新が中止され、この中止期間後、指標最大値F
ILDMPMAXの値からサージが解消されたと判断さ
れると、再び、安定指標パラメータSFILDNの評価
によってEGRリミットガード目標値FLEGDの増加
更新が開始される。このときには、SFILDN>KF
LEUPSFであり、EGRリミットガード目標値FL
EGDの増加更新量は小さい。そして、サージの解消に
よってサージレベル指標値DFILDMPがDFILM
P≦0になると、サージレベルが0に初期化される。
【0211】このサージレベルが0の状態で、再び微小
サージが発生し、サージレベルが0から1に変化する
と、前述したように、設定値KTSFILD3により定
まる所定時間だけEGRリミットガード目標値FLEG
Dの増加更新が中止される。この中止期間中にサージが
大きくなり、サージレベルが1から2に変化すると、設
定値KSFILD21だけEGRリミットガード目標値
FLEGDが減少更新され、設定値KTSFILD4に
より定まる所定時間だけ保持される(EGRリミットガ
ード目標値FLEGDの増加更新中止)。
サージが発生し、サージレベルが0から1に変化する
と、前述したように、設定値KTSFILD3により定
まる所定時間だけEGRリミットガード目標値FLEG
Dの増加更新が中止される。この中止期間中にサージが
大きくなり、サージレベルが1から2に変化すると、設
定値KSFILD21だけEGRリミットガード目標値
FLEGDが減少更新され、設定値KTSFILD4に
より定まる所定時間だけ保持される(EGRリミットガ
ード目標値FLEGDの増加更新中止)。
【0212】また、この設定値KTSFILD4により
定まる期間中にサージが大きくなり、サージレベル2か
らサージレベル3に変化すると、EGRリミットガード
目標値FLEGDが更に設定値KSFILD32だけ減
少され、この減少更新後、同様に、設定値KTSFIL
D4により定まる時間、EGRリミットガード目標値F
LEGDの増加更新が中止される。
定まる期間中にサージが大きくなり、サージレベル2か
らサージレベル3に変化すると、EGRリミットガード
目標値FLEGDが更に設定値KSFILD32だけ減
少され、この減少更新後、同様に、設定値KTSFIL
D4により定まる時間、EGRリミットガード目標値F
LEGDの増加更新が中止される。
【0213】そして、これらの設定値KSFILD2
1,KSFILD32によるEGRリミットガード目標
値FLEGDの減少更新によるEGR流量の減少により
サージが解消し、サージレベルが0に初期化されて増加
更新中止期間を過ぎると、再び、安定指標パラメータS
FILDNの評価によってEGRリミットガード目標値
FLEGDが上限値KFLEGDMXに向かって増加更
新され、モータ目標位置EGRSTDのステップ数が増
加更新されてEGR流量が増加される。
1,KSFILD32によるEGRリミットガード目標
値FLEGDの減少更新によるEGR流量の減少により
サージが解消し、サージレベルが0に初期化されて増加
更新中止期間を過ぎると、再び、安定指標パラメータS
FILDNの評価によってEGRリミットガード目標値
FLEGDが上限値KFLEGDMXに向かって増加更
新され、モータ目標位置EGRSTDのステップ数が増
加更新されてEGR流量が増加される。
【0214】以上のように、サージの程度に応じてEG
R流量を制御してEGRを実施すると、EGR流量の増
加に伴い燃焼室内での燃焼伝播が遅くなる。このため、
EGR流量の増加に応じて点火時期を進角させる必要が
ある。次に、EGR流量に適合した点火時期に制御する
ための図51の点火時期補正量設定ルーチン、図52の
点火時期制御ルーチンについて説明する。
R流量を制御してEGRを実施すると、EGR流量の増
加に伴い燃焼室内での燃焼伝播が遅くなる。このため、
EGR流量の増加に応じて点火時期を進角させる必要が
ある。次に、EGR流量に適合した点火時期に制御する
ための図51の点火時期補正量設定ルーチン、図52の
点火時期制御ルーチンについて説明する。
【0215】図51の点火時期補正量設定ルーチンで
は、先ず、ステップS900で、現在のモータ位置EG
RSTMが0でEGR弁20のステップモータが零点位
置にあるか否かを調べる。そして、EGRSTM=0す
なわちEGR弁20のステップモータが零点位置にあっ
てEGR弁20が全閉の状態にあり、EGRが実施され
ていないときには、ステップS900からステップS9
01へ進んで、EGRに応じて点火時期を補正するため
の点火時期補正量ADEGRを、補正無しに対応する0
に設定し(ADEGR←0)、ルーチンを抜ける。
は、先ず、ステップS900で、現在のモータ位置EG
RSTMが0でEGR弁20のステップモータが零点位
置にあるか否かを調べる。そして、EGRSTM=0す
なわちEGR弁20のステップモータが零点位置にあっ
てEGR弁20が全閉の状態にあり、EGRが実施され
ていないときには、ステップS900からステップS9
01へ進んで、EGRに応じて点火時期を補正するため
の点火時期補正量ADEGRを、補正無しに対応する0
に設定し(ADEGR←0)、ルーチンを抜ける。
【0216】また、ステップS900において、EGR
STM≠0すなわちステップモータの駆動によりEGR
弁20が開弁しており、EGR実施中のときには、ステ
ップS900からステップS902へ進み、EGR弁2
0の弁開度に対応する現モータ位置EGRSTMと、エ
ンジン負荷の一例としての吸気管圧力PMと、エンジン
回転数NEとに基づいてテーブルを補間計算付きで参照
し、実EGR流量(実還流値)NEGRを求める。実E
GR流量は、予めシミュレーション或いは実験等によ
り、モータ位置EGRSTM、吸気管圧力PM、及びエ
ンジン回転数NEをパラメータとする領域毎に得られる
EGR流量を求めたものであり、ROM52のテーブル
に格納されている。
STM≠0すなわちステップモータの駆動によりEGR
弁20が開弁しており、EGR実施中のときには、ステ
ップS900からステップS902へ進み、EGR弁2
0の弁開度に対応する現モータ位置EGRSTMと、エ
ンジン負荷の一例としての吸気管圧力PMと、エンジン
回転数NEとに基づいてテーブルを補間計算付きで参照
し、実EGR流量(実還流値)NEGRを求める。実E
GR流量は、予めシミュレーション或いは実験等によ
り、モータ位置EGRSTM、吸気管圧力PM、及びエ
ンジン回転数NEをパラメータとする領域毎に得られる
EGR流量を求めたものであり、ROM52のテーブル
に格納されている。
【0217】次に、ステップS903へ進み、前述のE
GR流量算出サブルーチンで設定された基本EGR流量
ELBASEを目標EGR流量(制御目標値)として、
この目標EGR流量ELBASEと実EGR流量NEG
Rとを比較する。そして、目標EGR流量に対する実E
GR流量の大小関係に応じ、以降のステップで点火時期
補正量ADEGRを設定する。
GR流量算出サブルーチンで設定された基本EGR流量
ELBASEを目標EGR流量(制御目標値)として、
この目標EGR流量ELBASEと実EGR流量NEG
Rとを比較する。そして、目標EGR流量に対する実E
GR流量の大小関係に応じ、以降のステップで点火時期
補正量ADEGRを設定する。
【0218】すなわち、ステップS903において、実
EGR流量NEGRが目標EGR流量ELBASEより
少ないか否かを調べ、ELBASE≦NEGRのときに
は、更にステップS904で、実EGR流量NEGRが
目標EGR流量ELBASEより多いか否かを調べる。
その結果、実EGR流量NEGRが目標EGR流量EL
BASEより少なくも多くもなく(NEGR=ELBA
SE)、目標EGR流量ELBASEに収束していると
きには、そのままルーチンを抜けて、現在の点火時期補
正量ADEGRを保持する。
EGR流量NEGRが目標EGR流量ELBASEより
少ないか否かを調べ、ELBASE≦NEGRのときに
は、更にステップS904で、実EGR流量NEGRが
目標EGR流量ELBASEより多いか否かを調べる。
その結果、実EGR流量NEGRが目標EGR流量EL
BASEより少なくも多くもなく(NEGR=ELBA
SE)、目標EGR流量ELBASEに収束していると
きには、そのままルーチンを抜けて、現在の点火時期補
正量ADEGRを保持する。
【0219】また、ステップS904において、実EG
R流量NEGRが目標EGR流量ELBASEより多い
ときには、ステップS905で、目標EGR流量ELB
ASEに対応する後述のテーブルTADVEGRBを用
いた基本点火時期ADVBに対する進角補正量が少な過
ぎるため、現在の点火時期補正量ADEGRに設定値S
ADV(例えば、1°CA)を加算し、演算周期毎に設
定値SADVずつ点火時期補正量ADEGRを進角させ
る(ADEGR←ADEGR+SADV)。そして、ス
テップS906で、点火時期補正量ADEGRが上限値
LMTHを越えていないか否かを調べ、ADEGR≦L
MTHのときには、ルーチンを抜け、ADEGR>LM
THのとき、ステップS907で点火時期補正量ADE
GRを上限値LMTHにより上限規制し(ADEGR←
LMTH)、ルーチンを抜ける。
R流量NEGRが目標EGR流量ELBASEより多い
ときには、ステップS905で、目標EGR流量ELB
ASEに対応する後述のテーブルTADVEGRBを用
いた基本点火時期ADVBに対する進角補正量が少な過
ぎるため、現在の点火時期補正量ADEGRに設定値S
ADV(例えば、1°CA)を加算し、演算周期毎に設
定値SADVずつ点火時期補正量ADEGRを進角させ
る(ADEGR←ADEGR+SADV)。そして、ス
テップS906で、点火時期補正量ADEGRが上限値
LMTHを越えていないか否かを調べ、ADEGR≦L
MTHのときには、ルーチンを抜け、ADEGR>LM
THのとき、ステップS907で点火時期補正量ADE
GRを上限値LMTHにより上限規制し(ADEGR←
LMTH)、ルーチンを抜ける。
【0220】一方、ステップS903において、ELB
ASE>NEGRのときには、ステップS903からス
テップS908へ進んで、目標EGR流量ELBASE
に対応する後述のテーブルTADVEGRBを用いた基
本点火時期ADVBに対する進角補正量が多すぎるた
め、点火時期補正量ADEGRから設定値SRE(例え
ば、1°CA)を減算し、演算周期毎に設定値SREず
つ点火時期補正量ADEGRを遅角させる(ADEGR
←ADEGR−SRE)。そして、ステップS909
で、点火時期補正量ADEGRが下限値LMTLより小
さくなっていないか否かを調べ、ADEGR≧LMTL
のときには、ルーチンを抜け、ADEGR<LMTLの
とき、ステップS910で点火時期補正量ADEGRを
下限値LMTLにより下限規制し(ADEGR←LMT
L)、ルーチンを抜ける。
ASE>NEGRのときには、ステップS903からス
テップS908へ進んで、目標EGR流量ELBASE
に対応する後述のテーブルTADVEGRBを用いた基
本点火時期ADVBに対する進角補正量が多すぎるた
め、点火時期補正量ADEGRから設定値SRE(例え
ば、1°CA)を減算し、演算周期毎に設定値SREず
つ点火時期補正量ADEGRを遅角させる(ADEGR
←ADEGR−SRE)。そして、ステップS909
で、点火時期補正量ADEGRが下限値LMTLより小
さくなっていないか否かを調べ、ADEGR≧LMTL
のときには、ルーチンを抜け、ADEGR<LMTLの
とき、ステップS910で点火時期補正量ADEGRを
下限値LMTLにより下限規制し(ADEGR←LMT
L)、ルーチンを抜ける。
【0221】次に、図52の点火時期制御ルーチンにつ
いて説明する。この点火時期制御ルーチンでは、先ず、
ステップS950で、点火時期補正量設定ルーチンと同
様、現在のモータ位置EGRSTMが0でEGR弁20
のステップモータが零点位置にあるか否かを調べること
で、EGR実施中か否かを判断する。
いて説明する。この点火時期制御ルーチンでは、先ず、
ステップS950で、点火時期補正量設定ルーチンと同
様、現在のモータ位置EGRSTMが0でEGR弁20
のステップモータが零点位置にあるか否かを調べること
で、EGR実施中か否かを判断する。
【0222】その結果、ステップS950においてEG
RSTM=0であり、EGRが実施されていないときに
は、ステップS951で、エンジン負荷の一例としての
吸気管圧力PMと、エンジン回転数NEとに基づいてE
GR無しに対応するテーブルTADVBを補間計算付き
で参照し、基本点火時期(進角値)ADVBを設定す
る。テーブルTADVBに格納されている基本点火時期
ADVBは、EGR無しに対応するものであり、予めシ
ミュレーション或いは実験等により、EGR無しの状態
下でエンジン負荷を表す吸気管圧力PMとエンジン回転
数NEとをパラメータとする領域毎に適正な点火時期を
求めたものである。
RSTM=0であり、EGRが実施されていないときに
は、ステップS951で、エンジン負荷の一例としての
吸気管圧力PMと、エンジン回転数NEとに基づいてE
GR無しに対応するテーブルTADVBを補間計算付き
で参照し、基本点火時期(進角値)ADVBを設定す
る。テーブルTADVBに格納されている基本点火時期
ADVBは、EGR無しに対応するものであり、予めシ
ミュレーション或いは実験等により、EGR無しの状態
下でエンジン負荷を表す吸気管圧力PMとエンジン回転
数NEとをパラメータとする領域毎に適正な点火時期を
求めたものである。
【0223】また、ステップS950においてEGRS
TM≠0であり、EGR実施中のときには、ステップS
952で、エンジン負荷の一例としての吸気管圧力PM
と、エンジン回転数NEとに基づいてEGR有りに対応
するテーブルTADVEGRBを補間計算付きで参照
し、基本点火時期(進角値)ADVBを設定する。テー
ブルTADVEGRBに格納されている基本点火時期A
DVBは、EGR有りに対応するものであり、予めシミ
ュレーション或いは実験等により、エンジン負荷を表す
吸気管圧力PMとエンジン回転数NEとをパラメータと
する領域毎に目標EGR流量ELBASEが得られてい
る状態下で、適正な点火時期を求めたものである。
TM≠0であり、EGR実施中のときには、ステップS
952で、エンジン負荷の一例としての吸気管圧力PM
と、エンジン回転数NEとに基づいてEGR有りに対応
するテーブルTADVEGRBを補間計算付きで参照
し、基本点火時期(進角値)ADVBを設定する。テー
ブルTADVEGRBに格納されている基本点火時期A
DVBは、EGR有りに対応するものであり、予めシミ
ュレーション或いは実験等により、エンジン負荷を表す
吸気管圧力PMとエンジン回転数NEとをパラメータと
する領域毎に目標EGR流量ELBASEが得られてい
る状態下で、適正な点火時期を求めたものである。
【0224】この場合、EGR実施時にはEGRガス
(不燃ガス)により燃焼伝播(燃焼速度)が遅くなるた
め、EGR無しの場合よりも点火時期を進角させて点火
を早める必要がある。従って、EGR有りに対応するテ
ーブルTADVEGRBには、EGR無しに対応するテ
ーブルTADVBよりも相対的に進角量の大きい基本点
火時期がストアされている。
(不燃ガス)により燃焼伝播(燃焼速度)が遅くなるた
め、EGR無しの場合よりも点火時期を進角させて点火
を早める必要がある。従って、EGR有りに対応するテ
ーブルTADVEGRBには、EGR無しに対応するテ
ーブルTADVBよりも相対的に進角量の大きい基本点
火時期がストアされている。
【0225】そして、ステップS951或いはステップ
S952で基本点火時期ADVBを設定した後、ステッ
プS953へ進み、ノックセンサ25の出力により検出
されるノックの有無に応じて点火時期を遅角或いは進角
補正するためのノック補正値ADVKを設定する。次い
で、ステップS954へ進み、基本点火時期ADVBに
ノック補正値ADVKと点火時期補正量ADEGRとを
加算して最終的な点火時期ADVを算出し(ADV←A
DVB+ADVK+ADEGR)、ステップS955
で、最終的な点火時期ADVを点火タイマにセットして
ルーチンを抜ける。
S952で基本点火時期ADVBを設定した後、ステッ
プS953へ進み、ノックセンサ25の出力により検出
されるノックの有無に応じて点火時期を遅角或いは進角
補正するためのノック補正値ADVKを設定する。次い
で、ステップS954へ進み、基本点火時期ADVBに
ノック補正値ADVKと点火時期補正量ADEGRとを
加算して最終的な点火時期ADVを算出し(ADV←A
DVB+ADVK+ADEGR)、ステップS955
で、最終的な点火時期ADVを点火タイマにセットして
ルーチンを抜ける。
【0226】ここで、EGR無しの場合には、EGRに
応じて点火時期を補正するための点火時期補正量ADE
GRが前述の点火時期補正量設定ルーチンにおいてAD
EGR=0に設定されているため、実質的に点火時期補
正量ADEGRによる補正は無く、EGR無しに適合す
る点火時期ADVが得られる。また、EGR有りの場合
には、EGRに応じて点火時期を補正するための点火時
期補正量ADEGRが前述の点火時期補正量設定ルーチ
ンにおいて目標EGR流量ELBASEに対する実EG
R流量NEGRの大小関係により逐次更新されるため、
目標EGR流量ELBASEに対応する基本点火時期A
DVBが実際のEGR流量に適合して的確に補正され、
常に、そのときのEGR量に適合する点火時期を的確且
つ確実に得ることができる。
応じて点火時期を補正するための点火時期補正量ADE
GRが前述の点火時期補正量設定ルーチンにおいてAD
EGR=0に設定されているため、実質的に点火時期補
正量ADEGRによる補正は無く、EGR無しに適合す
る点火時期ADVが得られる。また、EGR有りの場合
には、EGRに応じて点火時期を補正するための点火時
期補正量ADEGRが前述の点火時期補正量設定ルーチ
ンにおいて目標EGR流量ELBASEに対する実EG
R流量NEGRの大小関係により逐次更新されるため、
目標EGR流量ELBASEに対応する基本点火時期A
DVBが実際のEGR流量に適合して的確に補正され、
常に、そのときのEGR量に適合する点火時期を的確且
つ確実に得ることができる。
【0227】図53〜図55は、本発明の実施の第2形
態に係り、図53は点火時期補正係数設定ルーチンのフ
ローチャート、図54は点火時期補正係数テーブルの説
明図、図55は点火時期制御ルーチンのフローチャート
である。
態に係り、図53は点火時期補正係数設定ルーチンのフ
ローチャート、図54は点火時期補正係数テーブルの説
明図、図55は点火時期制御ルーチンのフローチャート
である。
【0228】第2形態は、前述の第1形態に対し、点火
時期設定の際に、常時、EGR無しに対応する基本点火
時期のテーブルTADVBとEGR有りに対応する基本
点火時期のテーブルTADVEGRBとを用い、各テー
ブルの間で目標EGR流量に対する実EGR流量の割合
に応じた適正な点火時期を設定するものである。
時期設定の際に、常時、EGR無しに対応する基本点火
時期のテーブルTADVBとEGR有りに対応する基本
点火時期のテーブルTADVEGRBとを用い、各テー
ブルの間で目標EGR流量に対する実EGR流量の割合
に応じた適正な点火時期を設定するものである。
【0229】このため、第2形態では、図53の点火時
期補正係数設定ルーチンにおいて、目標EGR流量に対
する実EGR流量の割合(百分率;EGR率)に応じて
点火時期補正係数KEGRを設定する。すなわち、第2
形態では、ECU50は、本発明に係る2つの基本点火
時期を設定する基本点火時期設定手段、点火時期補正係
数を設定する点火時期補正係数設定手段、2つの基本点
火時期と点火時期補正係数とにより点火時期を設定する
点火時期設定手段の機能を実現する。
期補正係数設定ルーチンにおいて、目標EGR流量に対
する実EGR流量の割合(百分率;EGR率)に応じて
点火時期補正係数KEGRを設定する。すなわち、第2
形態では、ECU50は、本発明に係る2つの基本点火
時期を設定する基本点火時期設定手段、点火時期補正係
数を設定する点火時期補正係数設定手段、2つの基本点
火時期と点火時期補正係数とにより点火時期を設定する
点火時期設定手段の機能を実現する。
【0230】図53の点火時期補正係数設定ルーチンで
は、先ず、ステップS1000で、第1形態と同様、E
GR弁20の弁開度に対応する現モータ位置EGRST
Mと、吸気管圧力PMと、エンジン回転数NEとに基づ
いてテーブルを補間計算付きで参照し、実EGR流量N
EGRを求める。
は、先ず、ステップS1000で、第1形態と同様、E
GR弁20の弁開度に対応する現モータ位置EGRST
Mと、吸気管圧力PMと、エンジン回転数NEとに基づ
いてテーブルを補間計算付きで参照し、実EGR流量N
EGRを求める。
【0231】次に、ステップS1001へ進み、目標E
GR流量ELBASEに対する実EGR流量NEGRの
割合(百分率;EGR率)REGRを算出する(REG
R←(NEGR/ELBASE)×100)。そして、
ステップS1002で、EGR率REGRに基づいて点
火時期補正係数テーブルTKEGRを補間計算付きで参
照し、点火時期補正係数KEGRを設定する。点火時期
補正係数KEGRは、図54に示すように、予めシミュ
レーション或いは実験等により、EGR率REGRによ
る領域毎に、EGR無しに対応する点火時期とEGR有
りの目標EGR流量ELBASEに適合する点火時期と
の間における適正点火時期を、図55の点火時期制御ル
ーチンにおける最終的な点火時期を求める際の演算式に
適用可能な係数として求めたものであり、ROM52の
テーブルに格納されている。
GR流量ELBASEに対する実EGR流量NEGRの
割合(百分率;EGR率)REGRを算出する(REG
R←(NEGR/ELBASE)×100)。そして、
ステップS1002で、EGR率REGRに基づいて点
火時期補正係数テーブルTKEGRを補間計算付きで参
照し、点火時期補正係数KEGRを設定する。点火時期
補正係数KEGRは、図54に示すように、予めシミュ
レーション或いは実験等により、EGR率REGRによ
る領域毎に、EGR無しに対応する点火時期とEGR有
りの目標EGR流量ELBASEに適合する点火時期と
の間における適正点火時期を、図55の点火時期制御ル
ーチンにおける最終的な点火時期を求める際の演算式に
適用可能な係数として求めたものであり、ROM52の
テーブルに格納されている。
【0232】次に、図55の点火時期制御ルーチンにつ
いて説明する。このルーチンでは、先ず、ステップS1
100で、吸気管圧力PMとエンジン回転数NEとに基
づいてEGR無しに対応するテーブルTADVBを補間
計算付きで参照し、EGR無しの基本点火時期(排気非
還流基本点火時期;進角値)ADVBを設定する。次い
で、ステップS1101へ進み、吸気管圧力PMとエン
ジン回転数NEとに基づいてEGR有りに対応するテー
ブルTADVEGRBを補間計算付きで参照し、EGR
有りの基本点火時期(排気還流基本点火時期;進角値)
ADVEGRBを設定する。
いて説明する。このルーチンでは、先ず、ステップS1
100で、吸気管圧力PMとエンジン回転数NEとに基
づいてEGR無しに対応するテーブルTADVBを補間
計算付きで参照し、EGR無しの基本点火時期(排気非
還流基本点火時期;進角値)ADVBを設定する。次い
で、ステップS1101へ進み、吸気管圧力PMとエン
ジン回転数NEとに基づいてEGR有りに対応するテー
ブルTADVEGRBを補間計算付きで参照し、EGR
有りの基本点火時期(排気還流基本点火時期;進角値)
ADVEGRBを設定する。
【0233】そして、ステップS1102で、ノックセ
ンサ25の出力により検出されるノックの有無に応じて
点火時期を遅角或いは進角補正するためのノック補正値
ADVKを設定し、ステップS1103で、EGR有り
の基本点火時期ADVEGRBとEGR無しの基本点火
時期ADVBとの差に点火時期補正係数KEGRを乗算
し、この乗算値とEGR無しの基本点火時期ADVBと
ノック補正値ADVKとを加算して最終的な点火時期A
DVを算出する(ADV←ADVB+(ADVEGRB
−ADVB)×KEGR+ADVK)。すなわち、目標
EGR流量ELBASEに対するEGR率REGRに適
合する点火時期が、EGR無しの点火時期とEGR有り
の点火時期との間において、どこに位置するのかを点火
時期補正係数KEGRによって決定し、最終的な点火時
期を設定する。そして、ステップS1104で、最終的
な点火時期ADVを点火タイマにセットしてルーチンを
抜ける。
ンサ25の出力により検出されるノックの有無に応じて
点火時期を遅角或いは進角補正するためのノック補正値
ADVKを設定し、ステップS1103で、EGR有り
の基本点火時期ADVEGRBとEGR無しの基本点火
時期ADVBとの差に点火時期補正係数KEGRを乗算
し、この乗算値とEGR無しの基本点火時期ADVBと
ノック補正値ADVKとを加算して最終的な点火時期A
DVを算出する(ADV←ADVB+(ADVEGRB
−ADVB)×KEGR+ADVK)。すなわち、目標
EGR流量ELBASEに対するEGR率REGRに適
合する点火時期が、EGR無しの点火時期とEGR有り
の点火時期との間において、どこに位置するのかを点火
時期補正係数KEGRによって決定し、最終的な点火時
期を設定する。そして、ステップS1104で、最終的
な点火時期ADVを点火タイマにセットしてルーチンを
抜ける。
【0234】第2形態では、前述の第1形態に対し、点
火時期制御精度を向上することが可能であり、EGR無
しからEGR実施への移行時における点火時期の繋がり
がスムーズとなって点火時期制御性をより向上すること
ができる。
火時期制御精度を向上することが可能であり、EGR無
しからEGR実施への移行時における点火時期の繋がり
がスムーズとなって点火時期制御性をより向上すること
ができる。
【0235】尚、本発明の実施の第1形態においては、
点火時期補正量ADEGRを設定するに際して実EGR
流量NEGRと目標EGR流量ELBASEとを用いて
いるが、これに代えてEGR率を採用しても良い。ま
た、各実施の形態においては、ステップモータ式EGR
弁20を採用した例について説明したが、本発明はこれ
に限定されるものではなく、デューティソレノイド式や
ロータリソレノイド式のEGR弁等、制御装置により制
御可能なものであれば良い。更に、各実施の形態では、
現モータ位置EGRSTM、エンジン負荷、及びエンジ
ン回転数NEに基づいて実EGR流量を求めているが、
これに代えて、適宜の周知の手段により実EGR流量を
求めて良いことは勿論である。
点火時期補正量ADEGRを設定するに際して実EGR
流量NEGRと目標EGR流量ELBASEとを用いて
いるが、これに代えてEGR率を採用しても良い。ま
た、各実施の形態においては、ステップモータ式EGR
弁20を採用した例について説明したが、本発明はこれ
に限定されるものではなく、デューティソレノイド式や
ロータリソレノイド式のEGR弁等、制御装置により制
御可能なものであれば良い。更に、各実施の形態では、
現モータ位置EGRSTM、エンジン負荷、及びエンジ
ン回転数NEに基づいて実EGR流量を求めているが、
これに代えて、適宜の周知の手段により実EGR流量を
求めて良いことは勿論である。
【0236】
【発明の効果】以上説明したように本発明によれば、排
気ガス還流の制御状態を考慮して実際の運転状態に適合
する点火時期を的確且つ確実に得ることができ、大量の
排気ガス還流にも対応可能となって排気エミッションの
改善や燃費向上に寄与することができる。
気ガス還流の制御状態を考慮して実際の運転状態に適合
する点火時期を的確且つ確実に得ることができ、大量の
排気ガス還流にも対応可能となって排気エミッションの
改善や燃費向上に寄与することができる。
【図1】本発明の実施の第1形態に係わり、エンジンの
全体概略図
全体概略図
【図2】同上、クランクロータとクランク角センサの正
面図
面図
【図3】同上、カムロータと気筒判別センサの正面図
【図4】同上、クランクパルス、気筒判別パルス、燃焼
行程気筒、点火信号、及びインジェクタ駆動信号の関係
を示すタイムチャート
行程気筒、点火信号、及びインジェクタ駆動信号の関係
を示すタイムチャート
【図5】同上、電子制御系の回路構成図
【図6】同上、気筒判別/エンジン回転数算出ルーチン
のフローチャート
のフローチャート
【図7】同上、サージレベル検出ルーチンのフローチャ
ート
ート
【図8】同上、指標値演算サブルーチンのフローチャー
ト
ト
【図9】同上、デジタルフィルタ処理の説明図
【図10】同上、サージレベル指標値算出サブルーチン
のフローチャート(その1)
のフローチャート(その1)
【図11】同上、サージレベル指標値算出サブルーチン
のフローチャート(その2)
のフローチャート(その2)
【図12】同上、指標最大値の説明図
【図13】同上、指標最大値減衰量テーブルの説明図
【図14】同上、指標最大値張り付き判定の説明図
【図15】同上、サージレベル判定閾値設定サブルーチ
ンのフローチャート(その1)
ンのフローチャート(その1)
【図16】同上、サージレベル判定閾値設定サブルーチ
ンのフローチャート(その2)
ンのフローチャート(その2)
【図17】同上、サージレベル判定閾値設定サブルーチ
ンのフローチャート(その3)
ンのフローチャート(その3)
【図18】同上、小サージレベル判定閾値の説明図
【図19】同上、中サージレベル判定閾値の説明図
【図20】同上、大サージレベル判定閾値の説明図
【図21】同上、サージレベル検出サブルーチンのフロ
ーチャート
ーチャート
【図22】同上、EGR制御量算出ルーチンのフローチ
ャート
ャート
【図23】同上、EGR実施可能判定サブルーチンのフ
ローチャート(その1)
ローチャート(その1)
【図24】同上、EGR実施可能判定サブルーチンのフ
ローチャート(その2)
ローチャート(その2)
【図25】同上、EGR実施可能判定サブルーチンのフ
ローチャート(その3)
ローチャート(その3)
【図26】同上、EGR実施可能判定サブルーチンのフ
ローチャート(その4)
ローチャート(その4)
【図27】同上、EGR実施可能判定サブルーチンのフ
ローチャート(その5)
ローチャート(その5)
【図28】同上、EGR実施可能判定サブルーチンのフ
ローチャート(その6)
ローチャート(その6)
【図29】同上、EGR実施可能判定サブルーチンのフ
ローチャート(その7)
ローチャート(その7)
【図30】同上、EGR実施可能判定条件の説明図
【図31】同上、EGRリミットガード目標値更新条件
判定サブルーチンのフローチャート(その1)
判定サブルーチンのフローチャート(その1)
【図32】同上、EGRリミットガード目標値更新条件
判定サブルーチンのフローチャート(その2)
判定サブルーチンのフローチャート(その2)
【図33】同上、EGRリミットガード目標値更新条件
判定サブルーチンのフローチャート(その3)
判定サブルーチンのフローチャート(その3)
【図34】同上、EGRリミットガード目標値更新条件
判定サブルーチンのフローチャート(その4)
判定サブルーチンのフローチャート(その4)
【図35】同上、EGRリミットガード目標値更新条件
判定サブルーチンのフローチャート(その5)
判定サブルーチンのフローチャート(その5)
【図36】同上、EGRリミットガード目標値更新条件
判定サブルーチンのフローチャート(その6)
判定サブルーチンのフローチャート(その6)
【図37】同上、EGRリミットガード目標値更新条件
判定の説明図
判定の説明図
【図38】同上、EGRリミットガード目標値更新サブ
ルーチンのフローチャート(その1)
ルーチンのフローチャート(その1)
【図39】同上、EGRリミットガード目標値更新サブ
ルーチンのフローチャート(その2)
ルーチンのフローチャート(その2)
【図40】同上、EGRリミットガード目標値更新サブ
ルーチンのフローチャート(その3)
ルーチンのフローチャート(その3)
【図41】同上、EGRリミットガード目標値更新サブ
ルーチンのフローチャート(その4)
ルーチンのフローチャート(その4)
【図42】同上、安定指標パラメータ算出ルーチンのフ
ローチャート
ローチャート
【図43】同上、回転補正係数テーブルの説明図
【図44】同上、EGRリミット値設定サブルーチンの
フローチャート(その1)
フローチャート(その1)
【図45】同上、EGRリミット値設定サブルーチンの
フローチャート(その2)
フローチャート(その2)
【図46】同上、EGR禁止/許可によるEGR許可係
数の変化を示す説明図
数の変化を示す説明図
【図47】同上、EGR流量算出サブルーチンのフロー
チャート
チャート
【図48】同上、モータ目標位置算出サブルーチンのフ
ローチャート
ローチャート
【図49】同上、EGR駆動ルーチンのフローチャート
【図50】同上、サージレベルとEGRリミットガード
目標値とモータ目標位置との関係を示すタイムチャート
目標値とモータ目標位置との関係を示すタイムチャート
【図51】同上、点火時期補正量設定ルーチンのフロー
チャート
チャート
【図52】同上、点火時期制御ルーチンのフローチャー
ト
ト
【図53】本発明の実施の第2形態に係わり、点火時期
補正係数設定ルーチンのフローチャート
補正係数設定ルーチンのフローチャート
【図54】同上、点火時期補正係数テーブルの説明図
【図55】同上、点火時期制御ルーチンのフローチャー
ト
ト
1 エンジン 50 電子制御装置(基本点火時期設定手段、点火時期
補正量設定手段、点火時期補正係数設定手段、点火時期
設定手段) ADVB,ADVEGRB 基本点火時期 ADEGR 点火時期補正量 KEGR 点火時期補正係数 ADV 点火時期 ELBASE 基本EGR流量(制御目標
値) NEGR 実EGR流量(実還流値)
補正量設定手段、点火時期補正係数設定手段、点火時期
設定手段) ADVB,ADVEGRB 基本点火時期 ADEGR 点火時期補正量 KEGR 点火時期補正係数 ADV 点火時期 ELBASE 基本EGR流量(制御目標
値) NEGR 実EGR流量(実還流値)
フロントページの続き Fターム(参考) 3G022 AA03 AA10 DA01 DA02 DA04 DA10 EA07 EA08 GA01 GA02 GA05 GA06 GA07 GA08 GA09 GA11 GA13 GA19 3G062 AA03 EA11 GA01 GA02 GA04 GA06 GA08 GA12 GA18 GA26 3G084 AA03 BA17 BA20 DA04 DA10 FA02 FA05 FA07 FA10 FA11 FA20 FA25 FA33 FA38
Claims (6)
- 【請求項1】 排気系から吸気系に還流する排気ガスの
制御目標値に適合する基本点火時期を設定する基本点火
時期設定手段と、 上記基本点火時期を、上記制御目標値と排気ガスの実還
流値との大小関係に基づいて補正するための点火時期補
正量を設定する点火時期補正量設定手段と、 上記基本点火時期を上記点火時期補正量で補正して点火
時期を設定する点火時期設定手段とを備えたことを特徴
とするエンジンの点火時期制御装置。 - 【請求項2】 上記点火時期補正量設定手段は、 上記点火時期補正量を、上記制御目標値よりも上記実還
流値が小さいときには、上記点火時期補正量を遅角側に
漸次更新し、上記制御目標値よりも上記実還流値が大き
いときには、上記点火時期補正量を進角側に漸次更新す
ることを特徴とする請求項1記載のエンジンの点火時期
制御装置。 - 【請求項3】 上記点火時期補正量設定手段は、 上記点火時期補正量を、上限値と下限値との少なくとも
一方で規制することを特徴とする請求項2記載のエンジ
ンの点火時期制御装置。 - 【請求項4】 上記制御目標値を、目標還流量又は目標
還流率とすることを特徴とする請求項1,2,3のいず
れか一に記載のエンジンの点火時期制御装置。 - 【請求項5】 排気系から吸気系に還流する排気ガスの
目標還流量に適合する排気還流基本点火時期と排気還流
無しに適合する排気非還流基本点火時期とを設定する基
本点火時期設定手段と、 上記目標還流量に対する実還流量の割合を算出し、この
割合に応じて上記排気非還流基本点火時期と上記排気還
流基本点火時期との間で適正な点火時期を設定するため
の点火時期補正係数を設定する点火時期補正係数設定手
段と、 上記排気非還流基本点火時期と上記排気還流基本点火時
期と上記点火時期補正係数とにより点火時期を設定する
点火時期設定手段とを備えたことを特徴とするエンジン
の点火時期制御装置。 - 【請求項6】 上記点火時期設定手段は、 上記排気還流基本点火時期から上記排気非還流基本点火
時期を減算した値に上記点火時期補正係数を乗算し、こ
の乗算値と上記排気非還流基本点火時期とを加算して点
火時期を設定することを特徴とする請求項5記載のエン
ジンの点火時期制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000233682A JP2002048039A (ja) | 2000-08-01 | 2000-08-01 | エンジンの点火時期制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000233682A JP2002048039A (ja) | 2000-08-01 | 2000-08-01 | エンジンの点火時期制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002048039A true JP2002048039A (ja) | 2002-02-15 |
Family
ID=18726167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000233682A Pending JP2002048039A (ja) | 2000-08-01 | 2000-08-01 | エンジンの点火時期制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002048039A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009174462A (ja) * | 2008-01-25 | 2009-08-06 | Toyota Motor Corp | 内燃機関の制御装置 |
JP2018131950A (ja) * | 2017-02-14 | 2018-08-23 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
JP2019173701A (ja) * | 2018-03-29 | 2019-10-10 | マツダ株式会社 | エンジンの制御装置 |
-
2000
- 2000-08-01 JP JP2000233682A patent/JP2002048039A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009174462A (ja) * | 2008-01-25 | 2009-08-06 | Toyota Motor Corp | 内燃機関の制御装置 |
JP2018131950A (ja) * | 2017-02-14 | 2018-08-23 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
US10473044B2 (en) | 2017-02-14 | 2019-11-12 | Toyota Jidosha Kabushiki Kaisha | Control device for internal combustion engine |
JP2019173701A (ja) * | 2018-03-29 | 2019-10-10 | マツダ株式会社 | エンジンの制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0659995B1 (en) | Method and system for determining cylinder air charge for internal combustion engine | |
US5454360A (en) | Supercharged pressure control device for supercharged engine | |
KR100448300B1 (ko) | 엔진의 제어 장치 및 제어 방법 | |
US5265575A (en) | Apparatus for controlling internal combustion engine | |
KR20000064611A (ko) | 외부배기가스를재순환하는내연기관의실린더로유입되는맑은공기의매스를모델을통해결정하기위한방법 | |
KR19980019072A (ko) | 기통내분사형 불꽃 점하식내연기관의 제어장치(control system for in-cylinder injection spark ignition internal combustion engine) | |
JPH10110649A (ja) | 内燃機関の失火検出装置 | |
EP0363958A2 (en) | Method and apparatus for controlling the fuel injection for internal combustion engines | |
JPS6143235A (ja) | 空燃比制御方法 | |
JP2003286890A (ja) | エンジンの制御装置 | |
KR20020060044A (ko) | 내연기관의 공연비제어장치 | |
JP2002048011A (ja) | エンジンの排気ガス還流制御装置 | |
JP2002048039A (ja) | エンジンの点火時期制御装置 | |
JP2003138979A (ja) | 内燃機関の失火検出装置 | |
EP1178204A2 (en) | Controller for controlling an internal combustion engine in emergency driving | |
JP3938670B2 (ja) | 燃料噴射制御装置 | |
KR20020005658A (ko) | 내연기관의 회전수 제어장치 | |
JPH06288307A (ja) | 内燃エンジンの蒸発燃料処理装置 | |
KR0150824B1 (ko) | 내연기관의 점화시기 제어장치 | |
JP2000002148A (ja) | エンジンの制御装置 | |
JP4103547B2 (ja) | 内燃機関出力制御方法及び装置 | |
JP2000002149A (ja) | エンジンの制御装置 | |
JP2000002145A (ja) | リーンバーンエンジンの制御装置 | |
JP3658767B2 (ja) | 内燃機関用失火検出装置 | |
JPH09324693A (ja) | 燃料性状検出装置 |