IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立オートモティブシステムズ株式会社の特許一覧

<>
  • 特開-内燃機関の制御装置 図1
  • 特開-内燃機関の制御装置 図2
  • 特開-内燃機関の制御装置 図3
  • 特開-内燃機関の制御装置 図4
  • 特開-内燃機関の制御装置 図5
  • 特開-内燃機関の制御装置 図6
  • 特開-内燃機関の制御装置 図7
  • 特開-内燃機関の制御装置 図8
  • 特開-内燃機関の制御装置 図9
  • 特開-内燃機関の制御装置 図10
  • 特開-内燃機関の制御装置 図11
  • 特開-内燃機関の制御装置 図12
  • 特開-内燃機関の制御装置 図13
  • 特開-内燃機関の制御装置 図14
  • 特開-内燃機関の制御装置 図15
  • 特開-内燃機関の制御装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024075344
(43)【公開日】2024-06-03
(54)【発明の名称】内燃機関の制御装置
(51)【国際特許分類】
   F02D 45/00 20060101AFI20240527BHJP
   F02D 43/00 20060101ALI20240527BHJP
   F02P 5/152 20060101ALI20240527BHJP
【FI】
F02D45/00 368A
F02D43/00 301B
F02D43/00 301H
F02P5/152
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022186727
(22)【出願日】2022-11-22
(71)【出願人】
【識別番号】509186579
【氏名又は名称】日立Astemo株式会社
(74)【代理人】
【識別番号】100129425
【弁理士】
【氏名又は名称】小川 護晃
(74)【代理人】
【識別番号】100168642
【弁理士】
【氏名又は名称】関谷 充司
(72)【発明者】
【氏名】外山 裕一
(72)【発明者】
【氏名】中嶋 建仁
【テーマコード(参考)】
3G022
3G384
【Fターム(参考)】
3G022DA01
3G022DA02
3G022EA02
3G022GA01
3G022GA06
3G022GA07
3G022GA08
3G022GA09
3G022GA13
3G022GA18
3G384AA01
3G384BA09
3G384BA13
3G384BA18
3G384BA24
3G384DA15
3G384EB03
3G384EB04
3G384EB05
3G384EB07
3G384ED06
3G384ED07
3G384FA01Z
3G384FA05Z
3G384FA06Z
3G384FA08Z
3G384FA28Z
3G384FA33Z
3G384FA37Z
3G384FA58Z
3G384FA61Z
(57)【要約】
【課題】各気筒間で発生するトルクの段差を抑制しつつ空燃比をリーン化することができる、内燃機関の制御装置を提供する。
【解決手段】エンジンコントロールモジュールは、各気筒のノッキングの有無を検出して点火時期を変更するノッキング制御を実行するとともに、ノッキング制御の結果に基づいて燃料増量率を変更する空燃比制御を実行する。このとき、エンジンコントロールモジュールは、各気筒における空燃比の差が所定値より大きければ、制御対象である気筒の空燃比が所定値までシフトするように燃料増量率を制限する。
【選択図】図10
【特許請求の範囲】
【請求項1】
各気筒のノッキングの有無を検出して点火時期を変更するノッキング制御を実行するとともに、前記ノッキング制御の結果に基づいて燃料増量率を変更する空燃比制御を実行する内燃機関の制御装置であって、
前記各気筒における空燃比の差が所定値より大きければ、制御対象である気筒の空燃比が前記所定値までシフトするように前記燃料増量率を制限する、
内燃機関の制御装置。
【請求項2】
前記内燃機関がN気筒である場合、前記ノッキング制御及び前記空燃比制御が実行された従前のN-1気筒の空燃比のうち最大のものを基準値として選定し、前記制御対象である気筒の空燃比から前記基準値を減算した値の絶対値が前記所定値より大きければ、当該空燃比が前記所定値までシフトするように前記燃料増量率を制限する、
請求項1に記載の内燃機関の制御装置。
【請求項3】
前記燃料増量率を制限したにもかかわらず、前記制御対象である気筒の空燃比から前記基準値を減算した値の絶対値が前記所定値より大きければ、前記点火時期の進角を更に制限する、
請求項2に記載の内燃機関の制御装置。
【請求項4】
前記制御対象である気筒の空燃比から前記ノッキング制御及び前記空燃比制御が実行された直前の気筒の空燃比を減算した値の絶対値が前記所定値より大きければ、当該空燃比が前記所定値までシフトするように前記燃料増量率を制限する、
請求項1に記載の内燃機関の制御装置。
【請求項5】
前記燃料増量率を制限したにもかかわらず、前記制御対象である気筒の空燃比から前記ノッキング制御及び前記空燃比制御が実行された直前の気筒の空燃比を減算した値の絶対値が前記所定値より大きければ、前記点火時期の進角を更に制限する、
請求項4に記載の内燃機関の制御装置。
【請求項6】
前記燃料増量率の制限は、前記ノッキング制御の結果に基づいて点火時期を遅角し、かつ前記空燃比制御の結果に基づいて燃料増量率を増加させたときに実行される、
請求項1~請求項5のいずれか1つに記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ノッキング制御及び空燃比制御を行う内燃機関の制御装置に関する。
【背景技術】
【0002】
内燃機関の制御装置では、特開昭64-63638号公報(特許文献1)に記載されるように、ノッキングが発生すると点火時期を遅角させるノッキング制御を行いつつ、ノッキング制御の結果に基づいて空燃比をリーン化して燃費を向上させる空燃比制御が行われている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開昭64-63638号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の技術では、気筒ごとに点火時期及び空燃比を独立して変化させていたため、例えば、各気筒における空燃比のバラツキが大きくなり、各気筒間で発生するトルクに大きな段差が発生してしまうおそれがあった。そして、各気筒間で発生するトルクに大きな段差が発生すると、例えば、エンジンの回転が脈動して、エンジンのサージ(振動)が大きくなってしまうおそれがあった。
【0005】
そこで、本発明は、各気筒間で発生するトルクの段差を抑制しつつ空燃比をリーン化することができる、内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
内燃機関の制御装置は、各気筒のノッキングの有無を検出して点火時期を変更するノッキング制御を実行するとともに、ノッキング制御の結果に基づいて燃料増量率を変更する空燃比制御を実行する。このとき、内燃機関の制御装置は、各気筒における空燃比の差が所定値より大きければ、制御対象である気筒の空燃比が所定値までシフトするように燃料増量率を制限する。
【発明の効果】
【0007】
本発明によれば、内燃機関の制御装置において、各気筒間で発生するトルクの段差を抑制しつつ空燃比をリーン化することができる。
【図面の簡単な説明】
【0008】
図1】4サイクルエンジンの制御システムの一例を示す概略図である。
図2】クランクシグナルプレートの一例を示す平面図である。
図3】カムシグナルプレートの一例を示す平面図である。
図4】燃料噴射量設定処理の一例を示すフローチャートである。
図5】燃料噴射実行処理の一例を示すフローチャートである。
図6】点火時期設定処理の一例を示すフローチャートである。
図7】燃料点火実行処理の一例を示すフローチャートである。
図8】燃料増量率設定処理の一例を示すフローチャートである。
図9】燃料増量率を制限するサブルーチンの第1実施形態を示すフローチャートである。
図10】第1の実施形態のサブルーチンを含む燃料増量率設定処理の作用の説明図である。
図11】燃料増量率を制限するサブルーチンの第2実施形態を示すフローチャートである。
図12】第2の実施形態のサブルーチンを含む燃料増量率設定処理の作用の説明図である。
図13】燃料増量率を制限するサブルーチンの第3実施形態を示すフローチャートである。
図14】第3の実施形態のサブルーチンを含む燃料増量率設定処理の作用の説明図である。
図15】燃料増量率を制限するサブルーチンの第4実施形態を示すフローチャートである。
図16】第4の実施形態のサブルーチンを含む燃料増量率設定処理の作用の説明図である。
【発明を実施するための形態】
【0009】
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
図1は、自動車などの車両に搭載された、4サイクルエンジンの制御システムの一例を示している。
【0010】
エンジン(内燃機関)100は、シリンダブロック110と、ピストン120と、クランクシャフト130と、コネクティングロッド140と、シリンダヘッド150と、を有している。シリンダブロック110には、ピストン120が往復動可能に嵌合されるシリンダボア110Aが形成されている。シリンダブロック110の下部には、図示しないベアリングを介して、シリンダブロック110に対して相対回転可能にクランクシャフト130が配置されている。そして、ピストン120は、コネクティングロッド140を介して、クランクシャフト130に連結されている。
【0011】
シリンダヘッド150には、吸気を導入する吸気ポート150Aと、排気を導出する排気ポート150Bと、が夫々形成されている。そして、シリンダヘッド150がシリンダブロック110の上面に締結されることで、シリンダブロック110のシリンダボア110A、ピストン120の冠面、及びシリンダヘッド150の下面によって区画される領域が燃焼室160として機能する。燃焼室160を臨む吸気ポート150Aの開口端には、吸気カムシャフト170によって開閉駆動される吸気バルブ180が配置されている。また、燃焼室160を臨む排気ポート150Bの開口端には、排気カムシャフト190によって開閉駆動される排気バルブ200が配置されている。
【0012】
燃焼室160を臨むシリンダヘッド150の所定箇所には、燃焼室160に燃料を直接噴射する電磁式の燃料噴射弁210と、燃料と吸気との混合気を点火する点火プラグ220と、が夫々取り付けられている。なお、燃料噴射弁210は、燃焼室160に燃料を直接噴射する構成に限らず、吸気ポート150Aに向けて燃料を噴射する構成、又はこれらの両方を有する構成であってもよい。
【0013】
クランクシャフト130の端部には、クランクシグナルプレート230が取り付けられている。クランクシグナルプレート230は、図2に示すように、円板形状のプレート部230Aと、プレート部230Aの外周端から半径外方に向かって任意の所定角度ごとに延びる複数の歯部230Bと、が一体化された被検知部材である。また、クランクシグナルプレート230には、歯部230Bの一部が欠損されることで、クランク角度360°における角度の基準を規定する歯欠け部230Cが形成されている。ここで、図2に示すクランクシグナルプレート230の一例では、2つの歯部230Bを欠損させて歯欠け部230Cが形成されているが、任意数の歯部230Bを欠損させて歯欠け部230Cを形成するようにしてもよい。
【0014】
シリンダブロック110の下部であって、クランクシグナルプレート230の外周端に対面する所定箇所には、クランクシグナルプレート230の歯部230Bを検知して、パルス状のクランク信号CRSを出力するクランク角センサ240が取り付けられている。
【0015】
吸気カムシャフト170の端部には、カムシグナルプレート250が取り付けられている。カムシグナルプレート250は、図3に示すように、円板形状のプレート部250Aと、プレート部250Aの外周端の一部から半径外方に向かって延びる円弧形状の延設部250Bと、が一体化された被検知部材である。
【0016】
また、シリンダヘッド150の上部であって、カムシグナルプレート250の外周端に対面する所定箇所には、カムシグナルプレート250の延設部250Bを検知して、矩形形状のカム信号CMSを出力するカム角センサ260が取り付けられている。クランクシャフト130が2回転する間に、クランク角センサ240がクランクシグナルプレート230の歯欠け部230Cを検知した2箇所の歯欠け位置において、例えば、1回転目の歯欠け位置でLOW信号を出力し、2回転目の歯欠け位置でHIGH信号を出力するように、カムシグナルプレート250の延設部250Bが設けられている。従って、カム角センサ260は、カムシグナルプレート250の延設部250Bを検知したか否かに応じて、異なるレベルのカム信号CMSを出力する。
【0017】
このため、このようなカム信号CMSを監視することで、吸気カムシャフト170の2倍の回転速度で回転するクランクシャフト130について、吸気カムシャフト170の0°~180°に対応する1回転目(0°~360°)の回転中であるか、吸気カムシャフト170の180°~360°に対応する2回転目(360°~720°)の回転中であるかを区別することができる。要するに、吸気カムシャフト170が1回転する間に、クランクシャフト130が1回転目の回転中であるか、クランクシャフト130が2回転目の回転中であるかを区別することができる。
【0018】
なお、カムシグナルプレート250及びカム角センサ260は、吸気カムシャフト170に限らず、排気カムシャフト190に設けられていてもよい。また、カムシグナルプレート250は、図3に示す形状に限らず、1回転目の歯欠け位置と2回転目の歯欠け位置とで異なるレベルの信号を出力できれば、任意の形状を有していてもよい。
【0019】
クランク角センサ240のクランク信号CRS、及びカム角センサ260のカム信号CMSは、マイクロコンピュータ270Aを内蔵したエンジンコントロールモジュール(ECM)270に夫々入力されている。また、エンジンコントロールモジュール270には、クランク角センサ240及びカム角センサ260の各出力信号に加えて、エンジン100の回転速度Neを検出する回転速度センサ280、エンジン100の負荷Qを検出する負荷センサ290、エンジン100の水温Twを検出する水温センサ300、排気中の空燃比ABFを検出する空燃比センサ310、図示しないバッテリの端子間電圧VBを検出する電圧センサ320、及びノッキングによって発生した振動の大きさを表すノック信号KNSを出力するノックセンサ330の各出力信号が夫々入力されている。ここで、エンジン100の負荷Qとしては、例えば、吸気流量、吸気負圧、過給圧力、アクセル開度、スロットル開度など、要求トルクと密接に関連する状態量を使用することができる。なお、エンジンコントロールモジュール270が、内燃機関の制御装置の一例として挙げられる。
【0020】
エンジンコントロールモジュール270は、マイクロコンピュータ270Aの不揮発性メモリ(図示せず)に格納されたアプリケーションプログラムを実行することで、クランク角センサ240、カム角センサ260、回転速度センサ280、負荷センサ290、水温センサ300、空燃比センサ310、電圧センサ320及びノックセンサ330の各出力信号に応じて、以下で詳細に説明するように、燃料噴射弁210及び点火プラグ220を夫々電子制御する。
【0021】
図4は、エンジン100が始動されたことを契機として、エンジンコントロールモジュール270のマイクロコンピュータ270A(以下「エンジンコントロールモジュール270」と略記する。)が所定時間ごとに繰り返し実行する、燃料噴射量設定処理の一例を示している。
【0022】
ステップ10(図4では「S10」と略記する。以下同様。)では、エンジンコントロールモジュール270が、回転速度センサ280からエンジン100の回転速度Neを読み込む。なお、エンジンコントロールモジュール270は、回転速度センサ280から回転速度Neを読み込む代わりに、クランク角センサ240のクランク信号CRSに基づいて回転速度Neを演算するようにしてもよい。
【0023】
ステップ11では、エンジンコントロールモジュール270が、負荷センサ290からエンジン100の負荷Qを読み込む。
ステップ12では、エンジンコントロールモジュール270が、例えば、エンジン100の回転速度及び負荷に適合した燃料噴射タイミングが予め設定されたマップを参照し、エンジン100の回転速度Ne及び負荷Qに応じた燃料噴射タイミングを設定する。ここで、燃料噴射タイミングは、例えば、クランクシャフト130の基準角度からの回転角度とすることができる。
【0024】
ステップ13では、エンジンコントロールモジュール270が、例えば、エンジン100の回転速度及び負荷に適合した基本燃料噴射量が予め設定されたマップを参照し、エンジン100の回転速度Ne及び負荷Qに応じた基本燃料噴射量Tpを算出する。
ステップ14では、エンジンコントロールモジュール270が、水温センサ300からエンジン100の水温Twを読み込む。
【0025】
ステップ15では、エンジンコントロールモジュール270が、例えば、エンジン100の回転速度及び水温に適合した補正係数が予め設定されたマップを参照し、エンジン100の回転速度Ne及び水温Twに応じた補正係数Coを設定する。なお、エンジンコントロールモジュール270は、エンジン100の回転速度Ne及び水温Twに加えて、例えば、始動時、加速時などを考慮して補正係数Coを設定してもよい。
【0026】
ステップ16では、エンジンコントロールモジュール270が、電圧センサ320からバッテリの端子間電圧VBを読み込む。
ステップ17では、エンジンコントロールモジュール270が、例えば、バッテリの端子間電圧に適合した電圧補正分が予め設定されたマップを参照し、バッテリの端子間電圧VBに応じて電圧補正分Tsを算出する。即ち、燃料噴射弁210は駆動信号を受けてから実際に燃料を噴射するまでに作動遅れ時間があることを考慮し、エンジンコントロールモジュール270は、バッテリの端子間電圧VBによる作動遅れを補正するための電圧補正分Tsを算出する。
【0027】
ステップ18では、エンジンコントロールモジュール270が、例えば、「燃料噴射量Ti=2×基本燃料噴射量Tp×空燃比フィードバック係数α×空燃比学習制御係数K×補正係数Co×燃料増量率TFBA+電圧補正分Ts」という式に対して、基本燃料噴射量Tp、補正係数Co及び電圧補正分Tsを夫々代入することで燃料噴射量Tiを算出する。ここで、空燃比フィードバック係数α、及び空燃比学習制御係数Kは当業者にとって周知であるため、その詳細な説明は省略する。また、燃料増量率TFBAは、ノッキングの発生により空燃比をリッチ化する割合を表すパラメータであって、後述する燃料増量率設定処理によって設定される。その後、エンジンコントロールモジュール270は、今回の制御サイクルにおける燃料噴射量設定処理を終了させる。
【0028】
かかる燃料噴射量設定処理によれば、エンジンコントロールモジュール270は、エンジン100の回転速度Ne及び負荷Qに応じて、燃料噴射タイミングを設定するとともに基本燃料噴射量Tpを算出する。また、エンジンコントロールモジュール270は、エンジン100の回転速度Ne及び負荷Qに加えて、エンジン100の水温Tw及びバッテリの端子間電圧VBをパラメータとして、基本燃料噴射量Tpを適宜補正した燃料噴射量Tiを算出する。従って、このようにして求められた燃料噴射タイミング及び燃料噴射量Tiは、エンジン100の運転状態などに適したものとなる。
【0029】
図5は、クランクシャフト130が所定角度回転するたびに実行される、燃料噴射実行処理の一例を示している。ここで、所定角度としては、燃料噴射精度を考慮して、例えば、1度とすることができる。また、燃料噴射実行処理の前提として、エンジンコントロールモジュール270は、クランク角センサ240及びカム角センサ260からクランク信号CRS及びカム信号CMSを逐次読み込み、クランク信号CRS及びカム信号CMSに基づいてクランクシャフト130の回転角度を演算する。
【0030】
ステップ20では、エンジンコントロールモジュール270が、燃料噴射タイミングになったか否か、要するに、クランクシャフト130の回転角度が燃料噴射タイミングを表す回転角度になったか否かを判定する。そして、エンジンコントロールモジュール270は、燃料噴射タイミングになったと判定すれば(Yes)、処理をステップ21へと進める。一方、エンジンコントロールモジュール270は、燃料噴射タイミングになっていないと判定すれば(No)、今回の制御サイクルにおける燃料噴射実行処理を終了させる。
【0031】
ステップ21では、エンジンコントロールモジュール270が、燃料噴射量Tiに応じた駆動信号を燃料噴射弁210に出力して、燃料噴射弁210の噴孔から燃焼室160に燃料を噴射させる。その後、エンジンコントロールモジュール270は、今回の制御サイクルにおける燃料噴射実行処理を終了させる。
【0032】
かかる燃料噴射実行処理によれば、エンジンコントロールモジュール270は、クランクシャフト130の回転角度が燃料噴射タイミングになると、燃料噴射弁210に駆動信号を出力して燃焼室160に燃料を噴射させる。従って、エンジン100の燃焼室160には、エンジン100の運転状態に応じた燃料噴射タイミングで燃料が噴射されることから、例えば、燃費、排気性状、出力などを向上させることができる。
【0033】
図6は、エンジン100が始動されたことを契機として、エンジンコントロールモジュール270が所定時間ごとに繰り返し実行する、点火時期設定処理の一例を示している。ここで、点火時期設定処理を繰り返し実行する時間間隔を規定する所定時間は、燃料噴射量設定処理の所定時間と同一でもよく、又はこれと異なっていてもよい。また、先の燃料噴射量設定処理及び燃料噴射実行処理と同様な処理については、重複説明を排除するために簡単に説明する。必要があれば、先の説明を参照されたい。なお、図6に示す点火時期設定処理は、ノッキング制御を含んでいる。
【0034】
ステップ30では、エンジンコントロールモジュール270が、回転速度センサ280からエンジン100の回転速度Neを読み込む。
ステップ31では、エンジンコントロールモジュール270が、負荷センサ290からエンジン100の負荷Qを読み込む。
【0035】
ステップ32では、エンジンコントロールモジュール270が、例えば、エンジン100の回転速度及び負荷に適合した点火時期が予め設定されたマップを参照して、エンジン100の回転速度Ne及び負荷Qに応じた点火時期ADAを設定する。ここで、点火時期ADAは、例えば、クランクシャフト130の基準角度からの回転角度とすることができる。
【0036】
ステップ33では、エンジンコントロールモジュール270が、水温センサ300からエンジン100の水温Twを読み込む。
ステップ34では、エンジンコントロールモジュール270が、エンジン100の水温Twに基づいて点火時期ADAを補正する。
【0037】
ステップ35では、エンジンコントロールモジュール270が、ノックセンサ330からノック信号KNSを読み込む。
ステップ36では、エンジンコントロールモジュール270が、例えば、ノック信号KNSの大きさの絶対値が所定値以上であるか否かを判定することで、エンジン100にノッキングが発生しているか否かを判定する。そして、エンジンコントロールモジュール270は、エンジン100にノッキングが発生していると判定すれば(Yes)、処理をステップ37へと進める。一方、エンジンコントロールモジュール270は、エンジン100にノッキングが発生していないと判定すれば(No)、処理をステップ38へと進める。
【0038】
ステップ37では、エンジンコントロールモジュール270が、ステップ34において補正した点火時期ADAを第1の所定値だけ遅角させる。点火時期ADAを遅角させる第1の所定値は、例えば、エンジン100の性能などを考慮して適宜決定することができる。その後、エンジンコントロールモジュール270は、今回の制御サイクルにおける点火時期設定処理を終了させる。
【0039】
ステップ38では、エンジンコントロールモジュール270が、ステップ34において補正した点火時期ADAを第2の所定値だけ進角させる。点火時期ADAを進角させる第2の所定値は、例えば、エンジン100の性能などを考慮して適宜決定することができ、第1の所定値と同じであってもよく、第1の所定値と異なっていてもよい。その後、エンジンコントロールモジュール270は、今回の制御サイクルにおける点火時期設定処理を終了させる。
【0040】
かかる点火時期設定処理によれば、エンジンコントロールモジュール270は、エンジン100の回転速度Ne及び負荷Qに応じて点火時期ADAを設定し、エンジン100の水温Twに応じて点火時期ADAを補正する。そして、エンジンコントロールモジュール270は、ノックセンサ330の出力信号からノッキングの発生の有無を判定し、ノッキングが発生していたら点火時期ADAを第1の所定値だけ遅角させる一方、ノッキングが発生していなければ点火時期ADAを第2の所定値だけ進角させる。従って、このようにして求められた点火時期ADAは、エンジン100にノッキングが発生しない限度まで進角され、エンジン100の出力などを向上させることができる。
【0041】
図7は、クランクシャフト130が所定角度回転するたびに実行される、燃料点火実行処理の一例を示している。
【0042】
ステップ40では、エンジンコントロールモジュール270が、燃料点火タイミングになったか否か、要するに、クランクシャフト130の回転角度が点火時期ADAになったか否かを判定する。そして、エンジンコントロールモジュール270は、燃料点火タイミングになったと判定すれば(Yes)、処理をステップ41へと進める。一方、エンジンコントロールモジュール270は、燃料点火タイミングになっていないと判定すれば(No)、今回の制御サイクルにおける燃料点火実行処理を終了させる。
【0043】
ステップ41では、エンジンコントロールモジュール270が、駆動信号を点火プラグ220に出力して、燃焼室160において燃料と空気との混合気を着火させる。混合気が着火されると、燃焼室160に存在する混合気の体積が急激に増加して圧力が上昇し、ピストン120をクランクシャフト130の方向に移動させることで、ピストン120の往復運動がクランクシャフト130の回転運動に変換される。その後、エンジンコントロールモジュール270は、今回の制御サイクルにおける燃料点火実行処理を終了させる。
【0044】
かかる燃料点火実行処理によれば、エンジンコントロールモジュール270は、クランクシャフト130の回転角度が点火時期ADAになると、点火プラグ220に駆動信号を出力して混合気を着火させる。従って、燃焼室160に存在する混合気は、エンジン100の運転状態に応じた燃料点火タイミングで着火されることから、例えば、燃費、排気性状、出力などを向上させることができる。
【0045】
図8は、エンジン100が始動されたことを契機として、エンジンコントロールモジュール270が所定時間ごとに繰り返し実行する、燃料増量率設定処理の一例を示している。ここで、燃料増量率設定処理を繰り返し実行する時間間隔を規定する所定時間は、燃料噴射量設定処理若しくは点火時期設定処理の所定時間と同一でもよく、又はこれと異なっていてもよい。なお、図6に示す燃料増量率設定処理は、空燃比制御を含んでいる。
【0046】
ステップ50では、エンジンコントロールモジュール270が、回転速度センサ280からエンジン100の回転速度Neを読み込む。
ステップ51では、エンジンコントロールモジュール270が、負荷センサ290からエンジン100の負荷Qを読み込む。
【0047】
ステップ52では、エンジンコントロールモジュール270が、例えば、エンジン100の回転速度及び負荷に適合した燃料増量率が予め設定されたマップを参照して、エンジン100の回転速度Ne及び負荷Qに応じた燃料増量率TFBAを設定する。ここで、燃料増量率TFBAは、例えば、燃料噴射量を増量しない場合に1.0となり、これを基準として燃料噴射量をどれだけ増減させるかを表すパラメータである。
【0048】
ステップ53では、エンジンコントロールモジュール270が、水温センサ300からエンジン100の水温Twを読み込む。
ステップ54では、エンジンコントロールモジュール270が、エンジン100の水温Twに基づいて燃料増量率TFBAを補正する。
【0049】
ステップ55では、エンジンコントロールモジュール270が、ノッキング制御を含む点火時期設定処理の結果に基づいて燃料増量率TFBAを補正する。具体的には、エンジンコントロールモジュール270は、ノッキング制御を含む点火時期設定処理において点火時期ADAを進角させたか、又は点火時期ADAを遅角させたか否かを判定する。そして、エンジンコントロールモジュール270は、点火時期ADAを進角させたと判定すれば、燃料増量率TFBAが所定値だけ小さくなるように補正して空燃比をリーン化する。一方、エンジンコントロールモジュール270は、点火時期ADAを遅角させたと判定すれば、空燃比のリーン化を停止すべく、エンジン100の回転速度Ne、負荷Q及び水温Twに応じて設定及び補正した燃料増量率TFBAに戻す。ここで、燃料増量率TFBAを小さくする所定値は、例えば、エンジン100の特性などを考慮して適宜決定することができる。
【0050】
ステップ56では、エンジンコントロールモジュール270が、以下で説明する燃料増量率TFBAを制限するサブルーチンをコールし、その後、今回の制御サイクルにおける燃料増量率設定処理を終了させる。燃料増量率TFBAを制限するサブルーチンでは、エンジンコントロールモジュール270は、各気筒における空燃比ABFの差が後述する所定値より大きければ、制御対象である気筒の空燃比ABFが所定値までシフトするように燃料増量率TFBAを制限、要するに、燃料増量率TFBAを小さくする。なお、このサブルーチンは、図8に示す燃料増量率設定処理に展開するようにしてもよい(以下同様)。
【0051】
図9は、燃料増量率TFBAを制限するサブルーチンの第1実施形態を示している。第1の実施形態に係るサブルーチンを実行する前提として、エンジンコントロールモジュール270の揮発性メモリには、エンジン100がN気筒の場合、時間的に連続して処理された従前のN-1気筒の空燃比を一時的に記憶するN-1個の変数領域ABF_1~ABF_N-1が確保されている(以下同様)。なお、変数領域ABF_1~ABF_N-1は、例えば、エンジンコントロールモジュール270の起動時に夫々「0」に初期化されている(以下同様)。
【0052】
ステップ60では、エンジンコントロールモジュール270が、変数領域ABF_1~ABF_N-1を参照し、この中から空燃比が最大のものを基準値に選定する。
ステップ61では、エンジンコントロールモジュール270が、燃料増量率を制限する制御対象の気筒の空燃比として、空燃比センサ310から空燃比ABFを読み込む。
【0053】
ステップ62では、エンジンコントロールモジュール270が、ステップ61において読み込んだ空燃比ABFから基準値を減算した値の絶対値が所定値より大きいか否かを判定する。ここで、所定値は、各気筒における空燃比のバラツキを抑制するための閾値であって、例えば、エンジン100の特性などを考慮して、各気筒間で発生するトルクの段差に起因するサージの許容値とすることができる。そして、エンジンコントロールモジュール270は、空燃比ABFから基準値を減算した値の絶対値が所定値より大きいと判定すれば(Yes)、処理をステップ63へと進める。一方、エンジンコントロールモジュール270は、空燃比ABFから基準値を減算した値の絶対値が所定値以下であると判定すれば(Yes)、処理をステップ64へと進める。
【0054】
ステップ63では、エンジンコントロールモジュール270が、燃料増量率を制限する制御対象の気筒の空燃比ABFが所定値までシフトするように、要するに、基準値と空燃比ABFとの差が所定値となるように、燃料増量率TFBAを制限する。ここで、燃料増量率TFBAの制限値は、例えば、空燃比ABFと基準値との差に応じて連続的に又は段階的に設定するようにしてもよい。その後、エンジンコントロールモジュール270は、処理をステップ63へと進める。なお、燃料増量率TFBAの制限値は、例えば、クランク角センサ240の出力信号の微分から各気筒の燃焼トルクを推定し、これに応じて連続的に又は段階的に設定するようにしてもよい。
【0055】
ステップ64では、エンジンコントロールモジュール270が、変数領域ABF_1~ABF_N-1に記憶された時間的に連続するN-1個の空燃比を更新する。具体的には、エンジンコントロールモジュール270は、変数領域ABF_2~ABF_N-1に記憶された空燃比をABF_1~ABF_N-2に夫々上書きするとともに、ステップ61で読み込んだ空燃比ABFを変数領域ABF_N-1に上書きする。従って、変数領域ABF_1~ABF_N-1には、時間的に連続するN-1個の最新の空燃比が記憶されることとなる。その後、エンジンコントロールモジュール270は、処理を燃料増量率設定処理へと戻す。
【0056】
かかる第1の実施形態に係るサブルーチンを含む燃料増量率設定処理によれば、エンジンコントロールモジュール270は、エンジン100の回転速度Ne及び負荷Qに応じて燃料増量率TFBAを設定するとともに、エンジン100の水温Twに応じて燃料増量率TFBAを補正する。また、エンジンコントロールモジュール270は、ノッキング制御を含む点火時期設定処理の結果に基づいて燃料増量率TFBAを更に補正し、燃料増量率TFBAを制限するサブルーチンをコールする。
【0057】
燃料増量率TFBAを制限するサブルーチンでは、エンジンコントロールモジュール270は、ノッキング制御を含む点火時期設定処理、及び空燃比制御を含む燃料増量率設定処理が実行された従前のN-1気筒の空燃比の中から最大のものを基準値として選定し、制御対象である気筒の空燃比ABFから基準値を減算した値の絶対値が所定値より大きいか否かを判定する。そして、エンジンコントロールモジュール270は、空燃比ABFから基準値を減算した値の絶対値が所定値より大きければ、この空燃比ABFが所定値までシフトするように、燃料増量率TFBAを制限する。
【0058】
従って、クランクシャフト130が2回転する間において、各気筒の空燃比のバラツキが小さくなる。このため、各気筒間で発生するトルクに大きな段差が発生し難くなり、例えば、エンジンの回転が脈動して、エンジンのサージが大きくなってしまうことを抑制することができる。また、エンジン100にノッキングが発生しない限度まで燃料増量率TFBAが変更されるため、空燃比をリーン化して燃費を向上させることもできる。
【0059】
エンジン100が4気筒であって、図10に示すように、#1気筒、#2気筒、#3気筒、#4気筒の順番で、ノッキング制御を含む点火時期設定処理、及び空燃比制御を含む燃料増加率設定処理が実行されるものを考える。#4気筒の点火時期設定処理及び燃料増量率設定処理を実行する際、図示のように、#1気筒~#3気筒の中から空燃比ABFが最大のもの、例えば、最も空燃比ABFがリッチな(大きい)#3気筒の空燃比ABFが基準値として選定される。そして、#4気筒の空燃比ABFが、基準値を基準として所定値より大きいので、その空燃比ABFが所定値までシフトされるように、燃料増量率TFBAが制限される。このような処理を実行することで、上述したように、各気筒の空燃比のバラツキが小さくなり、これによって、各気筒間で発生するトルクの段差を小さくすることができる。
【0060】
図11は、燃料増量率TFBAを制限するサブルーチンの第2実施形態を示している。ここで、先の燃料増量率TFBAを制限するサブルーチンの第1実施形態と同一又は同様な処理については、重複説明を排除する目的で簡単に説明する(以下同様)。必要であれば、先の説明を参照されたい(以下同様)。
【0061】
ステップ70では、エンジンコントロールモジュール270が、変数領域ABF_1~ABF_N-1を参照し、この中から空燃比が最大のものを基準値に選定する。
ステップ71では、エンジンコントロールモジュール270が、燃料増量率を制限する制御対象の気筒の空燃比として、空燃比センサ310から空燃比ABFを読み込む。
【0062】
ステップ72では、エンジンコントロールモジュール270が、図6に示すノッキング制御を含む点火時期設定処理において点火時期ADAを補正によって遅角させたか否かを判定する。そして、エンジンコントロールモジュール270は、点火時期ADAを遅角させたと判定すれば(Yes)、処理をステップ73へと進める。一方、エンジンコントロールモジュール270は、点火時期ADAを遅角させていないと判定すれば(No)、処理をステップ76へと進める。
【0063】
ステップ73では、エンジンコントロールモジュール270が、図6及び図7に示すノッキング制御を含む点火時期設定処理の結果、図8に示す燃料増量率設定処理のステップ55において燃料増量率TFBAを補正して増加させたか否かを判定する。そして、エンジンコントロールモジュール270は、燃料増量率TFBAを増加させたと判定すれば(Yes)、処理をステップ74へと進める。一方、エンジンコントロールモジュール270は、燃料増量率TFBAを増加させていないと判定すれば(No)、処理をステップ76へと進める。
【0064】
ステップ74では、エンジンコントロールモジュール270が、ステップ71において読み込んだ空燃比ABFから基準値を減算した値の絶対値が所定値より大きいか否かを判定する。そして、エンジンコントロールモジュール270は、空燃比ABFから基準値を減算した値の絶対値が所定値より大きいと判定すれば(Yes)、処理をステップ75へと進める。一方、エンジンコントロールモジュール270は、空燃比ABFから基準値を減算した値の絶対値が所定値以下であると判定すれば(No)、処理をステップ76へと進める。
【0065】
ステップ75では、エンジンコントロールモジュール270が、燃料増量率TFBAを制限する。その後、エンジンコントロールモジュール270は、処理をステップ76へと進める。
ステップ76では、エンジンコントロールモジュール270が、変数領域ABF_1~ABF_N-1に記憶された時間的に連続するN-1個の空燃比を更新する。その後、エンジンコントロールモジュール270は、処理を燃料増量率設定処理へと戻す。
【0066】
かかる第2の実施形態に係るサブルーチンを含む燃料増量率設定処理によれば、エンジンコントロールモジュール270は、図12に示すように、#3気筒の制御において、ノッキング制御の結果に基づいて点火時期ADAを遅角させ、かつ空燃比制御の結果に基づいて燃料増量率TFBAを増加させた場合に、#4気筒の燃料増量率TFBAを必要に応じて制限する。従って、燃料増量率TFBAを制限する条件が成立する頻度が小さくなり、エンジンコントロールモジュール270の処理負荷を軽減することができる。なお、他の作用及び効果については、第1の実施形態のサブルーチンを含む燃料増量率設定処理と同一又は同様であるので、重複説明を排除する目的で説明を省略する(以下同様)。必要であれば、先の説明を参照されたい(以下同様)。
【0067】
図13は、燃料増量率TFBAを制限するサブルーチンの第3実施形態を示している。
ステップ80では、エンジンコントロールモジュール270が、変数領域ABF_1~ABF_N-1を参照し、この中から空燃比が最大のものを基準値に選定する。
ステップ81では、エンジンコントロールモジュール270が、燃料増量率を制限する制御対象の気筒の空燃比として、空燃比センサ310から空燃比ABFを読み込む。
【0068】
ステップ73では、エンジンコントロールモジュール270が、ステップ81において読み込んだ空燃比ABFから基準値を減算した値の絶対値が所定値より大きいか否かを判定する。そして、エンジンコントロールモジュール270は、空燃比ABFから基準値を減算した値の絶対値が所定値より大きいと判定すれば(Yes)、処理をステップ83へと進める。一方、エンジンコントロールモジュール270は、空燃比ABFから基準値を減算した値の絶対値が所定値以下であると判定すれば(No)、処理をステップ85へと進める。
【0069】
ステップ83では、エンジンコントロールモジュール270が、燃料増量率TFBAを制限する。
ステップ84では、エンジンコントロールモジュール270が、点火時期ADAの進角を制限する。即ち、従前の気筒の制御において燃料増量率TFBAを制限したにもかかわらず空燃比の段差が解消されなかったので、エンジンコントロールモジュール270は、空燃比の段差をさらに小さくすべく、例えば、点火時期ADAを所定のリミットまで遅角させる。ここで、所定のリミットは、例えば、エンジン100の特性などを考慮して適宜決定することができる。その後、エンジンコントロールモジュール270は、処理をステップ85へと進める。
【0070】
ステップ85では、エンジンコントロールモジュール270が、変数領域ABF_1~ABF_N-1に記憶された時間的に連続するN-1個の空燃比を更新する。その後、エンジンコントロールモジュール270は、処理を燃料増量率設定処理へと戻す。
【0071】
かかる第3の実施形態のサブルーチンを含む燃料増量率設定処理によれば、エンジンコントロールモジュール270は、図14に示すように、#3気筒の制御において燃料増量率TFBAを制限したにもかかわらず、制御対象の気筒である#4気筒の空燃比ABFから基準値を減算した値の絶対値が所定値より大きければ、#4気筒の点火時期ADAを所定のリミットまでシフトして遅角させることで、点火時期ADAの進角を制限する。従って、各気筒の点火時期ADAの進角が必要に応じて制限されることから、排気温度の上昇が抑制されて、排気通路に配置された三元触媒などに影響が及ぶことを回避することができる。
【0072】
図15は、燃料増量率TFBAを制限するサブルーチンの第4実施形態を示している。第4の実施形態に係るサブルーチンを実行する前提として、エンジンコントロールモジュール270の揮発性メモリには、時間的に直前に制御した気筒の空燃比ABFである直前値を一時的に記憶する領域が確保され、例えば、エンジンコントロールモジュール270の起動時にこれが「0」に初期化されている。
【0073】
ステップ90では、エンジンコントロールモジュール270が、燃料増量率を制限する制御対象の気筒の空燃比として、空燃比センサ310から空燃比ABFを読み込む。
ステップ91では、エンジンコントロールモジュール270が、ステップ90において読み込んだ空燃比ABFから直前値を減算した値の絶対値が所定値より大きいか否かを判定する。そして、エンジンコントロールモジュール270は、空燃比ABFから直前値を減算した値の絶対値が所定値より大きいと判定すれば(Yes)、処理をステップ92へと進める。一方、エンジンコントロールモジュール270は、空燃比ABFから直前値を減算した値の絶対値が所定値以下であると判定すれば(No)、処理をステップ93へと進める。
【0074】
ステップ92では、エンジンコントロールモジュール270が、燃料増量率TFBAを制限する。その後、エンジンコントロールモジュール270は、処理をステップ93へと進める。
ステップ93では、エンジンコントロールモジュール270が、直前値を更新、具体的には、揮発性メモリの直前値にステップ90で読み込んだ空燃比ABFを上書きして更新する。その後、エンジンコントロールモジュール270は、処理を燃料増量率設定処理へと戻す。
【0075】
かかる第4の実施形態に係るサブルーチンを含む燃料増量率設定処理によれば、エンジンコントロールモジュール270は、図16に示すように、時間的に連続する2つの気筒における空燃比の差が所定値より大きければ、制御対象である気筒の空燃比を所定値までシフトして制限する。従って、時間的に連続して処理される2つの気筒間の空燃比のバラツキが小さくなる。このため、各気筒間で発生するトルクに大きな段差が発生し難くなり、例えば、エンジンの回転が脈動して、エンジンのサージが大きくなってしまうことを抑制することができる。
【0076】
なお、当業者であれば、様々な上記実施形態の技術的思想について、その一部を省略したり、その一部を適宜組み合わせたり、その一部を周知技術に置き換えたりすることで、新たな実施形態を生み出せることを容易に理解できるであろう。
【0077】
その一例を挙げると、図15に示す第4の実施形態のサブルーチンについて、図11に示す第2の実施形態のサブルーチンの付加的な特徴、図13に示す第3の実施形態のサブルーチンの付加的な特徴の少なくとも一方を組み込むようにしてもよい。また、各気筒の空燃比ABFは、空燃比センサ310により検出する構成に限らず、例えば、吸気流量、各気筒の吸気分配率、燃料噴射量Ti及び水温Twから推定するようにしてもよい。
【符号の説明】
【0078】
100…エンジン(内燃機関) 210…燃料噴射弁 220…点火プラグ 270…エンジンコントロールモジュール(制御装置) 330…ノックセンサ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16