(57)【特許請求の範囲】
【請求項１】
クランク角の基準位置信号の時間間隔を計測する手段と、
この計測された時間間隔の逆数に比例するエンジン回転速度を第１回転速度として前記基準位置信号の入力毎に演算する手段と、
前記基準位置信号の今回の入力タイミングでの第１回転速度を２倍した値より前記基準位置信号の前回の入力タイミングでの第２回転速度を差し引いた値を前記基準位置信号の今回の入力タイミングでの第２回転速度として演算し、この今回の入力タイミングでの第２回転速度を、検出すべきエンジン回転速度とする手段と
を備えることを特徴とするエンジンの回転速度検出装置。
【請求項２】
前記第２回転速度の所定時間当たりの変化量を計算する手段と、
この計算された所定時間当たりの変化量と前記今回の入力タイミングでの第２回転速度とを用いて次回の基準位置信号の入力までの間、実回転速度をトレースするエンジン回転速度を第３回転速度として演算し、この第３回転速度を、検出すべきエンジン回転速度とする手段と
を備えることを特徴とする請求項１に記載のエンジンの回転速度検出装置。
【請求項３】
前記第３回転速度が０または負の値となったときエンジンが停止したと判定することを特徴とする請求項２に記載のエンジンの回転速度検出装置。
【請求項４】
前記第２回転速度の所定時間当たりの変化量の過去複数回の平均値または前記第２回転速度の所定時間当たりの変化量の加重平均値を計算するとともに、前記第３回転速度を演算するのに際して、前記所定時間当たりの変化量に代えてこの平均値を用いることを特徴とする請求項２または３に記載のエンジンの回転速度検出装置。
【請求項５】
前記第１回転速度が所定値未満となったときまたは前記平均値が所定値未満となったときから前記第２回転速度の演算を行わないことを特徴とする請求項４に記載のエンジンの回転速度検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はエンジンの回転速度検出装置に関する。
【０００２】
【従来の技術】
エンジン回転速度の検出装置として、所定のクランク角毎に出力する信号間に要する経過時間を計測し、この計測値の逆数に比例させてエンジン回転速度を得るものが一般的である（特開平６−４５９１２７号公報参照）。
【０００３】
たとえばクランク角の基準位置毎に出力する信号にＲＥＦ信号があり、このＲＥＦ信号は、６気筒エンジンの場合、１２０度毎の信号となる。このＲＥＦ信号間の時間間隔をＴＲＥＦ（単位ｍｓ）とすれば、後述する数１式によりエンジン回転速度ＫＮＲＰＭ（単位ｒｐｍ）が計算されることになる。
【０００４】
【発明が解決しようとする課題】
ところで、従来の検出装置ではＲＥＦ信号がコントロールユニットに入力したタイミングで回転速度が更新されるので、ＲＥＦ信号の入力間隔が長くなっていくアイドルからのエンジン停止時には、更新のタイミングが遅くなり、実際のエンジン回転速度からのズレが大きくなる。これを具体的に図２に示すと、実際の回転速度がほぼ直線的に落ちてゆくのに対して、上記のエンジン回転速度ＫＮＲＰＭは破線で示したように階段状に落ちてゆく。この場合、回転速度の低下とともに、ＲＥＦ信号間の時間間隔が長くなってゆくため、エンジン停止に近づくほどＲＥＦ信号の入力直前での実回転速度からのズレが大きくなっている。
【０００５】
特に、エンジン停止後にはＲＥＦ信号が入力されないので、エンジンは停止しているのに、エンジン停止直前のＲＥＦ信号の入力タイミングで計算された回転速度Ｎ３がそのまま保持されてしまう。
【０００６】
これに対処するため、ＲＥＦ信号間の時間間隔を計測しているタイマと所定値を比較し、そのタイマが所定値を超えたときにエンジン停止と判定し、回転速度ＫＮＲＰＭを０にしているのであるが、このエンジン停止の判定タイミングは実際のエンジン停止タイミングよりもかなり遅れることになってしまう。
【０００７】
そこで本発明は、新たなエンジン回転速度（後述する第２回転速度、第３回転速度）を創造することにより、運転中の点火停止から直線的に低下する実回転速度を精度良くトレースさせることを目的とする。
【０００８】
【課題を解決するための手段】
第１の発明は、図８に示すように、クランク角の基準位置信号の時間間隔TREFを計測する手段２１と、この計測された時間間隔TREFの逆数に比例するエンジン回転速度を第１回転速度KNRPMとして前記基準位置信号の入力毎に演算する手段２２と、前記基準位置信号の今回の入力タイミングでの第１回転速度KNRPM（new）を２倍した値より前記基準位置信号の前回の入力タイミングでの第２回転速度RNRPM（old）を差し引いた値を前記基準位置信号の今回の入力タイミングでの第２回転速度RNRPM（new）として演算し、この今回の入力タイミングでの第２回転速度RNRPM（new）を、検出すべきエンジン回転速度とする手段２３とを備える。
【０００９】
第２の発明では、第１の発明において前記第２回転速度RNRPMの所定時間当たりの変化量DNを計算する手段と、この計算された所定時間当たりの変化量DNと前記今回の入力タイミングでの第２回転速度RNRPMとを用いて次回の基準位置信号の入力までの間、実回転速度をトレースするエンジン回転速度を第３回転速度TNRPMとして演算し、この第３回転速度TNRPMを、検出すべきエンジン回転速度とする手段とを備える。
【００１０】
第３の発明では、第２の発明において前記第３回転速度ＴＮＲＰＭが０または負の値となったときエンジンが停止したと判定する。
【００１１】
第４の発明では、第２または第３の発明において前記第２回転速度RNRPMの所定時間当たりの変化量DNの過去複数回の平均値または前記第２回転速度RNRPMの所定時間当たりの変化量DNの加重平均値AVDNを計算するとともに、前記第３回転速度TNRPMを演算するのに際して、前記所定時間当たりの変化量DNに代えてこの平均値を用いる。
【００１２】
第５の発明では、第４の発明において前記第１回転速度KNRPMが所定値未満となったときからまたは前記平均値が所定値未満となったときから前記第２回転速度RNRPMの演算を行わない。
【００１３】
【発明の効果】
第１の発明によれば、第２回転速度ＲＮＲＰＭにより、運転中の点火停止から直線的に低下する実回転速度を精度良くトレースすることができる。
【００１４】
第２の発明によれば、第３回転速度ＴＮＲＰＭにより、運転中の点火停止から直線的に低下する実回転速度を、次回のクランク角の基準位置信号が入力するまでの間も、精度良くトレースすることができる。
【００１５】
第３の発明によれば、エンジン停止の判定タイミングを実際のエンジン停止タイミングに近づけることができる。
【００１６】
第４の発明によれば、第３回転速度の折れ曲がり点がクランク角の基準位置信号の入力タイミングと外れるときでも、第３回転速度を０に向かって収束させることができる。
【００１７】
第５の発明によれば、エンジン停止直前にエンジンの揺り戻し（逆転）が発生してもその影響を受けることがない。
【００１８】
【発明の実施の形態】
図１は光電式クランク角センサの検出原理を説明するための配置図である。なお、光電式クランク角センサそのものは広く実用化されている（特開平２−２３３８８０号公報）。
【００１９】
同図において、光電式クランク角センサ１は、発光ダイオード、受光ダイオード、信号発生用ロータプレート２からなる。
【００２０】
なお、クランク角センサの取り付け位置は図示しないが、たとえば直列６気筒ＤＯＨＣエンジンの場合、排気側カムシャフト先端にロータープレート駆動用の溝が設けられている。
【００２１】
上記のロータプレート２を挟むようにして一対の発光ダイオード１１、１２と受光ダイオード１３、１４が組みつけられており、ロータプレート２が排気側カムシャフトと一体で回転すると、発光ダイオード１１と受光ダイオード１３の間を１°信号用スリット（外周に３６０個）３が通過したとき、あるいは発光ダイオード１２と受光ダイオード１４の間をＲＥＦ信号用スリット（内周に６個）４、５、６、７、８、９が通過したとき発光ダイオードからの赤外光が受光ダイオードに照射され、各スリットが遠のくと、受光ダイオードへの赤外光が遮断される。受光ダイオードは、ダイオードの接合面に外部から光を当てると電気抵抗が小さくなる性質をもっており、この抵抗変化を電圧変化に変換して“１”、“０”の各信号が作られる（つまり受光ダイオードは、光が当たれば電圧を発生し、光が当たらなければ電圧を発生しない）。そして、クランク角センサからのこれら２種類の信号がコンピュータからなるコントロールユニット（図示しない）に入力され、クランク角信号として（受光ダイオード１３からの信号は１°信号として、受光ダイオード１４からの信号はＲＥＦ信号として）利用される。
【００２２】
なお、６個のＲＥＦ信号用スリットのうち、一つだけ他のスリットに比べて周方向に幅の広いものが作られ、その幅広のスリット４が通過するときには他のスリットが通過するときに発生するＲＥＦ信号より幅（角度）が大きくなる。この幅広のＲＥＦ信号と他のＲＥＦ信号とが違うということがコンピュータにより判別できるので、その幅広のＲＥＦ信号が１番気筒ということにしておけば、気筒の判別ができることになる。
【００２３】
さて、上記のＲＥＦ信号の入力毎にＲＥＦ信号間の時間間隔（以下「ＲＥＦ信号周期」という）ＴＲＥＦ（単位ｍｓ）をタイマにより計測し、
【００２４】
【数１】
ＫＮＲＰＭ＝６００００÷ＴＲＥＦ×（１２０÷３６０）＝２００００÷ＴＲＥＦ
の式によりエンジン回転速度ＫＮＲＰＭ（単位ｒｐｍ）を得ることが従来より一般的である。
【００２５】
しかしながら、このような従来の回転速度の検出によれば、ＲＥＦ信号が入力したタイミングで上記の回転速度ＫＮＲＰＭが最新の値へと更新されるので、ＲＥＦ信号の入力間隔が長くなっていくアイドルからのエンジン停止にかけては、更新のタイミングが遅くなり、実際のエンジン回転速度からのズレが大きくなる。
【００２６】
これを図２に示すと、実線で示す実際の回転速度がほぼ直線的に落ちてゆくのに対して、破線で示す上記の回転速度ＫＮＲＰＭはＲＥＦ信号の入力毎に階段状に落ちてゆく。この場合、回転速度の低下とともに、ＲＥＦ信号周期ＴＲＥＦが長くなるため、エンジン停止に近づくほどＲＥＦ信号の入力直前での実回転速度からのズレが大きくなっている。
【００２７】
特に、エンジン停止後にはＲＥＦ信号が入力されないので、エンジンは停止しているのに、エンジン停止直前のＲＥＦ信号の入力タイミングで計算された回転速度がそのまま保持されてしまう。
【００２８】
そこで、ＲＥＦ信号周期ＴＲＥＦを計測しているタイマと所定値を比較させ、そのタイマが所定値を超えたときにエンジン停止と判定し回転速度ＫＮＲＰＭを０にしているのであるが、このエンジン停止の判定タイミングは実際のエンジン停止タイミングよりもかなり遅れることになる。
【００２９】
ところで、図２に示したように、アイドル状態から点火を停止した場合のエンジン回転速度の低下速度はほぼ一定である（たとえば１ｍｓ間に１ｒｐｍ程度のスピードで低下する）。この低下速度はエンジンフリクションや補機負荷によって変動するものの短い時間でみると一定である。
【００３０】
そこで本発明の実施の形態では、運転中に点火を停止した後のエンジン回転速度の低下速度はほぼ一定で、エンジン停止まで継続するとして、実回転速度を予測する。
【００３１】
これを図３を用いてさらに詳述すると、図３は図２のＡ部を拡大したものである。
【００３２】
図３において、ｔ２のＲＥＦ信号の入力タイミングで計測されるＲＥＦ信号周期ＴＲＥＦ（ｏｌｄ）より計算される回転速度ＫＮＲＰＭは、ＴＲＥＦ（ｏｌｄ）間の平均値、つまりＮ１とＮ２の平均値であり、この平均値（＝（Ｎ１＋Ｎ２）／２）が次のＲＥＦ信号の入力タイミングのｔ３まで保持される。同様にして、ｔ３のタイミングで計測されるＲＥＦ信号周期ＴＲＥＦ（ｎｅｗ）より計算される回転速度ＫＮＲＰＭは、ＴＲＥＦ（ｎｅｗ）間の平均値、つまりＮ２とＮ３の平均値であり、この平均値（＝（Ｎ２＋Ｎ３）／２）が次のＲＥＦ信号の入力タイミングまで保持される。このようにして更新されるＫＮＲＰＭ（破線で示す）は、実回転速度（実線で示す）よりも離れた位置を階段状に落ちていくことになる。なお、後述する一点鎖線の回転速度と重なると、見にくくなるので、少しずらした位置に示している。
【００３３】
いま、階段状の破線特性を下方にシフトさせて、角が実回転速度と一致させた新たな回転速度（一点鎖線の特性）を考える。上記の回転速度ＫＮＲＰＭと区別するため、以下では上記のＫＮＲＰＭを第１回転速度、この新たな回転速度を第２回転速度ＲＮＲＰＭという。このとき、ｔ３のタイミングでの第２回転速度をＲＮＲＰＭ（ｎｅｗ）、ｔ２のタイミングでの第２回転速度をＲＮＲＰＭ（ｏｌｄ）とおけば、第１回転速度ＫＮＲＰＭ（ｎｅｗ）は第２回転速度ＲＮＲＰＭ（ｏｌｄ）とＲＮＲＰＭ（ｎｅｗ）の平均値である。これを式に表せば、
【００３４】
【数２】
ＫＮＲＰＭ（ｎｅｗ）＝｛ＲＮＲＰＭ（ｏｌｄ）＋ＲＮＲＰＭ（ｎｅｗ）｝／２
であり、この数２式を第２回転速度ＲＮＲＰＭ（ｎｅｗ）について解くことにより次式が得られる。
【００３５】
【数３】
ＲＮＲＰＭ（ｎｅｗ）＝２×ＫＮＲＰＭ（ｎｅｗ）−ＲＮＲＰＭ（ｏｌｄ）
つまり、この数３式により、実回転速度を階段状にトレースする回転速度である第２回転速度が得られる。
【００３６】
ただし、エンジン停止に近づくほど、前述したようにＲＥＦ信号周期が長くなり、第２回転速度ＲＮＲＰＭ（ｎｅｗ）といえども実回転速度からのズレが大きくなるので、一定時間毎（たとえば１０ｍｓ毎）に回転速度を更新することを考える。
【００３７】
ここで、第２回転速度ＲＮＲＰＭの所定時間当たり（１０ｍｓ当たり）の変化量ＤＮ（ｎｅｗ）は
【００３８】
【数４】
ＤＮ（ｎｅｗ）＝１０×｛ＲＮＲＰＭ（ｎｅｗ）−ＲＮＲＰＭ（ｏｌｄ）｝／ＴＲＥＦ（ｎｅｗ）
の式により計算されるので、図３においてｔ３以後も同じ低下速度であると仮定すれば、図４に示したように、数３式で第２回転速度ＲＮＲＰＭ（ｎｅｗ）を計算した後、１０ｍｓ毎に数４式の１０ｍｓ当たりの変化量ＤＮ（ｎｅｗ）を加えてゆけば（ただし、数４式の左辺の値はマイナスなので実質的には減算になる）、エンジン停止までの実回転速度を精度良くトレースすることができる。次回のＲＥＦ信号の入力までの間、実回転速度をトレースするこのエンジン回転速度（図４の二点鎖線参照）は第３回転速度ＴＮＲＰＭとして、後述するように演算する。
【００３９】
コントロールユニットで実行されるこの制御の内容を以下のフローチャートにしたがって説明する。
【００４０】
まず図５はＲＥＦ信号の入力毎に実行するものである。なお、以下で得られるエンジン回転速度の単位はすべてｒｐｍ（ｒｅｖｏｌｕｔｉｏｎｓ  ｐａｒ  ｍｉｎｕｔｅ）である。
【００４１】
ステップ１ではＲＥＦ間周期ＴＲＥＦ（＝ＴＲＥＦ（ｎｅｗ））を読み込み、このＴＲＥＦを用いステップ２において上記の数１式により、従来と同じに第１回転速度ＫＮＲＰＭ（＝ＫＮＲＰＭ（ｎｅｗ））を計算する。
【００４２】
ステップ３ではフラグ＃ＦＥＳＹＯＹをみる。このフラグは＃ＦＥＳＹＯＹ＝１のときエンスト予約状態（今後エンストすることが避けられない状態）にあることを、また＃ＦＥＳＹＯＹ＝０のときエンスト予約状態にないことを示すフラグである。エンジンの始動時には＃ＦＥＳＹＯＹ＝０となっているので、アイドル状態からイグニッションキースイッチをＯＦＦにして点火を停止した直後であれば、＃ＦＥＳＹＯＹ＝０であり、したがってステップ４以降に進む。
【００４３】
ステップ４では、上記の第１回転速度ＫＮＲＰＭを用いて上記の数３式により第２回転速度ＲＮＲＰＭを求め、この求めた第２回転速度ＲＮＲＰＭの値をステップ５において第３回転速度ＴＮＲＰＭに移す。ＴＮＲＰＭは第２回転速度ＲＮＲＰＭの変化速度に基づいて次回のＲＥＦ信号の入力までの間の実回転速度を予測したもので、第２回転速度ＲＮＲＰＭが更新されたときＴＮＲＰＭ＝ＲＮＲＰＭとなり、図６のステップ２１で後述するように、その後にＲＥＦ信号が入力されるまで所定時間（１０ｍｓ）毎に更新される。
【００４４】
なお、数３式のＲＮＲＰＭ（ｏｌｄ）の値は、図５の処理を開始する直前にＲＮＲＰＭ（ｎｅｗ）の値をＲＮＲＰＭ（ｏｌｄ）に移すことによって得られる。また、ＲＮＲＰＭ（ｏｌｄ）の初期値としては、たとえばエンジン停止に際してイグニッションキースイッチがＯＦＦにされたときの第１回転速度ＫＮＲＰＭを用いればよい。
【００４５】
ステップ６では第２回転速度ＲＮＲＰＭ（ｎｅｗ）とＲＮＲＰＭ（ｏｌｄ）およびＲＥＦ信号周期ＴＲＥＦを用いて、上記の数４式により第２回転速度の１０ｍｓ当たりの変化速度ＤＮ（＝ＤＮ（ｎｅｗ））を計算する。ここで、ＤＮは第２回転速度の低下時は負の値となり、上昇時は正の値となる。
【００４６】
ステップ７ではこの変化速度ＤＮを用いて
【００４７】
【数５】
ＡＶＤＮ（ｎｅｗ）＝ＤＮ×Ｋ＋ＡＶＤＮ（ｏｌｄ）×（１−Ｋ）
ただし、ＡＶＤＮ（ｏｌｄ）：ＡＶＤＮ（ｎｅｗ）の前回値
Ｋ：加重平均係数（０から１．０までの値）
の式により変化速度ＤＮの加重平均値ＡＶＤＮを計算する。
【００４８】
なお、ＡＶＤＮ（ｏｌｄ）の初期値としては、ＤＮ（ｎｅｗ）の初回計算値を用いればよい。
【００４９】
ここで、加重平均値としたのは次の通りである。後述する第３回転速度ＴＮＲＰＭは、図７に示したように、あるタイミングより折れ曲がって下降することになる。この場合に、折れ曲がり点がＲＥＦ信号の入力タイミングと外れるときは（図７の一点鎖線参照）、第３回転速度ＴＮＲＰＭが０に向かって収束しないことが分かった。そこで、ＤＮに対して加重平均をとると、折れ曲がり点がＲＥＦ信号が入力しないタイミングにきたときでも第３回転速度ＴＮＲＰＭを０に向かって収束させることがでは（図７の実線参照）、ＤＮに対して加重平均をとらなくても、０に向かって第３回転速度ＴＮＲＰＭが収束することはいうまでもない。
【００５０】
図５のステップ８、９はエンスト予約状態判定条件が成立したかどうかをみる部分である。具体的には、第１回転速度ＫＮＲＰＭと所定値ＮＥＳＹＯ＃（たとえば４００ｒｐｍ程度）を、またＤＮと所定値ＤＮＥＳＹＯ＃（たとえば−１ｒｐｍ／ｍｓ程度）を比較する。
【００５１】
比較の結果、ＫＮＲＰＭ≧ＮＥＳＹＯ＃またはＤＮ≧ＮＥＳＹＯ＃のときは、エンスト予約状態判定条件が不成立と判断してステップ８、９からステップ１０に進み、カウンタＣＥＳＹＯＹを０にリセットして図５の処理を終了する。アイドル状態でイグニッションキースイッチをＯＦＦにした直後には、第１回転速度ＫＮＲＰＭが所定値ＮＥＳＹＯ＃以上であるので、ステップ８、９からステップ１０に進むわけである。
【００５２】
一方、ＫＮＲＰＭ＜ＮＥＳＹＯ＃かつＤＮ＜ＮＥＳＹＯ＃のときは、エンスト予約状態判定条件が成立したと判断してステップ１１に進み、カウンタＣＥＳＹＯＹをインクリメントし、このカウンタＣＥＳＹＯＹと所定値ＪＥＳＹＯ＃（たとえば３回程度）をステップ１２において比較する。このカウンタＣＥＳＹＯＹはエンスト予約状態判定条件が成立した回数を数えるカウンタである。ＣＥＳＹＯＹ＞ＪＥＳＹＯ＃になると、ステップ１２よりステップ１３に進み、エンスト予約状態判定フラグ＃ＦＥＳＹＯＹ＝１として図５の処理を終了する。
【００５３】
エンスト予約状態判定フラグ＃ＦＥＳＹＯＹの実際の動きを説明すると、図３に示したように、エンジン停止よりも少し前に０から１へと切換えられる。エンジン停止よりも少し前に１に切換えるようにしたのは、エンジン停止直前にエンジンの揺り戻し（逆転）が発生する場合への対処のためである。
【００５４】
これを説明すると、たとえばＶ６気筒エンジンの点火順序を＃１−＃２−＃３−＃４−＃５−＃６としたとき、１番気筒のＲＥＦ信号の入力後は、２番気筒のＲＥＦ信号の入力までの１２０度区間のＲＥＦ信号周期を計測しなければならない。しかしながら、エンジンが揺り戻した場合は１番気筒のＲＥＦ信号が入力した後、逆にエンジンが回って再び１番気筒のＲＥＦ信号が入ることがあり、揺り戻すクランク角位置によってはＲＥＦ信号間周期が短くなり、第１回転速度ＫＮＲＰＭが前回よりも上昇する。しかしながら、この上昇した第１回転速度ＫＮＲＰＭは誤った計測である。つまり、図５においてステップ３、ステップ８〜１３がないときは、エンジン停止直前にエンジンの揺り戻し（逆転）が発生する場合に、誤計測が生じてしまうのである。
【００５５】
これに対して、本発明では、上記の揺り戻しによる１番気筒のＲＥＦ信号の再入力で第１回転速度ＫＮＲＰＭが前回よりも上昇したとしても、その時点では、エンスト予約状態判定フラグ＝１の状態にあるので、図５においてステップ４以降に進むことがない。つまり、エンスト予約状態判定フラグが１に切換わったタイミングで演算された第３回転速度ＴＮＲＰＭが、エンジン停止直前のエンジンの揺り戻し（逆転）の発生に関係なく、エンジン停止まで保持されるのである。
【００５６】
図６は図５とは独立に１０ｍｓ毎に実行する。
【００５７】
ステップ２１では
【００５８】
【数６】
ＴＮＲＰＭ（ｎｅｗ）＝ＴＮＲＰＭ（ｏｌｄ）＋ＡＶＤＮ
ただし、ＴＮＲＰＭ（ｏｌｄ）：ＴＮＲＰＭ（ｎｅｗ）の前回値
の式により第３回転速度ＴＮＲＰＭをサイクリックに更新する。
【００５９】
なお、数６式のＴＮＲＰＭ（ｏｌｄ）の値は、図６の処理を開始する直前にＴＮＲＰＭ（ｎｅｗ）の値をＴＮＲＰＭ（ｏｌｄ）に移すことによって得られる。また、ＴＮＲＰＭ（ｏｌｄ）の初期値としては、たとえば運転中のイグニッションキースイッチのＯＦＦ時の第１回転速度ＫＮＲＰＭを用いればよい。また、ＡＶＤＮ（ｎｅｗ）は図５により得られている。
【００６０】
数６式のＡＶＤＮはマイナスの値であるので、第３回転速度ＴＮＲＰＭは１０ｍｓ毎にＡＶＤＮの分ずつ小さくなってゆく。
【００６１】
ステップ２２以降はエンジンが停止したかどうかを判定する部分である。
【００６２】
ステップ２２では第３回転速度ＴＮＲＰＭ（ｎｅｗ）と０を比較し、ＴＮＲＰＭ（ｎｅｗ）＜０となれば、エンジンが停止したと判定し、ステップ２３に進んで、第３回転速度ＴＮＲＰＭ（ｎｅｗ）に０を入れる。第３回転速度ＴＮＲＰＭ（ｎｅｗ）は予測値であるため、エンジン停止直前のエンジンの揺り戻し（逆転）の発生に関係なく、一定のスピードで減少し、やがて負の値になる。そこで、第３回転速度が負の値になったときは、エンジン停止とみなすわけである。
【００６３】
ステップ２４、２５ではエンジン停止判定フラグ＝１、エンスト予約状態判定フラグ＃ＦＥＳＹＯＹ＝０として図６の処理を終了する。エンスト予約状態判定フラグ＃ＦＥＳＹＯＹ＝０としたのは、次回運転時に備えるためである。エンジン停止判定フラグ＝１としたのは、このフラグを確認して行わせる作業（たとえばセルフシャットオフ処理の実行）があるためである。
【００６４】
このように、本発明の実施の形態では、ＲＥＦ信号周期ＴＲＥＦの逆数に比例するエンジン回転速度を第１回転速度ＫＮＲＰＭとして演算し、運転中の点火停止から直線的に低下する実回転速度を、ＲＥＦ信号の入力毎に階段状にトレースするエンジン回転速度を第２回転速度ＲＮＲＰＭとして、前記第１回転速度ＫＮＲＰＭに基づいて演算し、この第２回転速度ＲＮＲＰＭの所定時間当たりの変化量ＤＮを計算し、この計算された所定時間当たりの変化量ＤＮと第２回転速度ＲＮＲＰＭとを用いて次回のＲＥＦ信号の入力までの間、実回転速度をトレースするエンジン回転速度を第３回転速度ＴＮＲＰＭとして演算するようにしたので、第３回転速度ＴＮＲＰＭによれば、運転中の点火停止から直線的に低下する実回転速度を精度良くトレースすることができる。
【００６５】
また、第３回転速度ＴＮＲＰＭが０となったときエンジンが停止したと判定するので、エンジン停止の判定タイミングを実際のエンジン停止タイミングに近づけることができる。
【００６６】
また、エンスト予約状態判定フラグ＃ＦＥＳＹＯＹを導入し、エンジン停止よりも少し前に１に切換え、これ以後はＲＥＦ信号が入力しても、第２回転速度ＲＮＲＰＭ、ＲＮＲＰＭの所定時間当たりの変化量ＤＮの演算を行わないようにしたので、エンジン停止直前にエンジンの揺り戻し（逆転）が発生してもその影響を受けることがない。
【００６７】
また、所定時間当たりの変化量DNの加重平均値AVDNを計算し、第３回転速度TNRPMを演算するのに際して、前記所定時間当たりの変化量DNに代えてこの加重平均値AVDNを用いるようにしたので、第３回転速度TNRPMの折れ曲がり点がREF信号の入力タイミングと外れるときでも、第３回転速度TNRPMを０に向かって収束させることができる。
【００６８】
実施形態では、加重平均値で説明したが、ＤＮの過去複数回の平均値でもかまわない。
【００６９】
実施形態ではクランク角センサが光電式である場合で説明したが、これに限られるものでなく、磁気式にも適用することができる。さらに６気筒ＤＯＨＣエンジンに限られるものでもない。
【図面の簡単な説明】
【図１】光電式クランク角センサの検出原理を説明するための配置図。
【図２】アイドル状態から点火を停止した場合のエンジン回転速度の変化を示す波形図。
【図３】図２のＡ部拡大図。
【図４】第３回転速度ＴＮＲＰＭの１０ｍｓ毎の変化を示す波形図。
【図５】ＲＥＦ信号の入力毎に処理されるフローチャート。
【図６】１０ｍｓ毎に処理されるフローチャート。
【図７】第３回転速度ＴＮＲＰＭの折れ曲がり点を説明するための波形図。
【図８】第１の発明のクレーム対応図。
【符号の説明】
２  ロータプレート
１１、１２  発光ダイオード
１３、１４  受光ダイオード
【図１】
0003596303.tif 000002
【図２】
0003596303.tif 000003
【図３】
0003596303.tif 000004
【図４】
0003596303.tif 000005
【図５】
0003596303.tif 000006
【図６】
0003596303.tif 000007
【図７】
0003596303.tif 000008
【図８】
0003596303.tif 000009