(57)【要約】【課題】  エンジンの点火制御装置において、エンジンの逆転を防止すると共に、無駄な強制失火を回避する。【解決手段】  エンジンは、クランク角度センサと、吸気管圧力センサと、吸気温度センサと、シリンダ温度センサとを備えている。エンジンの制御系１００は、エンジンの逆転を招く回転周期の値が吸気管圧力に応じて設定されたデータを記憶している。制御系１００は、回転周期及び吸気管圧力を検出し、回転周期及び吸気管圧力の組み合わせがエンジンの逆転を招く組み合わせであると判断すると、エンジンの点火を禁止する。【選択図】  図３
2006207565.tif 000002
【特許請求の範囲】
【請求項１】
圧縮上死点前のクランク位置を含む所定範囲のクランク位置で点火を行う点火装置を備えたエンジンの点火制御装置であって、
前記エンジンの回転周期を検出する回転周期検出器と、
前記エンジンの負荷を検出する負荷検出器と、
前記エンジンの回転周期と負荷とに基づいて、前記点火装置の点火を禁止する点火禁止制御を実行する制御器と、
を備えたエンジンの点火制御装置。
【請求項２】
前記制御器は、エンジンの逆転を招く回転周期及び負荷の組み合わせに関するデータを記憶しており、前記回転周期検出器により検出された回転周期と前記負荷検出器により検出された負荷とが、エンジンの逆転を招く回転周期及び負荷の組み合わせに該当するか否かを前記データに基づいて判定し、該当するときには前記点火装置の点火を禁止する、請求項１に記載のエンジンの点火制御装置。
【請求項３】
前記制御器は、エンジンの逆転を判定する基準となる回転周期の閾値が負荷に応じて設定されたデータを記憶しており、前記回転周期検出器により検出された回転周期が前記閾値以上であるか否かを前記データに基づいて判定し、前記閾値以上のときには前記点火装置の点火を禁止する、請求項１に記載のエンジンの点火制御装置。
【請求項４】
前記エンジンの吸気管圧力を検出する圧力センサを備え、
前記負荷検出器は、前記吸気管圧力に基づいて負荷を検出する、請求項１に記載のエンジンの点火制御装置。
【請求項５】
前記エンジンの吸入空気量を検出する流量センサを備え、
前記負荷検出器は、前記吸入空気量に基づいて負荷を検出する、請求項１に記載のエンジンの点火制御装置。
【請求項６】
前記エンジンに設けられたスロットル弁の開度を検出する開度検出器を備え、
前記負荷検出器は、前記スロットル弁の開度に基づいて負荷を検出する、請求項１に記載のエンジンの点火制御装置。
【請求項７】
前記制御器は、
エンジンの回転周期が所定の第１閾値未満のときには、圧縮上死点前の所定の第１クランク位置以降における所定範囲のクランク位置で前記点火装置の点火を許容し、
エンジンの回転周期が前記第１閾値以上、且つ前記第１閾値よりも大きな所定の第２閾値未満のときには、前記第１クランク位置よりも後の所定の第２クランク位置以降における所定範囲のクランク位置で前記点火装置の点火を許容し、
エンジンの回転周期が前記第２閾値以上のときには、前記点火装置の点火を禁止する、請求項１に記載のエンジンの点火制御装置。
【請求項８】
エンジンの逆転を検出する逆転検出装置を備え、
前記制御器は、前記点火装置の点火を禁止した後、前記逆転検出装置がエンジンの逆転を検出した場合には、エンジンが停止するまで点火禁止を継続する、請求項１に記載のエンジンの点火制御装置。
【請求項９】
エンジンの吸気管圧力を検出する圧力センサと、
エンジンの逆転を検出する逆転検出装置とを備え、
前記制御器は、前記点火装置の点火を禁止した後、前記逆転検出装置がエンジンの逆転を検出しておらず且つ所定範囲のクランク位置における吸気管圧力がいずれも所定値未満である場合に、点火禁止を解除する、請求項１に記載のエンジンの点火制御装置。
【請求項１０】
前記制御器は、前記点火禁止解除を前記所定範囲のクランク位置よりも後のクランク位置において実行する、請求項９に記載のエンジンの点火制御装置。
【請求項１１】
クランク位置を検出するクランク位置検出器を備え、
前記制御器は、前記点火禁止解除に先立って、前記クランク位置検出器の検出誤差を是正するリセット動作を実行する、請求項９に記載のエンジンの点火制御装置。
【請求項１２】
前記制御器は、圧縮上死点前４０°から圧縮上死点までの範囲の所定のクランク位置における回転周期に基づいて、前記点火禁止制御を実行する、請求項１に記載のエンジンの点火制御装置。
【請求項１３】
点火装置と前記点火装置の点火時期を進角させる進角装置とを備えたエンジンの点火制御装置であって、
前記エンジンの回転周期を検出する回転周期検出器と、
前記エンジンの負荷を検出する負荷検出器と、
前記エンジンの回転周期と負荷とに基づいて、前記進角装置による進角を禁止する進角禁止制御を実行する制御器と、
を備えたエンジンの点火制御装置。
【請求項１４】
請求項１〜１３のいずれか一つに記載のエンジンの点火制御装置を備えた車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの点火制御装置及びそれを備えた車両に関するものである。
【背景技術】
【０００２】
従来から、いわゆる容積型の内燃機関（以下、単にエンジンという）では、ピストンが圧縮上死点に達する前に点火を行うと、エンジン回転数が低い場合等において、エンジンが逆転するおそれがあることが知られている。このようなエンジンの逆転は、圧縮上死点に向かって移動しているピストンに対して爆発力が作用し、ピストンが圧縮上死点に達する前に押し戻されることによって発生する。
【０００３】
そこで、エンジンの点火制御によって上記逆転を防止する技術が提案されている。例えば、下記特許文献１及び２に開示された制御は、エンジン回転数と逆転の発生との間に相関関係があることに基づき、エンジン回転数が所定回転数以下になると、一律に点火を禁止することとしている。
【特許文献１】特開昭６０−１８７７６６号公報
【特許文献２】特開２００２−７０７１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来の制御は、所定の回転数以下になると逆転が発生しやすいという経験則に基づいた制御である。しかしながら、本発明者は、種々の研究の結果、逆転が生じる回転数は一律ではなく、エンジンの負荷によって異なることを見いだした。すなわち、本発明者は、逆転が発生する最小回転数は、エンジンの負荷が大きいほど高くなり、逆に、負荷が小さいほど低くなることを見いだした。
【０００５】
ところが、従来は、逆転を防止するための基準となるエンジン回転数は、負荷の大きさに関係なく一律に設定されていた。そのため、負荷の大きな場合であっても逆転を確実に防止できるように、基準となる回転数は大きめに設定されていた。したがって、負荷の小さいときには、本来は逆転が起こらないような高い回転数であるにも拘わらず、点火装置の点火が強制的に禁止される場合があった。つまり、従来の制御では、不必要な強制失火を行うことがあった。
【０００６】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、エンジンの逆転を防止すると共に、無駄な強制失火を回避することにある。
【課題を解決するための手段】
【０００７】
本発明に係るエンジンの点火制御装置は、圧縮上死点前のクランク位置を含む所定範囲のクランク位置で点火を行う点火装置を備えたエンジンの点火制御装置であって、前記エンジンの回転周期を検出する回転周期検出器と、前記エンジンの負荷を検出する負荷検出器と、前記エンジンの回転周期と負荷とに基づいて、前記点火装置の点火を禁止する点火禁止制御を実行する制御器と、を備えたものである。
【０００８】
上記点火制御装置によれば、エンジンの回転周期及び負荷の両方に基づいて点火禁止制御を実行することとしたので、逆転が起こりやすい負荷の大きなときには、比較的小さめの回転周期（すなわち、比較的高めの回転数）を基準として点火を禁止することができる。一方、逆転が起こりにくい負荷の小さなときには、比較的大きめの回転周期（すなわち、比較的低めの回転数）を基準として点火を禁止することができる。したがって、無駄な強制失火を回避することができる。このように、上記点火制御装置によれば、負荷に応じた点火禁止制御を実行することができる。
【発明の効果】
【０００９】
以上のように、本発明によれば、エンジンの逆転を防止すると共に、無駄な強制失火を回避することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【００１１】
図１に示すように、本実施形態に係る車両は自動二輪車１である。ただし、本発明に係る車両は自動二輪車に限定される訳ではない。なお、ここでいう「自動二輪車」には、モータバイクの他、スクータ等も含まれる。
【００１２】
自動二輪車１は、車体フレーム３、フロントフォーク４及びリヤアーム１９を有する車体２と、フロントフォーク４に支持された前輪５と、リヤアーム１９に支持された後輪２１と、車体フレーム３に支持されたエンジン１２とを備えている。また、自動二輪車１は、エンジン１２を冷却する水冷却装置１６と、エンジン１２を制御するエンジンコントロールユニット（以下、ＥＣＵという）８とを備えている。車体フレーム３の後部の上方には、シート１１が配置されている。なお、符号２２はサイレンサー、符号２３はリヤクッションユニットである。
【００１３】
エンジン１２は、シリンダ１３を有するエンジン本体１４と、吸気管１０と、排気管１５とを備えている。本実施形態に係るエンジン１２は、単気筒４サイクルエンジンである。ただし、エンジン１２は多気筒の４サイクルエンジン等であってもよい。
【００１４】
図２に示すように、エンジン本体１４のシリンダ１３内には、ピストン３１が収容されている。ピストン３１にはコンロッド３０の一端が連結され、コンロッド３０の他端は、クランクケース２８内のクランク２７に連結されている。シリンダ１３の上部には、吸気ポート１７及び排気ポート１８が形成され、吸気ポート１７には吸気管１０が接続され、排気ポート１８には排気管１５が接続されている。吸気ポート１７には吸気バルブ６が設けられ、排気ポート１８には排気バルブ７が設けられている。なお、図２における符号３５、３６は、それぞれ吸入空気、排気ガスを示している。シリンダ１３内におけるピストン３１の上方には、燃焼室３２が区画されている。燃焼室３２には点火プラグ４３が配置され、点火プラグ４３は点火コイル４７に接続されている。
【００１５】
吸気管１０の内部には、アクセル開度に応じて開度が調整されるスロットルバルブ３３が設けられている。吸気管１０におけるスロットルバルブ３３の上流側には、インジェクタ４２が取り付けられている。インジェクタ４２には燃料パイプ３８が接続されており、燃料パイプ３８は燃料タンク３９に接続されている。燃料パイプ３８には、燃料ポンプ４１が設けられている。なお、図２では、燃料ポンプ４１は燃料タンク３９の外部に配置されているように図示されているが、燃料ポンプ４１が燃料タンク３９の内部に配置されていてもよいことは勿論である。
【００１６】
次に、各種のセンサ類について説明する。エンジン１２には、クランク角度センサ５１と、シリンダ温度センサ４４と、吸気管圧力センサ５０と、吸気温度センサ４５とが設けられている。クランク角度センサ５１は、クランクシャフト４６の回転角度、つまりクランク位置（クランク位相）を検出するセンサである。シリンダ温度センサ４４は、エンジン本体１４の温度を検出するセンサである。ここでは、シリンダ温度センサ４４は、シリンダ１３を冷却する冷却水の温度を検出する温度センサによって構成されている。ただし、シリンダ温度センサ４４は、シリンダ１３自体の温度を検出する温度センサであってもよい。吸気管圧力センサ５０は、吸気管１０の内部圧力（吸気管圧力）を検出するセンサである。吸気温度センサ４５は、吸気管１０の内部温度、すなわち吸気温度を検出するセンサである。
【００１７】
図４（ａ）に示すように、クランクシャフト４６には、ＡＣＭロータ２０が取り付けられている。ＡＣＭロータ２０の外周には、複数（本実施形態では１１個）のリラクタ（reluctor）６０〜７０が所定間隔毎に設けられている。ここでは、リラクタ６０とリラクタ７０との間隔は６０°であり、他のリラクタ同士の間隔は３０°となっている。ＡＣＭロータ２０の外周の近傍には、クランク角度センサとしてパルサコイル５１が配置されている。クランクシャフト４６が回転すると、各リラクタ６０〜７０がパルサコイル５１の近傍を通過し、パルサコイル５１の磁束が変化する。このことにより、クランク角度信号として、図４（ｂ）に示すようなパルス信号が生成される。本実施形態では、これらパルス信号に基づいてクランク位置が検出される。また、これらパルス信号の間隔（例えば、パルスの立ち下がりエッジ間の時間間隔）Ｔに基づいてエンジン１２の瞬間的な回転周期が検出され、エンジン回転数が算出される。
【００１８】
図２に示すように、クランク角度センサ５１、シリンダ温度センサ４４、吸気管圧力センサ５０、及び吸気温度センサ４５は、ＥＣＵ８に接続されている。ＥＣＵ８は、クランク角度センサ５１、シリンダ温度センサ４４、吸気管圧力センサ５０、吸気温度センサ４５から、それぞれクランク角度信号、冷却水温度信号、吸気管圧力信号、吸気温度信号を受け、燃料ポンプ４１、インジェクタ４２、及び点火コイル４７等に制御信号を出力する。
【００１９】
図３は、ＥＣＵ８によって構築される制御系１００のブロック図である。この制御系１００は、エンジン回転数算出部１０１と、クランクタイミング検出部１０２と、吸入空気量算出部１０３とを備えている。
【００２０】
エンジン回転数算出部１０１は、クランク角度信号を受けてエンジン回転数を算出し、エンジン回転数に関する情報を出力する。エンジン回転数の逆数は、エンジン回転周期である。そのため、エンジン回転数算出部１０１は、エンジンの回転周期を検出する回転周期検出器としても機能する。
【００２１】
クランクタイミング検出部１０２は、吸気管圧力信号とクランク角度信号とを受け、行程状態を検出する。そして、クランクタイミング検出部１０２は、行程状態に関する情報をクランクタイミング情報として出力する。
【００２２】
ここで、図５（ａ）〜（ｃ）を参照しながら、クランクタイミング検出部１０２による行程状態の検出方法について説明する。図５（ａ）は、クランク角度信号の波形図であり、番号「０」〜「１０」は、それぞれリラクタ６０〜７０によるパルスを表している。図５（ｂ）、（ｃ）は、それぞれ吸気管圧力、行程状態等を表している。
【００２３】
４サイクルエンジンでは、吸気、圧縮、膨張、及び排気からなる１つのサイクルの間に、クランクシャフト４６は２回転する。そのため、クランク位置を検出しただけでは、吸気行程と膨張行程とを判別することができず、また、圧縮行程と排気行程とを判別することができない。一方、図５（ｂ）から分かるように、吸気管圧力は、吸気行程と膨張行程とで異なり、また、圧縮行程と排気行程とで異なっている。したがって、クランク位置と吸気管圧力とを組み合わせることによって、行程状態を検出することが可能となる。
【００２４】
例えば、図５（ａ）に示すように、４番目のパルス信号を検出した場合、当該パルス信号のみでは、圧縮行程か排気行程かを区別することはできない。しかし、排気行程では排気バルブ７が開き且つ吸気バルブ６が閉じているので、吸気管圧力は高くなる。一方、圧縮行程の初期では、未だ吸気バルブ６が開いているため（あるいは、吸気バルブ６が閉じられたとしても、先行する吸気行程の影響により）、吸気管圧力は低くなる。したがって、吸気管圧力を考慮することによって、圧縮行程と排気行程とを区別して検出することができる。
【００２５】
吸入空気量算出部１０３は、クランクタイミング検出部１０２からクランクタイミング情報を受け、さらに、吸気温度信号及び吸気管圧力信号を受け、吸入空気量を算出する。吸入空気量はエンジン負荷と相関があるため、吸入空気量によってエンジン負荷を検出することができる。そのため、吸入空気量算出部１０３は、エンジンの負荷を検出する負荷検出器としても機能する。
【００２６】
図６に示すように、吸入空気量算出部１０３は、吸気管圧力検出部２０１と、質量流量マップ記憶部２０２と、吸気温度検出部２０４とを備えている。吸気管圧力検出部２０１は、所定のクランク位置において吸気管圧力を検出する。質量流量マップ記憶部２０２は、吸気管圧力に基づいて吸入空気の質量流量を検出するためのマップを記憶している。本実施形態では、質量流量マップ記憶部２０２には、吸気温度が２０℃のときの吸気管圧力と質量流量との関係がマップ化されている。
【００２７】
吸入空気量算出部１０３は、さらに、質量流量算出部２０３と質量流量補正部２０５とを備えている。質量流量算出部２０３は、質量流量マップ記憶部２０２の質量流量マップを用い、検出された吸気管圧力に応じた質量流量を算出する。ところで、上記質量流量マップは、所定温度（本実施形態では２０℃）のときの質量流量に基づいて作成されている。そのため、実際の吸気温度が上記所定温度からずれた場合には、実際の質量流量と算出した質量流量との間にずれが生じることがある。そこで、質量流量補正部２０５は、吸気温度検出部２０４から吸気温度の情報を受け、質量流量算出部２０３で算出された質量流量を、検出された吸気温度に基づいて補正することとしている。
【００２８】
本実施形態では、吸入空気量の算出に際して、圧縮行程における下死点から吸気バルブ６を閉じるまでの間の吸気管圧力値を利用する。すなわち、吸気バルブ６を開放している時は、吸気管圧力とシリンダ内の圧力とはほぼ同等となるため、吸気管圧力、気筒内容積及び吸気温度が分かれば、シリンダ内の空気質量を求めることができる。しかしながら、吸気バルブ６は圧縮行程の開始後もしばらくは開いているため、この間にシリンダ内と吸気管１０との間で空気が出入りする可能性がある。そのため、下死点以前の吸気管圧力から吸入空気量を求めると、当該吸入空気量は実際にシリンダ内に吸い込まれた空気量と異なる可能性がある。そこで、本実施形態では、吸気バルブ６の開放期間のうち、特に圧縮行程の吸気管圧力を用いて吸入空気量を算出することとしている。なお、算出の精度をさらに高めるために、既燃ガス分圧の影響を考慮し、それと相関の高いエンジン回転数を用いて、実験で求めたエンジン回転数に応じた補正を施すようにしてもよい。
【００２９】
図３に示すように、制御系１００はさらに、燃料噴射量設定部１０４と噴射パルス出力部１０５とを備えている。燃料噴射量設定部１０４は、エンジン回転数と吸入空気量とに基づいて、燃料噴射量及び燃料噴射時期を設定する。噴射パルス出力部１０５は、クランクタイミング検出部１０２からクランクタイミング情報を受け、燃料噴射量設定部１０４で設定された燃料噴射量及び燃料噴射時期に応じた噴射パルスを、インジェクタ４２に向けて出力する。
【００３０】
燃料噴射量設定部１０４は、目標空燃比算出部１０８と、燃料噴射量算出部１０９と、燃料挙動モデル１１０とを備えている。目標空燃比算出部１０８は、エンジン回転数及び吸気管圧力に基づいて目標空燃比を算出する。燃料噴射量算出部１０９は、目標空燃比と吸入空気量とに基づいて、燃料噴射量及び燃流噴射時期を算出する。燃料挙動モデル１１０は、燃料噴射量算出部１０９における燃料噴射量及び燃料噴射時期の算出の際に利用される。燃料挙動モデル１１０は、後述する点火時期設定部１０６においても用いられる。そのため、図３においては、燃料挙動モデル１１０と燃料噴射量算出部１０９とを便宜上分離して図示している。しかしながら、実質的には、燃料挙動モデル１１０と燃料噴射量算出部１０９とは一体のものである。なお、燃料挙動モデル１１０では、前記エンジン回転数、吸気温度信号及び冷却水温度信号が用いられる。
【００３１】
燃料噴射量算出部１０９及び燃料挙動モデル１１０は、例えば図７のブロック図のように構成されている。ここでは、インジェクタ４２から吸気管１０内に噴射される燃料噴射量をＭＦ−ＩＮＪ、そのうち吸気管１０の内壁に付着する燃料付着率をＸとすると、燃料噴射量ＭＦ−ＩＮＪのうち、シリンダ内に直接噴射される直接流入量は（（１−Ｘ）×ＭＦ−ＩＮＪ）となり、吸気管１０の内壁に付着する付着量は（Ｘ×ＭＦ−ＩＮＪ）となる。この付着燃料のうちのいくらかは、吸気管１０の内壁に沿ってシリンダ内に流れ込む。その残量を燃料残留量ＭＦ−ＢＵＦとし、当該残量のうち吸気流れによって持ち去られる率を持ち去り率τとすると、持ち去られてシリンダ内に流入した量は、（τ×ＭＦ−ＢＵＦ）となる。
【００３２】
そこで、この燃料噴射量算出部１０９では、まず、冷却水温度補正係数テーブルを用いて、冷却水温度ＴＷから冷却水温補正係数ＫＷを算出する。一方、前記吸入空気量ＭＡ−ＭＡＮに対し、例えばスロットル開度が零であるときに燃料をカットする燃料カットルーチンを行い、次に吸入空気温度ＴＡを用いて温度補正された空気流入量ＭＡを算出し、これに目標空燃比ＡＦ０の逆比を乗じ、さらに冷却水温補正係数ＫＷを乗じて、要求燃料流入量ＭＦを算出する。また、燃料付着率マップを用いて、エンジン回転数ＮＥ及び吸気管圧力ＰＡ−ＭＡＮから燃料付着率Ｘを求める。また、持ち去り率マップを用いて、エンジン回転数ＮＥ及び吸気管圧力ＰＡ−ＭＡＮから持ち去り率τを算出する。そして、前回の演算時に求めた燃料残留量ＭＦ−ＢＵＦに持ち去り率τを乗ずることによって、燃料持ち去り量ＭＦ−ＴＡを算出する。次に、要求燃料流入量ＭＦから燃料持ち去り量ＭＦ−ＴＡを減ずることによって、燃料直接流入量ＭＦ−ＤＩＲを算出する。前述のように、この燃料直接流入量ＭＦ−ＤＩＲは、燃料噴射量ＭＦ−ＩＮＪの（１−Ｘ）倍である。ここでは、燃料直接流入量ＭＦ−ＤＩＲを（１−Ｘ）で除して、燃料噴射量ＭＦ−ＩＮＪを算出する。また、前回までに吸気管１０に残留した燃料残留量ＭＦ−ＢＵＦのうち、（（１−τ）×ＭＦ−ＢＵＦ）が今回も残留するため、これに燃料付着量（Ｘ×ＭＦ−ＩＮＪ）を加算して、今回の燃料残留量ＭＦ−ＢＵＦとする。
【００３３】
図３に示すように、制御系１００はさらに、点火時期設定部１０６と点火パルス出力部１０７とを備えている。点火時期設定部１０６は、点火時期の設定、点火禁止の決定、進角禁止の決定等を行い、点火時期又は点火禁止情報を出力する。点火時期設定部１０６は、点火禁止制御及び進角禁止制御を実行する制御器としても機能する。点火パルス出力部１０７は、クランクタイミング検出部１０２からクランクタイミング情報を読み込み、点火時期設定部１０６によって設定された点火時期等に応じた点火パルスを、点火コイル４７に向けて出力する。
【００３４】
次に、点火時期設定部１０６の詳細について説明する。点火時期設定部１０６は、基本点火時期算出部１１１と、燃料噴射量設定部１０４と共有する燃料挙動モデル１１０と、シリンダ内空燃比算出部（図３では、シリンダ内Ａ／Ｆ算出部と表示）１１２と、点火時期補正部１１３と、逆転判定部１１４と、点火禁止解除判定部１１５と、点火禁止・進角禁止処理部１１６と、点火禁止・進角禁止判定部１１７とを備えている。
【００３５】
基本点火時期算出部１１１は、エンジン回転数算出部１０１で算出されたエンジン回転数と、目標空燃比算出部１０８で算出された目標空燃比とに基づいて、基本点火時期を算出する。具体的には、基本点火時期算出部１１１は、現在のエンジン回転数と目標空燃比とから、最も発生トルクが大きくなる点火時期をマップ検索などによって求め、基本点火時期とする。
【００３６】
シリンダ内空燃比算出部１１２は、燃料挙動モデル１１０で算出されたシリンダ内への燃料流入量（要求燃料流入量に等しい）と、吸入空気量算出部１０３で算出された吸入空気量とに基づいて、シリンダ内空燃比を算出する。具体的には、シリンダ内空燃比算出部１１２は、吸入空気量算出部１０３で算出された吸入空気量を、燃料挙動モデル１１０で算出されたシリンダ内燃料流入量で除して、シリンダ内空燃比を算出する。
【００３７】
点火時期補正部１１３は、クランクタイミング検出部１０２で検出されたクランクタイミング情報と、シリンダ内空燃比算出部１１２で算出されたシリンダ内空燃比と、基本点火時期算出部１１１で算出された基本点火時期とに基づいて、点火時期を補正する。具体的には、点火時期補正部１１３は、圧縮行程の初期段階でのシリンダ内空燃比が目標空燃比と大きく異なるときに、当該シリンダ内空燃比、エンジン回転数、吸気管圧力を用いて、所定の制御マップに従って新たな点火時期を設定する。
【００３８】
点火禁止・進角禁止判定部１１７は、エンジン回転数（なお、エンジン回転数はエンジン回転周期の逆数であるので、エンジン回転数の代わりにエンジン回転周期を用いてもよい。以下同様である）、クランクタイミング情報、及び吸入空気量に基づき、エンジンの逆転を招くおそれがあるか否かを判定する。点火禁止・進角禁止処理部１１６は、エンジンの逆転を招くおそれがある場合に、点火を禁止し、又は所定量以上の進角を禁止する。また、点火禁止・進角禁止処理部１１６は、点火禁止情報を出力する。逆転判定部１１４は、吸気管圧力信号、エンジン回転数、クランクタイミング情報、及び点火禁止情報に基づき、エンジンが逆転しているか否かを判定する。逆転判定部１１４は、逆転検出装置としても機能する。点火禁止解除判定部１１５は、逆転判定部１１４からの逆転情報と上記点火禁止情報とを受け、点火禁止を解除するか否かを判定し、点火禁止・進角禁止処理部１１６に点火禁止解除情報を出力する。これら逆転判定部１１４、点火禁止解除判定部１１５、点火禁止・進角禁止処理部１１６、及び点火禁止・進角禁止判定部１１７によって、以下の逆転防止制御が実行される。
【００３９】
次に、図８を参照しながら、本実施形態に係る逆転防止制御について説明する。なお、この逆転防止制御はエンジンの点火制御の一部であり、図８に示す逆転防止制御ルーチンは、クランク角度センサ５１からの信号に基づいて所定クランク位置毎に、又は所定時間毎に呼び出される。本制御では、まずステップＳ１において、クランク角度センサ５１からのクランク角度信号に基づいて、所定クランク位置毎の回転周期を検出する。次に、ステップＳ２に進み、所定クランク位置で吸気管圧力を取得し、この吸気管圧力に基づいて、点火禁止制御や進角禁止制御などの逆転防止制御に用いられる回転周期の閾値を算出する。なお、点火禁止制御とは、エンジンの逆転を防止するために点火を禁止する制御であり、進角禁止制御とは、エンジンの点火は許容するが、所定のクランク位置（当該位置は圧縮上死点に限られない）より進角して点火を行うことを禁止する制御である。ステップＳ３では、ステップＳ１で得られた回転周期とステップＳ２で得られた閾値との大小を比較し、その大小関係に基づいて点火制御処理を行う。
【００４０】
次に、図９を参照しながら、上記ステップＳ２の回転周期閾値算出処理について説明する。本処理では、まずステップＳ１１において、現在のクランク位置が所定のクランク位置ＣＲＫ１にあるか否かを判定する。そして、現在のクランク位置が所定クランク位置ＣＲＫ１であれば、ステップＳ１２に進んでエンジン負荷の情報（本実施形態では吸気管圧力）を取得する。一方、現在のクランク位置が所定クランク位置ＣＲＫ１でなければ、この回転周期閾値算出処理を終了する。このように、所定クランク位置ＣＲＫ１は、エンジン負荷を検出するタイミングを設定するものである。したがって、所定クランク位置ＣＲＫ１は、エンジン負荷の検出に好適な位置であればよく、特定の位置に限定されるものではない。
【００４１】
上述のように、本実施形態では、吸気管圧力に基づいてエンジン負荷を検出する。吸気管圧力に基づいてエンジン負荷を検出するためには、所定クランク位置ＣＲＫ１として、吸気管圧力とエンジン負荷との相関性が高い位置を選択することが好ましい。そこで、例えば、１サイクルの間に吸気管圧力が図１０のように変化する場合、吸気管圧力とエンジン負荷との相関性が高い位置として、吸気管圧力が小さい（負圧が大きい）位置Ｐ１を所定クランク位置ＣＲＫ１とすればよい。なお、図１０（後述の図１２、１９、２０も同様）の横軸のクランク角は、圧縮上死点を基準位置（クランク角＝０°）として表されている。本実施形態では、上記位置Ｐ１は一つだけ設定されているが、上記位置Ｐ１を複数設定することも可能である。上記位置Ｐ１を複数設定することにより、吸入空気量と相関性が高くなるような吸気管圧力の積分値や微分値などを算出し、それらを用いてエンジン負荷を検出するようにしてもよい。
【００４２】
エンジン負荷を検出した後は、図９のステップＳ１３に進み、点火禁止の基準となる回転周期の閾値ＮＴと、進角禁止の基準となる回転周期の閾値ＮＴＡとを算出する。次に、閾値ＮＴ及びＮＴＡについて説明する。
【００４３】
図１１のグラフは、点火禁止制御を行わない場合、つまり常に一定のクランク位置で点火を行った場合の実験データを示している。このグラフの横軸は、所定クランク位置ＣＲＫ１（例えば図１０の位置Ｐ１）における吸気管圧力Ｐｍ、すなわちエンジン負荷を示している。当該グラフの縦軸は、所定クランク位置における回転周期Ｔを示している。本実施形態では、図１２に示すように、圧縮上死点付近（例えば、圧縮上死点前４０°から圧縮上死点までの間）のクランク位置ＣＲＫ２を上記所定クランク位置としている。圧縮上死点付近は、エンジンの１サイクルのうちでも回転周期が比較的長い時期（言い換えると、回転数が比較的低い時期）であり、逆転の発生との相関性が高いからである。
【００４４】
この図１１のグラフは、正転時及び逆転時における回転周期とエンジン負荷との相関関係を示している。図１１より、エンジン負荷が大きいとき（つまり、吸気管圧力Ｐｍが大きいとき）ほど、短い回転周期であっても逆転が起こってしまうことが分かる。
【００４５】
本実施形態では、点火禁止の基準となる回転周期の閾値ＮＴは、エンジンが逆転する最小の回転周期と、エンジンが正転する最大の回転周期との間に設定されている。この閾値ＮＴに関するデータ、すなわち、逆転を招く回転周期及び吸気管圧力の組み合わせに関するデータは、例えば点火禁止・進角禁止判定部１１７に予め記憶されている。このデータは、試験に基づくデータであってもよく、理論的に導かれたデータであってもよい。なお、前記所定クランク位置ＣＲＫ２は、圧縮上死点付近に限定される訳ではない。正転及び逆転の状態が明確に区別され、両状態の判定が実用上可能であると認められるクランク位置であれば、所定クランク位置ＣＲＫ２は圧縮上死点よりも十分前の位置であってもよい。
【００４６】
進角禁止の基準となる回転周期の閾値ＮＴＡは、進角することによって逆転を誘発するおそれのある最小の回転周期に設定されている。この閾値ＮＴＡに関するデータ、すなわち、進角によって逆転を招く回転周期及び吸気管圧力の組み合わせに関するデータも、例えば点火禁止・進角禁止判定部１１７に予め記憶されている。このデータも、試験に基づくデータであってもよく、理論的に導かれたデータであってもよい。ここでは、当該閾値ＮＴＡを設定する際の所定クランク位置ＣＲＫ３は、点火禁止用の閾値ＮＴを設定する際のクランク位置ＣＲＫ２よりも前の位置に設定されている（図１２参照）。閾値ＮＴＡは、上記所定クランク位置ＣＲＫ３における回転周期Ｔに着目して設定されており、結果的にエンジンが逆転する最小の回転周期と正転する最大の回転周期とを考慮して、進角による逆転を誘発するおそれのある最小の回転周期として設定されている。
【００４７】
図１３は、閾値ＮＴＡの設定例を説明するためのグラフである。この設定例では、上記クランク位置ＣＲＫ３は、前記クランク位置ＣＲＫ２よりも３０°前の位置である。クランク位置ＣＲＫ３でのエンジン回転数はクランク位置ＣＲＫ２でのエンジン回転数よりも相対的に高くなるため、閾値ＮＴＡ（実線曲線参照）は閾値ＮＴよりも小さな値として設定されることになる。
【００４８】
上記設定例では、図１３に示す吸気管圧力Ｐｍと回転周期Ｔとの相関図に基づいて、進角により逆転を誘発するおそれのある回転周期を推定することによって、閾値ＮＴＡを設定している。しかし、閾値ＮＴＡの設定方法は推定に基づくものに限らず、実験データに基づくものであってもよい。例えば、予め想定される最大の進角位置を決め、種々の条件下で当該進角位置での点火を行い、その際の逆転の有無を検出する。そして、その検出結果に基づいて閾値ＮＴＡを設定するようにしてもよい（図１３の破線曲線ＮＴＡ参照）。
【００４９】
なお、ステップＳ１３における閾値ＮＴ及びＮＴＡの算出にあたっては、図１１及び図１３に示される各曲線を満足する値を設定したテーブルを用意し、そのテーブルを用いて内挿演算を行ってもよい。あるいは、予め閾値ＮＴ及びＮＴＡをエンジン負荷（本実施形態では吸気管圧力）の関数として数式化しておき、それら関数に基づいて算出するようにしてもよい。閾値ＮＴ及びＮＴＡの具体的な算出方法は何ら限定されるものではない。
【００５０】
次に、図１４を参照しながら、ステップＳ３（図８参照）の点火制御処理について説明する。点火制御処理では、まずステップＳ２１において、現時点で点火禁止処理を行っているか否かを確認する。その結果、点火禁止中である場合には、ステップＳ２２の点火禁止復帰判断処理を行い、続いてステップＳ２３において、その点火禁止を継続すべきか否かを判定する。ステップＳ２３の判定の結果、点火禁止処理を継続する必要があると判断された場合には、本ルーチンを終了する。一方、ステップＳ２１において点火禁止処理中でないと判断されると、ステップＳ２４に進む。また、ステップＳ２３において点火禁止から復帰してもよいと判断された場合も、ステップＳ２４に進む。ステップＳ２４では、点火の有無や点火時期の設定等の点火判断処理が行われる。
【００５１】
図１５を参照しながら、ステップＳ２４の点火判断処理の詳細について説明する。本処理では、まずステップＳ３１において、現在のクランク位置が点火禁止判定が許可されている領域内か否かを判定する。すなわち、本実施形態では、逆転との相関性の高い位置で判定を行うことによって判定精度を高めるため、あるいは無駄な演算を省いて処理の効率化を図ること等を目的として、点火禁止の判定は、所定のクランク位置範囲内で行われるように設定されている。ただし、判定許可領域を制限せず、点火禁止判定を任意の領域で行ってもよい。その場合は、ステップＳ３１を省略することが可能である。
【００５２】
ステップＳ３１において、現在のクランク位置が点火禁止判定許可領域内であると判定されると、ステップＳ３２に進む。一方、現在のクランク位置が点火禁止判定許可領域内にないと判定されると、ステップＳ３３に進む。
【００５３】
ステップＳ３２においては、ステップＳ１（図８参照）の回転周期検出処理で取得した回転周期Ｔと、ステップＳ２の回転周期閾値算出処理で取得した閾値ＮＴとの大小を比較する。回転周期Ｔが閾値ＮＴ以上であれば、エンジンが逆転する可能性が高いと判断し、ステップＳ３７の点火禁止処理を行い、このルーチンを終了する。一方、回転周期Ｔが閾値ＮＴ未満であれば、ステップＳ３３に進む。
【００５４】
ステップＳ３３では、現在のクランク位置が進角禁止判定が許可されている領域内であるか否かが判定される。なお、このステップＳ３３もステップＳ３１と同様、省略することが可能である。ステップＳ３３において現在のクランク位置が進角禁止判定許可領域内であると判定されると、ステップＳ３４に進む。一方、現在のクランク位置が進角禁止判定許可領域内にないと判定されると、ステップＳ３５に進んで通常点火処理を行い、このルーチンを終了する。
【００５５】
ステップＳ３４においては、ステップＳ１の回転周期検出処理で取得した回転周期Ｔと、ステップＳ２の回転周期閾値算出処理で取得した閾値ＮＴＡとの大小を比較する。回転周期Ｔが閾値ＮＴＡ以上であれば、進角制御によってエンジンの逆転が生じる可能性が高いと判断し、ステップＳ３６に進む。ステップＳ３６では、進角制御を禁止し、エンジンが逆転しないような所定の基準クランク位置で点火を行う固定位置点火処理を実行する。ただし、当該基準クランク位置よりも遅角側の位置で点火が行われるように設定されている場合には、その遅角側の位置にて点火を行う。ステップＳ３４において回転周期Ｔが閾値ＮＴＡ未満であると判定されると、たとえ進角制御を行ったとしても逆転が生じる可能性はないと判断され、ステップＳ３５に進んで通常点火処理を実行する。
【００５６】
このように、本実施形態では、回転周期が所定の第１閾値未満のときには、圧縮上死点前の所定の第１クランク位置以降における所定範囲のクランク位置で点火を許容し、回転周期が前記第１閾値以上、且つ前記第１閾値よりも大きな所定の第２閾値未満のときには、前記第１クランク位置よりも後の所定の第２クランク位置以降における所定範囲のクランク位置で点火を許容し、回転周期が前記第２閾値以上のときには、点火を禁止することとしている。
【００５７】
次に、図１６を参照しながら、ステップＳ２２（図１４参照）の点火禁止復帰判断処理の詳細について説明する。なお、この処理は、エンジンが逆転している場合にも行われるため、以下に示すクランク位置はＥＣＵ８が認識しているクランク位置であり、実際のクランク位置とは異なる可能性がある。
【００５８】
本処理では、まずステップＳ４１において、正圧検出フラグＦＢＦが１であるか否かを判定する。この正圧検出フラグＦＢＦは、エンジンが逆転しているか否かを示すフラグである。エンジンが逆転している場合には、燃焼室３２内の排ガスが吸気管１０に向かって逆流するため、吸気管圧力は通常よりも高い値を示す。例えば、通常の場合では吸気管圧力は大気圧以下となるが、エンジンが逆転している場合には、吸気管圧力が大気圧を超える場合がある。そこで、本実施形態では、エンジンの１サイクル中に吸気管圧力が所定の閾値（なお、当該閾値は大気圧に限定されない）以上になると、正圧検出フラグＦＢＦを１とし、エンジンの逆転が発生したことを示すこととしている。
【００５９】
正圧検出フラグＦＢＦ＝１の場合には、ステップＳ４６に進み、エンジンが停止しているか否かを判定する。そして、エンジンが停止している場合には、ステップＳ４７において点火禁止を解除し、このルーチンを終了する。一方、エンジンが停止していない場合には、点火禁止を解除することは好ましくないため、そのままこのルーチンを終了する。このように本実施形態では、逆転の発生を検出した場合には、エンジンが停止するまで点火を禁止することとしている。
【００６０】
ステップＳ４１において正圧検出フラグＦＢＦ＝１でない場合には、ステップＳ４２に進み、現在のクランク位置が所定のクランク位置領域（図１６では、正圧検出クランク位置領域と表示）内にあるか否かを検出する。ここで、所定クランク位置領域は、吸気管圧力に基づいてエンジンの逆転を検出しやすいクランク位置領域に設定されている。すなわち、エンジンの逆転と吸気管圧力との相関性が高いクランク位置領域に設定されている。ステップＳ４２の判定の結果、現在のクランク位置が上記クランク位置領域内にある場合にはステップＳ４３に進み、上記クランク位置領域内にない場合には、精度の低い判定を回避することによって結果的に判定精度を向上させること、あるいは無駄な処理を省略して全体の処理効率を向上させること等を目的として、そのままこのルーチンを終了する。
【００６１】
ステップＳ４３では、前述の方法によってエンジンの逆転を判定する。すなわち、現在の吸気管圧力が所定の閾値以上であるか否かを判定する。現在の吸気管圧力が上記閾値以上であれば、エンジンの逆転が生じたと判断し、ステップＳ４５に進んで正圧検出フラグＦＢＦを１にする。そして、エンジンが停止するまで点火禁止を継続する（ステップＳ４６，Ｓ４７参照）。
【００６２】
一方、ステップＳ４３において、現在の吸気管圧力が上記閾値よりも小さい場合には、ステップＳ４４に進み、現在のクランク位置が所定の点火復帰クランク位置であるか否かを判定する。なお、点火復帰クランク位置とは、点火を復帰しても逆転を招くおそれのないクランク位置であり、例えば圧縮上死点よりも後の所定クランク位置である。ここでは、点火復帰クランク位置は、逆転判定が終了するクランク位置よりも後ろの位置であり、次の点火準備ができるクランク位置よりも前の位置である。このように点火復帰クランク位置を設定することにより、点火禁止処理を行ってから再点火処理ができる状態になるまでの十分な時間的余裕を確保することができる。ステップＳ４４において、現在のクランク位置が上記点火復帰クランク位置である場合には、ステップＳ４７において点火禁止を解除し、このルーチンを終了する。一方、現在のクランク位置が上記点火復帰クランク位置でない場合には、そのままこのルーチンを終了する。
【００６３】
なお、上述のステップＳ１、Ｓ２、Ｓ２１、及びＳ３１〜Ｓ３４は、点火禁止・進角禁止判定部１１７によって行われる。ステップＳ３５〜Ｓ３７及びＳ４７は、点火禁止・進角禁止処理部１１６によって行われる。ステップＳ２３、Ｓ４１、Ｓ４４、及びＳ４６は、点火禁止解除判定部１１５によって行われる。ステップＳ４２、Ｓ４３、及びＳ４５は、逆転判定部１１４によって行われる。
【００６４】
以上のように、本実施形態によれば、エンジンの回転周期だけでなく、回転周期及び吸気管圧力の両方に基づいて点火禁止制御を行うこととしたので、逆転が起こりにくいときには、比較的大きめの回転周期（言い換えると、比較的低めのエンジン回転数）を基準として点火を禁止することができ、逆転が起こりやすいときには、比較的小さめの回転周期（言い換えると、比較的高めのエンジン回転数）を基準として点火を禁止することができる。
【００６５】
例えば、図１７に示すように、所定の回転数Ｎｓ以下になると一律に点火を禁止する場合、本来は逆転しないような状態Ｃ（白丸参照）であっても、点火が禁止（強制失火）されてしまう。これに対し、本実施形態によれば、基準となる回転数が吸気管圧力に応じて変化するので、状態Ｃにおける強制失火を回避することができる。したがって、無駄な強制失火を回避することができ、より高度な点火禁止制御が可能となる。また、同様に、無駄な進角禁止を回避することができ、より高度な進角禁止制御が可能となる。
【００６６】
本実施形態では、逆転を招くおそれのある回転周期の閾値ＮＴ及びＮＴＡを予め設定しておき、エンジン１２の運転中に検出した回転周期をそれら閾値ＮＴ及びＮＴＡと比較することによって、点火又は進角の禁止を判断することとした。したがって、比較的簡単な構成によって、上記点火禁止制御及び進角禁止制御を実行することができる。
【００６７】
また、本実施形態では、吸気管圧力と吸入空気量との間に相関があることから、吸気管圧力に基づいてエンジン負荷を検出することとした。そのため、吸気管圧力センサ５０を備えたエンジン１２に対しては、エンジン負荷を検出するために別途新たなセンサを設ける必要がなく、エンジン負荷を容易且つ安価に検出することが可能となる。
【００６８】
また、本実施形態では、点火を禁止した後、エンジン１２の逆転を検出すると、エンジン１２を停止させたうえで点火禁止を解除することとした。したがって、点火禁止の解除に伴って逆転を誘発することがなく、エンジン１２に大きな負担をかけるおそれがない。
【００６９】
さらに、本実施形態では、点火を禁止した後、エンジン１２が逆転しておらず且つ吸気管圧力が所定値未満の場合に、点火禁止を解除することとした。したがって、逆転を招くおそれがない場合には、即座に点火禁止状態から復帰することができ、無駄な強制失火を回避することができる。
【００７０】
また、本実施形態では、点火禁止制御の基準となる回転周期を、圧縮上死点の近傍におけるクランク位置での回転周期とした。したがって、逆転の判定精度を高めることができ、より信頼性の高い点火禁止制御を実現することができる。
【００７１】
上記実施形態では、吸気管圧力に基づいてエンジン負荷を検出していた。しかし、エンジン負荷を、当該負荷と相関性のある他のパラメータ等に基づいて検出することも可能である。例えば、図１８に示すように、スロットルバルブ３３の開度（以下、スロットルバルブ開度という）を検出するスロットルポジションセンサ４９、又は吸入空気量を直接検出するエアフローメータ４８を設け、スロットルバルブ開度又は吸入空気量に基づいてエンジン負荷を検出するようにしてもよい。
【００７２】
スロットルバルブ開度に基づいてエンジン負荷を検出する際には、スロットルバルブ開度との相関性が高いクランク位置を基準とすることが好ましい。言い換えると、吸入空気量との相関性が高いクランク位置を基準とすることが好ましい。例えば、図１９に示すように、前記所定クランク位置ＣＲＫ１を、エンジンの１サイクル中で吸気バルブ６が開いている所定範囲のクランク位置のうち、位置Ｐ２のように吸入空気量との相関性の高い位置に設定することが好ましい。なお、位置Ｐ２を複数設定し、吸入空気量と相関性の高くなるようなスロットルバルブ開度の積分値や微分値などを算出し、それらを用いてエンジン負荷を検出するようにしてもよい。
【００７３】
エアフローメータ４８で吸入空気量を直接的に検出する場合には、図２０に示すように、吸気バルブ６が開いている所定範囲のクランク位置から、位置Ｐ３のように吸入空気量との相関性の高い位置に設定することが好ましい。なお、この場合にも、位置Ｐ３を複数設定し、吸入空気量と相関性の高くなるような吸入空気量の積分値や微分値などを算出し、それらを用いてエンジン負荷を検出するようにしてもよい。
【００７４】
また、上記実施形態では、回転周期及びエンジン負荷の組み合わせが逆転を招く組み合わせであるか否かを判断する際に、回転周期を検出し、その回転周期に基づいて判断を行っていた（図８参照）。すなわち、回転周期が所定の閾値以上か否かを判定し、その判定結果に基づいて点火又は進角を禁止していた。しかしながら、回転周期毎にエンジン負荷の閾値を設け、エンジン負荷が当該閾値以上か否かを判定し、その判定結果に基づいて点火又は進角を禁止するようにしてもよい。
【００７５】
上記実施形態における点火禁止復帰判断処理（図１６参照）では、ステップＳ４４において現在のクランク位置が点火復帰クランク位置であると判定されると、ステップＳ４７に進み、直ちに点火禁止を解除していた。しかしながら、点火復帰クランク位置よりも後のクランク位置で（言い換えると、クランク位置が点火復帰クランク位置になってから所定時間経過後に）点火禁止を解除するようにしてもよい。
【００７６】
点火装置の種類によっては、ハードウェア構成等の関係上、直ちに点火禁止を解除すると点火動作が不安定になる場合も考えられる。しかしながら、上述のように、点火禁止の解除までに時間差を設けることとすれば、点火禁止を解除した後の点火動作を安定させることができる。
【００７７】
例えば、図２１（ａ）に示すように、点火コイル一次側電圧は、点火禁止を開始してから所定時間（整定時間）が経過するまで、所定の基準値に復帰しない場合がある。クランク角を基準として考えると、この整定時間に対応するクランク角の位相差はエンジン回転数によって変化し、一般的にエンジン回転数が高くなるほど大きくなる。しかしながら、例えば、正圧検出領域が過ぎてから点火禁止解除までに位相差Ａを設けることにより、点火コイル一次側電圧が整定してから十分な位相差Ｂを確保することができ、点火禁止解除後の点火動作を安定化させることができる。
【００７８】
図１６に示す点火禁止復帰判断処理に代えて、図２２に示す点火禁止復帰判断処理を行うようにしてもよい。図２２の処理にあっては、ステップＳ４２において現在のクランク位置が正圧検出クランク位置領域（正圧検出領域）にないと判定されると、ステップＳ４４に進む。ステップＳ４４において現在のクランク位置が点火復帰クランク位置であると判定されると、ステップＳ４８に進み、正圧検出判定が終了しているか否かを判定する。ステップＳ４８における判定結果がＹｅｓの場合は、点火コイル一次側電圧が安定しているとみなし、ステップＳ４７に進んで点火禁止を解除する。一方、ステップＳ４８における判定結果がＮｏの場合は、そのままこのルーチンを終了する。
【００７９】
ところで、例えば自動二輪車１が下り勾配の坂道を走行しているときなど、外部からエンジン１２を正転させる力が加えられる場合がある。そのような場合、圧縮上死点前でいったん逆転が生じたとしても、その後外部からの力を受けることによってエンジン１２が正転し、そのまま正転を続けることが考えられる。しかしながら、このような場合、吸気管圧力が所定の閾値以上とはならず（図１６のステップＳ４３参照）、実際には瞬間的に逆転が生じたにも拘わらず、その逆転が検出されないおそれがある。そのため、クランクパルスに基づいてクランク位置を検出する装置では、正転時のクランクパルスと逆転時のクランクパルスとが混在することによって、クランク位置を誤認する可能性がある。
【００８０】
一方、点火禁止復帰判断処理（図１６参照）のステップＳ４３では、吸気管圧力が閾値以上にならない場合、その後に点火禁止が解除されることがある。そのため、誤ったクランク位置に基づいて点火禁止を解除してしまう可能性がある。そこで、点火禁止解除に先立って、検出誤差を是正するリセット動作を行うことが好ましい。
【００８１】
例えば、ステップ４７の点火禁止解除に代えて、図２３に示す点火禁止解除処理を実行してもよい。この点火禁止解除処理では、始めにステップＳ５１において、所定回数のパルスを検出したか否かを判定する。ステップＳ５１における判定結果がＹｅｓの場合には、ステップＳ５２に進み、所定の基準クランク位置を検出したか否かを判定する。なお、基準のクランク位置は、例えば図４におけるリラクタ６０とリラクタ７０との間の位置等として設定することができる。そして、ステップＳ５２の判定結果がＹｅｓの場合には、検出した基準クランク位置を新たな基準位置とし（リセット動作）、クランク位置の検出を再開する。また、すでに正確なクランク位置を把握できていることから、ステップＳ５３に進んで点火禁止を解除する。なお、ステップＳ５１又はＳ５２における判定結果がＮｏの場合には、そのままこのルーチンを終了する。
【００８２】
前記実施形態において、エンジン負荷には、エンジン本体の負荷に限らず、外部負荷を含めるようにしてもよい。また、外部負荷に応じて回転周期閾値ＮＴ，ＮＴＡを補正するようにしてもよい。例えば、外部負荷として、発電負荷、駆動系からの負荷、冷機時におけるロス負荷を考慮するようにしてもよい。この場合、発電負荷による補正係数（電気負荷補正係数）をＫ１、駆動系からの負荷による補正係数（駆動系負荷補正係数）をＫ２、冷機時におけるロス負荷による補正係数（機温補正係数）をＫ３とし、閾値ＮＴ又はＮＴＡにこれら補正係数Ｋ１〜Ｋ３を乗ずるようにしてもよい。
【００８３】
発電負荷に関するパラメータとして、例えば、発電制御のＯＮ／ＯＦＦ、ヘッドライト（Ｈ／Ｌ）のＯＮ／ＯＦＦ又はデューティ比、グリップウォーマのＯＮ／ＯＦＦ、方向指示器のＯＮ／ＯＦＦ、ブレーキランプのＯＮ／ＯＦＦ、ホーンのＯＮ／ＯＦＦを考慮してもよい。駆動系からの負荷に関するパラメータとして、例えば、クラッチのＯＮ／ＯＦＦ、勾配、ギヤポジションを考慮してもよい。図２４に示すように、予めそれらパラメータを関数化、テーブル化又はマップ化しておき、それらパラメータを相互に乗算又は加算等することによって、各補正係数Ｋ１〜Ｋ３を算出するようにしてもよい。なお、冷機時のロス負荷の算出にあたっては、機温に代えて油温や水温等を用いてもよいことは勿論である。
【産業上の利用可能性】
【００８４】
以上説明したように、本発明は、エンジンの点火制御装置及びそれを備えた車両について有用である。
【図面の簡単な説明】
【００８５】
【図１】自動二輪車の側面図である。
【図２】エンジン及びセンサ類の構成図である。
【図３】制御系のブロック図である。
【図４】（ａ）はクランク角度センサの説明図、（ｂ）はクランク角度信号の波形図である。
【図５】（ａ）はクランク角度信号の波形図、（ｂ）は吸気管圧力の状態変化図、（ｃ）は行程状態を示す図である。
【図６】吸入空気量算出部のブロック図である。
【図７】燃料噴射量算出部及び燃料挙動モデルのブロック図である。
【図８】逆転防止制御のフローチャートである。
【図９】回転周期閾値算出処理のフローチャートである。
【図１０】クランク角と吸気管圧力との関係を示すグラフである。
【図１１】逆転時及び正転時における吸気管圧力と回転周期との関係を示すグラフである。
【図１２】クランク角とエンジン回転周期との関係を示すグラフである。
【図１３】逆転時及び正転時における吸気管圧力と回転周期との関係を示すグラフである。
【図１４】点火制御処理のフローチャートである。
【図１５】点火判断処理のフローチャートである。
【図１６】点火禁止復帰判断処理のフローチャートである。
【図１７】逆転時及び正転時におけるエンジン回転数と吸気管圧力との関係を示すグラフである。
【図１８】エンジン及びセンサ類の構成図である。
【図１９】クランク角とスロットル位置との関係を示すグラフである。
【図２０】クランク角と吸入空気量との関係を示すグラフである。
【図２１】点火コイル一次側電圧と吸気管圧力との関係を示すタイムチャートであり、（ａ）は点火コイル一次側電圧、（ｂ）は吸気管圧力を示す。
【図２２】点火禁止復帰判断処理の変形例のフローチャートである。
【図２３】点火禁止解除処理のフローチャートである。
【図２４】エンジン負荷に関する補正係数の演算式を説明する図である。
【符号の説明】
【００８６】
１    自動二輪車（車両）
６    吸気バルブ
８    ＥＣＵ
１０  吸気管
１２  エンジン
１３  シリンダ
４２  インジェクタ
４３  点火プラグ
４４  シリンダ温度センサ
４５  吸気温度センサ
４６  クランクシャフト
４７  点火コイル
４８  エアフローメータ（流量センサ）
４９  スロットルポジションセンサ（開度検出器）
５０  吸気管圧力センサ（圧力センサ）
５１  クランク角度センサ（クランク位置検出器）
【図１】
2006207565.tif 000003
【図２】
2006207565.tif 000004
【図３】
2006207565.tif 000005
【図４】
2006207565.tif 000006
【図５】
2006207565.tif 000007
【図６】
2006207565.tif 000008
【図７】
2006207565.tif 000009
【図８】
2006207565.tif 000010
【図９】
2006207565.tif 000011
【図１０】
2006207565.tif 000012
【図１１】
2006207565.tif 000013
【図１２】
2006207565.tif 000014
【図１３】
2006207565.tif 000015
【図１４】
2006207565.tif 000016
【図１５】
2006207565.tif 000017
【図１６】
2006207565.tif 000018
【図１７】
2006207565.tif 000019
【図１８】
2006207565.tif 000020
【図１９】
2006207565.tif 000021
【図２０】
2006207565.tif 000022
【図２１】
2006207565.tif 000023
【図２２】
2006207565.tif 000024
【図２３】
2006207565.tif 000025
【図２４】
2006207565.tif 000026