(57)【要約】【課題】エンジンの始動毎にエンジン回転数の演算結果が変動することを防止する。【解決手段】クランク軸の回転に伴ってセンサが出力するパルスに基づいて所定回転角毎にエンジン回転数Ｎを算出する（ステップＳ１）。上記エンジン回転数Ｎの移動平均Ｎ＾を算出する（ステップＳ３）。上記エンジン回転数Ｎから上記移動平均Ｎ＾を減算し、この差Ｎ−Ｎ＾を当該回転角におけるエンジン回転数Ｎの変動分として上記回転角毎に集合平均化し、当該回転角における変動分の集合平均Ｏｆｆｓｅｔを算出する（ステップＳ６）。上記エンジン回転数Ｎを当該回転角での変動分の集合平均Ｏｆｆｓｅｔによって補正し、この補正値Ｎ−Ｏｆｆｓｅｔを当該回転角におけるエンジン回転数とする（ステップＳ９）。【選択図】  図２
2004183617.tif 000002
【特許請求の範囲】
【請求項１】
クランク軸の回転に伴ってセンサが出力するパルスに基づいて所定回転角毎にエンジン回転数Ｎを算出するステップと、
上記エンジン回転数Ｎの移動平均Ｎ＾を算出するステップと、
上記エンジン回転数Ｎから上記移動平均Ｎ＾を減算し、この差Ｎ−Ｎ＾を当該回転角におけるエンジン回転数Ｎの変動分として上記回転角毎に集合平均化し、当該回転角における変動分の集合平均Ｏｆｆｓｅｔを算出するステップと、
上記エンジン回転数Ｎを当該回転角での変動分の集合平均Ｏｆｆｓｅｔによって補正し、この補正値Ｎ−Ｏｆｆｓｅｔをもって当該回転角におけるエンジン回転数とするステップとを含む、
ことを特徴とするエンジンの回転数検出方法。
【請求項２】
請求項１に記載のエンジンの回転数検出方法において、
前記の所定回転角毎の変動分の集合平均Ｏｆｆｓｅｔを算出するに当たって、当該エンジンの回転数制御のために設定された目標回転数Ｎ＊とエンジン回転数Ｎの移動平均Ｎ＾との偏差｜Ｎ＾−Ｎ＊｜（｜・｜は絶対値を示す）を算出して、この偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にあるか否かを判断し、
上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にある場合には、上記移動平均Ｎ＾からのエンジン回転数Ｎの変動分Ｎ−Ｎ＾を計算し、この変動分Ｎ−Ｎ＾を含めて当該回転角での変動分の集合平均Ｏｆｆｓｅｔを算出し、
上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にない場合には、上記変動分の集合平均Ｏｆｆｓｅｔを算出する際に当該エンジン回転数Ｎの変動分Ｎ−Ｎ＾を含めないようにした、
ことを特徴とするエンジンの回転数検出方法。
【請求項３】
請求項２に記載のエンジンの回転数検出方法において、
前記の所定回転角毎の変動分の集合平均Ｏｆｆｓｅｔを算出するに当たって、前記エンジン回転数Ｎの移動平均Ｎ＾と目標回転数Ｎ＊との偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にあるか否かを判断するとともに、上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にある時間を計測し、
上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にあり、かつ、当該許容範囲内にある時間が所定時間以上持続する場合には、上記移動平均Ｎ＾からのエンジン回転数Ｎの変動分Ｎ−Ｎ＾を計算し、この変動分Ｎ−Ｎ＾を含めて当該回転角での変動分の集合平均Ｏｆｆｓｅｔを算出し、
上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にない場合、または、当該許容範囲内にある時間が所定時間以上持続しない場合には、上記変動分の集合平均Ｏｆｆｓｅｔを算出する際に当該エンジン回転数Ｎの変動分Ｎ−Ｎ＾を含めないようにした、
ことを特徴とするエンジンの回転数検出方法。
【請求項４】
請求項１から３のいずれかに記載のエンジンの回転数検出方法において、
前記エンジンがｎ気筒４サイクルエンジンの場合であって、クランク軸の１／２の回転数で回転する回転軸にロータを設け、前記センサはこのロータの回転を検出してパルスを出力し、
上記ロータが３６０／ｎ度回転するたびに前記エンジン回転数Ｎを算出し、
前記移動平均Ｎ＾は、かかるエンジン回転数Ｎの最新のｎ個のデータに基づいて算出するようにした、
ことを特徴とするエンジンの回転数検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はエンジンの回転数検出方法に関し、特に、エンジンの回転数制御のために用いられるエンジン回転数の検出方法に関する。
【０００２】
【従来の技術】
エンジン回転数を電子ガバナにより制御する場合、エンジン回転数の精度の高い検出が求められる。かかる場合、従来では、例えば、次のような方法によりエンジン回転数を検出していた。ここでは、４気筒４サイクルディーゼルエンジンを例として説明する（図１参照）。
【０００３】
図１において、符合１は、図示しないクランク軸の１／２の回転数で回転する燃料噴射カム軸に設けられたロータであり、このロータ１の外周には突起２が設けられている。ここでは、この突起２は全部で６８個（９０度の円弧につき１７個）設けられている。上記ロータ１の近接する位置には、上記突起２の通過を検出するセンサ３が設けられ、このセンサ３は上記突起２の通過を検出するたびに１パルスを出力するようになっている。したがって、ロータ１が９０度回転すると（クランク軸の回転角でいえば１８０度に相当）、１７個のパルスがセンサ３から出力されることとなる。
【０００４】
センサ３が出力したパルスはＥＣＵ４に入力される。このＥＣＵ４は、１７個前のパルスが入力された時点から今回のパルスが入力された時点間の時間を計測し、この時間（ロータ１が９０度回転する時間、クランク軸でいえば１８０度回転する時間）に基づいてエンジン回転数を算出する。ＥＣＵ４は、このようにして算出したエンジン回転数と、目標回転数設定手段５によって設定された目標回転数とを比較し、両者の偏差をなくすように、図示しないアクチュエータを駆動して燃料噴射量を調節する。
【０００５】
一般に、このような４気筒４サイクルエンジンの場合、ロータ１が９０度回転するたびに（クランク軸が１８０度回転するたびに）いずれかの気筒で爆発が起こる。したがって、エンジン回転数算出のベースとなる１７個分のパルス間隔の計測中に、いずれかの気筒で爆発が起こることになる。
【０００６】
【特許文献１】
特開平０６−２４２１３４号公報
【特許文献２】
特開昭６２−０２８６７０号公報
【特許文献３】
特開平０３−１８０７６５号公報
【特許文献４】
特開平０８−３１９８７５号公報
【特許文献５】
特開２００１−０２０７８９号公報（段落「００８０」及び「００８１」）
【０００７】
【発明が解決しようとする課題】
上記従来技術では、エンジンの始動の際にセンサ３に対向していた突起２がエンジン回転数算出の起点となるように構成されている。言い換えれば、ある絶対位置を起点としてエンジン回転数が計測されるわけではない。このため、エンジンの始動のたびにエンジン回転数算出の起点が異なることになる。例えば、あるときには図１中のＡ０がエンジン回転数算出の起点となり、Ａ０〜Ａ３の４つの地点がセンサ３を通過するたびにエンジン回転数が算出されるが、次回のエンジン始動の際にはＢ０がエンジン回転数算出の起点となり、図中のＢ０〜Ｂ３の地点がセンサ３を通過するたびにエンジン回転数が算出されることになる。
【０００８】
このようにエンジンの始動毎にエンジン回転数算出の起点となる位置が異なる結果、エンジン回転数算出のベースとなる１７個分のパルス間隔のどこで爆発が起こるかということもエンジンの始動のたびに異なることになる。一方、多気筒エンジンの場合には、気筒間の燃料噴射量のばらつき、燃焼室の形状や容積の製造上のばらつき等に起因して気筒間で燃焼のばらつきが生じる。また、ロータ１の突起２等にも製造上の誤差が含まれている。この結果、エンジン回転数算出の起点が異なるたびに、つまりエンジンの始動のたびに、気筒間の燃焼のむらや各種製造上の誤差が演算によって強調されたり弱められたりすることになる。
【０００９】
図５（Ａ）・（Ｂ）はかかる問題を端的に示している。図５（Ａ）は、気筒間の燃焼のむらや各種製造誤差が強調された形でエンジン回転数を算出した場合を示し、一方、図５（Ｂ）は燃焼のむらや製造誤差がエンジン回転数の演算結果にほとんど現れていない場合を示す。このように、従来のエンジン回転数検出方法では、エンジンの始動毎にエンジン回転数算出の起点が異なる結果、算出されたエンジン回転数に燃焼のむらや製造誤差が強調されて反映されたりほとんど現れなかったりするという問題があった。
【００１０】
一般に、４サイクルエンジンの場合、吸気・圧縮・膨張・排気の各工程に伴ってエンジン回転数は不可避的に変動するが、上記問題はかかる変動自体を意味するものではなく、気筒間の燃焼のむらや各種製造誤差等が演算によって強調されたりほとんど現れなかったりするという問題である。
【００１１】
このように、エンジン回転数の演算結果が起点の位置によって左右されるとなると、かかるエンジン回転数の演算値をそのままエンジンの回転数制御に用いた場合には、制御動作が不必要に撹乱されるなど制御性能に悪影響をもたらし好ましいものではない。したがって、上記のように算出されたエンジン回転数を、起点の位置に左右されない形に補正して用いることが望まれる。
【００１２】
【課題を解決するための手段】
かかる課題を解決するべく、請求項１に係る発明は、下記のようにしたことを特徴とする。
すなわち、クランク軸の回転に伴ってセンサが出力するパルスに基づいて所定回転角毎にエンジン回転数Ｎを算出するステップと、
上記エンジン回転数Ｎの移動平均Ｎ＾を算出するステップと、
上記エンジン回転数Ｎから上記移動平均Ｎ＾を減算し、この差Ｎ−Ｎ＾を当該回転角におけるエンジン回転数Ｎの変動分として上記回転角毎に集合平均化し、当該回転角における変動分の集合平均Ｏｆｆｓｅｔを算出するステップと、
上記エンジン回転数Ｎを当該回転角での変動分の集合平均Ｏｆｆｓｅｔによって補正し、この補正値Ｎ−Ｏｆｆｓｅｔをもって当該回転角におけるエンジン回転数とするステップとを含む、
ことを特徴とするエンジンの回転数検出方法である。
【００１３】
請求項２に係る発明は、請求項１に記載のエンジンの回転数検出方法において、
前記の所定回転角毎の変動分の集合平均Ｏｆｆｓｅｔを算出するに当たって、当該エンジンの回転数制御のために設定された目標回転数Ｎ＊とエンジン回転数Ｎの移動平均Ｎ＾との偏差｜Ｎ＾−Ｎ＊｜（｜・｜は絶対値を示す）を算出して、この偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にあるか否かを判断し、
上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にある場合には、上記移動平均Ｎ＾からのエンジン回転数Ｎの変動分Ｎ−Ｎ＾を計算し、この変動分Ｎ−Ｎ＾を含めて当該回転角での変動分の集合平均Ｏｆｆｓｅｔを算出し、
上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にない場合には、上記変動分の集合平均Ｏｆｆｓｅｔを算出する際に当該エンジン回転数Ｎの変動分Ｎ−Ｎ＾を含めないようにした、
ことを特徴とする。
【００１４】
請求項３に係る発明は、請求項２に記載のエンジンの回転数検出方法において、
前記の所定回転角毎の変動分の集合平均Ｏｆｆｓｅｔを算出するに当たって、前記エンジン回転数Ｎの移動平均Ｎ＾と目標回転数Ｎ＊との偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にあるか否かを判断するとともに、上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にある時間を計測し、
上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にあり、かつ、当該許容範囲内にある時間が所定時間以上持続する場合には、上記移動平均Ｎ＾からのエンジン回転数Ｎの変動分Ｎ−Ｎ＾を計算し、この変動分Ｎ−Ｎ＾を含めて当該回転角での変動分の集合平均Ｏｆｆｓｅｔを算出し、
上記偏差｜Ｎ＾−Ｎ＊｜が許容範囲内にない場合、または、当該許容範囲内にある時間が所定時間以上持続しない場合には、上記変動分の集合平均Ｏｆｆｓｅｔを算出する際に当該エンジン回転数Ｎの変動分Ｎ−Ｎ＾を含めないようにした、
ことを特徴とする。
【００１５】
請求項４に係る発明は、請求項１から３のいずれかに記載のエンジンの回転数検出方法において、
前記エンジンがｎ気筒４サイクルエンジンの場合であって、クランク軸の１／２の回転数で回転する回転軸にロータを設け、前記センサはこのロータの回転を検出してパルスを出力し、
上記ロータが３６０／ｎ度回転するたびに前記エンジン回転数Ｎを算出し、
前記移動平均Ｎ＾は、かかるエンジン回転数Ｎの最新のｎ個のデータに基づいて算出するようにした、
ことを特徴とする。
【００１６】
【発明の作用効果】
（請求項１に係る発明）
請求項１に係る発明では、所定回転角毎に算出されるエンジン回転数をそのままエンジン回転数とするのではなく、まずは、その移動平均を算出し、次に、この移動平均から当該回転角におけるエンジン回転数の変動分を算出し、さらに、この変動分を所定回転角毎に集合平均化して、かかる変動分の集合平均を用いてエンジン回転数を補正したので、気筒間の燃焼のばらつきや製造誤差等に起因して演算上生じるエンジン回転数の変動を除去してエンジン回転数を算出することができる。このため、エンジン回転数の算出起点が始動のたびに異なる場合であっても、これによってエンジンの回転数制御が不必要に撹乱されることはなくなる。
【００１７】
（請求項２に係る発明）
一般に、エンジン回転数が過渡状態にある場合には、エンジン回転数の変動には、エンジンの回転数制御のための制御動作の結果としての変動分も含まれるので、燃焼のばらつきや製造誤差等に起因する変動分のみを抽出するためには、かかる制御動作に起因する変動分が整定した後でそれを算出することが好ましい。請求項２に係る発明では、エンジン回転数がいまだ過渡状態にある場合には、かかるエンジン回転数に含まれる変動分を集合平均の算出に含めないようにしたので、気筒間の燃焼のばらつきや製造誤差等に起因する変動分の的確な抽出が可能となり、かかる変動分によるエンジン回転数の補正を適正化することができる。
【００１８】
（請求項３に係る発明）
請求項３に係る発明では、所定回転角毎の変動分の集合平均を算出するに当たって、エンジン回転数の整定を判断するだけでなく、整定が所定時間以上持続するか否かを判断するようにしたので、エンジン回転数が確実に整定してからその変動分の集合平均を算出することができる。このため、気筒間の燃焼のばらつきや製造誤差等に起因するエンジン回転数の変動分を一層的確に抽出することが可能となり、エンジン回転数の補正の適正化をさらに図ることができる。
【００１９】
（請求項４に係る発明）
エンジンがｎ気筒４サイクルエンジンの場合、クランク軸が７２０／ｎ度回転する間にいずれかの気筒において爆発が起こる。したがって、クランク軸の１／２の回転数で回転する回転軸の場合には、この回転軸またはこの回転軸に設けられたロータが３６０／ｎ度回転する間にいずれかの気筒で爆発が起こることになるので、上記ロータの３６０／ｎ度毎の回転角のそれぞれに対して、その間に爆発した爆発気筒を対応付けて考えることができる。このため、かかる回転角毎に上記のようなエンジン回転数の補正処理を行うようにしておけば、気筒毎の燃焼のばらつきや製造誤差等に起因するエンジン回転数の演算上の変動を的確に抽出し除去することができる。なお、この請求項４に係る発明では、エンジン回転数の移動平均を算出するに当たって、最新のｎ個のデータに基づいて算出するようにしたので、ロータの１回転（クランク軸２回転）当たりのエンジン回転数の移動平均を算出することになる。
【００２０】
【発明の実施の形態】
以下、図面に基づいて本発明の実施形態について説明する。図１は、４気筒４サイクルディーゼルエンジンについて本発明を適用した場合の実施形態を示している。この実施形態は、公知の電子ガバナによるエンジン回転数制御に用いられている。
【００２１】
図１において、符合１は、図示しないクランク軸の１／２の回転数で回転する燃料噴射カム軸に設けられたロータであり、このロータ１の外周には突起２が設けられている。ここでは、この突起２は全部で６８個（９０度の円弧につき１７個）設けられている。上記ロータ１の近接する位置には上記突起２の通過を検出するセンサ３が設けられ、このセンサ３は上記突起２の通過を検出するたびに１パルスを出力するようになっている。したがって、ロータ１が９０度回転すると（クランク軸の回転角でいえば１８０度に相当）、１７個のパルスが出力されることとなる。なお、かかるセンサ３としては、クランク軸の回転に伴ってパルス信号を発生するものであればよく、電磁ピックアップ、磁気抵抗素子センサ、ホールセンサ等公知のものを使用することができる。
【００２２】
センサ３が出力したパルスはＥＣＵ４に入力される。このＥＣＵ４はエンジンの回転数制御のための制御部でもあり、目標回転数設定手段５から取り込んだ目標回転数と、後述する演算を経て算出されたエンジン回転数とを比較して、両者の偏差をなくすようにアクチュエータ（図示せず）を駆動して燃料噴射量を調整する。
【００２３】
このＥＣＵ４では、センサ３からの入力パルス数をカウントし、入力パルス数が１７個に達するたびに、図２に示すエンジン回転数算出のための割り込み処理ルーチンを実行するようになっている。言い換えれば、ロータ１が９０度回転するたびに（クランク軸が１８０度回転するたびに）、エンジン回転数算出の割り込み処理ルーチンが実行される。
【００２４】
かかる割り込み処理ルーチンの具体的内容は以下の通りである。
まず、ステップＳ１において、前回の割り込みからの経過時間に基づいてエンジン回転数Ｎを算出する。すなわち、前回の割り込み時点から改めてカウントした入力パルス数が１７個になるまでに要した時間Ｔに基づいて、下記のようにしてエンジン回転数Ｎが算出される。
【００２５】
Ｎ＝１／（２Ｔ）
【００２６】
かかるエンジン回転数Ｎは、ＥＣＵ４内部のメモリに格納される。その際、図３に示すように、前回のデータを順にシフトし、今回新たに算出されたエンジン回転数データＮをＮ［０］にセットする（ステップＳ２）。
【００２７】
ステップＳ３では、かかるエンジン回転数の最新のＫ個のデータの移動平均Ｎ＾を算出する。ここでは、ロータ１の１回転分の最新のデータ（すなわち最新の４個のデータ）の移動平均を算出する。具体的には次の通りである。
【００２８】
Ｎ＾＝ΣＮ［ｉ］／４
但し、ｉ＝０，１，２，３の範囲でデータが総和される。
【００２９】
ステップＳ４では、ステップＳ３で算出されたエンジン回転数の移動平均Ｎ＾が、目標回転数設定手段５によって設定されたエンジン回転数制御における目標回転数Ｎ＊と比較される。具体的には、両者の偏差｜Ｎ＾−Ｎ＊｜が許容範囲内に収まっているか否か、言い換えれば、エンジン回転数が整定したか否かが判断される。ここでは、目標回転数Ｎ＊±１０（ｒｐｍ）を許容範囲としている。
【００３０】
ステップＳ４においてエンジン回転数の移動平均Ｎ＾が許容範囲内に収まっている場合（ＹＥＳの場合）には、ステップＳ５へ移行し、整定が所定時間以上持続したか否かを判断する。ここでは、所定時間を５秒としている。
【００３１】
ステップＳ５において整定が所定時間以上持続したと判断された場合（ＹＥＳの場合）、ステップＳ６へ移行し、上記移動平均Ｎ＾からのエンジン回転数Ｎの変動分Ｎ−Ｎ＾を算出するとともに、ロータ１の当該回転角について過去に算出された、かかる変動分の合計値に加算され、その回転角における変動分の集合平均Ｏｆｆｓｅｔを算出する。かかる変動分の集合平均Ｏｆｆｓｅｔは、図４に示すように、回転角毎に用意されたバッファに格納される。すなわち、各バッファには、対応する回転角において過去に算出された変動分の集合平均が格納されており、ステップＳ６において今回のデータを加えた新たな集合平均を算出し、その値が書き込まれるようになっている。なお、各回転角での変動分の集合平均を、前回の割り込み時点から今回の割り込み時点までの間に爆発した気筒と対応付けて考えると、ある回転角における変動分の集合平均は、その間に爆発した気筒固有の燃焼のばらつきによって演算上生じたエンジン回転数の変動分と考えることができる。
【００３２】
次に、ステップＳ７では、上記ステップＳ６において集合平均化したデータの総数が所定数（たとえば６００）を越えたか否かを判断する。この６００という数字は、通常、エンジン始動から２〜３秒で達成される。ステップＳ７でＹＥＳの場合は、ステップＳ８へ進んでフラグをセットし、ステップＳ９へ進む。一方、ＮＯの場合は直ちにステップＳ９へ進む。
【００３３】
ステップＳ９では、上記ステップＳ６で求めた当該回転角での変動分の集合平均Ｏｆｆｓｅｔを用いて今回のエンジン回転数Ｎを補正する。具体的には、Ｎ−Ｏｆｆｓｅｔを計算し、これをエンジン回転数とする。
【００３４】
一方、前記のステップＳ４やステップＳ５でＮＯと判断された場合にはステップＳ１０へ進み、フラグがセットされているかどうかを判断する。ステップＳ４やステップＳ５でＮＯと判断された場合にステップＳ６へ進まないのは、エンジン回転数がいまだ整定せず過渡状態にある場合には、回転数制御のための制御動作の結果としてのエンジン回転数の変動か、気筒間の燃焼のばらつきや製造誤差等に起因するエンジン回転数の変動かを見極めることは通常困難だからである。
【００３５】
ステップＳ１０においてフラグがセットされていればステップＳ９へ進み、対応するバッファにすでに格納されている値を用いて今回のエンジン回転数Ｎを補正する。したがって、この場合は、変動分の集合平均Ｏｆｆｓｅｔを算出するに当たって今回のエンジン回転数の変動分を考慮しない。一方、フラグがセットされていない場合には、集合平均を求めるデータ総数が所定数に達していないことを意味するので、バッファに格納された値はいまだ信頼に足るものではなく、この値を用いてエンジン回転数を補正するのは適当といえない。そこで、ステップＳ１１へ進み、エンジン回転数を補正せずに、前記ステップＳ１で算出した今回のエンジン回転数Ｎをそのままエンジン回転数とする。
【図面の簡単な説明】
【図１】本発明の実施形態に係るエンジン回転数検出のためブロック図である。
【図２】本発明の実施形態によるエンジン回転数算出のための割り込み処理ルーチンを示すフローチャートである。
【図３】所定回転角毎に算出されるエンジン回転数Ｎを格納するメモリの模式図である。
【図４】所定回転角毎の変動分の集合平均を格納するバッファの模式図である。
【図５】従来のエンジン回転数検出方法によって得られたエンジン回転数のグラフを示し、図５（Ａ）はエンジン回転数の変動が大きい場合、図５（Ｂ）はその変動が小さい場合を示す。
【符号の説明】
１…ロータ、２…突起、３…センサ、４…ＥＣＵ、５…目標回転数設定手段。
【図１】
2004183617.tif 000003
【図２】
2004183617.tif 000004
【図３】
2004183617.tif 000005
【図４】
2004183617.tif 000006
【図５】
2004183617.tif 000007