(57)【特許請求の範囲】
【請求項１】
内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段とを有し、
前記制御手段は、前記燃焼変動値検出手段により検出される前記燃焼変動値の今回値と前回値の絶対値偏差を各気筒毎に所定回数加算して総偏差を算出する加算手段と、該加算手段により算出された総燃焼変動値の平均値を算出する平均値算出手段と、該平均値算出手段により算出された前記平均値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有していることを特徴とする多気筒内燃エンジンの制御装置。
【請求項２】
内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段とを有し、
前記制御手段は、前記燃焼変動値検出手段により検出された今回点火気筒と前回点火気筒における前記燃焼変動値の絶対値偏差を気筒数に対応した所定回数加算して総偏差を算出する加算手段と、該加算手段により算出された総燃焼変動値の平均値を算出する平均値算出手段と、該平均値算出手段により算出された前記平均値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有していることを特徴とする多気筒内燃エンジンの制御装置。
【請求項３】
内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段とを有し、
前記制御手段は、１サイクルを単位として前記燃焼変動値検出手段により各気筒毎に検出された燃焼変動値を加算しサイクル変動値を算出する加算手段と、該加算手段により前記サイクル変動値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有していることを特徴とする多気筒内燃エンジンの制御装置。
【請求項４】
内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段とを有し、
前記制御手段は、前記燃焼変動値検出手段により検出された燃焼変動値を各気筒毎に所定回数加算して総燃焼変動値を算出する加算手段と、該加算手段により算出された前記総燃焼変動値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有していることを特徴とする多気筒内燃エンジンの制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は多気筒内燃エンジンの制御装置に関し、特にエンジンの各気筒に吸入された混合気の燃焼状態を制御する多気筒内燃エンジンの制御装置に関する。
【０００２】
【従来の技術】
従来より、内燃エンジンの制御装置として、エンジンの筒内圧を検出し、該筒内圧からエンジントルクの代用値（トルク代用値）を算出し、さらに該トルク代用値の変化量を所定回数加算すると共に該変化量の平均値を算出して平均トルク変化量を求め、該平均トルク変化量が所定値よりも大きいときはトルク変動、すなわち燃焼変動が許容限界にあると判定して燃料噴射量等内燃エンジンの制御因子を制御する装置が既に提案されている（例えば、特開平２−７５７４３号公報）。
【０００３】
上記制御装置は、具体的には、図１４に示すように、内燃エンジンの所定クランク角度毎に筒内圧を検出し、数式（ａ）に基づいてトルク代用値を算出し、次いで数式（ｂ）に基づいてサンプリング回数Ｎの平均値ΔＴを算出し、該平均値ΔＴを所定値と比較し、前記平均値ΔＴが前記所定量よりも大きいときに燃焼変動が許容限界にあると判別される。すなわち、前記平均値ΔＴと前記所定量との比較結果に応じてエンジン制御を行っている。
【０００４】
0003599753.tif 000002
【０００５】
【数１】
0003599753.tif 000003
尚、上記数式（ａ）中、αｊは、クランク角度をパラメータとする圧力−トルク換算係数である。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記従来の技術においては、燃焼変動を気筒毎に検出するための筒内圧センサを各気筒に設けなければならず、非常に高価なものとなるという問題点があった。
【０００７】
また、トルク代用値を算出するための計算処理が複雑であり、高性能な演算装置が必要となるため装置全体がさらに非常に高価なものとなるという問題点があった。
【０００８】
本発明はこのような問題点に鑑みなされたものであって、エンジンの燃焼変動を比較的簡便な装置で正確に検出してエンジン制御を行うことが可能な内燃エンジンの制御装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため本発明に係る内燃エンジンの制御装置は、内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段を有し、前記制御手段は、前記燃焼変動値検出手段により検出される前記燃焼変動値の今回値と前回値の絶対値偏差を各気筒毎に所定回数加算して総偏差を算出する加算手段と、該加算手段により算出された総燃焼変動値の平均値を算出する平均値算出手段と、該平均値算出手段により算出された前記平均値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有していることを特徴としている。
【００１１】
また、上記目的を達成するため本発明に係る内燃エンジンの制御装置は、内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段とを有し、前記制御手段は、前記燃焼変動値検出手段により検出された今回点火気筒と前回点火気筒における前記燃焼変動値の絶対値偏差を気筒数に対応した所定回数加算して総偏差を算出する加算手段と、該加算手段により算出された総燃焼変動値の平均値を算出する平均値算出手段と、該平均値算出手段により算出された前記平均値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有していることを特徴とする。
【００１２】
さらに、上記目的を達成するため本発明に係る内燃エンジンの制御装置は、内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段とを有し、前記制御手段は、前記燃焼変動値検出手段により各気筒毎に検出された燃焼変動値を１サイクルを単位として加算しサイクル変動値を算出する加算手段と、該加算手段により前記サイクル変動値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有していることを特徴とする。
【００１３】
さらに、上記目的を達成するため本発明に係る内燃エンジンの制御装置は、内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段とを有し、前記制御手段は、前記燃焼変動値検出手段により検出された燃焼変動値を各気筒毎に所定回数加算して総燃焼変動値を算出する加算手段と、該加算手段により算出された前記総燃焼変動値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有していることを特徴としている。
【００１４】
【作用】
上記構成によれば、点火指令信号発生後の点火電圧値が所定電圧値を越える期間の長さ、すなわち燃焼変動値に応じてエンジンの燃焼状態が制御され、燃焼変動値の今回値と前回値の絶対値偏差を所定回数加算して算出された総偏差の平均値と所定値との比較結果に応じて燃焼変動が補正される。
【００１５】
また、上記構成によれば、点火指令信号発生後の点火電圧値が所定電圧値を越える期間の長さ、すなわち燃焼変動値に応じてエンジンの燃焼状態が制御され、今回点火気筒と前回点火気筒における燃焼変動値の絶対値偏差を気筒数分加算して算出された総偏差の平均値と所定値との比較結果に応じて燃焼変動が補正される。
【００１６】
さらに、上記構成によれば、点火指令信号発生後の点火電圧値が所定電圧値を越える期間の長さ、すなわち燃焼変動値に応じてエンジンの燃焼状態が制御され、サイクル変動値と所定値との比較結果に応じて燃焼変動が補正される。
【００１７】
また、上記構成によれば、点火指令信号発生後の点火電圧値が所定電圧値を越える期間の長さ、すなわち燃焼変動値に応じてエンジンの燃焼状態が制御され、各気筒毎に所定回数加算されて算出された総燃焼変動値と所定値との比較結果に応じて燃焼変動が補正される。
【００１８】
【実施例】
以下、本発明の実施例を図面に基づき詳説する。
【００１９】
図１は本発明に係る多気筒内燃エンジンの制御装置の一実施例を示す全体構成図である。
【００２０】
図中、１は各シリンダに吸気弁と排気弁（図示せず）とを各１対宛設けたＤＯＨＣ直列４気筒の内燃エンジン（以下、単に「エンジン」という）であって、該エンジン１の吸気管２の途中にはスロットルボディ３が設けられ、その内部にはスロットル弁３′が配されている。また、スロットル弁３′にはスロットル弁開度（θＴＨ）センサ４が連結されており、スロットル弁３′の開度に応じた電気信号を出力して電子コントロールユニット（以下「ＥＣＵ」という）５に供給する。
【００２１】
燃料噴射弁６は吸気管２の途中であってエンジン１の稍上流側に各気筒毎に配設されると共に図示しない燃料ポンプに接続されている。さらに、燃料噴射弁６は、ＥＣＵ５に電気的に接続され、当該ＥＣＵ５からの信号により燃料噴射の開弁時間が制御される。
【００２２】
また、吸気管２のスロットル弁３′の下流側には分岐管７が設けられ、該分岐管７の先端には絶対圧（ＰＢＡ）センサ８が取付けられている。該ＰＢＡセンサ８はＥＣＵ５に電気的に接続されており、吸気管２内の絶対圧ＰＢＡは前記ＰＢＡセンサ８により電気信号に変換されてＥＣＵ５に供給される。
【００２３】
また、分岐管７の下流側の吸気管２の管壁には吸気温（ＴＡ）センサ９が装着され、該ＴＡセンサ９により検出された吸気温ＴＡは電気信号に変換され、ＥＣＵ５に供給される。
【００２４】
エンジン１のシリンダブロックの冷却水が充満した気筒周壁にはサーミスタ等からなるエンジン水温（ＴＷ）センサ１０が挿着され、該ＴＷセンサ１０により検出されたエンジン冷却水温ＴＷは電気信号に変換されてＥＣＵ５に供給される。
【００２５】
また、エンジン１の図示しないカム軸周囲又はクランク軸周囲にはエンジン回転数（ＮＥ）センサ１１及び気筒判別（ＣＹＬ）センサ１２が取り付けられている。
【００２６】
ＮＥセンサ１１はエンジン１のクランク軸の１８０度回転毎に所定のクランク角度位置でピストン上死点位置を示す信号パルス（以下「ＴＤＣ信号パルス」という）を出力し、ＣＹＬセンサ１２は特定気筒（例えば、＃１ＣＹＬ）の所定のクランク角度位置でＣＹＬ信号パルスを出力し、これらのＴＤＣ信号パルス及びＣＹＬ信号パルスはＥＣＵ５に供給される。
【００２７】
エンジン１の各気筒の点火プラグ１３はディストリビュータ１４を介してＥＣＵ５に電気的に接続されており、ＥＣＵ５により点火時期θＩＧが制御される。ディストリビュータ１４と点火プラグ１３とを接続する接続線の途中には、その接続線と静電的に結合された（接続線と数ｐＦのコンデンサを形成する）点火電圧センサ１５が設けられており、その検出信号はＥＣＵ５に供給される。
【００２８】
エンジン１の排気管１６の途中には広域酸素濃度センサ（以下、「ＬＡＦセンサ」と称する）１７が設けられており、該ＬＡＦセンサ１７により検出された排気ガス中の酸素濃度は電気信号に変換されてＥＣＵ５に供給される。
【００２９】
ＥＣＵ５には更にバッテリ電圧ＶＢを検出するバッテリ電圧（ＶＢ）センサ１８が接続されており、該ＶＢセンサ１８の出力信号はＥＣＵ５に供給される。
【００３０】
しかして、ＥＣＵ５は、上述の各種センサからの入力信号波形を整形して電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路５ａと、中央演算処理回路（以下「ＣＰＵ」という）５ｂと、該ＣＰＵ５ｂで実行される各種演算プログラムや後述する各種マップ及び演算結果等を記憶するＲＯＭ及びＲＡＭからなる記憶手段５ｃと、前記燃料噴射弁６、点火プラグ１３等に駆動信号を供給する出力回路５ｄとを備えている。
【００３１】
また、ＥＣＵ５は、内燃エンジンの点火時期を決定して点火指令信号Ａを発生する駆動回路（信号発生手段）と、該点火指令信号Ａに基づいて高電圧を発生する点火コイル（点火手段）と、該点火コイルにより高電圧が発生したときの電圧値を検出する点火電圧センサ（電圧値検出手段）と、点火指令信号Ａ発生後の点火電圧値が所定電圧値を越える期間を前記内燃エンジンの燃焼変動値（燃焼ラフネス値）として検出する燃焼変動値検出手段とを備えている。
【００３２】
図２は、ＥＣＵ５内の要部を示す電気回路図であって、バッテリ電圧ＶＢが供給される電源端子Ｔ１は一次側コイル１９と二次側コイル２０とからなる点火コイル２１に接続されている。一次側コイル１９と二次側コイル２０とは互いにその一端で接続され、一次側コイル１９の他端はトランジスタ２２のコレクタに接続され、該トランジスタ２２のベースは駆動回路２３を介してＣＰＵ５ｂに接続され、そのエミッタは接地されている。前記トランジスタ２２のベースには、駆動回路２３を介してＣＰＵ５ｂより点火指令信号Ａが供給される。また、二次側コイル２０の他端は、ディストリビュータ１４を介して点火プラグ１３の中心電極１３ａに接続され、点火プラグ１３の他方の電極１３ｂは接地されて接地電極とされている。
【００３３】
点火電圧センサ１５は、入力回路５ａ’を介してピークホールド回路２４及び比較器２５の非反転入力に接続されている。ピークホールド回路２４の出力は、比較レベル設定回路２６を介して比較器２５の反転入力に接続されている。そして、比較器２５の出力はＣＰＵ５ｂに入力される。また、ピークホールド回路２４のリセット入力にはＣＰＵ５ｂが接続されおり、点火指令信号発生から後述する二次放電までの期間中の適切なタイミングでピークホールド値をリセットするリセット信号がＣＰＵ５ｂから供給される。尚、二次側コイル２０とディストリビュータ１４との間にはダイオード２７が介装されている。
【００３４】
図３は、入力回路５ａ’、ピークホールド回路２４及び比較レベル設定回路２６の詳細図であって、入力端子Ｔ２は、抵抗２８を介して演算増幅器（以下「オペアンプ」という）２９の非反転入力に接続されている。また入力端子Ｔ２は、コンデンサ３０と抵抗３１とダイオード３２とを並列に接続した回路を介してアースに接続されるとともに、ダイオード３３を介して電源ラインＶＢＳに接続されている。コンデンサ３０は、例えば１０４ｐＦ程度のものを使用し、前記点火電圧センサ１５によって検出される電圧を数千分の１に分圧する働きをする。また、抵抗３１は例えば５００ＫΩ程度のものを使用する。ダイオード３２及びダイオード３３は、オペアンプ２９の入力電圧がほぼ０〜電源ラインＶＢＳの範囲内に入るようにするために設けられている。オペアンプ２９の反転入力はその出力と接続されており、オペアンプ２９はバッファアンプ（インピーダンス変換回路）として動作する。
【００３５】
入力回路５ａ’のオペアンプ２９の出力は、比較器２５の非反転入力及びオペアンプ３４の非反転入力に接続されている。オペアンプ３４の出力はダイオード３５を介してオペアンプ３６の非反転入力に接続され、オペアンプ３４及びオペアンプ３６の反転入力はいずれもオペアンプ３６の出力に接続されている。従って、これらのオペアンプ３４、３６もバッファアンプとして動作する。
【００３６】
オペアンプ３６の非反転入力は抵抗３７及びコンデンサ３８を介して接地され、抵抗３７とコンデンサ３８の接続点は、抵抗３９を介してトランジスタ４０のコレクタに接続されている。該トランジスタ４０のエミッタは接地され、ベースにはリセット時に高レベルとなるリセット信号がＣＰＵ５ｂより入力される。
【００３７】
オペアンプ３６の出力は、比較レベル設定回路２６を構成する抵抗４１及び抵抗４２を介して接地され、抵抗４１と抵抗４２の接続点が比較器２５の反転入力に接続されている。
【００３８】
図３の回路によれば、検出された点火電圧Ｖ（オペアンプ２９の出力）のピーク値がピークホールド回路２４によって保持され、そのピークホールド値は比較レベル設定回路２６により「１」より小さい所定数倍され、比較レベルＶＣＯＭＰ（所定基準電圧ＶＲＥＦ）として比較器２５に供給される。従って、端子Ｔ４にはＶ＞ＶＣＯＭＰが成立するとき高レベルとなるパルス信号（判定パルス）が出力される。
【００３９】
しかして、上記制御装置においては、圧縮行程中の所定クランク角度位置で点火電圧を印加して点火プラグ１３を火花放電させた後、所定時間経過後に二次放電を行う。そして、二次放電電圧Ｖ２が所定基準電圧ＶＲＥＦを越えている時間を燃焼ラフネス値（時間）ＴＭＦＰとし、該燃焼ラフネス値ＴＭＦＰに応じ燃焼状態を補正している。
【００４０】
図４は点火電圧特性を示す特性図であって、同図（Ｉ）は点火指令信号Ａ、同図（ＩＩ）は安定燃焼状態の点火電圧特性、同図（ＩＩＩ）は失火状態の点火電圧特性、同図（ＩＶ）は燃焼ラフネスの許容限界状態におけるの点火電圧特性であり、横軸は時間Ｔ、縦軸は点火電圧Ｖを示す。
【００４１】
点火指令信号Ａ発生時刻ｔ０の直後においては点火電圧は燃料混合気（点火プラグの放電ギャップ間）の絶縁を破壊する値まで上昇し、絶縁破壊後は、絶縁破壊前の容量放電状態（数百アンペア程度の電流による非常に短い時間の放電状態）から放電電圧が略一定の誘導放電状態へと移行する（数十ミリアンペア程度の電流により、数ミリ秒程度の放電期間）。
【００４２】
尚、ダイオード２７と点火プラグ１３との間の浮遊容量に蓄えられた電荷（電極間で放電しきれずに残った電荷）は、ダイオード２７があるため、点火コイル２１側へは放電されないが、点火プラグ１３の電極近傍に存在するイオンによって中和されるため、容量放電終了時の点火電圧Ｖは速やかに減少する。
【００４３】
次いで、ピストン上死点（ＴＤＣ）が経過した圧縮行程終了後の燃焼行程中に二次放電を行う。安定燃焼状態のときは点火プラグ１３周囲の燃料混合気がイオン化しているため、点火プラグ１３のプラグギャップ間における電気抵抗が低く、図４（ＩＩ）に示すように、前記二次放電電圧Ｖ２は比較的速やかに減少し、したがって所定基準電圧ＶＲＥＦを越える時間、すなわち燃焼ラフネス値（時間）ＴＭＦＰも小さい。一方、失火状態のときは燃焼していないため、燃料混合気がイオン化しておらず、プラグギャップ間の電気抵抗が高くなる。このため、二次放電電圧Ｖ２は、図４（ＩＩＩ）に示すように、極めて緩やかに減少し、前記燃焼ラフネス値ＴＭＦＰも大きくなる。
【００４４】
そこで、本制御装置においては、図４（ＩＶ）の斜線部に示すように、安定燃焼状態（ＩＩ）と失火状態（ＩＩＩ）の範囲内を燃焼ラフネスの許容範囲とし、二次放電電圧Ｖ２が所定基準電圧ＶＲＥＦを越える前記燃焼ラフネス値ＴＭＦＰを計測し、該燃焼ラフネス値ＴＭＦＰに応じて燃焼ラフネスの補正処理を行っている。次に、燃焼ラフネスの補正処理について詳述する。
【００４５】
図５は燃焼ラフネスの補正処理の前処理として実行されるモニタ条件判定ルーチンである。
【００４６】
まず、ステップＳ１ではエンジン回転数ＮＥが下限値ＮＥＬ（例えば５００ｒｐｍ）と上限値ＮＥＨ（例えば６，５００ｒｐｍ）の間にあるか否かを判別し、ステップＳ２では吸気管内絶対圧ＰＢＡが下限値ＰＢＡＬ（例えば２６０ｍｍＨｇ）と上限値ＰＢＡＨ（  例えば７６０ｍｍＨｇ）  の間にあるか否かを判別する。さらに、ステップＳ３ではエンジン水温ＴＷが下限値ＴＷＬ（例えば４０℃）と上限値ＴＷＨ（例えば１１０℃）の間にあるか否かを判別し、ステップＳ４では吸気温ＴＡが下限値ＴＡＬ（例えば０℃）と上限値ＴＡＨ（例えば８０℃）の間にあるか否かを判別し、次いでステップＳ５ではバッテリ電圧ＶＢが下限値ＶＢＬ（例えば１０Ｖ）より高いか否かを判別し、そして、これらの判別結果のいずれかが否定（Ｎｏ）のときには、モニタ条件不成立と判定して（ステップＳ７）本プログラムを終了する。エンジンが通常の運転状態のときは、エンジン回転数ＮＥ、吸気管内絶対圧ＰＢＡ、エンジン水温ＴＷ及び吸気温ＴＡが、上記上下限値の範囲内にあり、これ以外のときはラフネス補正をする必要がないこと、及びバッテリ電圧ＶＢが低い場合には点火電圧が低下し、正確な判定ができないことを考慮したものである。
【００４７】
一方、ステップＳ１〜５の判別結果が全て肯定（Ｙｅｓ）のときには、オープンループによる空燃比リーン制御実行中（例えばエンジンの減速時にこのような制御が実行される）であるか否か（ステップＳ６）を判別する。そしてその判別結果が肯定（Ｙｅｓ）のときには、モニタ条件不成立と判定して（ステップＳ７）本プログラムを終了する。前記空燃比リーン制御中は、燃焼が不安定で、後述する燃焼ラフネス制御が困難であることを考慮したものである。
【００４８】
そして、ステップＳ６の答が否定（Ｎｏ）のときはモニタ条件成立と判定して（ステップＳ８）本プログラムを終了する。
【００４９】
このように上記モニタ条件判定ルーチンによれば、エンジンの運転パラメータ（ＮＥ，ＰＢＡ，ＴＷ，ＴＡ，ＶＢ）が所定範囲にあるとき及び空燃比リーン制御中でないときにモニタ条件成立と判定される。
【００５０】
図６は燃焼ラフネス補正処理の第１の実施例を示すフローチャートであって、本プログラムはＥＣＵ５に内蔵されたタイマにより所定時間毎に発生する擬似信号パルスに同期して各気筒毎に実行され、また後述するカウンタのカウント値ＣＮＴは「０」に初期設定されている。
【００５１】
すなわち、本第１の実施例では最新の燃焼ラフネス値ＴＭＦＰとその前回の燃焼ラフネス値ＴＭＦＰとの絶対値偏差ＤＴＭＦＰを所定回数（本第１の実施例では３回）加算した後、ラフネス平均値ＲＮを算出し、該ラフネス平均値ＲＮと所定基準値ＲＮＲＥＦとを比較し、その比較結果に応じて燃焼ラフネスを補正している。
【００５２】
具体的には、まず、ステップＳ１１では上記モニタ条件判定ルーチン（図５）の実行の結果、モニタ条件が成立しているか否かを判別する。そしてその答が否定（Ｎｏ）のときはそのまま本プログラムを終了する。一方、モニタ条件が成立しているときは燃焼ラフネス値ＴＭＦＰ（例えば、１０）を読み込んだ後（ステップＳ１２）、ＤＴＭＦＰ算出ルーチンを実行する。
【００５３】
図７はＤＴＭＦＰ算出ルーチンのフローチャートであって、フローチャート中、ｍは本サブルーチンのサイクルカウンタの回数を示す。
【００５４】
すなわち、最初のループではｍ＝０であるので、ステップＳ２１では前々々回の燃焼ラフネス値ＴＭＦＰ３と前々回の燃焼ラフネス値ＴＭＦＰ２との絶対値偏差ＤＴＭＦＰ２を算出する。最初のループでは前々々回の燃焼ラフネス値ＴＭＦＰ３及び前々回の燃焼ラフネス値ＴＭＦＰ２は共に「０」であるため、前記絶対値偏差ＤＴＭＦＰ２は「０」となり、ステップＳ２２における前々々回の燃焼ラフネス値ＴＭＦＰ３も「０」に設定される。次いで、ステップＳ２３に進み（３−ｍ）が「２」であるか否かを判別する。そして最初のループでは上述の如くｍ＝０であるのでステップＳ２３の判別結果は否定（Ｎｏ）となり、ステップＳ２４でｍを「１」だけインクリメントして再びステップＳ２１を実行する。
【００５５】
すなわち、ステップＳ２１ではｍ＝１に設定されているため、前々回の燃焼ラフネス値ＴＭＦＰ２と前回の燃焼ラフネス値ＴＭＦＰ１との絶対値偏差ＤＴＭＦＰ１を算出する。今回サイクルでも前々回の燃焼ラフネス値ＴＭＦＰ２及び前回の燃焼ラフネス値ＴＭＦＰ１は共に「０」であるため、前記絶対値偏差ＤＴＭＦＰ１は「０」となり、ステップＳ２２の前々回の燃焼ラフネス値ＴＭＦＰ２も「０」に設定される。次いで、ステップＳ２３に進み（３−ｍ）が「２」であるか否かを判別する。そして今回は上述の如くｍ＝１に設定されているのでステップＳ２３の判別結果は肯定（Ｙｅｓ）となり、ステップＳ２５に進んで、前回の燃焼ラフネス値ＴＭＦＰ１と今回の燃焼ラフネス値ＴＭＦＰとの絶対値偏差ＤＴＭＦＰを算出する。すなわち、前回の燃焼ラフネス値ＴＭＦＰ１は「０」であるが今回の燃焼ラフネス値ＴＭＦＰはステップＳ１２（図７）により記憶手段５ｃに既に記憶されているため、絶対値偏差ＤＴＭＦＰは今回の燃焼ラフネス値ＴＭＦＰ（例えば、１０）となる。次いで今回の燃焼ラフネス値ＴＭＦＰを前回の燃焼ラフネス値ＴＭＦＰ１に設定した後（ステップＳ２６）、サイクルカウンタのカウント値ｍを「０」にリセットしてメインルーチン（図６）に戻る。
【００５６】
このように第１回目のＤＴＭＦＰ処理を実行した後、ステップＳ１４（図６）に進み、カウンタのカウント値ＣＮＴが「３」より大きいか否かを判別する。最初のループでは前記カウント値ＣＮＴは「０」に初期設定されているため、その判別結果は否定（Ｎｏ）となり、ステップＳ１６に進んで前記カウント値ＣＮＴを「１」だけインクリメントして本プログラムを終了する。
【００５７】
次いで、次回の擬似信号パルスの発生と同時に再びステップＳ１１を実行し、次いで今回の燃焼ラフネス値ＴＭＦＰ（例えば、１５）を読み込んだ後（ステップＳ１２）、再びＤＴＭＦＰ算出ルーチンを実行する。
【００５８】
すなわち、上述と同様、図７において、最初のループではｍ＝０であるので、ステップＳ２１では前々々回の燃焼ラフネス値ＴＭＦＰ３と前々回の燃焼ラフネス値ＴＭＦＰ２との絶対値偏差ＤＴＭＦＰ２を算出するが、前々々回の燃焼ラフネス値ＴＭＦＰ３及び前々回の燃焼ラフネス値ＴＭＦＰ２は共に「０」であるため、前記絶対値偏差ＤＴＭＦＰ２は「０」となり、ステップＳ２２における前々々回の燃焼ラフネス値ＴＭＦＰ３も「０」に設定される。次いで、ステップＳ２３の判別結果は、上記した第１回目のＤＴＭＦＰ処理と同様、否定（Ｎｏ）となり、ステップＳ２４でｍを「１」だけインクリメントし、再びステップＳ２１を実行する。
【００５９】
次いで、今サイクルではｍは「１」に設定されているため、ステップＳ２１では前々回の燃焼ラフネス値ＴＭＦＰ２と前回の燃焼ラフネス値ＴＭＦＰ１との絶対値偏差ＤＴＭＦＰ１を算出する。今回のループでも前々回の燃焼ラフネス値ＴＭＦＰ２は「０」であるが前回の燃焼ラフネス値ＴＭＦＰ１は前回ループ時に既に読み込まれているため、前記絶対値偏差ＤＴＭＦＰ１は前回の燃焼ラフネス値ＴＭＦＰ１（例えば、１０）となり、ステップＳ２２の前々回の燃焼ラフネス値ＴＭＦＰ２も前回の燃焼ラフネス値ＴＭＦＰ１（例えば、１０）となる。次いで、ステップＳ２３の判別結果が肯定（Ｙｅｓ）となるため、ステップＳ２５に進んで、前回の燃焼ラフネス値ＴＭＦＰ１（例えば、１０）と今回の燃焼ラフネス値ＴＭＦＰ（例えば、１５）との絶対値偏差ＤＴＭＦＰ（例えば、５）を算出する。次いで今回の燃焼ラフネス値ＴＭＦＰを前回の燃焼ラフネス値ＴＭＦＰ１に設定した後（ステップＳ２６）、サイクルカウンタのカウント値ｍを「０」にリセットしてメインルーチン（図６）に戻る。
【００６０】
このように第２回目のＤＴＭＦＰ処理を実行した後、再びステップＳ１４（図６）を実行し、カウンタのカウント値ＣＮＴが「３」より大きいか否かを判別する。今回のループでは前記カウント値ＣＮＴは「１」に設定されているため、その判別結果が再び否定（Ｎｏ）となり、ステップＳ１６に進んで前記カウント値ＣＮＴを「１」だけインクリメントして本プログラムを終了する。
【００６１】
次いで、次回の擬似信号パルスの発生と同時に再びステップＳ１１を実行し、次いで今回の燃焼ラフネス値ＴＭＦＰ（例えば、２０）を読み込んだ後（ステップＳ１２）、再びＤＴＭＦＰ算出ルーチンを実行する。
【００６２】
すなわち、上述と同様、図７において、最初のループではｍ＝０であるので、ステップＳ２１では前々々回の燃焼ラフネス値ＴＭＦＰ３と前々回の燃焼ラフネス値ＴＭＦＰ２との絶対値偏差ＤＴＭＦＰ２を算出する。前々々回の燃焼ラフネス値ＴＭＦＰ３は「０」であるが前々回の燃焼ラフネス値ＴＭＦＰ２は前回ループで設定されており（例えば、１０）、絶対値偏差ＤＴＭＦＰ２は前々回の燃焼ラフネス値ＴＭＦＰ２（例えば、１０）に設定される。次いでステップＳ２２で前々回の燃焼ラフネス値ＴＭＦＰ２（例えば、１０）を前々々回の燃焼ラフネス値ＴＭＦＰとして後、ステップＳ２３の判別結果は、上記した第１回目のＤＴＭＦＰ処理と同様、否定（Ｎｏ）となり、ステップＳ２４でｍを「１」だけインクリメントして再びステップＳ２１を実行する。
【００６３】
次いで、今サイクルではｍは「１」に設定されているため、ステップＳ２１では前々回の燃焼ラフネス値ＴＭＦＰ２（例えば、１０）と前回の燃焼ラフネス値ＴＭＦＰ１（例えば、１５）との絶対値偏差ＤＴＭＦＰ１（例えば、５）を算出する。次いで、ステップＳ２２の前々回の燃焼ラフネス値ＴＭＦＰ２も前回の燃焼ラフネス値ＴＭＦＰ１（例えば、１５）となる。次いで、ステップＳ２３の判別結果が肯定（Ｙｅｓ）となり、ステップＳ２５に進んで、前回の燃焼ラフネス値ＴＭＦＰ１（例えば、１５）と今回の燃焼ラフネス値ＴＭＦＰ（例えば、２０）との絶対値偏差ＤＴＭＦＰ（例えば、５）を算出する。次いで今回の燃焼ラフネス値ＴＭＦＰを前回の燃焼ラフネス値ＴＭＦＰ１に設定した後（ステップＳ２６）、サイクルカウンタのカウント値ｍを「０」にリセットしてメインルーチン（図６）に戻る。
【００６４】
このように第３回目のＤＴＭＦＰ処理を実行した後、再びステップＳ１４（図６）を実行し、カウンタのカウント値ＣＮＴが「３」より大きいか否かを判別する。今回のループでは前記カウント値ＣＮＴは「２」に設定されているため、その判別結果が再び否定（Ｎｏ）となり、ステップＳ１６に進んで前記カウント値ＣＮＴを「１」だけインクリメントして本プログラムを終了する。
【００６５】
次いで、次回の擬似信号パルスの発生と同時に再びステップＳ１１を実行し、次いで今回の燃焼ラフネス値ＴＭＦＰ（例えば、１０）を読み込んだ後（ステップＳ１２）、再びＤＴＭＦＰ算出ルーチンを実行する。
【００６６】
すなわち、上述と同様、図７において、最初のループではｍ＝０であるので、ステップＳ２１では前々々回の燃焼ラフネス値ＴＭＦＰ３（例えば、１０）と前々回の燃焼ラフネス値ＴＭＦＰ２（例えば、１５）との絶対値偏差ＤＴＭＦＰ２（例えば、５）を算出する。次いでステップＳ２２で前々回の燃焼ラフネス値ＴＭＦＰ２（例えば、１５）を前々々回の燃焼ラフネス値ＴＭＦＰ３に設定した後、ステップＳ２３の判別結果は否定（Ｎｏ）となるため、ステップＳ２４でｍを「１」だけインクリメントして再びステップＳ２１を実行する。
【００６７】
次いで、今サイクルではｍは「１」に設定されているため、ステップＳ２１では前々回の燃焼ラフネス値ＴＭＦＰ２（例えば、１５）と前回の燃焼ラフネス値ＴＭＦＰ１（例えば、２０）との絶対値偏差ＤＴＭＦＰ１（例えば、５）を算出する。次いで、ステップＳ２２の前々回の燃焼ラフネス値ＴＭＦＰ２も前回の燃焼ラフネス値ＴＭＦＰ１（例えば、２０）となる。次いで、ステップＳ２３の判別結果が肯定（Ｙｅｓ）となり、ステップＳ２５に進んで、前回の燃焼ラフネス値ＴＭＦＰ１（例えば、２０）と今回の燃焼ラフネス値ＴＭＦＰ（例えば、１０）との絶対値偏差ＤＴＭＦＰ（例えば、１０）を算出する。次いで今回の燃焼ラフネス値ＴＭＦＰを前回の燃焼ラフネス値ＴＭＦＰ１に設定した後（ステップＳ２６）、サイクルカウンタのカウント値ｍを「０」にリセットしてメインルーチン（図６）に戻る。
【００６８】
このように第４回目のＤＴＭＦＰ処理を実行した後、再びステップＳ１４（図６）を実行し、カウンタのカウント値ＣＮＴが「３」より大きいか否かを判別する。今回のループでは前記カウント値ＣＮＴは、前回ループを実行した結果、「３」に設定されているため、その判別結果が肯定（Ｙｅｓ）となり、ＲＮ値算出処理を実行し、ラフネス平均値ＲＮを算出して燃焼状態を制御する。
【００６９】
図８はＲＮ値算出処理を示すフローチャートであって、ステップＳ３１では数式（１）に基づいて今回、前回及び前々回の絶対値偏差ＤＴＭＦＰ（ｎ）を加算してラフネス平均値ＲＮを算出する。
【００７０】
ＲＮ＝（ＤＴＭＦＰ＋ＤＴＭＦＰ１＋ＤＴＭＦＰ２）／３  ……（１）
上述の例でいえば、ＲＮ＝（１０＋５＋５）／３≒６．６６となる。
【００７１】
次いで、ラフネス平均値ＲＮが所定基準値ＲＮＲＥＦ（例えば、１０）より小さいか否かを判別し、その判別結果が否定（Ｎｏ）のときは燃焼ラフネスの許容限界を越えていると判断し、第１の補正処理を行って（ステップＳ３３）本プログラムを終了する。すなわち、この場合は、燃料噴射量の増加又は／吸入空気量の減少等を行い、混合気の空燃比がリッチ側に移行するようにエンジン制御を行う。
【００７２】
一方、ステップＳ３２の答が肯定（Ｙｅｓ）のときは燃焼ラフネスは許容範囲内にあると判断し、第２の補正処理を行う（ステップＳ３４）。すなわち、この場合は、例えば燃料噴射量の減少又は／及び吸入空気量の増加等を行って混合気の空燃比がリーン側に移行するようにエンジン制御を行う。
【００７３】
このように上記燃焼ラフネスの補正処理を各気筒毎に実行することにより、比較的簡易に燃焼制御を行うことができる。
【００７４】
図９及び図１０は燃焼ラフネス補正処理の第２の実施例を示すフローチャートであって、本プログラムはＥＣＵ５に内蔵されたタイマにより所定時間毎に発生する擬似信号パルスに同期して実行される。
【００７５】
すなわち、本第２の実施例ではＣＹＬセンサ１２により検出されるＣＹＬ信号パルスをトリガとして点火気筒の順番、すなわち第１気筒、第３気筒、第４気筒、第２気筒の順番にしたがって前回の点火気筒と今回の点火気筒における燃焼ラフネス値の絶対値偏差ＤＴＭＦＰを夫々所定回数（本第２の実施例では４気筒であるため４回）加算した後、ラフネス平均値ＲＮを算出し、該平均値ＲＮと所定基準値ＲＮＲＥＦとを比較し、その比較結果に応じて燃焼ラフネスを補正している。
【００７６】
具体的には、図９において、ステップＳ４１では、上記第１の実施例と同様、モニタ条件判定ルーチン（図５）を実行してモニタ条件が成立しているか否かを判別する。そして、その答が否定（Ｎｏ）のときはそのまま本プログラムを終了する一方、モニタ条件が成立しているときは第１気筒に対して点火指令信号Ａが発っせられているか否かを判別する（ステップＳ４２）。そして、その答が肯定（Ｙｅｓ）のときは第１気筒の燃焼ラフネス値ＴＭＦＰ（＃１）（例えば、５）を読み込む（ステップＳ４３）。次いで、ステップＳ４４に進み、第１気筒の直前点火気筒である第２気筒の燃焼ラフネス値ＴＭＦＰ（＃２）を前回ループ時に読み込んだか否かを判別する。そして、その答が否定（Ｎｏ）のときは本プログラムを終了する一方、その答が肯定（Ｙｅｓ）のときはステップＳ４５に進み、第２気筒の燃焼ラフネス値ＴＭＦＰ（＃２）（例えば、１０）と第１気筒の燃焼ラフネス値ＴＭＦＰ（＃１）（例えば、５）との絶対値偏差ＤＴＭＦＰ（＃１）（例えば、５）を算出してステップＳ５７（図１０）に進む。
【００７７】
一方、ステップＳ４２の答が否定（Ｎｏ）のときはステップＳ４６に進み、第３気筒に対して点火指令信号Ａが発っせられているか否かを判別する。そして、その答が肯定（Ｙｅｓ）のときは第３気筒の燃焼ラフネス値ＴＭＦＰ（＃３）（例えば、１０）を読み込む（ステップＳ４７）。次いで、ステップＳ４８に進み、第３気筒の直前点火気筒である第１気筒の燃焼ラフネス値ＴＭＦＰ（＃３）を前回ループ時に読み込んだか否かを判別する。そして、その答が否定（Ｎｏ）のときは本プログラムを終了する一方、その答が肯定（Ｙｅｓ）のときはステップＳ４９に進み、第１気筒の燃焼ラフネス値ＴＭＦＰ（＃１）（例えば、５）と第３気筒の燃焼ラフネス値ＴＭＦＰ（＃３）（例えば、１０）との絶対値偏差ＤＴＭＦＰ（＃３）（例えば、５）を算出してステップＳ５７（図１０）に進む。
【００７８】
また、ステップＳ４６の答が否定（Ｎｏ）のときはステップＳ５０に進み、第４気筒に対して点火指令信号Ａが発っせられているか否かを判別する。そして、その答が肯定（Ｙｅｓ）のときは第４気筒の燃焼ラフネス値ＴＭＦＰ（＃４）（例えば、２０）を読み込む（ステップＳ５１）。次いで、ステップＳ５２に進み、第４気筒の直前点火気筒である第３気筒の燃焼ラフネス値ＴＭＦＰ（＃３）を前回ループ時に読み込んだか否かを判別する。そして、その答が否定（Ｎｏ）のときは本プログラムを終了する一方、その答が肯定（Ｙｅｓ）のときはステップＳ５３に進み、第３気筒の燃焼ラフネス値ＴＭＦＰ（＃３）（例えば、１０）と第４気筒の燃焼ラフネス値ＴＭＦＰ（＃４）（例えば、２０）との絶対値偏差ＤＴＭＦＰ（＃４）（例えば、１０）を算出してステップＳ５７（図１０）に進む。
【００７９】
また、ステップＳ５０の答が否定（Ｎｏ）のときはステップＳ５４に進み、第２気筒に対して点火指令信号Ａが発っせられているか否かを判別する。そして、その答が肯定（Ｙｅｓ）のときは第２気筒の燃焼ラフネス値ＴＭＦＰ（＃２）（例えば、１５）を読み込む（ステップＳ５４）。次いで、ステップＳ５５に進み、第２気筒の直前点火気筒である第４気筒の燃焼ラフネス値ＴＭＦＰ（＃４）を前回ループ時に読み込んだか否かを判別する。そして、その答が否定（Ｎｏ）のときは本プログラムを終了する一方、その答が肯定（Ｙｅｓ）のときはステップＳ５５に進み、第４気筒の燃焼ラフネス値ＴＭＦＰ（＃４）（例えば、２０）と第２気筒の燃焼ラフネス値ＴＭＦＰ（＃２）（例えば、１５）との絶対値偏差ＤＴＭＦＰ（＃２）（例えば、５）を算出してステップＳ５７（図１０）に進む。次に、ステップＳ５７（図１０）では数式（２）に基づいて上記絶対値偏差ＤＴＭＦＰを順次加算してラフネス平均値ＲＮを算出する。
【００８０】
0003599753.tif 000004
上述の例でいえばＲＮ＝（５＋５＋１０＋５）／４＝６．２５となる。
【００８１】
次いで、ステップＳ５８ではラフネス平均値ＲＮが所定基準値ＲＮＲＥＦ（例えば、１０）より小さいか否かを判別し、その判別結果が否定（Ｎｏ）のときは燃焼ラフネスの許容限界を越えていると判断し、第１の実施例と同様、第１の補正処理を行い（ステップＳ５９）本プログラムを終了する。すなわち、この場合は、燃料噴射量の増加又は／及び吸入空気量の減少等を行って混合気の空燃比がリッチ側に移行するようにエンジン制御を行う。
【００８２】
一方、ステップＳ５８の答が肯定（Ｙｅｓ）のときは燃焼ラフネスは許容範囲内にあると判断し第２の補正処理を行う（ステップＳ６０）。すなわち、例えば燃料噴射量の減少又は吸入空気量の増加等を行って混合気の空燃比がリーン側に移行するようにエンジン制御を行う。
【００８３】
このように上記燃焼ラフネスの補正処理を各気筒毎に実行することにより、比較的簡易に燃焼制御を行うことができる。
【００８４】
図１１及び図１２は燃焼ラフネス補正処理の第３の実施例を示すフローチャートであって、本プログラムはＥＣＵ５に内蔵されたタイマにより所定時間毎に発生する擬似信号パルスに同期して実行される。
【００８５】
すなわち、本第３の実施例ではエンジンのクランク角度が２回転する間に１回検出される燃焼ラフネス値ＴＭＦＰをＣＹＬセンサ１２により検出されるＣＹＬ信号パルスをトリガとして気筒数分だけ加算し、その後ラフネス加算値ＲＮＴを算出して該平均値ＲＮと所定基準値ＲＮＲＥＦとを比較し、その比較結果に応じて燃焼ラフネスを補正している。
【００８６】
具体的には、ステップＳ７１では、上記第１及び第２の実施例と同様、モニタ条件判定ルーチン（図５）を実行してモニタ条件が成立しているか否かを判別する。そして、その答が否定（Ｎｏ）のときはそのまま本プログラムを終了する一方、モニタ条件が成立しているときは第１気筒に対して点火指令信号Ａが発っせられているか否かを判別する（ステップＳ７２）。そして、その答が肯定（Ｙｅｓ）のときは第１気筒の燃焼ラフネス値ＴＭＦＰ（＃１）（例えば、１０）を読み込む（ステップＳ７３）。
【００８７】
一方、ステップＳ７２の答が否定（Ｎｏ）のときはステップＳ７４に進み、第３気筒に対して点火指令信号Ａが発っせられているか否かを判別する。そして、その答が肯定（Ｙｅｓ）のときは第３気筒の燃焼ラフネス値ＴＭＦＰ（＃３）（例えば、７）を読み込む（ステップＳ７５）。
【００８８】
また、ステップＳ７４の答が否定（Ｎｏ）のときはステップＳ７６に進み、第４気筒に対して点火指令信号Ａが発っせられているか否かを判別する。そして、その答が肯定（Ｙｅｓ）のときは第４気筒の燃焼ラフネス値ＴＭＦＰ（＃４）（例えば、８）を読み込む（ステップＳ７７）。
【００８９】
一方、ステップＳ７６の答が否定（Ｎｏ）となるループのときは第２気筒に対して点火指令信号Ａが発っせられるいるときであり、ステップＳ７８に進んで第２気筒の燃焼ラフネス値ＴＭＦＰ（＃２）（例えば、９）を読み込む。
【００９０】
このように各気筒の燃焼ラフネス値ＴＭＦＰ（＃１〜＃４）を読み込んだ後、図１２のステップＳ７９に進み、数式（３）に基づいてこれらを加算してラフネス加算値ＲＮＴを算出する。
【００９１】
0003599753.tif 000005
上述の例でいえばＲＮＴ＝１０＋７＋８＋９＝３４となる。
【００９２】
次いで、ステップＳ８０ではラフネス加算値ＲＮＴが所定基準値ＲＮＴＲＥＦ（例えば、３０）より小さいか否かを判別し、その判別結果が否定（Ｎｏ）のときは燃焼ラフネスの許容限界を越えていると判断し、第１及び第２の実施例と同様、第１の補正処理を行い（ステップＳ８１）本プログラムを終了する。すなわち、燃料噴射量の増加又は吸入空気量の減少等を行って混合気の空燃比がリッチ側に移行するようにエンジン制御を行う。
【００９３】
一方、ステップＳ８０の答が肯定（Ｙｅｓ）のときは燃焼ラフネスは許容範囲内にあると判断し、第２の補正処理を行う（ステップＳ８２）。すなわち、例えば燃料噴射量の減少又は吸入空気量の増加等を行って混合気の空燃比がリーン側に移行するようにエンジン制御を行う。
【００９４】
このように上記燃焼ラフネスの補正処理を各気筒毎に実行することにより、比較的簡易に燃焼制御を行うことができる。
【００９５】
図１３は燃焼ラフネス補正処理の第４の実施例を示すフローチャートであって、本プログラムはＥＣＵ５に内蔵されたタイマにより所定時間毎に発生する擬似信号パルスに同期して各気筒毎に実行され、また後述するカウンタのカウント値ＣＮＴは予め「０」に初期設定されている。
【００９６】
すなわち、本第４の実施例では各気筒の燃焼行程中に計測される燃焼ラフネス値ＴＭＦＰを所定回数（本第４の実施例では３回）加算してラフネス加算値ＲＮＴを算出し、該ラフネス加算値ＲＮＴと所定基準値ＲＮＴＲＥＦとを比較し、その比較結果に応じて燃焼ラフネスを補正している。
【００９７】
具体的には、ステップＳ９１では、上記第１〜第３の実施例と同様、モニタ条件判定ルーチン（図５）を実行してモニタ条件が成立しているか否かを判別する。そして、その答が否定（Ｎｏ）のときはそのまま本プログラムを終了する一方、モニタ条件が成立しているときはカウンタのカウント値ＣＮＴが「３」より小さいか否かを判別する（ステップＳ９２）。そして、最初のループではカウント値ＣＮＴは「０」であるためステップＳ９２の答は肯定（Ｙｅｓ）となりカウンタのカウント値ＣＮＴを「１」だけインクリメントして（ステップＳ９３）ステップＳ９４に進み、燃焼ラフネス値ＴＭＦＰ（例えば、１０）を読み込む。次に、ステップＳ９５では今回の燃焼ラフネス値ＴＭＦＰを前回燃焼ラフネス値ＴＭＦＰ１に置き換え、前回燃焼ラフネス値ＴＭＦＰ１を前々回燃焼ラフネス値ＴＭＦＰ２に置き換え、さらに前々回燃焼ラフネス値ＴＭＦＰ２を前々々回燃焼ラフネス値ＴＭＦＰ３に置き換えた後、ステップＳ９６に進んで数式（４）に基づき、これらのラフネス加算値ＲＮＴを算出して本プログラムを終了する。
【００９８】
ＲＮＴ＝ＴＭＦＰ１＋ＴＭＦＰ２＋ＴＭＦＰ３      ……（４）
今回ループではＴＭＦＰ１＝１０、ＴＭＦＰ２＝ＴＭＦＰ３＝０であるので、ＲＮＴ＝１０となる。
【００９９】
次いで、次回ループではカウンタのカウント値ＣＮＴは「１」に設定されているため、ステップＳ９２の答は再び肯定（Ｙｅｓ）となり、カウンタのカウント値ＣＮＴを「１」だけインクリメントした後（ステップＳ９３）、ステップＳ９４で燃焼ラフネス値ＴＭＦＰ（例えば、７）を読み込み、ステップＳ９５を実行し、この後前記数式（４）に基づきラフネス加算値ＲＮＴを算出して（ステップＳ９６）本プログラムを終了する。
【０１００】
今回ループではＴＭＦＰ１＝７、ＴＭＦＰ２＝１０、ＴＭＦＰ３＝０であるので、ＲＮＴ＝１７となる。
【０１０１】
次いで、次回ループではカウンタのカウント値ＣＮＴは「２」に設定されているため、ステップＳ９２の答は３たび肯定（Ｙｅｓ）となり、カウンタのカウント値ＣＮＴを「１」だけインクリメントした後（ステップＳ９３）、ステップＳ９４で燃焼ラフネス値ＴＭＦＰ（例えば、８）を読み込み、次いでステップＳ９５を実行し、この後前記数式（４）に基づきラフネス加算値ＲＮＴを算出して（ステップＳ９６）本プログラムを終了する。
【０１０２】
今回ループではＴＭＦＰ１＝８、ＴＭＦＰ２＝７、ＴＭＦＰ３＝１０であるので、ＲＮＴ＝２５となる。
【０１０３】
次に、次回ループではカウンタのカウント値ＣＮＴは「３」に設定されているため、ステップＳ９２の答は否定（Ｎｏ）となり、ステップＳ９７に進んでラフネス加算値ＲＮＴが所定基準値ＲＮＴＲＥＦ（例えば、３０）より小さいか否かを判別し、その判別結果が否定（Ｎｏ）のときは燃焼ラフネスの許容限界を越えていると判断し、第１〜第３の実施例と同様、第１の補正処理を行い（ステップＳ９８）本プログラムを終了する。すなわち、この場合は、燃料噴射量の増加又は吸入空気量の減少等を行って混合気の空燃比がリッチ側に移行するようにエンジン制御を行う。
【０１０４】
一方、ステップＳ９７の答が肯定（Ｙｅｓ）のときは燃焼ラフネスは許容範囲内にあると判断し第２の補正処理を行う（ステップＳ９９）。すなわち、例えば燃料噴射量の減少又は／及び吸入空気量の増加等を行って混合気の空燃比がリーン側に移行するようにエンジン制御を行う。
【０１０５】
このように上記燃焼ラフネスの補正処理を各気筒毎に実行することにより、比較的簡易に燃焼制御を行うことができる。
【０１０６】
【発明の効果】
以上詳述したように本発明に係る多気筒内燃エンジンの制御装置は、内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段とを有し、前記制御手段が、前記燃焼変動値検出手段により検出される前記燃焼変動値の今回値と前回値の絶対値偏差を各気筒毎に所定回数加算して総偏差を算出する加算手段と、該加算手段により算出された総燃焼変動値の平均値を算出する平均値算出手段と、該平均値算出手段により算出された前記平均値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有することにより、又は、前記制御手段が、前記燃焼変動値検出手段により検出された今回点火気筒と前回点火気筒における前記燃焼変動値の絶対値偏差を気筒数に対応した所定回数加算して総偏差を算出する加算手段と、該加算手段により算出された総燃焼変動値の平均値を算出する平均値算出手段と、該平均値算出手段により算出された前記平均値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有することにより、従来のように筒内圧センサを各気筒毎に設ける必要がなく比較的簡便な装置でもって燃焼変動値を検出することが可能となり、コストの低減化を図ることができる。しかも、蓄積された電圧値を所定時間内にリセットし、該所定時間経過後に新たに二次点火電圧を出力しているので、リセット後に出力される二次点火電圧に応じて所定電圧値が決定され、したがって該所定電圧値と二次点火電圧との相対比較により高精度に燃焼変動の程度を判別することができ、加えて、総燃焼変動値の平均値を簡単な演算でもって算出することができ、計算負荷の軽減を図ることができる。
【０１０８】
以上詳述したように本発明に係る多気筒内燃エンジンの制御装置は、内燃エンジンの点火時期を決定して点火指令信号を発生する信号発生手段と、前記点火指令信号に基づいて高電圧を発生させる点火手段と、該点火手段により高電圧が発生したときの電圧値を検出する電圧値検出手段と、蓄積された電圧値を所定時間内にリセットするリセット手段と、該リセット手段により前記電圧値がリセットされた後であって前記点火指令信号が発生してから前記所定時間経過後に二次点火電圧を出力する点火電圧出力手段と、該点火電圧出力手段により出力された二次点火電圧に応じて所定電圧値を設定する所定電圧値設定手段と、前記点火電圧出力手段により出力された二次点火電圧が前記所定電圧値を越える期間を前記内燃エンジンの燃焼変動値として検出する燃焼変動値検出手段と、該燃焼変動値検出手段の検出結果に応じて燃焼状態を制御する制御手段を有し、前記制御手段が、１サイクルを単位として前記燃焼変動値検出手段により各気筒毎に検出された燃焼変動値を加算しサイクル変動値を算出する加算手段と、該加算手段により前記サイクル変動値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有することにより、又は、前記制御手段は、前記燃焼変動値検出手段により検出された燃焼変動値を各気筒毎に所定回数加算して総燃焼変動値を算出する加算手段と、該加算手段により算出された前記総燃焼変動値と所定値とを比較する比較手段と、該比較手段の比較結果に応じて燃焼状態を補正する補正手段とを有することにより、従来のように筒内圧センサを各気筒毎に設ける必要がなく比較的簡便な装置でもって燃焼変動値を検出することが可能となり、コストの低減化を図ることができる。しかも、蓄積された電圧値を所定時間内にリセットし、該所定時間経過後に新たに二次点火電圧を出力しているので、リセット後に出力される二次点火電圧に応じて所定電圧値が決定され、したがって該所定電圧値と二次点火電圧との相対比較により高精度に燃焼変動の程度を判別することができ、加えて、総燃焼変動値を簡単な演算でもって算出することができ、計算負荷の軽減を図ることができる。
【０１０９】
このように本発明によれば、従来のように筒内圧からトルク代用値を算出する演算処理を必要とせず、筒内圧サンサや複雑な演算処理を省略することができ、コストの低減化を図ることができる。
【図面の簡単な説明】
【図１】本発明に係る内燃エンジンの制御装置の一実施例を示す全体構成図である。
【図２】ＥＣＵの要部回路構成図である。
【図３】図２の詳細な回路構成図である。
【図４】ラフネス補正処理の原理を説明するための点火電圧特性図である。
【図５】モニタ条件判定ルーチンのフローチャートである。
【図６】ラフネス補正処理の第１の実施例を示すフローチャートである。
【図７】第１の実施例に係るＤＴＭＦＰ算出ルーチンのフローチャートである。
【図８】第１の実施例に係るＲＮ値算出処理ルーチンのフローチャートである。
【図９】ラフネス補正処理の第２の実施例を示すフローチャート（１／２）である。
【図１０】ラフネス補正処理の第２の実施例を示すフローチャート（２／２）である。
【図１１】ラフネス補正処理の第３の実施例を示すフローチャート（１／２）である。
【図１２】ラフネス補正処理の第３の実施例を示すフローチャート（２／２）である。
【図１３】ラフネス補正処理の第４の実施例を示すフローチャートである。
【図１４】従来例の手法を説明するための説明図である。
【符号の説明】
１    内燃エンジン
５ｂ  ＣＰＵ
１５  点火電圧センサ（電圧値検出手段）
２１  点火コイル（点火手段）
２３  駆動回路（点火信号発生手段）
２６  比較レベル設定回路（燃焼変動値検出手段）
【図１】
0003599753.tif 000006
【図２】
0003599753.tif 000007
【図３】
0003599753.tif 000008
【図４】
0003599753.tif 000009
【図５】
0003599753.tif 000010
【図６】
0003599753.tif 000011
【図７】
0003599753.tif 000012
【図８】
0003599753.tif 000013
【図９】
0003599753.tif 000014
【図１０】
0003599753.tif 000015
【図１１】
0003599753.tif 000016
【図１２】
0003599753.tif 000017
【図１３】
0003599753.tif 000018
【図１４】
0003599753.tif 000019