(57)【特許請求の範囲】
【請求項１】
内燃機関のクランクシャフトに連動して回転するロータに所定のクランク角度毎に歯を形成し且つ該歯の少なくとも１つを欠くことにより欠歯を形成形し、前記ロータが回転しているときにおいて前記歯が通過するごとに信号を出力するクランク角センサを備えた内燃機関の制御装置において、
前記クランク角センサの出力信号に基づいて、クランク角で３０度回転するのに要した時間をサンプルデータとして出力する出力部と、
連続して出力される所定数のサンプルデータに基づいてクランク角速度を算出する角速度算出部と、
前記所定数のサンプルデータよりも以前に出力されたサンプルデータを用いてクランク角速度を算出する比較用角速度算出部と、
前記角速度算出部にて算出されるクランク角速度と、前記比較用角速度算出部にて算出されるクランク角速度と、を比較することでトルクを算出し、且つ、このトルクをクランク角で３０度回転するごとに順次複数回算出し、複数回算出されたトルクの平均値を前記内燃機関のトルクとするトルク算出部と、
を備え、
６気筒または８気筒の内燃機関においては、
前記比較用角速度算出部は、トルクを算出する対象となっている気筒よりも前にトルクを算出する対象となった複数の気筒を比較気筒として、該比較気筒の夫々において連続して出力された所定数のサンプルデータに基づいてクランク角速度を算出し、
前記トルク算出部は、前記比較気筒の数を前記内燃機関の運転状態に応じて設定することを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
内燃機関のクランク角を検出するために、クランクシャフトにたとえば１０度毎に歯が形成されると共に基準位置検出用にたとえば１箇所または数箇所の欠歯を形成したロータを備えることがある。そして、たとえばカム軸が１回転する毎に出力する判別信号を組み合わせることで、クランク角を得ることができる。また、たとえば１０度毎に出力される信号を、たとえば３０度毎に出力される信号に変換することがある。この３０度毎に出力される信号は、ロータの欠歯部とその前後において実際の値からずれるという特性がある。
【０００３】
ここで、圧縮上死点付近の３０度クランク角度の経過時間と、圧縮上死点後９０度付近の３０度クランク角度の経過時間と、に基づいてトルクの変動量を求める技術が知られている（例えば、特許文献１参照。）。
【０００４】
また、クランク角９０度区間の所要時間に基づいて、燃焼状態を判定する技術が知られている（例えば、特許文献２参照。）。
【０００５】
さらに、ハイブリッドシステムにおいてエンジントルクを算出する技術が知られている（例えば、特許文献３参照。）。
【０００６】
特に、ハイブリッドシステムにおいては、３０度クランク角度における経過時間の検出を高精度に行うことが要求される。しかし、ロータの欠歯部とその前後において実際の値からずれる特性があるため、３０度クランク角度における経過時間の検出を高精度に行うことは困難である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０９−２８１００６号公報
【特許文献２】特開２００８−０５７４９０号公報
【特許文献３】特開２００５−３４３４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記したような問題点に鑑みてなされたものであり、その目的は、欠歯を有するロータによりクランク角度を求めつつ内燃機関のトルクを精度良く求めることにある。
【課題を解決するための手段】
【０００９】
上記課題を達成するために本発明による内燃機関の制御装置は、
内燃機関のクランクシャフトに連動して回転するロータに所定のクランク角度毎に歯を形成し且つ該歯の少なくとも１つを欠くことにより欠歯を形成形し、前記ロータが回転しているときにおいて前記歯が通過するごとに信号を出力するクランク角センサを備えた内燃機関の制御装置において、
前記クランク角センサの出力信号に基づいて、クランク角で３０度回転するのに要した時間をサンプルデータとして出力する出力部と、
連続して出力される所定数のサンプルデータに基づいてクランク角速度を算出する角速度算出部と、
前記所定数のサンプルデータよりも以前に出力されたサンプルデータを用いてクランク角速度を算出する比較用角速度算出部と、
前記角速度算出部にて算出されるクランク角速度と、前記比較用角速度算出部にて算出されるクランク角速度と、を比較することでトルクを算出し、且つ、このトルクをクランク角で３０度回転するごとに順次複数回算出し、複数回算出されたトルクの平均値を前記内燃機関のトルクとするトルク算出部と、
を備える。
【００１０】
欠歯及びその前後の歯がクランク角センサを通過するときに出力部から出力されるサンプルデータには誤差が含まれる。角速度算出部は、所定数のサンプルデータに基づいて、該所定数のサンプルデータが出力された区間におけるクランク角速度を算出する。このクランク角速度は、所定数のサンプルデータが出力された区間における平均値ともいえる。所定数は、たとえば内燃機関が有する気筒数に応じて変更することができる。この所定数は２以上の値である。
【００１１】
そして、角速度算出部により算出されるクランク角速度と、比較用角速度算出部にて算出されるクランク角速度と、を比較することで、クランク角加速度を算出することができ、このクランク角加速度に基づいてトルクを算出することができる。ここで、トルクを算出するときに用いるクランク角速度は、所定数（すなわち複数）のサンプルデータに基づいて算出されている。このため、欠歯及びその前後において出力される誤差を含んだサンプルデータを用いてクランク角速度を算出したとしても、その誤差の影響が小さくなる。すなわち、トルクの算出精度を高めることができる。また、トルクをクランク角で３０度回転するごとに順次複数回算出し、複数回算出されたトルクの平均値を内燃機関のトルクとすることで、前回に燃焼が行われた気筒のトルク変動の影響を軽減することができる。
【００１２】
なお、４気筒の内燃機関においては、前記所定数は３つであってもよい。すなわち、クランク角度で９０度回転するのに要した時間に基づいてクランク角速度を算出してもよい。そうすると、欠歯の影響を小さくすることができると共に、前の気筒の燃焼の影響を受け難くなるため、クランク角速度の算出精度を高めることができる。
【００１３】
また、６気筒の内燃機関においては、前記所定数は４つであってもよい。すなわち、クランク角度で１２０度回転するのに要した時間に基づいてクランク角速度を算出してもよい。そうすると、欠歯の影響を小さくすることができると共に、前の気筒の燃焼の影響を受け難くなるため、クランク角速度の算出精度を高めることができる。
【００１４】
８気筒の内燃機関においては、前記所定数は３つであってもよい。すなわち、クランク角度で９０度回転するのに要した時間に基づいてクランク角速度を算出してもよい。そうすると、欠歯の影響を小さくすることができると共に、前の気筒の燃焼の影響を受け難くなるため、クランク角速度の算出精度を高めることができる。
【００１５】
また、６気筒または８気筒の内燃機関においては、
前記比較用角速度算出部は、トルクを算出する対象となっている気筒よりも前にトルクを算出する対象となった複数の気筒を比較気筒として、該比較気筒の夫々において連続して出力された所定数のサンプルデータに基づいてクランク角速度を算出し、
前記トルク算出部は、前記比較気筒の数を前記内燃機関の運転状態に応じて設定することができる。
【００１６】
たとえば、以前に失火が発生している場合には、該失火が発生した気筒において出力さ
れたサンプルデータに基づいてトルクを算出すると、トルクの算出精度が低下する。この場合、失火が発生している気筒で出力されたサンプルデータを除いてトルクを算出すれば、トルクの算出精度を高めることができる。また、内燃機関の過渡運転時においては、あまり前のサンプルデータを用いるとトルクの算出精度が低下する。この場合、より近い時期に出力されたサンプルデータのみを用いることでトルクの算出精度を高めることができる。
【００１７】
なお、４気筒の内燃機関においては、前記トルク算出部は、クランク角で３０度回転するごとにトルクを算出することを連続して６回行い、該６回分のトルクの平均値を算出してもよい。
【００１８】
また、６気筒の内燃機関においては、前記トルク算出部は、クランク角で３０度回転するごとにトルクを算出することを連続して４回行い、該４回分のトルクの平均値を算出してもよい。
【００１９】
また、８気筒の内燃機関においては、前記トルク算出部は、クランク角で３０度回転するごとにトルクを算出することを連続して３回行い、該３回分のトルクの平均値を算出してもよい。
【００２０】
また、４気筒の内燃機関においては、前記角速度算出部は、連続した３つのサンプルデータに基づいてクランク角速度を算出し、前記比較用角速度算出部は、前記角速度算出部で用いられる３つのサンプルデータの直前の連続した３つのサンプルデータに基づいてクランク角速度を算出してもよい。
【００２１】
また、６気筒の内燃機関においては、前記角速度算出部は、連続した４つのサンプルデータに基づいてクランク角速度を算出し、前記比較用角速度算出部は、トルクを算出する対象となっている気筒よりも前にトルクを算出する対象となった気筒であって点火順序で１つ前から５つ前までの気筒を比較気筒として、該比較気筒の夫々において連続して出力された４つのサンプルデータに基づいてクランク角速度を算出してもよい。
【００２２】
８気筒の内燃機関においては、前記角速度算出部は、連続した３つのサンプルデータに基づいてクランク角速度を算出し、前記比較用角速度算出部は、トルクを算出する対象となっている気筒よりも前にトルクを算出する対象となった気筒であって点火順序で１つ前から７つ前までの気筒を比較気筒として、該比較気筒の夫々において連続して出力された３つのサンプルデータに基づいてクランク角速度を算出してもよい。
【００２３】
なお、前記所定数のサンプルデータには、前記クランク角センサを前記欠歯が通過するときに出力されるサンプルデータを含むことができる。欠歯の影響を受けたサンプルデータを含んでいても、所定数のサンプルデータに基づいてクランク角速度が算出されるために、誤差の影響が小さくなる。
【発明の効果】
【００２４】
本発明によれば、欠歯を有するロータによりクランク角度を求めつつ内燃機関のトルクを精度良く求めることができる。
【図面の簡単な説明】
【００２５】
【図１】実施例に係るハイブリッド車両の概略構成を示す図である。
【図２】クランク角センサの概略構成を示す図である。
【図３】クランク角センサ及びカム角センサからの出力信号の推移を示した図である。
【図４】クランク角に対する３０°ＣＡ信号が出力されるまでの時間の一例を示した図である。
【図５】エンジンのトルクの計算タイミングを説明するための図である。
【図６】モータリング時における３０°ＣＡ信号ＮＥ２が出力されるのに要する時間（３０°ＣＡ所要時間）を３０°ＣＡ毎に示した図である。
【図７】クランク角、筒内圧、及びトルクの関係を示した図である。
【図８】実施例に係る４気筒エンジンのトルクを推定するフローを示したフローチャートである。
【図９】６気筒エンジンのトルクの計算タイミングを説明するための図である。
【図１０】実施例に係る６気筒エンジンのトルクを推定するフローを示したフローチャートである。
【図１１】実施例に係る６気筒エンジンの角速度を比較するためのデータを算出するフローを示したフローチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明に係る内燃機関の制御装置の具体的な実施態様について図面に基づいて説明する。
【実施例１】
【００２７】
図１は、本実施例に係るハイブリッド車両の概略構成を示す図である。図１に示すハイブリッド車は、主として、エンジン１、主に発電機として機能する第１モータジェネレータ２と、プラネタリギア３と、主に電動機として機能する第２モータジェネレータ４と、を含む構成である。
【００２８】
エンジン１から駆動輪に至る動力伝達経路に、第１モータジェネレータ２、プラネタリギア３、及び第２モータジェネレータ４が、配置されている。
【００２９】
エンジン１は、ガソリンエンジン、ディーゼルエンジン、ＬＰＧエンジンなどが適用可能であり、燃料と空気の混合気を気筒内で燃焼させ、その熱エネルギを回転運動エネルギに変換して出力するものである。このエンジン１の動作は、後述するＥＣＵ１００によって制御される。
【００３０】
エンジン１の出力軸であるクランクシャフト１１の後端には、バネやゴムなどを含んで構成されるトーショナルダンパ１２を介してインプットシャフト１３が連結されている。クランクシャフト１１とインプットシャフト１３とは、一直線上つまり同軸上に配置されている。
【００３１】
第１モータジェネレータ２及び第２モータジェネレータ４は、電気エネルギを運動エネルギに変換する力行機能と、運動エネルギを電気エネルギに変換する回生機能とを兼備した同期電動機が用いられている。
【００３２】
具体的に、第１モータジェネレータ２は、プラネタリギア３を介してエンジン１の駆動力を受けて第２モータジェネレータ４に給電するための発電を行う他、エンジン１の始動、停止時や車両発進時の駆動力発生源として機能する。一方、第２モータジェネレータ４は、車両の走行駆動力のアシストを行う他、制動時や減速時の回生動作によって発電を行うものとして機能する。
【００３３】
ＥＣＵ１００によってインバータ８０を制御することにより、前記力行機能及び回生機能、ならびにそれぞれの場合における駆動力を制御するように構成されている。また、第１モータジェネレータ２及び第２モータジェネレータ４は、電力の授受を行うことが可能
なバッテリ８１にインバータ８０を介して接続されている。
【００３４】
プラネタリギア３は、サンギア３１、リングギア３２、複数のピニオンギア３３、キャリヤ３４を含んでいる。サンギア３１は、サンギアシャフト１４を介して第１モータジェネレータ２に一体回転可能に連結されている。リングギア３２は、サンギア３１の外径側に同心状に配置されており、リングギアシャフト１５に一体回転可能に連結されている。また、リングギアシャフト１５は、第２モータジェネレータ４に一体回転可能に連結されている。
【００３５】
複数のピニオンギア３３は、サンギア３１とリングギア３２との間に互いに噛合するよう配置されている。キャリヤ３４は、複数のピニオンギア３３を円周等間隔に保持して回転自在に支持するもので、インプットシャフト１３に一体回転可能に連結されている。
【００３６】
リングギア３２には、動力の取り出し用の動力取出ギア３５が結合されている。この動力取出ギア３５は、チェーンベルト３６を介して動力伝達ギア３７に接続されており、該動力伝達ギアはドライブシャフト３８に接続されている。
【００３７】
また、エンジン１には、クランクシャフト１１の回転角（クランク角）に応じて信号を出力するクランク角センサ２１が取り付けられている。クランク角センサ２１の信号は、信号処理装置１０１に入力される。また、インプットシャフト１３には、該インプットシャフト１３の回転数を検出する回転センサ２２が設けられている。サンギアシャフト１４には、該サンギアシャフト１４の回転角度を検出する第１レゾルバ２３が設けられている。さらに、リングギアシャフト１５には、該リングギアシャフト１５の回転角度を検出する第２レゾルバ２４が設けられている。
【００３８】
図２は、クランク角センサ２１の概略構成を示す図である。なお、回転センサ２２は、クランク角センサ２１と概ね同じ構成とすることができる。
【００３９】
クランクシャフト１１には、該クランクシャフト１１と同軸にロータ２００が取り付けられている。ロータ２００の外周には、クランク角検出用として、１０°ＣＡ（クランク角）毎に等しい角度間隔にて形成された３６歯数のうち２歯連続で欠歯させた欠歯部２０１が形成されると共に、３４歯数からなる歯部２０２が形成されている。
【００４０】
クランク角センサ２１は、各歯部２０２に対向し、それらの歯部２０２によりクランクシャフト１１の回転角度を検出する。クランク角センサ２１から出力されるクランク角信号ＮＥは、クランクシャフト１１の回転位置が予め設定された特定位置でないときには、所定のクランク角度（１０°ＣＡ）回転する期間を１周期としたパルス信号となり、クランクシャフト１１が特定位置に来たときには、クランクシャフト１１が３０°ＣＡ回転する期間を１周期とした欠歯信号となる。そして、この欠歯信号は、クランクシャフト１１が１回転する毎（３６０°ＣＡ毎）に発生する。
【００４１】
そして、信号処理装置１０１は、クランク角センサ２１からクランク角信号ＮＥを受け取ると、クランク角信号ＮＥ中における欠歯信号の検出動作を開始する。そして、クランク角信号ＮＥが欠歯信号になったことを最初に検出すると、以降、クランク角信号ＮＥを分周して、クランクシャフト１１が３０°ＣＡ回転する期間を１周期としたパルス信号としての３０°ＣＡ信号ＮＥ２を生成し出力する。なお、本実施例においては信号処理装置１０１が、本発明における出力部に相当する。
【００４２】
また、信号処理装置１０１には、エンジン１のカムシャフト２０３の外周に形成される１つの歯部２０４に対向して設けられるカム角センサ２５からの出力信号が入力される。
カム角センサ２５からは、クランク角で７２０°（７２０°ＣＡ）毎に信号が出力される。
【００４３】
ここで、図３は、クランク角センサ２１及びカム角センサ２５からの出力信号の推移を示した図である。
【００４４】
欠歯信号を検出してから２１０°ＣＡ後に、一番気筒（＃１）が上死点（ＴＤＣ）に位置するように欠歯部２０１が形成される。また、欠歯信号を検出してから２１０°ＣＡ後までの間に、カム角センサ２５からの信号が入力されれば圧縮上死点と判定し、信号が入力されなければ排気上死点と判定できるように、カムシャフト２０３の歯部２０４が形成される。
【００４５】
なお、上述したＥＣＵ１００は、一般的に公知のように、ＣＰＵ、ＲＯＭ、ＲＡＭ及びバックアップＲＡＭ等を含んで構成される。ＲＯＭは、各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップ等が記憶されている。ＣＰＵは、ＲＯＭに記憶された各種制御プログラムやマップに基づいて各種の演算処理を実行する。また、ＲＡＭは、ＣＰＵでの演算結果や各センサから入力されたデータ等を一時的に記憶するメモリであり、バックアップＲＡＭは、例えばエンジン１の停止時にその保存すべきデータ等を記憶する不揮発性のメモリである。
【００４６】
ここで、プラネタリギア３の動作を説明する。キャリヤ３４に入力されるエンジン１の駆動力に対して、第１モータジェネレータ２による反力駆動力をサンギア３１に入力すると、エンジン１から入力された駆動力より大きい駆動力がリングギア３２から出力として得られる。
【００４７】
その場合、第１モータジェネレータ２は発電機として機能する。また、リングギア３２の回転数（出力回転数）を一定とすると、第１モータジェネレータ２の回転数を増減変化させることにより、エンジン１の回転数を連続的に（無段階に）変化させることができる。したがって、第１モータジェネレータ２を制御することによって、例えば燃費を最も良好とするようにエンジン１の回転数を制御することが可能になる。
【００４８】
そして、ハイブリッド車両は、エンジン１で発生する駆動力を、プラネタリギア３を経由させて、駆動輪と第１モータジェネレータ２とに機械的に分配できるとともに、エンジン１または第２モータジェネレータ４のうちの少なくとも一方を駆動源とすることができる。
【００４９】
さらに、エンジン駆動力をプラネタリギア３に伝達する場合、プラネタリギア３のサンギア３１とキャリヤ３４とリングギア３２との差動機能により、第１モータジェネレータ２の回転速度を制御すれば、エンジン１の回転数を無段階に（連続的に）制御することが可能であり、そのことから、プラネタリギア３が無段変速機として機能する。
【００５０】
そして、ＥＣＵ１００は、エンジン１のトルクＴｅを推定し、該トルクＴｅに基づいてエンジン１を制御する。このエンジン１のトルクＴｅは、次式により得ることができる。
Ｔｅ＝Ｉｅ・ｄωｅ／ｄｔ＋（（１＋ρ）／ρ）・（（Ｉｇ・ｄωｇ／ｄｔ）−Ｔｇ）
ただし、Ｉｅはエンジンの慣性モーメント、ωｅはエンジンの回転角速度、ρはプラネタリギア比、Ｉｇは第１モータジェネレータ２の慣性モーメント、ωｇは第１モータジェネレータ２の回転角速度、Ｔｇは第１モータジェネレータ２のトルク（指令値）である。エンジンの慣性モーメントＩｅ及び第１モータジェネレータ２の慣性モーメントＩｇは実験により予め求めることができる。エンジンの回転角速度ωｅは、クランク角センサ２１により得る。また、第１モータジェネレータ２の回転角速度ωｇは、回転センサ２２によ
り得る。
【００５１】
ここで、ハイブリッド車両においては、トーショナルダンパ１２を介して第１モータジェネレータ２及び第２モータジェネレータ４が接続されているため、クランクシャフト１１の回転状態が第１モータジェネレータ２及び第２モータジェネレータ４の回転状態の影響を受ける。このため、単にクランクシャフト１１の角加速度（ｄωｅ／ｄｔ）とエンジン１の慣性モーメントＩｅとを乗算してエンジン１のトルクを推定しても、実際の値からはずれてしまう。そこで、第１モータジェネレータ２及び第２モータジェネレータ４の影響を考慮した補正項（（１＋ρ）／ρ）・（（Ｉｇ・ｄωｇ／ｄｔ）−Ｔｇ）を加えている。なお、補正項は周知の技術により得ることができるため、本実施例では説明を省略する。
【００５２】
そして、エンジンの角加速度（ｄωｅ／ｄｔ）は、３０°ＣＡ信号ＮＥ２に基づいて算出することができる。しかし、３０°ＣＡ信号ＮＥ２は、欠歯部２０１及びその前後において実際の値からずれるという特性がある。
【００５３】
図４は、クランク角に対する３０°ＣＡ信号ＮＥ２が出力されるまでの時間（３０°ＣＡ所要時間）の一例を示した図である。実線の楕円で囲った部分は、欠歯部２０１の影響を受けている箇所（１番気筒燃焼時に相当）であり、破線の楕円で囲った部分は、欠歯部２０１の影響を受けていない箇所（３番気筒燃焼時に相当）である。すなわち、歯部２０２では等間隔に歯が形成されているのに対し、欠歯部２０１では歯が形成されていないため、クランク角センサ２１の信号が途切れてしまい、３０°ＣＡ信号ＮＥ２に誤差が生じる。この状態でエンジン１のトルクＴｅを推定すると、正確な推定が困難となる。
【００５４】
これに対し本実施例では、４気筒エンジンの場合には、３０°ＣＡ信号ＮＥ２の連続３回分（９０°ＣＡ分）を計算区間として設定し、エンジン１及び第１モータジェネレータ２の角速度変化の計算を行なう。この計算は、３０°ＣＡ信号ＮＥ２毎に計算対象データを３０°ＣＡずらして順次行なわれる。すなわち、計算区間を３０°ＣＡずつずらして角速度の計算を複数回行なう。なお、本実施例では計算区間の角速度を算出するＥＣＵ１００が、本発明における角速度算出部に相当する。
【００５５】
図５は、エンジン１のトルクＴｅの計算タイミングを説明するための図である。破線は、３０°ＣＡ信号ＮＥ２が立ち上がるタイミングを示している。区間１〜区間１１は、計算区間として夫々３０°ＣＡ信号ＮＥ２の３回分が割り当てられている。区間１の３０°ＣＡ後に区間２が設定され、区間２の３０°ＣＡ後に区間３が設定される。このように、３０°ＣＡ毎に新たな計算区間が設定される。
【００５６】
なお、４気筒エンジンの場合には、計算区間直前の３０°ＣＡ信号ＮＥ２の連続３回分（９０°ＣＡ分）の区間を、角速度変化を計算するための比較区間とする。そして、計算区間及び比較区間で夫々算出される角速度に基づいてエンジン１の角加速度（ｄωｅ／ｄｔ）が算出される。なお、本実施例では比較区間の角速度を算出するＥＣＵ１００が、本発明における比較用角速度算出部に相当する。
【００５７】
すなわち、連続する１８０°ＣＡの前半と後半とで夫々角速度が算出され、これらを比較することで角速度の変化を算出し、角加速度が算出される。たとえば、図５では、区間１と区間４との角速度を比較して角速度変化の計算を行なうことができる。同様に、区間２と区間５、区間３と区間６、区間４と区間７、区間５と区間８、区間６と区間９、区間７と区間１０、区間８と区間１１との角速度を夫々比較して角速度変化の計算を行なうことができる。そして、燃焼期間（膨張行程としてもよい）に相当する１８０°ＣＡに含まれる計算区間、すなわち計算区間の６回分で夫々エンジン１のトルクを算出し、その６回
の平均値を該当気筒のトルク値とする。なお、本実施例ではこのようにトルクを算出するＥＣＵ１００が、本発明におけるトルク算出部に相当する。
【００５８】
なお、図５においては、区間６が始まる時期から区間７が始まる時期までの間の３０°ＣＡが、欠歯部２０１に相当する。この区間を欠歯区間と称する。また、欠歯区間直前の３０°ＣＡの区間を欠歯前区間と称し、欠歯区間直後の３０°ＣＡの区間を欠歯後区間と称する。
【００５９】
ここで、図６は、モータリング時における３０°ＣＡ信号ＮＥ２が出力されるのに要する時間（３０°ＣＡ所要時間）を３０°ＣＡ毎に示した図である。一点鎖線は、そのときの運転状態における基準値である。欠歯前区間、欠歯区間、欠歯後区間における夫々の３０°ＣＡ所要時間は、基準値に対して、夫々、＋０．７５％、−１．２％、＋０．４５％のずれが生じている。これは、他の区間におけるずれと比較しても大きいことが分かる。すなわち、欠歯前区間及び欠歯後区間においては、３０°ＣＡ所要時間が実際よりも長くなっており、欠歯区間においては、３０°ＣＡ所要時間が実際よりも短くなっていると考えられる。なお、この誤差は、エンジン１の回転数などにより変化する。
【００６０】
ここで、図５に示した区間１、区間２、及び区間８〜区間１１は、欠歯前区間、欠歯区間、及び欠歯後区間から外れているため、欠歯の影響を受けない。一方、区間３〜区間７は、その一部に欠歯前区間、欠歯区間、または欠歯後区間の少なくとも１つを含んでいるため、欠歯の影響を受けて角速度算出時に誤差が生じ得る。本実施例では、４気筒エンジンにおける計算区間を９０°ＣＡに設定することでこれらの誤差を小さくしている。
【００６１】
ここで、区間３では、前側の６０°ＣＡでは欠歯の影響を受けていないが、後側の３０°ＣＡは欠歯前区間であるため、全体としては欠歯の影響を受けている。しかし、区間３全体の９０°ＣＡのなかで欠歯の影響を受けているのは、後側の３０°ＣＡのみなので、計算区間を欠歯前区間のみとした場合と比較して、欠歯の影響が三分の一に減少している。すなわち、欠歯前区間における誤差が＋０．７５％であるから、この三分の一の値である＋０．２５％が区間３における誤差として残る。
【００６２】
また、区間４では、後側の６０°ＣＡにおいて欠歯前区間及び欠歯区間の影響を受けるものの、前側の３０°ＣＡでは欠歯の影響を受けない。また、欠歯前区間における誤差の＋０．７５％と、欠歯区間における誤差の−１．２％と、が互いに打ち消し合うことにより、−０．４５％の誤差が残る。そして、欠歯の影響が三分の一に減少するため、−０．１５％が区間４における誤差となる。
【００６３】
区間５では、欠歯前区間、欠歯区間、欠歯後区間の影響を夫々受ける。夫々の誤差を加えると合計は０となるため、夫々の誤差が打ち消し合って、区間５における誤差は０となる。すなわち、欠歯前区間、欠歯区間、及び欠歯後区間の夫々において３０°ＣＡ所要時間に誤差が生じているが、欠歯前区間、欠歯区間、及び欠歯後区間全体の９０°ＣＡで考えると誤差はなくなる。
【００６４】
区間６では、前側の６０°ＣＡにおいて欠歯区間及び欠歯後区間の影響を受けるものの、後側の３０°ＣＡでは欠歯の影響を受けない。また、欠歯区間における誤差の−１．２％と、欠歯後区間における誤差の＋０．２５％と、が互いに打ち消し合って、−０．７５％の誤差が残る。そして、欠歯の影響が三分の一に減少するため、区間６における誤差は−０．２５％となる。
【００６５】
区間７では、後側の６０°ＣＡでは、欠歯の影響を受けていないが、前側の３０°ＣＡは欠歯後区間であるため、全体としては欠歯の影響を受けている。しかし、区間７全体の
９０°ＣＡのなかで欠歯の影響を受けているのは、前側の３０°ＣＡのみなので、計算区間を欠歯後区間のみとした場合と比較して、欠歯の影響が三分の一に減少している。すなわち、欠歯後区間における誤差が＋０．４５％であるから、この三分の一の値である＋０．１５％が区間７における誤差として残る。
【００６６】
このように、計算区間及び比較区間を９０°ＣＡに設定することで、欠歯の影響を小さくすることができる。これにより、角速度をより正確に求めることができる。また、欠歯の影響による誤差を補正するための補正計算を省略することができる。そして、これら計算区間及び比較区間を用いれば、エンジン１のトルクをより正確に求めることができる。
【００６７】
たとえば、計算区間を区間４に設定し、比較区間を区間１に設定する。区間１における３０°ＣＡ所要時間の合計（９０°ＣＡ所要時間）と、区間４における３０°ＣＡ所要時間の合計（９０°ＣＡ所要時間）と、から夫々角速度を求め、この区間１と区間４との角速度を比較することで角速度変化、すなわち角加速度を算出する。同様に、各区間とそれと連続する区間とで角加速度を算出し、夫々の角加速度に基づいて、それぞれエンジン１のトルクを推定することができる。各気筒の膨張行程においては、計算区間が６つ設定されるが、夫々の計算区間において算出されるトルクの平均値を該気筒のトルクとする。すなわち、計算区間の６つ分（１８０°ＣＡ分）のトルクの平均値をそのときに燃焼している気筒のトルクとする。
【００６８】
このように、計算区間に、欠歯前区間、欠歯区間または欠歯後区間が含まれていても、エンジン１のトルクを正確に求めることができる。
【００６９】
ところで、４気筒エンジンの場合には、計算区間を１８０°ＣＡとしても、欠歯の影響を打ち消すことができる。すなわち、４気筒の場合、計算区間を燃焼区間と同じ１８０°ＣＡにすれば、クランク角センサの欠歯区間を含むことになるため、３０°ＣＡ毎の補正をしなくてもよい。しかし、角速度変化を算出する際に直前の燃焼気筒と比較することになるため、たとえば直前の気筒において失火が発生していると、後の気筒（トルクの算出対象となる気筒）が正常に燃焼していてもトルクの計算結果が異常な値になる。
【００７０】
図７は、クランク角、筒内圧、及びトルクの関係を示した図である。図７中の「失火」で示される箇所において失火が発生している。この失火は、１番気筒（＃１）で発生している。ここで、１番気筒（＃１）で失火が発生した場合には、計算区間を１８０°ＣＡに設定していると、３番気筒（＃３）の角速度の算出時に１番気筒（＃１）の失火による影響を大きく受けることになる。一方、４気筒エンジンの場合は角速度変化を９０°ＣＡ毎に計算することで、燃焼１８０°ＣＡの後半９０°ＣＡには燃焼圧の影響が出難いので、３番気筒（＃３）の角速度の算出時に１番気筒（＃１）の失火による影響を受け難くなるので、角速度変化計算の精度が高くなる。
【００７１】
図８は、本実施例に係る４気筒エンジンのトルクを推定するフローを示したフローチャートである。本ルーチンはＥＣＵ１００により所定の時間毎に実行される。
【００７２】
ステップＳ１０１では、３０°ＣＡ信号ＮＥ２が出力される時期であるか否か判定される。ステップＳ１０１で肯定判定がなされた場合にはステップＳ１０２へ進み、否定判定がなされた場合には本ルーチンを終了させる。
【００７３】
ステップＳ１０２では、サンプルデータが読み込まれる。サンプルデータは、今回の計算区間のデータとなる３０°ＣＡ信号ＮＥ２の連続３回分の所要時間と、比較データとなる３０°ＣＡ信号ＮＥ２の連続３回分の所要時間と、である。
【００７４】
ステップＳ１０３では、トルクが算出される。すなわち、角速度変化を算出した後にエンジン１のトルクが算出される。そして、４気筒エンジンでは、これを６回繰り返して、それぞれ算出されるトルクの平均値を求め、該トルクの平均値をエンジン１の制御に用いるトルクとする。
【００７５】
このように、計算区間を９０°ＣＡに広げてエンジン１のトルクを算出することで、欠歯の影響を小さくすることができる。また、前の気筒で発生したトルク変化の影響を軽減することができる。
【００７６】
次に６気筒エンジン及び８気筒エンジンの場合について説明する。６気筒エンジンでは、点火間隔が１２０°ＣＡとなり、４気筒エンジンと同じ計算方法ではトルクを計算することができない。また、８気筒エンジンでは、点火間隔が９０°ＣＡとなるため、４気筒エンジンと同じ計算方法では、前の気筒の燃焼の影響を受けてしまうので、トルクの計算精度が低くなる虞がある。そこで、計算区間を気筒数に応じて変更する。すなわち、６気筒エンジンの場合には、３０°ＣＡ信号ＮＥ２の連続４回分（１２０°ＣＡ分）を計算区間として設定し、８気筒エンジンの場合には、３０°ＣＡ信号ＮＥ２の連続３回分（９０°ＣＡ分）を計算区間として設定する。この計算区間は、各気筒の膨張行程開始から、次の気筒の膨張行程開始までのクランク角度に等しい。トルクの計算は、４気筒エンジンと同様に３０°ＣＡ信号ＮＥ２毎に計算対象データを３０°ＣＡずらして順次行なわれる。すなわち、計算区間を３０°ＣＡずつずらして角速度の計算を複数回行なう。
【００７７】
また、６気筒エンジンの場合には、点火順序で１気筒前から５気筒前までの夫々の気筒において計算区間とされた区間を比較区間とする。そして、点火順序で１気筒前から５気筒前までの夫々の気筒において算出された角速度の平均値を求め、該平均値を比較データとして角加速度を算出する。また、８気筒エンジンの場合には、点火順序で１気筒前から７気筒前までの夫々の気筒において計算区間とされた区間を比較区間とする。そして、点火順序で１気筒前から７気筒前までの夫々の気筒において算出された角速度の平均値を求め、該平均値を比較データとして角加速度を算出する。そして、６気筒エンジンの場合では、１２０°ＣＡに含まれる計算区間、すなわち計算結果の連続４回分（１２０°ＣＡ分）で夫々エンジン１のトルクを算出し、その４回の平均値を該当気筒のトルク値とする。また、８気筒エンジンの場合では、９０°ＣＡに含まれる計算区間、すなわち計算結果の連続３回分（９０°ＣＡ分）で夫々エンジン１のトルクを算出し、その３回の平均値を該当気筒のトルク値とする。
【００７８】
図９は、６気筒エンジンのトルクＴｅの計算タイミングを説明するための図である。破線は、３０°ＣＡ信号ＮＥ２が立ち上がるタイミングを示している。区間１〜区間１１は、計算区間として夫々３０°ＣＡ信号ＮＥ２の４回分が割り当てられている。
【００７９】
ここで、図９に示した区間１及び区間８は、欠歯前区間、欠歯区間、及び欠歯後区間から外れているため、欠歯の影響を受けない。一方、区間２〜区間７は、その一部に欠歯前区間、欠歯区間、または欠歯後区間の少なくとも１つを含んでいるため、欠歯の影響を受けて角速度算出時に誤差が生じ得る。本実施例では、６気筒エンジンにおける計算区間を１２０°ＣＡに設定することでこれらの誤差を小さくしている。
【００８０】
ここで、区間２では、前側の９０°ＣＡでは欠歯の影響を受けていないが、後側の３０°ＣＡは欠歯前区間であるため、全体としては欠歯の影響を受けている。しかし、区間２全体の１２０°ＣＡのなかで欠歯の影響を受けているのは、後側の３０°ＣＡのみなので、計算区間を欠歯前区間のみとした場合と比較して、欠歯の影響が四分の一に減少している。すなわち、欠歯前区間における誤差が＋０．７５％であるから、この四分の一の値である＋０．１９％が区間２における誤差として残る。
【００８１】
また、区間３では、後側の６０°ＣＡにおいて欠歯前区間及び欠歯区間の影響を受けるものの、前側の６０°ＣＡでは欠歯の影響を受けない。また、欠歯前区間における誤差の＋０．７５％と、欠歯区間における誤差の−１．２％と、が互いに打ち消し合うことにより、−０．４５％の誤差が残る。そして、欠歯の影響が四分の一に減少するため、−０．１１％が区間３における誤差となる。
【００８２】
区間４及び区間５では、欠歯前区間、欠歯区間、欠歯後区間の影響を夫々受ける。夫々の誤差を加えると合計は０となるため、夫々の誤差が打ち消し合って、区間４及び区間５における誤差は０となる。すなわち、欠歯前区間、欠歯区間、及び欠歯後区間の夫々において３０°ＣＡ所要時間に誤差が生じているが、欠歯前区間、欠歯区間、及び欠歯後区間全体を含む１２０°ＣＡで考えると誤差はなくなる。
【００８３】
区間６では、前側の６０°ＣＡにおいて欠歯区間及び欠歯後区間の影響を受けるものの、後側の６０°ＣＡでは欠歯の影響を受けない。また、欠歯区間における誤差の−１．２％と、欠歯後区間における誤差の＋０．２５％と、が互いに打ち消し合って、−０．７５％の誤差が残る。そして、欠歯の影響が四分の一に減少するため、区間６における誤差は−０．１８％となる。
【００８４】
区間７では、後側の９０°ＣＡでは、欠歯の影響を受けていないが、前側の３０°ＣＡは欠歯後区間であるため、全体としては欠歯の影響を受けている。しかし、区間７全体の１２０°ＣＡのなかで欠歯の影響を受けているのは、前側の３０°ＣＡのみなので、計算区間を欠歯後区間のみとした場合と比較して、欠歯の影響が四分の一に減少している。すなわち、欠歯後区間における誤差が＋０．４５％であるから、この四分の一の値である＋０．１１％が区間７における誤差として残る。
【００８５】
なお、８気筒エンジンの場合における計算区間及び各区間における誤差は、４気筒エンジンの場合と同じである。
【００８６】
このように、６気筒エンジンの場合には計算区間を１２０°ＣＡに設定し、８気筒エンジンの場合には計算区間を９０°ＣＡに設定することで、欠歯の影響を小さくすることができる。これにより、角速度をより正確に求めることができる。また、欠歯の影響による誤差を補正するための補正計算を省略することができる。そして、これら計算区間及び比較区間を用いれば、エンジン１のトルクをより正確に求めることができる。また、角速度変化を計算するために比較される角速度を、直前の数気筒の平均値とすることで、１気筒前の燃焼状態の影響を小さくすることができる。
【００８７】
なお、６気筒エンジン及び８気筒エンジンの場合において、角速度変化を計算するために比較される角速度を、点火順序で直前の数気筒の平均値としているが、この比較するために用いられる気筒の数をエンジン１の運転状態に応じて変化させてもよい。すなわち、エンジン１の運転状態が大きく変化している場合においては、計算対象となっている気筒よりも点火順序が前の気筒ほど、計算対象となっている気筒との角速度の差が大きくなり、計算対象となっている気筒との関係が薄れる。そこで本実施例では、６気筒エンジンの加速または減速時において、１気筒前と５気筒前とで夫々得られる角加速度の差が大きいほど、比較する気筒数を少なくする。また、８気筒エンジンの加速または減速時において、１気筒前と７気筒前とで夫々得られる角加速度の差が大きいほど、比較する気筒数を少なくする。これらの最適な関係は、予め実験等で求めておく。
【００８８】
また、算出されたトルクが小さいなど失火が発生していると考えられる気筒は、比較の対象から外してもよい。
【００８９】
図１０は、本実施例に係る６気筒エンジンのトルクを推定するフローを示したフローチャートである。本ルーチンはＥＣＵ１００により所定の時間毎に実行される。
【００９０】
ステップＳ２０１では、３０°ＣＡ信号ＮＥ２が出力される時期であるか否か判定される。ステップＳ２０１で肯定判定がなされた場合にはステップＳ２０２へ進み、否定判定がなされた場合には本ルーチンを終了させる。
【００９１】
ステップＳ２０２では、サンプルデータが読み込まれる。サンプルデータは、今回の計算区間のデータとなる３０°ＣＡ信号ＮＥ２の４回分の所要時間と、比較データとなる１気筒前から５気筒前までの夫々の同区間（１２０°ＣＡ）の所要時間と、である。
【００９２】
ステップＳ２０３では、トルクが算出される。すなわち、角速度変化を算出した後にエンジン１のトルクが算出される。
【００９３】
ステップＳ２０４では、燃焼終了時期であるか否か判定される。本ステップでは、１２０°ＣＡに亘り計算区間４つ分のトルクが算出されたか否か判定している。
【００９４】
ステップＳ２０５では、計算区間４つ分のトルクの平均値を求め、該平均値をエンジン１のトルクとする。
【００９５】
なお、８気筒エンジンの場合には、ステップＳ２０２において、今回の計算区間のデータとなる３０°ＣＡ信号ＮＥ２の３回分の所要時間と、比較データとなる１気筒前から７気筒前までの夫々の同区間（９０°ＣＡ）の所要時間と、をサンプルデータとして読み込み、ステップＳ２０４において、９０°ＣＡに亘り計算区間３つ分のトルクが算出されたか否か判定し、ステップＳ２０５において、計算区間３つ分のトルクの平均値を求め、該平均値をエンジン１のトルクとする。
【００９６】
次に、図１１は、本実施例に係る６気筒エンジンの角速度を比較するためのデータを算出するフローを示したフローチャートである。本ルーチンはＥＣＵ１００により所定の時間毎に実行される。
【００９７】
ステップＳ３０１では、平均値の算出要求があるか否か判定される。すなわち、上述の図１０に示した処理が実行されているか否か判定される。ステップＳ３０１で肯定判定がなされた場合にはステップＳ３０２へ進み、否定判定がなされた場合には本ルーチンを終了させる。
【００９８】
ステップＳ３０２では、仮平均値が算出される。仮平均値とは、比較データとなる１気筒前から５気筒前までの夫々の同区間（１２０°ＣＡ）の所要時間の平均値である。
【００９９】
ステップＳ３０３では、仮平均値が、正常範囲内であるか否か判定される。この正常範囲とは、正常といえる範囲であり、予め実験等により最適値を求めておく。本ステップでは、１気筒前から５気筒前までの夫々の同区間（１２０°ＣＡ）の所要時間に異常なデータが含まれるか否か判定している。
【０１００】
ステップＳ３０３で肯定判定がなされた場合にはステップＳ３０４へ進み、比較データとなる１気筒前から５気筒前までの夫々の同区間（１２０°ＣＡ）の所要時間の平均値が算出される。この場合、ステップＳ３０４で算出される平均値は、ステップＳ３０２で算出される仮平均値と同じ値になる。
【０１０１】
一方、ステップＳ３０３で否定判定がなされた場合にはステップＳ３０５へ進み、異常データ削除された後、ステップＳ３０４で残りのデータの平均値が算出される。このようにして、異常なサンプルデータによるトルクの誤差を軽減することができる。
【０１０２】
なお、８気筒エンジンの場合には、ステップＳ３０２において、比較データとなる１気筒前から７気筒前までの夫々の同区間（９０°ＣＡ）の所要時間の平均値が算出され、ステップＳ３０３において、１気筒前から７気筒前までの夫々の同区間（９０°ＣＡ）の所要時間に異常なデータが含まれるか否か判定される。
【０１０３】
このように、計算区間を３０°ＣＡよりも広げてエンジン１のトルクを算出することで、欠歯の影響を小さくすることができる。また、前の気筒で発生したトルク変化の影響を軽減することができる。
【０１０４】
なお、本実施例ではモータジェネレータを備えたハイブリッド車両を例に挙げて説明したが、モータジェネレータを備えておらず駆動源としてエンジンのみを備える車両であっても同様に適用することができる。
【符号の説明】
【０１０５】
１     エンジン
２     第１モータジェネレータ
３     プラネタリギア
４     第２モータジェネレータ
１１   クランクシャフト
１２   トーショナルダンパ
１３   インプットシャフト
１４   サンギアシャフト
１５   リングギアシャフト
２１   クランク角センサ
２２   回転センサ
２３   第１レゾルバ
２４   第２レゾルバ
２５   カム角センサ
３１   サンギア
３２   リングギア
３３   ピニオンギア
３４   キャリヤ
３５   動力取出ギア
３６   チェーンベルト
３７   動力伝達ギア
３８   ドライブシャフト
８０   インバータ
８１   バッテリ
９０   圧縮上死点後
１００  ＥＣＵ
１０１ 信号処理装置
２００ ロータ
２０１ 欠歯部
２０２ 歯部
２０３ カムシャフト
２０４ 歯部
【図１】
0005508631.tif 000002
【図２】
0005508631.tif 000003
【図３】
0005508631.tif 000004
【図４】
0005508631.tif 000005
【図５】
0005508631.tif 000006
【図６】
0005508631.tif 000007
【図７】
0005508631.tif 000008
【図８】
0005508631.tif 000009
【図９】
0005508631.tif 000010
【図１０】
0005508631.tif 000011
【図１１】
0005508631.tif 000012