(57)【要約】【課題】内燃機関の構成に関わらずノッキングのレベルを目標レベルに確実に維持する。【解決手段】ベース筒内容積を学習値により補正することにより補正筒内容積ＶＣを算出する。補正筒内容積ＶＣを与えるクランク角ＣＡ５０Ｃとベースクランク角ＣＡ５０Ｂとの差であるクランク角補正値ΔＣＡＣを算出し、ベース点火時期をクランク角補正値ΔＣＡＣおよびフィードバック補正値により補正する。クランク角補正値の絶対値｜ΔＣＡＣ｜があらかじめ定められた限界値よりも大きいときにはクランク角補正値の絶対値が限界値よりも小さくなるように補正クランク角ＣＡ５０ＣをＣＡ５０ＣＸまで変更する。また、変更された補正クランク角における筒内容積ＶＸが補正筒内容積ＶＣになるように可変圧縮比機構により機械圧縮比を変更する。【選択図】図１７
2014185569.tif 000002
【特許請求の範囲】
【請求項１】
機関運転状態に基づいてベース点火時期を算出し、ノックセンサにより検出されるノッキングのレベルが目標レベルになるようにベース点火時期を補正するためのフィードバック補正値を算出し、ベース点火時期でもって燃焼が行われたと仮定したときに燃焼割合があらかじめ定められた設定割合となるクランク角であるベースクランク角と、ベースクランク角における筒内容積であるベース筒内容積とを算出し、ベース筒内容積を学習値により補正することにより補正筒内容積を算出し、補正筒内容積が得られるクランク角である補正クランク角を算出し、ベースクランク角に対する補正クランク角の偏差であるクランク角補正値を算出し、ベース点火時期をフィードバック補正値およびクランク角補正値により補正する、火花点火式内燃機関であって、火花点火式内燃機関が筒内容積を変更することにより機械圧縮比を変更可能な可変圧縮比機構を備えており、クランク角補正値の絶対値があらかじめ定められた限界値よりも大きいときにはクランク角補正値の絶対値が限界値よりも小さくなるように補正クランク角を変更すると共に変更された補正クランク角における筒内容積が補正筒内容積になるように可変圧縮比機構により機械圧縮比を変更する、火花点火式内燃機関。
【請求項２】
クランク角補正値の絶対値が限界値よりも大きいときにはクランク角補正値がゼロになるように補正クランク角を変更すると共にベース筒内容積が補正筒内容積になるように可変圧縮比機構により機械圧縮比を変更する、請求項１に記載の火花点火式内燃機関。
【請求項３】
前回の燃焼において燃焼割合が設定割合となるクランク角における筒内容積である前回筒内容積を算出し、前回の燃焼におけるベース筒内容積に対する前回筒内容積の偏差を算出し、前回の燃焼におけるベース筒内容積に対する前回筒内容積の変化率を算出し、学習値を該偏差および変化率に基づいて更新する、請求項１又は２に記載の火花点火式内燃機関。
【請求項４】
前記フィードバック補正値が許容範囲内にあるときには前記学習値を保持し、前記フィードバック補正値が許容範囲外になると前記学習値を更新する、請求項１から３までのいずれか一項に記載の火花点火式内燃機関。
【請求項５】
前記設定割合が５０％である、請求項１から４までのいずれか一項に記載の火花点火式内燃機関。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は火花点火式内燃機関に関する。
【背景技術】
【０００２】
機関運転状態に基づいてベース点火時期を算出し、ノッキングセンサにより検出されるノッキングのレベルが目標レベルになるようにベース点火時期を補正するためのフィードバック補正値を算出し、ベース点火時期をフィードバック補正値および学習値により補正する内燃機関の点火時期制御装置が公知である（特許文献１参照）。フィードバック補正値が基準値から定常的に逸脱した状態に維持されるのは制御上好ましくない。そこで特許文献１では、基準値に対するフィードバック補正値の定常的な偏差を学習値に設定し、ベース点火時期をフィードバック補正値および学習値により補正している。その結果、フィードバック補正値が基準値から定常的に逸脱するのが阻止される。
【０００３】
特許文献１では、学習値が機関負荷および機関回転数により定まる機関運転状態に関連付けて設定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２５６７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ノッキングのレベルは燃焼状態に依存し、燃焼状態に影響を与える機関パラメータは機関負荷および機関回転数に限られない。例えば、機械圧縮比を変更可能な内燃機関では、機械圧縮比が変更されると燃焼状態が変更されるのでノッキングのレベルが変更される。このため、機械圧縮比を変更可能な内燃機関において特許文献１に記載の学習値により点火時期制御を行なっても、ノッキングのレベルを目標レベルに維持できないおそれがある。吸気弁の閉弁時期を変更可能な内燃機関でも、吸気弁の閉弁時期が変更されるとノッキングのレベルが変更されるので、同様の問題が生じうる。
【０００６】
機械圧縮比や吸気弁の閉弁時期を考慮して、即ち内燃機関の構成を考慮して学習値を設定すればこの問題は解決できるかもしれない。しかしながら、ノッキングに影響を与えるおよそすべてのパラメータに関連付けて学習値を設定することは極めて困難であり、現実的でない。
【課題を解決するための手段】
【０００７】
本発明によれば、機関運転状態に基づいてベース点火時期を算出し、ノックセンサにより検出されるノッキングのレベルが目標レベルになるようにベース点火時期を補正するためのフィードバック補正値を算出し、ベース点火時期でもって燃焼が行われたと仮定したときに燃焼割合があらかじめ定められた設定割合となるクランク角であるベースクランク角と、ベースクランク角における筒内容積であるベース筒内容積とを算出し、ベース筒内容積を学習値により補正することにより補正筒内容積を算出し、補正筒内容積が得られるクランク角である補正クランク角を算出し、ベースクランク角に対する補正クランク角の偏差であるクランク角補正値を算出し、ベース点火時期をフィードバック補正値およびクランク角補正値により補正する、火花点火式内燃機関であって、火花点火式内燃機関が筒内容積を変更することにより機械圧縮比を変更可能な可変圧縮比機構を備えており、クランク角補正値の絶対値があらかじめ定められた限界値よりも大きいときにはクランク角補正値の絶対値が限界値よりも小さくなるように補正クランク角を変更すると共に変更された補正クランク角における筒内容積が補正筒内容積になるように可変圧縮比機構により機械圧縮比を変更する、火花点火式内燃機関が提供される。
【発明の効果】
【０００８】
内燃機関の構成に関わらずノッキングのレベルを目標レベルに確実に維持することができる。
【図面の簡単な説明】
【０００９】
【図１】火花点火式内燃機関の全体図である。
【図２】可変圧縮比機構の分解斜視図である。
【図３】図解的に表した内燃機関の側面断面図である。
【図４】可変バルブタイミング機構を示す図である。
【図５】吸気弁および排気弁のリフト量を示す図である。
【図６】ベース点火時期ＳＡＢのマップを示す図である。
【図７】フィードバック補正値の算出方法を説明するタイムチャートである。
【図８】フィードバック補正値の算出ルーチンを示すフローチャートである。
【図９】点火時期の偏差と燃焼割合が５０％となるクランク角の偏差の関係を説明する線図である。
【図１０】クランク角補正値ΔＣＡＣと筒内容積補正値ΔＶＣの関係を示す線図である。
【図１１】ベース筒内容積ＶＢのマップを図である。
【図１２】筒内容積、クランク角、および機械圧縮比εの関係を示す図である。
【図１３】筒内容積の変化量の違いを説明する線図である。
【図１４】学習値ΔＶＬの変化を示すタイムチャートである。
【図１５】学習値ΔＶＬの算出方法を説明する線図である。
【図１６】補正値Δｖｄ１，Δｖｄ２のマップを示す図である。
【図１７】点火時期補正作用を説明する線図である。
【図１８】点火時期補正作用を説明する線図である。
【図１９】点火時期制御ルーチンのフローチャートである。
【図２０】点火時期制御ルーチンのフローチャートである。
【図２１】学習値算出ルーチンのフローチャートである。
【図２２】補正値ｒｄ１，ｒｄ２のマップを示す図である。
【図２３】本発明による別の実施例の点火時期制御ルーチンのフローチャートである。
【図２４】本発明による別の実施例の点火時期制御ルーチンのフローチャートである。
【図２５】本発明による別の実施例の学習値算出ルーチンのフローチャートである。
【図２６】分配係数ｒのマップを示す図である。
【図２７】本発明による更に別の実施例の点火時期制御ルーチンのフローチャートである。
【図２８】本発明による更に別の実施例の点火時期制御ルーチンのフローチャートである。
【図２９】本発明による更に別の実施例の学習値算出ルーチンのフローチャートである。
【発明を実施するための形態】
【００１０】
図１に火花点火式内燃機関の側面断面図を示す。
【００１１】
図１を参照すると、１はクランクケース、２はシリンダブロック、３はシリンダヘッド、４はピストン、５は燃焼室、６は燃焼室５の頂面中央部に配置された点火栓、７は吸気弁、８は吸気ポート、９は排気弁、１０は排気ポートを夫々示す。吸気ポート８は吸気枝管１１を介してサージタンク１２に連結され、各吸気枝管１１には夫々対応する吸気ポート８内に向けて燃料を噴射するための燃料噴射弁１３が配置される。なお、燃料噴射弁１３は各吸気枝管１１に取付ける代りに各燃焼室５内に配置してもよい。
【００１２】
サージタンク１２は吸気ダクト１４を介してエアクリーナ１５に連結され、吸気ダクト１４内にはアクチュエータ１６によって駆動されるスロットル弁１７と例えば熱線を用いた吸入空気量検出器１８とが配置される。一方、排気ポート１０は排気マニホルド１９を介して例えば三元触媒を内蔵した触媒コンバータ２０に連結され、排気マニホルド１９内には空燃比センサ２１が配置される。更に、シリンダブロック２にはノッキングのレベルを検出するためのノックセンサ２２が取り付けられる。
【００１３】
一方、図１に示される実施例ではクランクケース１とシリンダブロック２との連結部にクランクケース１とシリンダブロック２のシリンダ軸線方向の相対位置を変化させて筒内容積を変更することにより機械圧縮比を変更可能な可変圧縮比機構Ａが設けられており、更に燃焼室５内に実際に供給される吸入空気量を制御するために吸気弁７の閉弁時期を制御可能な可変バルブタイミング機構Ｂが設けられている。なお、機械圧縮比はピストンが圧縮上死点にあるときの筒内容積に対するピストンが圧縮下死点にあるときの筒内容積の比として定義される。
【００１４】
電子制御ユニット３０はデジタルコンピュータからなり、双方向性バス３１によって互いに接続されたＲＯＭ（リードオンリメモリ）３２、ＲＡＭ（ランダムアクセスメモリ）３３、ＣＰＵ（マイクロプロセッサ）３４、入力ポート３５および出力ポート３６を具備する。吸入空気量検出器１８の出力信号、空燃比センサ２１の出力信号、およびノックセンサ２２の出力信号は夫々対応するＡＤ変換器３７を介して入力ポート３５に入力される。また、アクセルペダル４０にはアクセルペダル４０の踏込み量Ｌに比例した出力電圧を発生する負荷センサ４１が接続され、負荷センサ４１の出力電圧は対応するＡＤ変換器３７を介して入力ポート３５に入力される。更に入力ポート３５にはクランクシャフトが例えば３０°回転する毎に出力パルスを発生するクランク角センサ４２が接続される。一方、出力ポート３６は対応する駆動回路３８を介して点火栓６、燃料噴射弁１３、スロットル弁駆動用アクチュエータ１６、可変圧縮比機構Ａおよび可変バルブタイミング機構Ｂに接続される。
【００１５】
図２は図１に示す可変圧縮比機構Ａの分解斜視図を示しており、図３は図解的に表した内燃機関の側面断面図を示している。図２を参照すると、シリンダブロック２の両側壁の下方には互いに間隔を隔てた複数個の突出部５０が形成されており、各突出部５０内には夫々断面円形のカム挿入孔５１が形成されている。一方、クランクケース１の上壁面上には互いに間隔を隔てて夫々対応する突出部５０の間に嵌合せしめられる複数個の突出部５２が形成されており、これらの各突出部５２内にも夫々断面円形のカム挿入孔５３が形成されている。
【００１６】
図２に示されるように一対のカムシャフト５４，５５が設けられており、各カムシャフト５４，５５上には一つおきに各カム挿入孔５１内に回転可能に挿入される円形カム５６が固定されている。これらの円形カム５６は各カムシャフト５４，５５の回転軸線と共軸をなす。一方、各円形カム５６間には図３においてハッチングで示すように各カムシャフト５４，５５の回転軸線に対して偏心配置された偏心軸５７が延びており、この偏心軸５７上に別の円形カム５８が偏心して回転可能に取付けられている。図２に示されるようにこれら円形カム５８は各円形カム５６間に配置されており、これら円形カム５８は対応する各カム挿入孔５３内に回転可能に挿入されている。
【００１７】
図３（Ａ）に示すような状態から各カムシャフト５４，５５上に固定された円形カム５６を図３（Ａ）において実線の矢印で示される如く互いに反対方向に回転させると偏心軸５７が下方中央に向けて移動するために円形カム５８がカム挿入孔５３内において図３（Ａ）の破線の矢印に示すように円形カム５６とは反対方向に回転し、図３（Ｂ）に示されるように偏心軸５７が下方中央まで移動すると円形カム５８の中心が偏心軸５７の下方へ移動する。
【００１８】
図３（Ａ）と図３（Ｂ）とを比較するとわかるようにクランクケース１とシリンダブロック２の相対位置は円形カム５６の中心と円形カム５８の中心との距離によって定まり、円形カム５６の中心と円形カム５８の中心との距離が大きくなるほどシリンダブロック２はクランクケース１から離れる。シリンダブロック２がクランクケース１から離れるとピストン４が圧縮上死点に位置するときの燃焼室５の容積は増大し、従って各カムシャフト５４，５５を回転させることによってピストン４が圧縮上死点に位置するときの燃焼室５の容積を変更することができる。
図２に示されるように各カムシャフト５４，５５を夫々反対方向に回転させるために駆動モータ５９の回転軸には夫々螺旋方向が逆向きの一対のウォームギア６１，６２が取付けられており、これらウォームギア６１，６２と噛合する歯車６３，６４が夫々各カムシャフト５４，５５の端部に固定されている。この実施例では駆動モータ５９を駆動することによってピストン４が圧縮上死点に位置するときの燃焼室５の容積を広い範囲に亘って変更することができる。なお、図１から図３に示される可変圧縮比機構Ａは一例を示すものであっていかなる形式の可変圧縮比機構でも用いることができる。
【００１９】
一方、図４は図１において吸気弁７を駆動するためのカムシャフト７０の端部に取付けられた可変バルブタイミング機構Ｂを示している。図４を参照すると、この可変バルブタイミング機構Ｂは機関のクランク軸によりタイミングベルトを介して矢印方向に回転せしめられるタイミングプーリ７１と、タイミングプーリ７１と一緒に回転する円筒状ハウジング７２と、吸気弁駆動用カムシャフト７０と一緒に回転しかつ円筒状ハウジング７２に対して相対回転可能な回転軸７３と、円筒状ハウジング７２の内周面から回転軸７３の外周面まで延びる複数個の仕切壁７４と、各仕切壁７４の間で回転軸７３の外周面から円筒状ハウジング７２の内周面まで延びるベーン７５とを具備しており、各ベーン７５の両側には夫々進角用油圧室７６と遅角用油圧室７７とが形成されている。
【００２０】
各油圧室７６，７７への作動油の供給制御は作動油供給制御弁７８によって行われる。この作動油供給制御弁７８は各油圧室７６，７７に夫々連結された油圧ポート７９，８０と、油圧ポンプ８１から吐出された作動油の供給ポート８２と、一対のドレインポート８３，８４と、各ポート７９，８０，８２，８３，８４間の連通遮断制御を行うスプール弁８５とを具備している。
【００２１】
吸気弁駆動用カムシャフト７０のカムの位相を進角すべきときは図４においてスプール弁８５が右方に移動せしめられ、供給ポート８２から供給された作動油が油圧ポート７９を介して進角用油圧室７６に供給されると共に遅角用油圧室７７内の作動油がドレインポート８４から排出される。このとき回転軸７３は円筒状ハウジング７２に対して矢印方向に相対回転せしめられる。
【００２２】
これに対し、吸気弁駆動用カムシャフト７０のカムの位相を遅角すべきときは図４においてスプール弁８５が左方に移動せしめられ、供給ポート８２から供給された作動油が油圧ポート８０を介して遅角用油圧室７７に供給されると共に進角用油圧室７６内の作動油がドレインポート８３から排出される。このとき回転軸７３は円筒状ハウジング７２に対して矢印と反対方向に相対回転せしめられる。
【００２３】
回転軸７３が円筒状ハウジング７２に対して相対回転せしめられているときにスプール弁８５が図４に示される中立位置に戻されると回転軸７３の相対回転動作は停止せしめられ、回転軸７３はそのときの相対回転位置に保持される。従って可変バルブタイミング機構Ｂによって吸気弁駆動用カムシャフト７０のカムの位相を所望の量だけ進角させることができ、遅角させることができることになる。
【００２４】
図５において実線は可変バルブタイミング機構Ｂによって吸気弁駆動用カムシャフト７０のカムの位相が最も進角されているときを示しており、破線は吸気弁駆動用カムシャフト７０のカムの位相が最も遅角されているときを示している。従って吸気弁７の開弁期間は図５において実線で示す範囲と破線で示す範囲との間で任意に設定することができ、従って吸気弁７の閉弁時期も図５において矢印Ｃで示す範囲内の任意のクランク角に設定することができる。
【００２５】
図１および図４に示される可変バルブタイミング機構Ｂは一例を示すものであって、例えば吸気弁の開弁時期を一定に維持したまま吸気弁の閉弁時期のみを変えることのできる可変バルブタイミング機構等、種々の形式の可変バルブタイミング機構を用いることができる。
【００２６】
本発明による実施例では、例えば次のようなサイクルが行われる。即ち、機関負荷が第１の設定負荷よりも高いときには、機械圧縮比を予め定められた圧縮比以下に維持すると共に吸気弁の閉弁時期を吸気下死点に近い側に維持しつつスロットル開度を制御することにより吸入空気量が制御されるサイクルが行われる。機関負荷が第１の設定負荷よりも低くかつ第１の設定負荷よりも低く設定された第２の設定負荷よりも高いときには、機械圧縮比を予め定められた圧縮比以上、例えば最大機械圧縮比に維持すると共にスロットル弁を全開に維持しつつ吸気弁の閉弁時期を制御することにより吸入空気量が制御されるサイクルが行われる。機関負荷が第２の設定負荷よりも低いときには、機械圧縮比を予め定められた圧縮比以上に維持すると共に吸気弁の閉弁時期を吸気下死点から遠い側に維持しつつスロットル開度を制御することにより吸入空気量が制御されるサイクルが行われる。
【００２７】
さて、本発明による実施例では点火時期ＳＡＦは次式（１）から算出される。
ＳＡＦ＝ＳＡＢ＋ΔＣＡＦＢ＋ΔＣＡＣ  …（１）
【００２８】
式（１）において、ＳＡＢはベース点火時期、ΔＣＡＦＢはフィードバック補正値、ΔＣＡＣはクランク角補正値をそれぞれ表している。
【００２９】
ベース点火時期ＳＡＢは機関状態が基準状態にあるときにノッキングのレベルを目標レベルにするのに必要な点火時期であって、機関運転状態、例えば機関負荷Ｌおよび機関回転数Ｎｅの関数として図６に示されるマップの形で予めＲＯＭ３２内に記憶されている。なお、基準状態は、吸気温、機関冷却水温、燃焼室内壁面に付着しているデポジットの量、オクタン価のような燃料性状といったノッキングのレベルに影響を与えるパラメータがそれぞれ対応する基準値にある状態をいう。
【００３０】
フィードバック補正値ΔＣＡＦＢはノックセンサ２２により検出されるノッキングのレベルが目標レベルになるようにベース点火時期ＳＡＢを補正するためのものであり、補正する必要がないときには基準値であるゼロにされる。
【００３１】
即ち、図７に示されるように、時間ｔａ１においてノッキングのレベルＫＬＶが目標レベルＴＫＬＶの上限値ＫＬＶＵよりも大きくなるとフィードバック補正値ΔＣＡＦＢが増大される。即ち、点火時期ＳＡＦが遅角される。次いで、時間ｔａ２においてノッキングのレベルＫＬＶが目標レベルＴＫＬＶになるとフィードバック補正値ΔＣＡＦＢが保持される。次いで、時間ｔａ３においてノッキングのレベルＫＬＶが目標レベルＴＫＬＶの下限値ＫＬＶＬよりも小さくなるとフィードバック補正値ΔＣＡＦＢが減少される。即ち、点火時期ＳＡＦが進角される。次いで、時間ｔａ４においてノッキングのレベルＫＬＶが目標レベルＴＫＬＶになるとフィードバック補正値ΔＣＡＦＢが保持される。
【００３２】
図８はフィードバック補正値ΔＣＡＦＢの算出ルーチンを示している。このルーチンは一定時間ごとの割り込みによって実行される。
【００３３】
図８を参照すると、ステップ１０１ではノッキングのレベルＫＬＶが上限値ＫＬＶＵよりも大きいか否かが判別される。ＫＬＶ＞ＫＬＶＵのときには次いでステップ１０２に進み、フィードバック補正値ΔＣＡＦＢが一定値ｄＦＢ増大される。これに対し、ＫＬＶ≦ＫＬＶＵのときには次いでステップ１０３に進み、ノッキングのレベルＫＬＶが下限値ＫＬＶＬよりも小さいか否かが判別される。ＫＬＶ＜ＫＬＶＬのときには次いでステップ１０４に進み、フィードバック補正値ΔＣＡＦＢが一定値ｄＦＢ減少される。これに対し、ＫＬＶ≧ＫＬＶＬのときには処理サイクルを終了する。即ち、フィードバック補正値ΔＣＡＦＢが保持される。
【００３４】
一方、クランク角補正値ΔＣＡＣは後述する筒内容積補正値ΔＶＣをクランク角に換算したものであり、補正する必要がないときには基準値であるゼロにされる。
【００３５】
ところで、図９には、点火時期ＳＡＸでもって燃焼が行われたときの燃焼期間Ｘが模式的に示されており、このときに燃焼割合が予め定められた設定割合となるクランク角がＣＡ５０Ｘで示されている。本発明による実施例では設定割合は５０％に設定されている。また、点火時期ＳＡＹでもって燃焼が行われたときの燃焼期間Ｙが模式的に示されており、このときに燃焼割合が５０％となるクランク角がＣＡ５０Ｙで示されている。図９に示される例では、燃焼Ｘ，Ｙにおいて点火時期がΔＳＡ（＝ＳＡＹ−ＳＡＸ）だけ異なっており、燃焼割合が５０％となるクランク角がΔＣＡ５０（＝ＣＡ５０Ｙ−ＣＡ５０Ｘ）だけ異なっている。
【００３６】
本発明による実施例では、点火時期の偏差ΔＳＡと、燃焼割合が５０％となるクランク角の偏差ΔＣＡ５０が互いに等しいと仮定している。従って、例えば点火時期が一定クランク角ΔＣＡだけ遅角されると、燃焼割合が５０％となるクランク角も一定クランク角ΔＣＡだけ遅角される。言い換えると、燃焼割合が５０％となるクランク角を一定クランク角ΔＣＡだけ遅角するためには点火時期をΔＣＡだけ遅角すればよい。
【００３７】
なお、任意のクランク角における筒内圧および筒内容積をＰ，Ｖで表し、燃焼開始時期における筒内圧および筒内容積をＰ０，Ｖ０で表し、燃焼終了時期における筒内圧および筒内容積をＰｆ，Ｖｆで表し、比熱比をκで表すと、燃焼割合（％）は次式（２）で表される。
燃焼割合（％）＝（Ｐ・Ｖκ−Ｐ０・Ｖ０κ）／（Ｐｆ・Ｖｆκ−Ｐ０・Ｖ０κ）・１００  …（２）
【００３８】
次に、図１０を参照して本発明による実施例における点火時期補正制御を説明する。
【００３９】
本発明による実施例では、まず、ベース点火時期ＳＡＢでもって燃焼が行われたと仮定したとき、即ち補正が行われないと仮定したときに燃焼割合が５０％となるクランク角をベースクランク角ＣＡ５０Ｂと称すると、ベースクランク角ＣＡ５０Ｂにおける筒内容積であるベース筒内容積ＶＢが算出される。ベース筒内容積ＶＢは機関運転状態、例えば機関負荷Ｌおよび機関回転数Ｎｅの関数として図１１に示されるマップの形で予めＲＯＭ３２内に記憶されている。
【００４０】
次いで、ベース筒内容積ＶＢを補正することにより補正筒内容積ＶＣが算出される。
【００４１】
一方、ベースクランク角ＣＡ５０Ｂがベース筒内容積ＶＢおよび機械圧縮比εから算出される。また、補正筒内容積ＶＣが得られるクランク角である補正クランク角ＣＡ５０Ｃが補正筒内容積ＶＣおよび機械圧縮比εから算出される。本発明による実施例では、クランク角ＣＡ、筒内容積Ｖおよび機械圧縮比εの関係は図１２に示されるマップの形で予めＲＯＭ３２内に記憶されている。
【００４２】
次いで、ベースクランク角ＣＡ５０Ｂに対する補正クランク角ＣＡ５０Ｃの偏差ΔＣＡＣが算出される（ΔＣＡＣ＝ＣＡ５０Ｃ−ＣＡ５０Ｂ）。この偏差ΔＣＡＣはベース筒内容積ＶＢを補正筒内容積ＶＣに変更するのに必要なクランク角であり、上述のクランク角補正値ΔＣＡＣに設定される。
【００４３】
即ち、ベース筒内容積ＶＢを補正筒内容積ＶＣに補正するために、ベースクランク角ＣＡ５０Ｂがクランク角補正値ΔＣＡＣだけ補正される。ベースクランク角ＣＡ５０Ｂをクランク角補正値ΔＣＡＣだけ補正するために、ベース点火時期ＳＡＢがクランク角補正値ΔＣＡＣだけ補正される。
【００４４】
このように、本発明による実施例では、ベース筒内容積ＶＢが補正される。このようにしているのは次の理由による。即ち、本願発明者らによれば、ノッキングのレベルは燃焼期間における筒内容積と強く相関していることが判明している。従って、ノッキングのレベルを正確に制御するには燃焼期間における筒内容積を正確に制御する必要がある。一方、図１３（Ａ）に示されるように、クランク角を一定値ｄＣＡだけ変更させたときに得られる筒内容積の変化量は変化前のクランク角に応じて異なる。即ち、クランク角が圧縮上死点ＴＤＣに近いとき即ちクランク角が小さいときには筒内容積は比較的小さな量ｄＶＳだけ変化し、クランク角が圧縮上死点ＴＤＣから離れているとき即ちクランク角が大きいときには筒内容積は比較的大きな量ｄＶＬだけ変化する。このため、ベース点火時期ＶＢをただ単にクランク角ｄＣＡだけ補正すると、ベース点火時期ＳＡＢが小さいときには筒内容積の変化量が小さくなり、ベース点火時期ＳＡＢが大きいときには筒内容積の変化量が大きくなってしまう。その結果、燃焼期間における筒内容積を、ノッキングのレベルを目標レベルに維持する筒内容積に維持するのが困難になる。
【００４５】
そこで本発明による実施例では、補正筒内容積ＶＣを算出し、ベース点火時期ＳＡＢを補正筒内容積ＶＣまで変更するのに必要なクランク角であるクランク角補正値ΔＣＡＣを算出し、クランク角補正値ΔＣＡＣでもってベース点火時期ＳＡＢを補正するようにしている。
【００４６】
本発明による実施例では、補正筒内容積ＶＣが次のようにして算出される。即ち、まず筒内容積補正値ΔＶＣが算出される。次いで、補正筒内容積ＶＣが次式（３）から算出される。
ＶＣ＝ＶＢ＋ΔＶＣ  …（３）
【００４７】
本発明による実施例では、筒内容積補正値ΔＶＣは次式（４）から算出される。
ΔＶＣ＝ΔＶＬ＋ΔＶＤ  …（４）
【００４８】
式（４）において、ΔＶＬは学習値、ΔＶＤは外乱補正値をそれぞれ表している。
【００４９】
学習値ΔＶＬは機関状態を基準状態から逸脱させる外乱のうち個別に判別不能なもの、例えば燃焼室内壁面に付着しているデポジットの量および燃料の性状を補償するためのものであり、補正する必要がないときには基準値であるゼロにされる。一方、外乱補正値ΔＶＤは機関状態を基準状態から逸脱させる外乱のうちセンサ等により検出可能な外乱、例えば吸気温および機関冷却水温を補償するためのものであり、補正する必要がないときには基準値であるゼロにされる。
【００５０】
学習値ΔＶＬはフィードバック補正値ΔＣＡＦＢが基準値から大きく逸脱しないように更新される。即ち、図１４に示されるように、時間ｔｂ１においてフィードバック補正値ΔＣＡＦＢが許容範囲ＡＲの上限値ＡＲＵよりも大きくなると、学習値ΔＶＬがステップ状に増大されると共にフィードバック補正値ΔＣＡＦＢがステップ状に基準値まで戻される。一方、時間ｔｂ２においてフィードバック補正値ΔＣＡＦＢが許容範囲ＡＲの下限値ＡＲＬよりも小さくなると、学習値ΔＶＬがステップ状に減少されると共にフィードバック補正値ΔＣＡＦＢがステップ状に基準値まで戻される。このようにすると、フィードバック補正値ΔＣＡＦＢが基準値から大きく逸脱するのが阻止され、制御性が向上する。
【００５１】
次に、図１５を参照して学習値ΔＶＬの算出方法を説明する。図１５を参照すると、前回の燃焼におけるベース筒内容積ＶＢｐ、前回の燃焼におけるベースクランク角ＣＡ５０Ｂｐ、前回の燃焼において燃焼割合が５０％となったクランク角ＣＡ５０Ｆｐ、および前回の燃焼において燃焼割合が５０％となったクランク角ＣＡ５０Ｆｐにおける筒内容積である前回筒内容積ＶＦｐが示されている。また、図１５において、ΔＣＡＦｐは前回の燃焼におけるベースクランク角ＣＡ５０Ｂｐに対する前回の燃焼において燃焼割合が５０％となったクランク角ＣＡ５０Ｆｐの偏差を示しており（ΔＣＡＦｐ＝ＣＡ５０Ｆｐ−ＣＡ５０Ｂｐ）、ΔＶＦｐは前回の燃焼におけるベース筒内容積ＶＢｐに対する前回筒内容積ＶＦｐの偏差を示している（ΔＶＦｐ＝ＶＦｐ−ＶＢｐ）。
【００５２】
前回の燃焼では、ベース点火時期ＳＡＢがフィードバック補正値ΔＣＡＦＢおよびクランク角補正値ΔＣＡＣにより補正され、それによりベースクランク角ＣＡ５０Ｂｐがクランク角偏差ΔＣＡＦｐだけ補正されている。クランク角偏差ΔＣＡＦｐを筒内容積の偏差に換算すると筒内容積偏差ΔＶＦｐとなる。即ち、前回の燃焼において、ノッキングのレベルを目標レベルに維持するのにベース筒内容積ＶＢｐを筒内容積偏差ΔＶＦｐだけ補正する必要があったのである。
【００５３】
そこで本発明による実施例では、この筒内容積偏差ΔＶＦｐが学習値ΔＶＬに設定される。その結果、ベース筒内容積ＶＢに対する定常的な補正を学習値ΔＶＬにより行うことができる。
【００５４】
筒内容積偏差ΔＶＦｐは次のようにして算出される。即ち、前回の燃焼におけるクランク角偏差ΔＣＡＦｐは前回の燃焼におけるフィードバック補正値ΔＣＡＦＢとクランク角補正値ΔＣＡＣの合計として記憶されている。前回の燃焼におけるベースクランク角ＣＡ５０Ｂｐに前回の燃焼におけるクランク角偏差ΔＣＡＦｐを加算することにより、前回の燃焼において燃焼割合が５０％となったクランク角ＣＡ５０Ｆｐが算出される（ＣＡ５０Ｆｐ＝ＣＡ５０Ｂｐ＋ΔＣＡＦｐ）。次いで、クランク角ＣＡ５０Ｆｐにおける筒内容積ＶＦｐが図１２のマップを用いて算出される。次いで、筒内容積偏差ΔＶＦｐが算出される（ΔＶＦｐ＝ＶＦｐ−ＶＢｐ）。
【００５５】
一方、外乱補正値ΔＶＤは例えば次式（５）から算出される。
ΔＶＤ＝Δｖｄ１＋Δｖｄ２  …（５）
【００５６】
補正値Δｖｄ１は上述の基準状態を構成する基準吸気温からの吸気温の逸脱を補償する補正値であり、補正値Δｖｄ２は上述の基準状態を構成する基準水温からの機関冷却水温ＴＨＷの逸脱を補償する補正値である。これら補正値Δｖｄ１，Δｖｄ２は筒内容積の偏差に換算された値として、図１６（Ａ），１６（Ｂ）に示されるマップの形で予めＲＯＭ３２内に記憶されている。なお、吸気温Ｔａは吸気ダクト１４に取り付けられた吸気温センサにより検出され、機関冷却水温ＴＨＷはシリンダブロック２に取り付けられた水温センサにより検出される。別の実施例では、基準状態を構成する他のパラメータ、例えば機関潤滑油温も考慮される。
【００５７】
ところで、本発明による実施例では、図１０を参照して説明したように、ベースクランク角ＣＡ５０Ｂがクランク角補正値ΔＣＡＣだけ補正され、それにより燃焼期間における筒内容積が補正される。この場合、クランク角補正値ΔＣＡＣの絶対値が大きいとベース点火時期ＳＡＢが大きく補正されることになる。その結果、点火時期ＳＡＢが大幅に遅角され、排気ガス温度が過度に上昇されるおそれがある。例えば燃料噴射量を増量すればこの排気温度の上昇を抑制することができるが、燃料消費量が増大してしまう。従って、クランク角補正値ΔＣＡＣの絶対値が大きいと燃費及び性能の点で好ましくない。一方、図１に示される内燃機関では可変圧縮比機構Ａにより機械圧縮比を変更することにより燃焼期間における筒内容積を変更することができる。
【００５８】
そこで本発明による実施例では、クランク角補正値の絶対値｜ΔＣＡＣ｜があらかじめ定められた限界値ＬＭＴよりも大きいときには、クランク角補正値の絶対値｜ΔＣＡＣ｜が限界値ＬＭＴよりも小さくなるように補正クランク角ＣＡ５０Ｃを変更すると共に変更された補正クランク角における筒内容積が補正筒内容積ＶＣになるように可変圧縮比機構Ａにより機械圧縮比εを変更している。具体的に言うと、クランク角補正値ΔＣＡＣが正の限界値（＋ＬＭＴ）よりも大きいときにはクランク角補正値ΔＣＡＣが正の限界値（＋ＬＭＴ）よりも小さくなるように補正クランク角ＣＡ５０Ｃが減少され、変更された補正クランク角における筒内容積がＶＣになるように機械圧縮比εが低下される。あるいは、
クランク角補正値ΔＣＡＣが負の限界値（−ＬＭＴ）よりも小さいときにはクランク角補正値ΔＣＡＣが負の限界値（−ＬＭＴ）よりも大きくなるように補正クランク角ＣＡ５０Ｃが増大され、変更された補正クランク角における筒内容積がＶＣになるように機械圧縮比εが増大される。
【００５９】
図１７は、クランク角補正値がΔＣＡＣからΔＣＡＣＸまで減少されるように補正クランク角がＣＡ５０ＣからＣＡ５０ＣＸまで減少される例を示している。この場合、機械圧縮比εが維持されていると、変更された補正クランク角ＣＡ５０ＣＸにおける筒内容積ＶＸは補正筒内容積ＶＣよりも小さくなってしまう。そこで、変更された補正クランク角ＣＡ５０ＣＸにおける筒内容積ＶＸが補正筒内容積ＶＣになるように可変圧縮比機構Ａにより機械圧縮比εが比較的高い機械圧縮比εＨから比較的低い機械圧縮比εＬに変更される。なお、図１７において、曲線ＣＨは機械圧縮比εが比較的高い機械圧縮比εＨのときの筒内容積を示しており、曲線ＣＬは機械圧縮比εが比較的低い機械圧縮比εＬのときの筒内容積を示している。その結果、点火時期ＳＡＦがベース点火時期ＳＡＢから大きく変動するのを阻止しつつ燃焼期間における筒内容積を正確に変更することができる。
【００６０】
図１８に示される例では、クランク角補正値がΔＣＡＣからゼロまで減少されるように補正クランク角がＣＡ５０ＣからＣＡ５０ＣＸまで減少される。また、変更された補正クランク角ＣＡ５０ＣＸにおける筒内容積ＶＸが補正筒内容積ＶＣになるように可変圧縮比機構Ａにより機械圧縮比εが比較的高いεＨから比較的低いεＬに変更される。この場合、変更された補正クランク角ＣＡ５０ＣＸはベースクランク角ＣＡ５０Ｂに一致する。従って、ベース点火時期ＳＡＢはフィードバック補正値ΔＣＡＦＢのみによって補正されることになる。
【００６１】
なお、変更された補正クランク角ＣＡ５０ＣＸにおける筒内容積ＶＸを補正筒内容積ＶＣに一致させるための機械圧縮比εは図１２のマップから算出される。
【００６２】
これに対し、クランク角補正値の絶対値｜ΔＣＡＣ｜が限界値ＬＭＴよりも小さいときには補正クランク角ＣＡ５０Ｃおよび機械圧縮比εは維持される。
【００６３】
図１９および図２０は本発明による実施例の点火時期制御ルーチンを示している。このルーチンは一定時間ごとの割り込みによって実行される。
【００６４】
図１９および図２０を参照すると、ステップ２０１ではベース点火時期ＳＡＢが図６のマップを用いて算出される。続くステップ２０２ではフィードバック補正値ΔＣＡＦＢの算出ルーチンが実行される。このルーチンは図８に示されている。続くステップ２０３ではベース筒内容積ＶＢが図１１のマップを用いて算出される。続くステップ２０４では学習値ΔＶＬが読み込まれる。学習値ΔＶＬは図２１に示されるルーチンによって更新される。続くステップ２０５では補正値Δｖｄ１，Δｖｄ２が図１６（Ａ），１６（Ｂ）のマップを用いて算出され、外乱補正値ΔＶＤが算出される（ΔＶＤ＝Δｖｄ１＋Δｖｄ２）。続くステップ２０６では筒内容積補正値ΔＶＣが算出される（ΔＶＣ＝ΔＶＬ＋ΔＶＤ）。続くステップ２０７では補正筒内容積ＶＣが算出される（ＶＣ＝ＶＢ＋ΔＶＣ）。続くステップ２０８ではベースクランク角ＣＡ５０Ｂが図１２のマップを用いて算出される。続くステップ２０９では補正クランク角ＣＡ５０Ｃが図１２のマップを用いて算出される。続くステップ２１０ではクランク角補正値ΔＣＡＣが算出される（ΔＣＡＣ＝ＣＡ５０Ｃ−ＣＡ５０Ｂ）。続くステップ２１１ではクランク角補正値の絶対値｜ΔＣＡＣ｜が限界値ＬＭＴよりも大きいか否かが判別される。｜ΔＣＡＣ｜＞ＬＭＴのときには次いでステップ２１２に進み、クランク角補正値ΔＣＡＣおよび補正クランク角ＣＡ５０Ｃが変更される。続くステップ２１３では機械圧縮比εが変更される。次いでステップ２１４に進む。一方、ステップ２１１において｜ΔＣＡＣ｜≦ＬＭＴのときにはステップ２１４にジャンプする。即ち、クランク角補正値ΔＣＡＣおよび機械圧縮比εが変更されない。
【００６５】
ステップ２１４では点火時期ＳＡＦが算出される（ＳＡＦ＝ＳＡＢ＋ΔＣＡＣ＋ΔＣＡＦＢ）。続くステップ２１５では点火時期ＳＡＦでもって点火作用が行われる。続くステップ２１６では今回のルーチンにおけるベース筒内容積ＶＢおよびベースクランク角ＣＡ５０Ｂが前回の燃焼におけるベース筒内容積ＶＢｐおよびベースクランク角ＣＡ５０Ｂとして記憶される。また、今回のルーチンにおける補正値の合計が前回の燃焼におけるクランク角偏差ΔＣＡＦｐとして記憶される（ΔＣＡＦｐ＝ΔＣＡＦＢ＋ΔＣＡＣ）。
【００６６】
図２１は本発明による実施例の学習値ΔＶＬの更新ルーチンを示している。このルーチンは一定時間ごとの割り込みによって実行される。
【００６７】
図２１を参照すると、ステップ３０１ではフィードバック補正値ΔＣＡＦＢが許容範囲ＡＲ内か否かが判別される。フィードバック補正値ΔＣＡＦＢが許容範囲ＡＲ内にあるときには処理サイクルを終了する。即ち、フィードバック補正値ΔＣＡＦＢは保持される。これに対し、フィードバック補正値ΔＣＡＦＢが許容範囲ＡＲ外にあるときには次いでステップ３０２に進み、前回の燃焼におけるベース筒内容積ＶＢｐが読み込まれる。続くステップ３０３では前回の燃焼におけるクランク角偏差ΔＣＡＦｐが読み込まれる。続くステップ３０４では前回の燃焼におけるクランク角ＣＡ５０Ｆｐが算出される（ＣＡ５０Ｆｐ＝ＣＡ５０Ｂｐ＋ΔＣＡＦｐ）。続くステップ３０５ではクランク角ＣＡ５０Ｆｐにおける筒内容積ＶＦｐが図１２のマップから算出される。続くステップ３０６では筒内容積偏差ΔＶＦｐが算出される（ΔＶＦｐ＝ＶＦｐ−ＶＢｐ）。続くステップ３０７では筒内容積偏差ΔＶＦｐが学習値ΔＶＬに設定される。続くステップ３０８ではフィードバック補正値ΔＣＡＦＢが基準値であるゼロに戻される。
【００６８】
従って、本発明による実施例では、ベース点火時期ＳＡＢが算出され、フィードバック補正値ΔＣＡＦＢが算出され、ベースクランク角ＣＡ５０Ｂとベース筒内容積ＶＢが算出され、ベース筒内容積ＶＢを学習値ΔＶＬにより補正することにより補正筒内容積ＶＣが算出され、補正クランク角ＣＡ５０Ｃが算出され、クランク角補正値ΔＣＡＣが算出され、ベース点火時期ＳＡＢがフィードバック補正値ΔＣＡＦＢおよびクランク角補正値ΔＣＡＣにより補正されるということになる。また、前回筒内容積ＶＦｐが算出され、筒内容積偏差ΔＶＦｐが算出され、筒内容積偏差ΔＶＦｐに基づいて学習値ΔＶＬが更新されるということになる。
【００６９】
次に本発明による別の実施例を説明する。図１５を参照して説明した前回筒内容積ＶＦｐは筒内容積偏差ΔＶＦｐを用いて次式（６）のように表すことができる。
ＶＦｐ＝ＶＢｐ＋ΔＶＦｐ  …（６）
【００７０】
上述した実施例では、筒内容積偏差ΔＶＦｐが学習値ΔＶＬに設定される。この場合、筒内容積偏差ΔＶＦｐが筒内容積偏差の形の学習値ΔＶＬに置換されたと考えることができる。
【００７１】
これに対し、筒内容積の変化率ＲＬ（＝ΔＶＦｐ／ＶＢｐ）を用いると、前回筒内容積ＶＦｐは次式（７）のように表すことができる。
ＶＦｐ＝ＶＢｐ・（１＋ＲＬ）  …（７）
【００７２】
一方、上述の外乱補正値ΔＶＤはセンサ等により検出可能な外乱を筒内容積偏差の形で補償するものであると考えることができる。
【００７３】
しかしながら、センサ等により検出可能な外乱を筒内容積変化率の形の外乱補正値により補償することもできる。この場合の外乱補正値をＲＤで表すと、外乱補正値ＲＤは例えば次式（８）から算出される。
ＲＤ＝ｒｄ１・ｒｄ２  …（８）
【００７４】
補正値ｒｄ１は基準状態を構成する基準吸気温からの吸気温の逸脱を補償する補正値であり、補正値ｒｄ２は上述の基準状態を構成する基準水温からの機関冷却水温ＴＨＷの逸脱を補償する補正値である。これら補正値ｒｄ１，ｒ２は筒内容積変化率に換算された値として、図２２（Ａ），２２（Ｂ）に示されるマップの形で予めＲＯＭ３２内に記憶されている。
【００７５】
そうすると、筒内容積変化率ＲＬを学習値に設定し、外乱補正値ＲＤを用いると、補正筒内容積ＶＣは次式（９）により算出することができる。
ＶＣ＝ＶＢ・（１＋ＲＬ）・（１＋ＲＤ）  …（９）
【００７６】
本発明による別の実施例では、式（９）から補正筒内容積ＶＣが算出される。
【００７７】
この場合、筒内容積偏差ΔＶＦｐが筒内容積変化率の形の学習値ＲＬに置換されたと考えることができる。ただし、この場合の学習値ＲＬは筒内容積偏差に基づくことなく筒内容積変化率に基づいて更新される。これに対し、図１から図１８に示される実施例では学習値ΔＶＬは筒内容積変化率に基づくことなく筒内容積偏差に基づいて更新される。
【００７８】
図２３および図２４は本発明による別の実施例の点火時期制御ルーチンを示している。このルーチンは一定時間ごとの割り込みによって実行される。
【００７９】
図２３および図２４を参照すると、ステップ２０１ではベース点火時期ＳＡＢが図６のマップを用いて算出される。続くステップ２０２ではフィードバック補正値ΔＣＡＦＢの算出ルーチンが実行される。このルーチンは図８に示されている。続くステップ２０３ではベース筒内容積ＶＢが図１１のマップを用いて算出される。続くステップ２０４ａでは学習値ＲＬが読み込まれる。学習値ＲＬは図２５に示されるルーチンによって更新される。続くステップ２０５ａでは補正値ｒｄ１，ｒｄ２が図２２（Ａ），２２（Ｂ）のマップを用いて算出され、外乱補正値ＲＤが算出される（ＲＤ＝ｒｄ１・ｒｄ２）。続くステップ２０７ａでは補正筒内容積ＶＣが算出される（ＶＣ＝ＶＢ・（１＋ＲＬｆ）・（１＋ＲＤ））。続くステップ２０８ではベースクランク角ＣＡ５０Ｂが図１２のマップを用いて算出される。続くステップ２０９では補正クランク角ＣＡ５０Ｃが図１２のマップを用いて算出される。続くステップ２１０ではクランク角補正値ΔＣＡＣが算出される（ΔＣＡＣ＝ＣＡ５０Ｃ−ＣＡ５０Ｂ）。続くステップ２１１ではクランク角補正値の絶対値｜ΔＣＡＣ｜が限界値ＬＭＴよりも大きいか否かが判別される。｜ΔＣＡＣ｜＞ＬＭＴのときには次いでステップ２１２に進み、クランク角補正値ΔＣＡＣおよび補正クランク角ＣＡ５０Ｃが変更される。続くステップ２１３では機械圧縮比εが変更される。次いでステップ２１４に進む。一方、ステップ２１１において｜ΔＣＡＣ｜≦ＬＭＴのときにはステップ２１４にジャンプする。即ち、クランク角補正値ΔＣＡＣおよび機械圧縮比εが変更されない。
【００８０】
ステップ２１４では点火時期ＳＡＦが算出される（ＳＡＦ＝ＳＡＢ＋ΔＣＡＣ＋ΔＣＡＦＢ）。続くステップ２１５では点火時期ＳＡＦでもって点火作用が行われる。続くステップ２１６では今回のルーチンにおけるベース筒内容積ＶＢおよびベースクランク角ＣＡ５０Ｂが前回の燃焼におけるベース筒内容積ＶＢｐおよびベースクランク角ＣＡ５０Ｂとして記憶される。また、今回のルーチンにおける補正値の合計が前回の燃焼におけるクランク角偏差ΔＣＡＦｐとして記憶される（ΔＣＡＦｐ＝ΔＣＡＦＢ＋ΔＣＡＣ）。
【００８１】
図２５は本発明による実施例の学習値ＲＬの更新ルーチンを示している。このルーチンは一定時間ごとの割り込みによって実行される。
【００８２】
図２５を参照すると、ステップ３０１ではフィードバック補正値ΔＣＡＦＢが許容範囲ＡＲ内か否かが判別される。フィードバック補正値ΔＣＡＦＢが許容範囲ＡＲ内にあるときには処理サイクルを終了する。即ち、フィードバック補正値ΔＣＡＦＢは保持される。これに対し、フィードバック補正値ΔＣＡＦＢが許容範囲ＡＲ外にあるときには次いでステップ３０２に進み、前回の燃焼におけるベース筒内容積ＶＢｐが読み込まれる。続くステップ３０３では前回の燃焼におけるクランク角偏差ΔＣＡＦｐが読み込まれる。続くステップ３０４では前回の燃焼におけるクランク角ＣＡ５０Ｆｐが算出される（ＣＡ５０Ｆｐ＝ＣＡ５０Ｂｐ＋ΔＣＡＦｐ）。続くステップ３０５ではクランク角ＣＡ５０Ｆｐにおける筒内容積ＶＦｐが図１２のマップから算出される。続くステップ３０６では筒内容積偏差ΔＶＦｐが算出される（ΔＶＦｐ＝ＶＦｐ−ＶＢｐ）。続くステップ３０７ａでは筒内容積変化率ΔＶＦｐ／ＶＢｐが学習値ＲＬに設定される。続くステップ３０８ではフィードバック補正値ΔＣＡＦＢが基準値であるゼロに戻される。
【００８３】
次に、本発明による更に別の実施例を説明する。本発明による更に別の実施例では補正筒内容積ＶＣが次式（１０）から算出される。
ＶＣ＝（ＶＢ＋ΔＶＬｄ）・（１＋ＲＬｆ）・（１＋ＲＤ）  …（１０）
【００８４】
ΔＶＬｄは筒内容積偏差の形の学習値を、ＲＬｆは筒内容積変化率の形の学習値を、それぞれ表しており、分配係数ｒ（０≦ｒ≦１）を用いてそれぞれ次式（１１），（１２）により算出される。
ΔＶＬｄ＝ΔＶＦｐ・ｒ  …（１１）
ＲＬｆ＝ΔＶＦｐ・（１−ｒ）  …（１２）
【００８５】
この場合、図１５に示される筒内容積偏差ΔＶＦｐの一部が筒内容積偏差の形の学習値ΔＶＬｄに置換され、筒内容積偏差ΔＶＦｐの残りが筒内容積変化率の形の学習値ＲＬｆに置換されたと考えることができる。
【００８６】
本願発明者らによれば、燃焼室内壁面に付着しているデポジットの量を補償するためには筒内容積偏差の形の学習値ΔＶＬｄを用いるのが好ましく、オクタン価のような燃料性状を補償するためには筒内容積変化率の形の学習値ＲＬｆが好ましいことが確認されている。これは、燃焼室内壁面に付着しているデポジットの量が変化すると、デポジットの変化分だけ筒内容積が変化し、デポジットの変化分はベース筒内容積に依存しないからである。一方、燃料性状が変化した場合には、筒内容積自体は変化せず、しかしながらノッキングのレベルに影響を与える筒内温度及び筒内圧力が変化する。この筒内温度及び筒内圧力の変化分はベース筒内容積に依存する。そこで、本発明による別の実施例では、２つの学習値ΔＶＬｄ，ＲＬｆを用いている。その結果、ノッキングのレベルを目標レベルにより確実に維持することができる。
【００８７】
分配係数ｒは機関運転状態例えば機関負荷Ｌおよび機関回転数Ｎｅの関数として図２６に示されるマップの形で予めＲＯＭ３２内に記憶されている。
【００８８】
図２７および図２８は本発明による別の実施例の点火時期制御ルーチンを示している。このルーチンは一定時間ごとの割り込みによって実行される。
【００８９】
図２７および図２８を参照すると、ステップ２０１ではベース点火時期ＳＡＢが図６のマップを用いて算出される。続くステップ２０２ではフィードバック補正値ΔＣＡＦＢの算出ルーチンが実行される。このルーチンは図８に示されている。続くステップ２０３ではベース筒内容積ＶＢが図１１のマップを用いて算出される。続くステップ２０４ｂでは学習値ΔＶＬｄ，ＲＬｆが読み込まれる。学習値ΔＶＬｄ，ＲＬｆは図２９に示されるルーチンによって更新される。続くステップ２０５ａでは補正値ｒｄ１，ｒｄ２が図２２（Ａ），２２（Ｂ）のマップを用いて算出され、外乱補正値ＲＤが算出される（ＲＤ＝ｒｄ１・ｒｄ２）。続くステップ２０７ｂでは補正筒内容積ＶＣが算出される（ＶＣ＝（ＶＢ＋ΔＶＬｄ）・（１＋ＲＬｆ）・（１＋ＲＤ））。続くステップ２０８ではベースクランク角ＣＡ５０Ｂが図１２のマップを用いて算出される。続くステップ２０９では補正クランク角ＣＡ５０Ｃが図１２のマップを用いて算出される。続くステップ２１０ではクランク角補正値ΔＣＡＣが算出される（ΔＣＡＣ＝ＣＡ５０Ｃ−ＣＡ５０Ｂ）。続くステップ２１１ではクランク角補正値の絶対値｜ΔＣＡＣ｜が限界値ＬＭＴよりも大きいか否かが判別される。｜ΔＣＡＣ｜＞ＬＭＴのときには次いでステップ２１２に進み、クランク角補正値ΔＣＡＣおよび補正クランク角ＣＡ５０Ｃが変更される。続くステップ２１３では機械圧縮比εが変更される。次いでステップ２１４に進む。一方、ステップ２１１において｜ΔＣＡＣ｜≦ＬＭＴのときにはステップ２１４にジャンプする。即ち、クランク角補正値ΔＣＡＣおよび機械圧縮比εが変更されない。
【００９０】
ステップ２１４では点火時期ＳＡＦが算出される（ＳＡＦ＝ＳＡＢ＋ΔＣＡＣ＋ΔＣＡＦＢ）。続くステップ２１５では点火時期ＳＡＦでもって点火作用が行われる。続くステップ２１６では今回のルーチンにおけるベース筒内容積ＶＢおよびベースクランク角ＣＡ５０Ｂが前回の燃焼におけるベース筒内容積ＶＢｐおよびベースクランク角ＣＡ５０Ｂとして記憶される。また、今回のルーチンにおける補正値の合計が前回の燃焼におけるクランク角偏差ΔＣＡＦｐとして記憶される（ΔＣＡＦｐ＝ΔＣＡＦＢ＋ΔＣＡＣ）。
【００９１】
図２９は本発明による別の実施例の学習値ΔＶＬの更新ルーチンを示している。このルーチンは一定時間ごとの割り込みによって実行される。
【００９２】
図２９を参照すると、ステップ３０１ではフィードバック補正値ΔＣＡＦＢが許容範囲ＡＲ内か否かが判別される。フィードバック補正値ΔＣＡＦＢが許容範囲ＡＲ内にあるときには処理サイクルを終了する。即ち、フィードバック補正値ΔＣＡＦＢは保持される。これに対し、フィードバック補正値ΔＣＡＦＢが許容範囲ＡＲ外にあるときには次いでステップ３０２に進み、前回の燃焼におけるベース筒内容積ＶＢｐが読み込まれる。続くステップ３０３では前回の燃焼におけるクランク角偏差ΔＣＡＦｐが読み込まれる。続くステップ３０４では前回の燃焼におけるクランク角ＣＡ５０Ｆｐが算出される（ＣＡ５０Ｆｐ＝ＣＡ５０Ｂｐ＋ΔＣＡＦｐ）。続くステップ３０５ではクランク角ＣＡ５０Ｆｐにおける筒内容積ＶＦｐが図１２のマップから算出される。続くステップ３０６では筒内容積偏差ΔＶＦｐが算出される（ΔＶＦｐ＝ＶＦｐ−ＶＢｐ）。続くステップ３０７ｂでは分配係数ｒが図２６のマップを用いて算出される。続くステップ３０７ｃでは筒内容積偏差の形の学習値ΔＶＬｄが算出される（ΔＶＬｄ＝ΔＶＦｐ・ｒ）。続くステップ３０７ｄでは筒内容積変化率の形の学習値ＲＬｆが算出される（ＲＬｆ＝ΔＶＦｐ・（１−ｒ））。続くステップ３０８ではフィードバック補正値ΔＣＡＦＢが基準値であるゼロに戻される。
【００９３】
このように本発明による更に別の実施例では、学習値が筒内容積偏差および筒内容積変化率に基づいて更新される。
【符号の説明】
【００９４】
１    クランクケース
２    シリンダブロック
３    シリンダヘッド
４    ピストン
５    燃焼室
７    吸気弁
２２    ノックセンサ
Ａ    可変圧縮比機構
Ｂ    可変バルブタイミング機構
【図１】
2014185569.tif 000003
【図２】
2014185569.tif 000004
【図３】
2014185569.tif 000005
【図４】
2014185569.tif 000006
【図５】
2014185569.tif 000007
【図６】
2014185569.tif 000008
【図７】
2014185569.tif 000009
【図８】
2014185569.tif 000010
【図９】
2014185569.tif 000011
【図１０】
2014185569.tif 000012
【図１１】
2014185569.tif 000013
【図１２】
2014185569.tif 000014
【図１３】
2014185569.tif 000015
【図１４】
2014185569.tif 000016
【図１５】
2014185569.tif 000017
【図１６】
2014185569.tif 000018
【図１７】
2014185569.tif 000019
【図１８】
2014185569.tif 000020
【図１９】
2014185569.tif 000021
【図２０】
2014185569.tif 000022
【図２１】
2014185569.tif 000023
【図２２】
2014185569.tif 000024
【図２３】
2014185569.tif 000025
【図２４】
2014185569.tif 000026
【図２５】
2014185569.tif 000027
【図２６】
2014185569.tif 000028
【図２７】
2014185569.tif 000029
【図２８】
2014185569.tif 000030
【図２９】
2014185569.tif 000031