(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
本発明の一実施形態を、図面を参照して説明する。
図1に、本実施形態における車両用内燃機関の概要を示す。
【0013】
本実施形態における内燃機関は、火花点火式ガソリンエンジンであり、複数の気筒1(
図1には、そのうち一つを図示している)を具備している。各気筒1の吸気ポート近傍には、燃料を噴射するインジェクタ11を設けている。また、各気筒1の燃焼室の天井部に、点火プラグ12を取り付けてある。点火プラグ12は、点火コイルにて発生した誘導電圧の印加を受けて、中心電極と接地電極との間で火花放電を惹起するものである。点火コイルは、半導体スイッチング素子であるイグナイタとともに、コイルケースに一体的に内蔵される。
【0014】
図2に、火花点火用の電気回路を示している。点火プラグ12は、点火コイル14にて発生した誘導電圧の印加を受けて、中心電極と接地電極との間で火花放電を惹起するものである。点火コイル14は、半導体スイッチング素子であるイグナイタ13とともに、コイルケースに一体的に内蔵される。
【0015】
内燃機関の制御装置たるECU(Electronic Control Unit)0からの点火信号iをイグナイタ13が受けると、まずイグナイタ13が点弧して点火コイル14の一次側に電流が流れ、その直後の点火タイミングでイグナイタ13が消弧してこの電流が遮断される。すると、自己誘導作用が起こり、一次側に高電圧が発生する。そして、一次側と二次側とは磁気回路及び磁束を共有するので、二次側にさらに高い誘導電圧が発生する。この高い誘導電圧が点火プラグ12の中心電極に印加され、中心電極と接地電極との間で火花放電する。
【0016】
ECU0は、燃料の爆発燃焼の際に気筒1の燃焼室内に発生するイオン電流を検出し、このイオン電流を参照して、燃焼状態の判定を行う。
【0017】
図2に示すように、本実施形態では、火花点火用の電気回路に、イオン電流を検出するための回路を付加している。この検出回路は、イオン電流を効果的に検出するためのバイアス電源部15と、イオン電流の多寡に応じた検出電圧を増幅して出力する増幅部16とを備える。バイアス電源部15は、バイアス電圧を蓄えるキャパシタ151と、キャパシタ151の電圧を所定電圧まで高めるためのツェナーダイオード152と、電流阻止用のダイオード153、154と、イオン電流に応じた電圧を出力する負荷抵抗155とを含む。増幅部16は、オペアンプに代表される電圧増幅器161を含む。
【0018】
点火プラグ12の中心電極と接地電極との間のアーク放電時にはキャパシタ151が充電され、その後キャパシタ151に充電されたバイアス電圧により負荷抵抗155にイオン電流が流れる。イオン電流が流れることで生じる抵抗155の両端間の電圧は、増幅部16により増幅されてイオン電流信号hとしてECU0に受信される。
【0019】
図3に、正常燃焼における、イオン電流(図中実線で示す)及び気筒1内の燃焼圧力(筒内圧。図中破線で示す)のそれぞれの推移を例示している。イオン電流は、点火のための放電中は検出することができない。正常燃焼の場合のイオン電流は、火花点火の終了後、化学反応により、圧縮上死点の手前で減少した後、熱解離によって再び増加する。また、燃焼圧がピークを迎えるのとほぼ同時にイオン電流も極大となる。
【0020】
吸気を供給するための吸気通路3は、外部から空気を取り入れて各気筒1の吸気ポートへと導く。吸気通路3上には、エアクリーナ31、電子スロットルバルブ32、サージタンク33、吸気マニホルド34を、上流からこの順序に配置している。
【0021】
排気を排出するための排気通路4は、気筒1内で燃料を燃焼させた結果発生した排気を各気筒1の排気ポートから外部へと導く。この排気通路4上には、排気マニホルド42及び排気浄化用の三元触媒41を配置している。
【0022】
本実施形態の内燃機関には、外部EGR装置2が付帯している。外部EGR装置2は、いわゆる高圧ループEGRを実現するものであり、排気通路4における触媒41の上流側と吸気通路3におけるスロットルバルブ32の下流側とを連通するEGR通路21と、EGR通路21上に設けたEGRクーラ22と、EGR通路21を開閉し当該EGR通路21を流れるEGRガスの流量を制御するEGRバルブ23とを要素とする。EGR通路21の入口は、排気通路4における排気マニホルド42またはその下流の所定箇所に接続している。EGR通路21の出口は、吸気通路3におけるスロットルバルブ32の下流の所定箇所、具体的にはサージタンク33に接続している。
【0023】
内燃機関の運転制御を司るECU0は、プロセッサ、メモリ、入力インタフェース、出力インタフェース等を有したマイクロコンピュータシステムである。
【0024】
入力インタフェースには、車両の実車速を検出する車速センサから出力される車速信号a、クランクシャフトの回転角度及びエンジン回転数を検出するエンジン回転センサから出力されるクランク角信号(N信号)b、アクセルペダルの踏込量またはスロットルバルブ32の開度をアクセル開度(いわば、要求負荷)として検出するセンサから出力されるアクセル開度信号c、気筒1を内包するシリンダブロックの振動の大きさを検出するノックセンサから出力される振動信号d、吸気通路3(特に、サージタンク33)内の吸気温及び吸気圧を検出する温度・圧力センサから出力される吸気温・吸気圧信号e、機関の冷却水温を検出する水温センサから出力される冷却水温信号f、吸気カムシャフトまたは排気カムシャフトの複数のカム角にてカム角センサから出力されるカム角信号(G信号)g、燃焼室内での混合気の燃焼に伴って生じるイオン電流を検出する回路から出力されるイオン電流信号h等が入力される。
【0025】
出力インタフェースからは、点火プラグ12のイグナイタに対して点火信号i、インジェクタ11に対して燃料噴射信号j、スロットルバルブ32に対して開度操作信号k、EGRバルブ23に対して開度操作信号l等を出力する。
【0026】
ECU0のプロセッサは、予めメモリに格納されているプログラムを解釈、実行し、運転パラメータを演算して内燃機関の運転を制御する。ECU0は、内燃機関の運転制御に必要な各種情報a、b、c、d、e、f、g、hを入力インタフェースを介して取得し、エンジン回転数を知得するとともに気筒1に充填される吸気量を推算する。そして、それらエンジン回転数及び吸気量等に基づき、要求される燃料噴射量、燃料噴射タイミング(一度の燃焼に対する燃料噴射の回数を含む)、燃料噴射圧、点火時期、要求EGR率(または、EGR量)といった各種運転パラメータを決定する。運転パラメータの決定手法自体は、既知のものを採用することが可能である。ECU0は、運転パラメータに対応した各種制御信号i、j、k、lを出力インタフェースを介して印加する。
【0027】
本実施形態において、ECU0は、ノックセンサを介して取得される振動信号d、またはイオン電流を検出するための回路を介して取得されるイオン電流信号hを参照し、気筒1におけるノッキングの有無を判定する。要するに、ノック判定方法が二つあり、ECU0は何れかの方法を選択してノック判定を行う。
【0028】
振動信号dを参照したノック判定に関して述べる。ノックセンサは、複数の気筒1を包有するシリンダブロックに取り付けられ、シリンダブロックの振動を振動信号dとして出力する既知のものである。
【0029】
ノッキングの有無を判定するにあたり、ECU0は予め、統計処理によりノック判定値を算定しておく。具体的には、何れの気筒1においてもノッキングが起こっていないと思しき状況下で、シリンダブロックの振動をノックセンサを介してサンプリングし、振動信号dを得る。そして、この振動信号dのサンプリング値のある期間内の時系列から、平均値及び標準偏差、ひいてはノック判定値を算出する。平均値をX、標準偏差をσとおくと、ノック判定値Jは、
J=X+Uσ
として求められる。上式における係数Uは、そのときの運転領域、即ちエンジン回転数及び要求負荷に応じて設定する。係数Uを、空燃比の高低に応じて変えるようにしてもよい。
【0030】
その上で、ノックセンサが出力する振動信号dの現在のサンプリング値を、ノック判定値Jと比較する。現在のサンプリング値がノック判定値Jを上回ったならは、何れかの気筒1にてノッキングが起こったものと判定する。逆に、現在のサンプリング値がノック判定値J以下であるならば、気筒1にてノッキングは起こっていないものと判定する。係数U、ノック判定値J等は、ECU0のメモリに記憶保持する。
【0031】
ノックセンサは、気筒1毎の振動や燃焼音等を個別に出力することはできない。振動信号dを参照して、気筒1毎に個別にノッキングの有無の判定を行うことはできない。
【0032】
次に、イオン電流信号hを参照したノック判定に関して述べる。
図4に、気筒1での膨張行程中にノッキングが起こったときの、イオン電流の推移を例示する。ノッキングが起こる際、気筒1の燃焼室内では燃焼速度の速い、激しい燃焼が生じている。それ故、
図3に示した正常燃焼の場合と比較して、イオン電流が早期にピークを迎え、その後速やかに減衰する。そして、イオン電流信号hのピーク後の波形に、ノッキングに起因して発生する振動Sが重畳される。
【0033】
ノッキングの有無を判定するにあたり、ECU0は、点火後の燃焼期間に点火プラグ12の電極を流れるイオン電流を、イオン電流検出用の回路を介してサンプリングする。さらに、サンプリングしたイオン電流信号hを、ノッキングに起因して発生する信号Sが持つ周波数成分を通過させるバンドパスフィルタに入力し、当該信号Sの成分を抽出する。フィルタは、ノッキングに起因した信号S以外の成分を低減させるためのフィルタであって、例えば7kHzないし11.5kHzの周波数成分を通過させる。
【0034】
その上で、フィルタ処理した信号hを時間積分、換言すればサンプリング値の時系列を積算し、結果得られる積分値を所定のノック判定値と比較する。積分値がノック判定値を上回ったならは、当該気筒1にてノッキングが起こったものと判定する。逆に、積分値がノック判定値以下であるならば、当該気筒1にてノッキングは起こらなかったものと判定する。ノック判定値は、ECU0のメモリに記憶保持する。
【0035】
イオン電流検出回路は、各気筒1に装着されている各点火プラグ12に流れるイオン電流をそれぞれ検出可能である。即ち、気筒1毎に個別にイオン電流信号hを取得することができ、気筒1毎に個別にノッキングの有無の判定を行うことができる。
【0036】
一方で、イオン電流信号hにノイズが混入すると、ノッキング判定を誤るおそれがある。ノイズの典型は、各種補機の稼働/非稼働を切り替えるために操作されるリレースイッチのON/OFF時に、イオン電流検出用回路に誘起されるスパイクノイズである。また、気筒1にてノッキングが起こっていないにもかかわらず、
図4に示している信号Sに近い擬似ノック信号が、ノッキングの起こる時期よりも遅れて出現することもある。これらのノイズがイオン電流信号hに混入した場合、ノッキングが起こっていないにもかかわらずノッキングがあったものと誤判定しかねない。
【0037】
加えて、吸気量及び燃料噴射量の乏しい低負荷領域や、EGRガスの還流量の多い中負荷領域では、そもそもイオン電流の検出レベルが低下する。よって、信号hのS/N比が減少し、誤判定を招くおそれが高まる。
【0038】
そこで、本実施形態では、イオン電流信号hを参照した各気筒1個別のノッキング判定が不要である場合や、イオン電流信号hを参照したノッキング判定に誤りが生じやすい場合において、イオン電流信号hではなく振動信号dを参照したノッキング判定を行うこととしている。
【0039】
振動信号dを参照したノッキング判定を行うのは、以下の場合である。
・点火時期を内燃機関の出力トルクが最大となるMBTまたはその近傍に設定して運転する場合
・EGRガスの還流量が多い場合等、ノッキングを起こす危険が小さい、及び/または、イオン電流信号hが微弱で低レベルとなる場合
・イオン電流検出用の回路を介したイオン電流の検出が不良である場合
図5に、点火時期と内燃機関の出力トルクとの関係を示す。周知の通り、内燃機関の出力トルクは、点火時期をMBT点に設定したときに最大化し、点火時期をMBT点から進角または遅角させるほど低下する。
【0040】
点火時期をMBTまたはその近傍に設定することが許容されるMBT領域では、元来ノッキングを引き起こす危険が小さい。また、吸気量及び燃焼噴射量の少ない低負荷低回転の運転領域にあっては、気筒1の燃焼室内での燃焼が弱く、イオン電流量も少なくなる。多量のEGRガスを吸気に混入する中負荷の運転領域でも、同様である。従って、振動信号hを参照したノッキング判定を行う。
【0041】
これに対し、非MBT領域は、点火時期を敢えてMBTよりも遅角した時期に設定する必要のある領域である。非MBT領域で点火時期をMBT点に設定すると、気筒1の燃焼室内の温度及び圧力が著しく高まり、ノッキングを引き起こす危険が大きい。要求負荷の低い低負荷域であっても、そのときのエンジン回転数が高ければ非MBT領域に属する。並びに、低回転域であっても、要求負荷の高い高負荷域であれば非MBT領域に属する。ノッキングを起こすおそれが高い状況においては、イオン電流信号hを参照したノッキング判定を行う。
【0042】
図6に、エンジン回転数及び点火時期と、ノック判定方法との関係の具体例を示す。なお、
図6は、スロットルバルブ32の開度が全開、即ち要求負荷が最大の場合を示している。
【0043】
図6中、実線は、気筒1においてノッキングが起こるか否かの境界を表す。実線よりも上方が、ノッキングが起こる可能性の高い領域であり、実線よりも下方が、ノッキングが起こる可能性の低い(または、ノッキングが起こらない)領域である。この境界線は、エンジン回転数が低いほど進角化し、エンジン回転数が高いほど遅角化する、右肩下がりの傾向を有する。
【0044】
破線は、MBTの点火時期である。MBTの点火時期もまた、エンジン回転数が低いほど進角化し、エンジン回転数が高いほど遅角化する、右肩下がりの傾向を有する。そして、破線の傾きは実線の傾きよりも大きい。
図6に示しているように、要求負荷が高い場合には、これら破線と実線とがあるエンジン回転数の値R
0において交わる。
【0045】
エンジン回転数がR
0よりも高い領域では、破線が実線よりも下にある。つまり、点火時期をMBTまたはその近傍に設定しても、ノッキングは起こらない。よって、通常、点火時期を出力及び燃費上有利なMBTまで進角する。エンジン回転数がR
0よりも高いこの領域が、上記のMBT領域に該当する。
【0046】
他方、エンジン回転数がR
0よりも低い領域では、破線が実線よりも上にある。つまり、点火時期をMBTまたはその近傍に設定すると、ノッキングを引き起こすおそれがある。ノッキングの回避のためには、点火時期をMBTから遅角させることが求められる。エンジン回転数がR
0よりも低いこの領域が、上記の非MBT領域に該当する。
【0047】
図6中、鎖線は、ノック判定方法の切り替わりの境界を表す。鎖線の下方、ハッチングを施している領域では、振動信号dを参照したノック判定を行う。エンジン回転数がR
0よりも高いMBT領域では、過渡期やその他特別な事情のない限り、点火時期をMBTまたはその近傍とすることから、振動信号dを参照してノック判定を行う。エンジン回転数がR
0よりも低い非MBT領域においても、点火時期を既に十分に遅角化している状況では、ノッキングを起こす危険が小さいので、振動信号dを参照してノック判定を行う。
【0048】
鎖線の上方、ハッチングを施していない領域では、ノッキングを起こす危険があり、イオン電流信号hを参照したノック判定を行う。実線と鎖線との間の乖離は、安全域を考慮したものである。
【0049】
イオン電流の検出が不良となる原因としては、点火プラグ12の使用期間が長くなるにつれて、その電極に燃料成分や潤滑油、添加剤等のデポジットが付着し堆積してゆくことが挙げられる。
【0050】
例えば、カーボンの如き導電性の物質を含むデポジットは、点火プラグ12の中心電極と接地電極との間を短絡するように働く。そして、気筒1の燃焼室内にイオン電流が発生せず、またはその発生量が少なくても、不当に高いイオン電流信号hを与えてしまう要因となる。
【0051】
二酸化ケイ素(シリカ)の如き絶縁性の物質を含むデポジットは、点火プラグ12の電極を流れるイオン電流を低減させる電気抵抗として働く。そして、気筒1の燃焼室内に十分な量のイオン電流が発生していても、不当に低いイオン電流信号hを与えてしまう要因となる。
【0052】
図7及び
図8に、気筒1におけるノッキングの有無の判定及び点火時期の制御に際してECU0が実行する処理の手順例を示す。
図7及び
図8に示しているルーチンは、反復的に実行する。ECU0はまず、現在の運転領域[エンジン回転数,要求負荷]が、MBT領域、非MBT領域の何れに該当しているかを判断する(ステップS1)。現在MBT領域にある場合には、ノック判定においてノックセンサを介して取得される振動信号dを参照する。
【0053】
現在非MBT領域にある場合でも、EGRガスの還流量が多い状況であるならば(ステップS2)、ノック判定において振動信号dを参照する。ステップS2では、ECU0が演算している要求EGR率若しくはEGRバルブ23の開度(EGRステップ数)が閾値以上であるか、気筒1の膨張行程におけるイオン電流信号hのサンプリング値のピーク値若しくは平均値が閾値以下である、または膨張行程におけるイオン電流信号hのサンプリング値のピーク値若しくは平均値が膨張行程の機会(点火の機会)毎にある程度以上ばらついている等を条件として、EGRガスの還流量が多い状況にあると判断する。
【0054】
また、イオン電流の検出不良を感知しているならば(ステップS3)、やはりノック判定において振動信号dを参照する。ステップS3では、気筒1が膨張行程にあるにもかかわらずイオン電流信号hが所定レベル以下に低いまま推移している、または気筒1が膨張行程以外の行程にあるにもかかわらずイオン電流信号hが所定レベル以上に高いまま推移している等を条件として、イオン電流の検出不良と判断する。
【0055】
上記以外の場合には、ノック判定において、イオン電流検出用の回路を介して取得されるイオン電流信号hを参照する。イオン電流信号hを参照したノック判定は、各気筒1毎に個別のものとなる。
【0056】
基本的に、ノック判定の結果、気筒1にてノッキングが起こっているのであれば、点火時期をノッキングが起こらなくなるまで遅角化してゆく。ノッキングが起こっていないのであれば、点火時期をノッキングが起こる直前まで進角化し、出力トルクを増大させて燃費の向上を追求する。
【0057】
点火時期の制御に関して、より詳しく述べる。ノック判定において振動信号dを参照する場合、どの気筒1でノッキングが起こったか、どの気筒1でノッキングが起こっていないかを精確に把握することは容易ではない。よって、本実施形態では、全ての気筒1について同じ点火時期を設定する。
【0058】
ステップS4以後の処理は、前回(過去の直近)のルーチンの実行機会において、振動信号dを参照してノック判定を行ったか、イオン電流信号hを参照してノック判定を行ったかに応じて異なる。
【0059】
前回のルーチンの実行機会において振動信号dを参照してノック判定を行った、即ちノック判定方法が切り替わっていないならば、その前回のルーチンの実行機会において設定した点火時期を基に、今回のルーチンの実行機会における点火時期を決定する。
【0060】
ECU0は、ステップS5にてノッキングが起こっていると判定した場合、前回設定した点火時期からある補正量だけ遅角した新たな点火時期を設定し(ステップS6)、当該新たな点火時期を以て各気筒1の点火を遂行する。
【0061】
翻って、ステップS5にてノッキングが起こっていないと判定した場合には、前回設定した点火時期からある補正量だけ進角した新たな点火時期を設定し(ステップS7)、当該新たな点火時期を以て各気筒1の点火を遂行する。
【0062】
さらに、ステップS5にてノッキングが起こっていないと判定した場合にあっては、設定した点火時期を、そのときの運転領域を示すパラメータ[エンジン回転数,要求負荷]に関連付けて、学習値としてメモリに記憶保持する(ステップS8)。この点火時期の学習値は、下記のステップS9にて読み出され、用いられる。なお、点火時期の学習値は、ノック判定方法毎に別個に存在する。
【0063】
前回のルーチンの実行機会においてイオン電流信号hを参照してノック判定を行った、即ちノック判定方法が切り替わったならば、過去に学習した学習値を利用して、今回のルーチンの実行機会における点火時期を決定する。ECU0は、過去に実行したルーチンのステップS8にて学習した学習値のうち、現在の運転領域に対応している学習値をメモリから読み出して新たな点火時期とし(ステップS9)、当該新たな点火時期を以て各気筒1の点火を遂行する。
【0064】
但し、ステップS9で読み出した学習値の点火時期は、イオン電流信号hを参照してノック判定を行っていた前回のルーチンの実行機会における点火時期から乖離している可能性がある。点火時期の急変は、機関の出力トルクの急変につながり、ショックの発生を招来する。
【0065】
よって、ノック判定方法が切り替わった後のある一定期間は、ステップS9またはS6、S7にて決定した点火時期をそのまま点火に用いない。そして、現在及び前回以前の過去の複数回のルーチンの実行機会において決定した複数の点火時期の移動平均をとり、その移動平均を用いて点火を遂行する等、ノック判定方法が切り替わる前から点火時期を徐変させるようにすることが好ましい。ステップS9にて、単純に、前回のルーチンの実行機会における点火時期と、メモリから読み出した学習値とを足して二で割り、新たな点火時期とすることも一案である。
【0066】
ノック判定においてイオン電流信号hを参照する場合、どの気筒1でノッキングが起こったか、どの気筒1でノッキングが起こっていないかを個別に把握することが可能である。よって、各気筒1毎に個別にノック判定を行い、かつ各気筒1毎に個別に点火時期を設定する。
【0067】
ステップS10以後の処理は、対象となる気筒1につき、前回(直近の過去)のルーチンの実行機会において、イオン電流信号hを参照してノック判定を行ったか、振動信号dを参照してノック判定を行ったかに応じて異なる。
【0068】
対象の気筒1について前回もイオン電流信号hを参照してノック判定を行った、即ちノック判定方法が切り替わっていないならば、その前回のルーチンの実行機会において当該気筒1に設定した点火時期を基に、今回のルーチンの実行機会における点火時期を決定する。
【0069】
ECU0は、ステップS11にて対象の気筒1にノッキングが起こっていると判定した場合、前回設定した点火時期からある補正量だけ遅角した新たな点火時期を設定し(ステップS12)、当該新たな点火時期を以て当該気筒1の次回の点火を遂行する。
【0070】
翻って、ステップS11にて対象の気筒1にノッキングが起こっていないと判定した場合には、前回設定した点火時期からある補正量だけ進角した新たな点火時期を設定し(ステップS13)、当該新たな点火時期を以て当該気筒1の次回の点火を遂行する。
【0071】
さらに、ステップS11にてノッキングが起こっていないと判定した場合にあっては、設定した点火時期を、そのときの運転領域を示すパラメータ[エンジン回転数,要求負荷]及び当該気筒1を識別する識別子に関連付けて、学習値としてメモリに記憶保持する(ステップS14)。この点火時期の学習値は、下記のステップS15にて読み出され、用いられる。既に述べた通り、ステップS14で学習する学習値は、ステップS8で学習する学習値とは別個のものである。
【0072】
当然ながら、ステップS14の学習値の学習は、イオン電流信号hを参照したノック判定を行わないとき、特にイオン電流検出用の回路を介したイオン電流の検出が不良であるときには、実施しない。
【0073】
対象の気筒1について前回イオン電流信号hを参照してノック判定を行っておらず、振動信号dを参照してノック判定を行った、即ちノック判定方法が切り替わったならば、過去に学習した学習値を利用して、今回のルーチンの実行機会における対象の気筒1の点火時期を決定する。ECU0は、過去に実行したルーチンのステップS14にて学習した学習値のうち、現在の運転領域に対応し、かつ対象の気筒1に対応している学習値をメモリから読み出して新たな点火時期とし(ステップS15)、当該新たな点火時期を以て当該気筒1の次回の点火を遂行する。
【0074】
但し、ステップS15で読み出した学習値の点火時期は、振動信号dを参照してノック判定を行っていた前回のルーチンの実行機会における対象の気筒1の点火時期から乖離している可能性がある。点火時期の急変は、機関の出力トルクの急変につながり、ショックの発生を招来する。
【0075】
よって、ノック判定方法が切り替わった後のある一定期間は、ステップS15またはステップS12、13にて決定した点火時期をそのまま点火に用いない。そして、現在及び前回以前の過去の複数回のルーチンの実行機会において決定した、対象の気筒1についての複数の点火時期の移動平均をとり、その移動平均を用いて点火を遂行する等、ノック判定方法が切り替わる前から点火時期を徐変させるようにすることが好ましい。ステップS15にて、単純に、前回のルーチンの実行機会における対象の気筒1の点火時期と、メモリから読み出した学習値とを足して二で割り、当該気筒1に係る新たな点火時期とすることも一案である。
【0076】
本実施形態では、燃焼の際に点火プラグ12の電極を流れるイオン電流信号hを基に気筒1におけるノッキングの有無を判定するとともに、点火時期を機関の出力トルクが最大となるMBTまたはその近傍に設定して運転している場合には、ノックセンサを介して検出される機関のシリンダブロックの振動dを基に気筒1におけるノッキングの有無を判定して、ノッキングが起こらないよう点火時期を制御することを特徴とする制御装置0を構成した。
【0077】
即ち、イオン電流信号hを参照したノック判定に誤りを生じやすい状況、またはイオン電流信号hを参照した精緻なノック判定を行う必要がない状況において、振動信号dを参照してノック判定を行い、点火時期の制御を実行するものとしたのである。本実施形態によれば、イオン電流信号hを参照したノック判定の誤りに起因して気筒1における点火時期が不必要に遅角化してしまう問題を、緩和ないし回避できる。そして、実効燃費の一層の向上に資する。
【0078】
なお、本発明は以上に詳述した実施形態に限られるものではない。例えば、上記実施形態では、ノックセンサを介して取得される振動信号dを参照する場合、各気筒1毎に個別にノック判定を行わず、各気筒1毎に個別に点火時期を調整しない、即ち全気筒1について一律の点火時期を設定することとしていたが、各気筒1の膨張行程と同期して各気筒1毎に個別にノック判定を行い、各気筒1毎に個別に点火時期を設定してもよい。加えて、点火時期の学習値を、各気筒1毎に個別のものとしてもよい。
【0079】
その他、各部の具体的構成や処理の手順等は、本発明の趣旨を逸脱しない範囲で種々変形が可能である。