(57)【特許請求の範囲】
【請求項１】
Ｖ型エンジンのクランク軸が所定の角度だけ回転する毎にその所定の角度の回転に要した所要時間を測定し、その所要時間に応じてエンジン回転数を算出するエンジン回転数算出装置であって、
前回算出のエンジン回転数が所定回転数より小であるか否かを判別する判別手段と、
前記前回算出のエンジン回転数が前記所定回転数より小であるときには、前記クランク軸が２回転に要した所要時間に応じてエンジン回転数を算出し、前記前回算出のエンジン回転数が前記所定回転数以上であるときには、前記クランク軸が１回転に要した所要時間に応じてエンジン回転数を算出する算出手段と、を有することを特徴とするエンジン回転数算出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エンジンの回転数を算出するエンジン回転数算出装置に関する。
【０００２】
【従来の技術】
従来、エンジン回転数の算出では、クランク軸が所定の角度だけの回転に要した所要時間を測定し、その所要時間に応じてエンジン回転数が求められている。具体的には、クランク角センサから得られるクランクパルスの発生タイミングから所定の角度として３６０度に対応する所要時間が測定され、その所要時間の逆数に例えば、６０を乗算することによりエンジン回転数が算出されている。このように算出したエンジン回転数が燃料噴射制御等のエンジン制御において主要なエンジン運転パラメータとして用いられるのである（例えば、特開昭６１−２７７８４５号、特開平９−２６４２４１号参照）。
【０００３】
【発明が解決しようとする課題】
しかしながら、エンジン回転数が低い低回転数域では、一定したエンジン回転数であるべきときであっても高回転数域に比べてエンジン回転が脈動するので、高回転数域と同一の角度だけの回転に要した所要時間を用いてエンジン回転数を算出すると、脈動回転の影響を受けたエンジン回転数が算出されてしまい、順次算出されるエンジン回転数が上下に変動したものとなる。このように脈動回転の影響を受けた算出エンジン回転数をエンジン制御に用いると、スムーズなエンジン制御とならないという課題があった。この課題はＶ型エンジン等の不等間隔爆発を行なうエンジンにおいてより顕著である。
【０００４】
例えば、通常の等間隔爆発を行なうＬ型４気筒エンジンの場合には、図１（ａ）に示すように、クランク軸が１８０度回転する毎に１つの気筒の爆発が行われ、第１気筒、第３気筒、第２気筒、そして第４気筒の順番で爆発が繰り返される。また、図１（ｂ）に示すように、全ての気筒で各行程、すなわち膨張行程、排気行程、吸気行程及び圧縮行程はクランク角度で１８０度の間隔で同期して行なわれ、更に、クランク角度１８０度毎の第１〜第４気筒の行程はクランク角度の７２０度に亘って互いに異なる行程となっている。よって、いずれの１８０度間隔の期間においても膨張行程、排気行程、吸気行程及び圧縮行程各々が４つの気筒のいずれかで行なわれ、複数の気筒で同一行程が同時に存在しない。すなわち、爆発圧力によりピストンが押されるためクランク軸の回転を加速させる膨張行程と、吸入混合気を圧縮させるためにクランク軸の回転を減速させる膨張行程とが１８０度間隔で同時に存在しバランスが比較的保たれているためクランク軸の回転は平均化されるので、エンジン回転数の算出において脈動回転の影響を受けることは気筒間のばらつきを除いては少ない。
【０００５】
一方、不等間隔爆発を行なうＶ型４気筒エンジンの場合には、図２（ａ）に示すように、第１気筒、第３気筒、第２気筒、そして第４気筒の順番で爆発が繰り返されるが、クランク角度０度で第１気筒の爆発が行われると、第１気筒の爆発から第３気筒の爆発までのクランク角度は１８０度であり、第３気筒の爆発から第２気筒の爆発までのクランク角度は２７０度であり、第２気筒の爆発から第４気筒の爆発までのクランク角度は１８０度であり、第４気筒の爆発から第１気筒の爆発までのクランク角度は９０度である。これは、図２（ｂ）に示すように、気筒各々で各行程、すなわち膨張行程、排気行程、吸気行程及び圧縮行程はクランク角度で１８０度の間隔で行なわれるが、第１、第３気筒と第２、第４気筒とでは９０度だけ各行程の変化位置がずれているからである。よって、クランク軸がクランク角度０度から７２０度までで２回転する１サイクルの期間内では、クランク角度０度から３６０度まで１回転期間よりもクランク角度が３６０度から７２０度までの間での次の１回転期間の方が爆発回数が多く、第３気筒の爆発時点から第２気筒の爆発までは２７０度の期間があるので、その第２気筒の爆発直前においてクランク軸の回転は減速傾向にある。逆に、第４気筒の爆発時点から第１気筒の爆発までは９０度の短い期間であるので、第１気筒の爆発前後においてクランク軸の回転は加速傾向にある。また、その１サイクルの期間内の０度〜９０度の期間（符号Ａの期間）で膨張行程が第１気筒と第４気筒とで重複してクランク軸の回転加速が大となる傾向にある。更に、３６０度〜４５０度の期間（符号Ｂの期間）では膨張行程がいずれの気筒にも存在せず、圧縮行程が第２気筒だけで存在するので、クランク軸の回転が減速される傾向となる。この結果、かかるＶ型４気筒エンジン等の不等間隔爆発を行なうエンジンの場合には、クランク角度０度から３６０度まで１回転期間とクランク角度が３６０度から７２０度までの間での次の１回転期間とではエンジン回転の脈動が異なり、特に低回転数域ではエンジン回転数の算出においてその回転脈動の影響を受け易い。
【０００６】
そこで、本発明の目的は、エンジンの低回転数域で脈動回転の影響を受けることなくエンジン回転数を算出することができるエンジン回転数算出装置を提供することである。
【０００７】
【課題を解決するための手段】
本発明のエンジン回転数算出装置は、エンジンのクランク軸が所定の角度だけ回転する毎にその所定の角度の回転に要した所要時間を測定し、その所要時間に応じてエンジン回転数を算出するエンジン回転数算出装置であって、前回算出のエンジン回転数が所定回転数より小であるか否かを判別する判別手段と、前回算出のエンジン回転数が所定回転数より小であるときには、クランク軸が２回転に要した所要時間に応じてエンジン回転数を算出し、前回算出のエンジン回転数が所定回転数以上であるときには、クランク軸が１回転に要した所要時間に応じてエンジン回転数を算出する算出手段とを有することを特徴としている。
【０００８】
すなわち、本発明によれば、エンジンの低回転数域ではクランク軸が２回転に要した所要時間に応じてエンジン回転数を算出する構成より、高回転域よりも算出されるエンジン回転数は平均されたものとなるので、脈動回転の影響を受けることなくエンジン回転数を算出することができる。また、脈動が少ないエンジンの高回転域ではクランク軸が１回転に要した所要時間に応じてエンジン回転数を算出するので、実際のエンジン回転数の変化に追従してエンジン回転数を正確に算出することができる。
【０００９】
また、クランク軸が１回転に要する所要時間を常に測定し、高回転数域ではその所要時間をそのまま用いてエンジン回転数を算出し、低回転数域では連続する２つの所要時間の合計値を用いてエンジン回転数を算出することができるので、エンジン回転数の算出処理が容易となる。
【００１０】
【発明の実施の形態】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
図３は本発明によるエンジン回転数算出装置を適用したエンジン制御システムを示している。このエンジン制御システムにおいては、回転体１及び電磁ピックアップ２からなるクランク角センサ３が用いられる。回転体１は４サイクル内燃エンジンのクランク軸（図示せず）に設けられた円盤状のものであり、クランク軸の回転に連動して回転するようになっている。回転体１の外周には磁性材からなる凸部４が被検出部として３０度間隔で１２個だけ連続して設けられている。電磁ピックアップ２は回転体１の外周近傍に配置されている。回転体１が回転していずれかの１の凸部４が電磁ピックアップ２近傍に接近したとき電磁ピックアップ２からはクランクパルスが生成される。
【００１１】
電磁ピックアップ２の出力にはＥＣＵ(Electric Control Unit：電子制御ユニット)５が接続されている。ＥＣＵ５は、ＣＰＵ６、ＲＡＭ７、ＲＯＭ８、カウンタ９、出力インターフェース回路１０、１１及びＡ／Ｄ変換器１２を備えている。カウンタ９は電磁ピックアップ２から出力されたクランクパルスによってリセットされて図示しないクロック発生器から出力されたクロックパルスを計数し、そのクロックパルス発生数を計数することによりクランクパルスの発生間隔の時間Ｍｅを得る。ＣＰＵ６はクランクパルスの立ち上がりによって割り込み処理を行なう。なお、ＣＰＵ６、ＲＡＭ７、ＲＯＭ８、カウンタ９、出力インターフェース回路１０、１１及びＡ／Ｄ変換器１２は共にバスに共通接続されている。
【００１２】
Ａ／Ｄ変換器１２はエンジン制御において必要な吸気管内圧ＰB、冷却水温ＴＷ、スロットル開度θth、排気ガス中の酸素濃度Ｏ2等のエンジン運転パラメータを検出する複数のセンサからのアナログ信号をディジタル信号に変換するために設けられている。ＣＰＵ６はこれらのエンジン運転パラメータ及び後述の動作により算出されるエンジン回転数Ｎｅを用いて燃料噴射量や点火時期を決定し、その燃料噴射量だけの燃料噴射を指令するためにインジェクタ駆動指令を発生し、また、点火時期を示す点火時期信号を発生する。
【００１３】
出力インターフェース回路１０はＣＰＵ６からのインジェクタ駆動指令に応じてインジェクタ１３を駆動する。インジェクタ１３は内燃エンジンの吸気管の吸気ポート近傍に設けられ、駆動されたとき燃料を噴射する。出力インターフェース回路１１はＣＰＵ６からの点火時期信号に応じて点火装置１４を活性化させる。
【００１４】
かかる構成において、ＣＰＵ６はエンジン回転数Ｎｅを算出するためにＭｅ検出動作及びＮｅ算出動作をＲＯＭ８に予め記憶された割り込み処理ルーチンに従って実行する。
Ｍｅ算出動作は、クランク軸、すなわち回転体１が３６０度回転する時間Ｍｅiを算出する動作である。ＣＰＵ６はクランク角センサ３から出力されたクランクパルスの立ち上がりに応答して割り込み処理ルーチンによりＭｅ算出動作を図４に示すように行なう。すなわち、先ず、変数ｎに１を加算し（ステップＳ１）、カウンタ９の計数値を時間Ｍｅ(n)[sec]として読み取って保存する（ステップＳ２）。変数ｎの初期値は０である。ｎ＝１の場合には時間Ｍｅ(1)である。ステップＳ２の実行後、変数ｎが１２に等しいか否かを判別する（ステップＳ３）。ｎ≠１２ならば、このＭｅ算出動作を終了する。ｎ＝１２ならば、現時点までの今回の時間Ｍｅiを前回の時間Ｍｅi-1とし（ステップＳ４）、その後、今回の時間Ｍｅi[sec]を次式の如くＭｅ(1)〜Ｍｅ(12)を全て加算することにより算出してＲＡＭ７に保存する（ステップＳ５）。
【００１５】
【数１】
Ｍｅi＝Ｍｅ(1)＋Ｍｅ(2)＋………＋Ｍｅ(11)＋Ｍｅ(12)
ステップＳ５の実行後、変数ｎを０とし（ステップＳ６）、Ｍｅ算出動作を終了する。
なお、クランク角センサ３からは特定気筒のピストンの上死点時点を示すＴＤＣ信号も通常、発生されるので、このＴＤＣ信号に応答して変数ｎを０にしても良い。
【００１６】
一方、Ｎｅ算出動作は、上記のＴＤＣ信号に同期したクランク軸の１回転毎のタイミングで、或いはエンジン回転数Ｎｅが必要な事象（イベント）が生じたときにＣＰＵ６において割り込み処理ルーチンとして実行される。ＣＰＵ６は図５に示すように、先ず、本Ｎｅ算出動作で前回算出したエンジン回転数Ｎｅを読み出し（ステップＳ１１）、そのエンジン回転数Ｎｅが所定回転数Ｎref1（例えば、５０００[rpm]）より低いか否かを判別する（ステップＳ１２）。Ｎｅ≧Ｎref1ならば、エンジン回転数Ｎｅ[rpm]を６０／Ｍｅiの如く算出する（ステップＳ１３）。Ｎｅ＜Ｎref1ならば、エンジン回転数Ｎｅ[rpm]を１２０／(Ｍｅi-1＋Ｍｅi)の如く算出する（ステップＳ１４）。ステップＳ１３又はＳ１４で算出されたエンジン回転数ＮｅはＲＡＭ７に保存され（ステップＳ１５）、次の本Ｎｅ算出動作のステップＳ１１で読み出される。
【００１７】
なお、ステップＳ１３及びＳ１４の６０及び１２０の単位は秒である。
このように前回算出のエンジン回転数Ｎｅが所定回転数Ｎref1以上である高回転数の場合には、クランク軸が１回転するために要した時間Ｍｅi[sec]からエンジン回転数Ｎｅが新たに算出される。一方、前回算出のエンジン回転数Ｎｅが所定回転数Ｎref1より低回転数の場合には、クランク軸が２回転するために要した時間Ｍｅi-1＋Ｍｅi[sec]からエンジン回転数Ｎｅが新たに算出される。
【００１８】
上記した実施例において、Ｎｅ≧Ｎref1の高回転数時及びＮｅ＜Ｎref1の低回転数時の両方においてエンジン回転数Ｎｅの算出動作は、その算出に用いられる回転周期数の長短に関わらず、クランク軸が１回転する毎に行なわれるが、Ｎｅ≧Ｎref1の高回転数時にはエンジン回転数Ｎｅはクランク軸が１回転する毎に算出され、Ｎｅ＜Ｎref1の低回転数時にはクランク軸が２回転する毎に算出されるようにしても良い。
【００１９】
また、クランク軸が１回転する毎に最新のエンジン回転数Ｎｅ(n)を算出した上で、Ｎｅ≧Ｎref1の高回転数時には最新のエンジン回転数Ｎｅ(n)をエンジン回転数Ｎｅとし、Ｎｅ＜Ｎref1の低回転数時にはエンジン回転数Ｎｅ(n)とその１回転前のエンジン回転数Ｎｅ(n-1)との平均値をエンジン回転数Ｎｅとしても良い。
【００２０】
また、上記した実施例においては、クランク軸が３０度回転する毎の時間Ｍｅ(n)を測定してその時間Ｍｅ(n)をクランク軸が１回転する期間分だけ加算してＭｅiを算出しているが、特定気筒のＴＤＣ信号に同期してクランク軸が１回転する時間Ｍｅiを連続的に測定しても良い。
更に、高回転数時と低回転数時とでエンジン回転数Ｎｅを算出する式自体を共通としておき、低回転数時には算出式に（Ｍｅi-1＋Ｍｅi）を算入し、高回転数時には（２Ｍｅi）を算入するように構成すれば、エンジン回転数Ｎｅを算出する割算の演算を低回転数時と高回転数時とで共通化することができる。すなわち、図６に示すように、ＣＰＵ６は、図５に示したＮｅ算出動作と同様にステップＳ１１及びＳ１２を実行し、ステップＳ１２の判別結果がＮｅ≧Ｎref1の高回転数時であるときには今回の時間Ｍｅiの２倍を時間Ｍｅsとし（ステップＳ２１）、ステップＳ１２の判別結果がＮｅ＜Ｎref1の低回転数時であるときには前回の時間Ｍｅi-1と今回の時間Ｍｅiとを加算してそれを時間Ｍｅsとする（ステップＳ２２）。ステップＳ２１又はＳ２２で算出した時間Ｍｅsを用いてエンジン回転数Ｎｅ[rpm]を１２０／Ｍｅsの如く算出し（ステップＳ２３）、ステップＳ１５に進んでエンジン回転数ＮｅをＲＡＭ７に保存する。
【００２１】
図７は本発明の他の実施例としてＮｅ算出動作を示している。この図７のＮｅ算出動作において図５に示したＮｅ算出動作と同一部分は同一符号で示している。ＣＰＵ６はステップＳ１２でＮｅ＜Ｎref1と判別した場合に、ステップＳ１１で読み出したエンジン回転数Ｎｅが所定回転数Ｎref2（例えば、１０００[rpm]）より低いか否かを判別する（ステップＳ１６）。Ｎｅ≧Ｎref2、すなわち、Ｎref2≦Ｎｅ＜Ｎref1ならば、ステップＳ１４に進んでエンジン回転数Ｎｅ[rpm]を１２０／(Ｍｅi-1＋Ｍｅi)の如く算出する。Ｎｅ＜Ｎref2ならば、エンジン回転数Ｎｅ[rpm]を２４０／(Ｍｅi-3＋Ｍｅi-2＋Ｍｅi-1＋Ｍｅi)の如く算出する（ステップＳ１７）。Ｍｅi-3，Ｍｅi-2，Ｍｅi-1，Ｍｅi各々はＭｅ算出動作で算出されたクランク軸１回転に要した時間である。なお、この実施例の場合にはＭｅ算出動作において、今回の時間Ｍｅi及び前回の時間（１回前の時間）Ｍｅi-1を保存するだけでなく、２回前の時間Ｍｅi-2及び３回前の時間Ｍｅi-3も保存する必要がある。
【００２２】
このように図７の実施例では、前回算出のエンジン回転数Ｎｅが所定回転数Ｎref1以上である高回転数の場合には、クランク軸が１回転するために要した時間Ｍｅi[sec]からエンジン回転数Ｎｅが新たに算出される。前回算出のエンジン回転数Ｎｅが所定回転数Ｎref1より低く所定回転数Ｎref2以上の低回転数の場合には、クランク軸が２回転するために要した時間Ｍｅi-1＋Ｍｅi[sec]からエンジン回転数Ｎｅが新たに算出される。前回算出のエンジン回転数Ｎｅが所定回転数Ｎref2よりも更に低い低回転数の場合には、クランク軸が４回転するために要した時間Ｍｅi-3＋Ｍｅi-2＋Ｍｅi-1＋Ｍｅi[sec]からエンジン回転数Ｎｅが新たに算出される。
【００２３】
【発明の効果】
以上の如く、本発明によれば、エンジンの低回転数域ではクランク軸が２回転に要した所要時間に応じてエンジン回転数を算出する構成より、高回転域よりも算出されるエンジン回転数は平均されたものとなるので、脈動回転の影響を受けることなくエンジン回転数を算出することができる。また、脈動が少ないエンジンの高回転域ではクランク軸が１回転に要した所要時間に応じてエンジン回転数を算出するので、実際のエンジン回転数の変化に追従してエンジン回転数を正確に算出することができる。よって、本発明によるエンジン回転数算出装置によって算出されたエンジン回転数をエンジン制御に用いれば、スムーズなエンジン制御が可能となる。
【００２４】
特に、図２に気筒毎の爆発時点と各行程期間とを示したＶ型４気筒エンジンのような不等間隔爆発を行なうエンジンの場合には、クランク角度０度から３６０度までの１回転期間とクランク角度が３６０度から７２０間までの次の１回転期間とではエンジン回転の脈動が異なっても、低回転数時のその脈動回転の影響を受けることなくエンジン回転数を算出することができる。
【００２５】
また、クランク軸が１回転に要する所要時間を常に測定し、高回転数域ではその所要時間をそのまま用いてエンジン回転数を算出し、低回転数域では連続する２つの所要時間の合計値を用いてエンジン回転数を算出ことができるので、エンジン回転数の算出処理が容易となる。
【図面の簡単な説明】
【図１】Ｌ型４気筒エンジンの気筒毎の爆発時点と各行程期間とを示す図である。
【図２】Ｖ型４気筒エンジンの気筒毎の爆発時点と各行程期間とを示す図である。
【図３】本発明の実施例を示すブロック図である。
【図４】Ｍｅ算出動作ルーチンを示すフローチャートである。
【図５】Ｎｅ算出動作ルーチンを示すフローチャートである。
【図６】Ｎｅ算出動作ルーチンを示すフローチャートである。
【図７】Ｎｅ算出動作ルーチンを示すフローチャートである。
【主要部分の符号の説明】
１  回転体
２  ピックアップ
３  クランク角センサ
４  凸部
５  ＥＣＵ
６  ＣＰＵ
９  カウンタ
【図１】
0004167324.tif 000002
【図２】
0004167324.tif 000003
【図３】
0004167324.tif 000004
【図４】
0004167324.tif 000005
【図５】
0004167324.tif 000006
【図６】
0004167324.tif 000007
【図７】
0004167324.tif 000008