JP2009019523A - 内燃機関の制御装置 - Google Patents
内燃機関の制御装置 Download PDFInfo
- Publication number
- JP2009019523A JP2009019523A JP2007181124A JP2007181124A JP2009019523A JP 2009019523 A JP2009019523 A JP 2009019523A JP 2007181124 A JP2007181124 A JP 2007181124A JP 2007181124 A JP2007181124 A JP 2007181124A JP 2009019523 A JP2009019523 A JP 2009019523A
- Authority
- JP
- Japan
- Prior art keywords
- internal combustion
- combustion engine
- predetermined
- value
- control device
- 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
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】同定処理による計算負荷を低減する。
【解決手段】エンジンを制御するための制御装置は、エンジンからの出力をパラメータを用いて補正した補正値と、該補正値が収束すべき値との差が最小になるよう、該パラメータを同定する同定器と、同定されたパラメータを用いて、所定の周期でエンジンを制御する制御器とを備える。切り換え手段は、一形態では、エンジンの回転数に応じて、該所定の周期で同定器による同定処理を実施する通常モードと、該所定の周期のうち同定処理を実施しない周期を持つ間引きモードとを切り換え、間引きモードが選択されたならば、同定処理を実施しない周期においては、同定器による同定処理を禁止する。他の形態では、エンジンの回転数に応じて、第1の量のデータに基づいて同定器による同定処理を行う通常モードと、該第1の量よりも少ない第2の量のデータに基づいて同定処理を行う間引きモードとを切り換える。
【選択図】図3
【解決手段】エンジンを制御するための制御装置は、エンジンからの出力をパラメータを用いて補正した補正値と、該補正値が収束すべき値との差が最小になるよう、該パラメータを同定する同定器と、同定されたパラメータを用いて、所定の周期でエンジンを制御する制御器とを備える。切り換え手段は、一形態では、エンジンの回転数に応じて、該所定の周期で同定器による同定処理を実施する通常モードと、該所定の周期のうち同定処理を実施しない周期を持つ間引きモードとを切り換え、間引きモードが選択されたならば、同定処理を実施しない周期においては、同定器による同定処理を禁止する。他の形態では、エンジンの回転数に応じて、第1の量のデータに基づいて同定器による同定処理を行う通常モードと、該第1の量よりも少ない第2の量のデータに基づいて同定処理を行う間引きモードとを切り換える。
【選択図】図3
Description
この発明は、内燃機関の制御装置に関する。
従来、同定器によってパラメータを同定し、該同定したパラメータを用いて制御対象(プラント)を制御する手法が様々な形態で行われている。
たとえば、下記の特許文献1には、圧縮行程において計測された内燃機関の燃焼室内の圧力(筒内圧)を、失火時の燃焼室内の圧力(モータリング圧力)について推定された値と比較し、両者の差が最小になるよう、該筒内圧を補正するためのパラメータを同定する。このようなパラメータ同定により、適切に補正された筒内圧と、モータリング圧力とを比較することにより、膨張行程において失火が生じたかどうかを良好な精度で判定することができる。
特開2006−138205号公報
同定処理によって同定されたパラメータを用いた後続の制御処理、たとえば上記のような失火判定処理については、制御対象を良好な状態に維持するためにも、所定の頻度で行うことが望まれる。しかしながら、このような制御処理の頻度に追従してパラメータの同定処理を行うと、該同定処理は、統計的な計算を含むことが多いので、計算負荷がかかり、ひいては、後続の制御処理にも遅延等の影響を及ぼすおそれがある。したがって、制御精度を維持しつつ、計算負荷を低減する手法が望まれている。
また、内燃機関の制御を行うにあたり、該制御に用いる筒内圧等の計測データの取得および該計測データを用いた制御は、従来、クランクパルスに同期して行われていた。制御精度を上げようとしてクランクパルス間隔を細かくすればするほど、計算負荷が増大する。したがって、このような計算負荷の増大を招くことなく、より細かいクランクパルス間隔の分解能で制御精度を向上することができる手法が望まれている。
この発明の一つの側面によると、内燃機関を制御するための制御装置は、内燃機関からの出力をパラメータを用いて補正した補正値と、該補正値が収束すべき値との差が最小になるよう、該パラメータを同定する同定器(75)と、同定されたパラメータを用いて、所定の周期で内燃機関を制御する制御器(67,77)と、内燃機関の回転数に応じて、該所定の周期で該同定器による同定処理を実施する通常モードと、該所定の周期のうち該同定処理を実施しない周期を持つ間引きモードとを切り換える手段(81)と、間引きモードが選択されたならば、該所定の周期のうち同定処理を実施しない周期においては、該同定器による同定処理を禁止する手段(82)と、を備える。
この発明によれば、内燃機関を制御する制御処理は所定の周期で行われるが、同定器による同定処理は、内燃機関の回転数に応じて間引きが行われるので、計算負荷を低減することができる。また、制御処理自体は所定の周期で行われるので、内燃機関の制御は継続して実行されることができる。さらに、内燃機関の回転数に応じて同定処理の間引きが行われるので、内燃機関の運転状態に適合した頻度で同定処理を実行することができる。
この発明の一実施例では、内燃機関の回転数が所定の閾値より高いとき、間引きモードに切り換える(図6)。内燃機関の回転数が高いときには、様々な制御処理により計算負荷が高くなるが、間引きモードに切り換えることにより、このような計算負荷を軽減することができる。
この発明の一実施例では、切り換え手段は、さらに、内燃機関の運転状態を表すパラメータの値の変化が所定値より大きいときには、内燃機関の回転数が所定の閾値に達する前に、間引きモードに切り換える(図6のS24)。
この発明によれば、運転状態の変化が大きい時には、早期に間引きモードに切り換えることができる。これにより、間引きモードへの切り換えタイミングが運転状態の変化に追従できずに、運転状態変化後の高い計算負荷により、後続の制御処理に遅れ等の影響を及ぼすのを防止することができる。
この発明の他の側面によれば、内燃機関を制御するための制御装置は、内燃機関からの出力をパラメータを用いて補正した補正値と、該補正値が収束すべき値との差が最小になるよう、該パラメータを同定する同定器(75)と、同定されたパラメータを用いて、所定の周期で内燃機関を制御する制御器(67,77)と、内燃機関の回転数に応じて、該所定の周期内の所定区間で内燃機関の出力を計測することにより取得した第1の量のデータに基づいて該同定器による同定処理を行う通常モードと、該所定区間で該内燃機関の出力を計測することにより取得した、該第1の量よりも少ない第2の量のデータに基づいて該同定処理を行う間引きモードとを切り換える手段(81)と、間引きモードが選択されたならば、該第2の量のデータを取得して、該取得したデータに基づいて同定器による同定処理が行われるようにする間引き手段(82)と、を備える。
この発明によれば、同定器による同定処理に用いるデータを、内燃機関の回転数に応じて間引くので、計算負荷を低減することができる。また、制御処理自体は、所定の周期で行われるので、内燃機関の制御を継続して実行することができる。さらに、内燃機関の回転数に応じて同定処理に用いるデータの間引きが行われるので、内燃機関の運転状態に適合したデータ量で同定処理を実行することができる。たとえば、内燃機関の回転数が高いときには、様々な制御処理により計算負荷が高くなるが、間引きモードに切り換えることにより、このような計算負荷を軽減することができる。
この発明の一実施例では、内燃機関の回転数が所定の閾値より高いとき、間引きモードに切り換える(図14)。内燃機関の回転数が高いときには、様々な制御処理により計算負荷が高くなるが、間引きモードに切り換えることにより、このような計算負荷を軽減することができる。
この発明の一実施例では、第1の量のデータは、所定区間にわたって内燃機関の出力を計測することにより得たサンプリング値に対して第1の周期で補間演算を適用することにより得られ、第2の量のデータは、該所定区間にわたって該内燃機関の出力を計測することにより得たサンプリング値に対して、前記第1の周期より長い第2の周期で補間演算を適用することにより得られる。このような補間演算により、所定区間にわたって得たサンプリング値から、任意の量のデータを生成することができる。
この発明の他の側面によると、内燃機関の制御装置は、内燃機関の運転状態を検出して、該運転状態を表す信号を出力する検出手段(17)と、所定の時間周期に同期して、前記検出手段から出力される前記信号をサンプリングするサンプリング手段(55)と、所定のクランク角度に同期してクランクパルス信号を発生する手段(19)と、クランクパルス信号に同期して、所定の基準クランク角間隔に相当する時間長を算出する手段(65、図7のS43)と、該算出した時間長を用いて前記サンプリングされた信号を補間計算することにより、該基準クランク角間隔毎の該運転状態を表す信号を生成する手段(65、図7のS45)と、該算出された基準クランクアングル間隔毎の運転状態を表す信号に基づいて、内燃機関を制御する制御手段と、を備える。
この発明によれば、サンプリング周波数を高くすることなく、所望のクランク角毎の運転状態を表す信号を得ることができる。また、クランクパルスに同期して、運転状態について計測されたデータをCPUが取得する場合、精度を高めようとしてクランクパルス間隔を小さくすればするほど、CPUの負荷が増大する。この発明によれば、補間計算により、クランクパルス間隔を小さくしなくても、所望のクランク角毎の運転状態を表す信号を生成することができるので、CPUの負荷を抑制することができる。こうして得られた所望のクランク角毎の運転状態を表す信号を用いれば、内燃機関の制御について、所望の制御精度を達成することができる。
この発明の一実施例では、運転状態は、内燃機関の筒内圧である。これにより、所望のクランク角毎の筒内圧を用いて、内燃機関を所望の精度で制御することができる。
この発明の一実施例では、基準クランク角間隔に相当する時間長は、内燃機関の回転数に応じて可変である(図9)。この発明によれば、内燃機関の回転数に従って、基準クランク角間隔に相当する時間長が変更されても、上記のような補間計算により、所望のクランク角毎の運転状態を表す信号、たとえば筒内圧信号を、安定して得ることができる。
次に図面を参照して、この発明の実施例を説明する。
図1は、この発明の一実施形態に従う、内燃機関(以下、エンジンと呼ぶ)およびその制御装置の全体的な構成図である。電子制御ユニット(以下、「ECU」)という)1は、入出力インターフェース、中央演算処理装置(CPU)、およびメモリを備えるコンピュータである。メモリには、車両の様々な制御を実現するためのコンピュータ・プログラムおよび該プログラムの実施に必要なデータを格納することができる。ECU1は、車両の各部から送られてくるデータを入出力インターフェースを介して受け取って演算を行い、制御信号を生成し、これを、該入出力インターフェースを介してエンジンの各部を制御するために送る。
エンジン2は、たとえば4気筒(図示せず)を備えたエンジンであり、そのうちの1つの気筒が示されている。各気筒には、吸気バルブ3を介して吸気管4が連結され、排気バルブ5を介して排気管6が接続されている。
吸気管4には、スロットル弁7を介して吸気管4を通過する空気の量を検出するエアフローメータ(AFM)8が設けられている。このセンサの検出値は、ECU1に送られる。
スロットル弁7の開度は、ECU1からの制御信号に従って制御される。スロットル弁7の開度を制御することにより、エンジン2に吸入される空気の量を制御することができる。スロットル弁7には、スロットル弁の開度を検出するスロットル弁開度(θTH)センサ9が連結されており、この検出値は、ECU1に送られる。
スロットル弁7の下流には、吸気管内絶対圧(PB)センサ10および吸気温(TA)センサ11が設けられており、それぞれ、吸気管内の圧力および温度を検出する。これらの検出値は、ECU1に送られる。
エンジン2の吸気管4には、気筒ごとに燃料噴射弁(インジェクタ)12が設けられている。燃料噴射弁12は、ECU1からの制御信号に従って、燃料を噴射する。
点火プラグ13が、燃焼室14に臨むように取り付けられている。点火プラグ13は、ECU1からの制御信号に従う点火時期に従って駆動される。
点火プラグ13により飛ばされた火花により、燃料噴射弁12から噴射された燃料と空気の混合気が燃焼室14内で燃焼する。燃焼により混合気の体積は増大し、これによりピストン15を下方に押し下げる。ピストン15の往復運動は、クランク軸16の回転運動に変換される。
また、各気筒の点火プラグ13には、筒内圧センサ17が埋め込まれており、該センサ17は、点火プラグ13の燃焼室14内に突出した部分にかかる圧力、すなわち筒内圧を、圧電素子を利用して検出するプラグはめ込み型センサである。センサ17は、検出された筒内圧をECU1に送る。
さらに、エンジン2には、エンジン2の冷却水の温度TWを検出する水温センサ18、およびクランク角センサ19が設けられている。クランク角センサ19は、クランクシャフト(図示せず)の回転に従って、CRK信号(クランクパルス)をECU1に出力する。CRK信号は、所定のクランク角毎(たとえば、15度)に出力される。ECU1は、CRK信号に応じ、エンジン2の回転数NEを算出する。
以下の実施例では、制御対象をエンジンとし、該エンジンの燃焼状態を表す筒内圧についてのパラメータを同定する同定器を備える制御装置を例に、本願発明を説明する。しかしながら、後述するように、本願発明はこのような形態に制限されない。本願発明は、任意のパラメータを同定する同定器を備えるエンジン制御に広く適用可能である。さらに、以下の実施例では、同定器により同定されたパラメータを用いた制御処理として、失火判定という処理を行っているが、本願発明では、他の判定処理(たとえば、ノック検知等)だけでなく、エンジンの運転状態を操作する処理(空燃比を操作する処理、燃料量を操作する処理、吸気量を操作する処理等)も含めて、制御処理と呼び、これらの任意の制御処理に本願発明は広く適用可能である。
ここで、図2を参照して、この発明の一実施例で行う同定処理および制御処理(失火判定)の原理を説明する。図2は、クランク角度―180度から180度の領域における気筒の燃焼室の圧力(筒内圧)を示しており、およそクランク角度―180度から0度の範囲が圧縮行程であり、0度から180度までが膨張(燃焼)行程である。
曲線31は、エンジンの1つの気筒のモータリング圧力(失火時の圧力)の推移を示し、曲線33は、同じ気筒において正常な燃焼が行われたときの筒内圧の推移を示す。クランク角0度が上死点(TDC)であり、モータリング圧力は上死点でピークとなり、燃焼時の筒内圧は、上死点を過ぎた10度付近でピークとなる。
図に示されるように、圧縮行程において上死点に達する前の期間、たとえば同定ステージと示す期間において、曲線31と曲線33はほぼ重なっており、モータリング圧力と筒内圧とはほぼ同じ値を取ることがわかる。
一方、黒色のドット35は、筒内圧センサ17により検出された実測値PSを示す。筒内圧センサ17は、エンジンの燃焼室という過酷な環境に置かれており、温度の影響、経年変化などによって特性が変化する。したがって、図に示されるように、筒内圧実測値PSは、誤差を含んでおり、誤差を含まない筒内圧を示す曲線33から乖離することがある。
この実施例では、まず、同定ステージにおいて、筒内圧実測値PSがほぼモータリング圧力の曲線31上にくるよう、該実測値を補正するための補正パラメータを同定する。より具体的には、該補正は、筒内圧実測値PSに、以下の補正式を適用することによって行われる。
PS’(θ)=PS(θ)k1+C1
PS’(θ)=PS(θ)k1+C1
ここで、k1は補正係数(ゲイン)であり、C1は補正項(オフセット)であり、これらが補正パラメータである。θは、クランク角度を表す。こうして補正された実測値PS’が、図では白色のドット37で示されている。同定ステージの期間においては、前述したように、誤差を含まない筒内圧(曲線33)は、モータリング圧力(曲線31)とほぼ同じ挙動を呈するので、筒内圧実測値PSは、該補正によって、対応するモータリング圧力PMに収束すべきである。したがって、同定ステージの期間において、両者の差(PM−PS’)が最小になるように、補正パラメータk1およびC1を同定する。
次に、燃焼(膨張)行程において混合気の燃焼開始後、たとえば図2に判定ステージと示す期間において、筒内圧実測値PSは、同定されたパラメータk1およびC1を用いて補正され、補正済み筒内圧PS’が算出される。これにより、判定ステージの期間において、黒色のドット35は、ほぼ曲線33上に位置する白色のドット37となる。図に示されるように、判定ステージの期間においては、失火しない時の筒内圧(曲線33)と、失火時の筒内圧曲線31との間に差が生じる。したがって、補正済み筒内圧PS’(白色のドット37)と、モータリング圧力PM(曲線31)との関係に基づいて、燃焼状態、たとえば、失火が生じたかどうかを判定することができる。一実施例では、PS’/PMが予め定めた閾値より小さいとき、失火が生じたと判定する。
図3は、この発明の第1の実施形態に従う、制御装置の全体的構成を示すブロック図である。各機能ブロックは、ECU1において実現される。
筒内圧センサ17により出力された、気筒内の圧力に応じた電気信号(筒内圧信号)は、チャージアンプ51により電圧信号に変換され、ローパスフィルタ53を適用される。同定ステージおよび判定ステージを含む所定期間にわたり、AD変換器55は、所定の周波数(たとえば、50kHz)で該筒内圧信号をサンプリングする。サンプリングにより得たサンプル値は、入出力インターフェース61を介してECU1のメモリに保存される。好ましくは、例えばダイレクトメモリアクセス(DMA)を用いて、CPUを介さずに、これらのサンプル値は直接メモリに保存される。
また、図示しないが、同定ステージおよび判定ステージを含む上記所定期間にわたり、同定処理および失火判定処理に用いる他のデータ(吸気量、吸気温、エンジン回転数等)も、所定のクランク角度毎に計測されてメモリに記憶される。
この実施例では、以下に説明する同定処理およびその後の制御処理(この実施例では、失火判定処理)は、筒内圧等の計測値が保存される上記所定期間が経過した後、たとえば排気行程中に、該保存された計測値を用いて実施される。
センサ出力検出部65は、上記所定期間に計測された筒内圧サンプル値を該メモリから読み出し、パラメータ同定部75およびセンサ出力補正部67に渡す。一実施例では、センサ出力検出部65は、所定の基準クランク角度(たとえば、1度や2度)間隔に相当する時間長を算出し、該時間長を用いて、該メモリから読み出した筒内圧サンプル値を補間計算することにより、該所定の基準クランク角度毎(たとえば、1度や2度)の筒内圧を算出し、該算出した筒内圧を、パラメータ同定部75およびセンサ出力補正部67に渡すようにしてもよい。この補間計算の手法については、後述される。こうして、センサ出力検出部65は、クランク角度θに対応する筒内圧実測値PSを出力する。
センサ出力補正部67は、上述の補正式に従い、補正パラメータk1およびC1を用いて、実測値PS(θ)を補正し、補正済み筒内圧PS’(θ)を算出する。
上の式で、mは、図4の関係から計算される、ピストン15の上死点からの変位を示す。rをクランクシャフト16の半径、l(エル)をコンロッド長とすると、λ=l/r である。Vdeadは、ピストン15が上死点にあるときの燃焼室の容積、Apstnは、ピストンの断面積である。
式(3)で、Gは、気筒内に吸入される空気量を示し、エアフローメータ8(図1)により検出され、またはエンジン回転数NEおよび吸気圧PB(それぞれ、図1のCRKセンサ19およびPBセンサ10により検出されることができる)に基づいて得られる吸入空気量を示す。Rは気体定数、Tは、例えば吸気温センサ11(図1)により検出され、またはエンジン水温(図1のTWセンサ18により検出されることができる)などの運転状態に基づいて得られる吸気温度である。kは補正係数、Cは補正項である。
この発明の一実施形態では、燃焼室の気体状態方程式に基づくモータリング圧力推定値として、たとえばセンサ取り付け部の温度変化等の影響を受けない単結晶圧電式の圧力センサを用いて燃焼室の圧力を実測し、この実測値を式(3)と対応させることにより算出されたkの値k0およびCの値C0を求め、これを式(3)に代入して得られる次の式(4)を用いてモータリング圧力PMを推定する。
モータリング圧力推定部70は、基本モータリング圧力計算部71およびモータリング圧力補正部72から構成される。基本モータリング圧力計算部71が(4)式の基本項目である基本モータリング圧力GRT/Vcを計算する。モータリング圧力補正部72は、上述のようにして予め求められているパラメータk0およびC0を用いて、基本モータリング圧力を補正する。このパラメータk0およびC0は、エアフローメータ8により検出される吸気量およびエンジン回転数などエンジンの負荷状態を表すパラメータに従って参照することができるテーブルとして用意されている。
パラメータ同定部75は、同定ステージの期間において計測されたデータ(吸気量Gおよび吸気温T)を用いてモータリング圧力推定部70が算出するモータリング圧力PMと、該同定ステージの期間における筒内圧実測値PSに基づいてセンサ出力補正部67が生成する補正済み筒内圧PS’との差(PM-PS’)が最小になるよう、既知の最小二乗法を利用して、補正パラメータk1およびC1を同定する。図2を参照して述べたように、同定ステージの期間においては、補正済み筒内圧PS’はモータリング圧力PMに収束すべきであり、よって、両者の誤差を最小にするよう、補正パラメータが同定される。
前述したように、補正済み筒内圧PS’およびモータリング圧力PMは、所定の基準クランク角度毎に算出される。したがって、同定処理は、クランク角度に応じたモータリング圧力推定値PM(θ)と、同じクランク角度に応じた補正済み筒内圧PS’(θ)=PS(θ)k1+C1との差が最小になるよう、より具体的には該差の二乗、すなわち(PM(θ) − PS(θ)k1−C1)2 が最小になるよう、k1およびC1を既知の最小二乗法により求める。
ここで、PMの離散値をy(i)で表し、センサ出力検出部65から得られる筒内圧実測値PSの離散値をx(i)で表すと、YT=[y(0),y(1), …,y(n)] およびX(i)T=[x(0), x(1), …,x(n)]とそれぞれ表される。誤差の離散値の二乗の和は、次の式(5)で表される。nの値は、センサ出力検出部65によって出力されて同定処理に用いられるデータの個数である。
収束判定部76は、同定部75により算出されたパラメータk1およびC1を評価する。より具体的には、該パラメータによる補正によって、補正済み筒内圧PS’がモータリング圧PMに対して収束するかどうかを、たとえば両者の誤差の標準偏差を調べることにより判定する。該判定の結果、収束度合いが許容範囲内にあるならば、該算出されたパラメータk1およびC1の値で、現在のパラメータk1およびC1を更新する。収束度合いが許容範囲内になければ、パラメータの更新は行われず、現在のパラメータk1およびC1を、以下の失火判定処理に用いる。
センサ出力補正部67は、パラメータk1およびC1を用いて、前述したように、判定ステージの期間において計測された筒内圧実測値PSに基づき、上述の補正式に従って補正済み筒内圧PS’を算出する。
失火判定部77は、判定ステージの期間における筒内圧実測値に基づいてセンサ出力補正部67によって算出された補正済み筒内圧PS’と、該判定ステージの期間において計測されたデータを用いてモータリング圧力推定部70が算出するモータリング圧力PMに基づいて、失火の有無を判定する。なお、失火判定処理も、同定処理と同様に、クランク角度に応じたモータリング圧力PM(θ)と、同じクランク角度に応じた補正済み筒内圧PS’(θ)とに基づいて判定される。この実施例では、失火判定部77は、PS’/PMが予め定めたしきい値αより小さいとき、失火が生じたと判定する。
切り換え部81が設けられており、エンジンの運転状態に応じて、通常モードと間引きモードとを切り換える。各気筒について、吸気、圧縮、膨張および排気行程からなるサイクルを1燃焼サイクル(1燃焼周期)とすると、この第1の実施形態においては、通常モードでは、各燃焼サイクルにおいて、パラメータ同定部75による同定処理および失火判定部77による失火判定処理が行われる。間引きモードでは、失火判定処理は各燃焼サイクルにおいて行われるが、同定処理が間引かれ、同定処理が実行されない燃焼サイクルが存在する。
切り換え部81は、エンジンの回転数に応じて、同定処理の間引き許可フラグF_PASS_CALの値を設定する。間引き部82は、許可フラグが値1に設定に設定されているときには、パラメータ同定部75による同定処理を禁止する。間引き部82は、許可フラグがゼロに設定されているときには、該同定処理を許可する。こうして、許可フラグによって、今回の燃焼サイクルにおける同定処理が実行されるかどうかが制御される。
前述したように、同定処理は、比較的計算負荷が高い処理であるので、エンジンの運転状態によっては、後続の制御処理や他の制御処理に、遅延等の影響を及ぼすおそれがある。たとえば、エンジン回転数が高いとき、クランク角度あたりの時間が短くなる。様々な制御処理は、クランク角度に同期して行われることが多く、よってエンジン回転数が高いときに比較的計算負荷の高い同定処理を高い頻度で行うと、様々な演算に遅延等の影響を及ぼすおそれがある。この発明によれば、エンジンの運転状態に応じて、同定処理の間引きが行われるので、このような影響を低減することができる。
さらに、同定されるパラメータは、主に、センサのバラツキや劣化、エンジンの運転状態の変化等に起因してばらつくことがあるが、大きく変化することは少ない。したがって、このような間引きが実行されても、同定処理の後続の制御処理(この実施例では、失火判定)を各燃焼サイクルで実行すれば、間引きによる制御精度への影響はほとんど生じない。
図5〜図12を参照して、この発明の一実施例に従う失火判定処理をより具体的に説明する。
図5は、各燃焼サイクルの、たとえば排気行程中に実施される失火検知のメインフローである。この処理は、ECU1のCPUによって、より具体的には図3に示される装置によって実行される。
ステップS1において、通常モードか間引きモードかを選択するための切り換え処理(図6)を実行する。ステップS2に進み、同定ステージおよび判定ステージを含む所定期間について収集された筒内圧サンプル値に基づき、所定の基準クランク角度毎の筒内圧を算出するための補間計算(図7)を実施する。ステップS3に進み、パラメータk1およびC1の同定処理(図10)を実行する。ステップS4に進み、失火判定処理(図12)を行う。
図6を参照して、図5のステップS1で実施される切り換え処理について説明する。
ステップS21において、クランク角センサ19によって検出された回転数NEが、第1の閾値NEL_PASS(たとえば、3000rpm)より大きいかどうかを判断する。この判断がNoならば、現在低回転状態であると判断し、ステップS26に進む。ステップS26において、通常モードが選択される。通常モードでは、同定処理を、後続の失火判定処理と同様に、各燃焼サイクルで実施する。今回の燃焼サイクルでの同定処理を許可するため、間引き許可フラグF_PASS_CALをゼロに設定し(S27)、カウンタをゼロにリセットする(S28)。カウンタの作用については、後述される。こうして、エンジンの回転数が低いときには、ECUの負荷が低い状態であるので、同定処理を許可する。
ステップS21の判断がYesであるとき、ステップS22に進み、エンジン回転数の変化ΔNEを調べる。ΔNEは、所定時間における変化量(たとえば、当該プロセスが前回実施された時のNEと今回検出されたNEの差)が所定値DNEH1_PASSより大きいかどうかを判断する。この判断がNoの場合には、エンジンの運転状態が急変していないことを示すので、NE_PASSに、今回検出された回転数NEを設定する(S23)。ステップS22の判断がYesならば、エンジンの運転状態が急変したことを示し、この場合には、ステップS24において、今回検出された回転数NEに所定値ΔNEH_PASSを加算した値を、NE_PASSに設定する。
この加算の理由について述べると、後述するように、間引きモードに切り換えるかどうかは、エンジン回転数が、所定の閾値NEH1_PASSおよびNEH2_CALCPに達したかどうかによって決定される。ステップS3において所定値を加算することにより、加算しない場合に比べて、間引きモードへの移行を早めることができる。
エンジンの運転状態の変化が早いときには、間引きが間に合わないおそれがあり、これにより、回転数が高くなった状態で同定処理が毎燃焼サイクル実行されてしまうおそれがある。これを回避するため、回転数の変化が大きいときには間引きモードに早めに移行する。
代替的に、エンジンの運転状態が変化したかどうかを判断するのに、スロットル開度の変化を用いてもよい。たとえば、スロットル開度の今回値と前回値との差が所定値より大きければ、エンジンの運転状態が急変したと判断し、間引きモードに早めに移行する。
ステップS25において、NE_PASSが、第2の閾値NEH1_PASSより大きいかどうかを判断する。この判断がNoの場合は、回転数NE_PASSが、第1の閾値NEL_PASSと第2の閾値NEH1_PASS(たとえば、4500rpm)の間にあることを示す。この場合には、まだ比較的低回転であるので、ステップS26に進み、通常モードが選択される。
ステップS29において、回転数NE_PASSが、第3の閾値NEH2_CALCP(たとえば、6000rpm)より大きいかどうかを判断する。この判断がNoの場合には、回転数NE_PASSが、第2の閾値NEH1_PASSと第3の閾値NEH2_CALCPとの間にあることを示す。比較的高回転であるので、ステップS30に進み、第1の間引きモードを選択する。第1の間引きモードは、同定処理を実行する燃焼サイクルと、同定処理を実行しない燃焼サイクルとを交互に実現するモードである。このため、ステップS32〜S37において、値1とゼロの間で交互にスイッチするカウンタを用い、カウンタの値が1ならば、間引き許可フラグF_PASS_CALに値1を設定することによって今回の燃焼サイクルの同定処理を禁止し(S33)、カウンタの値がゼロならば、間引き許可フラグF_PASS_CALにゼロを設定することによって今回の燃焼サイクルの同定処理を許可する(S35)。
ステップS29の判断がYesの場合には、回転数NE_PASSが、第3の閾値NEH2_CALCPより大きいことを示し、高回転な運転状態であることを示す。ステップS31に進み、第2の間引きモードを選択する。第2の間引きモードは、同定処理を実行する燃焼サイクルの後に、同定処理を実行しない燃焼サイクルが2回連続して続くモードである。このため、ステップS32〜S38において、ゼロから値2までカウントするカウンタを用い、カウンタの値が1または2ならば、間引き許可フラグF_PASS_CALに値1を設定することによって今回の燃焼サイクルの同定処理を禁止し(S33)、カウンタの値がゼロならば、間引き許可フラグF_PASS_CALにゼロを設定することによって今回の燃焼サイクルの同定処理を許可する(S35)。こうして、エンジン回転数が高くなるほど、間引く頻度を高くして計算負荷を低減させる。
上述した間引きの形態は一例であり、他の形態で間引きを実現してもよい。たとえば、同定処理を行った後に、該同定処理を実行しない燃焼サイクルが3回連続して続くモードを設けてもよい。また、2つの間引きモードが設けられているが、間引きモードの数は、1つでもよいし、3つ以上でもよい。
図7を参照して、図5のステップS2で実施される、所定の基準クランク角度毎(この例では、1度)の筒内圧を算出するための補間計算処理を示す。
まず、該補間計算を説明する前に、サンプリングについて説明する。この実施例では、前述したように、同定ステージおよび判定ステージを含む所定期間の間、AD変換器55により、所定の周波数で筒内圧センサ17の出力がサンプリングされてメモリの所定領域ad_data[]に順次保存される。この実施例では、サンプリング周波数が50kHzであり、よってサンプリング間隔は20マイクロ秒である。
さらに、AD変換を行っている間、クランク角センサ19からのクランクパルスの立ち下がりエッジの時間が取得され、メモリの所定領域crk_time[]に記憶される。この実施例では、クランクパルスは、クランク角度15度毎に発せられる。したがって、AD変換の期間がクランク角度195度(圧縮上死点前87.5度〜圧縮上死点後107.5度)であるとき、13個のクランクパルスについてのエッジ時間が記憶される。
図7に示すプロセスは、該所定の期間にわたってメモリに記憶されたサンプル値に対して実行される。該プロセスにより、クランク角1度毎の筒内圧値が補間計算により算出される。
ステップS41は、上記所定期間のクランクパルスの数crk_time[0]〜crk_time[i]だけループが行われることを示す。この実施例では、上記所定期間は、195度のクランク角度に対応するので、195/15=13回のループが行われる。ステップS42は、クランクパルス間で算出すべき筒内圧値の数だけループが行われることを示す。この実施例では、クランクパルスは15度毎に発せられ、クランク角1度毎の筒内圧値を得ることが目的なので、15/1=15回のループが行われる。
ステップS43において、crk_time(i+1)-crk_time(i)は、クランクパルス間の時間長を示す。図8(a)に示すように、このステップでは、当該クランクパルス間におけるn番目(<15)に算出される筒内圧値に対応する時点の、同定ステージの開始時点からの長さtime_1degを、以下の式(11)のように算出している。
ステップS44において、時間長time_1degを、サンプリング間隔である20マイクロ秒で除算し、その商をquotientに設定し、余りをremainderに設定する。算出された商quotientにより、どのサンプル値を用いるべきかが特定される。
ステップS45において、式(12)に示す補間計算により、クランク角1度毎の筒内圧値を算出する。図8(b)に示すように、余りremainderがある場合には、サンプル値ad_data[quotient]と、サンプル値ad_data[quotient+1]の間で補間が行われる。ここで、samptimeは、サンプリング間隔を示し、この例では20マイクロ秒である。この補間により、1度毎筒内圧値pcyl_adが算出される。余りが無い場合には、サンプル値ad_data[quotient]を、1度毎筒内圧値としてそのまま用いることができる。
図9を参照すると、20マイクロ秒の間隔でサンプリングされたサンプル値91が示されている。エンジン回転数に依存して、クランク角度1度あたりの時間長は異なる。エンジン回転数が8333rpmであるときには、1度は20マイクロ秒に相当するので、サンプリング間隔に一致する。したがって、上記ステップS44において余りremainderはゼロになり、サンプル値91を、1度毎筒内圧として用いることができる。
しかしながら、低回転2000rpmや高回転9000rpmの場合には、1度に対応する時間長は、長くなったり(83.3マイクロ秒)短くなったりする(18.5マイクロ秒)。この場合には、補間が行われる。たとえば、2000rpmの場合、時点t3のサンプル値91と時点t4におけるサンプル値91との間で補間が行われ、1度毎サンプル値93が算出される。9000rpmの場合、時点t1におけるサンプル値91と時点t2におけるサンプル値91との間で補間が行われ、1度毎サンプル値92が算出される。
なお、図7のプロセスは、クランク角度1度の補間計算を行うものであるが、この角度に限定されず、任意の角度の補間計算を行うことができる。たとえば、クランク角度3度の補間計算を行う場合には、ステップS42の値15を、15/3=5にすればよい。そして、ステップS43は、次のような式に変更される。
time_3deg=(crk_time[i+1]―crk_time[i])×3(deg)×n/15+(crk_time[i]―crk_time[0])
time_3deg=(crk_time[i+1]―crk_time[i])×3(deg)×n/15+(crk_time[i]―crk_time[0])
こうして求めたtime_3degを20マイクロ秒で除算し、商と余りを求めればよい。
こうして、同定ステージおよび判定ステージを含む所定期間中の所定のクランク角度毎の筒内圧pcyl_adがセンサ出力検出部65により算出されてメモリに記憶され、これが、PS(θ)として後続の処理に用いられる。
ここで、上記のサンプリングおよび補間計算の利点について、説明させていただく。従来は、クランクパルスに同期して、センサにより計測された筒内圧等の計測データをサンプリングし、該サンプル値をCPUが取得して何らかの演算を行うようにしていた。制御精度を高めるために細かいクランク角度、たとえば1度間隔で計測データを得ようとすると、1度の間隔で該計測データをサンプリングするため、サンプリング周波数を高める必要がある。また、CPUは、1度の間隔で演算を実行するため、同じ間隔で該サンプリングした計測データを受信する必要がある。CPUが計測データを受け取るには、実行中の処理を中断する必要があるので、クランクパルス間の間隔が小さいほど、CPUの負荷が増大する。
それに対し、本願発明の上記実施例では、補間計算により、所定の時間周期で得られた計測データのサンプル値から、所望のクランク角毎(たとえば、1度単位)の筒内圧を計算することができるので、サンプリング周波数を高くする必要はない。また、クランクパルスは、クランクパルス間隔の時間長(crk_time(i+1)-crk_time(i))を計算するために用いられるにすぎない。したがって、所望のクランク角単位を例えば1度のように細かくしても、該細かいクランク角単位でCPUが計測データを受信して演算するわけではないので、CPU負荷の増大を抑制することができる。
さらに、本願発明では、データを取得する上記所定期間(この例では、195度の期間)が、演算期間(たとえば、排気行程中)と分離されているので、該所定期間の間、たとえばダイレクトメモリアクセス(DMA)を用いて、CPUを介することなく計測データのサンプル値をメモリに直接保存することができ、よってCPUに負荷はかからない。CPUは、補間計算を行う際に該メモリにアクセスすればよい。
さらに、クランクパルスの波形のパターンは、車両の機種によって様々である。たとえば、クランクパルスの波形に、気筒を判別するため、パルスの時間的長さが例えば2倍になる、いわゆる“歯抜け”と呼ばれる部分を設けることがある。この歯抜けに相当するクランクパルスが到来することにより、ECU1は、どの気筒の上死点が到来したかを判断することができる。クランクパルスに同期して何らかの演算処理が実行される場合に、このような周期の長い“歯抜け”が到来すると、該演算処理が実質的に省略されることになる。本願発明の上記実施例によれば、歯抜けが到来した場合には、ステップS43の”15(deg)”を、歯抜けの周期に相当する値(たとえば、30deg)で置き換えることにより、所望のクランク角毎の筒内圧を算出することができる。このように、クランクパルスの波形パターンに依存することなく、同じ間隔で計測データを生成することができる。
さらに、この実施例によれば、上記所定区間中に計測されたデータがすべてメモリに保存されるので、その後の同定処理および制御処理は、該メモリから、任意の区間の任意の量のデータを任意に選択することができる。たとえば、処理の内容に応じてデータを選択したり、運転状態に応じてデータを選択したりすることができる。
サンプリング周波数(この実施例では、50kHz)は、検知すべき対象物に応じて設定されるのが好ましい。この実施例では、失火だけでなくノッキングをも検知することができるよう、ノッキングの周波数(13.5kHz程度)の2倍以上の周波数を選択している。ノッキングは、周知の任意の手法により(たとえば、特開2006−183533号公報に記載されている)、図7のプロセスで算出された所定の基準クランク角度(たとえば、1度)毎の筒内圧を用いて検知することができる。
図10は、図5のステップS3で実行される同定処理を示す。
ステップS51において、間引き許可フラグF_PASS_CALの値を調べる。この許可フラグは、図1の間引き処理において設定されている。この値が1であるとき、同定処理を間引くので、このまま該プロセスを終える。この値がゼロであるときは、同定処理を実施するので、ステップS52に進む。
以下のステップでは、筒内圧については、図7のプロセスによって算出された所定の基準クランク角度毎(図7の例では、1度毎)の筒内圧のうち、同定ステージの期間における筒内圧がメモリから読み出されて用いられる。同定ステージの期間は、予め決められ、この実施例では圧縮上死点前75〜20度の55度の期間であるので、上記所定の基準クランク角度が1度であるとき、55個の筒内圧が用いられる。他の計測データ(吸気量、吸気温、エンジン回転数等)は、前述したように、同定ステージの期間中に所定のクランク角度毎(たとえば、15度毎)に取得されてメモリに記憶されている。以下の各式の演算は、該算出された筒内圧のそれぞれについて行われるが、各筒内圧に対応する計測データとしては、該筒内圧に対応する時点(図8のtime1_1degにより特定されることができる)で既に取得されている計測データのうち最新の計測データが用いられる。
ステップS52において、前述した式(1)にしたがってピストン位置を計算し、式(2)にしたがってシリンダ容量を計算する。さらに、ステップS53において、エアフローメータ8の検出値Gおよび吸気温センサ11の検出値Tをメモリから読み込む。ステップS54において、シリンダ容量Vc、吸気量Gおよび吸気温Tを用い、式(4)に従ってモータリング圧PM(θ)を算出する。
ステップS55において、図7において算出された筒内圧PS(θ)を読み込む。ステップS56において、式(9)に従ってパラメータk1およびC1を同定する。ステップS57において、収束判定処理(図11)を実行する。
図11は、ステップS57に示す収束判定処理のプロセスを示す。この収束判定は、パラメータk1およびC1によって補正される補正済み筒内圧PS’が、モータリング圧PMに良好に収束するかどうかを判断し、これにより、パラメータk1およびC1の妥当性を評価するためのプロセスである。
ステップS61において、同定されたパラメータk1およびC1を用いて前述した補正式により、同定処理で用いた筒内圧PS(θ)を補正し、補正済み筒内圧PS’(θ)を算出する。ステップS62において、該補正済み筒内圧と、図10のステップS54で算出したモータリング圧PM(θ)との誤差E(=PM(θ)―PS’(θ))を算出する。ステップS63において、以下の式(13)に従い、該誤差Eの分散σを算出する。ここで、nは、式(9)で示されるnと同じであり、同定処理に用いた筒内圧値の個数を示す。
ステップS64において、該分散の平方根として標準偏差STDVを計算する。ステップS65において、標準偏差STDVが所定の閾値より小さければ、モータリング圧力PMと補正済み筒内圧PSとの誤差が収束すると判定し、収束フラグF_収束_NGをゼロに設定する(S66)。
ステップS65において、標準偏差STDVが所定の閾値以上ならば、誤差が収束しないと判断する。この場合、筒内圧センサに異常が生じるなどしてノイズを発生している、演算がオーバーフローしているなどの障害が発生している可能性がある。したがって、収束フラグF_収束_NGに1を設定する(S67)。
ステップS68において、収束フラグが1になる回数をカウントアップする。ステップS69において、カウントが所定値(たとえば、100)以上になると、筒内圧センサの異常を示すフラグF_センサ_ノイズを1にセットする(S70)。
ステップS71およびS72において、フラグF_センサ_ノイズおよびF_収束_NGの値が1かどうかを調べる。これらの判断の両方がNoであれば、今回同定されたパラメータk1、C1を適正なパラメータとして採用する。したがって、ステップS73において、今回同定されたパラメータの値で、前回同定されたパラメータの値が更新され、当該プロセスを終了する。ステップS71およびS72の判断の両方がYesであれば、パラメータk1およびC1を更新することなく、このプロセスを終える。
図12は、図5のステップS4で実行される失火判定処理を示す。ステップS81において、失火MILフラグが1になっているかどうか調べる。このフラグが1になっていることは、すでに何度か失火の判定が行われ、失火の警告が出されていることを意味する。この場合、ステップS82において、後述するサイクル数カウントおよび失火カウントをリセットして、当該プロセスを抜ける。このフラグが1になっていなければ、失火判定処理を開始する。
以下のステップでは、筒内圧については、図7のプロセスによって算出された所定の基準クランク角度毎(図7の例では、1度毎)の筒内圧のうち、判定ステージの期間における筒内圧がメモリから読み出されて用いられる。他の計測データ(吸気量、吸気温、エンジン回転数等)は、前述したように、判定ステージの期間中に所定のクランク角度毎(たとえば、15度毎)に取得されてメモリに記憶されている。以下の各式の演算は、該算出された筒内圧のそれぞれについて行われるが、各筒内圧に対応する計測データとしては、該筒内圧に対応する時点(図8のtime1_1degにより特定されることができる)で既に取得されている計測データのうち最新の計測データが用いられる。
ここで、判定ステージは、予め決められることができ、または、エンジンの運転状態に応じて最も適切なタイミングで失火判定を行うために、該運転状態に応じて設定するようにしてもよい。たとえば、エンジンの吸排気バルブにタイミングを変更可能な可変バルブ機構を備えたものであれば、タイミングが高回転用に制御されているか、アイドル状態か、点火時期リタードモード(エンジン始動直後に、排気系の触媒を活性化するために高温の排気を排気系に送るモード)かどうか、などに応じて、判定ステージを選択してよい。たとえば、所定のマップをメモリに記憶し、運転状態に応じてマップを参照することにより、判定ステージの期間(クランク角度で表される)を記憶しておくことができる。
ステップS83において、前述した式(1)および(2)に従い、ピストンの上死点からの変位mおよびシリンダの容量Vcを計算する。ステップS84において、吸気量Gおよび吸気温Tを読み込む。
ステップS85おいて、式(4)に従って、モータリング圧力PM(θ)を算出する。ステップS86において、所定の基準クランク角度(この例では、1度)毎の筒内圧PS(θ)を読み込む。ステップS87において、前述した補正式に従い、補正済み筒内圧PS’(θ)を算出する。
ステップS88において、エンジンの回転数NEおよび吸気管の絶対圧PBに基づいて、失火判定のためのしきい値のマップ(図示せず)を検索する。モータリング圧力は、エンジンの負荷状態によって異なるため、負荷状態に応じた判定しきい値を予めマップとして用意しておき、このマップを検索するようにしている。該マップは、ECU1のメモリに記憶しておくことができる。
ステップS89において、補正済み筒内圧PS’(θ)と、対応するモータリング圧PM(θ)との比PS’(θ)/PM(θ)が、ステップS87で検索した判定しきい値より大きいかどうか判定する。該比が該判定しきい値より大きいときは、正常に点火が行われていると判定され、処理を終える。該比が該しきい値以下であるときは、失火を生じたと判定し、失火フラグが1にセットされる(S90)。判定ステージの期間にわたり、所定のクランク角度毎(この実施例では、1度毎)に、失火フラグが設定される。失火の判定が行われるたびに、サイクル数のカウントがカウントアップされると共に(S92)、失火フラグが1になるたびに、失火カウントがカウントアップされる(S91)。所定のサイクル数に対して何回失火が生じたかに基づいて、失火MIL(失火警告)を発生させることができる(S93)。
失火警報は、任意の適切な手段で実行されることができ、たとえば、運転席のパネルに警告灯を点灯する等を行うことができる。
図13は、この発明の第2の実施形態に従う装置のブロック図を示す。図3と異なる部分についてのみ説明する。この実施形態では、間引き部82は、同定処理に用いられる筒内圧データを間引く。前述した第1の実施形態では、同定処理が間引かれており、間引く対象が異なる。
切り換え部81は、エンジンの回転数に応じて、間引き許可フラグF_PASS_CALの値を設定する。前述したように、センサ出力検出部65は、同定ステージの期間において収集された筒内圧サンプルに基づいて、所定の基準クランク角度毎の筒内圧を算出する。許可フラグがゼロに設定に設定されているときには、通常モードを示し、この場合、センサ出力検出部65は、第1のクランク角度毎の筒内圧を算出する。許可フラグが1に設定されているときには、間引きモードを示し、この場合には、センサ出力検出部65は、第1のクランク角度より大きい第2のクランク角度毎の筒内圧を算出する。
一実施例では、第1のクランク角度が1度であり、第2のクランク角度が3度である。したがって、間引きモードでは、同定処理に用いられる筒内圧データの量が、通常モードの1/3になる。同定処理の対象となるデータ量が減らされるので、同定処理による計算負荷を低減することができる。
この第2の実施形態において、図5のメインプロセスは、同様に適用可能である。図6の間引き処理のプロセスは、例えば図14に示されるものとなる。これについて説明すると、ステップS101において、検出されたエンジン回転数NEが所定の閾値NEPASSHより大きいかどうかを判断する。この判断がNoならば、エンジンが低回転状態にあると判断し、通常モードを選択し、間引き許可フラグF_PASS_CALをゼロに設定する(S102)。この判断がYesならば、エンジンが高回転状態にあると判断し、間引きモードを選択し、間引き許可フラグF_PASS_CALを1に設定する(S103)。
ステップS105において、通常モードが選択されているならば、ステップS106においてクランク角1度の補間計算を選択し、間引きモードが選択されているならば、ステップS107においてクランク角3度の補間計算を行うことを選択する。クランク角1度の補間計算が選択された時には、図7に示すような処理を実行する。クランク角3度の補間計算は、図7のステップS43において、”1(deg)×n/15”を、”3(deg)×n/15”とすればよい。これにより、クランク角3度の補間計算が実施されることとなる。
代替的に、図6のような切り換え処理を実施して、通常モードでは、第1のデータ量(たとえば、クランク角1度の補間計算)で同定処理を実施し、第1の間引きモードでは、通常モードよりも少ないデータ量(たとえば、クランク角3度の補間計算)で同定処理を実施し、第2の間引きモードでは、第1の間引きモードよりもさらに少ないデータ量(たとえば、クランク角5度の補間計算)となるようにしてもよい。
第2の実施形態では、図10の同定処理のプロセスは同様に適用可能であるが、ステップS51は不要であり、実施されない。また、図11〜図12のプロセスは、第2の実施形態にも同様に適用可能であるので、説明を省略する。なお、図12において、判定ステージの期間における筒内圧のデータについては、間引きモードの場合、第2のクランク角度(上の例では、3度)毎の筒内圧を用いて失火判定を行う。代替的に、間引きモードであっても、判定ステージの期間についてのみ、第1のクランク角度(上の例では、1度)毎の筒内圧を算出して失火判定に用いるようにしてもよい。この場合でも、同定処理は、クランク角度3度毎の筒内圧を用いて行われるので、計算負荷を低減することができる。
この発明の一実施例では、図3に示す間引き部82は、間引きモードが選択されたならば、さらに、燃焼制御用パラメータの算出を停止することができる。ここで、燃焼制御用パラメータには、たとえば、検出された筒内圧を用いて演算するパラメータが含まれ、例として、エンジン出力トルク、着火時期の算出、筒内圧最大値(Pmax)、該筒内圧最大値のクランク角度(θPmax)、熱発生率等を含むことができる。
失火検知やノック検知は、エンジン故障の可能性を見極めるための処理であり、毎燃焼サイクルごとに実行するのが望まれる。また、このような検知処理は、所定の規制によっても毎燃焼サイクル行うことが要望されている。しかしながら、エンジンの故障に直接関係しないような、エンジンの燃焼制御用パラメータの演算処理等については、間引きを行うようにしてもよい。
図15は、これらの燃焼制御用パラメータの間引きのプロセスを示す。このプロセスは、図5に示す失火検知と同様のタイミングで実施されることができ、ECU1のCPUにより、より具体的には、図3における間引き部81により実行されることができる。間引き許可フラグF_PASS_CALが1に設定されているときには、ステップS152〜S155において、今回の燃焼サイクルにおいて出力トルクの算出、最大筒内圧Pmaxおよび最大筒内圧のクランク角度θPmaxの算出、着火時期(着火遅れ)の算出、および熱発生率の算出を行わない。間引き許可フラグF_PASS_CALにゼロが設定されている時には、図7に示すプロセスで得られた所定の基準クランク角度毎の筒内圧および同定ステージおよび判定ステージを含む上記所定期間で計測されたデータ(吸気量等)を用い、これらの燃焼制御量のパラメータの算出を行う。
なお、これらの制御用パラメータの算出は、任意の適切な周知の手法により実現されることができる(出力トルク(実トルク)の算出は、例えば、特開2005−194893号公報に記載されており、また、エンジンの仕事量の算出は、たとえば特開2006−097660号公報に記載されている。また、最大筒内圧およびそれに相当するクランク角度の算出は、たとえば特開2007−107506号公報、特開2006−234469号公報に記載されており、着火時期(遅れ)の算出は、たとえば、特開2006−242146号公報、特開2005−194893号公報に記載されており、熱発生率の算出は、たとえば、特開2007−120392号公報に記載されている)。
代替的に、第2の実施形態における間引き部82により、これらの制御用パラメータの計算に用いるデータを間引くことにより、計算負荷を低減するようにしてもよい。すなわち、通常モードが選択された場合には、所定の基準クランク角度毎(たとえば、1度)の筒内圧を用いてこれらの計算を行い、間引きモードが選択された場合には、該所定の基準クランク角度よりも大きいクランク角度毎(たとえば、2度や3度)の筒内圧を用いてこれらの計算を行う。
図16は、図3に示すブロック図の代替形態を示す。この形態によると、モータリング圧力補正部72は設けられておらず、基本モータリング圧力計算部71で計算される基本モータリング圧力GRT/VCが燃焼室の気体状態方程式に基づくモータリング圧力の推定値PMとして用いられる。図13に示すブロック図の代替形態でも、同様の構成を取ることができる。
以上に本願発明を具体的な実施例について説明したが、本願発明はこのような実施例に限定されるものではなく、また、ガソリンエンジン、ディーゼルエンジンのいずれに対しても使用することができる。また、本願発明は、燃料噴射弁を燃焼室に臨むよう設ける筒内噴射式のエンジンにも使用することができる。
また、本願発明は、同定器を備える制御装置に広く適用可能である。すなわち、制御対象の出力をパラメータで補正した補正値と、該補正値が収束すべき値との差が最小になるよう該パラメータを同定する同定器を備える制御形態に、本願発明は適用可能である。たとえば、制御対象の出力にモデルパラメータを適用したモデル式によって所定の制御量をモデル化し、該モデル式で算出される値(これは、上記補正値に対応する)と、該モデル式で算出される値が収束すべき値との差が最小になるよう、該モデルパラメータを同定する同定器に、本願発明は適用可能である。たとえば、特開2006−132495号公報には、吸気量G、吸気温Tおよび燃焼室の容積VcにkおよびCというモデルパラメータを適用して、モータリング圧をモデル化し(上の実施例の式(3)を参照)、該モデル式で算出されたモータリング圧PM(上記の補正値に対応する)と、筒内圧センサの実測値PS(これが、上記の収束すべき値に対応する)との差が最小になるよう、該モデルパラメータkおよびCを求めており、本願発明は、このような同定にも適用可能である。したがって、請求項の補正パラメータには、このようなモデルパラメータも含まれる。
また、制御対象の出力は、任意のものでよく、たとえば、任意のセンサ(エアフローメータ、排ガスセンサ、空燃比センサ、スロットル開度センサ、バルブのリフト量を検出するセンサ、可変圧縮比を検出するセンサ、カムの位相を検出するセンサ等)の出力またはこれらのセンサ出力に基づく運転パラメータの値(たとえば、空燃比、出力トルク、エンジンの仕事量等)であってよい。これらの出力をパラメータにより補正した補正値が収束すべき値は、所定の基準値、運転状態に応じて決定される目標値、何らかのセンサの検出値等であってよい。
また、上記実施形態では、同定処理に最小二乗法を用いたが、最尤法、最急降下法、重み付け最小二乗法等の他の任意の適切な手法を用いて同定処理を実施してもよい。
さらに、同定されたパラメータを用いた後続の制御処理として、様々な制御処理に、本願発明は適用可能である。上記実施例では、制御処理として失火判定を行っているが、本願発明では、他の判定処理(たとえば、ノック検知等)だけでなく、エンジンの運転状態を操作する処理も含めて制御処理と呼び、これらの任意の制御処理に本願発明は広く適用可能である。たとえば、同定器によって算出されたパラメータを用いた、筒内圧センサの異常の検出(たとえば、特開2006−284533号公報)、スロットル弁の制御(たとえば、特開2002−371892号公報)、空燃比の制御(たとえば、特開2004−036473号公報)、吸気量の制御(たとえば、特開2005−023865号公報)、燃料量の制御(たとえば、特開2004−176651号公報)、点火時期の制御(たとえば、特開2005−146988号公報)、バルブのリフト量、可変圧縮比およびカムの位相の制御(たとえば、特開2006−065733号公報)、過給圧の制御(たとえば、特開2006−200377号公報)等に適用可能である。また、同定器によって算出されたパラメータを用いた制御の手法としては、任意のものが可能であり、たとえば、スライディングモード制御(たとえば、特開2006−065733号公報)およびデルタシグマ変調、デルタ変調またはシグマ変調アルゴリズムを用いた制御(たとえば、特開2005−115488号公報)等に適用可能である。そして、上で述べたように、これらの制御対象の出力にモデルパラメータを適用したモデル式によって算出された値と、該制御対象の実際の出力との差が最小になるように、該モデルパラメータを同定する同定器に、本願発明は適用可能である。一例では、制御対象の出力の過去値にモデルパラメータを適用したモデル式によって算出された値と、該制御対象の出力の現在値との差が最小となるよう、該モデルパラメータを同定することが行われ、本願発明は、このような同定器を備える制御装置に適用可能である。
なお、図7に示すプロセスは、この実施例では筒内圧について用いられたが、他の計測データ(たとえば、エアフローメータ、排ガスセンサ、空燃比センサ等の検出値)についても適用可能であり、これらの計測データについて、所定の基準クランク角度毎の検出値を補間計算により算出することができる。
10 電子制御ユニット(ECU)
15 筒内圧センサ
65 センサ出力検出部
67 センサ出力補正部
70 モータリング圧力推定部
75 パラメータ同定部
81 切換え部
82 間引き部
77 失火判定部
15 筒内圧センサ
65 センサ出力検出部
67 センサ出力補正部
70 モータリング圧力推定部
75 パラメータ同定部
81 切換え部
82 間引き部
77 失火判定部
Claims (9)
- 内燃機関を制御するための制御装置であって、
前記内燃機関からの出力をパラメータを用いて補正した補正値と、該補正値が収束すべき値との差が最小になるよう、該パラメータを同定する同定器と、
前記同定されたパラメータを用いて、所定の周期で前記内燃機関を制御する制御器と、
前記内燃機関の回転数に応じて、前記所定の周期で前記同定器による同定処理を実施する通常モードと、該所定の周期のうち該同定処理を実施しない周期を持つ間引きモードとを切り換える手段と、
前記間引きモードが選択されたならば、前記所定の周期のうち前記同定処理を実施しない周期においては、前記同定器による同定処理を禁止する間引き手段と、
を備える、制御装置。 - 前記切り換え手段は、前記内燃機関の回転数が所定の閾値より高ければ、前記間引きモードに切り換える、
請求項1に記載の制御装置。 - 前記切り換え手段は、さらに、前記内燃機関の運転状態を表すパラメータの値の変化が所定値より大きいときには、前記内燃機関の回転数が前記所定の閾値に達する前に、前記間引きモードに切り換える、
請求項2に記載の制御装置。 - 内燃機関を制御するための制御装置であって、
前記内燃機関からの出力をパラメータを用いて補正した補正値と、該補正値が収束すべき値との差が最小になるよう、該パラメータを同定する同定器と、
前記同定されたパラメータを用いて、所定の周期で前記内燃機関を制御する制御器と、
前記内燃機関の回転数に応じて、前記所定の周期内の所定区間で前記内燃機関の出力を計測することにより取得した第1の量のデータに基づいて前記同定器による同定処理を行う通常モードと、該所定区間で該内燃機関の出力を計測することにより取得した、該第1の量よりも少ない第2の量のデータに基づいて該同定処理を行う間引きモードとを切り換える手段と、
前記間引きモードが選択されたならば、前記第2の量のデータを取得して、該取得したデータに基づいて前記同定器による同定処理が行われるようにする間引き手段と、
を備える、制御装置。 - 前記切り換え手段は、前記内燃機関の回転数が所定の閾値より高ければ、前記間引きモードに切り換える、
請求項4に記載の制御装置。 - 前記第1の量のデータは、前記所定区間にわたって前記内燃機関の出力を計測することにより得たサンプリング値に対して第1の周期で補間演算を適用することにより得られ、前記第2の量のデータは、該所定区間にわたって該内燃機関の出力を計測することにより得たサンプリング値に対して、前記第1の周期より長い第2の周期で補間演算を適用することにより得られる、
請求項4または5に記載の制御装置。 - 内燃機関の制御装置であって、
前記内燃機関の運転状態を検出して、該運転状態を表す信号を出力する検出手段と、
所定の時間周期に同期して、前記検出手段から出力される前記信号をサンプリングするサンプリング手段と、
所定のクランク角度に同期してクランクパルス信号を発生する手段と、
前記クランクパルス信号に同期して、所定の基準クランク角間隔に相当する時間長を算出する手段と、
前記算出した時間長を用いて前記サンプリングされた信号を補間計算することにより、前記基準クランク角間隔毎の前記運転状態を表す信号を生成する手段と、
前記生成された基準クランク角間隔毎の運転状態を表す信号に基づいて、前記内燃機関を制御する制御手段と、
を備える、内燃機関の制御装置。 - 前記運転状態は、前記内燃機関の筒内圧である、
請求項7に記載の制御装置。 - 前記基準クランク角間隔に相当する時間長は、前記内燃機関の回転数に応じて可変である、
請求項7または8に記載の制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007181124A JP2009019523A (ja) | 2007-07-10 | 2007-07-10 | 内燃機関の制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007181124A JP2009019523A (ja) | 2007-07-10 | 2007-07-10 | 内燃機関の制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009019523A true JP2009019523A (ja) | 2009-01-29 |
Family
ID=40359387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007181124A Pending JP2009019523A (ja) | 2007-07-10 | 2007-07-10 | 内燃機関の制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009019523A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021036138A (ja) * | 2019-08-30 | 2021-03-04 | トヨタ自動車株式会社 | 内燃機関の状態判定装置、内燃機関の状態判定システム、データ解析装置、および内燃機関の制御装置 |
JP2021067193A (ja) * | 2019-10-18 | 2021-04-30 | トヨタ自動車株式会社 | 車両用制御装置 |
US11530662B2 (en) | 2019-10-18 | 2022-12-20 | Toyota Jidosha Kabushiki Kaisha | Method of generating vehicle control data, vehicle control device, and vehicle control system |
US11654915B2 (en) | 2019-10-18 | 2023-05-23 | Toyota Jidosha Kabushiki Kaisha | Method of generating vehicle control data, vehicle control device, and vehicle control system |
US11679784B2 (en) | 2020-01-09 | 2023-06-20 | Toyota Jidosha Kabushiki Kaisha | Vehicle control data generation method, vehicle controller, vehicle control system, vehicle learning device, vehicle control data generation device, and memory medium |
US11745746B2 (en) | 2020-01-09 | 2023-09-05 | Toyota Jidosha Kabushiki Kaisha | Method for generating vehicle controlling data, vehicle controller, vehicle control system, and learning device for vehicle |
US11840245B2 (en) | 2020-01-09 | 2023-12-12 | Toyota Jidosha Kabushiki Kaisha | Vehicle control data generation method, vehicle controller, vehicle control system, vehicle learning device, vehicle control data generation device, and memory medium |
-
2007
- 2007-07-10 JP JP2007181124A patent/JP2009019523A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021036138A (ja) * | 2019-08-30 | 2021-03-04 | トヨタ自動車株式会社 | 内燃機関の状態判定装置、内燃機関の状態判定システム、データ解析装置、および内燃機関の制御装置 |
CN112443414A (zh) * | 2019-08-30 | 2021-03-05 | 丰田自动车株式会社 | 内燃机的状态判定装置、内燃机的状态判定系统、数据解析装置、以及内燃机的控制装置 |
US11092103B2 (en) | 2019-08-30 | 2021-08-17 | Toyota Jidosha Kabushiki Kaisha | State determination device for internal combustion engine, state determination system for internal combustion engine, data analysis device, and control device for internal combustion engine |
JP2021067193A (ja) * | 2019-10-18 | 2021-04-30 | トヨタ自動車株式会社 | 車両用制御装置 |
US11248553B2 (en) | 2019-10-18 | 2022-02-15 | Toyota Jidosha Kabushiki Kaisha | Vehicle control device, vehicle control system, and vehicle control method |
US11530662B2 (en) | 2019-10-18 | 2022-12-20 | Toyota Jidosha Kabushiki Kaisha | Method of generating vehicle control data, vehicle control device, and vehicle control system |
US11654915B2 (en) | 2019-10-18 | 2023-05-23 | Toyota Jidosha Kabushiki Kaisha | Method of generating vehicle control data, vehicle control device, and vehicle control system |
US11679784B2 (en) | 2020-01-09 | 2023-06-20 | Toyota Jidosha Kabushiki Kaisha | Vehicle control data generation method, vehicle controller, vehicle control system, vehicle learning device, vehicle control data generation device, and memory medium |
US11745746B2 (en) | 2020-01-09 | 2023-09-05 | Toyota Jidosha Kabushiki Kaisha | Method for generating vehicle controlling data, vehicle controller, vehicle control system, and learning device for vehicle |
US11840245B2 (en) | 2020-01-09 | 2023-12-12 | Toyota Jidosha Kabushiki Kaisha | Vehicle control data generation method, vehicle controller, vehicle control system, vehicle learning device, vehicle control data generation device, and memory medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4445986B2 (ja) | 内燃機関の着火時期を判定するための制御装置 | |
Taglialatela et al. | Determination of combustion parameters using engine crankshaft speed | |
US7480591B2 (en) | Misfire detecting apparatus for internal combustion engine | |
JP5293890B2 (ja) | 内燃機関の制御装置 | |
JP2007032531A (ja) | 内燃機関の制御装置 | |
US7197916B2 (en) | Misfire detector using linear detection of crankshaft angular speed | |
JP2009019523A (ja) | 内燃機関の制御装置 | |
US7455047B2 (en) | Control unit for an internal combustion engine | |
JPWO2012147193A1 (ja) | 内燃機関の制御装置 | |
JP5331613B2 (ja) | 内燃機関の筒内ガス量推定装置 | |
JP4788640B2 (ja) | 内燃機関の筒内圧推定方法および筒内圧推定装置 | |
JP2008540912A (ja) | 内燃機関のシリンダ内で燃焼される燃料質量とシリンダに供給される燃料質量との間の比率を求めるための方法及び装置 | |
CN108350826B (zh) | 内燃机控制装置 | |
JP2011157852A (ja) | 内燃機関の制御装置 | |
JP2009019525A (ja) | 内燃機関の制御装置 | |
JP4317842B2 (ja) | 圧力状態検出装置の異常判定装置 | |
JP4803099B2 (ja) | 可変圧縮比エンジンのトルク推定装置 | |
JP2011111906A (ja) | 筒内圧センサの診断装置 | |
JP2006284533A (ja) | 筒内圧力センサの異常検知装置 | |
JP2007309261A (ja) | 内燃機関の温度推定装置および制御装置 | |
JP4340577B2 (ja) | 筒内圧センサの温度検知装置、ならびにこれを用いた筒内圧の検出装置および内燃機関の制御装置 | |
JP4345723B2 (ja) | 内燃機関の図示平均有効圧の推定方法 | |
JP2007040208A (ja) | 内燃機関の制御装置 | |
JP4606198B2 (ja) | 内燃機関の燃焼状態検出装置 | |
JP4798647B2 (ja) | 筒内圧力センサの異常検知装置 |