(57)【特許請求の範囲】
【請求項１】
外気の重量絶対湿度が過渡的に変化する場合に、応答遅れを有する相対湿度センサと、
前記相対湿度センサの出力に基づいて外気の重量絶対湿度を算出する重量絶対湿度算出手段と、
前記算出される外気の重量絶対湿度が過渡的に変化する場合に、外気の重量絶対湿度が変化する方向を判定する変化方向判定手段と、
同じく前記算出される外気の重量絶対湿度が過渡的に変化する場合に、外気の重量絶対湿度の単位時間当たり変化量を算出する単位時間当たり変化量算出手段と、
前記判定される重量絶対湿度が変化する方向及び前記算出される単位時間当たり変化量に応じて、点火時期の過渡分湿度補正量を算出する過渡分湿度補正量算出手段と、
前記算出される外気の重量絶対湿度に応じて、ノック点の点火時期よりも一定量遅角側のトレース点火時期を算出するトレース点火時期算出手段と、
前記算出される過渡分湿度補正量で前記算出されるトレース点火時期を補正して目標トレース点火時期を算出する目標トレース点火時期算出手段と、
前記算出される目標トレース点火時期を点火装置に指令する点火時期指令手段と
を備えることを特徴とするエンジンの点火時期制御装置。
【請求項２】
前記外気の重量絶対湿度が過渡的に減少する場合に前記過渡分湿度補正量は遅角補正量であることを特徴とする請求項１に記載のエンジンの点火時期制御装置。
【請求項３】
前記外気の重量絶対湿度が過渡的に増加する場合に前記過渡分湿度補正量は進角補正量であることを特徴とする請求項２に記載のエンジンの点火時期制御装置。
【請求項４】
前記過渡分湿度補正量は、前記単位時間当たり変化量が同じでも、前記遅角補正量を前記進角補正量よりも大きく設定されることを特徴とする請求項３に記載のエンジンの点火時期制御装置。
【請求項５】
前記過渡分湿度補正量は前記単位時間当たり変化量が大きいほど大きい値であることを特徴とする請求項１から４までのいずれか一つに記載のエンジンの点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は内燃機関（以下「エンジン」という。）の点火時期制御装置、特に相対湿度センサを備えるものに関する。
【背景技術】
【０００２】
外気の相対湿度を検出する相対湿度センサを備え、このセンサにより検出される相対湿度に基づいて点火時期補正量を算出し、算出した点火時期補正量で基本点火時期を補正して制御点火時期を算出するものがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−６８１４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ノッキングが生じる運転域では、トレース点火時期を目標値にして点火時期を制御しているのであるが、外気の重量絶対湿度が過渡的に変化する場合に、上記の相対湿度センサの応答は遅く、ある条件下においては反応時間が数秒に及ぶこともある。このため、外気の重量絶対湿度が過渡的に変化する場合に、この相対湿度センサの応答遅れに起因して、実際のトレース点火時期がノック点の点火時期を外れて進角側にはみ出ることがあり、ノッキングが生じてしまう。
【０００５】
そこで本発明は、外気の重量絶対湿度が過渡的に変化する場合に相対湿度センサに応答遅れがあっても、ノッキングが生じることを回避し得る装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のエンジンの点火時期制御装置では、相対湿度センサと、重量絶対湿度算出手段と、変化方向判定手段と、単位時間当たり変化量算出手段と、過渡分湿度補正量算出手段と、トレース点火時期算出手段と、目標トレース点火時期算出手段と、点火時期指令手段とを備える。上記相対湿度センサは外気の重量絶対湿度が過渡的に変化する場合に、応答遅れを有する。上記重量絶対湿度算出手段は前記相対湿度センサの出力に基づいて外気の重量絶対湿度を算出する。上記変化方向判定手段は前記算出される外気の重量絶対湿度が過渡的に変化する場合に、外気の重量絶対湿度が変化する方向を判定する。上記単位時間当たり変化量算出手段は同じく前記算出される外気の重量絶対湿度が過渡的に変化する場合に、外気の重量絶対湿度の単位時間当たり変化量を算出する。上記過渡分湿度補正量算出手段は前記判定される重量絶対湿度が変化する方向及び前記算出される単位時間当たり変化量に応じて、点火時期の過渡分湿度補正量を算出する。上記トレース点火時期算出手段は前記算出される外気の重量絶対湿度に応じて、ノック点の点火時期よりも一定量遅角側のトレース点火時期を算出する。上記目標トレース点火時期算出手段は前記算出される過渡分湿度補正量で前記算出されるトレース点火時期を補正して目標トレース点火時期を算出する。上記点火時期指令手段は前記算出される目標トレース点火時期を点火装置に指令する。
【発明の効果】
【０００７】
本発明によれば、外気の重量絶対湿度が過渡的に変化する場合に、相対湿度センサに応答遅れがあっても、ノッキングが生じることを回避することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態のガソリンエンジンの概略構成図である。
【図２】外気の重量絶対湿度に対するトレース点火時期の特性図である。
【図３】空気の相対湿度が過渡的に変化する場合の相対湿度センサの応答を示したタイミングチャートである。
【図４】外気の相対湿度が２０％から８０％へとステップ変化する場合の実際のトレース点火時期の変化を示すタイミングチャートである。
【図５】外気の相対湿度が２０％から４０％へとステップ変化する場合の実際のトレース点火時期の変化を示すタイミングチャートである。
【図６】外気の相対湿度が８０％から２０％へとステップ変化する場合の実際のトレース点火時期の変化を示すタイミングチャートである。
【図７】外気の相対湿度が４０％から２０％へとステップ変化する場合の実際のトレース点火時期の変化を示すタイミングチャートである。
【図８】点火時期の過渡分湿度補正量の特性図である。
【図９】湿度増加側と湿度減少側とで補正量が異なることを説明するためのタイミングチャートである。
【図１０Ａ】目標トレース点火時期の算出を説明するためのフローチャートである。
【図１０Ｂ】目標トレース点火時期の算出を説明するためのフローチャートである。
【図１１】基本トレース点火時期の特性図である。
【図１２】点火時期の定常湿度分補正量の特性図である。
【図１３】進角補正量の特性図である。
【図１４】遅角補正量の特性図である。
【図１５】点火時期指令値の算出を説明するためのフローチャートである。
【図１６】外気の重量絶対湿度が過渡的に減少する場合のタイミングチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づき説明する。
【００１０】
（第１実施形態）
図１は本発明の第１実施形態のガソリンエンジンの制御装置の概略構成図である。
【００１１】
エンジン１はガソリンエンジン（以下、単に「エンジン」ともいう。）である。エンジン１は図示しない車両に搭載されている。エンジン１には、吸気通路４、排気通路２１を備える。上記の吸気通路４は、吸気管４ａ、吸気コレクタ４ｂ、吸気マニホールド４ｃで構成される。
【００１２】
吸気コレクタ４ｂのすぐ上流の吸気管４ａにはアクセルペダル４３の踏込量に応動する電子制御のスロットル装置を備える。スロットル装置は、スロットルバルブ５と、スロットルバルブ５を駆動するモータ（回転電機）６、実際のスロットル開度を検出するスロットルセンサ７により構成されている。吸入空気は吸気管４ａを経てスロットルバルブ５によって調量される。スロットルバルブ開度は、アクセルセンサ４４により検出されるアクセル開度（アクセルペダル４３の踏み量）と、クランク角センサ４５により検出されるエンジン回転速度Ｎｅに応じて設定されている。調量された空気は吸気コレクタ４ｂに蓄えられ、吸気弁８が開いたときにこの吸気コレクタ４ｂから吸気マニホールド４ｃを介して各気筒の燃焼室１０に分配供給される。第１実施形態は電子制御のスロットル装置の場合であるが、スロットルバルブとアクセルペダルとがワイヤーにより連結されたものであってよい。
【００１３】
エンジン１には点火装置１３を備える。点火装置１３は、点火プラグ１４、パワートランジスタ内蔵の点火コイル１５から構成される。点火プラグ１４が燃焼室１０に直接臨んで、かつ燃料噴射弁１２が燃焼室１０に直接臨んでそれぞれ設けられている。
【００１４】
エンジンコントローラ４１では、吸入空気量ＱａとＮｅから基本燃料噴射パルス幅Ｔｐ［ｍｓ］を算出し、このＴｐを目標当量比ＴＦＢＹＡ［無名数］や空燃比フィードバック補正係数α［無名数］で補正して燃料噴射パルス幅Ｔｉ［ｍｓ］を算出する。上記の吸入空気量Ｑａはエアフローメータ４２により検出する。所定のタイミングでこのＴｉだけ燃料噴射弁１２を開かせることで、燃料が燃焼室１０の内部に直接噴射される。
【００１５】
一方、エンジンコントローラ４１では、エンジンの負荷と回転速度Ｎｅから所定のマップを参照することにより、ＭＢＴが得られる基本点火時期ＡＤＶ０［ｄｅｇＣＡ（ＢＴＤＣ）］を算出する。特に、高負荷低回転速度域ではノッキングが生じる。このため、ノッキングが生じるときの点火時期より少しだけ遅角側にトレース点火時期ＡＤＶｔｒ０［ｄｅｇＣＡ（ＢＴＤＣ）］を、上記の基本点火時期ＡＤＶ０とは別に定めている。高負荷低回転速度域で、このトレース点火時期ＡＤＶｔｒ０と上記の基本点火時期ＡＤＶ０とを比較すると、トレース点火時期ＡＤＶｔｒ０のほうが遅角側にくるので、トレース点火時期ＡＤＶｔｒ０が点火時期指令値ＡＤＶ［ｄｅｇＣＡ（ＢＴＤＣ）］として選択される。
【００１６】
そして、クランク角センサ４５により検出されるエンジンのクランク角がこの点火時期指令値ＡＤＶと一致するタイミングでパワートランジスタを介して点火コイル１５の一次側電流を遮断することで、点火プラグ１４から火花を発生させる。
【００１７】
燃焼室１０に噴射された燃料は、吸気弁８が閉じた後にスロットルバルブ５によって調量された空気と混合してガスとなり、このガスを点火プラグ１４で着火して燃焼させる。燃焼するガスは、シリンダを摺動するピストン１１を押し下げる仕事をした後、排気弁９が開いたときに排気通路２１に排出される。燃料噴射弁１２を設ける位置は燃焼室１０に限らない。吸気マニホールド４ｃ（吸気ポート）に燃料噴射弁を設けるものであってよい。
【００１８】
エンジン１には吸気弁用のカムシャフトに対する吸気弁８の作動角中心の位相を可変に調整し得る可変バルブタイミング機構１６を備える。同様に、排気弁用のカムシャフトに対する排気弁９の作動角中心の位相を可変に調整し得る可変バルブタイミング機構１７を備える。これら２つの可変バルブタイミング機構１６，１７を用い、吸排気弁８，９の開期間が重複するバルブオーバーラップを例えば低負荷域で生じさせることで、エンジンのポンピングロスが減少する。これによって、エンジンの燃費を良くすることができる。バルブオーバーラップを生じさせる運転域を予め定めており、エンジンコンローラ４１ではこの運転域になると、２つの可変バルブタイミング機構１６，１７に指令してバルブオーバーラップを生じさせる。具体的には、ＩＶＯ（吸気弁開時期）の特性及びＥＶＣ（排気弁閉時期）の特性がエンジンの負荷と回転速度Ｎｅをパラメータとするマップ上に予め定められている。エンジンコントローラ４１ではエンジンの負荷と回転速度Ｎｅから当該各マップを参照して、ＩＶＯとＥＶＣを求め、この求めたＩＶＯとＥＶＣが得られるように２つの可変バルブタイミング機構１６，１７に対して指令値を出力する。
【００１９】
排気通路２１は、各気筒の燃焼室１０からの排気が流入する排気マニホールド２１ａ、この排気マニホールド２１ａの集合部に接続される排気管２１ｂで構成される。排気中にはＨＣ、ＣＯ、ＮＯｘの有害三成分を含むので、これらを全て浄化するため排気マニホールド２１ａの集合部にマニホールド触媒２５を、それよりも下流の排気管２１ｂにメイン触媒２６を備えている。メイン触媒２６は例えば車両の床下に設けられる。これら各触媒２５，２６は例えば三元触媒で構成される。排気管２１ｂの末端にはマフラー２７を備えている。メイン触媒２６の活性化後になると、エンジンコンローラ４１では、空燃比フィードバック制御を開始する。空燃比フィードバック制御では、空燃比センサ４６及びＯ2センサ４７からの信号に基づいてメイン触媒２５の酸素ストレージ量が目標値となるように空燃比フィードバック補正係数α［無名数］を算出する。
【００２０】
図２は外気の重量絶対湿度Ｈ［ｇ／ｋｇ］に対するトレース点火時期［ｄｅｇＣＡ（ＢＴＤＣ）］の一般的な特性図である。ここでは、ノッキングが生じる運転域（例えば高負荷低回転速度域）を扱うため、トレースノック点、ノック点、サージ点の点火時期の各特性を重ねて示している。
【００２１】
ノッキングは、点火の前に燃焼が始まる、正常燃焼でない燃焼状態のことである。ノッキングが生じるようになるとエンジン１にダメージが生じるので、例えば所定の重量絶対湿度の条件でノッキングレベルがこれ以上大きくなってはいけないノッキングレベルの限界値を定めている。この限界値にノッキングレベルが一致するときが、所定の重量絶対湿度の条件での「ノック点」である。
【００２２】
ノッキングが生じる運転域（エンジンの負荷と回転速度から定まる）かつ所定の重量絶対湿度の条件では、ノッキングが全く生じないほうが良いわけでなく、少しだけノッキングが生じるときにエンジン１のトルクが最も出ることが知られている。このときのノックレベル状態が所定の重量絶対湿度の条件での「トレースノック点」で、上記の「ノック点」よりも遅角側に存在する。従って、ノッキングが生じる運転域では、所定の重量絶対湿度の条件のとき、このトレースノック点となる点火時期（この点火時期を、以下「トレース点火時期」という。）でエンジン１を運転することとなる。
【００２３】
一方、ノッキングが生じる運転域かつ所定の重量絶対湿度の条件で、トレース点火時期よりも点火時期を遅角させていくと、燃焼室１０内での燃焼速度が低下して燃焼が不安定になり、平均有効圧がばらつくようになる。このため、所定の重量絶対湿度の条件で燃焼安定度がこれ以上悪化しないように燃焼安定度の限界値を予め定めている。この限界値に燃焼安定度が一致するときが所定の重量絶対湿度の条件での「サージ点」である。
【００２４】
上記ノック点の点火時期、トレース点火時期、上記サージ点の点火時期は、図２に示したように、外気の重量絶対湿度Ｈに比例して進角する特性である。かつ、外気の重量絶対湿度Ｈが相違しても、トレース点火時期とノック点の点火時期と間の間隔、トレース点火時期とサージ点の点火時期との間の間隔は同じになっている。言い換えると、ノック点の点火時期、トレース点火時期、サージ点の点火時期の各特性を表す３つの直線の傾きは同じである。ここで、図２横軸の重量絶対湿度Ｈは、基本的には乾燥空気１ｋｇ当たりに水分量が何ｇ入っているかという指標である。重量絶対湿度Ｈは「混合比」とも呼ばれる。重量絶対湿度と相対湿度との間には関係があるため、外気の相対湿度と外気の温度から外気の重量絶対湿度を算出することができる。
【００２５】
ノック点の点火時期が外気の重量絶対湿度Ｈに比例して進角する理由は次の通りである。すなわち、燃焼室１０内ガスの温度によってノッキングの発生のしやすさが変わってくる。外気の重量絶対湿度Ｈ、つまり燃焼室１０内ガスの水蒸気量が多いと、燃焼室１０内ガスの水蒸気が燃焼ガスの熱を吸い取ってくれるので、燃焼室１０内での燃焼速度が低下する。燃焼室１０内ガスの水蒸気量が多いほどノッキングが生じにくくなるので、その分、ノック点の点火時期が進角するためである。この結果、ノック点の点火時期から所定値だけ遅角側に設けられるトレースノック点火時期も、外気の重量絶対湿度Ｈに比例して進角する。
【００２６】
サージ点の点火時期が外気の重量絶対湿度Ｈに比例して進角する理由は次の通りである。すなわち、燃焼室１０内での燃焼が不安定な状態で燃焼室１０内ガスの水蒸気量が多いと、その分さらに燃焼室１０内での燃焼が不安定になってゆく。これによって、燃焼室１０内ガスの水蒸気量が大きいほどサージ点の点火時期が進角するためである。
【００２７】
実際にはＶ６エンジン、４気筒エンジン、Ｖ８エンジンなどエンジンの機種が異なれば、図２に示した点火時期の特性が異なってくる。しかしながら、エンジン機種が異なっても、点火時期を進角していくとノッキングレベルの上昇によってこれ以上進角できない領域が、この逆に点火時期を遅角していくと燃焼不安定によってこれ以上遅角できない領域がそれぞれ存在する。このため、ノッキングを回避し、かつ燃焼が不安定にならないようにするには、ノック点の点火時期とサージ点の点火時期とで区切られた領域にしか点火時期を設定できないこととなる。言い換えると、ノック点の点火時期とサージ点の点火時期はトレース点火時期に対するリミッタ（制限値）として機能する。
【００２８】
このように、トレース点火時期が外気の重量絶対湿度Ｈに応じて変化するのであれば、外気の実際の重量絶対湿度Ｈを検出し、検出した重量絶対湿度Ｈに基づいて、トレースノック点火時期を設定する必要がある。このため、本実施形態では、次のように、外気の重量絶対湿度Ｈに応じたトレース点火時期（ＡＤＶｔｒ＋Ｂｒ）が得られるようにしている。すなわち、後述するように、相対湿度センサ５１により検出される外気の相対湿度と、そのときの外気の温度から外気の重量絶対湿度Ｈを算出する。この外気の重量絶対湿度Ｈから点火時期の定常湿度補正量Ｂｒ［ｄｅｇＣＡ］を算出し、この定常湿度補正量Ｂｒで基本トレース点火時期ＡＤＶｔｒ０［ｄｅｇＣＡ］を補正することで、外気の重量絶対湿度Ｈに応じたトレース点火時期（ＡＤＶｔｒ＋Ｂｒ）を得る。基本トレース点火時期ＡＤＶｔｒ０［ｄｅｇＣＡ］は外気の重量絶対湿度が所定値Ｈ１のときに適合しているので、外気の重量絶対湿度が所定値Ｈ１を外れたときには、その外れた分だけ、基本トレース点火時期ＡＤＶｔｒ０が適切な値とならない。この場合に、基本トレース点火時期ＡＤＶｔｒ０を定常湿度補正量Ｂｒで補正した値であれば、外気の重量絶対湿度が所定値Ｈ１を外れたときでも、トレース点火時期として適切な値を与えることができる。
【００２９】
この場合に、外気の重量絶対湿度を直接検出する絶対湿度センサは、現在市販されていないが、外気の相対湿度［％］を検出する相対湿度センサは公知である。例えば、静電容量型の相対湿度センサがある。
【００３０】
この静電容量型の相対湿度センサについてその概略を説明する。例えば、アルミベースの表面に酸化アルミやポリマーなどの多孔質層（不導体）を形成し、その多孔質層の上に櫛状の透湿性金属極を設けている。計測する大気中の水蒸気は、透湿性金属極を透過して多孔質層の孔に吸着される。計測する大気中の水蒸気量が多いほど、透湿性金属極を透過して多孔質層の孔に吸着される水分量が増す。この多孔質層に吸着される水分量に応じて多孔質層の誘電率（静電容量）が変化し、多孔質層の静電容量に応じた電圧が透湿性金属極とアルミベースの間に生じる。大気中の相対湿度が高いほど透湿性金属極とアルミベースの間の電圧が大きくなるので、透湿性金属極とアルミベースの間の電圧を計測することで、計測する大気中の相対湿度を検出することができる。
【００３１】
上記大気中の相対湿度［％］は、そのときの大気の温度が分かっていれば、所定の計算式を用いることで、大気の重量絶対湿度［ｇ／ｋｇ］に変換することができる。このため、図１に示したように、エアフローメータ４２の近傍に相対湿度センサ５１を設けておく。なお、エアフローメータ４２には、もともと大気（外気）の温度を検出する温度センサ５２が付属している。このようにして、相対湿度センサ５１により検出される外気の相対湿度と温度センサ５２により検出される外気の温度に基づいて外気の重量絶対湿度を算出することができる。
【００３２】
しかしながら、相対湿度センサ５１のセンサ出力には外気の湿度が過渡的に変化する場合に応答遅れがある。例えば、図３上段に実線で示したように外気の相対湿度を２０％から４０％へとステップ変化させたとき、センサ出力はこのステップ変化に対して、図３上段に一点鎖線で示したようにほぼ一次遅れで応答する。このセンサ出力（相対湿度）から算出される重量絶対湿度の変化を図３上段に対応させて図３下段に一点鎖線で示す。ここで、所定値Ｃ１を外気の相対湿度が２０％に相当する外気の重量絶対湿度、所定値Ｃ２を外気の相対湿度が４０％に相当する外気の重量絶対湿度であるとする。図３下段に実線で示したように、外気の重量絶対湿度が所定値Ｃ１から所定値Ｃ２へとステップ変化するとき、センサ出力から算出される重量絶対湿度は、図３下段に一点鎖線で示したようにほぼ一次後れで応答するのである。
【００３３】
外気の相対湿度が過渡的に変化する場合に相対湿度センサ５１のセンサ出力に応答遅れが生じる理由は次の通りである。すなわち、相対湿度センサ５１では、基本的には多孔質層への水分量を検出している。この場合、外気の相対湿度が２０％の状態にある多孔質層に水分が入って４０％の状態になるまでにはガス交換が必要であり、ガス交換が終了するまでに時間がかかるためである。
【００３４】
このように相対湿度センサ５１のセンサ出力に過渡的な応答遅れがあると、外気の重量絶対湿度がステップ的に増加する場合に、センサ出力に基づいて算出されるトレース点火時期がサージ点の点火時期を外れて遅角されることがある。以下、センサ出力に基づいて算出されるトレース点火時期を「実際のトレース点火時期」ともいう。上記の定常湿度補正量Ｂｒを相対湿度センサ５１に基づいて算出するので、定常湿度補正量に応答遅れが生じる。従って、定常湿度補正量Ｂｒで基本トレース点火時期ＡＤＶｔｒ０を補正した値が実際のトレース点火時期に相当することとなる。センサ出力に基づいて算出されるトレース点火時期がサージ点の点火時期を外れて遅角されると燃焼室１０での燃焼が不安定となってエンジン回転速度が不安定となる。
【００３５】
一方、外気の重量絶対湿度がステップ的に減少する場合に、センサ出力に基づいて算出されるトレース点火時期がノック点の点火時期を外れて進角されることがある。センサ出力に基づいて算出されるトレース点火時期がノック点の点火時期を外れて進角されると、ノッキングが生じる。
【００３６】
これについてさらに説明する。図４は外気の相対湿度が２０％から８０％へとステップ変化する場合、図５は外気の相対湿度が２０％から４０％へとステップ変化する場合に、実際のトレース点火時期がどのように変化するのかをモデルで示している。また、図６は外気の相対湿度が８０％から２０％へとステップ変化する場合、図７は外気の相対湿度が４０％から２０％へとステップ変化する場合に、実際のトレース点火時期がどのように変化するのかをモデルで示している。この場合、相対湿度センサ５１により検出される相対湿度を、外気の温度を用いて外気の重量絶対湿度Ｈを算出する。この算出した重量絶対湿度Ｈから定常湿度補正量Ｂｒを算出し、この定常湿度補正量Ｂｒで基本トレース点火時期ＡＤＶｔｒ０を補正して実際のトレース点火時期（ＡＤＶｔｒ０＋Ｂｒ）を算出している。
【００３７】
図４に示したように、外気の重量絶対湿度Ｈの変化前後でノック点の点火時期（長破線参照）とサージ点の点火時期（短破線参照）がステップ的に変化する。相対湿度センサ５１のセンサ出力に遅れがないとしたときのトレース点火時期（以下「要求トレース点火時期」という。）は進角側リミッタとしてのノック点の点火時期と、遅角側リミッタとしてのサージ点の点火時期の間に存在する。そして、要求トレース点火時期は、実線で示したように、ノック点の点火時期とサージ点の点火時期の間でステップ的に変化する。一方、相対湿度センサ５１のセンサ出力に応答遅れがあるため、センサ出力に基づいて算出されるトレース点火時期は、ステップ変化する要求トレース点火時期に対して、一点鎖線で示したように一次遅れで変化する。なお、図４では、センサ出力に基づいて算出されるトレース点火時期を「実際のトレース点火時期（本実施形態の過渡分湿度補正無し）」で記載している。すると、ｔ１からｔ２まの期間でセンサ出力に基づいて算出されるトレース点火時期がサージ点の点火時期より外れて遅角され、燃焼室１０での燃焼が不安定となってしまう。
【００３８】
上記図４は外気の相対湿度が相対的に大きく増加する場合であった。一方、図５は外気の相対湿度の増加変化が上記図４の場合より小さい場合である。外気の相対湿度が２０％から４０％へとステップ変化する場合には、センサ出力に基づいて算出されるトレース点火時期が図５に一点鎖線で示したようにサージ点の点火時期よりも進角側に収まっている。なお、図５でも、センサ出力に基づいて算出されるトレース点火時期を「実際のトレース点火時期（本実施形態の過渡分湿度補正無し）」で記載している。このため、燃焼室１０内での燃焼の不安定は生じない。
【００３９】
このように、上記図４，図５によれば、外気の相対湿度が過渡的に増加する場合には、相対的に大きく変化するときにだけ、センサ出力に基づいて算出されるトレース点火時期がサージ点の点火時期より外れて遅角されてしまうのである。
【００４０】
次に、図６に示したように、外気の重量絶対湿度の変化前後でノック点の点火時期（長破線参照）とサージ点の点火時期（短破線参照）がステップ的に変化する。要求トレース点火時期は進角側リミッタとしてのノック点の点火時期と、遅角側リミッタとしてのサージ点の点火時期の間に存在する。そして、要求トレース点火時期は、実線で示したように、ノック点の点火時期とサージ点の点火時期の間でステップ的に変化する。一方、相対湿度センサ５１のセンサ出力に応答遅れがあるため、センサ出力に基づいて算出されるトレース点火時期は、ステップ変化する要求トレース点火時期に対して、一点鎖線のように一次遅れで変化する。なお、図６でも、センサ出力に基づいて算出されるトレース点火時期を「実際のトレース点火時期（本実施形態の過渡分湿度補正無し）」で記載している。すると、ｔ２１からｔ２２の期間でセンサ出力に基づいて算出されるトレース点火時期がノック点の点火時期より外れて進角され、ノッキングが生じてしまう。
【００４１】
上記図６は外気の相対湿度が相対的に大きく減少する場合であった。一方、図７は外気の相対湿度の減少変化が上記図６の場合より小さい場合である。外気の相対湿度が４０％から２０％へとステップ変化する場合にも、ｔ３１からｔ３２の期間でセンサ出力に基づいて算出されるトレース点火時期が図７に示したように、ノック点の点火時期より外れて進角される。なお、図７でも、センサ出力に基づいて算出されるトレース点火時期を「実際のトレース点火時期（本実施形態の過渡分湿度補正無し）」で記載している。これによって、ノッキングが生じてしまう。
【００４２】
このように、上記図６，図７によれば、外気の相対湿度が過渡的に減少する場合には、相対的に大きく変化するときに加えて相対的に小さく変化するときにも、センサ出力に基づいて算出されるトレース点火時期がノック点の点火時期より外れて進角されてしまう。なお、上記図４〜図７では、簡易的に外気の相対湿度の変化で記載しているが、実際には外気の重量絶対湿度の変化で考える必要がある。
【００４３】
そこで、本発明の第１実施形態では、外気の重量絶対湿度Ｈが過渡的に変化する場合に、外気の重量絶対湿度Ｈが変化する方向を判定する。同じく外気の重量絶対湿度Ｈが過渡的に変化する場合に、外気の重量絶対湿度Ｈの単位時間当たり変化量ΔＨを算出する。これら重量絶対湿度が変化する方向及び単位時間当たり変化量ΔＨに応じて、点火時期の過渡分湿度補正量Ａｒを算出する。この過渡分湿度補正量Ａｒで上記センサ出力に基づいて算出されるトレース点火時期（ＡＤＶｔｒ０＋Ｂｒ）を補正して目標トレース点火時期ｔＡＤＶｔｒ（＝ＡＤＶｔｒ０＋Ｂｒ＋Ａｒ）を算出する。そして、この目標トレース点火時期ｔＡＤＶｔｒを点火装置１３に指令する。
【００４４】
以下詳述する。上記「外気の重量絶対湿度Ｈが変化する方向」とは、外気の重量絶対湿度Ｈが過渡的に増加する場合と外気の重量絶対湿度Ｈが過渡的に減少する場合とを含めた概念である。つまり、外気の重量絶対湿度Ｈが増加する側に変化する方向の場合が、外気の重量絶対湿度Ｈが過渡的に増加する場合であり、外気の重量絶対湿度Ｈが減少する側に変化する方向の場合が、外気の重量絶対湿度Ｈが過渡的に減少する場合である。
【００４５】
外気の重量絶対湿度Ｈが過渡的に変化する場合の具体例としては、例えば上記エンジン１を搭載した車両がトンネルに入ったり出たりする場合がある。トンネルの中は、基本的にはトンネルの外よりも高温多湿の状態となっている。これは、車両の通行がある時間、継続して行われた後には車両から排出された高温の排気でトンネルの内部が一杯になり、トンネル内を漂う排気中には水分が多く含まれるためである。そして、トンネルの外部の外気が乾燥していたりトンネルの外部が砂漠地帯であったりすれば、車両がトンネルに入る場合に外気の重量絶対湿度Ｈが過渡的に増加し、車両がトンネルから出る場合に外気の重量絶対湿度Ｈが過渡的に減少する。一方、上記エンジン１を搭載した車両を洗車機に入れたり出したりする場合や、当該車両を高温多湿のガレージから出したり入れたりする場合などにも、外気の重量絶対湿度Ｈが過渡的に変化する可能性がある。
【００４６】
外気の重量絶対湿度Ｈが過渡的に変化する場合に、相対湿度センサ５１のセンサ出力自体の動きは遅いものの、動き始めることに変わりない。このため、外気の重量絶対湿度が増加側に変化した場合にはセンサ出力が増加側に動き、外気の重量絶対湿度が減少側に変化した場合にはセンサ出力が減少側に動く。かつ、重量絶対湿度変化の行き先が大きければ大きいほど外気の重量絶対湿度の単位時間当たり変化量ΔＨの絶対値が大きくなるので、重量絶対湿度変化の行き先が相対的に低い値なのか相対的に高い値なのかは、外気の重量絶対湿度の単位時間当たり変化量ΔＨの絶対値で推定できる。
【００４７】
図８は外気の重量絶対湿度の単位時間当たり変化量ΔＨ［ｇ／ｋｇ／ｓ］に対する点火時期の過渡分湿度補正量Ａｒ［ｄｅｇＣＡ］の特性図である。横軸に外気の重量絶対湿度の単位時間当たり変化量ΔＨ、縦軸に点火時期の過渡分湿度補正量Ａｒを採っている。ここで、横軸の単位時間当たり変化量ΔＨについては、外気の重量絶対湿度が過渡的に増加する場合に単位時間当たり変化量ΔＨが正の値に、外気の重量絶対湿度が過渡的に減少する場合に単位時間当たり変化量ΔＨが負の値になる。一方、縦軸の過渡分湿度補正量Ａｒについては、過渡分湿度補正量Ａｒが正の値のとき進角補正量であることを、過渡分湿度補正量Ａｒが負の値のとき遅角補正量であることを表している。なお、過渡分湿度補正量Ａｒが負の値であっても、遅角補正量そのものは正の値で考えるものとする。
【００４８】
まず、単位時間当たり変化量ΔＨが正の場合（外気の重量絶対湿度Ｈが過渡的に増加する場合）には過渡分湿度補正量Ａｒを正の値（進角補正量）で与える。これは次の理由による。すなわち、上記図４に示したように外気の重量絶対湿度Ｈが過渡的に増加する場合にセンサ出力に基づいて算出されるトレース点火時期がサージ点の点火時期を外れて遅角側となった（図４の一点鎖線参照）。この場合に本実施形態では過渡分湿度補正量Ａｒを進角補正量で与えることで、センサ出力に基づいて算出されるトレース点火時期がサージ点の点火時期を外れて遅角側とならないようにするためである。図４では本実施形態の場合を「実際のトレース点火時期（本実施形態の過渡分湿度補正有り）」で重ねて記載している（図４の二点鎖線参照）。
【００４９】
上記図５の場合にも、上記図４の場合と同様に、本実施形態では過渡分湿度補正量Ａｒを進角補正量で与える。図５でも本実施形態の場合を「実際のトレース点火時期（本実施形態の過渡分湿度補正有り）」で重ねて記載している（図５の二点鎖線参照）。
【００５０】
一方、単位時間当たり変化量ΔＨが負の場合（外気の重量絶対湿度が過渡的に減少する場合）には過渡分湿度補正量Ａｒを負の値（遅角補正量）で与える。これは次の理由による。すなわち、上記図６に示したように外気の重量絶対湿度が過渡的に減少する場合にセンサ出力に基づいて算出されるトレース点火時期がノック点の点火時期を外れて進角側となった（図６の一点鎖線参照）。この場合に本実施形態では過渡分湿度補正量Ａｒを遅角補正量で与えることで、センサ出力に基づいて算出されるトレース点火時期がノック点の点火時期を外れて進角側とならないようにするためである。図６でも本実施形態の場合を「実際のトレース点火時期（本実施形態の過渡分湿度補正有り）」で重ねて記載している（図６の二点鎖線参照）。
【００５１】
上記図７の場合にも、上記図６の場合と同様に、本実施形態では過渡分湿度補正量Ａｒを遅角補正量で与える。図７でも本実施形態の場合を「実際のトレース点火時期（本実施形態の過渡分湿度補正有り）」で重ねて記載している（図７の二点鎖線参照）。
【００５２】
次に、外気の重量絶対湿度Ｈが過渡的に増加する場合に与える進角補正量を、外気の重量絶対湿度の単位時間当たり変化量ΔＨに比例させて定める。この結果、外気の重量絶対湿度Ｈが過渡的に増加する場合に与える進角補正量は、図８右半分に示したように、ΔＨが大きくなるとき右肩上がりの直線の特性となる。
【００５３】
一方、外気の重量絶対湿度Ｈが過渡的に減少する場合に与える遅角補正量を、外気の重量絶対湿度の単位時間当たり変化量ΔＨの絶対値に比例させて定める。この結果、外気の重量絶対湿度Ｈが過渡的に減少する場合に与える遅角補正量は、図８左半分に示したように、ΔＨが負で大きくなるとき左肩下がりの直線の特性となる。
【００５４】
さらに、図８に示したように、外気の重量絶対湿度Ｈが過渡的に増加する場合に与える進角補正量の直線の傾きの大きさ（Ｄ１）と、外気の重量絶対湿度Ｈが過渡的に減少する場合に与える遅角補正量の直線の傾きの大きさ（｜Ｄ２｜）を相違させる。つまり、同じ単位時間当たり変化量ΔＨでも、外気の重量絶対湿度Ｈが過渡的に減少する場合に与える遅角補正量のほうが外気の重量絶対湿度Ｈが過渡的に増加する場合に与える進角補正量より大きくなるようにする。
【００５５】
この理由を、図９を参照して説明する。図９は外気の重量絶対湿度Ｈが過渡的に変化する場合にノック点、サージ点の各点火時期、要求トレース点火時期、センサ出力に基づいて算出されるトレース点火時期がどのように変化するのかをモデルで示している。なお、図９では、センサ出力に基づいて算出されるトレース点火時期を「実際のトレース点火時期」で記載している（図９の一点鎖線参照）。図９上段は外気の重量絶対湿度Ｈが過渡的に増加する場合（以下「湿度増加側」ともいう。）、図９下段は外気の重量絶対湿度Ｈが過渡的に減少する場合（以下「湿度減少側」ともいう。）である。
【００５６】
ここで、湿度増加側と湿度減少側とで単位時間当たり変化量ΔＨは絶対値で同じ値とする。この場合には、湿度増加側と湿度減少側とでセンサ出力に基づいて算出されるトレース点火時期の単位時間当たり変化量が絶対値で同じになる。このセンサ出力に基づいて算出されるトレース点火時期の単位時間当たり変化量の絶対値を所定値Ａとする。
【００５７】
湿度増加側では、図９上段に示したように、ｔ４１の過渡変化タイミングより単位時間が経過したタイミングでの、センサ出力に基づいて算出されるトレース点火時期はＣ点にある。Ｃ点は、サージ点の点火時期を外れて遅角側にある。このとき進角補正量として所定値Ｂを与えることで、進角補正後の、センサ出力に基づいて算出されるトレース点火時期はＤ点に移動する。これによって、遅角補正後の、センサ出力に基づいて算出されるトレース点火時期はサージ点の点火時期と一致している（図９上段の一点鎖線参照）。これより燃焼室１０内での燃焼の不安定は生じない。
【００５８】
一方、湿度減少側では、図９下段に示したように、ｔ４１の過渡変化タイミングより単位時間が経過したタイミングでの、センサ出力に基づいて算出されるトレース点火時期はＥ点にある。Ｅ点は、ノック点の点火時期を外れて進角側にある。このとき遅角補正量として上記進角補正量Ｂの絶対値と同じ値（｜Ｂ｜）を与えても、遅角補正後の、センサ出力に基づいて算出されるトレース点火時期はＦ点に移動するだけである。Ｆ点は、なおノック点の点火時期より進角側にある。これによってノッキングが生じる。
【００５９】
このように、絶対量が同じ値の過渡分湿度補正量Ａｒを与えたとき、湿度増加側と湿度減少側とで違いが生じるのは、要求トレース点火時期とノック点の点火時期との間の幅（余裕代）のほうが要求トレース点火時期とサージ点の点火時期との間の幅（余裕代）よりせまいためである。そこで、湿度減少側では湿度増加側より過渡分湿度補正量Ａｒの絶対値を増やす、つまり外気の重量絶対湿度Ｈが過渡的に減少する場合に与える遅角補正量を外気の重量絶対湿度Ｈが過渡的に増加する場合に与える進角補正量より大きくする。これによって、湿度減少側で生じるノッキングを確実に回避するのである。
【００６０】
上記の過渡分湿度補正量Ａｒを、上記センサ出力に基づいて算出されるトレース点火時期（ＡＤＶｔｒ０＋Ｂｒ）に加算することによって目標トレース点火時期ｔＡＤＶｔｒ［ｄｅｇＣＡ（ＢＴＤＣ）］を、つまり次式により目標トレース点火時期ｔＡＤＶｔｒを算出する。
【００６１】
ｔＡＤＶｔｒ＝ＡＤＶｔｒ０＋Ｂｒ＋Ａｒ                  …（１）
本実施形態では、（１）式の過渡分湿度補正量Ａｒを新たに導入することで、外気の重量絶対湿度が過渡的に減少する場合に、相対湿度センサに応答遅れがあっても、ノッキングが生じることを回避するのである。また、外気の重量絶対湿度が過渡的に増加する場合に、相対湿度センサに応答遅れがあっても、燃焼室１０内で燃焼が不安定となることを回避するのである。このように、（１）式の過渡湿度分補正量Ａｒを新たに導入することで、本実施形態では、図４〜図７に示したように、本実施形態では実際のトレース点火時期（図４〜図７の二点鎖線参照）が実線の要求トレース点火時期とよく一致している。
【００６２】
エンジンコントローラ４１で行われるこの点火時期制御を図１０Ａ，図１０Ｂ，図１３のフローチャートを参照してさらに説明する。
【００６３】
まず、図１０Ａ，図１０Ｂのフローは目標トレース点火時期ｔＡＤＶｔｒ［ｄｅｇＣＡ（ＢＴＤＣ）］を算出するためのもので、所定のクランク角位置になるタイミング毎に実行する。この算出タイミングとして、例えば点火時期よりも進角側のクランク角位置を予め定めておく。
【００６４】
図１０Ａのステップ１ではエンジンの負荷と回転速度Ｎｅから図１１を内容とするマップを検索することにより、基本トレース点火時期ＡＤＶｔｒ０［ｄｅｇＣＡ（ＢＴＤＣ）］を算出する。基本トレース点火時期ＡＤＶｔｒ０は、外気の重量絶対湿度Ｈが所定値Ｈ１の条件で、エンジンの負荷と回転速度Ｎｅを相違させて適合したトレース点火時期である。
【００６５】
図１０Ａのステップ２では、相対湿度センサ５１により検出される外気の相対湿度と温度センサ５２により検出される外気の温度から外気の重量絶対湿度Ｈ［ｇ／ｋｇ］を算出する。
【００６６】
図１０Ａのステップ３では、この外気の重量絶対湿度Ｈから図１２を内容とするテーブルを検索することにより、点火時期の定常湿度分補正量Ｂｒ［ｄｅｇＣＡ］を算出する。図１２に示したように、点火時期の定常湿度分補正量Ｂｒは外気の重量絶対湿度Ｈが所定値Ｈ１のときゼロである。また、定常湿度分補正量Ｂｒは重量絶対湿度Ｈが所定値Ｈ１より大きくなるほど正の値で大きくなる値である。一方、定常湿度分補正量Ｂｒは重量絶対湿度Ｈが所定値Ｈ１より小さくなるほど負の値で大きくなる値である。
【００６７】
定常湿度分補正量Ｂｒが必要になる理由は次の通りである。すなわち、上記の基本トレース点火時期ＡＤＶｔｒ０は、外気の重量絶対湿度Ｈが所定値Ｈ１から外れた場合に、適切な値とならない。例えば、外気の重量絶対湿度Ｈが所定値Ｈ１から外れて小さい場合には、所定値Ｈ１との差の分だけ燃焼室１０内の水分量が少なくなるので、ノッキングが発生し易くなる。つまり、ノッキングが発生し易くなる分だけ基本トレース点火時期を遅角側に補正するため、定常湿度分補正量Ｂｒを負の値（遅角量）で与えるのである。一方、外気の重量絶対湿度Ｈが所定値Ｈ１から外れて大きい場合には、所定値Ｈ１との差の分だけ燃焼室１０内の水分量が多くなるので、ノッキングの発生が抑えられる。つまり、ノッキングの発生が抑えられる分だけ基本トレース点火時期を進角側に補正するため、定常湿度分補正量Ｂｒを正の値（進角量）で与えるのである。
【００６８】
図１０Ａのステップ４〜図１０Ｂのステップ２４は点火時期の過渡分湿度補正量Ａｒ［ｄｅｇＣＡ］を算出する部分である。まず図１０Ａのステップ４では、外気の重量絶対湿度の単位時間当たり変化量ΔＨ［ｇ／ｋｇ／ｓ］を次の式により算出する。
【００６９】
ΔＨ＝Ｈ−Ｈ（前回）                                    …（２）
ただし、Ｈ（前回）：Ｈの前回値、
単位時間当たり変化量ΔＨは、外気の重量絶対湿度Ｈが過渡的に増加する場合に正の値となり、外気の重量絶対湿度Ｈが過渡的に減少する場合に負の値となる。
【００７０】
詳細には、図１０Ａのステップ４を一定時間毎に実行するサブルーチンで構成する。当該サブルーチンを、例えば１秒毎に実行させるものとし、１秒前の外気の重量絶対湿度の値を「Ｈ（前回）」としてメモリに保存させておく。そして、保存させてある１秒前の外気の重量絶対湿度である「Ｈ（前回）」の値と今回の外気の重量絶対湿度Ｈの値との差を単位時間当たり変化量ΔＨとして算出する。このサブルーチンは単位時間を１秒とするものであるが、単位時間は必ずしも１秒に限られるものでなく、１秒以外の時間であってよい。
【００７１】
図１０Ｂのステップ５では単位時間当たり変化量ΔＨとゼロを比較する。単位時間当たり変化量ΔＨがゼロであるときには外気の重量絶対湿度Ｈが過渡的に変化する場合でない、つまり定常状態にあると判断する。あるいはΔＨと許容値ε（正の値）とを比較させ、−ε≦ΔＨ≦εである場合に定常状態にあると判断させる場合であってよい。定常状態にある場合には図１０Ｂのステップ６に進み、基本トレース点火時期ＡＤＶｔｒ０に定常湿度補正量Ｂｒを加算することによって目標トレース点火時期ｔＡＤＶｔｒ［ｄｅｇＣＡ（ＢＴＤＣ）］を、つまり次式により目標トレース点火時期ｔＡＤＶｔｒを算出する。
【００７２】
ｔＡＤＶｔｒ＝ＡＤＶｔｒ０＋Ｂｒ                        …（３）
一方、図１０Ｂのステップ５で単位時間当たり変化量ΔＨがゼロでないときには外気の重量絶対湿度Ｈが過渡的に変化する場合であると判断する。あるいはΔＨ＞εである場合やΔｈ＜−εである場合に外気の重量絶対湿度Ｈが過渡的に変化する場合であると判断する。このときには図１０Ｂのステップ７に進み、過渡フラグ（エンジン始動時にゼロに初期設定）をみる。ここでは過渡フラグ＝０であるとしてステップ８に進む。
【００７３】
図１０Ｂのステップ８では、単位時間当たり変化量ΔＨが正であるか否かをみる。単位時間当たり変化量ΔＨが正であるときには、外気の重量絶対湿度Ｈが過渡的に増加する場合であると判断する。このときには、図１０Ｂのステップ９，１０に進む。
【００７４】
図１０Ｂのステップ９，１０は、外気の重量絶対湿度Ｈが過渡的に増加する場合に過渡分湿度補正量Ａｒの初期値を与える部分である。まず図１０Ｂのステップ９では、単位時間当たり変化量ΔＨから図１３を内容とするテーブルを検索することにより、進角補正量Ｈａｄｖ［ｄｅｇＣＡ］を算出し、これを過渡分湿度補正量Ａｒ［ｄｅｇＣＡ］に入れる。図１３は上記図８右半分と同じものである。
【００７５】
図１０Ｂのステップ１１では、外気の重量絶対湿度Ｈが過渡的に増加することを示すため増加フラグ（エンジン始動時にゼロに初期設定）＝１とする。図１０Ｂのステップ１２では、外気の重量絶対湿度Ｈが過渡的に変化したことを示すため、過渡フラグ（エンジン始動時にゼロに初期設定）＝１とした後、図１０Ｂのステップ２５に進む。
【００７６】
図１０Ｂのステップ１２で過渡フラグ＝１としたことより、次回以降は図１０Ｂのステップ７より図１０Ｂのステップ１６に進む。図１０Ｂのステップ１６では、増加フラグをみる。増加フラグ＝１であるので、図１０Ｂのステップ１７〜１９に進む。
【００７７】
図１０Ｂのステップ１７〜１９は過渡分湿度補正量を上記初期値から漸減する部分である。まず図１０Ｂのステップ１７では、過渡分湿度補正量の前回値である「Ａｒ（前回）」より一定値Ｊを減算した値を今回の過渡分湿度補正量Ａｒ［ｄｅｇＣＡ］として、つまり次式により今回の過渡分湿度補正量Ａｒを算出する。
【００７８】
Ａｒ＝Ａｒ（前回）−Ｊ                                  …（４）
ただし、Ａｒ（前回）：Ａｒの前回値、
Ｊ：一定値（正の値）［ｄｅｇＣＡ］、
図１０Ｂのステップ１８では、上記（４）式により得た今回の過渡分湿度補正量Ａｒとゼロを比較する。今回の過渡分湿度補正量Ａｒがゼロ以上であればそのまま図１０Ｂのステップ２５に進む。
【００７９】
過渡フラグ＝１かつ増加フラグ＝１である限り図１０Ｂのステップ７，１６より図１０Ｂのステップ１７に進んで、図１０Ｂのステップ１７の操作を繰り返す。図１０Ｂのステップ１７では過渡分湿度補正量Ａｒを一定値Ｊずつ減量するので、やがて過渡分湿度補正量Ａｒが負の値となる。このときには図１０Ｂのステップ１９に進んで過渡分湿度補正量Ａｒにゼロを入れる。これで過渡分湿度補正を終了するので、図１０Ｂのステップ２０で過渡フラグ＝０にリセットした後、図１０Ｂのステップ２５に進む。
【００８０】
一方、図１０Ｂのステップ８で単位時間当たり変化量ΔＨが正でない、つまり負であるときには、外気の重量絶対湿度Ｈが過渡的に減少する場合であると判断する。このときには、図１０Ｂのステップ１３，１４に進む。
【００８１】
図１０Ｂのステップ１３，１４は、外気の重量絶対湿度Ｈが過渡的に減少する場合に過渡分湿度補正量Ａｒの初期値を与える部分である。まず図１０Ｂのステップ１３では、単位時間当たり変化量の絶対値｜ΔＨ｜から図１４を内容とするテーブルを検索することにより、遅角補正量Ｈｒｔｄ［ｄｅｇＣＡ］を算出し、これを過渡分湿度補正量Ａｒ［ｄｅｇＣＡ］に入れる。図１４は上記図８左半分と同じものである。
【００８２】
図１０Ｂのステップ１５では、外気の重量絶対湿度Ｈが過渡的に減少することを示すため増加フラグ（エンジン始動時にゼロに初期設定）＝０とする。図１０Ｂのステップ１２では、外気の重量絶対湿度Ｈが過渡的に変化したことを示すため、過渡フラグ（エンジン始動時にゼロに初期設定）＝１とした後、図１０Ｂのステップ２５に進む。
【００８３】
図１０Ｂのステップ１２で過渡フラグ＝１としたことより、次回以降は図１０Ｂのステップ７より図１０Ｂのステップ１６に進む。図１０Ｂのステップ１６では、増加フラグをみる。増加フラグ＝０であるので、図１０Ｂのステップ２１〜２３に進む。
【００８４】
図１０Ｂのステップ２１〜２３は過渡分湿度補正量を上記初期値から漸増する部分である。まず図１０Ｂのステップ２１では、過渡分湿度補正量の前回値である「Ａｒ（前回）」に一定値Ｋを加算した値を今回の過渡分湿度補正量Ａｒ［ｄｅｇＣＡ］として、つまり次式により今回の過渡分湿度補正量Ａｒを算出する。
【００８５】
Ａｒ＝Ａｒ（前回）＋Ｋ                                  …（５）
ただし、Ａｒ（前回）：Ａｒの前回値、
Ｋ：一定値（正の値）［ｄｅｇＣＡ］、
図１０Ｂのステップ２２では、上記（５）式により得た今回の過渡分湿度補正量Ａｒとゼロを比較する。今回の過渡分湿度補正量Ａｒがゼロ以下であればそのまま図１０Ｂのステップ２５に進む。
【００８６】
過渡フラグ＝１かつ増加フラグ＝０である限り図１０Ｂのステップ７，１６より図１０Ｂのステップ２１に進んで、図１０Ｂのステップ２１の操作を繰り返す。図１０Ｂのステップ２１では過渡分湿度補正量Ａｒに一定値Ｋずつ加算するので、やがて過渡分湿度補正量Ａｒが正の値となる。このときには図１０Ｂのステップ２３に進んで過渡分湿度補正量Ａｒにゼロを入れる。これで過渡分湿度補正を終了するので、図１０Ｂのステップ２４で過渡フラグ＝０にリセットした後、図１０Ｂのステップ２５に進む。
【００８７】
図１０Ｂのステップ２５では、基本トレース点火時期ＡＤＶｔｒ０に過渡分湿度補正量Ａｒと定常湿度補正量Ｂｒを加算することによって目標トレース点火時期ｔＡＤＶｔｒ［ｄｅｇＣＡ（ＢＴＤＣ）］を、つまり次式により目標トレース点火時期ｔＡＤＶｔｒを算出する。
【００８８】
ｔＡＤＶｔｒ＝ＡＤＶｔｒ０＋Ｂｒ＋Ａｒ                  …（６）
ここで、（６）式のＡＤＶｔｒ０＋Ｂｒがセンサ出力に基づいて算出されるトレース点火時期である。本実施形態では、新たに過渡分湿度補正量Ａｒを導入し、センサ出力に基づいて算出されるトレース点火時期（ＡＤＶｔｒ０＋Ｂｒ）をこの過渡分湿度補正量Ａｒで補正した値を目標トレース点火時期ｔＡＤＶｔｒとするのである。このようにして算出した目標トレース点火時期ｔＡＤＶｔｒはメモリに記憶しておく。
【００８９】
この目標トレース点火時期ｔＡＤＶｔｒをそのまま点火装置１３に出力してもよいのであるが、本実施形態では、ノックセンサ５３に基づく点火時期フィードバック制御を行っている。このため、目標トレース点火時期ｔＡＤＶｔｒに対して、ノックセンサに基づく点火時期フィードバック制御を反映させた値が点火時期指令値ＡＤＶとなる。
【００９０】
図１５のフローは点火時期指令値ＡＤＶ［ｄｅｇＣＡ（ＢＴＤＣ）］を算出するためのもので、図１０Ａ，図１０Ｂのフローに続けて、所定のクランク角位置になるタイミング毎に実行する。ここでは、図１０Ａ，図１０Ｂと図１５の２つのフローに分けて示しているが、図１０Ａ，図１０Ｂと図１５の２つのフローをまとめたフローとしてもよい。
【００９１】
図１５のフローではステップ３５を飛ばして説明し、最後にステップ３５を説明する。ステップ３１〜３２、３４はノックセンサ５３（図１参照）の出力に基づいて点火時期フィードバック量ＦＢを算出する部分である。まず、ステップ３１では、ノックセンサ５３により検出されるノックレベルに基づいてノッキングが発したか否かをみる。ノックセンサ５３により検出されるノックレベルが予め定めているしきい値を超えているときにはノッキングが生じたと判断し、ステップ３２に進む。
【００９２】
ステップ３２では点火時期フィードバック量の前回値である「ＦＢ（前回）」に一定値ａを加算した値を今回の点火時期フィードバック量ＦＢ［ｄｅｇＣＡ］として、つまり次式により点火時期フィードバック量ＦＢを算出する。
【００９３】
ＦＢ＝ＦＢ（前回）＋ａ                                  …（７）
ただし、ＦＢ（前回）：ＦＢの前回値、
ａ：一定値（正の値）［ｄｅｇＣＡ］、
（７）式の「ＦＢ（前回）」の初期値にはゼロを入れておく。（７）式の一定値ａはノッキングを回避するための値で、予め定めておく。後述するように、ノッキングが生じたときには点火時期が一定値ａだけ遅角されるので、ノッキングが回避される。
【００９４】
ステップ３３では、ノック発生回数Ｎｋｎｏｃｋ［回］を１だけ増やす。ノック発生回数Ｎｋｎｏｃｋはノッキングが生じた回数を計測するためのものである。ノック発生回数Ｎｋｎｏｃｋは今回のエンジン停止後もその値が喪失しないように不揮発性メモリに記憶しておく。
【００９５】
ステップ３２の操作でノッキングが回避された次の燃焼時にはノッキングは生じない。このときにはステップ３１よりステップ３４に進む。
【００９６】
ステップ３４では、点火時期フィードバック量の前回値である「ＦＢ（前回）」から一定値ｂを減算した値を今回の点火時期フィードバック量ＦＢ［ｄｅｇＣＡ］として、つまり次式により点火時期フィードバック量ＦＢを算出する。
【００９７】
ＦＢ＝ＦＢ（前回）−ｂ                                  …（８）
ただし、ＦＢ（前回）：ＦＢの前回値、
Ｂ：一定値（正の値）［ｄｅｇＣＡ］、
（８）式の一定値ｂは上記（７）式の一定値ａより小さい値である。ステップ３１でノッキングが発生しない間は、ステップ３４の操作を実行する。これによって、点火時期が徐々に進角側に戻される。
【００９８】
このように、ノッキングが生じたときには点火時期を一定量（ａ）遅角することで、ノッキングを回避し、その後には点火時期を一定量（ｂ）ずつ徐々に進角させて元の位置に戻す点火時期のフィードバック制御を行う。
【００９９】
上記のステップ３３とステップ３６〜３９はフィードバック量ＦＢを学習する部分である。ステップ３６では、ノック発生回数Ｎｋｎｏｃｋ［回］と所定値Ｎ１［回］を比較する。所定値Ｎ１は学習タイミングを定めるための値で、予め定めておく。ノック発生回数Ｎｋｎｏｃｋが所定値Ｎ１を超えたときには学習タイミングになったと判断する。このときにはステップ３７〜３９に進む。
【０１００】
ステップ３７ではフィードバック量ＦＢを学習値ＧＡＫ［ｄｅｇＣＡ］に移し、ステップ３８でフィードバック量ＦＢにゼロを入れる。学習値ＧＡＫは今回のエンジン停止後もその値が喪失しないように不揮発性メモリに記憶しておく。ステップ３９では次回の学習に備えるためノック発生回数Ｎｋｎｏｃｋにゼロを入れ、再び、ノック発生回数Ｎｋｎｏｃｋを計測する。
【０１０１】
ステップ４０では、目標トレース点火時期ｔＡＤＶｔｒ（図１０のフローにより算出済み）から学習値とフィードバック量を減算した値を点火時期指令値ＡＤＶ［ｄｅｇＣＡ（ＢＴＤＣ）］として、つまり次式により点火時期指令値ＡＤＶを算出する。
【０１０２】
ＡＤＶ＝ ｔＡＤＶｔｒ−ＧＡＫ−ＦＢ                     …（９）
目標トレース点火時期ｔＡＤＶｔｒの単位は、圧縮上死点から進角側に計測した値であるので、目標トレース点火時期ｔＡＤＶｔｒから学習値ＧＡＫやフィードバック量ＦＢを差し引くことは、ｔＡＤＶｔｒより遅角側の値を点火時期指令値とすることを意味する。学習値ＧＡＫやフィードバック量ＦＢで目標トレース点火時期ｔＡＤＶｔｒを遅角側に補正するのである。このようにして算出した点火時期指令値ＡＤＶはレジスタに格納しておく。
【０１０３】
図示しないフローでは、このようにして算出した点火時期指令値ＡＤＶを点火装置１３に出力する。
【０１０４】
図１３で説明した点火時期フィードバック量ＦＢの学習についてさらに説明する。例えば、エンジン１がハイオクガソリン仕様であるとした場合に、レギュラーガソリンを使うと、オクタン価がハイオクガソリンより低くなる分でノッキングが発生しがちとなる。点火時期フィードバック量の学習を導入していない場合を考えると、レギュラーガソリン使用時に高負荷低回転速度域でノッキングが発生する。すると、点火時期フィードバック量ＦＢが正の値で残る。この正の値の点火時期フィードバック量ＦＢで目標トレース点火時期ｔＡＤＶｔｒを補正することで、ノッキングが回避される。
【０１０５】
しかしながら、点火時期フィードバック量ＦＢはエンジン１を始動する毎にゼロに初期設定される。このため、次回のエンジン運転時にもレギュラーガソリンを使っていると、高負荷低回転速度域で再びノッキングが発生する。すると、点火時期フィードバック量ＦＢが正の値となり、正の値の点火時期フィードバック量ＦＢで目標トレース点火時期ｔＡＤＶｔｒを補正することで、ノッキングが回避される。このように、点火時期フィードバック量ＦＢのみの構成であると、エンジンを始動する毎に同じ制御が繰り返されるために、エンジン１の運転中に高負荷低回転速度域になると、ノッキングが生じることとなる。
【０１０６】
一方、点火時期フィードバック量の学習を導入すると、点火時期フィードバック量ＦＢが正の値として存在していれば、ノック発生回数Ｎｋｎｏｃｋが所定値Ｎ１を超えたときにその存在する正の値が学習値ＧＡＫに移される。学習値ＧＡＫはエンジン１の運転停止後も、その値が消失しないように保持されている。そして、エンジン１の始動当初より、目標トレース点火時期ｔＡＤＶｔｒから学習値ＧＡＫが差し引かれるので、高負荷低回転速度域になってもノッキングが生じない。点火時期フィードバック量の学習を導入していない場合には、レギュラーガソリンを使い続けている限り、エンジン１の始動後の初めての高負荷低回転速度域でノッキングが生じていたが、点火時期フィードバック量の学習を導入することで、こうした事態を回避できるのである。
【０１０７】
さて、本実施形態でも、外気の重量絶対湿度Ｈが過渡的に減少する場合に、ノッキングが生じることがあり、そのために過渡分湿度補正量Ａｒを新たに導入している。つまり、点火時期フィードバック量の学習と合わせて、ノッキング回避の対策が２つになるわけある。そうなると、制御の干渉を避ける必要がある。
【０１０８】
このため、図１５に示したように、本実施形態ではステップ３５を新たに追加する。すなわち、ステップ３５で過渡フラグ（図１０Ａ，図１０Ｂのフローにより設定済み）をみる。過渡フラグ＝１であるときには、本実施形態で新たに導入した過渡分湿度補正量Ａｒによってノッキング回避の制御が行われていると判断する。このときには、点火時期フィードバック量の学習との制御の干渉をさけるため、ステップ３６〜３９の操作を飛ばす。これによって、点火時期フィードバック量の学習との干渉を回避することができた。
【０１０９】
次に、図１６は外気の重量絶対湿度Ｈが所定値Ｈ１の状態から過渡的に所定値Ｈ２へと減少する場合に、目標トレース点火時期ｔＡＤＶｔｒがどのように変化するのかをモデルで示したタイミングチャートである。ここで、上記の所定値Ｈ１は基本トレース点火時期ＡＤＶｔｒ０を適合したときの外気の重量絶対湿度であるため、外気の重量絶対湿度Ｈが所定値Ｈ１の状態では定常湿度補正量Ｂｒがゼロになっている（図１６第５段目参照）。
【０１１０】
さて、外気の重量絶対湿度Ｈが図１６第２段目に実線で示したように、所定値Ｈ１からｔ５１のタイミングで過渡的に減少してｔ５２のタイミングで所定値Ｈ２へと変化したとする。この動きを仮に「目標重量絶対湿度」ｔＨの変化であるとする。このように、目標重量絶対湿度ｔＨがステップ変化したとしても、相対湿度センサ５１のセンサ出力には応答遅れがあるため、センサ出力は、図１６最上段に示したように所定値Ｒ１から所定値Ｒ２へと一次遅れで減少し、ｔ５３のタイミングで所定値Ｒ２に落ち着く。センサ出力に基づいて算出される外気の重量絶対湿度Ｈｒｅａｌは、図１６第２段目に一点鎖線で示したように、所定値Ｈ１から所定値Ｈ２へと一次遅れで減少し、ｔ５３のタイミングで所定値Ｈ２に落ち着く。
【０１１１】
このように一次遅れで変化する外気の重量絶対湿度Ｈｒｅａｌから算出される定常湿度補正量Ｂｒは図１６第５段目に示したように、ゼロから一次遅れで小さくなり、ｔ５３のタイミングで所定値Ｂｒ１に落ち着く。
【０１１２】
この場合に、センサ出力に基づいて算出される外気の重量絶対湿度Ｈｒｅａｌと目標重量絶対湿度ｔＨの湿度偏差ΔＨｄを採ると、湿度偏差ΔＨｄは次式で与えられる値である。
【０１１３】
ΔＨｄ＝ｔＨ−Ｈｒｅａｌ                                …（１０）
（１０）式の湿度偏差ΔＨｄは、図１６第３段目に示したように、ゼロからｔ５１のタイミングで小さくなってｔ５２のタイミングで所定値ΔＨ１（負の値）となり、その後は徐々にゼロに向かって変化し、ｔ５３のタイミングでゼロに戻る。
【０１１４】
このように変化する湿度偏差ΔＨｄに比例して過渡分湿度補正量Ａｒ’を、つまり次式により過渡分湿度補正量Ａｒ’を算出する。
【０１１５】
Ａｒ’＝ΔＨｄ×比例定数                                …（１１）
（１１）式の過渡分湿度補正量Ａｒ’は、図１６第４段目に示したように、ゼロからｔ５１のタイミングで小さくなってｔ５２のタイミングで所定値Ａｒ１’（負の値）となり、その後は徐々にゼロに向かって変化し、ｔ５３のタイミングでゼロに戻る。
【０１１６】
図１６最下段に破線で示したように、基本トレース点火時期ＡＤＶｔｒ０に定常湿度補正量Ｂｒを加算して得られる目標トレース点火時期（図１６では「定常湿度補正のみのｔＡＤＶｔｒ」で記載）は、ｔ５１のタイミングより一次遅れでしか変化しない。このため、当該目標トレース点時期がノック点の点火時期を外れて進角されることがあり、前述のようにノッキングが発生する。
【０１１７】
一方、さらに過渡分湿度補正量Ａｒ’を加算して得られる目標トレース点火時期（図１６では「定常湿度補正に加えて過渡分湿度補正を有するｔＡＤＶｔｒ」で記載）は、図１６最下段に二点鎖線で示したように、ｔ５１のタイミングからステップ的に小さくなる。そして、ｔ５２のタイミングで、実線で示した要求トレース点火時期に一致している。このように過渡分湿度補正量Ａｒ’を新たに導入することで、外気の重量絶対湿度が過渡的に減少する場合に、相対湿度センサのセンサ出力に応答遅れがあっても、ノッキングが生じることを回避できることとなる。
【０１１８】
さて、図１６では、目標重量絶対湿度ｔＨを仮定した。仮定した目標重量絶対湿度ｔＨの変化が予め分かるのであれば、上記湿度偏差ΔＨｄを、したがって過渡分湿度補正量Ａｒ’を簡易に求めることができる。しかしながら、実際には変化先の目標重量絶対湿度を変化直後に予め知り得ない。そこで、本実施形態では、上記湿度偏差ΔＨｄの代用値として、外気の重量絶対湿度の単位時間当たり変化量ΔＨを採用し、この単位時間当たり変化量ΔＨと外気の重量絶対湿度が変化する方向とから近似的に過渡分湿度補正量Ａｒを算出しているのである。
【０１１９】
ここで、本実施形態の作用効果を説明する。
【０１２０】
本実施形態では、相対湿度センサ５１と、重量絶対湿度算出手段と、変化方向判定手段と、単位時間当たり変化量算出手段と、過渡分湿度補正量算出手段と、トレース点火時期算出手段と、目標トレース点火時期算出手段と、点火時期指令手段とを備える。上記相対湿度センサ５１は外気の重量絶対湿度が過渡的に変化する場合に、応答遅れを有する。上記重量絶対湿度算出手段は前記相対湿度センサの出力に基づいて外気の重量絶対湿度Ｈを算出する。上記変化方向判定手段は前記算出される外気の重量絶対湿度Ｈが過渡的に変化する場合に、外気の重量絶対湿度が変化する方向を判定する。上記単位時間当たり変化量算出手段は同じく前記算出される外気の重量絶対湿度Ｈが過渡的に変化する場合に、外気の重量絶対湿度の単位時間当たり変化量ΔＨを算出する。上記過渡分湿度補正量算出手段は前記判定される重量絶対湿度Ｈが変化する方向及び前記算出される単位時間当たり変化量ΔＨに応じて、点火時期の過渡分湿度補正量Ａｒを算出する。上記トレース点火時期算出手段は前記算出される外気の重量絶対湿度Ｈに応じて、ノック点の点火時期よりも一定量遅角側のトレース点火時期ＡＤＶｔｒ０を算出する。上記目標トレース点火時期算出手段は前記算出される過渡分湿度補正量Ａｒで前記算出されるトレース点火時期ＡＤＶｔｒ０を補正して目標トレース点火時期ｔＡＤＶｔｒを算出する。上記点火時期指令手段は前記算出される目標トレース点火時期ｔＡＤＶｔｒを点火装置１３に指令する。これによって、外気の重量絶対湿度Ｈが過渡的に変化する場合に、相対湿度センサ５１に応答遅れがあっても、ノッキングが生じることを回避することができる。
【０１２１】
本実施形態では、外気の重量絶対湿度Ｈが過渡的に減少する場合に過渡分湿度補正量Ａｒは遅角補正量Ｈｒｔｄである。これによって、外気の重量絶対湿度Ｈが過渡的に減少する場合に、実際のトレース点火時期がノック点の点火時期を外れて進角されてしまうことを回避できる。
【０１２２】
本実施形態では、外気の重量絶対湿度Ｈが過渡的に増加する場合に過渡分湿度補正量Ａｒは進角補正量Ｈａｄｖである。これによって、外気の重量絶対湿度Ｈが過渡的に増加する場合に、実際のトレース点火時期がサージ点の点火時期を外れて進角されてしまうことを回避できる。
【０１２３】
本実施形態では、前記トレース点火時期よりも遅角側にサージ点の点火時期を設定している。この場合に、ノック点の点火時期とトレース点火時期との間の間隔が、サージ点の点火時期とトレース点火時期との間の間隔より狭いため、単位時間当たり変化量ΔＨが同じでも、前記遅角補正量Ｈｒｔｄを前記進角補正量Ｈａｄｖより大きくする。これによって、ノック点の点火時期とトレース点火時期との間の間隔が、サージ点の点火時期とトレース点火時期との間の間隔より狭い場合であっても、確実にノッキングが生じることを回避できる。
【０１２４】
本実施形態では、過渡分湿度補正量Ａｒは単位時間当たり変化量ΔＨが大きいほど大きい値である。これによって、単位時間当たり変化量ΔＨに関係なく、外気の重量絶対湿度Ｈが過渡的に変化する直後にノッキングや燃焼の不安定が生じることを回避できる。
【０１２５】
本実施形態では、相対湿度センサにより検出される外気の相対湿度と温度センサにより検出される外気の温度から外気の重量絶対湿度を算出する場合で説明したが、この場合に限られない。相対湿度センサにより検出される外気の相対湿度と温度センサにより検出される外気の温度から外気の容量絶対湿度［ｇ／ｍ3］を算出する場合にも本発明の適用がある。
【符号の説明】
【０１２６】
１  エンジン
１３  点火装置
４１  エンジンコントローラ（重量絶対湿度算出手段、変化方向判定手段、単位時間当たり変化量算出手段、過渡分湿度補正量算出手段、トレース点火時期算出手段、目標トレース点火時期算出手段、点火時期指令手段）
５１  相対湿度センサ
５２  温度センサ
【図１】
0006464707.tif 000002
【図２】
0006464707.tif 000003
【図３】
0006464707.tif 000004
【図４】
0006464707.tif 000005
【図５】
0006464707.tif 000006
【図６】
0006464707.tif 000007
【図７】
0006464707.tif 000008
【図８】
0006464707.tif 000009
【図９】
0006464707.tif 000010
【図１０Ａ】
0006464707.tif 000011
【図１０Ｂ】
0006464707.tif 000012
【図１１】
0006464707.tif 000013
【図１２】
0006464707.tif 000014
【図１３】
0006464707.tif 000015
【図１４】
0006464707.tif 000016
【図１５】
0006464707.tif 000017
【図１６】
0006464707.tif 000018